@whoz-oss/coday-client 0.127.0 → 0.128.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.
Files changed (49) hide show
  1. package/browser/{chunk-PWDBCAQS.js → chunk-3TO5PQRD.js} +1 -1
  2. package/browser/{chunk-WGDWYJII.js → chunk-3YSNMKXU.js} +1 -1
  3. package/browser/{chunk-KC2EKCAS.js → chunk-5B6P72NR.js} +1 -1
  4. package/browser/chunk-7A54VTP2.js +3 -0
  5. package/browser/{chunk-CH66E3U2.js → chunk-7CFO7WWZ.js} +1 -1
  6. package/browser/chunk-7T6Q4MDL.js +2 -0
  7. package/browser/{chunk-V6CWNYSW.js → chunk-7XSGZTN3.js} +1 -1
  8. package/browser/{chunk-OSNI7IJI.js → chunk-ADWJAQMQ.js} +1 -1
  9. package/browser/chunk-D6WU5O4X.js +1 -0
  10. package/browser/{chunk-POHHXEMY.js → chunk-DVO44NIX.js} +6 -6
  11. package/browser/{chunk-G2OAJDIX.js → chunk-EU3J4G2Y.js} +1 -1
  12. package/browser/chunk-FFMGEAGW.js +1 -0
  13. package/browser/{chunk-KUVTFZWT.js → chunk-FPNKDL3E.js} +1 -1
  14. package/browser/chunk-GEUVTKHG.js +2 -0
  15. package/browser/{chunk-H76RJSSA.js → chunk-GG2XORTA.js} +1 -1
  16. package/browser/chunk-GVX63TKQ.js +1 -0
  17. package/browser/{chunk-NCBEPUYQ.js → chunk-H6Q42HHV.js} +1 -1
  18. package/browser/chunk-IJ2YZMNS.js +1 -0
  19. package/browser/chunk-JWEUUCFC.js +1 -0
  20. package/browser/{chunk-O2IJMHBE.js → chunk-LLDKKRUC.js} +1 -1
  21. package/browser/{chunk-UKTBOEDG.js → chunk-MVATXMLV.js} +1 -1
  22. package/browser/{chunk-K3XBOMJY.js → chunk-NZDKKDRG.js} +1 -1
  23. package/browser/{chunk-TVFEAMIC.js → chunk-ONXSTLRN.js} +1 -1
  24. package/browser/{chunk-R47KFHEX.js → chunk-QU37OGFO.js} +1 -1
  25. package/browser/{chunk-H5SXHH6A.js → chunk-RHFQ7GO2.js} +1 -1
  26. package/browser/chunk-RQLQ22PM.js +4 -0
  27. package/browser/chunk-SDNXWYG5.js +5 -0
  28. package/browser/{chunk-ECBXPEAC.js → chunk-TSDYLM5L.js} +2 -2
  29. package/browser/{chunk-OR62LCJX.js → chunk-VGRGY2U3.js} +1 -1
  30. package/browser/chunk-WQUBEVZN.js +5 -0
  31. package/browser/chunk-YCJZTFYJ.js +270 -0
  32. package/browser/{chunk-H7YMYOPC.js → chunk-YXFL2FTT.js} +1 -1
  33. package/browser/{chunk-CYLHTE22.js → chunk-Z26H5ES2.js} +1 -1
  34. package/browser/index.html +1 -1
  35. package/browser/main-YSLZYJ4P.js +1 -0
  36. package/package.json +1 -1
  37. package/browser/chunk-53STPEYQ.js +0 -3
  38. package/browser/chunk-7MXZXY4I.js +0 -1
  39. package/browser/chunk-EKBLXJOJ.js +0 -1
  40. package/browser/chunk-EZOSEC5V.js +0 -7
  41. package/browser/chunk-HCG45H7O.js +0 -2
  42. package/browser/chunk-JG37UR26.js +0 -270
  43. package/browser/chunk-KVR4NGLT.js +0 -1
  44. package/browser/chunk-LPN5AG4A.js +0 -1
  45. package/browser/chunk-LR7LOR4R.js +0 -4
  46. package/browser/chunk-PWF6LYR2.js +0 -1
  47. package/browser/chunk-TLVTUJPE.js +0 -2
  48. package/browser/chunk-UKAN3Y3I.js +0 -2
  49. package/browser/main-DARYETMO.js +0 -1
@@ -1,2 +1,2 @@
1
- import{b as Ee,c as Re,d as Te,e as De,f as Fe,g as Le,h as R}from"./chunk-53STPEYQ.js";import{h as Me}from"./chunk-AK6F2DC7.js";import{c as ve,d as ye,f as be,l as Oe,m as Ae,p as Se,s as we,v as Pe}from"./chunk-IXD43YQI.js";import{a as ke}from"./chunk-XJUBZLY2.js";import{A as fe,E as ge,I as Ce,K as E,c as ce,d as pe,e as ue,l as de,n as he,t as me,u as _,v as _e,x as k,y as f}from"./chunk-B2QA6UZX.js";import{$b as C,A as h,B as O,Cb as ee,Db as te,Fb as ie,G as I,Gb as oe,Hb as ne,I as V,Ib as ae,Jb as se,Kb as p,Lb as u,Ma as q,Na as Y,Pa as G,R as x,Rb as le,S as m,Sa as z,Sb as re,V as B,Wa as Q,Xa as U,Y as W,Ya as X,_ as H,aa as A,bb as Z,ca as s,e as d,ea as N,g as v,h as y,jb as P,ka as S,m as b,oa as c,pa as K,sc as M,t as F,tc as r,va as j,vb as J,wb as $,y as L,ya as w}from"./chunk-3JGMGRXW.js";var Ne=["panel"],Ke=["*"];function je(a,g){if(a&1&&(J(0,"div",1,0),ne(2),$()),a&2){let e=g.id,t=ie();re(t._classList),le("mat-mdc-autocomplete-visible",t.showPanel)("mat-mdc-autocomplete-hidden",!t.showPanel)("mat-autocomplete-panel-animations-enabled",!t._animationsDisabled)("mat-primary",t._color==="primary")("mat-accent",t._color==="accent")("mat-warn",t._color==="warn"),ee("id",t.id),P("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby(e))}}var T=class{source;option;constructor(g,e){this.source=g,this.option=e}},xe=new A("mat-autocomplete-default-options",{providedIn:"root",factory:()=>({autoActiveFirstOption:!1,autoSelectActiveOption:!1,hideSingleSelectionIndicator:!1,requireSelection:!1,hasBackdrop:!1})}),bt=(()=>{class a{_changeDetectorRef=s(M);_elementRef=s(w);_defaults=s(xe);_animationsDisabled=E();_activeOptionChanges=d.EMPTY;_keyManager;showPanel=!1;get isOpen(){return this._isOpen&&this.showPanel}_isOpen=!1;_latestOpeningTrigger;_setColor(e){this._color=e,this._changeDetectorRef.markForCheck()}_color;template;panel;options;optionGroups;ariaLabel;ariaLabelledby;displayWith=null;autoActiveFirstOption;autoSelectActiveOption;requireSelection;panelWidth;disableRipple=!1;optionSelected=new c;opened=new c;closed=new c;optionActivated=new c;set classList(e){this._classList=e,this._elementRef.nativeElement.className=""}_classList;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._syncParentProperties()}_hideSingleSelectionIndicator;_syncParentProperties(){if(this.options)for(let e of this.options)e._changeDetectorRef.markForCheck()}id=s(me).getId("mat-autocomplete-");inertGroups;constructor(){let e=s(ue);this.inertGroups=e?.SAFARI||!1,this.autoActiveFirstOption=!!this._defaults.autoActiveFirstOption,this.autoSelectActiveOption=!!this._defaults.autoSelectActiveOption,this.requireSelection=!!this._defaults.requireSelection,this._hideSingleSelectionIndicator=this._defaults.hideSingleSelectionIndicator??!1}ngAfterContentInit(){this._keyManager=new _e(this.options).withWrap().skipPredicate(this._skipPredicate),this._activeOptionChanges=this._keyManager.change.subscribe(e=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[e]||null})}),this._setVisibility()}ngOnDestroy(){this._keyManager?.destroy(),this._activeOptionChanges.unsubscribe()}_setScrollTop(e){this.panel&&(this.panel.nativeElement.scrollTop=e)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options?.length,this._changeDetectorRef.markForCheck()}_emitSelectEvent(e){let t=new T(this,e);this.optionSelected.emit(t)}_getPanelAriaLabelledby(e){if(this.ariaLabel)return null;let t=e?e+" ":"";return this.ariaLabelledby?t+this.ariaLabelledby:e}_skipPredicate(){return!1}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=Q({type:a,selectors:[["mat-autocomplete"]],contentQueries:function(t,i,o){if(t&1&&ae(o,De,5)(o,Re,5),t&2){let n;p(n=u())&&(i.options=n),p(n=u())&&(i.optionGroups=n)}},viewQuery:function(t,i){if(t&1&&se(Y,7)(Ne,5),t&2){let o;p(o=u())&&(i.template=o.first),p(o=u())&&(i.panel=o.first)}},hostAttrs:[1,"mat-mdc-autocomplete"],inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],displayWith:"displayWith",autoActiveFirstOption:[2,"autoActiveFirstOption","autoActiveFirstOption",r],autoSelectActiveOption:[2,"autoSelectActiveOption","autoSelectActiveOption",r],requireSelection:[2,"requireSelection","requireSelection",r],panelWidth:"panelWidth",disableRipple:[2,"disableRipple","disableRipple",r],classList:[0,"class","classList"],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",r]},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},exportAs:["matAutocomplete"],features:[C([{provide:Ee,useExisting:a}])],ngContentSelectors:Ke,decls:1,vars:0,consts:[["panel",""],["role","listbox",1,"mat-mdc-autocomplete-panel","mdc-menu-surface","mdc-menu-surface--open",3,"id"]],template:function(t,i){t&1&&(oe(),Z(0,je,3,17,"ng-template"))},styles:[`div.mat-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:relative;border-radius:var(--mat-autocomplete-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-autocomplete-container-elevation-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));background-color:var(--mat-autocomplete-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-autocomplete-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden,.cdk-overlay-pane:has(>.mat-mdc-autocomplete-hidden){visibility:hidden;pointer-events:none}@keyframes _mat-autocomplete-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}.mat-autocomplete-panel-animations-enabled{animation:_mat-autocomplete-enter 120ms cubic-bezier(0, 0, 0.2, 1)}mat-autocomplete{display:none}
1
+ import{g as Ee,h as Re,i as Te,j as De,k as Fe,l as Le,m as R}from"./chunk-RQLQ22PM.js";import{h as Me}from"./chunk-AK6F2DC7.js";import{c as ve,d as ye,f as be,l as Oe,m as Ae,p as Se,s as we,v as Pe}from"./chunk-IXD43YQI.js";import{a as ke}from"./chunk-XJUBZLY2.js";import{A as fe,E as ge,I as Ce,K as E,c as ce,d as pe,e as ue,l as de,n as he,t as me,u as _,v as _e,x as k,y as f}from"./chunk-B2QA6UZX.js";import{$b as C,A as h,B as O,Cb as ee,Db as te,Fb as ie,G as I,Gb as oe,Hb as ne,I as V,Ib as ae,Jb as se,Kb as p,Lb as u,Ma as q,Na as Y,Pa as G,R as x,Rb as le,S as m,Sa as z,Sb as re,V as B,Wa as Q,Xa as U,Y as W,Ya as X,_ as H,aa as A,bb as Z,ca as s,e as d,ea as N,g as v,h as y,jb as P,ka as S,m as b,oa as c,pa as K,sc as M,t as F,tc as r,va as j,vb as J,wb as $,y as L,ya as w}from"./chunk-3JGMGRXW.js";var Ne=["panel"],Ke=["*"];function je(a,g){if(a&1&&(J(0,"div",1,0),ne(2),$()),a&2){let e=g.id,t=ie();re(t._classList),le("mat-mdc-autocomplete-visible",t.showPanel)("mat-mdc-autocomplete-hidden",!t.showPanel)("mat-autocomplete-panel-animations-enabled",!t._animationsDisabled)("mat-primary",t._color==="primary")("mat-accent",t._color==="accent")("mat-warn",t._color==="warn"),ee("id",t.id),P("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby(e))}}var T=class{source;option;constructor(g,e){this.source=g,this.option=e}},xe=new A("mat-autocomplete-default-options",{providedIn:"root",factory:()=>({autoActiveFirstOption:!1,autoSelectActiveOption:!1,hideSingleSelectionIndicator:!1,requireSelection:!1,hasBackdrop:!1})}),bt=(()=>{class a{_changeDetectorRef=s(M);_elementRef=s(w);_defaults=s(xe);_animationsDisabled=E();_activeOptionChanges=d.EMPTY;_keyManager;showPanel=!1;get isOpen(){return this._isOpen&&this.showPanel}_isOpen=!1;_latestOpeningTrigger;_setColor(e){this._color=e,this._changeDetectorRef.markForCheck()}_color;template;panel;options;optionGroups;ariaLabel;ariaLabelledby;displayWith=null;autoActiveFirstOption;autoSelectActiveOption;requireSelection;panelWidth;disableRipple=!1;optionSelected=new c;opened=new c;closed=new c;optionActivated=new c;set classList(e){this._classList=e,this._elementRef.nativeElement.className=""}_classList;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._syncParentProperties()}_hideSingleSelectionIndicator;_syncParentProperties(){if(this.options)for(let e of this.options)e._changeDetectorRef.markForCheck()}id=s(me).getId("mat-autocomplete-");inertGroups;constructor(){let e=s(ue);this.inertGroups=e?.SAFARI||!1,this.autoActiveFirstOption=!!this._defaults.autoActiveFirstOption,this.autoSelectActiveOption=!!this._defaults.autoSelectActiveOption,this.requireSelection=!!this._defaults.requireSelection,this._hideSingleSelectionIndicator=this._defaults.hideSingleSelectionIndicator??!1}ngAfterContentInit(){this._keyManager=new _e(this.options).withWrap().skipPredicate(this._skipPredicate),this._activeOptionChanges=this._keyManager.change.subscribe(e=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[e]||null})}),this._setVisibility()}ngOnDestroy(){this._keyManager?.destroy(),this._activeOptionChanges.unsubscribe()}_setScrollTop(e){this.panel&&(this.panel.nativeElement.scrollTop=e)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options?.length,this._changeDetectorRef.markForCheck()}_emitSelectEvent(e){let t=new T(this,e);this.optionSelected.emit(t)}_getPanelAriaLabelledby(e){if(this.ariaLabel)return null;let t=e?e+" ":"";return this.ariaLabelledby?t+this.ariaLabelledby:e}_skipPredicate(){return!1}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=Q({type:a,selectors:[["mat-autocomplete"]],contentQueries:function(t,i,o){if(t&1&&ae(o,De,5)(o,Re,5),t&2){let n;p(n=u())&&(i.options=n),p(n=u())&&(i.optionGroups=n)}},viewQuery:function(t,i){if(t&1&&se(Y,7)(Ne,5),t&2){let o;p(o=u())&&(i.template=o.first),p(o=u())&&(i.panel=o.first)}},hostAttrs:[1,"mat-mdc-autocomplete"],inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],displayWith:"displayWith",autoActiveFirstOption:[2,"autoActiveFirstOption","autoActiveFirstOption",r],autoSelectActiveOption:[2,"autoSelectActiveOption","autoSelectActiveOption",r],requireSelection:[2,"requireSelection","requireSelection",r],panelWidth:"panelWidth",disableRipple:[2,"disableRipple","disableRipple",r],classList:[0,"class","classList"],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",r]},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},exportAs:["matAutocomplete"],features:[C([{provide:Ee,useExisting:a}])],ngContentSelectors:Ke,decls:1,vars:0,consts:[["panel",""],["role","listbox",1,"mat-mdc-autocomplete-panel","mdc-menu-surface","mdc-menu-surface--open",3,"id"]],template:function(t,i){t&1&&(oe(),Z(0,je,3,17,"ng-template"))},styles:[`div.mat-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:relative;border-radius:var(--mat-autocomplete-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-autocomplete-container-elevation-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));background-color:var(--mat-autocomplete-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-autocomplete-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden,.cdk-overlay-pane:has(>.mat-mdc-autocomplete-hidden){visibility:hidden;pointer-events:none}@keyframes _mat-autocomplete-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}.mat-autocomplete-panel-animations-enabled{animation:_mat-autocomplete-enter 120ms cubic-bezier(0, 0, 0.2, 1)}mat-autocomplete{display:none}
2
2
  `],encapsulation:2,changeDetection:0})}return a})();var qe={provide:ke,useExisting:W(()=>Ge),multi:!0};var Ye=new A("mat-autocomplete-scroll-strategy",{providedIn:"root",factory:()=>{let a=s(S);return()=>Oe(a)}}),Ge=(()=>{class a{_environmentInjector=s(N);_element=s(w);_injector=s(S);_viewContainerRef=s(z);_zone=s(K);_changeDetectorRef=s(M);_dir=s(fe,{optional:!0});_formField=s(Me,{optional:!0,host:!0});_viewportRuler=s(ve);_scrollStrategy=s(Ye);_renderer=s(G);_animationsDisabled=E();_defaults=s(xe,{optional:!0});_overlayRef=null;_portal;_componentDestroyed=!1;_initialized=new y;_keydownSubscription;_outsideClickSubscription;_cleanupWindowBlur;_previousValue=null;_valueOnAttach=null;_valueOnLastKeydown=null;_positionStrategy;_manuallyFloatingLabel=!1;_closingActionsSubscription;_viewportSubscription=d.EMPTY;_breakpointObserver=s(he);_handsetLandscapeSubscription=d.EMPTY;_canOpenOnNextFocus=!0;_valueBeforeAutoSelection;_pendingAutoselectedOption=null;_closeKeyEventStream=new y;_overlayPanelClass=de(this._defaults?.overlayPanelClass||[]);_windowBlurHandler=()=>{this._canOpenOnNextFocus=this.panelOpen||!this._hasFocus()};_onChange=()=>{};_onTouched=()=>{};autocomplete;position="auto";connectedTo;autocompleteAttribute="off";autocompleteDisabled=!1;constructor(){}_aboveClass="mat-mdc-autocomplete-panel-above";ngAfterViewInit(){this._initialized.next(),this._initialized.complete(),this._cleanupWindowBlur=this._renderer.listen("window","blur",this._windowBlurHandler)}ngOnChanges(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){this._cleanupWindowBlur?.(),this._handsetLandscapeSubscription.unsubscribe(),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete(),this._clearFromModal()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}_overlayAttached=!1;openPanel(){this._openPanelInternal()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._latestOpeningTrigger===this&&(this.autocomplete._isOpen=!1,this.autocomplete._latestOpeningTrigger=null),this._overlayAttached=!1,this._pendingAutoselectedOption=null,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._updatePanelState(),this._componentDestroyed||this._changeDetectorRef.detectChanges(),this._trackedModal&&f(this._trackedModal,"aria-owns",this.autocomplete.id))}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return h(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(O(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(O(()=>this._overlayAttached)):b()).pipe(F(e=>e instanceof Te?e:null))}optionSelections=L(()=>{let e=this.autocomplete?this.autocomplete.options:null;return e?e.changes.pipe(x(e),m(()=>h(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(m(()=>this.optionSelections))});get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return new v(e=>{let t=o=>{let n=pe(o),l=this._formField?this._formField.getConnectedOverlayOrigin().nativeElement:null,D=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;this._overlayAttached&&n!==this._element.nativeElement&&!this._hasFocus()&&(!l||!l.contains(n))&&(!D||!D.contains(n))&&this._overlayRef&&!this._overlayRef.overlayElement.contains(n)&&e.next(o)},i=[this._renderer.listen("document","click",t),this._renderer.listen("document","auxclick",t),this._renderer.listen("document","touchend",t)];return()=>{i.forEach(o=>o())}})}writeValue(e){Promise.resolve(null).then(()=>this._assignOptionValue(e))}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this._element.nativeElement.disabled=e}_handleKeydown(e){let t=e,i=t.keyCode,o=_(t);if(i===27&&!o&&t.preventDefault(),this._valueOnLastKeydown=this._element.nativeElement.value,this.activeOption&&i===13&&this.panelOpen&&!o)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){let n=this.autocomplete._keyManager.activeItem,l=i===38||i===40;i===9||l&&!o&&this.panelOpen?this.autocomplete._keyManager.onKeydown(t):l&&this._canOpen()&&this._openPanelInternal(this._valueOnLastKeydown),(l||this.autocomplete._keyManager.activeItem!==n)&&(this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0),this.autocomplete.autoSelectActiveOption&&this.activeOption&&(this._pendingAutoselectedOption||(this._valueBeforeAutoSelection=this._valueOnLastKeydown),this._pendingAutoselectedOption=this.activeOption,this._assignOptionValue(this.activeOption.value)))}}_handleInput(e){let t=e.target,i=t.value;if(t.type==="number"&&(i=i==""?null:parseFloat(i)),this._previousValue!==i){if(this._previousValue=i,this._pendingAutoselectedOption=null,(!this.autocomplete||!this.autocomplete.requireSelection)&&this._onChange(i),!i)this._clearPreviousSelectedOption(null,!1);else if(this.panelOpen&&!this.autocomplete.requireSelection){let o=this.autocomplete.options?.find(n=>n.selected);if(o){let n=this._getDisplayValue(o.value);i!==n&&o.deselect(!1)}}if(this._canOpen()&&this._hasFocus()){let o=this._valueOnLastKeydown??this._element.nativeElement.value;this._valueOnLastKeydown=null,this._openPanelInternal(o)}}}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(this._previousValue),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_handleClick(){this._canOpen()&&!this.panelOpen&&this._openPanelInternal()}_hasFocus(){return ce()===this._element.nativeElement}_floatLabel(e=!1){this._formField&&this._formField.floatLabel==="auto"&&(e?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField&&(this._formField.floatLabel="auto"),this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){let e=new v(i=>{q(()=>{i.next()},{injector:this._environmentInjector})}),t=this.autocomplete.options?.changes.pipe(B(()=>this._positionStrategy.reapplyLastPosition()),V(0))??b();return h(e,t).pipe(m(()=>this._zone.run(()=>{let i=this.panelOpen;return this._resetActiveItem(),this._updatePanelState(),this._changeDetectorRef.detectChanges(),this.panelOpen&&this._overlayRef.updatePosition(),i!==this.panelOpen&&(this.panelOpen?this._emitOpened():this.autocomplete.closed.emit()),this.panelClosingActions})),I(1)).subscribe(i=>this._setValueAndClose(i))}_emitOpened(){this.autocomplete.opened.emit()}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_getDisplayValue(e){let t=this.autocomplete;return t&&t.displayWith?t.displayWith(e):e}_assignOptionValue(e){let t=this._getDisplayValue(e);e==null&&this._clearPreviousSelectedOption(null,!1),this._updateNativeInputValue(t??"")}_updateNativeInputValue(e){this._formField?this._formField._control.value=e:this._element.nativeElement.value=e,this._previousValue=e}_setValueAndClose(e){let t=this.autocomplete,i=e?e.source:this._pendingAutoselectedOption;i?(this._clearPreviousSelectedOption(i),this._assignOptionValue(i.value),this._onChange(i.value),t._emitSelectEvent(i),this._element.nativeElement.focus()):t.requireSelection&&this._element.nativeElement.value!==this._valueOnAttach&&(this._clearPreviousSelectedOption(null),this._assignOptionValue(null),this._onChange(null)),this.closePanel()}_clearPreviousSelectedOption(e,t){this.autocomplete?.options?.forEach(i=>{i!==e&&i.selected&&i.deselect(t)})}_openPanelInternal(e=this._element.nativeElement.value){if(this._attachOverlay(e),this._floatLabel(),this._trackedModal){let t=this.autocomplete.id;k(this._trackedModal,"aria-owns",t)}}_attachOverlay(e){if(!this.autocomplete)return;let t=this._overlayRef;t?(this._positionStrategy.setOrigin(this._getConnectedElement()),t.updateSize({width:this._getPanelWidth()})):(this._portal=new be(this.autocomplete.template,this._viewContainerRef,{id:this._formField?.getLabelId()}),t=we(this._injector,this._getOverlayConfig()),this._overlayRef=t,this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&t&&t.updateSize({width:this._getPanelWidth()})}),this._handsetLandscapeSubscription=this._breakpointObserver.observe(Ce.HandsetLandscape).subscribe(o=>{o.matches?this._positionStrategy.withFlexibleDimensions(!0).withGrowAfterOpen(!0).withViewportMargin(8):this._positionStrategy.withFlexibleDimensions(!1).withGrowAfterOpen(!1).withViewportMargin(0)})),t&&!t.hasAttached()&&(t.attach(this._portal),this._valueOnAttach=e,this._valueOnLastKeydown=null,this._closingActionsSubscription=this._subscribeToClosingActions());let i=this.panelOpen;this.autocomplete._isOpen=this._overlayAttached=!0,this.autocomplete._latestOpeningTrigger=this,this.autocomplete._setColor(this._formField?.color),this._updatePanelState(),this._applyModalPanelOwnership(),this.panelOpen&&i!==this.panelOpen&&this._emitOpened()}_handlePanelKeydown=e=>{(e.keyCode===27&&!_(e)||e.keyCode===38&&_(e,"altKey"))&&(this._pendingAutoselectedOption&&(this._updateNativeInputValue(this._valueBeforeAutoSelection??""),this._pendingAutoselectedOption=null),this._closeKeyEventStream.next(),this._resetActiveItem(),e.stopPropagation(),e.preventDefault())};_updatePanelState(){if(this.autocomplete._setVisibility(),this.panelOpen){let e=this._overlayRef;this._keydownSubscription||(this._keydownSubscription=e.keydownEvents().subscribe(this._handlePanelKeydown)),this._outsideClickSubscription||(this._outsideClickSubscription=e.outsidePointerEvents().subscribe())}else this._keydownSubscription?.unsubscribe(),this._outsideClickSubscription?.unsubscribe(),this._keydownSubscription=this._outsideClickSubscription=void 0}_getOverlayConfig(){return new Ae({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir??void 0,hasBackdrop:this._defaults?.hasBackdrop,backdropClass:this._defaults?.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:this._overlayPanelClass,disableAnimations:this._animationsDisabled})}_getOverlayPosition(){let e=Se(this._injector,this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1).withPopoverLocation("inline");return this._setStrategyPositions(e),this._positionStrategy=e,e}_setStrategyPositions(e){let t=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],i=this._aboveClass,o=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:i},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:i}],n;this.position==="above"?n=o:this.position==="below"?n=t:n=[...t,...o],e.withPositions(n)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){let e=this.autocomplete;if(e.autoActiveFirstOption){let t=-1;for(let i=0;i<e.options.length;i++)if(!e.options.get(i).disabled){t=i;break}e._keyManager.setActiveItem(t)}else e._keyManager.setActiveItem(-1)}_canOpen(){let e=this._element.nativeElement;return!e.readOnly&&!e.disabled&&!this.autocompleteDisabled}_scrollToOption(e){let t=this.autocomplete,i=Fe(e,t.options,t.optionGroups);if(e===0&&i===1)t._setScrollTop(0);else if(t.panel){let o=t.options.toArray()[e];if(o){let n=o._getHostElement(),l=Le(n.offsetTop,n.offsetHeight,t._getScrollTop(),t.panel.nativeElement.offsetHeight);t._setScrollTop(l)}}}_trackedModal=null;_applyModalPanelOwnership(){let e=this._element.nativeElement.closest('body > .cdk-overlay-container [aria-modal="true"]');if(!e)return;let t=this.autocomplete.id;this._trackedModal&&f(this._trackedModal,"aria-owns",t),k(e,"aria-owns",t),this._trackedModal=e}_clearFromModal(){if(this._trackedModal){let e=this.autocomplete.id;f(this._trackedModal,"aria-owns",e),this._trackedModal=null}}static \u0275fac=function(t){return new(t||a)};static \u0275dir=X({type:a,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-mdc-autocomplete-trigger"],hostVars:7,hostBindings:function(t,i){t&1&&te("focusin",function(){return i._handleFocus()})("blur",function(){return i._onTouched()})("input",function(n){return i._handleInput(n)})("keydown",function(n){return i._handleKeydown(n)})("click",function(){return i._handleClick()}),t&2&&P("autocomplete",i.autocompleteAttribute)("role",i.autocompleteDisabled?null:"combobox")("aria-autocomplete",i.autocompleteDisabled?null:"list")("aria-activedescendant",i.panelOpen&&i.activeOption?i.activeOption.id:null)("aria-expanded",i.autocompleteDisabled?null:i.panelOpen.toString())("aria-controls",i.autocompleteDisabled||!i.panelOpen||i.autocomplete==null?null:i.autocomplete.id)("aria-haspopup",i.autocompleteDisabled?null:"listbox")},inputs:{autocomplete:[0,"matAutocomplete","autocomplete"],position:[0,"matAutocompletePosition","position"],connectedTo:[0,"matAutocompleteConnectedTo","connectedTo"],autocompleteAttribute:[0,"autocomplete","autocompleteAttribute"],autocompleteDisabled:[2,"matAutocompleteDisabled","autocompleteDisabled",r]},exportAs:["matAutocompleteTrigger"],features:[C([qe]),j]})}return a})(),Ot=(()=>{class a{static \u0275fac=function(t){return new(t||a)};static \u0275mod=U({type:a});static \u0275inj=H({imports:[Pe,R,ye,R,ge]})}return a})();export{bt as a,Ge as b,Ot as c};
@@ -1 +1 @@
1
- import{b as a}from"./chunk-H76RJSSA.js";import"./chunk-GAZJZBKP.js";import"./chunk-QWMDAFBN.js";import"./chunk-LR7LOR4R.js";import"./chunk-ZAM3WGZM.js";import"./chunk-53STPEYQ.js";import"./chunk-AK6F2DC7.js";import"./chunk-AJOXSD6I.js";import"./chunk-IXD43YQI.js";import"./chunk-WPC6XC7P.js";import"./chunk-XJUBZLY2.js";import"./chunk-B2QA6UZX.js";import"./chunk-3JGMGRXW.js";export{a as NamespaceListComponent};
1
+ import{b as a}from"./chunk-GG2XORTA.js";import"./chunk-GAZJZBKP.js";import"./chunk-QWMDAFBN.js";import"./chunk-7A54VTP2.js";import"./chunk-ZAM3WGZM.js";import"./chunk-RQLQ22PM.js";import"./chunk-AK6F2DC7.js";import"./chunk-AJOXSD6I.js";import"./chunk-IXD43YQI.js";import"./chunk-WPC6XC7P.js";import"./chunk-XJUBZLY2.js";import"./chunk-B2QA6UZX.js";import"./chunk-3JGMGRXW.js";export{a as NamespaceListComponent};
@@ -1 +1 @@
1
- import{a as ae}from"./chunk-B2FFL2F7.js";import{a as ie,b as re}from"./chunk-V6CWNYSW.js";import{a as oe}from"./chunk-IFXDK4GQ.js";import{a as te,b as ne}from"./chunk-H76RJSSA.js";import{a as q}from"./chunk-QSQYSFNQ.js";import{a as J,b as Q,c as X}from"./chunk-G2OAJDIX.js";import{a as Y}from"./chunk-CH66E3U2.js";import{a as Z}from"./chunk-OSNI7IJI.js";import{a as ee}from"./chunk-VNCIHM33.js";import{a as H,b as W}from"./chunk-6LO3ANKL.js";import"./chunk-DE5MXWYR.js";import{a as z,d as L}from"./chunk-GAZJZBKP.js";import{b as T,d as F}from"./chunk-QWMDAFBN.js";import{b as N}from"./chunk-LR7LOR4R.js";import"./chunk-ZAM3WGZM.js";import"./chunk-53STPEYQ.js";import"./chunk-AK6F2DC7.js";import"./chunk-AJOXSD6I.js";import"./chunk-IXD43YQI.js";import"./chunk-WPC6XC7P.js";import"./chunk-XJUBZLY2.js";import"./chunk-B2QA6UZX.js";import{Cb as S,Db as f,Eb as M,Fb as h,Gc as w,Ka as l,Rc as k,Tb as t,Ub as C,Wa as b,ca as p,dc as O,ec as I,kb as x,lb as g,mb as u,pb as y,qb as A,rb as E,sb as a,ta as _,tb as r,ub as P,vb as c,wb as d}from"./chunk-3JGMGRXW.js";var i=()=>!0;var me=[{path:"",loadComponent:()=>import("./chunk-O3U2KGCT.js").then(e=>e.AgentosShellComponent),children:[{path:":namespaceId/cases",canActivate:[i],loadComponent:()=>import("./chunk-TVFEAMIC.js").then(e=>e.CaseShellComponent),children:[{path:"",loadComponent:()=>import("./chunk-KUVTFZWT.js").then(e=>e.CaseHomeComponent)},{path:":caseId",loadComponent:()=>import("./chunk-R47KFHEX.js").then(e=>e.CaseChatComponent)}]},{path:"",loadComponent:()=>import("./chunk-I5EEQETN.js").then(e=>e.LayoutComponent),children:[{path:"namespaces/new",canActivate:[i],loadComponent:()=>import("./chunk-NAQEVUOV.js").then(e=>e.NamespaceFormComponent)},{path:"namespaces/:namespaceId/edit",canActivate:[i],loadComponent:()=>import("./chunk-NAQEVUOV.js").then(e=>e.NamespaceFormComponent)},{path:"namespaces",canActivate:[i],loadComponent:()=>import("./chunk-WGDWYJII.js").then(e=>e.NamespaceListComponent)},{path:":namespaceId/integrations/new",canActivate:[i],loadComponent:()=>import("./chunk-H7YMYOPC.js").then(e=>e.IntegrationFormComponent)},{path:":namespaceId/integrations/:integrationId/edit",canActivate:[i],loadComponent:()=>import("./chunk-H7YMYOPC.js").then(e=>e.IntegrationFormComponent)},{path:":namespaceId/integrations",canActivate:[i],loadComponent:()=>import("./chunk-CYLHTE22.js").then(e=>e.NamespaceIntegrationsComponent)},{path:":namespaceId/ai-providers/new",canActivate:[i],loadComponent:()=>import("./chunk-U4662WTU.js").then(e=>e.AiProviderFormComponent)},{path:":namespaceId/ai-providers/:aiProviderId/edit",canActivate:[i],loadComponent:()=>import("./chunk-U4662WTU.js").then(e=>e.AiProviderFormComponent)},{path:":namespaceId/ai-providers",canActivate:[i],loadComponent:()=>import("./chunk-H5SXHH6A.js").then(e=>e.NamespaceAiProvidersComponent)},{path:":namespaceId/ai-models/new",canActivate:[i],loadComponent:()=>import("./chunk-IZFHJAEI.js").then(e=>e.AiModelFormComponent)},{path:":namespaceId/ai-models/:modelId/edit",canActivate:[i],loadComponent:()=>import("./chunk-IZFHJAEI.js").then(e=>e.AiModelFormComponent)},{path:":namespaceId/ai-models",canActivate:[i],loadComponent:()=>import("./chunk-OR62LCJX.js").then(e=>e.NamespaceAiModelsComponent)},{path:"admin/users/new",canActivate:[i],loadComponent:()=>import("./chunk-3D3KN52V.js").then(e=>e.UserFormComponent)},{path:"admin/users/:userId/edit",canActivate:[i],loadComponent:()=>import("./chunk-3D3KN52V.js").then(e=>e.UserFormComponent)},{path:"admin/users",canActivate:[i],loadComponent:()=>import("./chunk-NCBEPUYQ.js").then(e=>e.UserListComponent)},{path:"me",canActivate:[i],loadComponent:()=>import("./chunk-EPA5P2I6.js").then(e=>e.UserProfileComponent)},{path:"",redirectTo:"namespaces",pathMatch:"full"}]}]}];function V(e,o){e&1&&(c(0,"p",6),t(1,"No cases yet. Start one below."),d())}function K(e,o){if(e&1&&(c(0,"div",7)(1,"span",8),t(2),d(),c(3,"span",9),t(4),d()()),e&2){let n=o.$implicit;l(2),C(n.id),l(2),C(n.status)}}function $(e,o){if(e&1&&y(0,K,5,2,"div",7,x().trackById,!0),e&2){let n=h();A(n)}}function j(e,o){e&1&&g(0,V,2,0,"p",6)(1,$,2,0),e&2&&u(o.length===0?0:1)}var D=class e{http=p(k);router=p(F);route=p(T);config=p(z);caseController=p(L);namespaceId=this.route.snapshot.params.namespaceId;cases$=this.caseController.listByParentCase(this.namespaceId);inputValue=_("");onInput(o){this.inputValue.set(o.target.value)}onKeydown(o){o.key==="Enter"&&!o.shiftKey&&(o.preventDefault(),this.submit())}submit(){this.inputValue().trim()&&this.http.post(`${this.config.basePath}/api/cases`,{namespaceId:this.namespaceId,metadata:{}}).subscribe(n=>{this.inputValue.set(""),this.router.navigate(["/agentos",this.namespaceId,"cases",n.id??""])})}trackById(o,n){return n.id??""}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=b({type:e,selectors:[["agentos-case-list"]],decls:11,vars:4,consts:[[1,"case-list"],[1,"case-list__header"],[1,"case-list__items"],[1,"case-list__composer"],["placeholder","Start a new case\u2026","rows","3",1,"case-list__input",3,"input","keydown","value"],[1,"case-list__hint"],[1,"case-list__empty"],[1,"case-list__item"],[1,"case-list__item-id"],[1,"case-list__item-status"]],template:function(n,s){if(n&1&&(c(0,"div",0)(1,"header",1)(2,"h2"),t(3,"Cases"),d()(),c(4,"div",2),g(5,j,2,1),O(6,"async"),d(),c(7,"div",3)(8,"textarea",4),M("input",function(v){return s.onInput(v)})("keydown",function(v){return s.onKeydown(v)}),d(),c(9,"p",5),t(10,"Press Enter to send, Shift+Enter for new line"),d()()()),n&2){let m;l(5),u((m=I(6,2,s.cases$))?5:-1,m),l(3),S("value",s.inputValue())}},dependencies:[w],styles:[".case-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;max-width:720px;margin:0 auto;padding:2rem;gap:1.5rem}.case-list__header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.case-list__items[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.case-list__empty[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.case-list__composer[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.case-list__input[_ngcontent-%COMP%]{width:100%;resize:none;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:var(--glass-bg, rgba(255, 255, 255, .72));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));backdrop-filter:var(--glass-backdrop-blur, blur(20px));color:var(--color-text, #1d1d1f);font-size:.95rem;font-family:inherit;line-height:1.5;outline:none;box-sizing:border-box;transition:border-color .15s ease}.case-list__input[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.case-list__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.case-list__hint[_ngcontent-%COMP%]{margin:0;font-size:.75rem;color:var(--color-text-secondary, #6e6e73);opacity:.7}"]})};function G(e,o){if(e&1&&(a(0,"p",11),t(1," Last action: "),a(2,"strong"),t(3),r()()),e&2){let n=h();l(3),C(n.lastAction())}}var R=class e{lastAction=_(null);onSend(){this.lastAction.set("send")}onStop(){this.lastAction.set("stop")}onAttach(){this.lastAction.set("attach")}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=b({type:e,selectors:[["agentos-hello"]],decls:35,vars:2,consts:[[1,"hello-agentos"],[1,"card"],[1,"badge"],[1,"principles"],[1,"demo"],[1,"demo-label"],[1,"demo-buttons"],["icon","send","variant","primary","title","Send",3,"action"],["icon","stop","variant","danger","title","Stop",3,"action"],["icon","attach_file","variant","default","title","Attach",3,"action"],["icon","mic","variant","default","title","Record",3,"action","disabled"],[1,"demo-feedback"]],template:function(n,s){n&1&&(a(0,"div",0)(1,"div",1)(2,"div",2),t(3,"AgentOS UI"),r(),a(4,"h1"),t(5,"Hello AgentOS"),r(),a(6,"p"),t(7," This component lives in "),a(8,"code"),t(9,"libs/agentos-ui"),r(),t(10," \u2014 isolated from Coday internals, ready to be published as "),a(11,"code"),t(12,"@whoz-oss/agentos-ui"),r(),t(13,". "),r(),P(14,"agentos-backend-status"),a(15,"ul",3)(16,"li"),t(17,"\u2726 No imports from Coday app"),r(),a(18,"li"),t(19,"\u2726 CSS custom properties as host contract"),r(),a(20,"li"),t(21,"\u2726 Standalone Angular components"),r(),a(22,"li"),t(23,"\u2726 Signals-first reactive state"),r()(),a(24,"div",4)(25,"p",5),t(26,"ds-icon-button from "),a(27,"code"),t(28,"@whoz-oss/design-system"),r()(),a(29,"div",6)(30,"ds-icon-button",7),f("action",function(){return s.onSend()}),r(),a(31,"ds-icon-button",8),f("action",function(){return s.onStop()}),r(),a(32,"ds-icon-button",9),f("action",function(){return s.onAttach()}),r(),a(33,"ds-icon-button",10),f("action",function(){return s.onAttach()}),r()(),g(34,G,4,1,"p",11),r()()()),n&2&&(l(33),E("disabled",!0),l(),u(s.lastAction()?34:-1))},dependencies:[N,H],styles:['@charset "UTF-8";.hello-agentos[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.card[_ngcontent-%COMP%]{background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));box-shadow:var(--glass-shadow, 0 8px 32px 0 rgba(31, 38, 135, .15));backdrop-filter:var(--glass-backdrop-blur, blur(20px));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));border-radius:20px;padding:3rem;max-width:480px;width:100%;text-align:center}.badge[_ngcontent-%COMP%]{display:inline-block;background:var(--color-primary, #007aff);color:var(--color-text-inverse, #ffffff);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .75rem;border-radius:100px;margin-bottom:1.5rem}h1[_ngcontent-%COMP%]{color:var(--color-text, #1d1d1f);font-size:2rem;font-weight:700;margin:0 0 1rem;letter-spacing:-.02em}p[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);line-height:1.6;margin:0 0 1.5rem}p[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background:var(--color-code-bg, rgba(142, 142, 147, .12));color:var(--color-code-text, #ff375f);padding:.125rem .375rem;border-radius:6px;font-size:.875em;border:1px solid var(--color-border, rgba(0, 0, 0, .1))}.principles[_ngcontent-%COMP%]{list-style:none;margin:0 0 1.5rem;padding:0;text-align:left;display:flex;flex-direction:column;gap:.5rem}.principles[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;padding:.5rem .75rem;background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-radius:8px;border:1px solid var(--color-border-light, rgba(40, 40, 40, .08))}.demo[_ngcontent-%COMP%]{border-top:1px solid var(--color-border-light, rgba(40, 40, 40, .08));padding-top:1.25rem}.demo[_ngcontent-%COMP%] .demo-label[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.8rem;margin:0 0 .75rem}.demo[_ngcontent-%COMP%] .demo-label[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background:var(--color-code-bg, rgba(142, 142, 147, .12));color:var(--color-code-text, #ff375f);padding:.125rem .375rem;border-radius:6px;font-size:.875em;border:1px solid var(--color-border, rgba(0, 0, 0, .1))}.demo[_ngcontent-%COMP%] .demo-buttons[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-radius:12px;border:1px solid var(--color-border-light, rgba(40, 40, 40, .08))}.demo[_ngcontent-%COMP%] .demo-feedback[_ngcontent-%COMP%]{margin:.75rem 0 0;font-size:.85rem;color:var(--color-text-secondary, #6e6e73)}.demo[_ngcontent-%COMP%] .demo-feedback[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--color-primary, #007aff)}']})};export{me as AGENTOS_ROUTES,q as AgentosShellComponent,H as BackendStatusComponent,Z as CaseChatComponent,Q as CaseDrawerComponent,Y as CaseHomeComponent,J as CaseItemComponent,D as CaseListComponent,X as CaseShellComponent,W as HeaderComponent,R as HelloAgentosComponent,ee as LayoutComponent,te as NamespaceItemComponent,ne as NamespaceListComponent,oe as UserAdminStateService,ae as UserFormComponent,ie as UserItemComponent,re as UserListComponent,i as agentosReadyGuard};
1
+ import{a as ae}from"./chunk-B2FFL2F7.js";import{a as ie,b as re}from"./chunk-7XSGZTN3.js";import{a as oe}from"./chunk-IFXDK4GQ.js";import{a as te,b as ne}from"./chunk-GG2XORTA.js";import{a as q}from"./chunk-QSQYSFNQ.js";import{a as J,b as Q,c as X}from"./chunk-EU3J4G2Y.js";import{a as Y}from"./chunk-7CFO7WWZ.js";import{a as Z}from"./chunk-ADWJAQMQ.js";import{a as ee}from"./chunk-VNCIHM33.js";import{a as H,b as W}from"./chunk-6LO3ANKL.js";import"./chunk-DE5MXWYR.js";import{a as z,d as L}from"./chunk-GAZJZBKP.js";import{b as T,d as F}from"./chunk-QWMDAFBN.js";import{b as N}from"./chunk-7A54VTP2.js";import"./chunk-ZAM3WGZM.js";import"./chunk-RQLQ22PM.js";import"./chunk-AK6F2DC7.js";import"./chunk-AJOXSD6I.js";import"./chunk-IXD43YQI.js";import"./chunk-WPC6XC7P.js";import"./chunk-XJUBZLY2.js";import"./chunk-B2QA6UZX.js";import{Cb as S,Db as f,Eb as M,Fb as h,Gc as w,Ka as l,Rc as k,Tb as t,Ub as C,Wa as b,ca as p,dc as O,ec as I,kb as x,lb as g,mb as u,pb as y,qb as A,rb as E,sb as a,ta as _,tb as r,ub as P,vb as c,wb as d}from"./chunk-3JGMGRXW.js";var i=()=>!0;var me=[{path:"",loadComponent:()=>import("./chunk-O3U2KGCT.js").then(e=>e.AgentosShellComponent),children:[{path:":namespaceId/cases",canActivate:[i],loadComponent:()=>import("./chunk-ONXSTLRN.js").then(e=>e.CaseShellComponent),children:[{path:"",loadComponent:()=>import("./chunk-FPNKDL3E.js").then(e=>e.CaseHomeComponent)},{path:":caseId",loadComponent:()=>import("./chunk-QU37OGFO.js").then(e=>e.CaseChatComponent)}]},{path:"",loadComponent:()=>import("./chunk-I5EEQETN.js").then(e=>e.LayoutComponent),children:[{path:"namespaces/new",canActivate:[i],loadComponent:()=>import("./chunk-NAQEVUOV.js").then(e=>e.NamespaceFormComponent)},{path:"namespaces/:namespaceId/edit",canActivate:[i],loadComponent:()=>import("./chunk-NAQEVUOV.js").then(e=>e.NamespaceFormComponent)},{path:"namespaces",canActivate:[i],loadComponent:()=>import("./chunk-3YSNMKXU.js").then(e=>e.NamespaceListComponent)},{path:":namespaceId/integrations/new",canActivate:[i],loadComponent:()=>import("./chunk-YXFL2FTT.js").then(e=>e.IntegrationFormComponent)},{path:":namespaceId/integrations/:integrationId/edit",canActivate:[i],loadComponent:()=>import("./chunk-YXFL2FTT.js").then(e=>e.IntegrationFormComponent)},{path:":namespaceId/integrations",canActivate:[i],loadComponent:()=>import("./chunk-Z26H5ES2.js").then(e=>e.NamespaceIntegrationsComponent)},{path:":namespaceId/ai-providers/new",canActivate:[i],loadComponent:()=>import("./chunk-U4662WTU.js").then(e=>e.AiProviderFormComponent)},{path:":namespaceId/ai-providers/:aiProviderId/edit",canActivate:[i],loadComponent:()=>import("./chunk-U4662WTU.js").then(e=>e.AiProviderFormComponent)},{path:":namespaceId/ai-providers",canActivate:[i],loadComponent:()=>import("./chunk-RHFQ7GO2.js").then(e=>e.NamespaceAiProvidersComponent)},{path:":namespaceId/ai-models/new",canActivate:[i],loadComponent:()=>import("./chunk-IZFHJAEI.js").then(e=>e.AiModelFormComponent)},{path:":namespaceId/ai-models/:modelId/edit",canActivate:[i],loadComponent:()=>import("./chunk-IZFHJAEI.js").then(e=>e.AiModelFormComponent)},{path:":namespaceId/ai-models",canActivate:[i],loadComponent:()=>import("./chunk-VGRGY2U3.js").then(e=>e.NamespaceAiModelsComponent)},{path:"admin/users/new",canActivate:[i],loadComponent:()=>import("./chunk-3D3KN52V.js").then(e=>e.UserFormComponent)},{path:"admin/users/:userId/edit",canActivate:[i],loadComponent:()=>import("./chunk-3D3KN52V.js").then(e=>e.UserFormComponent)},{path:"admin/users",canActivate:[i],loadComponent:()=>import("./chunk-H6Q42HHV.js").then(e=>e.UserListComponent)},{path:"me",canActivate:[i],loadComponent:()=>import("./chunk-EPA5P2I6.js").then(e=>e.UserProfileComponent)},{path:"",redirectTo:"namespaces",pathMatch:"full"}]}]}];function V(e,o){e&1&&(c(0,"p",6),t(1,"No cases yet. Start one below."),d())}function K(e,o){if(e&1&&(c(0,"div",7)(1,"span",8),t(2),d(),c(3,"span",9),t(4),d()()),e&2){let n=o.$implicit;l(2),C(n.id),l(2),C(n.status)}}function $(e,o){if(e&1&&y(0,K,5,2,"div",7,x().trackById,!0),e&2){let n=h();A(n)}}function j(e,o){e&1&&g(0,V,2,0,"p",6)(1,$,2,0),e&2&&u(o.length===0?0:1)}var D=class e{http=p(k);router=p(F);route=p(T);config=p(z);caseController=p(L);namespaceId=this.route.snapshot.params.namespaceId;cases$=this.caseController.listByParentCase(this.namespaceId);inputValue=_("");onInput(o){this.inputValue.set(o.target.value)}onKeydown(o){o.key==="Enter"&&!o.shiftKey&&(o.preventDefault(),this.submit())}submit(){this.inputValue().trim()&&this.http.post(`${this.config.basePath}/api/cases`,{namespaceId:this.namespaceId,metadata:{}}).subscribe(n=>{this.inputValue.set(""),this.router.navigate(["/agentos",this.namespaceId,"cases",n.id??""])})}trackById(o,n){return n.id??""}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=b({type:e,selectors:[["agentos-case-list"]],decls:11,vars:4,consts:[[1,"case-list"],[1,"case-list__header"],[1,"case-list__items"],[1,"case-list__composer"],["placeholder","Start a new case\u2026","rows","3",1,"case-list__input",3,"input","keydown","value"],[1,"case-list__hint"],[1,"case-list__empty"],[1,"case-list__item"],[1,"case-list__item-id"],[1,"case-list__item-status"]],template:function(n,s){if(n&1&&(c(0,"div",0)(1,"header",1)(2,"h2"),t(3,"Cases"),d()(),c(4,"div",2),g(5,j,2,1),O(6,"async"),d(),c(7,"div",3)(8,"textarea",4),M("input",function(v){return s.onInput(v)})("keydown",function(v){return s.onKeydown(v)}),d(),c(9,"p",5),t(10,"Press Enter to send, Shift+Enter for new line"),d()()()),n&2){let m;l(5),u((m=I(6,2,s.cases$))?5:-1,m),l(3),S("value",s.inputValue())}},dependencies:[w],styles:[".case-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;max-width:720px;margin:0 auto;padding:2rem;gap:1.5rem}.case-list__header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.case-list__items[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.case-list__empty[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.case-list__composer[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.case-list__input[_ngcontent-%COMP%]{width:100%;resize:none;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:var(--glass-bg, rgba(255, 255, 255, .72));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));backdrop-filter:var(--glass-backdrop-blur, blur(20px));color:var(--color-text, #1d1d1f);font-size:.95rem;font-family:inherit;line-height:1.5;outline:none;box-sizing:border-box;transition:border-color .15s ease}.case-list__input[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.case-list__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.case-list__hint[_ngcontent-%COMP%]{margin:0;font-size:.75rem;color:var(--color-text-secondary, #6e6e73);opacity:.7}"]})};function G(e,o){if(e&1&&(a(0,"p",11),t(1," Last action: "),a(2,"strong"),t(3),r()()),e&2){let n=h();l(3),C(n.lastAction())}}var R=class e{lastAction=_(null);onSend(){this.lastAction.set("send")}onStop(){this.lastAction.set("stop")}onAttach(){this.lastAction.set("attach")}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=b({type:e,selectors:[["agentos-hello"]],decls:35,vars:2,consts:[[1,"hello-agentos"],[1,"card"],[1,"badge"],[1,"principles"],[1,"demo"],[1,"demo-label"],[1,"demo-buttons"],["icon","send","variant","primary","title","Send",3,"action"],["icon","stop","variant","danger","title","Stop",3,"action"],["icon","attach_file","variant","default","title","Attach",3,"action"],["icon","mic","variant","default","title","Record",3,"action","disabled"],[1,"demo-feedback"]],template:function(n,s){n&1&&(a(0,"div",0)(1,"div",1)(2,"div",2),t(3,"AgentOS UI"),r(),a(4,"h1"),t(5,"Hello AgentOS"),r(),a(6,"p"),t(7," This component lives in "),a(8,"code"),t(9,"libs/agentos-ui"),r(),t(10," \u2014 isolated from Coday internals, ready to be published as "),a(11,"code"),t(12,"@whoz-oss/agentos-ui"),r(),t(13,". "),r(),P(14,"agentos-backend-status"),a(15,"ul",3)(16,"li"),t(17,"\u2726 No imports from Coday app"),r(),a(18,"li"),t(19,"\u2726 CSS custom properties as host contract"),r(),a(20,"li"),t(21,"\u2726 Standalone Angular components"),r(),a(22,"li"),t(23,"\u2726 Signals-first reactive state"),r()(),a(24,"div",4)(25,"p",5),t(26,"ds-icon-button from "),a(27,"code"),t(28,"@whoz-oss/design-system"),r()(),a(29,"div",6)(30,"ds-icon-button",7),f("action",function(){return s.onSend()}),r(),a(31,"ds-icon-button",8),f("action",function(){return s.onStop()}),r(),a(32,"ds-icon-button",9),f("action",function(){return s.onAttach()}),r(),a(33,"ds-icon-button",10),f("action",function(){return s.onAttach()}),r()(),g(34,G,4,1,"p",11),r()()()),n&2&&(l(33),E("disabled",!0),l(),u(s.lastAction()?34:-1))},dependencies:[N,H],styles:['@charset "UTF-8";.hello-agentos[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.card[_ngcontent-%COMP%]{background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));box-shadow:var(--glass-shadow, 0 8px 32px 0 rgba(31, 38, 135, .15));backdrop-filter:var(--glass-backdrop-blur, blur(20px));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));border-radius:20px;padding:3rem;max-width:480px;width:100%;text-align:center}.badge[_ngcontent-%COMP%]{display:inline-block;background:var(--color-primary, #007aff);color:var(--color-text-inverse, #ffffff);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .75rem;border-radius:100px;margin-bottom:1.5rem}h1[_ngcontent-%COMP%]{color:var(--color-text, #1d1d1f);font-size:2rem;font-weight:700;margin:0 0 1rem;letter-spacing:-.02em}p[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);line-height:1.6;margin:0 0 1.5rem}p[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background:var(--color-code-bg, rgba(142, 142, 147, .12));color:var(--color-code-text, #ff375f);padding:.125rem .375rem;border-radius:6px;font-size:.875em;border:1px solid var(--color-border, rgba(0, 0, 0, .1))}.principles[_ngcontent-%COMP%]{list-style:none;margin:0 0 1.5rem;padding:0;text-align:left;display:flex;flex-direction:column;gap:.5rem}.principles[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;padding:.5rem .75rem;background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-radius:8px;border:1px solid var(--color-border-light, rgba(40, 40, 40, .08))}.demo[_ngcontent-%COMP%]{border-top:1px solid var(--color-border-light, rgba(40, 40, 40, .08));padding-top:1.25rem}.demo[_ngcontent-%COMP%] .demo-label[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.8rem;margin:0 0 .75rem}.demo[_ngcontent-%COMP%] .demo-label[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background:var(--color-code-bg, rgba(142, 142, 147, .12));color:var(--color-code-text, #ff375f);padding:.125rem .375rem;border-radius:6px;font-size:.875em;border:1px solid var(--color-border, rgba(0, 0, 0, .1))}.demo[_ngcontent-%COMP%] .demo-buttons[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-radius:12px;border:1px solid var(--color-border-light, rgba(40, 40, 40, .08))}.demo[_ngcontent-%COMP%] .demo-feedback[_ngcontent-%COMP%]{margin:.75rem 0 0;font-size:.85rem;color:var(--color-text-secondary, #6e6e73)}.demo[_ngcontent-%COMP%] .demo-feedback[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--color-primary, #007aff)}']})};export{me as AGENTOS_ROUTES,q as AgentosShellComponent,H as BackendStatusComponent,Z as CaseChatComponent,Q as CaseDrawerComponent,Y as CaseHomeComponent,J as CaseItemComponent,D as CaseListComponent,X as CaseShellComponent,W as HeaderComponent,R as HelloAgentosComponent,ee as LayoutComponent,te as NamespaceItemComponent,ne as NamespaceListComponent,oe as UserAdminStateService,ae as UserFormComponent,ie as UserItemComponent,re as UserListComponent,i as agentosReadyGuard};
@@ -0,0 +1,3 @@
1
+ import{d as zt,e as Kt,f as Bt,g as Jt}from"./chunk-ZAM3WGZM.js";import{a as vt,c as Ct,d as wt,e as Mt,n as he}from"./chunk-RQLQ22PM.js";import{a as xt,b as yt,e as It,f as St,i as Et,j as Dt,m as qt,n as $t}from"./chunk-AK6F2DC7.js";import{a as G}from"./chunk-AJOXSD6I.js";import{f as ut,i as ft,j as ht}from"./chunk-IXD43YQI.js";import{a as Q,b as bt}from"./chunk-WPC6XC7P.js";import{C as Ht,D as fe,b as Ot,c as me,g as ue,h as Tt,j as kt,l as te,m as Pt,o as At,r as Ft,s as jt,u as Nt,v as Rt,w as Vt,x as Lt}from"./chunk-XJUBZLY2.js";import{E as mt,K as gt,M as Ee,N as _t,O as pe,P as De,h as st,i as dt,n as lt,t as ee,u as ct,w as pt}from"./chunk-B2QA6UZX.js";import{$a as we,$b as W,A as je,Ab as Me,B as U,Bb as S,Cb as Ye,Db as h,Eb as Ie,F as Ne,Fb as l,Fc as rt,G as Re,Gb as j,Hb as I,Ib as Z,J as Ve,Jb as se,Ka as a,Kb as N,Lb as R,Na as Je,Pa as We,Pb as X,Qb as V,R as Ce,Rb as E,S as Le,Sa as Qe,Sb as de,Tb as m,Ub as _,Vb as le,Wa as b,Wb as Ze,Xa as ae,Ya as F,_ as oe,_b as Xe,a as ne,aa as z,ab as J,ac as et,b as ve,bc as Se,ca as c,e as ie,ga as v,h as H,ha as C,hc as tt,ia as He,jb as x,jc as nt,k as Ae,kc as P,la as qe,lb as u,m as Fe,ma as K,mb as f,mc as it,nb as Ge,nc as ot,oa as g,ob as re,oc as L,pa as $e,pb as w,qb as M,rb as p,sb as r,sc as ce,ta as D,tb as s,tc as q,ua as ze,ub as O,uc as at,va as B,vb as T,wa as Ke,wb as k,xb as Ue,ya as Y,za as Be}from"./chunk-3JGMGRXW.js";var cn=[[["","dsDrawerSide",""]],[["","dsDrawerContent",""]]],pn=["[dsDrawerSide]","[dsDrawerContent]"],Wt=class t{breakpointObserver=c(lt);destroyRef=c(K);open=!0;drawerWidth="280px";mobileBreakpoint=768;openChange=new g;isMobile=D(!1);drawerMode=P(()=>this.isMobile()?"over":"side");ngOnInit(){this.breakpointObserver.observe([`(max-width: ${this.mobileBreakpoint-1}px)`]).pipe(G(this.destroyRef)).subscribe(i=>this.isMobile.set(i.matches))}onOpenedChange(i){this.openChange.emit(i)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=b({type:t,selectors:[["ds-drawer"]],inputs:{open:"open",drawerWidth:"drawerWidth",mobileBreakpoint:"mobileBreakpoint"},outputs:{openChange:"openChange"},ngContentSelectors:pn,decls:5,vars:6,consts:[[1,"ds-drawer",2,"height","100%"],[1,"ds-drawer__sidenav",3,"openedChange","opened","mode"],[1,"ds-drawer__content"]],template:function(e,n){e&1&&(j(cn),r(0,"mat-sidenav-container",0)(1,"mat-sidenav",1),h("openedChange",function(d){return n.onOpenedChange(d)}),I(2),s(),r(3,"mat-sidenav-content",2),I(4,1),s()()),e&2&&(a(),V("width",n.drawerWidth),E("ds-drawer__sidenav--overlay",n.isMobile()),p("opened",n.open)("mode",n.drawerMode()))},dependencies:[Jt,Kt,Bt,zt],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0}.ds-drawer[_ngcontent-%COMP%]{width:100%;flex:1;min-height:0;--mat-sidenav-container-background-color: transparent;--mat-sidenav-container-divider-color: var(--color-border, rgba(0, 0, 0, .1));--mat-sidenav-scrim-color: rgba(0, 0, 0, .2)}.ds-drawer.mat-drawer-container[_ngcontent-%COMP%]{flex:1;min-height:0}.ds-drawer__sidenav[_ngcontent-%COMP%]{background:var(--glass-bg, rgba(255, 255, 255, .92));backdrop-filter:var(--glass-backdrop-blur, blur(20px));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));border-right:1px solid var(--color-border, rgba(0, 0, 0, .1));box-shadow:none;--mat-sidenav-container-shape: 0;border-radius:0}.ds-drawer__sidenav--overlay[_ngcontent-%COMP%]{background:var(--color-bg, #ffffff);backdrop-filter:none;-webkit-backdrop-filter:none}.ds-drawer__content[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden}"],changeDetection:0})};var ge=class t{icon;title="";disabled=!1;variant="default";action=new g;onClick(){this.disabled||this.action.emit()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=b({type:t,selectors:[["ds-icon-button"]],inputs:{icon:"icon",title:"title",disabled:"disabled",variant:"variant"},outputs:{action:"action"},decls:3,vars:5,consts:[["mat-icon-button","","type","button",3,"click","disabled","title"]],template:function(e,n){e&1&&(r(0,"button",0),h("click",function(){return n.onClick()}),r(1,"mat-icon"),m(2),s()()),e&2&&(de("icon-button variant-"+n.variant),p("disabled",n.disabled)("title",n.title),a(2),_(n.icon))},dependencies:[pe,Q],styles:['@charset "UTF-8";.icon-button[_ngcontent-%COMP%]{transition:color .2s ease,background .2s ease,transform .12s ease,opacity .2s ease}.icon-button[_ngcontent-%COMP%]:hover:not(:disabled){transform:scale(1.1)}.icon-button[_ngcontent-%COMP%]:active:not(:disabled){transform:scale(1.15)}.icon-button[_ngcontent-%COMP%]:disabled{opacity:.4;cursor:not-allowed}.icon-button.variant-default[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73)}.icon-button.variant-default[_ngcontent-%COMP%]:hover:not(:disabled){color:var(--color-primary, #007aff)}.icon-button.variant-primary[_ngcontent-%COMP%]:hover:not(:disabled), .icon-button.variant-danger[_ngcontent-%COMP%]:hover:not(:disabled){color:var(--color-text-inverse, #ffffff);box-shadow:0 4px 14px var(--icon-button-shadow-color);background:var(--icon-button-accent-color)}.icon-button.variant-primary[_ngcontent-%COMP%]{--icon-button-accent-color: var(--color-primary, #007aff);--icon-button-shadow-color: rgba(0, 122, 255, .3);color:var(--color-primary, #007aff)}.icon-button.variant-danger[_ngcontent-%COMP%]{--icon-button-accent-color: var(--color-error, #ff3b30);--icon-button-shadow-color: rgba(255, 59, 48, .3);color:var(--color-error, #ff3b30)}']})};var mn=(t,i)=>i.uid;function un(t,i){t&1&&(r(0,"span",2),m(1,"*"),s())}function fn(t,i){if(t&1&&(r(0,"p",3),m(1),s()),t&2){let e=l();a(),_(e.description)}}function hn(t,i){if(t&1&&O(0,"input",4),t&2){let e=l();p("type",e.htmlInputType)("id",e.inputId)("formControl",e.control()),x("required",e.required()||null)}}function gn(t,i){if(t&1&&O(0,"input",5),t&2){let e=l();p("id",e.inputId)("formControl",e.control()),x("required",e.required()||null)}}function _n(t,i){if(t&1&&(r(0,"div",6),O(1,"input",11),r(2,"span",12),m(3),s()()),t&2){let e=l();a(),p("id",e.inputId)("formControl",e.control()),a(2),_(e.label)}}function bn(t,i){t&1&&(r(0,"option",13),m(1,"\u2014 none \u2014"),s())}function xn(t,i){if(t&1&&(r(0,"option",14),m(1),s()),t&2){let e=i.$implicit;p("value",e),a(),_(e)}}function yn(t,i){if(t&1&&(r(0,"select",7),u(1,bn,2,0,"option",13),w(2,xn,2,2,"option",14,re),s()),t&2){let e=l();p("id",e.inputId)("formControl",e.control()),x("required",e.required()||null),a(),f(e.required()?-1:1),a(),M(e.enumOptions)}}function vn(t,i){if(t&1){let e=S();r(0,"div",15),O(1,"input",17),r(2,"button",18),h("click",function(){let o=v(e).$index,d=l(2);return C(d.removeScalarItem(o))}),m(3," \xD7 "),s()()}if(t&2){let e=i.$index,n=l(2);a(),p("type",n.itemInputType)("formControl",n.getScalarItemControl(e)),x("aria-label",n.label+" item "+(e+1)),a(),x("aria-label","Remove "+n.label+" item "+(e+1))}}function Cn(t,i){if(t&1){let e=S();r(0,"div",8),w(1,vn,4,4,"div",15,Ge),r(3,"button",16),h("click",function(){v(e);let o=l();return C(o.addScalarItem())}),m(4),s()()}if(t&2){let e=l();a(),M(e.itemArray.controls),a(3),le("+ Add ",e.label)}}function wn(t,i){if(t&1){let e=S();r(0,"div",19)(1,"div",20)(2,"span",21),m(3),s(),r(4,"button",18),h("click",function(){let o=v(e).$implicit,d=l(2);return C(d.removeObjectItem(o.uid))}),m(5," \xD7 "),s()(),r(6,"ds-json-schema-form",22),h("valueChange",function(o){let d=v(e).$implicit,y=l(2);return C(y.onObjectItemChange(d.uid,o))}),s()()}if(t&2){let e=i.$implicit,n=i.$index,o=l(2);a(3),Ze("",(o.itemObjectSchema==null?null:o.itemObjectSchema.title)??o.label," ",n+1),a(),x("aria-label","Remove "+o.label+" item "+(n+1)),a(2),p("schema",o.itemObjectSchema)("value",e.seed)}}function Mn(t,i){if(t&1){let e=S();r(0,"div",8),w(1,wn,7,5,"div",19,mn),r(3,"button",16),h("click",function(){v(e);let o=l();return C(o.addObjectItem())}),m(4),s()()}if(t&2){let e=l();a(),M(e.objectItems()),a(3),le("+ Add ",e.label)}}function In(t,i){if(t&1){let e=S();r(0,"div",9)(1,"ds-json-schema-form",22),h("valueChange",function(o){v(e);let d=l();return C(d.onNestedValueChange(o))}),s()()}if(t&2){let e=l();a(),p("schema",e.fieldSchema())("value",e.nestedInitialValue())}}function Sn(t,i){if(t&1&&O(0,"textarea",10),t&2){let e=l();p("id",e.inputId)("formControl",e.control()),x("required",e.required()||null)}}var En=0;function Qt(t){return{uid:En++,seed:t,value:t}}var _e=class t{fieldKey=L.required();fieldSchema=L.required();control=L.required();required=L(!1);itemArray=new Ft([]);objectItems=D([]);nestedInitialValue=D(null);ngOnInit(){if(this.fieldType==="array-scalar")this.initScalarArray();else if(this.fieldType==="array-object")this.initObjectArray();else if(this.fieldType==="nested-object"){let i=this.control().value;this.nestedInitialValue.set(i&&typeof i=="object"&&!Array.isArray(i)?i:null)}}initScalarArray(){let i=this.control().value;(Array.isArray(i)?i:[]).forEach(n=>this.itemArray.push(new te(n))),this.itemArray.valueChanges.subscribe(n=>{this.control().setValue(n,{emitEvent:!0})})}addScalarItem(){this.itemArray.push(new te(null))}removeScalarItem(i){this.itemArray.removeAt(i)}getScalarItemControl(i){return this.itemArray.at(i)}get itemInputType(){let i=this.fieldSchema().items;if(!i)return"text";let e=Array.isArray(i.type)?i.type[0]:i.type;return e==="number"||e==="integer"?"number":"text"}initObjectArray(){let i=this.control().value,e=Array.isArray(i)?i:[];this.objectItems.set(e.map(n=>Qt(ne({},n))))}addObjectItem(){this.objectItems.update(i=>[...i,Qt(null)]),this.syncObjectArrayToControl()}removeObjectItem(i){this.objectItems.update(e=>e.filter(n=>n.uid!==i)),this.syncObjectArrayToControl()}onObjectItemChange(i,e){this.objectItems.update(n=>n.map(o=>o.uid===i?ve(ne({},o),{value:e}):o)),this.syncObjectArrayToControl()}get itemObjectSchema(){return this.fieldSchema().items??null}syncObjectArrayToControl(){this.control().setValue(this.objectItems().map(i=>i.value),{emitEvent:!0})}get label(){return this.fieldSchema().title??this.fieldKey()}get description(){return this.fieldSchema().description}get fieldType(){let i=this.fieldSchema();if(i.enum?.length)return"enum";switch(Array.isArray(i.type)?i.type[0]:i.type){case"number":case"integer":return"number";case"boolean":return"boolean";case"array":{let n=i.items;return(n?Array.isArray(n.type)?n.type[0]:n.type:void 0)==="object"&&n?.properties?"array-object":"array-scalar"}case"object":return i.properties?"nested-object":"textarea";default:return"text"}}get htmlInputType(){switch(this.fieldSchema().format){case"password":return"password";case"email":return"email";case"uri":case"url":return"url";case"date":return"date";case"date-time":return"datetime-local";default:return"text"}}get enumOptions(){return this.fieldSchema().enum??[]}get inputId(){return`ds-field-${this.fieldKey()}`}onNestedValueChange(i){let e=this.control().value;JSON.stringify(e)!==JSON.stringify(i)&&this.control().setValue(i,{emitEvent:!0})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=b({type:t,selectors:[["ds-json-schema-field"]],inputs:{fieldKey:[1,"fieldKey"],fieldSchema:[1,"fieldSchema"],control:[1,"control"],required:[1,"required"]},decls:13,vars:5,consts:[[1,"ds-field"],[1,"ds-field__label",3,"for"],["aria-hidden","true",1,"ds-field__required"],[1,"ds-field__description"],[1,"ds-field__input",3,"type","id","formControl"],["type","number",1,"ds-field__input",3,"id","formControl"],[1,"ds-field__checkbox-row"],[1,"ds-field__select",3,"id","formControl"],[1,"ds-field__array"],[1,"ds-field__nested"],["rows","4","placeholder","JSON",1,"ds-field__textarea",3,"id","formControl"],["type","checkbox",1,"ds-field__checkbox",3,"id","formControl"],[1,"ds-field__checkbox-label"],["value",""],[3,"value"],[1,"ds-field__array-row"],["type","button",1,"ds-field__array-add",3,"click"],[1,"ds-field__input","ds-field__input--array-item",3,"type","formControl"],["type","button",1,"ds-field__array-remove",3,"click"],[1,"ds-field__array-object-card"],[1,"ds-field__array-object-header"],[1,"ds-field__array-object-title"],[3,"valueChange","schema","value"]],template:function(e,n){if(e&1&&(r(0,"div",0)(1,"label",1),m(2),u(3,un,2,0,"span",2),s(),u(4,fn,2,1,"p",3),u(5,hn,1,4,"input",4)(6,gn,1,3,"input",5)(7,_n,4,3,"div",6)(8,yn,4,4,"select",7)(9,Cn,5,1,"div",8)(10,Mn,5,1,"div",8)(11,In,2,2,"div",9)(12,Sn,1,3,"textarea",10),s()),e&2){let o;a(),p("for",n.inputId),a(),le(" ",n.label," "),a(),f(n.required()?3:-1),a(),f(n.description?4:-1),a(),f((o=n.fieldType)==="text"?5:o==="number"?6:o==="boolean"?7:o==="enum"?8:o==="array-scalar"?9:o==="array-object"?10:o==="nested-object"?11:o==="textarea"?12:-1)}},dependencies:()=>[fe,Vt,Lt,me,At,Ot,Rt,ue,jt,be],styles:[".ds-field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.ds-field__label[_ngcontent-%COMP%]{font-size:.8125rem;font-weight:500;color:var(--color-text, #1d1d1f)}.ds-field__required[_ngcontent-%COMP%]{color:var(--color-error, #d32f2f);margin-left:2px}.ds-field__description[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary, #6e6e73);margin:0}.ds-field__input[_ngcontent-%COMP%], .ds-field__select[_ngcontent-%COMP%], .ds-field__textarea[_ngcontent-%COMP%]{width:100%;padding:6px 10px;border:1px solid var(--color-border, #d1d1d6);border-radius:6px;background:var(--color-bg-secondary, #f5f5f7);color:var(--color-text, #1d1d1f);font-size:.875rem;font-family:inherit;box-sizing:border-box;transition:border-color .15s ease}.ds-field__input[_ngcontent-%COMP%]:focus, .ds-field__select[_ngcontent-%COMP%]:focus, .ds-field__textarea[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--color-primary, #007aff)}.ds-field__textarea[_ngcontent-%COMP%]{font-family:Menlo,Monaco,Courier New,monospace;font-size:.8125rem;resize:vertical;background:var(--color-code-bg, #f5f5f7)}.ds-field__checkbox-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.ds-field__checkbox[_ngcontent-%COMP%]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary, #007aff);flex-shrink:0}.ds-field__checkbox-label[_ngcontent-%COMP%]{font-size:.875rem;color:var(--color-text, #1d1d1f)}.ds-field__array[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px}.ds-field__array-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px}.ds-field__input--array-item[_ngcontent-%COMP%]{flex:1}.ds-field__array-remove[_ngcontent-%COMP%]{flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid var(--color-border, #d1d1d6);border-radius:6px;background:transparent;color:var(--color-text-secondary, #6e6e73);font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease,color .15s ease}.ds-field__array-remove[_ngcontent-%COMP%]:hover{border-color:var(--color-error, #d32f2f);color:var(--color-error, #d32f2f)}.ds-field__array-object-card[_ngcontent-%COMP%]{border:1px solid var(--color-border-light, #e5e5ea);border-radius:8px;padding:12px;background:var(--color-bg-secondary, #f5f5f7);display:flex;flex-direction:column;gap:10px}.ds-field__array-object-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.ds-field__array-object-title[_ngcontent-%COMP%]{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary, #6e6e73)}.ds-field__array-add[_ngcontent-%COMP%]{align-self:flex-start;padding:4px 10px;border:1px dashed var(--color-border, #d1d1d6);border-radius:6px;background:transparent;color:var(--color-primary, #007aff);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:border-color .15s ease}.ds-field__array-add[_ngcontent-%COMP%]:hover{border-color:var(--color-primary, #007aff)}.ds-field__nested[_ngcontent-%COMP%]{border:1px solid var(--color-border-light, #e5e5ea);border-radius:8px;padding:12px;background:var(--color-bg-secondary, #f5f5f7)}"],changeDetection:0})};function Dn(t,i){if(t&1&&O(0,"ds-json-schema-field",1),t&2){let e=i.$implicit,n=l(2);p("fieldKey",e)("fieldSchema",n.getFieldSchema(e))("control",n.getControl(e))("required",n.isRequired(e))}}function On(t,i){if(t&1&&(r(0,"div",0),w(1,Dn,1,4,"ds-json-schema-field",1,re),s()),t&2){let e=l();p("formGroup",e.formGroup),a(),M(e.fieldKeys())}}var be=class t{destroyRef=c(K);schema=L(null);value=L(null);valueChange=ot();formGroup=new kt({});fieldKeys=P(()=>{let i=this.schema();return i?.properties?Object.keys(i.properties):[]});hasFields=P(()=>this.fieldKeys().length>0);constructor(){ze(()=>{let i=this.schema(),e=nt(()=>this.value());this.rebuildForm(i,e)})}rebuildForm(i,e){if(Object.keys(this.formGroup.controls).forEach(n=>{this.formGroup.removeControl(n)}),!i?.properties){this.valueChange.emit(null);return}for(let[n,o]of Object.entries(i.properties)){let d=e?.[n]??o.default??null;this.formGroup.addControl(n,new te(d))}this.formGroup.valueChanges.pipe(G(this.destroyRef)).subscribe(()=>this.emitValue()),this.emitValue()}emitValue(){if(!this.schema()?.properties){this.valueChange.emit(null);return}this.valueChange.emit(this.formGroup.value)}getFieldSchema(i){return this.schema()?.properties?.[i]??{}}isRequired(i){return this.schema()?.required?.includes(i)??!1}getControl(i){return this.formGroup.get(i)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=b({type:t,selectors:[["ds-json-schema-form"]],inputs:{schema:[1,"schema"],value:[1,"value"]},outputs:{valueChange:"valueChange"},decls:1,vars:1,consts:[[1,"ds-json-schema-form",3,"formGroup"],[3,"fieldKey","fieldSchema","control","required"]],template:function(e,n){e&1&&u(0,On,3,1,"div",0),e&2&&f(n.hasFields()?0:-1)},dependencies:[fe,Tt,Nt,_e],styles:[".ds-json-schema-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}"]})};var xe=class t{static \u0275fac=function(e){return new(e||t)};static \u0275dir=F({type:t,selectors:[["","dsCardActions",""]]})};var kn=[[["","dsCardActions",""]]],Pn=["[dsCardActions]"],An=(t,i)=>i.label;function Fn(t,i){if(t&1&&(r(0,"span"),m(1),s()),t&2){let e=i.$implicit;de(Xe("entity-card__badge badge-",e.variant)),a(),_(e.label)}}function jn(t,i){if(t&1&&(r(0,"div",3),w(1,Fn,2,4,"span",6,An),s()),t&2){let e=l();a(),M(e.badges)}}function Nn(t,i){if(t&1&&(r(0,"span",4),m(1),s()),t&2){let e=l();p("matTooltip",e.description),a(),_(e.description)}}function Rn(t,i){t&1&&(r(0,"div",5),I(1),s())}var ye=class t{id;name;description=void 0;badges=[];selected=new g;cardActions;get hasActions(){return this.cardActions!==void 0}onClick(){this.selected.emit(this.id)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=b({type:t,selectors:[["ds-entity-card"]],contentQueries:function(e,n,o){if(e&1&&Z(o,xe,5),e&2){let d;N(d=R())&&(n.cardActions=d.first)}},inputs:{id:"id",name:"name",description:"description",badges:"badges"},outputs:{selected:"selected"},ngContentSelectors:Pn,decls:7,vars:8,consts:[["matRipple","",1,"entity-card",3,"click","keydown.enter","keydown.space"],[1,"entity-card__body"],[1,"entity-card__name"],[1,"entity-card__badges"],["matTooltipShowDelay","600",1,"entity-card__description",3,"matTooltip"],[1,"entity-card__actions"],[3,"class"]],template:function(e,n){e&1&&(j(kn),r(0,"div",0),h("click",function(){return!n.hasActions&&n.onClick()})("keydown.enter",function(){return!n.hasActions&&n.onClick()})("keydown.space",function(){return!n.hasActions&&n.onClick()}),r(1,"div",1)(2,"span",2),m(3),s(),u(4,jn,3,0,"div",3),u(5,Nn,2,2,"span",4),s(),u(6,Rn,2,0,"div",5),s()),e&2&&(E("entity-card--clickable",!n.hasActions),x("role",n.hasActions?null:"button")("tabindex",n.hasActions?null:"0"),a(3),_(n.name),a(),f(n.badges.length>0?4:-1),a(),f(n.description?5:-1),a(),f(n.hasActions?6:-1))},dependencies:[De,Ee,yt,xt],styles:[".entity-card[_ngcontent-%COMP%]{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;width:100%;padding:1rem 1.25rem;background:var(--color-bg-secondary, rgba(255, 255, 255, .7));border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:12px;overflow:hidden;position:relative;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease}.entity-card--clickable[_ngcontent-%COMP%]{cursor:pointer}.entity-card--clickable[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-color:var(--color-primary, #007aff);box-shadow:0 2px 12px var(--color-shadow, rgba(0, 0, 0, .08));transform:translateY(-1px)}.entity-card--clickable[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary, #007aff);outline-offset:2px}.entity-card--clickable[_ngcontent-%COMP%]:active{transform:translateY(0)}.entity-card__body[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.entity-card__name[_ngcontent-%COMP%]{font-size:.9375rem;font-weight:600;color:var(--color-text, #1d1d1f);line-height:1.3}.entity-card__description[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--color-text-secondary, #6e6e73);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-card__badges[_ngcontent-%COMP%]{display:flex;gap:.25rem;flex-wrap:wrap}.entity-card__badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.0625rem .3rem;border-radius:999px;font-size:.5625rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#fff}.entity-card__badge.badge-warning[_ngcontent-%COMP%]{background:var(--color-warning, #ff9500)}.entity-card__badge.badge-info[_ngcontent-%COMP%]{background:var(--color-info, #5ac8fa)}.entity-card__badge.badge-success[_ngcontent-%COMP%]{background:var(--color-success, #34c759)}.entity-card__badge.badge-error[_ngcontent-%COMP%]{background:var(--color-error, #ff3b30)}.entity-card__actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;flex-shrink:0}"],changeDetection:0})};var Oe=new z("CdkAccordion"),Ut=(()=>{class t{_stateChanges=new H;_openCloseAllActions=new H;id=c(ee).getId("cdk-accordion-");multi=!1;openAll(){this.multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(e){this._stateChanges.next(e)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}static \u0275fac=function(n){return new(n||t)};static \u0275dir=F({type:t,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[2,"multi","multi",q]},exportAs:["cdkAccordion"],features:[W([{provide:Oe,useExisting:t}]),B]})}return t})(),Yt=(()=>{class t{accordion=c(Oe,{optional:!0,skipSelf:!0});_changeDetectorRef=c(ce);_expansionDispatcher=c(he);_openCloseAllSubscription=ie.EMPTY;closed=new g;opened=new g;destroyed=new g;expandedChange=new g;id=c(ee).getId("cdk-accordion-child-");get expanded(){return this._expanded}set expanded(e){if(this._expanded!==e){if(this._expanded=e,this.expandedChange.emit(e),e){this.opened.emit();let n=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,n)}else this.closed.emit();this._changeDetectorRef.markForCheck()}}_expanded=!1;get disabled(){return this._disabled()}set disabled(e){this._disabled.set(e)}_disabled=D(!1);_removeUniqueSelectionListener=()=>{};constructor(){}ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((e,n)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===n&&this.id!==e&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e)})}static \u0275fac=function(n){return new(n||t)};static \u0275dir=F({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",q],disabled:[2,"disabled","disabled",q]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[W([{provide:Oe,useValue:void 0}])]})}return t})(),Zt=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=ae({type:t});static \u0275inj=oe({})}return t})();var Hn=["body"],qn=["bodyWrapper"],$n=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],zn=["mat-expansion-panel-header","*","mat-action-row"];function Kn(t,i){}var Bn=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],Jn=["mat-panel-title","mat-panel-description","*"];function Wn(t,i){t&1&&(T(0,"span",1),He(),T(1,"svg",2),Ue(2,"path",3),k()())}var Te=new z("MAT_ACCORDION"),Xt=new z("MAT_EXPANSION_PANEL"),Qn=(()=>{class t{_template=c(Je);_expansionPanel=c(Xt,{optional:!0});constructor(){}static \u0275fac=function(n){return new(n||t)};static \u0275dir=F({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]})}return t})(),en=new z("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),ke=(()=>{class t extends Yt{_viewContainerRef=c(Qe);_animationsDisabled=gt();_document=c(qe);_ngZone=c($e);_elementRef=c(Y);_renderer=c(We);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=e}_hideToggle=!1;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e}_togglePosition;afterExpand=new g;afterCollapse=new g;_inputChanges=new H;accordion=c(Te,{optional:!0,skipSelf:!0});_lazyContent;_body;_bodyWrapper;_portal;_headerId=c(ee).getId("mat-expansion-panel-header-");constructor(){super();let e=c(en,{optional:!0});this._expansionDispatcher=c(he),e&&(this.hideToggle=e.hideToggle)}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":!1}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(Ce(null),U(()=>this.expanded&&!this._portal),Re(1)).subscribe(()=>{this._portal=new ut(this._lazyContent._template,this._viewContainerRef)}),this._setupAnimationEvents()}ngOnChanges(e){this._inputChanges.next(e)}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransitionEnd?.(),this._inputChanges.complete()}_containsFocus(){if(this._body){let e=this._document.activeElement,n=this._body.nativeElement;return e===n||n.contains(e)}return!1}_transitionEndListener=({target:e,propertyName:n})=>{e===this._bodyWrapper?.nativeElement&&n==="grid-template-rows"&&this._ngZone.run(()=>{this.expanded?this.afterExpand.emit():this.afterCollapse.emit()})};_setupAnimationEvents(){this._ngZone.runOutsideAngular(()=>{this._animationsDisabled?(this.opened.subscribe(()=>this._ngZone.run(()=>this.afterExpand.emit())),this.closed.subscribe(()=>this._ngZone.run(()=>this.afterCollapse.emit()))):setTimeout(()=>{let e=this._elementRef.nativeElement;this._cleanupTransitionEnd=this._renderer.listen(e,"transitionend",this._transitionEndListener),e.classList.add("mat-expansion-panel-animations-enabled")},200)})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(n,o,d){if(n&1&&Z(d,Qn,5),n&2){let y;N(y=R())&&(o._lazyContent=y.first)}},viewQuery:function(n,o){if(n&1&&se(Hn,5)(qn,5),n&2){let d;N(d=R())&&(o._body=d.first),N(d=R())&&(o._bodyWrapper=d.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(n,o){n&2&&E("mat-expanded",o.expanded)("mat-expansion-panel-spacing",o._hasSpacing())},inputs:{hideToggle:[2,"hideToggle","hideToggle",q],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[W([{provide:Te,useValue:void 0},{provide:Xt,useExisting:t}]),we,B],ngContentSelectors:zn,decls:9,vars:4,consts:[["bodyWrapper",""],["body",""],[1,"mat-expansion-panel-content-wrapper"],["role","region",1,"mat-expansion-panel-content",3,"id"],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(n,o){n&1&&(j($n),I(0),r(1,"div",2,0)(3,"div",3,1)(5,"div",4),I(6,1),J(7,Kn,0,0,"ng-template",5),s(),I(8,2),s()()),n&2&&(a(),x("inert",o.expanded?null:""),a(2),p("id",o.id),x("aria-labelledby",o._headerId),a(4),p("cdkPortalOutlet",o._portal))},dependencies:[ft],styles:[`.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel{position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:var(--mat-expansion-container-elevation-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))}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}@media print{.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-content{font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}
2
+ `],encapsulation:2,changeDetection:0})}return t})();var Pe=(()=>{class t{panel=c(ke,{host:!0});_element=c(Y);_focusMonitor=c(st);_changeDetectorRef=c(ce);_parentChangeSubscription=ie.EMPTY;constructor(){c(dt).load(_t);let e=this.panel,n=c(en,{optional:!0}),o=c(new it("tabindex"),{optional:!0}),d=e.accordion?e.accordion._stateChanges.pipe(U(y=>!!(y.hideToggle||y.togglePosition))):Ae;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=je(e.opened,e.closed,d,e._inputChanges.pipe(U(y=>!!(y.hideToggle||y.disabled||y.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(U(()=>e._containsFocus())).subscribe(()=>this._focusMonitor.focusVia(this._element,"program")),n&&(this.expandedHeight=n.expandedHeight,this.collapsedHeight=n.collapsedHeight)}expandedHeight;collapsedHeight;tabIndex=0;get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){let e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}_keydown(e){switch(e.keyCode){case 32:case 13:ct(e)||(e.preventDefault(),this._toggle());break;default:this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e);return}}focus(e,n){e?this._focusMonitor.focusVia(this._element,e,n):this._element.nativeElement.focus(n)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(e=>{e&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=b({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:13,hostBindings:function(n,o){n&1&&h("click",function(){return o._toggle()})("keydown",function(y){return o._keydown(y)}),n&2&&(x("id",o.panel._headerId)("tabindex",o.disabled?-1:o.tabIndex)("aria-controls",o._getPanelId())("aria-expanded",o._isExpanded())("aria-disabled",o.panel.disabled),V("height",o._getHeaderHeight()),E("mat-expanded",o._isExpanded())("mat-expansion-toggle-indicator-after",o._getTogglePosition()==="after")("mat-expansion-toggle-indicator-before",o._getTogglePosition()==="before"))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight",tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:at(e)]},ngContentSelectors:Jn,decls:5,vars:3,consts:[[1,"mat-content"],[1,"mat-expansion-indicator"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 -960 960 960","aria-hidden","true","focusable","false"],["d","M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"]],template:function(n,o){n&1&&(j(Bn),T(0,"span",0),I(1),I(2,1),I(3,2),k(),u(4,Wn,3,0,"span",1)),n&2&&(E("mat-content-hide-toggle",!o._showToggle()),a(4),f(o._showToggle()?4:-1))},styles:[`.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header{height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-sys-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant))}.mat-expansion-panel-animations-enabled .mat-expansion-indicator{transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header.mat-expanded .mat-expansion-indicator{transform:rotate(180deg)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, none)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-header-indicator-display, inline-block)}@media(forced-colors: active){.mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}
3
+ `],encapsulation:2,changeDetection:0})}return t})();var tn=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275dir=F({type:t,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return t})(),nn=(()=>{class t extends Ut{_keyManager;_ownHeaders=new Be;_headers;hideToggle=!1;displayMode="default";togglePosition="after";ngAfterContentInit(){this._headers.changes.pipe(Ce(this._headers)).subscribe(e=>{this._ownHeaders.reset(e.filter(n=>n.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new pt(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(e){this._keyManager.onKeydown(e)}_handleHeaderFocus(e){this._keyManager.updateActiveItem(e)}ngOnDestroy(){super.ngOnDestroy(),this._keyManager?.destroy(),this._ownHeaders.destroy()}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Ke(t)))(o||t)}})();static \u0275dir=F({type:t,selectors:[["mat-accordion"]],contentQueries:function(n,o,d){if(n&1&&Z(d,Pe,5),n&2){let y;N(y=R())&&(o._headers=y)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(n,o){n&2&&E("mat-accordion-multi",o.multi)},inputs:{hideToggle:[2,"hideToggle","hideToggle",q],displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[W([{provide:Te,useExisting:t}]),we]})}return t})(),on=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=ae({type:t});static \u0275inj=oe({imports:[Zt,ht,mt]})}return t})();var Un=["searchInput"],Yn=[[["","toolbar-start",""]],[["","toolbar-extras",""]]],Zn=["[toolbar-start]","[toolbar-extras]"],rn=t=>({$implicit:t}),Xn=()=>[],ei=(t,i)=>i.groupKey,sn=(t,i)=>i.id;function ti(t,i){if(t&1){let e=S();r(0,"button",14),h("click",function(){v(e);let o=l();return C(o.clearSearch())}),r(1,"mat-icon"),m(2,"close"),s()()}}function ni(t,i){if(t&1){let e=S();r(0,"button",15),h("click",function(){v(e);let o=l();return C(o.onCreateRequested())}),r(1,"mat-icon"),m(2,"add"),s()()}}function ii(t,i){if(t&1&&(r(0,"p",11),m(1),s()),t&2){let e=l();a(),_(e.emptyMessage)}}function oi(t,i){if(t&1&&(r(0,"mat-expansion-panel-header")(1,"mat-panel-title",18),m(2),s()()),t&2){let e=l().$implicit;a(2),_(e.groupLabel)}}function ai(t,i){t&1&&Me(0)}function ri(t,i){if(t&1&&J(0,ai,1,0,"ng-container",19),t&2){let e=i.$implicit,n=l(3),o=X(18);p("ngTemplateOutlet",n.itemTemplate??o)("ngTemplateOutletContext",Se(2,rn,e))}}function si(t,i){if(t&1&&(r(0,"mat-expansion-panel",16),u(1,oi,3,1,"mat-expansion-panel-header"),r(2,"div",17),w(3,ri,1,4,"ng-container",null,sn),s()()),t&2){let e=i.$implicit,n=l(2);p("expanded",!0),a(),f(e.groupLabel?1:-1),a(),V("--card-min-width",n.cardMinWidth),a(),M(e.items)}}function di(t,i){if(t&1&&(r(0,"mat-accordion",12),w(1,si,5,4,"mat-expansion-panel",16,ei),s()),t&2){let e=l();p("multi",!0),a(),M(e.groupedItems())}}function li(t,i){t&1&&Me(0)}function ci(t,i){if(t&1&&J(0,li,1,0,"ng-container",19),t&2){let e=i.$implicit,n=l(2),o=X(18);p("ngTemplateOutlet",n.itemTemplate??o)("ngTemplateOutletContext",Se(2,rn,e))}}function pi(t,i){if(t&1&&(r(0,"div",17),w(1,ci,1,4,"ng-container",null,sn),s()),t&2){let e=l();V("--card-min-width",e.cardMinWidth),a(),M(e.filteredItems())}}function mi(t,i){if(t&1){let e=S();r(0,"ds-entity-card",20),h("selected",function(o){v(e);let d=l();return C(d.onItemSelected(o))}),s()}if(t&2){let e=i.$implicit;p("id",e.id)("name",e.name)("description",e.description)("badges",e.badges??et(4,Xn))}}var an=class t{title;items=[];searchPlaceholder="Filter\u2026";emptyMessage="No items found.";autoFocusSearch=!1;cardMinWidth="260px";contentMaxWidth="900px";showCreate=!1;itemTemplate;itemSelected=new g;createRequested=new g;searchInputRef;itemsSignal=D([]);searchQuery=D("");isSearchActive=P(()=>this.searchQuery().trim().length>0);filteredItems=P(()=>{let i=this.searchQuery().toLowerCase().trim(),e=this.itemsSignal();return i?e.filter(n=>n.name.toLowerCase().includes(i)||(n.description?.toLowerCase().includes(i)??!1)):e});groupedItems=P(()=>{let i=this.filteredItems(),e=[],n=new Map;for(let d of i){if(!d.groupKey){e.push(d);continue}n.has(d.groupKey)||n.set(d.groupKey,{groupKey:d.groupKey,groupLabel:d.groupLabel??d.groupKey,items:[]}),n.get(d.groupKey).items.push(d)}let o=[];return e.length>0&&o.push({groupKey:"",groupLabel:"",items:e}),o.push(...n.values()),o});hasGroups=P(()=>!this.isSearchActive()&&this.groupedItems().some(i=>i.groupKey!==""));ngOnChanges(i){i.items&&this.itemsSignal.set(this.items)}ngAfterViewInit(){this.autoFocusSearch&&setTimeout(()=>this.searchInputRef?.nativeElement.focus(),0)}onSearchChange(i){this.searchQuery.set(i)}clearSearch(){this.searchQuery.set(""),this.searchInputRef?.nativeElement.focus()}onItemSelected(i){this.itemSelected.emit(i)}onCreateRequested(){this.createRequested.emit()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=b({type:t,selectors:[["ds-entity-list"]],viewQuery:function(e,n){if(e&1&&se(Un,5),e&2){let o;N(o=R())&&(n.searchInputRef=o.first)}},hostVars:1,hostBindings:function(e,n){e&2&&x("title",null)},inputs:{title:"title",items:"items",searchPlaceholder:"searchPlaceholder",emptyMessage:"emptyMessage",autoFocusSearch:"autoFocusSearch",cardMinWidth:"cardMinWidth",contentMaxWidth:"contentMaxWidth",showCreate:"showCreate",itemTemplate:"itemTemplate"},outputs:{itemSelected:"itemSelected",createRequested:"createRequested"},features:[B],ngContentSelectors:Zn,decls:19,vars:8,consts:[["searchInput",""],["defaultCard",""],[1,"entity-list"],[1,"entity-list__toolbar"],[1,"entity-list__title"],["appearance","fill","subscriptSizing","dynamic",1,"entity-list__search-field"],["matPrefix",""],["matInput","","type","search","autocomplete","off",3,"ngModelChange","keydown.escape","placeholder","ngModel"],["matSuffix","","mat-icon-button","","aria-label","Clear"],["mat-icon-button","","type","button","title","Create",1,"entity-list__toolbar-btn","entity-list__toolbar-btn--primary"],[1,"entity-list__content"],[1,"entity-list__empty"],[3,"multi"],[1,"entity-list__grid",3,"--card-min-width"],["matSuffix","","mat-icon-button","","aria-label","Clear",3,"click"],["mat-icon-button","","type","button","title","Create",1,"entity-list__toolbar-btn","entity-list__toolbar-btn--primary",3,"click"],[1,"entity-list__panel",3,"expanded"],[1,"entity-list__grid"],[1,"entity-list__panel-title"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"selected","id","name","description","badges"]],template:function(e,n){e&1&&(j(Yn),r(0,"div",2)(1,"div",3),I(2),r(3,"h1",4),m(4),s(),r(5,"mat-form-field",5)(6,"mat-icon",6),m(7,"search"),s(),r(8,"input",7,0),h("ngModelChange",function(d){return n.onSearchChange(d)})("keydown.escape",function(){return n.clearSearch()}),s(),u(10,ti,3,0,"button",8),s(),I(11,1),u(12,ni,3,0,"button",9),s(),r(13,"div",10),u(14,ii,2,1,"p",11)(15,di,3,1,"mat-accordion",12)(16,pi,3,2,"div",13),s()(),J(17,mi,1,5,"ng-template",null,1,tt)),e&2&&(a(4),_(n.title),a(4),p("placeholder",n.searchPlaceholder)("ngModel",n.searchQuery()),a(2),f(n.isSearchActive()?10:-1),a(2),f(n.showCreate?12:-1),a(),V("max-width",n.contentMaxWidth),a(),f(n.filteredItems().length===0?14:n.hasGroups()?15:16))},dependencies:[Ht,me,ue,Pt,bt,Q,pe,on,nn,ke,Pe,tn,Dt,Et,It,St,$t,qt,ye,rt],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0}.entity-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;box-sizing:border-box}.entity-list__toolbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .1));height:56px;width:100%;box-sizing:border-box}.entity-list__title[_ngcontent-%COMP%]{flex:0 0 auto;margin:0;font-size:1rem;font-weight:600;color:var(--color-text, #1d1d1f);white-space:nowrap}.entity-list__search-field[_ngcontent-%COMP%]{margin-left:auto;padding-left:20px;flex:0 1 240px;min-width:80px;--mat-form-field-container-height: 36px;--mat-form-field-container-vertical-padding: 6px;font-size:.875rem;--mat-form-field-filled-with-label-container-padding-top: 0;--mdc-filled-text-field-container-color: transparent;--mdc-filled-text-field-hover-container-color: transparent;--mdc-filled-text-field-focus-container-color: transparent;--mdc-filled-text-field-active-indicator-color: transparent;--mdc-filled-text-field-hover-active-indicator-color: transparent;--mdc-filled-text-field-focus-active-indicator-color: transparent;--mdc-filled-text-field-active-indicator-height: 0}.entity-list__toolbar-btn[_ngcontent-%COMP%]{flex-shrink:0;color:var(--color-text-secondary, #6e6e73)}.entity-list__toolbar-btn[_ngcontent-%COMP%]:hover{color:var(--color-text, #1d1d1f)}.entity-list__toolbar-btn--primary[_ngcontent-%COMP%]{color:var(--color-primary, #007aff)}.entity-list__toolbar-btn--primary[_ngcontent-%COMP%]:hover{color:var(--color-primary-hover, #0051d5)}.entity-list__content[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;width:100%;max-width:900px;margin:0 auto;padding:.75rem 1rem;box-sizing:border-box}.entity-list__empty[_ngcontent-%COMP%]{margin:0;padding:2rem 0;text-align:center;color:var(--color-text-secondary, #6e6e73);font-size:.9375rem}.entity-list__panel[_ngcontent-%COMP%]{background:transparent;box-shadow:none!important}.entity-list__panel[_ngcontent-%COMP%] + .entity-list__panel[_ngcontent-%COMP%]{border-top:1px solid var(--color-border-light, rgba(40, 40, 40, .08))}.entity-list__panel-title[_ngcontent-%COMP%]{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary, #6e6e73)}.entity-list__grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-min-width, 260px),1fr));gap:.75rem;padding:.5rem 0}"]})};var ui=(t,i)=>i.id;function fi(t,i){if(t&1&&(T(0,"span",6),m(1),k()),t&2){let e=l().$implicit;a(),_(e.description)}}function hi(t,i){if(t&1){let e=S();T(0,"div",4),Ie("mousedown",function(){let o=v(e).$implicit,d=l(2);return C(d.selectItem(o))})("touchstart",function(){let o=v(e).$implicit,d=l(2);return C(d.selectItem(o))}),T(1,"span",5),m(2),k(),u(3,fi,2,1,"span",6),k()}if(t&2){let e=i.$implicit,n=i.$index,o=l(2);E("selected",n===o.selectedIndex),a(2),_(e.name),a(),f(e.description?3:-1)}}function gi(t,i){if(t&1&&(T(0,"div",2),w(1,hi,4,4,"div",3,ui),k()),t&2){let e=l();a(),M(e.items)}}var dn=class t{dataSource;placeholder="";disabled=!1;itemSelected=new g;elementRef=c(Y);destroyRef=c(K);query$=new H;query="";items=[];showDropdown=!1;selectedIndex=-1;ngOnInit(){this.query$.pipe(Ne(200),Ve(),Le(i=>{let e=i.trim();return e?this.dataSource.search(e):Fe([])}),G(this.destroyRef)).subscribe(i=>{this.items=i,this.selectedIndex=-1,this.showDropdown=i.length>0})}onInput(i){this.query=i.target.value,this.query$.next(this.query)}onFocus(){this.items.length>0&&(this.showDropdown=!0)}onBlur(){setTimeout(()=>this.closeDropdown(),150)}onKeydown(i){if(this.showDropdown)switch(i.key){case"ArrowDown":i.preventDefault(),this.selectedIndex=Math.min(this.selectedIndex+1,this.items.length-1),this.scrollSelectedIntoView();break;case"ArrowUp":i.preventDefault(),this.selectedIndex=Math.max(this.selectedIndex-1,0),this.scrollSelectedIntoView();break;case"Tab":i.preventDefault(),i.shiftKey?this.selectedIndex<=0?this.closeDropdown():(this.selectedIndex--,this.scrollSelectedIntoView()):this.selectedIndex>=this.items.length-1?this.closeDropdown():(this.selectedIndex++,this.scrollSelectedIntoView());break;case"Enter":i.preventDefault(),this.selectedIndex>=0&&this.selectedIndex<this.items.length&&this.selectItem(this.items[this.selectedIndex]);break;case"Escape":i.preventDefault(),this.closeDropdown();break}}selectItem(i){this.itemSelected.emit(i),this.query="",this.closeDropdown()}closeDropdown(){this.showDropdown=!1,this.selectedIndex=-1,this.items=[]}scrollSelectedIntoView(){setTimeout(()=>{this.elementRef.nativeElement.querySelector(".autocomplete-dropdown")?.querySelector(".autocomplete-option.selected")?.scrollIntoView({block:"nearest"})})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=b({type:t,selectors:[["ds-autocomplete-input"]],inputs:{dataSource:"dataSource",placeholder:"placeholder",disabled:"disabled"},outputs:{itemSelected:"itemSelected"},decls:3,vars:4,consts:[[1,"autocomplete-container"],["type","text",3,"input","keydown","focus","blur","placeholder","disabled","value"],[1,"autocomplete-dropdown"],[1,"autocomplete-option",3,"selected"],[1,"autocomplete-option",3,"mousedown","touchstart"],[1,"option-name"],[1,"option-description"]],template:function(e,n){e&1&&(T(0,"div",0)(1,"input",1),Ie("input",function(d){return n.onInput(d)})("keydown",function(d){return n.onKeydown(d)})("focus",function(){return n.onFocus()})("blur",function(){return n.onBlur()}),k(),u(2,gi,3,0,"div",2),k()),e&2&&(a(),Ye("placeholder",n.placeholder)("disabled",n.disabled)("value",n.query),a(),f(n.showDropdown&&n.items.length>0?2:-1))},styles:['@charset "UTF-8";.autocomplete-container[_ngcontent-%COMP%]{position:relative;display:block;width:100%}.autocomplete-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid var(--color-border, #e0e0e0);border-radius:6px;font-size:14px;line-height:1.5;color:var(--color-text, #1d1d1f);background:var(--glass-bg);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.autocomplete-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.autocomplete-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff);box-shadow:0 0 0 3px #007aff26}.autocomplete-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:disabled{opacity:.4;cursor:not-allowed}.autocomplete-dropdown[_ngcontent-%COMP%]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1000;background:var(--glass-bg);border:1px solid var(--color-border, #e0e0e0);border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-height:240px;overflow-y:auto;overflow-x:hidden}.autocomplete-option[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px;padding:10px 12px;cursor:pointer;transition:background .1s ease}.autocomplete-option[_ngcontent-%COMP%]:first-child{border-radius:8px 8px 0 0}.autocomplete-option[_ngcontent-%COMP%]:last-child{border-radius:0 0 8px 8px}.autocomplete-option[_ngcontent-%COMP%]:only-child{border-radius:8px}.autocomplete-option[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, #f5f5f5)}.autocomplete-option.selected[_ngcontent-%COMP%]{background:var(--color-bg-hover, #f5f5f5);outline:2px solid var(--color-primary, #007aff);outline-offset:-2px}.autocomplete-option[_ngcontent-%COMP%] .option-name[_ngcontent-%COMP%]{font-size:14px;font-weight:400;color:var(--color-text, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-option[_ngcontent-%COMP%] .option-description[_ngcontent-%COMP%]{font-size:12px;color:var(--color-text-secondary, #6e6e73);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}']})};var _i=(t,i)=>i.key;function bi(t,i){if(t&1&&(r(0,"mat-icon"),m(1),s()),t&2){let e=l().$implicit;a(),_(e.icon)}}function xi(t,i){if(t&1){let e=S();r(0,"button",3),h("click",function(){let o=v(e).$implicit,d=l();return C(d.onItemClick(o.key))}),u(1,bi,2,1,"mat-icon"),r(2,"span"),m(3),s()()}if(t&2){let e=i.$implicit;p("disabled",e.disabled??!1),x("data-variant",e.variant??"default"),a(),f(e.icon?1:-1),a(2),_(e.label)}}var ln=class t{items;itemSelected=new g;onItemClick(i){this.itemSelected.emit(i)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=b({type:t,selectors:[["ds-kebab-menu"]],inputs:{items:"items"},outputs:{itemSelected:"itemSelected"},decls:5,vars:1,consts:[["menu","matMenu"],["icon","more_vert","title","More actions",3,"matMenuTriggerFor"],["mat-menu-item","",3,"disabled"],["mat-menu-item","",3,"click","disabled"]],template:function(e,n){if(e&1&&(O(0,"ds-icon-button",1),r(1,"mat-menu",null,0),w(3,xi,4,4,"button",2,_i),s()),e&2){let o=X(2);p("matMenuTriggerFor",o),a(3),M(n.items)}},dependencies:[ge,Q,Mt,Ct,vt,wt],styles:["[_nghost-%COMP%]{display:inline-flex;align-items:center}"],changeDetection:0})};export{Wt as a,ge as b,be as c,dn as d,xe as e,ye as f,an as g,ln as h};
@@ -1 +1 @@
1
- import{a as E}from"./chunk-GAZJZBKP.js";import{b as w,d as M}from"./chunk-QWMDAFBN.js";import{b as k}from"./chunk-LR7LOR4R.js";import{a as I}from"./chunk-AJOXSD6I.js";import{Db as d,Jb as y,Ka as m,Kb as v,Lb as C,Ma as _,Rc as x,S as f,Tb as l,Wa as b,ca as n,ma as g,rb as p,sb as a,t as h,ta as c,tb as i}from"./chunk-3JGMGRXW.js";var H=["composerInput"],P=class u{http=n(x);router=n(M);route=n(w);config=n(E);destroyRef=n(g);composerInput;namespaceId=this.route.snapshot.params.namespaceId;inputValue=c("");isCreating=c(!1);constructor(){_(()=>{this.composerInput?.nativeElement.focus()})}get canSend(){return!!this.inputValue().trim()&&!this.isCreating()}onInput(t){this.inputValue.set(t.target.value)}onKeydown(t){t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),this.submit())}submit(){if(!this.canSend)return;let t=this.inputValue().trim();this.inputValue.set(""),this.isCreating.set(!0),this.http.post(`${this.config.basePath}/api/cases`,{namespaceId:this.namespaceId,metadata:{}}).pipe(f(e=>this.http.post(`${this.config.basePath}/api/cases/${e.id}/messages`,{content:t,userId:"default-user"}).pipe(h(()=>e))),I(this.destroyRef)).subscribe({next:e=>{this.router.navigate([e.id??""],{relativeTo:this.route})},error:e=>{console.error("[CaseHome] Failed to create case or send first message",e),this.isCreating.set(!1),this.inputValue.set(t)}})}static \u0275fac=function(e){return new(e||u)};static \u0275cmp=b({type:u,selectors:[["agentos-case-home"]],viewQuery:function(e,o){if(e&1&&y(H,5),e&2){let r;v(r=C())&&(o.composerInput=r.first)}},decls:11,vars:3,consts:[["composerInput",""],[1,"case-home"],[1,"case-home__hero"],[1,"case-home__headline"],[1,"case-home__composer"],["placeholder","Describe your task or ask a question\u2026","rows","4",1,"case-home__input",3,"input","keydown","value","disabled"],[1,"case-home__composer-footer"],[1,"case-home__hint"],["icon","send","variant","primary","title","Start case (Enter)",3,"action","disabled"]],template:function(e,o){e&1&&(a(0,"div",1)(1,"div",2)(2,"h1",3),l(3,"What can I help you with?"),i(),a(4,"div",4)(5,"textarea",5,0),d("input",function(s){return o.onInput(s)})("keydown",function(s){return o.onKeydown(s)}),i(),a(7,"div",6)(8,"span",7),l(9,"Enter to send\xA0\xA0\xB7\xA0\xA0Shift+Enter for new line"),i(),a(10,"ds-icon-button",8),d("action",function(){return o.submit()}),i()()()()()),e&2&&(m(5),p("value",o.inputValue())("disabled",o.isCreating()),m(5),p("disabled",!o.canSend))},dependencies:[k],styles:[".case-home[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center}.case-home__hero[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem 1.5rem 4rem;max-width:680px;width:100%}.case-home__headline[_ngcontent-%COMP%]{margin:0;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;letter-spacing:-.03em;color:var(--color-text, #1d1d1f);text-align:center}.case-home__composer[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:column;background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));backdrop-filter:var(--glass-backdrop-blur, blur(20px));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));border-radius:16px;box-shadow:0 4px 24px #00000012;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}.case-home__composer[_ngcontent-%COMP%]:focus-within{box-shadow:0 4px 32px #007aff26;border-color:var(--color-primary, #007aff)}.case-home__input[_ngcontent-%COMP%]{width:100%;resize:none;padding:1rem 1.25rem .5rem;border:none;background:transparent;color:var(--color-text, #1d1d1f);font-size:1rem;font-family:inherit;line-height:1.6;outline:none;box-sizing:border-box}.case-home__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.case-home__input[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.case-home__composer-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:.5rem .5rem .5rem 1.25rem}.case-home__hint[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary, #6e6e73);opacity:.7}"]})};export{P as a};
1
+ import{a as E}from"./chunk-GAZJZBKP.js";import{b as w,d as M}from"./chunk-QWMDAFBN.js";import{b as k}from"./chunk-7A54VTP2.js";import{a as I}from"./chunk-AJOXSD6I.js";import{Db as d,Jb as y,Ka as m,Kb as v,Lb as C,Ma as _,Rc as x,S as f,Tb as l,Wa as b,ca as n,ma as g,rb as p,sb as a,t as h,ta as c,tb as i}from"./chunk-3JGMGRXW.js";var H=["composerInput"],P=class u{http=n(x);router=n(M);route=n(w);config=n(E);destroyRef=n(g);composerInput;namespaceId=this.route.snapshot.params.namespaceId;inputValue=c("");isCreating=c(!1);constructor(){_(()=>{this.composerInput?.nativeElement.focus()})}get canSend(){return!!this.inputValue().trim()&&!this.isCreating()}onInput(t){this.inputValue.set(t.target.value)}onKeydown(t){t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),this.submit())}submit(){if(!this.canSend)return;let t=this.inputValue().trim();this.inputValue.set(""),this.isCreating.set(!0),this.http.post(`${this.config.basePath}/api/cases`,{namespaceId:this.namespaceId,metadata:{}}).pipe(f(e=>this.http.post(`${this.config.basePath}/api/cases/${e.id}/messages`,{content:t,userId:"default-user"}).pipe(h(()=>e))),I(this.destroyRef)).subscribe({next:e=>{this.router.navigate([e.id??""],{relativeTo:this.route})},error:e=>{console.error("[CaseHome] Failed to create case or send first message",e),this.isCreating.set(!1),this.inputValue.set(t)}})}static \u0275fac=function(e){return new(e||u)};static \u0275cmp=b({type:u,selectors:[["agentos-case-home"]],viewQuery:function(e,o){if(e&1&&y(H,5),e&2){let r;v(r=C())&&(o.composerInput=r.first)}},decls:11,vars:3,consts:[["composerInput",""],[1,"case-home"],[1,"case-home__hero"],[1,"case-home__headline"],[1,"case-home__composer"],["placeholder","Describe your task or ask a question\u2026","rows","4",1,"case-home__input",3,"input","keydown","value","disabled"],[1,"case-home__composer-footer"],[1,"case-home__hint"],["icon","send","variant","primary","title","Start case (Enter)",3,"action","disabled"]],template:function(e,o){e&1&&(a(0,"div",1)(1,"div",2)(2,"h1",3),l(3,"What can I help you with?"),i(),a(4,"div",4)(5,"textarea",5,0),d("input",function(s){return o.onInput(s)})("keydown",function(s){return o.onKeydown(s)}),i(),a(7,"div",6)(8,"span",7),l(9,"Enter to send\xA0\xA0\xB7\xA0\xA0Shift+Enter for new line"),i(),a(10,"ds-icon-button",8),d("action",function(){return o.submit()}),i()()()()()),e&2&&(m(5),p("value",o.inputValue())("disabled",o.isCreating()),m(5),p("disabled",!o.canSend))},dependencies:[k],styles:[".case-home[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center}.case-home__hero[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem 1.5rem 4rem;max-width:680px;width:100%}.case-home__headline[_ngcontent-%COMP%]{margin:0;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;letter-spacing:-.03em;color:var(--color-text, #1d1d1f);text-align:center}.case-home__composer[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:column;background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));backdrop-filter:var(--glass-backdrop-blur, blur(20px));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));border-radius:16px;box-shadow:0 4px 24px #00000012;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}.case-home__composer[_ngcontent-%COMP%]:focus-within{box-shadow:0 4px 32px #007aff26;border-color:var(--color-primary, #007aff)}.case-home__input[_ngcontent-%COMP%]{width:100%;resize:none;padding:1rem 1.25rem .5rem;border:none;background:transparent;color:var(--color-text, #1d1d1f);font-size:1rem;font-family:inherit;line-height:1.6;outline:none;box-sizing:border-box}.case-home__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.case-home__input[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.case-home__composer-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:.5rem .5rem .5rem 1.25rem}.case-home__hint[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary, #6e6e73);opacity:.7}"]})};export{P as a};
@@ -0,0 +1,2 @@
1
+ import{o as K}from"./chunk-AK6F2DC7.js";import{a as Y,d as J}from"./chunk-XJUBZLY2.js";import{E as H,K as Q,M as Z,N as $,h as N,i as B,t as U}from"./chunk-B2QA6UZX.js";import{$b as F,Cb as T,Db as _,Gb as E,Hb as M,Jb as L,Ka as m,Kb as A,Lb as O,Pb as P,Rb as v,Rc as G,Sb as q,V as u,Wa as x,Xa as R,Y as w,Z as f,_ as y,aa as k,ca as c,ia as I,jb as g,lb as D,mb as S,mc as V,oa as p,rb as h,sb as s,sc as j,tb as l,tc as r,ub as n,uc as X,va as C,ya as z}from"./chunk-3JGMGRXW.js";var ae=["switch"],ie=["*"];function ce(a,d){a&1&&(s(0,"span",11),I(),s(1,"svg",13),n(2,"path",14),l(),s(3,"svg",15),n(4,"path",16),l()())}var se=new k("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1,disabledInteractive:!1})}),b=class{source;checked;constructor(d,e){this.source=d,this.checked=e}},de=(()=>{class a{_elementRef=c(z);_focusMonitor=c(N);_changeDetectorRef=c(j);defaults=c(se);_onChange=e=>{};_onTouched=()=>{};_validatorOnChange=()=>{};_uniqueId;_checked=!1;_createChangeEvent(e){return new b(this,e)}_labelId;get buttonId(){return`${this.id||this._uniqueId}-button`}_switchElement;focus(){this._switchElement.nativeElement.focus()}_noopAnimations=Q();_focused=!1;name=null;id;labelPosition="after";ariaLabel=null;ariaLabelledby=null;ariaDescribedby;required=!1;color;disabled=!1;disableRipple=!1;tabIndex=0;get checked(){return this._checked}set checked(e){this._checked=e,this._changeDetectorRef.markForCheck()}hideIcon;disabledInteractive;change=new p;toggleChange=new p;get inputId(){return`${this.id||this._uniqueId}-input`}constructor(){c(B).load($);let e=c(new V("tabindex"),{optional:!0}),i=this.defaults;this.tabIndex=e==null?0:parseInt(e)||0,this.color=i.color||"accent",this.id=this._uniqueId=c(U).getId("mat-mdc-slide-toggle-"),this.hideIcon=i.hideIcon??!1,this.disabledInteractive=i.disabledInteractive??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{e==="keyboard"||e==="program"?(this._focused=!0,this._changeDetectorRef.markForCheck()):e||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(e){e.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(e){this.checked=!!e}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}validate(e){return this.required&&e.value!==!0?{required:!0}:null}registerOnValidatorChange(e){this._validatorOnChange=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.disabled||(this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new b(this,this.checked))))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=x({type:a,selectors:[["mat-slide-toggle"]],viewQuery:function(i,t){if(i&1&&L(ae,5),i&2){let o;A(o=O())&&(t._switchElement=o.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(i,t){i&2&&(T("id",t.id),g("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),q(t.color?"mat-"+t.color:""),v("mat-mdc-slide-toggle-focused",t._focused)("mat-mdc-slide-toggle-checked",t.checked)("_mat-animation-noopable",t._noopAnimations))},inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],required:[2,"required","required",r],color:"color",disabled:[2,"disabled","disabled",r],disableRipple:[2,"disableRipple","disableRipple",r],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:X(e)],checked:[2,"checked","checked",r],hideIcon:[2,"hideIcon","hideIcon",r],disabledInteractive:[2,"disabledInteractive","disabledInteractive",r]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[F([{provide:Y,useExisting:w(()=>a),multi:!0},{provide:J,useExisting:a,multi:!0}]),C],ngContentSelectors:ie,decls:14,vars:27,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mat-mdc-slide-toggle-touch-target"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(i,t){if(i&1&&(E(),s(0,"div",1)(1,"button",2,0),_("click",function(){return t._handleClick()}),n(3,"div",3)(4,"span",4),s(5,"span",5)(6,"span",6)(7,"span",7),n(8,"span",8),l(),s(9,"span",9),n(10,"span",10),l(),D(11,ce,5,0,"span",11),l()()(),s(12,"label",12),_("click",function(ee){return ee.stopPropagation()}),M(13),l()()),i&2){let o=P(2);h("labelPosition",t.labelPosition),m(),v("mdc-switch--selected",t.checked)("mdc-switch--unselected",!t.checked)("mdc-switch--checked",t.checked)("mdc-switch--disabled",t.disabled)("mat-mdc-slide-toggle-disabled-interactive",t.disabledInteractive),h("tabIndex",t.disabled&&!t.disabledInteractive?-1:t.tabIndex)("disabled",t.disabled&&!t.disabledInteractive),g("id",t.buttonId)("name",t.name)("aria-label",t.ariaLabel)("aria-labelledby",t._getAriaLabelledBy())("aria-describedby",t.ariaDescribedby)("aria-required",t.required||null)("aria-checked",t.checked)("aria-disabled",t.disabled&&t.disabledInteractive?"true":null),m(9),h("matRippleTrigger",o)("matRippleDisabled",t.disableRipple||t.disabled)("matRippleCentered",!0),m(),S(t.hideIcon?-1:11),m(),h("for",t.buttonId),g("id",t._labelId)}},dependencies:[Z,K],styles:[`.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative;width:var(--mat-slide-toggle-track-width, 52px)}.mdc-switch.mdc-switch--disabled{cursor:default;pointer-events:none}.mdc-switch.mat-mdc-slide-toggle-disabled-interactive{pointer-events:auto}.mdc-switch__track{overflow:hidden;position:relative;width:100%;height:var(--mat-slide-toggle-track-height, 32px);border-radius:var(--mat-slide-toggle-track-shape, var(--mat-sys-corner-full))}.mdc-switch--disabled.mdc-switch .mdc-switch__track{opacity:var(--mat-slide-toggle-disabled-track-opacity, 0.12)}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%;border-width:var(--mat-slide-toggle-track-outline-width, 2px);border-color:var(--mat-slide-toggle-track-outline-color, var(--mat-sys-outline))}.mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track::after{border-width:var(--mat-slide-toggle-selected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-selected-track-outline-color, transparent)}.mdc-switch--disabled .mdc-switch__track::before,.mdc-switch--disabled .mdc-switch__track::after{border-width:var(--mat-slide-toggle-disabled-unselected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-disabled-unselected-track-outline-color, var(--mat-sys-on-surface))}@media(forced-colors: active){.mdc-switch__track{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0);background:var(--mat-slide-toggle-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch--selected .mdc-switch__track::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-hover-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-focus-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-pressed-track-color, var(--mat-sys-surface-variant))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::before,.mdc-switch.mdc-switch--disabled .mdc-switch__track::before{background:var(--mat-slide-toggle-disabled-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch__track::after{transform:translateX(-100%);background:var(--mat-slide-toggle-selected-track-color, var(--mat-sys-primary))}[dir=rtl] .mdc-switch__track::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::after{transform:translateX(0)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-hover-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-focus-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-pressed-track-color, var(--mat-sys-primary))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::after,.mdc-switch.mdc-switch--disabled .mdc-switch__track::after{background:var(--mat-slide-toggle-disabled-selected-track-color, var(--mat-sys-on-surface))}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0);width:calc(100% - var(--mat-slide-toggle-handle-width))}[dir=rtl] .mdc-switch__handle-track{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto;transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1);width:var(--mat-slide-toggle-handle-width);height:var(--mat-slide-toggle-handle-height);border-radius:var(--mat-slide-toggle-handle-shape, var(--mat-sys-corner-full))}[dir=rtl] .mdc-switch__handle{left:auto;right:0}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-slide-toggle-unselected-handle-size, 16px);height:var(--mat-slide-toggle-unselected-handle-size, 16px);margin:var(--mat-slide-toggle-unselected-handle-horizontal-margin, 0 8px)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-unselected-with-icon-handle-horizontal-margin, 0 4px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-slide-toggle-selected-handle-size, 24px);height:var(--mat-slide-toggle-selected-handle-size, 24px);margin:var(--mat-slide-toggle-selected-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-selected-with-icon-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-slide-toggle-with-icon-handle-size, 24px);height:var(--mat-slide-toggle-with-icon-handle-size, 24px)}.mat-mdc-slide-toggle .mdc-switch:active:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-slide-toggle-pressed-handle-size, 28px);height:var(--mat-slide-toggle-pressed-handle-size, 28px)}.mat-mdc-slide-toggle .mdc-switch--selected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-selected-pressed-handle-horizontal-margin, 0 22px)}.mat-mdc-slide-toggle .mdc-switch--unselected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-unselected-pressed-handle-horizontal-margin, 0 2px)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-selected-handle-opacity, 1)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-unselected-handle-opacity, 0.38)}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media(forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-handle-color, var(--mat-sys-on-primary))}.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-hover-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-focus-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-pressed-handle-color, var(--mat-sys-primary-container))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:hover:not(:focus):not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:focus:not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:active .mdc-switch__handle::after,.mdc-switch--selected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-selected-handle-color, var(--mat-sys-surface))}.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-handle-color, var(--mat-sys-outline))}.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-hover-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-focus-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-pressed-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-unselected-handle-color, var(--mat-sys-on-surface))}.mdc-switch__handle::before{background:var(--mat-slide-toggle-handle-surface-color)}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-handle-elevation-shadow)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__shadow,.mdc-switch.mdc-switch--disabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-disabled-handle-elevation-shadow)}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1;width:var(--mat-slide-toggle-state-layer-size, 40px);height:var(--mat-slide-toggle-state-layer-size, 40px)}.mdc-switch__ripple::after{content:"";opacity:0}.mdc-switch--disabled .mdc-switch__ripple::after{display:none}.mat-mdc-slide-toggle-disabled-interactive .mdc-switch__ripple::after{display:block}.mdc-switch:hover .mdc-switch__ripple::after{transition:75ms opacity cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:focus .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:active .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:hover:not(:focus) .mdc-switch__ripple::after,.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-hover-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-focus-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-pressed-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-hover-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-focus-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-pressed-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch__icons{position:relative;height:100%;width:100%;z-index:1;transform:translateZ(0)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-unselected-icon-opacity, 0.38)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-selected-icon-opacity, 0.38)}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--unselected .mdc-switch__icon{width:var(--mat-slide-toggle-unselected-icon-size, 16px);height:var(--mat-slide-toggle-unselected-icon-size, 16px);fill:var(--mat-slide-toggle-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__icon{width:var(--mat-slide-toggle-selected-icon-size, 16px);height:var(--mat-slide-toggle-selected-icon-size, 16px);fill:var(--mat-slide-toggle-selected-icon-color, var(--mat-sys-on-primary-container))}.mdc-switch--selected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-selected-icon-color, var(--mat-sys-on-surface))}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle{-webkit-user-select:none;user-select:none;display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-internal-form-field{color:var(--mat-slide-toggle-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-slide-toggle-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-slide-toggle-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-slide-toggle-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-slide-toggle-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-slide-toggle-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mat-slide-toggle-disabled-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-slide-toggle label:empty{display:none}.mat-mdc-slide-toggle-touch-target{position:absolute;top:50%;left:50%;height:var(--mat-slide-toggle-touch-target-size, 48px);width:100%;transform:translate(-50%, -50%);display:var(--mat-slide-toggle-touch-target-display, block)}[dir=rtl] .mat-mdc-slide-toggle-touch-target{left:auto;right:50%;transform:translate(50%, -50%)}
2
+ `],encapsulation:2,changeDetection:0})}return a})(),Ie=(()=>{class a{static \u0275fac=function(i){return new(i||a)};static \u0275mod=R({type:a});static \u0275inj=y({imports:[de,H]})}return a})();var W=class a{http=c(G);getUserConfig(){return this.http.get("/api/config/user").pipe(u(d=>console.log("[CONFIG-API] User config retrieved:",d)))}updateUserConfig(d){return this.http.put("/api/config/user",d).pipe(u(e=>console.log("[CONFIG-API] User config updated:",e)))}static \u0275fac=function(e){return new(e||a)};static \u0275prov=f({token:a,factory:a.\u0275fac,providedIn:"root"})};export{de as a,Ie as b,W as c};
@@ -1 +1 @@
1
- import{a as L}from"./chunk-IFXDK4GQ.js";import{d as T}from"./chunk-QWMDAFBN.js";import{b as q,g as E,m as D}from"./chunk-LR7LOR4R.js";import{a as U}from"./chunk-AJOXSD6I.js";import{Bb as w,Db as a,Fb as m,Ka as d,Pb as R,Tb as C,Ub as h,Wa as c,ab as I,ca as p,ga as y,ha as b,hc as M,kc as S,lb as _,ma as x,mb as f,oa as v,rb as u,sb as r,tb as o}from"./chunk-3JGMGRXW.js";function O(i,e){if(i&1&&(r(0,"span",3),C(1),o()),i&2){let t=m();d(),h(t.subtitle)}}var g=class i{user;editRequested=new v;deleteRequested=new v;menuItems=[{key:"edit",label:"Edit user",icon:"edit"},{key:"delete",label:"Delete user",icon:"delete",variant:"danger"}];get displayName(){let{firstname:e,lastname:t,email:n}=this.user;return[e,t].filter(Boolean).join(" ")||n||"\u2014"}get subtitle(){return this.user.email??this.user.externalId??""}onMenuAction(e){switch(e){case"edit":this.editRequested.emit(this.user);break;case"delete":confirm(`Delete user "${this.displayName}"?`)&&this.deleteRequested.emit(this.user);break}}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=c({type:i,selectors:[["agentos-user-item"]],inputs:{user:"user"},outputs:{editRequested:"editRequested",deleteRequested:"deleteRequested"},decls:7,vars:3,consts:[["role","listitem",1,"user-item"],[1,"user-item__body"],[1,"user-item__name"],[1,"user-item__subtitle"],[1,"user-item__actions"],[3,"itemSelected","items"]],template:function(t,n){t&1&&(r(0,"div",0)(1,"div",1)(2,"span",2),C(3),o(),_(4,O,2,1,"span",3),o(),r(5,"div",4)(6,"ds-kebab-menu",5),a("itemSelected",function(l){return n.onMenuAction(l)}),o()()()),t&2&&(d(3),h(n.displayName),d(),f(n.subtitle?4:-1),d(2),u("items",n.menuItems))},dependencies:[D],styles:[".user-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;width:100%;padding:1rem 1.25rem;background:var(--color-bg-secondary, rgba(255, 255, 255, .7));border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:12px;box-sizing:border-box;overflow:hidden;position:relative}.user-item__body[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.user-item__name[_ngcontent-%COMP%]{font-size:.9375rem;font-weight:600;color:var(--color-text, #1d1d1f);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-item__subtitle[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--color-text-secondary, #6e6e73);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-item__actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;flex-shrink:0}"],changeDetection:0})};function B(i,e){if(i&1){let t=w();r(0,"agentos-user-item",4),a("editRequested",function(s){y(t);let l=m(2);return b(l.navigateToEdit(s))})("deleteRequested",function(s){y(t);let l=m(2);return b(l.deleteUser(s))}),o()}i&2&&u("user",e)}function P(i,e){if(i&1&&_(0,B,1,1,"agentos-user-item",3),i&2){let t,n=e.$implicit,s=m();f((t=s.resolveUser(n.id))?0:-1,t)}}var k=class i{router=p(T);destroyRef=p(x);userAdminState=p(L);isLoading=this.userAdminState.isLoading;userItems=S(()=>this.userAdminState.users().map(e=>({id:e.id??"",name:[e.firstname,e.lastname].filter(Boolean).join(" ")||e.email||"\u2014",description:e.email})));get usersById(){return new Map(this.userAdminState.users().map(e=>[e.id??"",e]))}ngOnInit(){this.userAdminState.loadAll().pipe(U(this.destroyRef)).subscribe()}goBack(){this.router.navigate(["/agentos"])}navigateToCreate(){this.router.navigate(["/agentos/admin/users/new"])}navigateToEdit(e){this.router.navigate(["/agentos/admin/users",e.id??"","edit"])}deleteUser(e){this.userAdminState.deleteUser(e.id??"").pipe(U(this.destroyRef)).subscribe()}resolveUser(e){return this.usersById.get(e)??null}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=c({type:i,selectors:[["agentos-user-list"]],decls:4,vars:3,consts:[["userItemTpl",""],["title","Users","emptyMessage","No users found.","cardMinWidth","320px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[3,"user"],[3,"editRequested","deleteRequested","user"]],template:function(t,n){if(t&1&&(r(0,"ds-entity-list",1),a("createRequested",function(){return n.navigateToCreate()}),r(1,"ds-icon-button",2),a("action",function(){return n.goBack()}),o()(),I(2,P,1,1,"ng-template",null,0,M)),t&2){let s=R(3);u("items",n.userItems())("showCreate",!0)("itemTemplate",s)}},dependencies:[E,g,q],encapsulation:2,changeDetection:0})};export{g as a,k as b};
1
+ import{a as L}from"./chunk-IFXDK4GQ.js";import{d as T}from"./chunk-QWMDAFBN.js";import{b as q,g as E,h as D}from"./chunk-7A54VTP2.js";import{a as U}from"./chunk-AJOXSD6I.js";import{Bb as w,Db as a,Fb as m,Ka as d,Pb as R,Tb as C,Ub as h,Wa as c,ab as I,ca as p,ga as y,ha as b,hc as M,kc as S,lb as _,ma as x,mb as f,oa as v,rb as u,sb as r,tb as o}from"./chunk-3JGMGRXW.js";function O(i,e){if(i&1&&(r(0,"span",3),C(1),o()),i&2){let t=m();d(),h(t.subtitle)}}var g=class i{user;editRequested=new v;deleteRequested=new v;menuItems=[{key:"edit",label:"Edit user",icon:"edit"},{key:"delete",label:"Delete user",icon:"delete",variant:"danger"}];get displayName(){let{firstname:e,lastname:t,email:n}=this.user;return[e,t].filter(Boolean).join(" ")||n||"\u2014"}get subtitle(){return this.user.email??this.user.externalId??""}onMenuAction(e){switch(e){case"edit":this.editRequested.emit(this.user);break;case"delete":confirm(`Delete user "${this.displayName}"?`)&&this.deleteRequested.emit(this.user);break}}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=c({type:i,selectors:[["agentos-user-item"]],inputs:{user:"user"},outputs:{editRequested:"editRequested",deleteRequested:"deleteRequested"},decls:7,vars:3,consts:[["role","listitem",1,"user-item"],[1,"user-item__body"],[1,"user-item__name"],[1,"user-item__subtitle"],[1,"user-item__actions"],[3,"itemSelected","items"]],template:function(t,n){t&1&&(r(0,"div",0)(1,"div",1)(2,"span",2),C(3),o(),_(4,O,2,1,"span",3),o(),r(5,"div",4)(6,"ds-kebab-menu",5),a("itemSelected",function(l){return n.onMenuAction(l)}),o()()()),t&2&&(d(3),h(n.displayName),d(),f(n.subtitle?4:-1),d(2),u("items",n.menuItems))},dependencies:[D],styles:[".user-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;width:100%;padding:1rem 1.25rem;background:var(--color-bg-secondary, rgba(255, 255, 255, .7));border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:12px;box-sizing:border-box;overflow:hidden;position:relative}.user-item__body[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.user-item__name[_ngcontent-%COMP%]{font-size:.9375rem;font-weight:600;color:var(--color-text, #1d1d1f);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-item__subtitle[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--color-text-secondary, #6e6e73);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-item__actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;flex-shrink:0}"],changeDetection:0})};function B(i,e){if(i&1){let t=w();r(0,"agentos-user-item",4),a("editRequested",function(s){y(t);let l=m(2);return b(l.navigateToEdit(s))})("deleteRequested",function(s){y(t);let l=m(2);return b(l.deleteUser(s))}),o()}i&2&&u("user",e)}function P(i,e){if(i&1&&_(0,B,1,1,"agentos-user-item",3),i&2){let t,n=e.$implicit,s=m();f((t=s.resolveUser(n.id))?0:-1,t)}}var k=class i{router=p(T);destroyRef=p(x);userAdminState=p(L);isLoading=this.userAdminState.isLoading;userItems=S(()=>this.userAdminState.users().map(e=>({id:e.id??"",name:[e.firstname,e.lastname].filter(Boolean).join(" ")||e.email||"\u2014",description:e.email})));get usersById(){return new Map(this.userAdminState.users().map(e=>[e.id??"",e]))}ngOnInit(){this.userAdminState.loadAll().pipe(U(this.destroyRef)).subscribe()}goBack(){this.router.navigate(["/agentos"])}navigateToCreate(){this.router.navigate(["/agentos/admin/users/new"])}navigateToEdit(e){this.router.navigate(["/agentos/admin/users",e.id??"","edit"])}deleteUser(e){this.userAdminState.deleteUser(e.id??"").pipe(U(this.destroyRef)).subscribe()}resolveUser(e){return this.usersById.get(e)??null}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=c({type:i,selectors:[["agentos-user-list"]],decls:4,vars:3,consts:[["userItemTpl",""],["title","Users","emptyMessage","No users found.","cardMinWidth","320px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[3,"user"],[3,"editRequested","deleteRequested","user"]],template:function(t,n){if(t&1&&(r(0,"ds-entity-list",1),a("createRequested",function(){return n.navigateToCreate()}),r(1,"ds-icon-button",2),a("action",function(){return n.goBack()}),o()(),I(2,P,1,1,"ng-template",null,0,M)),t&2){let s=R(3);u("items",n.userItems())("showCreate",!0)("itemTemplate",s)}},dependencies:[E,g,q],encapsulation:2,changeDetection:0})};export{g as a,k as b};
@@ -1 +1 @@
1
- import{a as K}from"./chunk-GAZJZBKP.js";import{b as H}from"./chunk-QWMDAFBN.js";import{b as Y}from"./chunk-LR7LOR4R.js";import{a as Q}from"./chunk-AJOXSD6I.js";import{Bb as E,Db as f,Fb as d,Jb as B,Ka as l,Kb as M,Lb as O,Ma as D,Rb as I,Rc as $,Tb as p,Ub as C,Wa as F,ca as y,ga as T,ha as S,jb as q,kc as P,lb as g,ma as N,mb as h,pa as A,pb as L,qb as V,rb as k,sb as i,ta as v,tb as s,ua as w,ub as z}from"./chunk-3JGMGRXW.js";var U=["composerInput"],J=["messagesContainer"],Z=(o,e)=>e.kind==="message"?e.event.id:e.kind==="tool"?e.call.requestId:"streaming";function W(o,e){o&1&&(i(0,"div",4)(1,"p"),p(2,"No messages yet."),s()())}function X(o,e){if(o&1&&(i(0,"div",16)(1,"span",17),p(2),s(),i(3,"p",18),p(4),s()()),o&2){let t=d().$implicit,n=d(2);I("case-chat__message--user",t.event.actor.role==="USER")("case-chat__message--agent",t.event.actor.role==="AGENT"),l(2),C(t.event.actor.displayName),l(2),C(n.extractText(t.event))}}function ee(o,e){if(o&1&&(i(0,"div",14)(1,"span",17),p(2),s(),i(3,"p",18),p(4),s()()),o&2){let t=d().$implicit,n=d(2);l(2),C(n.agentDisplayName()),l(2),C(t.text)}}function te(o,e){o&1&&p(0," \u23F3 ")}function ne(o,e){o&1&&p(0," \u2705 ")}function oe(o,e){o&1&&p(0," \u274C ")}function ae(o,e){if(o&1&&(i(0,"div",25)(1,"span",26),p(2,"Payload"),s(),i(3,"pre"),p(4),s()()),o&2){let t=d(3).$implicit;l(4),C(t.call.args)}}function ie(o,e){o&1&&(i(0,"pre"),p(1),s()),o&2&&(l(),C(e))}function se(o,e){o&1&&(i(0,"span",27),p(1,"Running\u2026"),s())}function re(o,e){o&1&&(i(0,"span",28),p(1,"No output"),s())}function le(o,e){if(o&1&&(i(0,"div",24),g(1,ae,5,1,"div",25),i(2,"div",25)(3,"span",26),p(4,"Output"),s(),g(5,ie,2,1,"pre")(6,se,2,0,"span",27)(7,re,2,0,"span",28),s()()),o&2){let t,n=d(2).$implicit,a=d(2);l(),h(n.call.args?1:-1),l(4),h((t=a.extractToolOutput(n.call))?5:n.call.response?7:6,t)}}function ce(o,e){if(o&1){let t=E();i(0,"div",19)(1,"button",20),f("click",function(){T(t);let a=d().$implicit,_=d(2);return S(_.toggleToolCall(a.call.requestId))}),i(2,"span",21),g(3,te,1,0)(4,ne,1,0)(5,oe,1,0),s(),i(6,"span",22),p(7),s(),i(8,"span",23),p(9),s()(),g(10,le,8,2,"div",24),s()}if(o&2){let t=d().$implicit,n=d(2);I("case-chat__tool-call--pending",!t.call.response)("case-chat__tool-call--success",(t.call.response==null?null:t.call.response.success)===!0)("case-chat__tool-call--error",(t.call.response==null?null:t.call.response.success)===!1),l(),q("aria-expanded",n.isToolCallExpanded(t.call.requestId)),l(2),h(t.call.response?t.call.response.success?4:5:3),l(4),C(t.call.toolName),l(2),C(n.isToolCallExpanded(t.call.requestId)?"\u25BC":"\u25B6"),l(),h(n.isToolCallExpanded(t.call.requestId)?10:-1)}}function de(o,e){if(o&1&&g(0,X,5,6,"div",13)(1,ee,5,2,"div",14)(2,ce,11,11,"div",15),o&2){let t=e.$implicit;h(t.kind==="message"?0:t.kind==="streaming"?1:2)}}function pe(o,e){if(o&1&&L(0,de,3,1,null,null,Z),o&2){let t=d();V(t.timeline())}}function me(o,e){o&1&&(i(0,"div",5),z(1,"span",29)(2,"span",29)(3,"span",29),s())}function _e(o,e){if(o&1){let t=E();i(0,"div",6)(1,"ds-icon-button",30),f("action",function(){T(t);let a=d();return S(a.onScrollToBottomClick())}),s()()}}function ue(o,e){if(o&1){let t=E();i(0,"ds-icon-button",31),f("action",function(){T(t);let a=d();return S(a.interrupt())}),s()}}function ge(o,e){if(o&1){let t=E();i(0,"ds-icon-button",32),f("action",function(){T(t);let a=d();return S(a.submit())}),s()}if(o&2){let t=d();k("disabled",!t.canSend)}}var he=64,j=class o{route=y(H);http=y($);zone=y(A);destroyRef=y(N);config=y(K);caseId=this.route.snapshot.params.caseId;namespaceId=this.route.snapshot.params.namespaceId;agentDisplayName=P(()=>{let e=this.events();for(let t=e.length-1;t>=0;t--){let n=e[t];if(n){if(n.type==="AgentRunningEvent"||n.type==="AgentSelectedEvent"||n.type==="AgentFinishedEvent"){let a=n.agentName;if(a&&a.trim().length>0)return a}if(n.type==="MessageEvent"){let a=n;if(a.actor?.role==="AGENT"&&a.actor.displayName)return a.actor.displayName}}}return"Assistant"});eventSource=null;composerInput;messagesContainer;events=v([]);inputValue=v("");isRunning=v(!1);isTerminal=v(!1);streamingText=v("");collapsedTools=v(new Set);isAtBottom=v(!0);scrollListenerCleanup=null;constructor(){w(()=>{this.isRunning()||this.isTerminal()||queueMicrotask(()=>this.composerInput?.nativeElement.focus())}),w(()=>{this.timeline(),this.streamingText(),this.isAtBottom()&&queueMicrotask(()=>this.scrollToBottom())}),D(()=>{this.attachScrollListener()})}timeline=P(()=>{let e=this.events(),t=this.streamingText(),n=new Map;for(let c of e)if(c.type==="ToolRequestEvent"){let m=c,r=m.toolRequestId??c.id,x=n.get(r);n.set(r,{requestId:r,toolName:m.toolName??"unknown",args:m.args??null,response:x?.response})}else if(c.type==="ToolResponseEvent"){let m=c,r=m.toolRequestId??c.id,x=n.get(r);n.set(r,{requestId:r,toolName:x?.toolName??m.toolName??"unknown",args:x?.args??null,response:m})}let a=[],_=new Set;for(let c of e)if(c.type==="MessageEvent")a.push({kind:"message",event:c});else if(c.type==="ToolRequestEvent"||c.type==="ToolResponseEvent"){let r=c.toolRequestId??c.id;_.has(r)||(_.add(r),a.push({kind:"tool",call:n.get(r)}))}return t.trim().length>0&&a.push({kind:"streaming",text:t}),a});get canSend(){return!!this.inputValue().trim()&&!this.isRunning()&&!this.isTerminal()}ngOnInit(){this.connectSse(),this.route.params.pipe(Q(this.destroyRef)).subscribe(e=>{let t=e.caseId;t&&t!==this.caseId&&(this.caseId=t,this.reinitialise())})}ngOnDestroy(){this.eventSource?.close(),this.scrollListenerCleanup?.()}attachScrollListener(){let e=this.messagesContainer?.nativeElement;if(!e)return;let t=()=>{let n=e.scrollHeight-e.scrollTop-e.clientHeight;this.isAtBottom.set(n<=he)};e.addEventListener("scroll",t,{passive:!0}),this.scrollListenerCleanup=()=>e.removeEventListener("scroll",t)}scrollToBottom(){let e=this.messagesContainer?.nativeElement;e&&(e.scrollTop=e.scrollHeight)}onScrollToBottomClick(){this.isAtBottom.set(!0),this.scrollToBottom()}connectSse(){let e=`${this.config.basePath}/api/cases/${this.caseId}/events`;console.log("[AgentOS SSE] connecting",{url:e,basePath:this.config.basePath,caseId:this.caseId,namespaceId:this.namespaceId,now:new Date().toISOString()}),this.eventSource=this.zone.runOutsideAngular(()=>new EventSource(e));let t=a=>{let _=performance.now(),c=a.type,m=a.data;console.log("[AgentOS SSE] frame received",{sseEventName:c,dataLength:m?.length??0,dataPreview:m?.slice(0,120),receivedAtMs:_});try{let r=JSON.parse(m);this.zone.run(()=>{let x=this.events().length;this.events.update(u=>u.some(b=>b.id===r.id)?u:[...u,r]);let G=this.events().length;if(console.log("[AgentOS SSE] event processed",{sseEventName:c,eventType:r.type,eventId:r.id,beforeLen:x,afterLen:G,running:this.isRunning(),terminal:this.isTerminal()}),r.type==="TextChunkEvent"){let u=r.chunk;u&&this.streamingText.update(b=>b+u);return}if(r.type==="CaseStatusEvent"){let u=r.status,b=u==="KILLED"||u==="ERROR";if(this.isTerminal.set(b),b)this.isRunning.set(!1),this.eventSource?.close(),this.eventSource=null;else{let R=u==="RUNNING";this.isRunning.set(R),R||this.streamingText.set("")}return}if(r.type==="AgentFinishedEvent"){this.isRunning.set(!1),this.streamingText.set("");return}})}catch(r){console.warn("[AgentOS SSE] failed to parse event data",{sseEventName:c,error:r,dataPreview:m?.slice(0,500)})}},n=["MessageEvent","CaseStatusEvent","AgentSelectedEvent","AgentRunningEvent","AgentFinishedEvent","ThinkingEvent","TextChunkEvent","ToolRequestEvent","ToolResponseEvent"];for(let a of n)console.log("[AgentOS SSE] addEventListener",a),this.eventSource.addEventListener(a,t);this.eventSource.onopen=()=>{console.log("[AgentOS SSE] connection open",{readyState:this.eventSource?.readyState,at:new Date().toISOString()})},this.eventSource.onmessage=a=>{console.log("[AgentOS SSE] onmessage (unnamed event) received",{dataLength:a.data?.length??0,dataPreview:a.data?.slice(0,120)})},this.eventSource.onerror=a=>{console.warn("[AgentOS SSE] connection error",{err:a,readyState:this.eventSource?.readyState,at:new Date().toISOString()}),this.zone.run(()=>{this.isRunning.set(!1)})}}onInput(e){this.inputValue.set(e.target.value)}onKeydown(e){e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),this.submit())}reinitialise(){this.eventSource?.close(),this.eventSource=null,this.events.set([]),this.inputValue.set(""),this.isRunning.set(!1),this.isTerminal.set(!1),this.streamingText.set(""),this.collapsedTools.set(new Set),this.isAtBottom.set(!0),this.connectSse()}submit(){if(!this.canSend)return;let e=this.inputValue().trim();this.inputValue.set(""),this.sendMessage(e)}sendMessage(e){this.isRunning.set(!0),this.streamingText.set(""),this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/messages`,{content:e,userId:"default-user"}).subscribe({error:t=>{console.error("[CaseChat] Failed to send message",t),this.isRunning.set(!1)}})}interrupt(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/interrupt`,{}).subscribe({error:e=>console.error("[CaseChat] Failed to interrupt case",e)})}kill(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/kill`,{}).subscribe({error:e=>console.error("[CaseChat] Failed to kill case",e)})}extractText(e){return e.content?.filter(t=>"content"in t).map(t=>t.content).join("")??""}extractToolOutput(e){if(!e.response)return null;let t=e.response.output;return t?t.content??null:null}toggleToolCall(e){this.collapsedTools.update(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}isToolCallExpanded(e){return this.collapsedTools().has(e)}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=F({type:o,selectors:[["agentos-case-chat"]],viewQuery:function(t,n){if(t&1&&B(U,5)(J,5),t&2){let a;M(a=O())&&(n.composerInput=a.first),M(a=O())&&(n.messagesContainer=a.first)}},decls:14,vars:7,consts:[["messagesContainer",""],["composerInput",""],[1,"case-chat"],[1,"case-chat__messages"],[1,"case-chat__empty"],[1,"case-chat__thinking"],[1,"case-chat__scroll-anchor"],[1,"case-chat__composer"],["placeholder","Reply\u2026","rows","3",1,"case-chat__input",3,"input","keydown","value","disabled"],[1,"case-chat__actions"],["icon","stop","variant","danger","title","Interrupt"],["icon","send","variant","primary","title","Send (Enter)",3,"disabled"],["icon","cancel","variant","danger","title","Kill",3,"action","disabled"],[1,"case-chat__message",3,"case-chat__message--user","case-chat__message--agent"],[1,"case-chat__message","case-chat__message--agent","case-chat__message--streaming"],[1,"case-chat__tool-call",3,"case-chat__tool-call--pending","case-chat__tool-call--success","case-chat__tool-call--error"],[1,"case-chat__message"],[1,"case-chat__message-author"],[1,"case-chat__message-text"],[1,"case-chat__tool-call"],["type","button",1,"case-chat__tool-call-header",3,"click"],[1,"case-chat__tool-call-icon"],[1,"case-chat__tool-call-name"],[1,"case-chat__tool-call-chevron"],[1,"case-chat__tool-call-output"],[1,"case-chat__tool-call-section"],[1,"case-chat__tool-call-label"],[1,"case-chat__tool-call-pending"],[1,"case-chat__tool-call-empty"],[1,"thinking-dot"],["icon","keyboard_arrow_down","variant","default","title","Scroll to bottom",3,"action"],["icon","stop","variant","danger","title","Interrupt",3,"action"],["icon","send","variant","primary","title","Send (Enter)",3,"action","disabled"]],template:function(t,n){t&1&&(i(0,"div",2)(1,"div",3,0),g(3,W,3,0,"div",4)(4,pe,2,0),g(5,me,4,0,"div",5),s(),g(6,_e,2,0,"div",6),i(7,"div",7)(8,"textarea",8,1),f("input",function(_){return n.onInput(_)})("keydown",function(_){return n.onKeydown(_)}),s(),i(10,"div",9),g(11,ue,1,0,"ds-icon-button",10)(12,ge,1,1,"ds-icon-button",11),i(13,"ds-icon-button",12),f("action",function(){return n.kill()}),s()()()()),t&2&&(l(3),h(n.timeline().length===0?3:4),l(2),h(n.isRunning()?5:-1),l(),h(n.isAtBottom()?-1:6),l(2),k("value",n.inputValue())("disabled",n.isRunning()||n.isTerminal()),l(3),h(n.isRunning()?11:12),l(2),k("disabled",n.isTerminal()))},dependencies:[Y],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.case-chat[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;max-width:800px;width:100%;margin:0 auto;padding:1.5rem;gap:1rem;position:relative}.case-chat__messages[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border, rgba(0, 0, 0, .15)) transparent}.case-chat__empty[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;flex:1}.case-chat__empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.case-chat__tool-calls[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem}.case-chat__tool-call[_ngcontent-%COMP%]{flex-shrink:0;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:var(--glass-bg, rgba(255, 255, 255, .72));font-size:.8rem;overflow:hidden;transition:border-color .2s ease}.case-chat__tool-call--pending[_ngcontent-%COMP%]{border-color:var(--color-warning, #f5a623);opacity:.8}.case-chat__tool-call--success[_ngcontent-%COMP%]{border-color:var(--color-success, #34c759)}.case-chat__tool-call--error[_ngcontent-%COMP%]{border-color:var(--color-error, #ff3b30)}.case-chat__tool-call-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.4rem;width:100%;padding:.4rem .6rem;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--color-text, #1d1d1f);font-family:inherit;font-size:.8rem}.case-chat__tool-call-header[_ngcontent-%COMP%]:hover{background:#0000000a}.case-chat__tool-call-icon[_ngcontent-%COMP%]{flex-shrink:0;font-size:.75rem}.case-chat__tool-call-name[_ngcontent-%COMP%]{font-weight:600;font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);color:var(--color-primary, #0071e3);flex-shrink:0}.case-chat__tool-call-args[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.case-chat__tool-call-chevron[_ngcontent-%COMP%]{flex-shrink:0;font-size:.6rem;color:var(--color-text-secondary, #6e6e73);margin-left:auto}.case-chat__tool-call-output[_ngcontent-%COMP%]{border-top:1px solid var(--color-border, rgba(0, 0, 0, .08));display:flex;flex-direction:column}.case-chat__tool-call-section[_ngcontent-%COMP%]{padding:.4rem .6rem .5rem}.case-chat__tool-call-section[_ngcontent-%COMP%] + .case-chat__tool-call-section[_ngcontent-%COMP%]{border-top:1px solid var(--color-border, rgba(0, 0, 0, .06))}.case-chat__tool-call-section[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{margin:.25rem 0 0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);font-size:.75rem;color:var(--color-text, #1d1d1f);max-height:200px;overflow-y:auto}.case-chat__tool-call-label[_ngcontent-%COMP%]{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6e6e73)}.case-chat__tool-call-pending[_ngcontent-%COMP%], .case-chat__tool-call-empty[_ngcontent-%COMP%]{display:block;margin-top:.25rem;color:var(--color-text-secondary, #6e6e73);font-style:italic;font-size:.75rem}.case-chat__message[_ngcontent-%COMP%]{flex-shrink:0}.case-chat__thinking[_ngcontent-%COMP%]{flex-shrink:0;display:flex;gap:.3rem;padding:.75rem 1rem;align-self:flex-start}.case-chat__message--streaming[_ngcontent-%COMP%]{opacity:.95}.case-chat__scroll-anchor[_ngcontent-%COMP%]{position:absolute;bottom:calc(2rem + 80px);left:50%;transform:translate(-50%);z-index:10;background:var(--glass-bg, rgba(255, 255, 255, .88));border:1px solid var(--glass-border, rgba(255, 255, 255, .3));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:50%;box-shadow:0 2px 12px #0000001f;animation:_ngcontent-%COMP%_scroll-anchor-in .15s ease}.case-chat__composer[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:flex-end;gap:.5rem;background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));backdrop-filter:var(--glass-backdrop-blur, blur(20px));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));border-radius:16px;padding:.5rem .5rem .5rem 1rem}.case-chat__input[_ngcontent-%COMP%]{flex:1;resize:none;padding:.5rem 0;border:none;background:transparent;color:var(--color-text, #1d1d1f);font-size:.95rem;font-family:inherit;line-height:1.5;outline:none;min-height:40px}.case-chat__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.case-chat__input[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.case-chat__actions[_ngcontent-%COMP%]{display:flex;align-items:center;flex-shrink:0}.thinking-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:50%;background:var(--color-text-secondary, #6e6e73);animation:_ngcontent-%COMP%_thinking-bounce 1.2s ease-in-out infinite}.thinking-dot[_ngcontent-%COMP%]:nth-child(2){animation-delay:.2s}.thinking-dot[_ngcontent-%COMP%]:nth-child(3){animation-delay:.4s}@keyframes _ngcontent-%COMP%_thinking-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}@keyframes _ngcontent-%COMP%_scroll-anchor-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}']})};export{j as a};
1
+ import{a as K}from"./chunk-GAZJZBKP.js";import{b as H}from"./chunk-QWMDAFBN.js";import{b as Y}from"./chunk-7A54VTP2.js";import{a as Q}from"./chunk-AJOXSD6I.js";import{Bb as E,Db as f,Fb as d,Jb as B,Ka as l,Kb as M,Lb as O,Ma as D,Rb as I,Rc as $,Tb as p,Ub as C,Wa as F,ca as y,ga as T,ha as S,jb as q,kc as P,lb as g,ma as N,mb as h,pa as A,pb as L,qb as V,rb as k,sb as i,ta as v,tb as s,ua as w,ub as z}from"./chunk-3JGMGRXW.js";var U=["composerInput"],J=["messagesContainer"],Z=(o,e)=>e.kind==="message"?e.event.id:e.kind==="tool"?e.call.requestId:"streaming";function W(o,e){o&1&&(i(0,"div",4)(1,"p"),p(2,"No messages yet."),s()())}function X(o,e){if(o&1&&(i(0,"div",16)(1,"span",17),p(2),s(),i(3,"p",18),p(4),s()()),o&2){let t=d().$implicit,n=d(2);I("case-chat__message--user",t.event.actor.role==="USER")("case-chat__message--agent",t.event.actor.role==="AGENT"),l(2),C(t.event.actor.displayName),l(2),C(n.extractText(t.event))}}function ee(o,e){if(o&1&&(i(0,"div",14)(1,"span",17),p(2),s(),i(3,"p",18),p(4),s()()),o&2){let t=d().$implicit,n=d(2);l(2),C(n.agentDisplayName()),l(2),C(t.text)}}function te(o,e){o&1&&p(0," \u23F3 ")}function ne(o,e){o&1&&p(0," \u2705 ")}function oe(o,e){o&1&&p(0," \u274C ")}function ae(o,e){if(o&1&&(i(0,"div",25)(1,"span",26),p(2,"Payload"),s(),i(3,"pre"),p(4),s()()),o&2){let t=d(3).$implicit;l(4),C(t.call.args)}}function ie(o,e){o&1&&(i(0,"pre"),p(1),s()),o&2&&(l(),C(e))}function se(o,e){o&1&&(i(0,"span",27),p(1,"Running\u2026"),s())}function re(o,e){o&1&&(i(0,"span",28),p(1,"No output"),s())}function le(o,e){if(o&1&&(i(0,"div",24),g(1,ae,5,1,"div",25),i(2,"div",25)(3,"span",26),p(4,"Output"),s(),g(5,ie,2,1,"pre")(6,se,2,0,"span",27)(7,re,2,0,"span",28),s()()),o&2){let t,n=d(2).$implicit,a=d(2);l(),h(n.call.args?1:-1),l(4),h((t=a.extractToolOutput(n.call))?5:n.call.response?7:6,t)}}function ce(o,e){if(o&1){let t=E();i(0,"div",19)(1,"button",20),f("click",function(){T(t);let a=d().$implicit,_=d(2);return S(_.toggleToolCall(a.call.requestId))}),i(2,"span",21),g(3,te,1,0)(4,ne,1,0)(5,oe,1,0),s(),i(6,"span",22),p(7),s(),i(8,"span",23),p(9),s()(),g(10,le,8,2,"div",24),s()}if(o&2){let t=d().$implicit,n=d(2);I("case-chat__tool-call--pending",!t.call.response)("case-chat__tool-call--success",(t.call.response==null?null:t.call.response.success)===!0)("case-chat__tool-call--error",(t.call.response==null?null:t.call.response.success)===!1),l(),q("aria-expanded",n.isToolCallExpanded(t.call.requestId)),l(2),h(t.call.response?t.call.response.success?4:5:3),l(4),C(t.call.toolName),l(2),C(n.isToolCallExpanded(t.call.requestId)?"\u25BC":"\u25B6"),l(),h(n.isToolCallExpanded(t.call.requestId)?10:-1)}}function de(o,e){if(o&1&&g(0,X,5,6,"div",13)(1,ee,5,2,"div",14)(2,ce,11,11,"div",15),o&2){let t=e.$implicit;h(t.kind==="message"?0:t.kind==="streaming"?1:2)}}function pe(o,e){if(o&1&&L(0,de,3,1,null,null,Z),o&2){let t=d();V(t.timeline())}}function me(o,e){o&1&&(i(0,"div",5),z(1,"span",29)(2,"span",29)(3,"span",29),s())}function _e(o,e){if(o&1){let t=E();i(0,"div",6)(1,"ds-icon-button",30),f("action",function(){T(t);let a=d();return S(a.onScrollToBottomClick())}),s()()}}function ue(o,e){if(o&1){let t=E();i(0,"ds-icon-button",31),f("action",function(){T(t);let a=d();return S(a.interrupt())}),s()}}function ge(o,e){if(o&1){let t=E();i(0,"ds-icon-button",32),f("action",function(){T(t);let a=d();return S(a.submit())}),s()}if(o&2){let t=d();k("disabled",!t.canSend)}}var he=64,j=class o{route=y(H);http=y($);zone=y(A);destroyRef=y(N);config=y(K);caseId=this.route.snapshot.params.caseId;namespaceId=this.route.snapshot.params.namespaceId;agentDisplayName=P(()=>{let e=this.events();for(let t=e.length-1;t>=0;t--){let n=e[t];if(n){if(n.type==="AgentRunningEvent"||n.type==="AgentSelectedEvent"||n.type==="AgentFinishedEvent"){let a=n.agentName;if(a&&a.trim().length>0)return a}if(n.type==="MessageEvent"){let a=n;if(a.actor?.role==="AGENT"&&a.actor.displayName)return a.actor.displayName}}}return"Assistant"});eventSource=null;composerInput;messagesContainer;events=v([]);inputValue=v("");isRunning=v(!1);isTerminal=v(!1);streamingText=v("");collapsedTools=v(new Set);isAtBottom=v(!0);scrollListenerCleanup=null;constructor(){w(()=>{this.isRunning()||this.isTerminal()||queueMicrotask(()=>this.composerInput?.nativeElement.focus())}),w(()=>{this.timeline(),this.streamingText(),this.isAtBottom()&&queueMicrotask(()=>this.scrollToBottom())}),D(()=>{this.attachScrollListener()})}timeline=P(()=>{let e=this.events(),t=this.streamingText(),n=new Map;for(let c of e)if(c.type==="ToolRequestEvent"){let m=c,r=m.toolRequestId??c.id,x=n.get(r);n.set(r,{requestId:r,toolName:m.toolName??"unknown",args:m.args??null,response:x?.response})}else if(c.type==="ToolResponseEvent"){let m=c,r=m.toolRequestId??c.id,x=n.get(r);n.set(r,{requestId:r,toolName:x?.toolName??m.toolName??"unknown",args:x?.args??null,response:m})}let a=[],_=new Set;for(let c of e)if(c.type==="MessageEvent")a.push({kind:"message",event:c});else if(c.type==="ToolRequestEvent"||c.type==="ToolResponseEvent"){let r=c.toolRequestId??c.id;_.has(r)||(_.add(r),a.push({kind:"tool",call:n.get(r)}))}return t.trim().length>0&&a.push({kind:"streaming",text:t}),a});get canSend(){return!!this.inputValue().trim()&&!this.isRunning()&&!this.isTerminal()}ngOnInit(){this.connectSse(),this.route.params.pipe(Q(this.destroyRef)).subscribe(e=>{let t=e.caseId;t&&t!==this.caseId&&(this.caseId=t,this.reinitialise())})}ngOnDestroy(){this.eventSource?.close(),this.scrollListenerCleanup?.()}attachScrollListener(){let e=this.messagesContainer?.nativeElement;if(!e)return;let t=()=>{let n=e.scrollHeight-e.scrollTop-e.clientHeight;this.isAtBottom.set(n<=he)};e.addEventListener("scroll",t,{passive:!0}),this.scrollListenerCleanup=()=>e.removeEventListener("scroll",t)}scrollToBottom(){let e=this.messagesContainer?.nativeElement;e&&(e.scrollTop=e.scrollHeight)}onScrollToBottomClick(){this.isAtBottom.set(!0),this.scrollToBottom()}connectSse(){let e=`${this.config.basePath}/api/cases/${this.caseId}/events`;console.log("[AgentOS SSE] connecting",{url:e,basePath:this.config.basePath,caseId:this.caseId,namespaceId:this.namespaceId,now:new Date().toISOString()}),this.eventSource=this.zone.runOutsideAngular(()=>new EventSource(e));let t=a=>{let _=performance.now(),c=a.type,m=a.data;console.log("[AgentOS SSE] frame received",{sseEventName:c,dataLength:m?.length??0,dataPreview:m?.slice(0,120),receivedAtMs:_});try{let r=JSON.parse(m);this.zone.run(()=>{let x=this.events().length;this.events.update(u=>u.some(b=>b.id===r.id)?u:[...u,r]);let G=this.events().length;if(console.log("[AgentOS SSE] event processed",{sseEventName:c,eventType:r.type,eventId:r.id,beforeLen:x,afterLen:G,running:this.isRunning(),terminal:this.isTerminal()}),r.type==="TextChunkEvent"){let u=r.chunk;u&&this.streamingText.update(b=>b+u);return}if(r.type==="CaseStatusEvent"){let u=r.status,b=u==="KILLED"||u==="ERROR";if(this.isTerminal.set(b),b)this.isRunning.set(!1),this.eventSource?.close(),this.eventSource=null;else{let R=u==="RUNNING";this.isRunning.set(R),R||this.streamingText.set("")}return}if(r.type==="AgentFinishedEvent"){this.isRunning.set(!1),this.streamingText.set("");return}})}catch(r){console.warn("[AgentOS SSE] failed to parse event data",{sseEventName:c,error:r,dataPreview:m?.slice(0,500)})}},n=["MessageEvent","CaseStatusEvent","AgentSelectedEvent","AgentRunningEvent","AgentFinishedEvent","ThinkingEvent","TextChunkEvent","ToolRequestEvent","ToolResponseEvent"];for(let a of n)console.log("[AgentOS SSE] addEventListener",a),this.eventSource.addEventListener(a,t);this.eventSource.onopen=()=>{console.log("[AgentOS SSE] connection open",{readyState:this.eventSource?.readyState,at:new Date().toISOString()})},this.eventSource.onmessage=a=>{console.log("[AgentOS SSE] onmessage (unnamed event) received",{dataLength:a.data?.length??0,dataPreview:a.data?.slice(0,120)})},this.eventSource.onerror=a=>{console.warn("[AgentOS SSE] connection error",{err:a,readyState:this.eventSource?.readyState,at:new Date().toISOString()}),this.zone.run(()=>{this.isRunning.set(!1)})}}onInput(e){this.inputValue.set(e.target.value)}onKeydown(e){e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),this.submit())}reinitialise(){this.eventSource?.close(),this.eventSource=null,this.events.set([]),this.inputValue.set(""),this.isRunning.set(!1),this.isTerminal.set(!1),this.streamingText.set(""),this.collapsedTools.set(new Set),this.isAtBottom.set(!0),this.connectSse()}submit(){if(!this.canSend)return;let e=this.inputValue().trim();this.inputValue.set(""),this.sendMessage(e)}sendMessage(e){this.isRunning.set(!0),this.streamingText.set(""),this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/messages`,{content:e,userId:"default-user"}).subscribe({error:t=>{console.error("[CaseChat] Failed to send message",t),this.isRunning.set(!1)}})}interrupt(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/interrupt`,{}).subscribe({error:e=>console.error("[CaseChat] Failed to interrupt case",e)})}kill(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/kill`,{}).subscribe({error:e=>console.error("[CaseChat] Failed to kill case",e)})}extractText(e){return e.content?.filter(t=>"content"in t).map(t=>t.content).join("")??""}extractToolOutput(e){if(!e.response)return null;let t=e.response.output;return t?t.content??null:null}toggleToolCall(e){this.collapsedTools.update(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}isToolCallExpanded(e){return this.collapsedTools().has(e)}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=F({type:o,selectors:[["agentos-case-chat"]],viewQuery:function(t,n){if(t&1&&B(U,5)(J,5),t&2){let a;M(a=O())&&(n.composerInput=a.first),M(a=O())&&(n.messagesContainer=a.first)}},decls:14,vars:7,consts:[["messagesContainer",""],["composerInput",""],[1,"case-chat"],[1,"case-chat__messages"],[1,"case-chat__empty"],[1,"case-chat__thinking"],[1,"case-chat__scroll-anchor"],[1,"case-chat__composer"],["placeholder","Reply\u2026","rows","3",1,"case-chat__input",3,"input","keydown","value","disabled"],[1,"case-chat__actions"],["icon","stop","variant","danger","title","Interrupt"],["icon","send","variant","primary","title","Send (Enter)",3,"disabled"],["icon","cancel","variant","danger","title","Kill",3,"action","disabled"],[1,"case-chat__message",3,"case-chat__message--user","case-chat__message--agent"],[1,"case-chat__message","case-chat__message--agent","case-chat__message--streaming"],[1,"case-chat__tool-call",3,"case-chat__tool-call--pending","case-chat__tool-call--success","case-chat__tool-call--error"],[1,"case-chat__message"],[1,"case-chat__message-author"],[1,"case-chat__message-text"],[1,"case-chat__tool-call"],["type","button",1,"case-chat__tool-call-header",3,"click"],[1,"case-chat__tool-call-icon"],[1,"case-chat__tool-call-name"],[1,"case-chat__tool-call-chevron"],[1,"case-chat__tool-call-output"],[1,"case-chat__tool-call-section"],[1,"case-chat__tool-call-label"],[1,"case-chat__tool-call-pending"],[1,"case-chat__tool-call-empty"],[1,"thinking-dot"],["icon","keyboard_arrow_down","variant","default","title","Scroll to bottom",3,"action"],["icon","stop","variant","danger","title","Interrupt",3,"action"],["icon","send","variant","primary","title","Send (Enter)",3,"action","disabled"]],template:function(t,n){t&1&&(i(0,"div",2)(1,"div",3,0),g(3,W,3,0,"div",4)(4,pe,2,0),g(5,me,4,0,"div",5),s(),g(6,_e,2,0,"div",6),i(7,"div",7)(8,"textarea",8,1),f("input",function(_){return n.onInput(_)})("keydown",function(_){return n.onKeydown(_)}),s(),i(10,"div",9),g(11,ue,1,0,"ds-icon-button",10)(12,ge,1,1,"ds-icon-button",11),i(13,"ds-icon-button",12),f("action",function(){return n.kill()}),s()()()()),t&2&&(l(3),h(n.timeline().length===0?3:4),l(2),h(n.isRunning()?5:-1),l(),h(n.isAtBottom()?-1:6),l(2),k("value",n.inputValue())("disabled",n.isRunning()||n.isTerminal()),l(3),h(n.isRunning()?11:12),l(2),k("disabled",n.isTerminal()))},dependencies:[Y],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.case-chat[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;max-width:800px;width:100%;margin:0 auto;padding:1.5rem;gap:1rem;position:relative}.case-chat__messages[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border, rgba(0, 0, 0, .15)) transparent}.case-chat__empty[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;flex:1}.case-chat__empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.case-chat__tool-calls[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem}.case-chat__tool-call[_ngcontent-%COMP%]{flex-shrink:0;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:var(--glass-bg, rgba(255, 255, 255, .72));font-size:.8rem;overflow:hidden;transition:border-color .2s ease}.case-chat__tool-call--pending[_ngcontent-%COMP%]{border-color:var(--color-warning, #f5a623);opacity:.8}.case-chat__tool-call--success[_ngcontent-%COMP%]{border-color:var(--color-success, #34c759)}.case-chat__tool-call--error[_ngcontent-%COMP%]{border-color:var(--color-error, #ff3b30)}.case-chat__tool-call-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.4rem;width:100%;padding:.4rem .6rem;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--color-text, #1d1d1f);font-family:inherit;font-size:.8rem}.case-chat__tool-call-header[_ngcontent-%COMP%]:hover{background:#0000000a}.case-chat__tool-call-icon[_ngcontent-%COMP%]{flex-shrink:0;font-size:.75rem}.case-chat__tool-call-name[_ngcontent-%COMP%]{font-weight:600;font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);color:var(--color-primary, #0071e3);flex-shrink:0}.case-chat__tool-call-args[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.case-chat__tool-call-chevron[_ngcontent-%COMP%]{flex-shrink:0;font-size:.6rem;color:var(--color-text-secondary, #6e6e73);margin-left:auto}.case-chat__tool-call-output[_ngcontent-%COMP%]{border-top:1px solid var(--color-border, rgba(0, 0, 0, .08));display:flex;flex-direction:column}.case-chat__tool-call-section[_ngcontent-%COMP%]{padding:.4rem .6rem .5rem}.case-chat__tool-call-section[_ngcontent-%COMP%] + .case-chat__tool-call-section[_ngcontent-%COMP%]{border-top:1px solid var(--color-border, rgba(0, 0, 0, .06))}.case-chat__tool-call-section[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{margin:.25rem 0 0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);font-size:.75rem;color:var(--color-text, #1d1d1f);max-height:200px;overflow-y:auto}.case-chat__tool-call-label[_ngcontent-%COMP%]{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6e6e73)}.case-chat__tool-call-pending[_ngcontent-%COMP%], .case-chat__tool-call-empty[_ngcontent-%COMP%]{display:block;margin-top:.25rem;color:var(--color-text-secondary, #6e6e73);font-style:italic;font-size:.75rem}.case-chat__message[_ngcontent-%COMP%]{flex-shrink:0}.case-chat__thinking[_ngcontent-%COMP%]{flex-shrink:0;display:flex;gap:.3rem;padding:.75rem 1rem;align-self:flex-start}.case-chat__message--streaming[_ngcontent-%COMP%]{opacity:.95}.case-chat__scroll-anchor[_ngcontent-%COMP%]{position:absolute;bottom:calc(2rem + 80px);left:50%;transform:translate(-50%);z-index:10;background:var(--glass-bg, rgba(255, 255, 255, .88));border:1px solid var(--glass-border, rgba(255, 255, 255, .3));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:50%;box-shadow:0 2px 12px #0000001f;animation:_ngcontent-%COMP%_scroll-anchor-in .15s ease}.case-chat__composer[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:flex-end;gap:.5rem;background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));backdrop-filter:var(--glass-backdrop-blur, blur(20px));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));border-radius:16px;padding:.5rem .5rem .5rem 1rem}.case-chat__input[_ngcontent-%COMP%]{flex:1;resize:none;padding:.5rem 0;border:none;background:transparent;color:var(--color-text, #1d1d1f);font-size:.95rem;font-family:inherit;line-height:1.5;outline:none;min-height:40px}.case-chat__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.case-chat__input[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.case-chat__actions[_ngcontent-%COMP%]{display:flex;align-items:center;flex-shrink:0}.thinking-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:50%;background:var(--color-text-secondary, #6e6e73);animation:_ngcontent-%COMP%_thinking-bounce 1.2s ease-in-out infinite}.thinking-dot[_ngcontent-%COMP%]:nth-child(2){animation-delay:.2s}.thinking-dot[_ngcontent-%COMP%]:nth-child(3){animation-delay:.4s}@keyframes _ngcontent-%COMP%_thinking-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}@keyframes _ngcontent-%COMP%_scroll-anchor-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}']})};export{j as a};
@@ -0,0 +1 @@
1
+ import{a as Fe}from"./chunk-UORJVNGU.js";import{c as le}from"./chunk-WNNKQ2DH.js";import{b as Ie}from"./chunk-LLDKKRUC.js";import{e as Te,f as ke,g as We}from"./chunk-7A54VTP2.js";import"./chunk-ZAM3WGZM.js";import{a as de,b as me,c as ce,d as ge,e as pe}from"./chunk-RQLQ22PM.js";import{c as ue,d as _e,i as fe,j as he,m as De,n as Oe}from"./chunk-AK6F2DC7.js";import"./chunk-AJOXSD6I.js";import{a as $,b as ee,d as te,e as ne,f as ie,g as oe,h as ae}from"./chunk-DRBOHCTP.js";import"./chunk-IXD43YQI.js";import{a as F,b as T}from"./chunk-WPC6XC7P.js";import{A as Ee,C as Pe,c as Ce,g as Me,m as ye,o as be,p as xe,w as ve,x as Ae,y as we,z as Se}from"./chunk-XJUBZLY2.js";import{b as se}from"./chunk-XIQ3L6H6.js";import{O,Q as re,S as I}from"./chunk-B2QA6UZX.js";import{Bb as b,Cc as X,Db as c,Fb as m,Ka as d,Pb as L,Rb as A,Rc as Y,Tb as l,Ub as x,Vb as B,Wa as E,Wb as G,Xb as u,Yb as _,Z as j,Zb as f,ab as k,ac as Z,bc as K,ca as h,g as V,ga as g,ha as p,hc as J,jb as N,kc as Q,lb as M,mb as y,nb as W,ob as U,pb as P,qb as D,rb as C,sb as i,ta as S,tb as o,ub as z,yb as q,zb as H}from"./chunk-3JGMGRXW.js";var v=class s{http=h(Y);projectState=h(se);getBaseUrl(){return`/api/projects/${this.projectState.getSelectedProjectIdOrThrow()}/agents`}listEditableAgents(){return this.http.get(`${this.getBaseUrl()}/editable`)}getAgent(t){return this.http.get(`${this.getBaseUrl()}/${encodeURIComponent(t)}`)}createAgent(t,e){return this.http.post(this.getBaseUrl(),{location:e,definition:t})}updateAgent(t,e){return this.http.put(`${this.getBaseUrl()}/${encodeURIComponent(t)}`,{definition:e})}listDocuments(t){return this.http.get(`${this.getBaseUrl()}/documents`,{params:{location:t}})}uploadDocument(t,e){return new V(n=>{let a=new FileReader;a.onload=()=>{let r=a.result.split(",")[1];this.http.post(`${this.getBaseUrl()}/documents`,{filename:e.name,content:r,mimeType:e.type},{params:{location:t}}).subscribe(n)},a.onerror=()=>n.error(a.error),a.readAsDataURL(e)})}deleteAgent(t){return this.http.delete(`${this.getBaseUrl()}/${encodeURIComponent(t)}`)}static \u0275fac=function(e){return new(e||s)};static \u0275prov=j({token:s,factory:s.\u0275fac,providedIn:"root"})};function Ne(s,t){s&1&&(i(0,"p",15),l(1,"No integrations defined \u2014 agent will have access to all tools."),o())}function Ue(s,t){if(s&1){let e=b();i(0,"div",16)(1,"mat-form-field",22)(2,"mat-label"),l(3,"Integration"),o(),i(4,"input",23),f("ngModelChange",function(a){let r=g(e).$implicit;return _(r.integration,a)||(r.integration=a),p(a)}),o()(),i(5,"mat-form-field",24)(6,"mat-label"),l(7,"Tools (comma-separated)"),o(),i(8,"input",25),f("ngModelChange",function(a){let r=g(e).$implicit;return _(r.tools,a)||(r.tools=a),p(a)}),o()(),i(9,"button",26),c("click",function(){let a=g(e).$index,r=m();return p(r.removeIntegrationRow(a))}),i(10,"mat-icon"),l(11,"delete"),o()()()}if(s&2){let e=t.$implicit;d(4),u("ngModel",e.integration),d(4),u("ngModel",e.tools)}}function ze(s,t){if(s&1&&(i(0,"p",30),l(1),o()),s&2){let e=m(2);d(),x(e.docUploadError)}}function qe(s,t){s&1&&(i(0,"p",15),l(1,"No mandatory documents defined."),o())}function He(s,t){if(s&1&&z(0,"option",35),s&2){let e=t.$implicit;C("value","documents/"+e)}}function Ge(s,t){if(s&1){let e=b();i(0,"div",31)(1,"mat-form-field",32)(2,"mat-label"),l(3,"Document path"),o(),i(4,"input",33),f("ngModelChange",function(a){let r=g(e).$index,R=m(2);return _(R.mandatoryDocs[r],a)||(R.mandatoryDocs[r]=a),p(a)}),o(),i(5,"datalist",34),P(6,He,1,1,"option",35,U),o()(),i(8,"button",26),c("click",function(){let a=g(e).$index,r=m(2);return p(r.removeDocRow(a))}),i(9,"mat-icon"),l(10,"delete"),o()()()}if(s&2){let e=t.$index,n=m(2);d(4),u("ngModel",n.mandatoryDocs[e]),N("list","docs-list-"+e),d(),C("id","docs-list-"+e),d(),D(n.availableDocuments)}}function Ze(s,t){if(s&1){let e=b();i(0,"div",6)(1,"span"),l(2,"Mandatory Documents"),o(),i(3,"button",27),c("click",function(){g(e);let a=m();return p(a.addDocRow())}),i(4,"mat-icon"),l(5,"add"),o()(),i(6,"label",28)(7,"mat-icon"),l(8,"upload_file"),o(),i(9,"input",29),c("change",function(a){g(e);let r=m();return p(r.onDocFileSelected(a))}),o()()(),M(10,ze,2,1,"p",30),M(11,qe,2,0,"p",15),P(12,Ge,11,3,"div",31,W)}if(s&2){let e=m();d(6),A("uploading",e.isUploadingDoc),d(3),C("disabled",e.isUploadingDoc),d(),y(e.docUploadError?10:-1),d(),y(e.mandatoryDocs.length===0?11:-1),d(),D(e.mandatoryDocs)}}function Ke(s,t){s&1&&(i(0,"p",15),l(1,"\u{1F4A1} Documents can be added after the agent is created."),o())}function Je(s,t){if(s&1){let e=b();i(0,"div",6),l(1,"Save to"),o(),i(2,"div",36)(3,"label",37)(4,"input",38),f("ngModelChange",function(a){g(e);let r=m();return _(r.location,a)||(r.location=a),p(a)}),o(),i(5,"div",39)(6,"div",40)(7,"span",41),l(8,"\u{1F464}"),o(),i(9,"span",42),l(10,"Project config"),o()(),i(11,"p",43),l(12),o()()(),i(13,"label",37)(14,"input",44),f("ngModelChange",function(a){g(e);let r=m();return _(r.location,a)||(r.location=a),p(a)}),o(),i(15,"div",39)(16,"div",40)(17,"span",41),l(18,"\u{1F4E6}"),o(),i(19,"span",42),l(20,"Colocated"),o()(),i(21,"p",43),l(22,"Next to coday.yaml in ./agents/ (committable)"),o()()()(),i(23,"p",15),l(24,"Storage location is permanent and cannot be changed after creation."),o()}if(s&2){let e=m();d(3),A("selected",e.location==="project"),d(),u("ngModel",e.location),d(8),G("~/.coday/projects/","{","name","}","/agents/ (not committed)"),d(),A("selected",e.location==="colocated"),d(),u("ngModel",e.location)}}function Qe(s,t){if(s&1&&(i(0,"div",17)(1,"span",6),l(2,"Storage Location"),o(),i(3,"span",45),l(4),o(),i(5,"p",15),l(6,"Cannot be changed after creation."),o()()),s&2){let e=m();d(3),A("badge-project",e.location==="project")("badge-colocated",e.location==="colocated"),d(),B(" ",e.location==="project"?"\u{1F464} Project config":"\u{1F4E6} Colocated"," ")}}function Xe(s,t){if(s&1&&(i(0,"div",18)(1,"mat-icon"),l(2,"error"),o(),i(3,"span"),l(4),o()()),s&2){let e=m();d(4),x(e.errorMessage)}}var w=class s{agentCrudApi=h(v);agentApi=h(Fe);dialogRef=h($);data=h(ee);name="";description="";instructions="";aiProvider="";modelName="";temperature=null;maxOutputTokens=null;openaiAssistantId="";integrationRows=[];mandatoryDocs=[];availableDocuments=[];isUploadingDoc=!1;docUploadError="";location="project";isSaving=!1;errorMessage="";isEditMode=!1;ngOnInit(){if(this.isEditMode=this.data.mode==="edit",this.isEditMode&&this.data.agent){let t=this.data.agent.definition;this.name=t.name,this.description=t.description,this.instructions=t.instructions??"",this.aiProvider=t.aiProvider??"",this.modelName=t.modelName??"",this.temperature=t.temperature??null,this.maxOutputTokens=t.maxOutputTokens??null,this.openaiAssistantId=t.openaiAssistantId??"",this.location=this.data.agent.source,t.integrations&&(this.integrationRows=Object.entries(t.integrations).map(([e,n])=>({integration:e,tools:n?.join(", ")??""}))),this.mandatoryDocs=[...t.mandatoryDocs??[]],this.loadAvailableDocuments()}}loadAvailableDocuments(){this.agentCrudApi.listDocuments(this.location).subscribe({next:t=>this.availableDocuments=t,error:()=>this.availableDocuments=[]})}addDocRow(){this.mandatoryDocs.push("")}removeDocRow(t){this.mandatoryDocs.splice(t,1)}onDocFileSelected(t){let e=t.target,n=e.files?.[0];n&&(this.isUploadingDoc=!0,this.docUploadError="",this.agentCrudApi.uploadDocument(this.location,n).subscribe({next:a=>{this.isUploadingDoc=!1,this.mandatoryDocs.push(a.relativePath),this.loadAvailableDocuments(),e.value=""},error:a=>{this.isUploadingDoc=!1,this.docUploadError=a?.error?.error??a?.message??"Upload failed",e.value=""}}))}addIntegrationRow(){this.integrationRows.push({integration:"",tools:""})}removeIntegrationRow(t){this.integrationRows.splice(t,1)}trackByIndex(t){return t}validateForm(){if(!this.name.trim())return this.errorMessage="Name is required",!1;if(!/^[a-zA-Z0-9][a-zA-Z0-9_-]*$/.test(this.name.trim()))return this.errorMessage="Name must start with alphanumeric and contain only letters, digits, hyphens or underscores",!1;if(!this.description.trim())return this.errorMessage="Description is required",!1;for(let t of this.integrationRows)if(!t.integration.trim())return this.errorMessage="Integration name cannot be empty",!1;return!0}buildDefinition(){let t=this.mandatoryDocs.map(n=>n.trim()).filter(Boolean),e=this.integrationRows.length>0?Object.fromEntries(this.integrationRows.filter(n=>n.integration.trim()).map(n=>[n.integration.trim(),n.tools.split(",").map(a=>a.trim()).filter(Boolean)])):void 0;return{name:this.name.trim(),description:this.description.trim(),instructions:this.instructions.trim()||void 0,aiProvider:this.aiProvider.trim()||void 0,modelName:this.modelName.trim()||void 0,temperature:this.temperature??void 0,maxOutputTokens:this.maxOutputTokens??void 0,openaiAssistantId:this.openaiAssistantId.trim()||void 0,integrations:e,mandatoryDocs:t.length>0?t:void 0}}save(){if(this.errorMessage="",!this.validateForm())return;let t=this.buildDefinition();this.isSaving=!0,(this.isEditMode?this.agentCrudApi.updateAgent(this.name.trim(),t):this.agentCrudApi.createAgent(t,this.location)).subscribe({next:()=>{this.isSaving=!1,this.agentApi.clearAllCache(),this.dialogRef.close(!0)},error:n=>{this.isSaving=!1,this.errorMessage=n?.error?.error||n?.message||"Failed to save agent"}})}cancel(){this.dialogRef.close(!1)}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=E({type:s,selectors:[["app-agent-form"]],decls:69,vars:18,consts:[["mat-dialog-title",""],[1,"form-container"],["appearance","outline",1,"full-width"],["matInput","","placeholder","my-agent","required","",3,"ngModelChange","ngModel","readonly"],["matInput","","placeholder","What does this agent do?","rows","2","required","",3,"ngModelChange","ngModel"],["matInput","","placeholder","System instructions for the agent...","rows","6",3,"ngModelChange","ngModel"],[1,"section-title"],[1,"row-2col"],["appearance","outline"],["matInput","","placeholder","e.g. anthropic, openai",3,"ngModelChange","ngModel"],["matInput","","placeholder","e.g. claude-sonnet-4-5",3,"ngModelChange","ngModel"],["matInput","","type","number","min","0","max","2","step","0.1","placeholder","0.0 \u2013 2.0",3,"ngModelChange","ngModel"],["matInput","","type","number","min","1","placeholder","e.g. 4096",3,"ngModelChange","ngModel"],["matInput","","placeholder","asst_...",3,"ngModelChange","ngModel"],["mat-icon-button","","type","button","title","Add integration",3,"click"],[1,"hint"],[1,"integration-row"],[1,"source-display"],[1,"error-message"],["align","end"],["mat-button","",3,"click","disabled"],["mat-raised-button","","color","primary",3,"click","disabled"],["appearance","outline",1,"integration-name"],["matInput","","placeholder","e.g. GITHUB",3,"ngModelChange","ngModel"],["appearance","outline",1,"integration-tools"],["matInput","","placeholder","Leave empty for all tools",3,"ngModelChange","ngModel"],["mat-icon-button","","type","button","title","Remove",3,"click"],["mat-icon-button","","type","button","title","Add document path",3,"click"],["title","Upload a document to the pool",1,"upload-btn"],["type","file","hidden","",3,"change","disabled"],[1,"doc-upload-error"],[1,"doc-row"],["appearance","outline",1,"doc-field"],["matInput","","placeholder","documents/guide.md",3,"ngModelChange","ngModel"],[3,"id"],[3,"value"],[1,"source-options"],[1,"source-option"],["type","radio","name","location","value","project",3,"ngModelChange","ngModel"],[1,"source-content"],[1,"source-header"],[1,"source-icon"],[1,"source-label"],[1,"source-description"],["type","radio","name","location","value","colocated",3,"ngModelChange","ngModel"],[1,"source-badge"]],template:function(e,n){e&1&&(i(0,"h2",0),l(1),o(),i(2,"mat-dialog-content")(3,"div",1)(4,"mat-form-field",2)(5,"mat-label"),l(6,"Name"),o(),i(7,"input",3),f("ngModelChange",function(r){return _(n.name,r)||(n.name=r),r}),o(),i(8,"mat-hint"),l(9,"Alphanumeric, hyphens and underscores only. Cannot be changed after creation."),o()(),i(10,"mat-form-field",2)(11,"mat-label"),l(12,"Description"),o(),i(13,"textarea",4),f("ngModelChange",function(r){return _(n.description,r)||(n.description=r),r}),o()(),i(14,"mat-form-field",2)(15,"mat-label"),l(16,"Instructions"),o(),i(17,"textarea",5),f("ngModelChange",function(r){return _(n.instructions,r)||(n.instructions=r),r}),o(),i(18,"mat-hint"),l(19,"System prompt / instructions sent to the AI model"),o()(),i(20,"div",6),l(21,"AI Configuration"),o(),i(22,"div",7)(23,"mat-form-field",8)(24,"mat-label"),l(25,"AI Provider"),o(),i(26,"input",9),f("ngModelChange",function(r){return _(n.aiProvider,r)||(n.aiProvider=r),r}),o()(),i(27,"mat-form-field",8)(28,"mat-label"),l(29,"Model Name"),o(),i(30,"input",10),f("ngModelChange",function(r){return _(n.modelName,r)||(n.modelName=r),r}),o()()(),i(31,"div",7)(32,"mat-form-field",8)(33,"mat-label"),l(34,"Temperature"),o(),i(35,"input",11),f("ngModelChange",function(r){return _(n.temperature,r)||(n.temperature=r),r}),o(),i(36,"mat-hint"),l(37,"Leave empty for model default"),o()(),i(38,"mat-form-field",8)(39,"mat-label"),l(40,"Max Output Tokens"),o(),i(41,"input",12),f("ngModelChange",function(r){return _(n.maxOutputTokens,r)||(n.maxOutputTokens=r),r}),o(),i(42,"mat-hint"),l(43,"Leave empty for model default"),o()()(),i(44,"mat-form-field",2)(45,"mat-label"),l(46,"OpenAI Assistant ID"),o(),i(47,"input",13),f("ngModelChange",function(r){return _(n.openaiAssistantId,r)||(n.openaiAssistantId=r),r}),o(),i(48,"mat-hint"),l(49,"If set, forces aiProvider to openai"),o()(),i(50,"div",6)(51,"span"),l(52,"Integrations"),o(),i(53,"button",14),c("click",function(){return n.addIntegrationRow()}),i(54,"mat-icon"),l(55,"add"),o()()(),M(56,Ne,2,0,"p",15),P(57,Ue,12,2,"div",16,W),M(59,Ze,14,5)(60,Ke,2,0,"p",15),M(61,Je,25,8),M(62,Qe,7,5,"div",17),M(63,Xe,5,1,"div",18),o()(),i(64,"mat-dialog-actions",19)(65,"button",20),c("click",function(){return n.cancel()}),l(66,"Cancel"),o(),i(67,"button",21),c("click",function(){return n.save()}),l(68),o()()),e&2&&(d(),x(n.isEditMode?"Edit Agent":"Create Agent"),d(6),u("ngModel",n.name),C("readonly",n.isEditMode),d(6),u("ngModel",n.description),d(4),u("ngModel",n.instructions),d(9),u("ngModel",n.aiProvider),d(4),u("ngModel",n.modelName),d(5),u("ngModel",n.temperature),d(6),u("ngModel",n.maxOutputTokens),d(6),u("ngModel",n.openaiAssistantId),d(9),y(n.integrationRows.length===0?56:-1),d(),D(n.integrationRows),d(2),y(n.isEditMode?59:60),d(2),y(n.isEditMode?-1:61),d(),y(n.isEditMode?62:-1),d(),y(n.errorMessage?63:-1),d(2),C("disabled",n.isSaving),d(2),C("disabled",n.isSaving),d(),B(" ",n.isSaving?"Saving...":"Save"," "))},dependencies:[Pe,ve,Ae,Ce,be,xe,Me,Ee,Se,we,ye,ae,ne,oe,ie,I,re,O,Oe,De,fe,ue,_e,he,T,F,Ie,le],styles:[".form-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:0;min-width:560px}@media(max-width:768px){.form-container[_ngcontent-%COMP%]{min-width:auto}}.full-width[_ngcontent-%COMP%]{width:100%}.section-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;margin-top:.5rem;margin-bottom:-.25rem}.row-2col[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:768px){.row-2col[_ngcontent-%COMP%]{grid-template-columns:1fr}}.integration-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:.5rem}.integration-row[_ngcontent-%COMP%] .integration-name[_ngcontent-%COMP%]{flex:0 0 180px}.integration-row[_ngcontent-%COMP%] .integration-tools[_ngcontent-%COMP%]{flex:1}.hint[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--color-text-secondary);font-style:italic}.source-options[_ngcontent-%COMP%]{display:flex;gap:1rem;margin-bottom:.5rem}@media(max-width:768px){.source-options[_ngcontent-%COMP%]{flex-direction:column}}.source-option[_ngcontent-%COMP%]{flex:1;display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--color-bg);border:2px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .2s ease}.source-option[_ngcontent-%COMP%]:hover{border-color:var(--color-primary);background:var(--color-bg-hover)}.source-option.selected[_ngcontent-%COMP%]{border-color:var(--color-primary);background:var(--color-bg-hover);box-shadow:0 0 0 1px var(--color-primary)}.source-option[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]{margin-top:2px;cursor:pointer}.source-option[_ngcontent-%COMP%] .source-content[_ngcontent-%COMP%]{flex:1}.source-option[_ngcontent-%COMP%] .source-content[_ngcontent-%COMP%] .source-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.source-option[_ngcontent-%COMP%] .source-content[_ngcontent-%COMP%] .source-header[_ngcontent-%COMP%] .source-icon[_ngcontent-%COMP%]{font-size:1.25rem}.source-option[_ngcontent-%COMP%] .source-content[_ngcontent-%COMP%] .source-header[_ngcontent-%COMP%] .source-label[_ngcontent-%COMP%]{font-weight:600;font-size:.95rem}.source-option[_ngcontent-%COMP%] .source-content[_ngcontent-%COMP%] .source-description[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--color-text-secondary);font-family:monospace;line-height:1.4}.source-display[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.source-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500}.source-badge.badge-project[_ngcontent-%COMP%]{background:#2196f31a;color:#2196f3;border:1px solid rgba(33,150,243,.3)}.source-badge.badge-colocated[_ngcontent-%COMP%]{background:#4caf501a;color:#4caf50;border:1px solid rgba(76,175,80,.3)}.doc-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:.5rem}.doc-row[_ngcontent-%COMP%] .doc-field[_ngcontent-%COMP%]{flex:1}.upload-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:background .2s}.upload-btn[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover);color:var(--color-primary)}.upload-btn.uploading[_ngcontent-%COMP%]{opacity:.5;cursor:wait}.upload-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem}.doc-upload-error[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--color-error)}.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}"]})};var Ye=()=>[],$e=s=>({id:s});function et(s,t){if(s&1&&(i(0,"div",5),l(1),o()),s&2){let e=m();d(),x(e.errorMessage())}}function tt(s,t){if(s&1){let e=b();i(0,"ds-entity-card",7),c("selected",function(a){g(e);let r=m();return p(r.onEdit(a))}),q(1,8),i(2,"button",9),c("click",function(a){return a.stopPropagation()}),i(3,"mat-icon"),l(4,"more_vert"),o()(),H(),o()}if(s&2){let e=t.$implicit;m();let n=L(9);C("id",e.id)("name",e.name)("description",e.description)("badges",e.badges??Z(6,Ye)),d(2),C("matMenuTriggerFor",n)("matMenuTriggerData",K(7,$e,e.id))}}function nt(s,t){if(s&1){let e=b();i(0,"button",10),c("click",function(){let a=g(e).id,r=m();return p(r.onEdit(a))}),i(1,"mat-icon"),l(2,"edit"),o(),l(3," Edit "),o(),i(4,"button",11),c("click",function(){let a=g(e).id,r=m();return p(r.onDelete(a))}),i(5,"mat-icon"),l(6,"delete"),o(),l(7," Delete "),o()}}var Be=class s{agentCrudApi=h(v);location=h(X);dialog=h(te);agents=S([]);isLoading=S(!1);errorMessage=S(null);agentItems=Q(()=>this.agents().map(t=>({id:t.name,name:t.name,description:t.description,badges:this.buildBadges(t),groupKey:t.source,groupLabel:t.source==="project"?"Project (~/.coday/)":"Colocated (next to coday.yaml)"})));ngOnInit(){this.loadAgents()}loadAgents(){this.isLoading.set(!0),this.errorMessage.set(null),this.agentCrudApi.listEditableAgents().subscribe({next:t=>{this.agents.set(t),this.isLoading.set(!1)},error:t=>{this.errorMessage.set(t?.error?.error??"Failed to load agents"),this.isLoading.set(!1)}})}onBack(){this.location.back()}onCreate(){this.dialog.open(w,{width:"700px",maxHeight:"90vh",data:{mode:"create"}}).afterClosed().subscribe(e=>{e&&this.loadAgents()})}onEdit(t){this.agentCrudApi.getAgent(t).subscribe({next:e=>{this.dialog.open(w,{width:"700px",maxHeight:"90vh",data:{mode:"edit",agent:e}}).afterClosed().subscribe(a=>{a&&this.loadAgents()})},error:e=>this.errorMessage.set(e?.error?.error??"Failed to load agent")})}onDelete(t){confirm(`Are you sure you want to delete agent "${t}"?`)&&this.agentCrudApi.deleteAgent(t).subscribe({next:()=>this.loadAgents(),error:e=>this.errorMessage.set(e?.error?.error??"Failed to delete agent")})}buildBadges(t){return[t.source==="project"?{label:"project",variant:"info"}:{label:"colocated",variant:"success"}]}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=E({type:s,selectors:[["app-agent-list"]],decls:11,vars:4,consts:[["agentCard",""],["cardMenu","matMenu"],[1,"agent-list-page"],["title","Agents","cardMinWidth","260px","contentMaxWidth","1400px","searchPlaceholder","Filter agents\u2026","emptyMessage","No file-based agents found.",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","mat-icon-button","","title","Back",3,"click"],[1,"agent-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,"agent-list__delete-item",3,"click"]],template:function(e,n){if(e&1&&(i(0,"div",2)(1,"ds-entity-list",3),c("createRequested",function(){return n.onCreate()}),i(2,"button",4),c("click",function(){return n.onBack()}),i(3,"mat-icon"),l(4,"chevron_left"),o()()(),M(5,et,2,1,"div",5),o(),k(6,tt,5,9,"ng-template",null,0,J),i(8,"mat-menu",null,1),k(10,nt,8,0,"ng-template",6),o()),e&2){let a=L(7);d(),C("items",n.agentItems())("showCreate",!0)("itemTemplate",a),d(4),y(n.errorMessage()?5:-1)}},dependencies:[We,ke,Te,I,O,T,F,pe,ce,de,me,ge],styles:["[_nghost-%COMP%]{display:block;width:100%;min-height:100vh;background:var(--color-bg);overflow-y:auto}.agent-list__delete-item[_ngcontent-%COMP%]{color:var(--color-error, #ff3b30)}.agent-list__delete-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:inherit}.agent-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}"]})};export{Be as AgentListComponent};