@whoz-oss/coday-client 0.211.0 → 0.212.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 (106) hide show
  1. package/browser/chunk-2BN4B3OL.js +1 -0
  2. package/browser/{chunk-P2H3E3A5.js → chunk-2M7UJVMC.js} +1 -1
  3. package/browser/{chunk-BFHBI6M4.js → chunk-2PNAJMT3.js} +1 -1
  4. package/browser/{chunk-S7353OXG.js → chunk-34BTCCLM.js} +1 -1
  5. package/browser/{chunk-PG25CCE5.js → chunk-3F2YMBKP.js} +1 -1
  6. package/browser/{chunk-LRFTCV6X.js → chunk-3FFHE56W.js} +1 -1
  7. package/browser/{chunk-GMEPQIKD.js → chunk-3HJTBDXT.js} +1 -1
  8. package/browser/{chunk-TT7A5DFQ.js → chunk-3W2U42II.js} +1 -1
  9. package/browser/{chunk-SDPYXC6U.js → chunk-4TH4ERQY.js} +1 -1
  10. package/browser/chunk-5NLXR4MK.js +5 -0
  11. package/browser/{chunk-TD5QFOMN.js → chunk-66JGZWOM.js} +1 -1
  12. package/browser/{chunk-XMX2HILZ.js → chunk-6AVOYZCH.js} +1 -1
  13. package/browser/{chunk-M7KJM66I.js → chunk-6SDJIZMP.js} +1 -1
  14. package/browser/{chunk-Q4QETBSU.js → chunk-7EHCV7WH.js} +1 -1
  15. package/browser/{chunk-JKGV5VDH.js → chunk-7U5MROHI.js} +1 -1
  16. package/browser/{chunk-3KLIHIYI.js → chunk-A34IERCN.js} +1 -1
  17. package/browser/{chunk-76J57JUY.js → chunk-BJM7MKOH.js} +1 -1
  18. package/browser/{chunk-QN7OUZIZ.js → chunk-BZ7URUNM.js} +1 -1
  19. package/browser/{chunk-EIJAV76W.js → chunk-BZS55WHS.js} +1 -1
  20. package/browser/{chunk-TGWQ4PGG.js → chunk-C2XSJPYF.js} +1 -1
  21. package/browser/{chunk-46WOQYAR.js → chunk-CA4E6QDU.js} +1 -1
  22. package/browser/{chunk-7ZPD4MSE.js → chunk-CAGXAQN4.js} +1 -1
  23. package/browser/{chunk-XEZ6VJ4O.js → chunk-DJOQI226.js} +1 -1
  24. package/browser/chunk-DVROUT7T.js +1 -0
  25. package/browser/{chunk-TISGZSTL.js → chunk-E2KMSNBI.js} +1 -1
  26. package/browser/{chunk-NXKPUZGQ.js → chunk-EBAEYY2S.js} +1 -1
  27. package/browser/{chunk-2S57CBYZ.js → chunk-EFCODPLG.js} +1 -1
  28. package/browser/chunk-EKYOF32Y.js +1 -0
  29. package/browser/chunk-F4BSKSY7.js +1 -0
  30. package/browser/{chunk-ICVL3MNG.js → chunk-FUCTIGHD.js} +1 -1
  31. package/browser/{chunk-VSCZ2PDC.js → chunk-GCJZKHAW.js} +1 -1
  32. package/browser/chunk-GDWZ2TMN.js +1 -0
  33. package/browser/{chunk-HTKDXFLE.js → chunk-GF3EMWCA.js} +1 -1
  34. package/browser/{chunk-MAHIDPCP.js → chunk-GPZP3WYQ.js} +1 -1
  35. package/browser/{chunk-VMVYRYDR.js → chunk-GUV6MT45.js} +1 -1
  36. package/browser/{chunk-SVDYPTKV.js → chunk-HPTWGGVI.js} +1 -1
  37. package/browser/{chunk-C2WDN7VC.js → chunk-HPVNIFEJ.js} +1 -1
  38. package/browser/{chunk-CJGAUAQG.js → chunk-HV2LANES.js} +1 -1
  39. package/browser/{chunk-5V6YWKKW.js → chunk-IDD4RLL7.js} +1 -1
  40. package/browser/{chunk-F5MVOI67.js → chunk-IRW4FVEN.js} +1 -1
  41. package/browser/{chunk-63CH53ZX.js → chunk-J5W3AZMJ.js} +1 -1
  42. package/browser/{chunk-BIRQBBDM.js → chunk-JEN2LAHJ.js} +1 -1
  43. package/browser/{chunk-2BY3KQRI.js → chunk-K6PYQXSH.js} +1 -1
  44. package/browser/{chunk-SECZWZIB.js → chunk-KD3BJ52V.js} +1 -1
  45. package/browser/{chunk-74OAAPUO.js → chunk-KK4POI54.js} +1 -1
  46. package/browser/{chunk-X5QAL64P.js → chunk-KP4KMDLX.js} +1 -1
  47. package/browser/{chunk-RYCGZWL2.js → chunk-KWBMAZB4.js} +1 -1
  48. package/browser/{chunk-FM5EGDVD.js → chunk-LN55MSDV.js} +1 -1
  49. package/browser/chunk-M3LG5XSB.js +1 -0
  50. package/browser/{chunk-WE6G6IT3.js → chunk-NAHXPRXR.js} +1 -1
  51. package/browser/{chunk-IAIUV3RV.js → chunk-NCFBQG5D.js} +1 -1
  52. package/browser/chunk-NHXL5GKK.js +1 -0
  53. package/browser/{chunk-MXMEO3GF.js → chunk-NUQZWQIL.js} +1 -1
  54. package/browser/chunk-O37JOBGG.js +1 -0
  55. package/browser/{chunk-BE7M4IG4.js → chunk-O73HCJ4T.js} +1 -1
  56. package/browser/{chunk-Y7F5MAVT.js → chunk-OINUZPA5.js} +1 -1
  57. package/browser/{chunk-NNVKL253.js → chunk-OPSHMM4H.js} +1 -1
  58. package/browser/{chunk-KCCB2UUO.js → chunk-OWSH6KVW.js} +1 -1
  59. package/browser/{chunk-32554AB2.js → chunk-P4GNUQZT.js} +1 -1
  60. package/browser/{chunk-KQBJFLLL.js → chunk-P6FB27NC.js} +1 -1
  61. package/browser/{chunk-E5DDFFB5.js → chunk-PY555EP5.js} +1 -1
  62. package/browser/{chunk-AR4TQRY3.js → chunk-QCDV42EK.js} +1 -1
  63. package/browser/{chunk-JEQJLLFU.js → chunk-QSWJW2CT.js} +1 -1
  64. package/browser/{chunk-JZJSONXG.js → chunk-RXRBDGVY.js} +1 -1
  65. package/browser/{chunk-H3TZ44FQ.js → chunk-S3LSARXT.js} +1 -1
  66. package/browser/{chunk-AFDQ6DZP.js → chunk-S5RA5ZES.js} +1 -1
  67. package/browser/chunk-SDINNYUR.js +1 -0
  68. package/browser/{chunk-BVQ4XPRS.js → chunk-SKBT6DBT.js} +1 -1
  69. package/browser/{chunk-RAN3AUJQ.js → chunk-SO6H32XQ.js} +1 -1
  70. package/browser/chunk-SOAR3OAC.js +6 -0
  71. package/browser/{chunk-6XJNC5K6.js → chunk-SPSSJANY.js} +1 -1
  72. package/browser/{chunk-RULUSI5M.js → chunk-TUARXNRR.js} +1 -1
  73. package/browser/{chunk-CK52GCRW.js → chunk-U5L2OULZ.js} +1 -1
  74. package/browser/{chunk-WBQOEBH7.js → chunk-UDEMKCGK.js} +1 -1
  75. package/browser/chunk-UL6K7Q2E.js +1 -0
  76. package/browser/{chunk-Z54GR5ZE.js → chunk-UR4HA56C.js} +1 -1
  77. package/browser/{chunk-JLMNYKPP.js → chunk-V3HCXJKS.js} +1 -1
  78. package/browser/{chunk-RAZWY4EA.js → chunk-V4N6GKHW.js} +1 -1
  79. package/browser/{chunk-E5MHC5FO.js → chunk-V7NUXN3R.js} +1 -1
  80. package/browser/{chunk-2C5ENIQ7.js → chunk-VLPN6IDQ.js} +1 -1
  81. package/browser/chunk-VOUBTGWM.js +1 -0
  82. package/browser/{chunk-5TU5JR3W.js → chunk-W7ZS65Y4.js} +1 -1
  83. package/browser/{chunk-CHH2YNB6.js → chunk-WIYSZEOD.js} +1 -1
  84. package/browser/{chunk-DCQJI6UI.js → chunk-WPII4MHK.js} +1 -1
  85. package/browser/{chunk-WFACDK2M.js → chunk-XC3I4AWV.js} +1 -1
  86. package/browser/{chunk-EKDXOFZ4.js → chunk-XRPNDAPU.js} +1 -1
  87. package/browser/{chunk-GPFXEDNE.js → chunk-XSG2UKSS.js} +1 -1
  88. package/browser/{chunk-JE46DHIY.js → chunk-YTQT7NZE.js} +1 -1
  89. package/browser/{chunk-7VQ75OC6.js → chunk-Z6RFJ6L3.js} +1 -1
  90. package/browser/index.html +1 -1
  91. package/browser/main-HWU5NMWS.js +1 -0
  92. package/package.json +1 -1
  93. package/browser/chunk-2AZPKCT2.js +0 -1
  94. package/browser/chunk-7BVQ2WHQ.js +0 -1
  95. package/browser/chunk-ERDL7CBL.js +0 -1
  96. package/browser/chunk-F7X52MX4.js +0 -6
  97. package/browser/chunk-GFBKFSKL.js +0 -1
  98. package/browser/chunk-LNJHIZH4.js +0 -1
  99. package/browser/chunk-OGRY5XOW.js +0 -1
  100. package/browser/chunk-QDO3O2UB.js +0 -5
  101. package/browser/chunk-QGAK24J7.js +0 -1
  102. package/browser/chunk-QP5FMZO7.js +0 -1
  103. package/browser/chunk-RMX22TIL.js +0 -1
  104. package/browser/chunk-UQKCMPNK.js +0 -1
  105. package/browser/chunk-ZX7BSCA5.js +0 -1
  106. package/browser/main-NWHBJ3QR.js +0 -1
@@ -1 +0,0 @@
1
- import{c as ge}from"./chunk-IAIUV3RV.js";import{a as he}from"./chunk-7BVQ2WHQ.js";import{a as Ce}from"./chunk-5V6YWKKW.js";import{a as Xe}from"./chunk-ZX7BSCA5.js";import{c as Ke}from"./chunk-Q4QETBSU.js";import{a as pe,e as _e,h as Be}from"./chunk-5TU5JR3W.js";import{a as Qe,b as je,c as Ye}from"./chunk-CHH2YNB6.js";import{a as J,c as me}from"./chunk-32554AB2.js";import{o as ue,t as Ge}from"./chunk-F7X52MX4.js";import{a as L,b as Ue,c as te}from"./chunk-BVQ4XPRS.js";import{Ab as Me,Bb as S,D as ae,Db as u,Eb as X,F as Y,Fb as c,Ga as Re,Hc as $e,Jb as W,Ka as s,Kb as q,Kc as He,Lb as V,Ma as re,Pb as le,Q as Oe,Qb as ce,Rb as I,S as H,Sb as Te,Tb as d,Ub as g,Uc as de,Vb as z,Wa as P,Xb as qe,Xc as We,Z as Ie,a as ne,ab as se,b as oe,ca as y,cc as Ve,dc as Le,ec as ze,fc as Fe,ga as C,h as ie,ha as b,i as Ee,ic as ke,jb as ee,kb as Ae,lb as p,lc as T,m as j,ma as G,mb as _,oc as v,pa as De,pb as D,pc as f,qb as N,rb as M,sb as r,t as $,ta as x,tb as l,ua as K,ub as A,va as Ne,vb as k,wb as O,xb as Se}from"./chunk-QDO3O2UB.js";var Z=class o{caseController=y(_e);cases=x([]);loadSubscription=null;loadCases(t){this.loadSubscription?.unsubscribe(),this.loadSubscription=this.caseController.listByParentCase(t).subscribe(e=>{this.cases.set(e),this.loadSubscription=null})}addCase(t){this.cases.update(e=>[t,...e])}updateCaseTitle(t,e){this.cases.update(n=>n.map(i=>i.id===t?oe(ne({},i),{title:e}):i))}static \u0275fac=function(e){return new(e||o)};static \u0275prov=Ie({token:o,factory:o.\u0275fac,providedIn:"root"})};var ot=["promptItem"],Je=(o,t)=>t.name;function it(o,t){if(o&1&&(k(0,"span",5),d(1),O()),o&2){let e=t.$implicit;s(),qe("","{","","{","",e.name,"","}","","}")}}function at(o,t){if(o&1&&(k(0,"span",6),d(1),O()),o&2){let e=c().$implicit;s(),g(e.description)}}function rt(o,t){if(o&1){let e=S();k(0,"li",3,0),X("click",function(){let i=C(e).$implicit,a=c();return b(a.onItemClick(i))})("keydown.enter",function(){let i=C(e).$implicit,a=c();return b(a.onItemClick(i))})("mouseenter",function(){let i=C(e).$index,a=c();return b(a.activeIndex.set(i))}),k(2,"span",4),d(3),D(4,it,2,5,"span",5,Je),O(),p(6,at,2,1,"span",6),O()}if(o&2){let e=t.$implicit,n=t.$index,i=c();I("prompt-autocomplete__item--active",i.isActive(n)),ee("aria-selected",i.isActive(n)),s(3),z(" /",e.name," "),s(),N(e.parameters),s(2),_(e.description?6:-1)}}var U=class o{prompts=f.required();selected=v();dismissed=v();activeIndex=x(0);itemRefs;ngOnChanges(t){t.prompts&&this.activeIndex.set(0)}navigate(t){let e=this.prompts();switch(t){case"ArrowDown":this.activeIndex.set(Math.min(this.activeIndex()+1,e.length-1)),this.scrollActiveIntoView();break;case"ArrowUp":this.activeIndex.set(Math.max(this.activeIndex()-1,0)),this.scrollActiveIntoView();break;case"Enter":{let n=e[this.activeIndex()];n&&this.selected.emit(n);break}case"Escape":this.dismissed.emit();break}}onItemClick(t){this.selected.emit(t)}isActive(t){return this.activeIndex()===t}completionFor(t){return`/${t.name} `}scrollActiveIntoView(){this.itemRefs?.toArray()?.[this.activeIndex()]?.nativeElement.scrollIntoView({block:"nearest"})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=P({type:o,selectors:[["agentos-prompt-autocomplete"]],viewQuery:function(e,n){if(e&1&&W(ot,5),e&2){let i;q(i=V())&&(n.itemRefs=i)}},inputs:{prompts:[1,"prompts"]},outputs:{selected:"selected",dismissed:"dismissed"},features:[Ne],decls:3,vars:0,consts:[["promptItem",""],["role","listbox","aria-label","Slash commands",1,"prompt-autocomplete"],["role","option","tabindex","-1",1,"prompt-autocomplete__item",3,"prompt-autocomplete__item--active"],["role","option","tabindex","-1",1,"prompt-autocomplete__item",3,"click","keydown.enter","mouseenter"],[1,"prompt-autocomplete__name"],[1,"prompt-autocomplete__param"],[1,"prompt-autocomplete__description"]],template:function(e,n){e&1&&(k(0,"ul",1),D(1,rt,7,5,"li",2,Je),O()),e&2&&(s(),N(n.prompts()))},styles:[".prompt-autocomplete[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;max-height:400px;width:100%;overflow-y:auto}.prompt-autocomplete[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px}.prompt-autocomplete[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:transparent}.prompt-autocomplete[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--color-border, rgba(0, 0, 0, .15));border-radius:4px}.prompt-autocomplete[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary, #6e6e73)}.prompt-autocomplete[_ngcontent-%COMP%]{display:grid;grid-template-columns:max-content 1fr}.prompt-autocomplete__item[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:center;cursor:pointer;transition:background .2s;border-left:3px solid transparent;padding:.5rem 0}.prompt-autocomplete__item[_ngcontent-%COMP%]:hover, .prompt-autocomplete__item--active[_ngcontent-%COMP%]{background:var(--color-bg-hover, rgba(0, 113, 227, .08))}.prompt-autocomplete__item--active[_ngcontent-%COMP%]{border-left-color:var(--color-primary, #007aff)}.prompt-autocomplete__name[_ngcontent-%COMP%]{font-weight:600;font-size:.95rem;color:var(--color-text, #1d1d1f);font-family:SF Mono,Monaco,Menlo,Cascadia Code,Consolas,monospace;white-space:nowrap;padding:0 1.5rem 0 .75rem;display:flex;align-items:center;gap:.4rem}.prompt-autocomplete__param[_ngcontent-%COMP%]{font-size:.85rem;font-family:SF Mono,Monaco,Menlo,Cascadia Code,Consolas,monospace;color:var(--color-text-secondary, #6e6e73);font-weight:400}.prompt-autocomplete__description[_ngcontent-%COMP%]{font-size:.85rem;color:var(--color-text-secondary, #6e6e73);line-height:1.3;padding:0 1rem 0 0}"],changeDetection:0})};var st=["composerInput"],lt=["messagesContainer"],ct=(o,t)=>t.phaseIndex;function dt(o,t){o&1&&(r(0,"div",4)(1,"p"),d(2,"No messages yet."),l()())}function mt(o,t){if(o&1&&(r(0,"div",19)(1,"span",22),d(2,"session context"),l(),r(3,"pre",23),d(4),ze(5,"json"),l()()),o&2){let e=c(2).$implicit;s(4),g(Fe(5,1,e.event.sessionContext))}}function pt(o,t){if(o&1&&(r(0,"div",18),p(1,mt,6,3,"div",19),r(2,"span",20),d(3),l(),A(4,"div",21),l()),o&2){let e=c().$implicit,n=c(2);I("case-chat__message--user",e.event.actor.role==="USER")("case-chat__message--agent",e.event.actor.role==="AGENT"),s(),_(n.showTechnical()&&e.event.sessionContext?1:-1),s(2),g(e.event.actor.displayName),s(),M("innerHTML",e.html,Re)}}function _t(o,t){if(o&1&&(r(0,"div",15)(1,"span",20),d(2),l(),r(3,"p",24),d(4),l()()),o&2){let e=c().$implicit,n=c(2);s(2),g(n.agentDisplayName()),s(2),g(e.text)}}function ut(o,t){if(o&1&&(r(0,"div",29),d(1),l()),o&2){let e=c(3).$implicit;s(),g(e.item.detail)}}function ht(o,t){if(o&1){let e=S();r(0,"button",27),u("click",function(){C(e);let i=c(2).$implicit,a=c(2);return b(a.toggleTechnical(i.eventId))}),r(1,"span",26),d(2),l(),r(3,"span",28),d(4),l()(),p(5,ut,2,1,"div",29)}if(o&2){let e=c(2).$implicit,n=c(2);ee("aria-expanded",n.isTechnicalExpanded(e.eventId)),s(2),g(e.item.label),s(2),g(n.isTechnicalExpanded(e.eventId)?"\u25BC":"\u25B6"),s(),_(n.isTechnicalExpanded(e.eventId)?5:-1)}}function gt(o,t){if(o&1&&(r(0,"span",26),d(1),l()),o&2){let e=c(2).$implicit;s(),g(e.item.label)}}function Ct(o,t){if(o&1&&(r(0,"div",25),p(1,ht,6,4)(2,gt,2,1,"span",26),l()),o&2){let e=c().$implicit;I("case-chat__technical--warn",e.item.type==="WarnEvent")("case-chat__technical--error",e.item.type==="ErrorEvent"),s(),_(e.item.detail?1:2)}}function bt(o,t){o&1&&d(0," \u23F3 ")}function ft(o,t){o&1&&d(0," \u2705 ")}function vt(o,t){o&1&&d(0," \u274C ")}function xt(o,t){if(o&1&&(r(0,"div",46)(1,"span",47),d(2,"Enrichment content"),l(),r(3,"pre"),d(4),l()()),o&2){let e=c().$implicit;s(4),g(e.enrichmentContent)}}function yt(o,t){if(o&1&&(r(0,"div",42)(1,"div",43)(2,"span",44),d(3),l(),r(4,"span",45),d(5),l()(),r(6,"div",46)(7,"span",47),d(8,"Prompt"),l(),r(9,"pre"),d(10),l()(),r(11,"div",46)(12,"span",47),d(13,"LLM output"),l(),r(14,"pre"),d(15),l()(),p(16,xt,5,1,"div",46),l()),o&2){let e=t.$implicit;I("case-chat__enrichment-phase--failed",!e.success),s(3),z("Phase ",e.phaseIndex),s(2),g(e.success?"\u2705":"\u274C"),s(5),g(e.prompt),s(5),g(e.llmOutput),s(),_(e.enrichmentContent?16:-1)}}function wt(o,t){if(o&1&&(r(0,"div",36)(1,"span",38),d(2,"Enrichment phases"),l(),D(3,yt,17,7,"div",41,ct),l()),o&2){let e=c(3).$implicit;s(3),N(e.call.enrichmentPhases)}}function St(o,t){if(o&1&&(r(0,"div",37)(1,"span",38),d(2,"Payload"),l(),r(3,"pre"),d(4),l()()),o&2){let e=c(3).$implicit;s(4),g(e.call.args)}}function Mt(o,t){o&1&&(r(0,"pre"),d(1),l()),o&2&&(s(),g(t))}function Tt(o,t){o&1&&(r(0,"span",39),d(1,"Running\u2026"),l())}function kt(o,t){o&1&&(r(0,"span",40),d(1,"No output"),l())}function Pt(o,t){if(o&1&&(r(0,"div",35),p(1,wt,5,0,"div",36),p(2,St,5,1,"div",37),r(3,"div",37)(4,"span",38),d(5,"Output"),l(),p(6,Mt,2,1,"pre")(7,Tt,2,0,"span",39)(8,kt,2,0,"span",40),l()()),o&2){let e,n=c(2).$implicit,i=c(2);s(),_(i.showTechnical()&&(n.call.enrichmentPhases!=null&&n.call.enrichmentPhases.length)?1:-1),s(),_(n.call.args?2:-1),s(4),_((e=i.extractToolOutput(n.call))?6:n.call.response?8:7,e)}}function Et(o,t){if(o&1){let e=S();r(0,"div",30)(1,"button",31),u("click",function(){C(e);let i=c().$implicit,a=c(2);return b(a.toggleToolCall(i.call.requestId))}),r(2,"span",32),p(3,bt,1,0)(4,ft,1,0)(5,vt,1,0),l(),r(6,"span",33),d(7),l(),r(8,"span",34),d(9),l()(),p(10,Pt,9,3,"div",35),l()}if(o&2){let e=c().$implicit,n=c(2);I("case-chat__tool-call--pending",!e.call.response)("case-chat__tool-call--success",(e.call.response==null?null:e.call.response.success)===!0)("case-chat__tool-call--error",(e.call.response==null?null:e.call.response.success)===!1),s(),ee("aria-expanded",n.isToolCallExpanded(e.call.requestId)),s(2),_(e.call.response?e.call.response.success?4:5:3),s(4),g(e.call.toolName),s(2),g(n.isToolCallExpanded(e.call.requestId)?"\u25BC":"\u25B6"),s(),_(n.isToolCallExpanded(e.call.requestId)?10:-1)}}function Ot(o,t){if(o&1&&p(0,pt,5,7,"div",14)(1,_t,5,2,"div",15)(2,Ct,3,5,"div",16)(3,Et,11,11,"div",17),o&2){let e=t.$implicit;_(e.kind==="message"?0:e.kind==="streaming"?1:e.kind==="technical"?2:3)}}function It(o,t){if(o&1&&D(0,Ot,4,1,null,null,Ae().trackTimelineItem,!0),o&2){let e=c();N(e.timeline())}}function Dt(o,t){o&1&&(r(0,"div",5),A(1,"span",48)(2,"span",48)(3,"span",48),l())}function Nt(o,t){if(o&1){let e=S();r(0,"div",6)(1,"ds-icon-button",49),u("action",function(){C(e);let i=c();return b(i.onScrollToBottomClick())}),l()()}}function Rt(o,t){if(o&1){let e=S();r(0,"div",8)(1,"agentos-prompt-autocomplete",50),u("selected",function(i){C(e);let a=c();return b(a.onPromptSelected(i))})("dismissed",function(){C(e);let i=c();return b(i.closeAutocomplete())}),l()()}if(o&2){let e=c();s(),M("prompts",e.slashSuggestions())}}function At(o,t){if(o&1){let e=S();r(0,"ds-icon-button",51),u("action",function(){C(e);let i=c();return b(i.interrupt())}),l()}}function qt(o,t){if(o&1){let e=S();r(0,"ds-icon-button",52),u("action",function(){C(e);let i=c();return b(i.submit())}),l()}if(o&2){let e=c();M("title",e.preferences.composerHint())("disabled",!e.canSend)}}var Vt=64,be=class o{route=y(J);http=y(de);zone=y(De);destroyRef=y(G);domSanitizer=y(We);config=y(pe);preferences=y(ge);caseState=y(Z);promptState=y(he);caseId=this.route.snapshot.queryParams.case;namespaceId=this.route.snapshot.queryParams.ns;markdownRenderer=this.buildMarkdownRenderer();agentDisplayName=T(()=>{let t=this.events();for(let e=t.length-1;e>=0;e--){let n=t[e];if(n){if(n.type==="AgentRunningEvent"||n.type==="AgentSelectedEvent"||n.type==="AgentFinishedEvent"){let i=n.agentName;if(i&&i.trim().length>0)return i}if(n.type==="MessageEvent"&&n.actor.role==="AGENT"&&n.actor.displayName)return n.actor.displayName}}return"Assistant"});eventSource=null;composerInput;messagesContainer;autocompleteRef;events=x([]);messageHtmlCache=new Map;inputValue=x("");isRunning=x(!1);isTerminal=x(!1);effectivePrompts=[];promptsLoaded=!1;slashPrefix$=new ie;slashSuggestions=x([]);static SHOW_TECHNICAL_KEY="agentos.case-chat.showTechnical";showTechnical=x(localStorage.getItem(o.SHOW_TECHNICAL_KEY)==="true");showTechnicalOverride=f(!1);streamingText=x("");collapsedTools=x(new Set);expandedTechnicals=x(new Set);isAtBottom=x(!0);scrollListenerCleanup=null;constructor(){this.slashPrefix$.pipe(Y(60),H(t=>(this.promptsLoaded?j(this.effectivePrompts):this.promptState.listEffective(this.namespaceId).pipe(ae(()=>j([])))).pipe($(n=>({prefix:t,prompts:n})))),L(this.destroyRef)).subscribe(({prefix:t,prompts:e})=>{this.effectivePrompts=e,this.promptsLoaded=!0,this.slashSuggestions.set(e.filter(n=>n.name.toLowerCase().startsWith(t.toLowerCase())))}),K(()=>{this.showTechnical.set(this.showTechnicalOverride())}),K(()=>{this.isRunning()||this.isTerminal()||queueMicrotask(()=>this.composerInput?.nativeElement.focus())}),K(()=>{this.timeline(),this.streamingText(),this.isAtBottom()&&queueMicrotask(()=>this.scrollToBottom())}),re(()=>{this.attachScrollListener()})}baseTimeline=T(()=>{let t=this.events(),e=this.showTechnical(),n=new Map;for(let w of t)if(w.type==="ToolRequestEvent"){let m=w,h=m.toolRequestId??w.id,R=n.get(h);n.set(h,{requestId:h,toolName:m.toolName??"unknown",args:m.args??null,response:R?.response,enrichmentPhases:m.enrichmentPhases??null})}else if(w.type==="ToolResponseEvent"){let m=w,h=m.toolRequestId??w.id,R=n.get(h);n.set(h,{requestId:h,toolName:R?.toolName??m.toolName??"unknown",args:R?.args??null,response:m,enrichmentPhases:R?.enrichmentPhases??null})}let i=[],a=new Set;for(let w of t)if(w.type==="MessageEvent"){let m=w;i.push({kind:"message",event:m,html:this.messageHtmlCache.get(w.id)??""})}else if(w.type==="ToolRequestEvent"||w.type==="ToolResponseEvent"){let m=w.toolRequestId??w.id;a.has(m)||(a.add(m),i.push({kind:"tool",call:n.get(m)}))}else if(e){let m=this.toTechnicalItem(w);m&&i.push({kind:"technical",item:m,eventId:w.id})}return i});timeline=T(()=>{let t=this.baseTimeline(),e=this.streamingText();return e.trim().length===0?t:[...t,{kind:"streaming",text:e}]});trackTimelineItem(t,e){switch(e.kind){case"message":return e.event.id;case"tool":return e.call.requestId;case"technical":return e.eventId;case"streaming":return"streaming"}}get canSend(){return!!this.inputValue().trim()&&!this.isRunning()&&!this.isTerminal()}ngOnInit(){this.connectSse(),this.route.queryParams.pipe(L(this.destroyRef)).subscribe(t=>{let e=t.case;e&&e!==this.caseId&&(this.caseId=e,this.reinitialise())})}ngOnDestroy(){this.eventSource?.close(),this.scrollListenerCleanup?.()}attachScrollListener(){let t=this.messagesContainer?.nativeElement;if(!t)return;let e=()=>{let n=t.scrollHeight-t.scrollTop-t.clientHeight;this.isAtBottom.set(n<=Vt)};t.addEventListener("scroll",e,{passive:!0}),this.scrollListenerCleanup=()=>t.removeEventListener("scroll",e)}scrollToBottom(){let t=this.messagesContainer?.nativeElement;t&&(t.scrollTop=t.scrollHeight)}onScrollToBottomClick(){this.isAtBottom.set(!0),this.scrollToBottom()}connectSse(){let t=`${this.config.basePath}/api/cases/${this.caseId}/events`;console.log("[AgentOS SSE] connecting",{url:t,basePath:this.config.basePath,caseId:this.caseId,namespaceId:this.namespaceId,now:new Date().toISOString()}),this.eventSource=this.zone.runOutsideAngular(()=>new EventSource(t));let e=i=>{let a=performance.now(),w=i.type,m=i.data;console.log("[AgentOS SSE] frame received",{sseEventName:w,dataLength:m?.length??0,dataPreview:m?.slice(0,120),receivedAtMs:a});try{let h=JSON.parse(m);this.zone.run(()=>{let R=this.events().length;if(h.type==="MessageEvent"){let E=h,F=this.extractText(E);this.messageHtmlCache.has(h.id)||this.messageHtmlCache.set(h.id,this.renderMarkdown(F))}this.events.update(E=>E.some(F=>F.id===h.id)?E:[...E,h]);let nt=this.events().length;if(console.log("[AgentOS SSE] event processed",{sseEventName:w,eventType:h.type,eventId:h.id,beforeLen:R,afterLen:nt,running:this.isRunning(),terminal:this.isTerminal()}),h.type==="TextChunkEvent"){let E=h.chunk;E&&this.streamingText.update(F=>F+E);return}if(h.type==="CaseUpdatedEvent"){let E=h;E.title&&this.caseState.updateCaseTitle(h.caseId,E.title);return}if(h.type==="CaseStatusEvent"){let E=h.status,F=E==="KILLED"||E==="ERROR";if(this.isTerminal.set(F),F)this.isRunning.set(!1),this.eventSource?.close(),this.eventSource=null;else{let Pe=E==="RUNNING";this.isRunning.set(Pe),Pe||this.streamingText.set("")}return}if(h.type==="AgentFinishedEvent"){this.isRunning.set(!1),this.streamingText.set("");return}})}catch(h){console.warn("[AgentOS SSE] failed to parse event data",{sseEventName:w,error:h,dataPreview:m?.slice(0,500)})}},n=["MessageEvent","CaseStatusEvent","CaseUpdatedEvent","AgentSelectedEvent","AgentRunningEvent","AgentFinishedEvent","ThinkingEvent","TextChunkEvent","ToolRequestEvent","ToolResponseEvent","PendingConfirmationEvent","ConfirmationResolvedEvent","ErrorEvent","WarnEvent","IntentionGeneratedEvent"];for(let i of n)console.log("[AgentOS SSE] addEventListener",i),this.eventSource.addEventListener(i,e);this.eventSource.onopen=()=>{console.log("[AgentOS SSE] connection open",{readyState:this.eventSource?.readyState,at:new Date().toISOString()})},this.eventSource.onmessage=i=>{console.log("[AgentOS SSE] onmessage (unnamed event) received",{dataLength:i.data?.length??0,dataPreview:i.data?.slice(0,120)})},this.eventSource.onerror=i=>{console.warn("[AgentOS SSE] connection error",{err:i,readyState:this.eventSource?.readyState,at:new Date().toISOString()}),this.zone.run(()=>{this.isRunning.set(!1)})}}onInput(t){let e=t.target.value;this.inputValue.set(e),this.updateSlashAutocomplete(e)}onKeydown(t){if(this.slashSuggestions().length>0){if(t.key==="ArrowDown"||t.key==="ArrowUp"){t.preventDefault(),this.autocompleteRef?.navigate(t.key);return}if(t.key==="Escape"){t.preventDefault(),this.closeAutocomplete();return}if(t.key==="Tab"||t.key==="Enter"){t.preventDefault(),this.autocompleteRef?.navigate("Enter");return}}this.preferences.shouldSend(t)&&(t.preventDefault(),this.submit())}onPromptSelected(t){let e=this.autocompleteRef?.completionFor(t)??`/${t.name} `;this.inputValue.set(e),queueMicrotask(()=>{let n=this.composerInput?.nativeElement;n&&(n.value=e,n.setSelectionRange(e.length,e.length),n.focus())}),this.closeAutocomplete()}closeAutocomplete(){this.slashSuggestions.set([])}updateSlashAutocomplete(t){if(!t.startsWith("/")){this.slashSuggestions().length&&this.slashSuggestions.set([]);return}let e=t.slice(1);if(e.includes(" ")){this.slashSuggestions().length&&this.slashSuggestions.set([]);return}this.promptsLoaded&&this.slashSuggestions.set(this.effectivePrompts.filter(n=>n.name.toLowerCase().startsWith(e.toLowerCase()))),this.slashPrefix$.next(e)}reinitialise(){this.eventSource?.close(),this.eventSource=null,this.events.set([]),this.messageHtmlCache.clear(),this.inputValue.set(""),this.isRunning.set(!1),this.isTerminal.set(!1),this.streamingText.set(""),this.collapsedTools.set(new Set),this.isAtBottom.set(!0),this.slashSuggestions.set([]),this.effectivePrompts=[],this.promptsLoaded=!1,this.connectSse()}submit(){if(!this.canSend)return;let t=this.inputValue().trim();this.inputValue.set(""),this.sendMessage(t)}sendMessage(t){this.isRunning.set(!0),this.streamingText.set(""),this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/messages`,{content:t,userId:"default-user"}).subscribe({error:e=>{console.error("[CaseChat] Failed to send message",e),this.isRunning.set(!1)}})}interrupt(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/interrupt`,{}).subscribe({error:t=>console.error("[CaseChat] Failed to interrupt case",t)})}kill(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/kill`,{}).subscribe({error:t=>console.error("[CaseChat] Failed to kill case",t)})}extractText(t){return t.content?.filter(e=>"content"in e).map(e=>e.content).join("")??""}extractToolOutput(t){if(!t.response)return null;let e=t.response.output;return e?e.content??null:null}toggleToolCall(t){this.collapsedTools.update(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}isToolCallExpanded(t){return this.collapsedTools().has(t)}toggleShowTechnical(){this.showTechnical.update(t=>{let e=!t;return localStorage.setItem(o.SHOW_TECHNICAL_KEY,String(e)),e})}toggleTechnical(t){this.expandedTechnicals.update(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}isTechnicalExpanded(t){return this.expandedTechnicals().has(t)}renderMarkdown(t){if(!t)return"";let e=je.parse(t,{renderer:this.markdownRenderer,breaks:!0,gfm:!0,async:!1}),n=Ye.sanitize(e,{ADD_TAGS:["span"],ADD_ATTR:["aria-hidden","aria-label","target","rel"],ALLOWED_URI_REGEXP:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))/i});return this.domSanitizer.bypassSecurityTrustHtml(n)}buildMarkdownRenderer(){let t=new Qe,e=t.link.bind(t);return t.link=n=>{let i=e(n);return this.isExternalLink(n.href)&&(i=i.replace("<a ",'<a target="_blank" rel="noopener noreferrer" ').replace("</a>",'<span class="external-link-icon" aria-hidden="true">\u2197</span></a>')),i},t}isExternalLink(t){if(!t||t.startsWith("/")||t.startsWith("#")||t.startsWith("?"))return!1;if(t.startsWith("//"))return!0;try{return new URL(t,window.location.href).hostname!==window.location.hostname}catch(e){return!1}}toTechnicalItem(t){switch(t.type){case"WarnEvent":return{type:"WarnEvent",label:"\u26A0\uFE0F Warn",detail:t.message};case"ErrorEvent":return{type:"ErrorEvent",label:"\u274C Error",detail:t.message};case"CaseStatusEvent":return{type:"CaseStatusEvent",label:`\u{1F7E1} Status: ${t.status}`};case"AgentRunningEvent":return{type:"AgentRunningEvent",label:`\u25B6\uFE0F Agent running: ${t.agentName}`};case"AgentFinishedEvent":return{type:"AgentFinishedEvent",label:`\u2705 Agent finished: ${t.agentName}`};case"AgentSelectedEvent":return{type:"AgentSelectedEvent",label:`\u{1F3AF} Agent selected: ${t.agentName}`};case"IntentionGeneratedEvent":{let e=t;return{type:"IntentionGeneratedEvent",label:`\u{1F9E0} Intention \u2192 ${e.toolName}`,detail:e.intention}}default:return null}}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=P({type:o,selectors:[["agentos-case-chat"]],viewQuery:function(e,n){if(e&1&&W(st,5)(lt,5)(U,5),e&2){let i;q(i=V())&&(n.composerInput=i.first),q(i=V())&&(n.messagesContainer=i.first),q(i=V())&&(n.autocompleteRef=i.first)}},inputs:{showTechnicalOverride:[1,"showTechnicalOverride"]},decls:15,vars:8,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"],[1,"case-chat__autocomplete"],["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",3,"title","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__technical",3,"case-chat__technical--warn","case-chat__technical--error"],[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__session-context"],[1,"case-chat__message-author"],[1,"case-chat__message-text","case-chat__message-text--markdown",3,"innerHTML"],[1,"case-chat__session-context-label"],[1,"case-chat__session-context-body"],[1,"case-chat__message-text"],[1,"case-chat__technical"],[1,"case-chat__technical-label"],["type","button",1,"case-chat__technical-header",3,"click"],[1,"case-chat__technical-chevron"],[1,"case-chat__technical-body"],[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","case-chat__enrichment-section"],[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,"case-chat__enrichment-phase",3,"case-chat__enrichment-phase--failed"],[1,"case-chat__enrichment-phase"],[1,"case-chat__enrichment-phase-header"],[1,"case-chat__enrichment-phase-index"],[1,"case-chat__enrichment-phase-status"],[1,"case-chat__enrichment-phase-row"],[1,"case-chat__enrichment-phase-label"],[1,"thinking-dot"],["icon","keyboard_arrow_down","variant","default","title","Scroll to bottom",3,"action"],[3,"selected","dismissed","prompts"],["icon","stop","variant","danger","title","Interrupt",3,"action"],["icon","send","variant","primary",3,"action","title","disabled"]],template:function(e,n){e&1&&(r(0,"div",2)(1,"div",3,0),p(3,dt,3,0,"div",4)(4,It,2,0),p(5,Dt,4,0,"div",5),l(),p(6,Nt,2,0,"div",6),r(7,"div",7),p(8,Rt,2,1,"div",8),r(9,"textarea",9,1),u("input",function(a){return n.onInput(a)})("keydown",function(a){return n.onKeydown(a)}),l(),r(11,"div",10),p(12,At,1,0,"ds-icon-button",11)(13,qt,1,2,"ds-icon-button",12),r(14,"ds-icon-button",13),u("action",function(){return n.kill()}),l()()()()),e&2&&(s(3),_(n.timeline().length===0?3:4),s(2),_(n.isRunning()?5:-1),s(),_(n.isAtBottom()?-1:6),s(2),_(n.slashSuggestions().length>0?8:-1),s(),M("value",n.inputValue())("disabled",n.isRunning()||n.isTerminal()),s(3),_(n.isRunning()?12:13),s(2),M("disabled",n.isTerminal()))},dependencies:[ue,U,He],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:var(--color-bg-hover, rgba(0, 0, 0, .04))}.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__enrichment-section[_ngcontent-%COMP%]{background:var(--color-surface-secondary, rgba(0, 0, 0, .02))}.case-chat__enrichment-phase[_ngcontent-%COMP%]{margin-top:.35rem;border-radius:4px;border:1px solid var(--color-border, rgba(0, 0, 0, .08));background:var(--glass-bg, rgba(255, 255, 255, .6));overflow:hidden}.case-chat__enrichment-phase--failed[_ngcontent-%COMP%]{border-color:var(--color-error, #ff3b30);background:#ff3b300a}.case-chat__enrichment-phase-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:.2rem .5rem;background:var(--color-surface-secondary, rgba(0, 0, 0, .03));border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .06))}.case-chat__enrichment-phase-index[_ngcontent-%COMP%]{font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary, #6e6e73)}.case-chat__enrichment-phase-status[_ngcontent-%COMP%]{font-size:.7rem}.case-chat__enrichment-phase-row[_ngcontent-%COMP%]{padding:.25rem .5rem}.case-chat__enrichment-phase-row[_ngcontent-%COMP%] + .case-chat__enrichment-phase-row[_ngcontent-%COMP%]{border-top:1px solid var(--color-border, rgba(0, 0, 0, .04))}.case-chat__enrichment-phase-row[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{margin:.15rem 0 0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);font-size:.7rem;color:var(--color-text, #1d1d1f);max-height:150px;overflow-y:auto}.case-chat__enrichment-phase-label[_ngcontent-%COMP%]{display:block;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;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__technical[_ngcontent-%COMP%]{flex-shrink:0;border-radius:6px;background:var(--color-surface-secondary, rgba(0, 0, 0, .03));border-left:3px solid var(--color-border, rgba(0, 0, 0, .12));font-size:.78rem;color:var(--color-text-secondary, #6e6e73);overflow:hidden}.case-chat__technical--warn[_ngcontent-%COMP%]{border-left-color:var(--color-warning, #f5a623);background:#f5a6230f;color:var(--color-text, #1d1d1f)}.case-chat__technical--error[_ngcontent-%COMP%]{border-left-color:var(--color-error, #ff3b30);background:#ff3b300f;color:var(--color-text, #1d1d1f)}.case-chat__technical-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;width:100%;padding:.2rem .75rem;background:transparent;border:none;cursor:pointer;text-align:left;color:inherit;font-family:inherit;font-size:inherit}.case-chat__technical-header[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .04))}.case-chat__technical-label[_ngcontent-%COMP%]{font-weight:500;white-space:nowrap}.case-chat__technical-label[_ngcontent-%COMP%]:only-child{display:block;padding:.2rem .75rem}.case-chat__technical-chevron[_ngcontent-%COMP%]{flex-shrink:0;font-size:.6rem;color:var(--color-text-secondary, #6e6e73);margin-left:auto}.case-chat__technical-body[_ngcontent-%COMP%]{padding:.3rem .75rem .5rem;border-top:1px solid var(--color-border, rgba(0, 0, 0, .08));white-space:pre-wrap;word-break:break-word;font-size:.75rem;line-height:1.5;color:var(--color-text, #1d1d1f)}.case-chat__session-context[_ngcontent-%COMP%]{flex-shrink:0;border-radius:6px;background:var(--color-surface-secondary, rgba(0, 0, 0, .03));border-left:3px solid var(--color-primary, #0071e3);padding:.25rem .75rem .4rem;margin-bottom:.25rem;font-size:.75rem;color:var(--color-text-secondary, #6e6e73);overflow:hidden}.case-chat__session-context-label[_ngcontent-%COMP%]{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary, #0071e3);margin-bottom:.2rem}.case-chat__session-context-body[_ngcontent-%COMP%]{margin: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:160px;overflow-y:auto}.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-text--markdown[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 .5em}.case-chat__message-text--markdown[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.case-chat__message-text--markdown[_ngcontent-%COMP%] ul[_ngcontent-%COMP%], .case-chat__message-text--markdown[_ngcontent-%COMP%] ol[_ngcontent-%COMP%]{margin:.25em 0 .5em;padding-left:1.4em}.case-chat__message-text--markdown[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-bottom:.2em}.case-chat__message-text--markdown[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);font-size:.85em;background:var(--color-code-bg, rgba(0, 0, 0, .06));border-radius:3px;padding:.1em .35em}.case-chat__message-text--markdown[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{background:var(--color-code-bg, rgba(0, 0, 0, .06));border-radius:6px;padding:.6em .8em;overflow-x:auto;margin:.4em 0}.case-chat__message-text--markdown[_ngcontent-%COMP%] pre[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background:none;padding:0;font-size:.8rem}.case-chat__message-text--markdown[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{margin:.4em 0;padding-left:.8em;border-left:3px solid var(--color-border, rgba(0, 0, 0, .15));color:var(--color-text-secondary, #6e6e73)}.case-chat__message-text--markdown[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--color-primary, #0071e3);text-decoration:underline}.case-chat__message-text--markdown[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], .case-chat__message-text--markdown[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .case-chat__message-text--markdown[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .case-chat__message-text--markdown[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:.5em 0 .25em;font-size:1em;font-weight:600}.case-chat__message-text--markdown[_ngcontent-%COMP%] .external-link-icon[_ngcontent-%COMP%]{font-size:.75em;margin-left:.15em;vertical-align:super}.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 var(--color-shadow, rgba(0, 0, 0, .12));animation:_ngcontent-%COMP%_scroll-anchor-in .15s ease}.case-chat__autocomplete[_ngcontent-%COMP%]{position:absolute;bottom:calc(100% + .5rem);left:0;right:0;background:var(--glass-bg, rgba(255, 255, 255, .96));border:1px solid var(--color-border, rgba(0, 0, 0, .1));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:20;animation:_ngcontent-%COMP%_autocomplete-in .12s ease}.case-chat__composer[_ngcontent-%COMP%]{flex-shrink:0;position:relative;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)}}@keyframes _ngcontent-%COMP%_autocomplete-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}']})};var Lt=["composerInput"];function zt(o,t){if(o&1){let e=S();r(0,"div",5)(1,"agentos-prompt-autocomplete",10),u("selected",function(i){C(e);let a=c();return b(a.onPromptSelected(i))})("dismissed",function(){C(e);let i=c();return b(i.closeAutocomplete())}),l()()}if(o&2){let e=c();s(),M("prompts",e.slashSuggestions())}}var fe=class o{http=y(de);router=y(me);route=y(J);config=y(pe);caseState=y(Z);destroyRef=y(G);preferences=y(ge);promptState=y(he);composerInput;autocompleteRef;namespaceId=this.route.snapshot.queryParams.ns;inputValue=x("");isCreating=x(!1);effectivePrompts=[];promptsLoaded=!1;slashPrefix$=new ie;slashSuggestions=x([]);ngOnInit(){this.route.queryParams.pipe(L(this.destroyRef)).subscribe(t=>{let e=t.ns;e&&e!==this.namespaceId&&(this.namespaceId=e,this.effectivePrompts=[],this.promptsLoaded=!1,this.slashSuggestions.set([]),this.inputValue.set(""))})}constructor(){re(()=>{this.composerInput?.nativeElement.focus()}),this.slashPrefix$.pipe(Y(60),H(t=>(this.promptsLoaded?j(this.effectivePrompts):this.promptState.listEffective(this.namespaceId).pipe(ae(()=>j([])))).pipe($(n=>({prefix:t,prompts:n})))),L(this.destroyRef)).subscribe(({prefix:t,prompts:e})=>{this.effectivePrompts=e,this.promptsLoaded=!0,this.slashSuggestions.set(e.filter(n=>n.name.toLowerCase().startsWith(t.toLowerCase())))})}get canSend(){return!!this.inputValue().trim()&&!this.isCreating()}onInput(t){let e=t.target.value;this.inputValue.set(e),this.updateSlashAutocomplete(e)}onKeydown(t){if(this.slashSuggestions().length>0){if(t.key==="ArrowDown"||t.key==="ArrowUp"){t.preventDefault(),this.autocompleteRef?.navigate(t.key);return}if(t.key==="Escape"){t.preventDefault(),this.closeAutocomplete();return}if(t.key==="Tab"||t.key==="Enter"){t.preventDefault(),this.autocompleteRef?.navigate("Enter");return}}this.preferences.shouldSend(t)&&(t.preventDefault(),this.submit())}onPromptSelected(t){let e=this.autocompleteRef?.completionFor(t)??`/${t.name} `;this.inputValue.set(e),queueMicrotask(()=>{let n=this.composerInput?.nativeElement;n&&(n.value=e,n.setSelectionRange(e.length,e.length),n.focus())}),this.closeAutocomplete()}closeAutocomplete(){this.slashSuggestions.set([])}updateSlashAutocomplete(t){if(!t.startsWith("/")){this.slashSuggestions().length&&this.slashSuggestions.set([]);return}let e=t.slice(1);if(e.includes(" ")){this.slashSuggestions().length&&this.slashSuggestions.set([]);return}this.promptsLoaded&&this.slashSuggestions.set(this.effectivePrompts.filter(n=>n.name.toLowerCase().startsWith(e.toLowerCase()))),this.slashPrefix$.next(e)}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(H(e=>(this.caseState.addCase(e),this.http.post(`${this.config.basePath}/api/cases/${e.id}/messages`,{content:t,userId:"default-user"}).pipe($(()=>e)))),L(this.destroyRef)).subscribe({next:e=>{this.router.navigate(["/agentos/home"],{queryParams:{ns:this.namespaceId,case:e.id??""}})},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||o)};static \u0275cmp=P({type:o,selectors:[["agentos-case-home"]],viewQuery:function(e,n){if(e&1&&W(Lt,5)(U,5),e&2){let i;q(i=V())&&(n.composerInput=i.first),q(i=V())&&(n.autocompleteRef=i.first)}},decls:12,vars:5,consts:[["composerInput",""],[1,"case-home"],[1,"case-home__hero"],[1,"case-home__headline"],[1,"case-home__composer"],[1,"case-home__autocomplete"],["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",3,"action","disabled"],[3,"selected","dismissed","prompts"]],template:function(e,n){e&1&&(r(0,"div",1)(1,"div",2)(2,"h1",3),d(3,"What can I help you with?"),l(),r(4,"div",4),p(5,zt,2,1,"div",5),r(6,"textarea",6,0),u("input",function(a){return n.onInput(a)})("keydown",function(a){return n.onKeydown(a)}),l(),r(8,"div",7)(9,"span",8),d(10),l(),r(11,"ds-icon-button",9),u("action",function(){return n.submit()}),l()()()()()),e&2&&(s(5),_(n.slashSuggestions().length>0?5:-1),s(),M("value",n.inputValue())("disabled",n.isCreating()),s(4),g(n.preferences.composerHint()),s(),M("disabled",!n.canSend))},dependencies:[ue,U],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);text-align:center;font-family:Inter,sans-serif}.case-home__autocomplete[_ngcontent-%COMP%]{position:absolute;bottom:calc(100% + .5rem);left:0;right:0;background:var(--glass-bg, rgba(255, 255, 255, .96));border:1px solid var(--color-border, rgba(0, 0, 0, .1));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:20;animation:_ngcontent-%COMP%_autocomplete-in .12s ease}.case-home__composer[_ngcontent-%COMP%]{position:relative;width:100%;display:flex;flex-direction:column;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border-radius:16px;box-shadow:0 4px 24px var(--color-shadow);transition:box-shadow .2s ease,border-color .2s ease}.case-home__composer[_ngcontent-%COMP%]:focus-within{box-shadow:0 4px 32px color-mix(in srgb,var(--color-primary) 20%,transparent);border-color:var(--color-primary)}.case-home__input[_ngcontent-%COMP%]{width:100%;resize:none;padding:1rem 1.25rem .5rem;border:none;background:transparent;color:var(--color-text);font-size:1rem;font-family:Inter,sans-serif;line-height:1.6;outline:none;box-sizing:border-box}.case-home__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary)}.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-family:Inter,sans-serif;font-size:.8125rem;font-weight:400;line-height:1.4;color:var(--color-text-secondary, #6e6e73);font-size:.75rem;opacity:.7}@keyframes _ngcontent-%COMP%_autocomplete-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}"]})};var Ft=["caseItemTpl"],$t=o=>({node:o,depth:0}),Ht=(o,t)=>({node:o,depth:t}),Wt=(o,t)=>t.id;function Bt(o,t){if(o&1){let e=S();r(0,"button",4),u("click",function(){C(e);let i=c().$implicit,a=c();return b(a.onItemSelected(i.id))}),A(1,"span",5),r(2,"span",6),d(3),l()()}if(o&2){let e=c().$implicit,n=c();I("case-tree-node__row--active",e.id===n.activeCaseId()),s(3),g(e.name)}}function Ut(o,t){o&1&&Me(0)}function Qt(o,t){if(o&1&&se(0,Ut,1,0,"ng-container",7),o&2){let e=c().$implicit;c();let n=le(4);M("ngTemplateOutlet",n)("ngTemplateOutletContext",Ve(2,$t,e))}}function jt(o,t){if(o&1&&p(0,Bt,4,3,"button",3)(1,Qt,1,4,"ng-container"),o&2){let e=c();_(e.isSearchActive()?0:1)}}function Yt(o,t){if(o&1){let e=S();r(0,"button",10),u("click",function(i){C(e);let a=c().node,w=c();return b(w.toggleExpand(i,a.id))}),r(1,"span",11),d(2,"\u203A"),l()()}if(o&2){let e=c().node,n=c();M("title",n.isExpanded(e.id)?"Collapse":"Expand"),s(),I("case-tree-node__toggle-icon--open",n.isExpanded(e.id))}}function Gt(o,t){o&1&&Me(0)}function Kt(o,t){if(o&1&&se(0,Gt,1,0,"ng-container",7),o&2){let e=t.$implicit,n=c(2).depth;c();let i=le(4);M("ngTemplateOutlet",i)("ngTemplateOutletContext",Le(2,Ht,e,n+1))}}function Xt(o,t){if(o&1&&D(0,Kt,1,5,"ng-container",null,Wt),o&2){let e=c().node;N(e.children)}}function Jt(o,t){if(o&1){let e=S();r(0,"div",8)(1,"button",4),u("click",function(){let i=C(e).node,a=c();return b(a.onItemSelected(i.id))}),r(2,"span",5),p(3,Yt,3,3,"button",9),l(),r(4,"span",6),d(5),l()(),p(6,Xt,2,0),l()}if(o&2){let e=t.node,n=t.depth,i=c();ce("--depth",n),s(),I("case-tree-node__row--active",e.id===i.activeCaseId()),s(2),_(e.children.length?3:-1),s(2),g(e.name),s(),_(i.isExpanded(e.id)&&e.children.length?6:-1)}}var ve=class o{cases=f([]);activeCaseId=f(null);caseSelected=v();createRequested=v();caseItemTpl;searchQuery=x("");isSearchActive=T(()=>this.searchQuery().trim().length>0);rootItems=T(()=>Zt(this.cases()));flatFilteredItems=T(()=>{let t=this.searchQuery().toLowerCase().trim();return t?Ze(this.rootItems(),t):[]});displayItems=T(()=>this.isSearchActive()?this.flatFilteredItems():this.rootItems());autoExpandedIds=T(()=>{let t=this.activeCaseId();if(!t)return new Set;let e=new Set;return et(this.rootItems(),t,e),e});expandedIds=x(new Set);isExpanded(t){return this.expandedIds().has(t)||this.autoExpandedIds().has(t)}toggleExpand(t,e){t.stopPropagation(),this.expandedIds.update(n=>{let i=new Set(n);return i.has(e)?i.delete(e):i.add(e),i})}onSearchChanged(t){this.searchQuery.set(t)}onItemSelected(t){this.caseSelected.emit(t)}onCreateRequested(){this.createRequested.emit()}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=P({type:o,selectors:[["agentos-case-drawer"]],viewQuery:function(e,n){if(e&1&&W(Ft,7),e&2){let i;q(i=V())&&(n.caseItemTpl=i.first)}},inputs:{cases:[1,"cases"],activeCaseId:[1,"activeCaseId"]},outputs:{caseSelected:"caseSelected",createRequested:"createRequested"},decls:5,vars:4,consts:[["caseItemTpl",""],["caseRowTpl",""],["title","Cases","emptyMessage","No cases yet. Start one below.","searchPlaceholder","Filter cases\u2026","cardMinWidth","100%","contentMaxWidth","100%",3,"itemSelected","createRequested","searchChanged","items","itemTemplate","showCreate","disableInternalFilter"],["type","button",1,"case-tree-node__row",3,"case-tree-node__row--active"],["type","button",1,"case-tree-node__row",3,"click"],[1,"case-tree-node__expand-slot"],[1,"case-tree-node__name"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"case-tree-node"],["type","button",1,"case-tree-node__toggle",3,"title"],["type","button",1,"case-tree-node__toggle",3,"click","title"],[1,"case-tree-node__toggle-icon"]],template:function(e,n){if(e&1&&(r(0,"ds-entity-list",2),u("itemSelected",function(a){return n.onItemSelected(a)})("createRequested",function(){return n.onCreateRequested()})("searchChanged",function(a){return n.onSearchChanged(a)}),l(),se(1,jt,2,1,"ng-template",null,0,ke)(3,Jt,7,7,"ng-template",null,1,ke)),e&2){let i=le(2);M("items",n.displayItems())("itemTemplate",i)("showCreate",!0)("disableInternalFilter",!0)}},dependencies:[Ge,$e],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}.case-tree-node[_ngcontent-%COMP%]{width:100%}.case-tree-node__row[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:.375rem .5rem;padding-left:calc(.5rem + var(--depth, 0) * 1.25rem);border:none;background:transparent;cursor:pointer;text-align:left;font:inherit;font-size:.875rem;color:var(--color-text, #1d1d1f);border-radius:6px;gap:.375rem;transition:background .12s ease;box-sizing:border-box}.case-tree-node__row[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .05))}.case-tree-node__row--active[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);color:var(--color-text-inverse, #fff)}.case-tree-node__row--active[_ngcontent-%COMP%]:hover{background:var(--color-primary-hover, #0051d5)}.case-tree-node__expand-slot[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:1rem;flex-shrink:0}.case-tree-node__toggle[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;padding:0;border:none;background:transparent;cursor:pointer;color:inherit;border-radius:3px;transition:background .1s ease}.case-tree-node__toggle[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .05))}.case-tree-node__toggle-icon[_ngcontent-%COMP%]{display:inline-block;font-size:1.1rem;line-height:1;transition:transform .15s ease;transform:rotate(0)}.case-tree-node__toggle-icon--open[_ngcontent-%COMP%]{transform:rotate(90deg)}.case-tree-node__name[_ngcontent-%COMP%]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-family:var(--font-mono, "SF Mono", ui-monospace, monospace);font-size:.8rem}'],changeDetection:0})};function Zt(o){let t=new Set(o.map(m=>m.id??"")),e=new Map(o.map(m=>[m.id??"",m.created??""])),n=m=>({id:m.id??"",name:m.title??m.id??"\u2014",description:m.id??"",children:[]}),i=new Map;for(let m of o)i.set(m.id??"",n(m));let a=[];for(let m of o){let h=i.get(m.id??""),R=m.parentCaseId;R&&t.has(R)?i.get(R).children.push(h):a.push(h)}let w=m=>m.sort((h,R)=>(e.get(R.id)??"")>(e.get(h.id)??"")?1:-1).map(h=>oe(ne({},h),{children:w(h.children)}));return w(a)}function Ze(o,t){return o.reduce((e,n)=>((n.name.toLowerCase().includes(t)||n.id.toLowerCase().includes(t))&&e.push(n),n.children.length&&e.push(...Ze(n.children,t)),e),[])}function et(o,t,e){for(let n of o){if(n.id===t)return!0;if(n.children.length&&et(n.children,t,e))return e.add(n.id),!0}return!1}var en=(o,t)=>t.id;function tn(o,t){o&1&&(r(0,"span",3),d(1,"chevron_left"),l())}function nn(o,t){o&1&&A(0,"img",4)}function on(o,t){o&1&&(r(0,"span"),d(1,"\u2713"),l())}function an(o,t){if(o&1){let e=S();r(0,"button",18),u("click",function(){let i=C(e).$implicit,a=c(3);return b(a.namespaceSelected.emit(i))}),r(1,"span",19),d(2),l(),p(3,on,2,0,"span"),l()}if(o&2){let e,n,i=t.$implicit,a=c(3);I("shell-sidebar__ns-item--active",i.id===((e=a.selectedNamespace())==null?null:e.id)),s(2),g(i.name),s(),_(i.id===((n=a.selectedNamespace())==null?null:n.id)?3:-1)}}function rn(o,t){if(o&1&&(r(0,"div",16),D(1,an,4,4,"button",17,en),l()),o&2){let e=c(2);s(),N(e.namespaces())}}function sn(o,t){if(o&1){let e=S();r(0,"div",6)(1,"button",13),u("click",function(){C(e);let i=c();return b(i.nsMenuToggled.emit())}),r(2,"span",14),d(3),l(),r(4,"span",15),d(5,"\u25BE"),l()(),p(6,rn,3,0,"div",16),l()}if(o&2){let e,n=c();s(3),g(((e=n.selectedNamespace())==null?null:e.name)??"Select namespace"),s(3),_(n.nsMenuOpen()?6:-1)}}function ln(o,t){if(o&1&&(r(0,"span",7),d(1),l()),o&2){let e,n=c();s(),g((e=n.selectedNamespace())==null?null:e.name)}}function cn(o,t){if(o&1&&d(0),o&2){let e=c();z(" ",e.userInitials()," ")}}function dn(o,t){o&1&&d(0," \u2022\u2022\u2022 ")}var xe=class o{brandHovered=!1;sidebarWidth=f.required();sidebarOpen=f.required();selectedNamespace=f.required();namespaces=f.required();showNsPicker=f.required();nsMenuOpen=f.required();cases=f.required();activeCaseId=f.required();userInitials=f.required();menuOpen=f.required();isAdmin=f.required();isDark=f.required();showTechnical=f.required();collapseRequested=v();homeClicked=v();namespaceSelected=v();nsMenuToggled=v();nsMenuClosed=v();caseSelected=v();createRequested=v();menuToggled=v();menuClosed=v();navigateTo=v();themeToggled=v();logsToggled=v();static \u0275fac=function(e){return new(e||o)};static \u0275cmp=P({type:o,selectors:[["agentos-shell-sidebar"]],inputs:{sidebarWidth:[1,"sidebarWidth"],sidebarOpen:[1,"sidebarOpen"],selectedNamespace:[1,"selectedNamespace"],namespaces:[1,"namespaces"],showNsPicker:[1,"showNsPicker"],nsMenuOpen:[1,"nsMenuOpen"],cases:[1,"cases"],activeCaseId:[1,"activeCaseId"],userInitials:[1,"userInitials"],menuOpen:[1,"menuOpen"],isAdmin:[1,"isAdmin"],isDark:[1,"isDark"],showTechnical:[1,"showTechnical"]},outputs:{collapseRequested:"collapseRequested",homeClicked:"homeClicked",namespaceSelected:"namespaceSelected",nsMenuToggled:"nsMenuToggled",nsMenuClosed:"nsMenuClosed",caseSelected:"caseSelected",createRequested:"createRequested",menuToggled:"menuToggled",menuClosed:"menuClosed",navigateTo:"navigateTo",themeToggled:"themeToggled",logsToggled:"logsToggled"},decls:15,vars:12,consts:[[1,"shell-sidebar"],[1,"shell-sidebar__top"],["type","button",1,"shell-sidebar__brand",3,"mouseenter","mouseleave","click","title"],[1,"shell-sidebar__logo-chevron","material-icons"],["src","CODAY-Logo.png","alt","Coday",1,"shell-sidebar__logo-img"],[1,"shell-sidebar__ns-wrap"],[1,"shell-sidebar__ns-picker"],[1,"shell-sidebar__ns-name-static"],[1,"shell-sidebar__user-menu"],["type","button","title","Menu",1,"shell-sidebar__user-btn",3,"click"],["variant","desktop",3,"navigateTo","themeToggled","logsToggled","closed","open","isAdmin","isDark","showTechnical"],[1,"shell-sidebar__cases-scroll"],[3,"caseSelected","createRequested","cases","activeCaseId"],[1,"shell-sidebar__ns-trigger",3,"click"],[1,"shell-sidebar__ns-name"],[1,"shell-sidebar__ns-chevron"],[1,"shell-sidebar__ns-menu"],[1,"shell-sidebar__ns-item",3,"shell-sidebar__ns-item--active"],[1,"shell-sidebar__ns-item",3,"click"],[1,"shell-sidebar__ns-item-name"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"div",1)(2,"button",2),u("mouseenter",function(){return n.brandHovered=!0})("mouseleave",function(){return n.brandHovered=!1})("click",function(){return n.brandHovered?n.collapseRequested.emit():n.homeClicked.emit()}),p(3,tn,2,0,"span",3)(4,nn,1,0,"img",4),l(),r(5,"div",5),p(6,sn,7,2,"div",6)(7,ln,2,1,"span",7),l(),r(8,"div",8)(9,"button",9),u("click",function(a){return n.menuToggled.emit(a)}),p(10,cn,1,1)(11,dn,1,0),l(),r(12,"agentos-shell-user-menu",10),u("navigateTo",function(a){return n.navigateTo.emit(a)})("themeToggled",function(){return n.themeToggled.emit()})("logsToggled",function(){return n.logsToggled.emit()})("closed",function(a){return n.menuClosed.emit(a)}),l()()(),r(13,"div",11)(14,"agentos-case-drawer",12),u("caseSelected",function(a){return n.caseSelected.emit(a)})("createRequested",function(){return n.createRequested.emit()}),l()()()),e&2&&(ce("width",n.sidebarOpen()?n.sidebarWidth():0,"px"),s(2),M("title",n.brandHovered?"Close sidebar":"Home"),s(),_(n.brandHovered?3:4),s(3),_(n.showNsPicker()?6:7),s(4),_(n.userInitials()?10:11),s(2),M("open",n.menuOpen())("isAdmin",n.isAdmin())("isDark",n.isDark())("showTechnical",n.showTechnical()),s(2),M("cases",n.cases())("activeCaseId",n.activeCaseId()))},dependencies:[ve,Ce],styles:["[_nghost-%COMP%]{display:contents}@media(max-width:900px){[_nghost-%COMP%]{display:none!important}}.shell-sidebar[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;border-right:1px solid var(--color-border, rgba(0, 0, 0, .09));background:var(--color-bg, #f4f3ef);flex-shrink:0;transition:width .24s cubic-bezier(.4,0,.2,1);white-space:nowrap}.shell-sidebar__top[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;padding:10px;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .09));flex-shrink:0}.shell-sidebar__brand[_ngcontent-%COMP%]{display:flex;align-items:center;padding:4px;border-radius:8px;border:none;background:transparent;cursor:pointer;flex-shrink:0;transition:background .14s}.shell-sidebar__brand[_ngcontent-%COMP%]:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .05))}.shell-sidebar__logo-img[_ngcontent-%COMP%]{width:28px;height:28px;border-radius:6px;object-fit:contain}.shell-sidebar__logo-chevron[_ngcontent-%COMP%]{width:28px;height:28px;font-size:22px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary, #968f85)}.shell-sidebar__user-menu[_ngcontent-%COMP%]{position:relative;flex-shrink:0}.shell-sidebar__user-btn[_ngcontent-%COMP%]{width:32px;height:32px;border-radius:50%;border:1px solid var(--color-border, rgba(0, 0, 0, .09));background:color-mix(in srgb,var(--color-primary, #016b71) 15%,transparent);cursor:pointer;display:grid;place-items:center;font-size:.7rem;font-weight:700;letter-spacing:.02em;color:var(--color-primary, #016b71);transition:all .14s}.shell-sidebar__user-btn[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--color-primary, #016b71) 25%,transparent)}.shell-sidebar__ns-wrap[_ngcontent-%COMP%]{flex:1;min-width:0;position:relative}.shell-sidebar__ns-picker[_ngcontent-%COMP%]{position:relative}.shell-sidebar__ns-trigger[_ngcontent-%COMP%]{width:100%;display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--color-text, #1b1916);transition:all .15s;font:inherit;font-size:.85rem;font-weight:700}.shell-sidebar__ns-trigger[_ngcontent-%COMP%]:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .05));border-color:var(--color-border, rgba(0, 0, 0, .09))}.shell-sidebar__ns-name[_ngcontent-%COMP%]{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-sidebar__ns-chevron[_ngcontent-%COMP%]{color:var(--color-text-secondary, #968f85);font-size:.75rem}.shell-sidebar__ns-menu[_ngcontent-%COMP%]{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--color-modal-bg, #fff);border:1px solid var(--color-border, rgba(0, 0, 0, .09));border-radius:10px;padding:6px;z-index:100;box-shadow:var(--color-modal-shadow, 0 6px 20px rgba(0, 0, 0, .08))}.shell-sidebar__ns-item[_ngcontent-%COMP%]{width:100%;display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;border:none;background:transparent;cursor:pointer;color:var(--color-text, #1b1916);font:inherit;font-size:.8rem;transition:all .13s}.shell-sidebar__ns-item[_ngcontent-%COMP%]:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .05))}.shell-sidebar__ns-item--active[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--color-primary, #016b71) 12%,transparent);color:var(--color-primary, #016b71)}.shell-sidebar__ns-item-name[_ngcontent-%COMP%]{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-sidebar__ns-name-static[_ngcontent-%COMP%]{display:block;padding:5px 8px;font-size:.85rem;font-weight:700;color:var(--color-text, #1b1916);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-sidebar__cases-scroll[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding-bottom:16px}.shell-sidebar__cases-scroll[_ngcontent-%COMP%]::-webkit-scrollbar{width:4px}.shell-sidebar__cases-scroll[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--color-border-light, rgba(255, 255, 255, .12));border-radius:999px}"],changeDetection:0})};var mn=(o,t)=>t.id;function pn(o,t){o&1&&(r(0,"span"),d(1,"\u2713"),l())}function _n(o,t){if(o&1){let e=S();r(0,"button",14),u("click",function(){let i=C(e).$implicit,a=c(2);return b(a.namespaceSelected.emit(i))}),A(1,"span",15),r(2,"span",16),d(3),l(),p(4,pn,2,0,"span"),l()}if(o&2){let e,n,i=t.$implicit,a=c(2);I("shell-topbar-mobile__ns-item--active",i.id===((e=a.selectedNamespace())==null?null:e.id)),s(3),g(i.name),s(),_(i.id===((n=a.selectedNamespace())==null?null:n.id)?4:-1)}}function un(o,t){if(o&1){let e=S();r(0,"div",11),u("click",function(i){C(e);let a=c();return b(a.nsMenuClosed.emit(i))})("keyup.escape",function(i){C(e);let a=c();return b(a.nsMenuClosed.emit(i))}),l(),r(1,"div",12),D(2,_n,5,4,"button",13,mn),l()}if(o&2){let e=c();s(2),N(e.namespaces())}}var ye=class o{selectedNamespace=f.required();namespaces=f.required();nsMenuOpen=f.required();userInitials=f.required();menuOpen=f.required();isAdmin=f.required();isDark=f.required();showTechnical=f.required();homeClicked=v();namespaceSelected=v();nsMenuToggled=v();nsMenuClosed=v();menuToggled=v();menuClosed=v();navigateTo=v();themeToggled=v();logsToggled=v();static \u0275fac=function(e){return new(e||o)};static \u0275cmp=P({type:o,selectors:[["agentos-shell-topbar-mobile"]],inputs:{selectedNamespace:[1,"selectedNamespace"],namespaces:[1,"namespaces"],nsMenuOpen:[1,"nsMenuOpen"],userInitials:[1,"userInitials"],menuOpen:[1,"menuOpen"],isAdmin:[1,"isAdmin"],isDark:[1,"isDark"],showTechnical:[1,"showTechnical"]},outputs:{homeClicked:"homeClicked",namespaceSelected:"namespaceSelected",nsMenuToggled:"nsMenuToggled",nsMenuClosed:"nsMenuClosed",menuToggled:"menuToggled",menuClosed:"menuClosed",navigateTo:"navigateTo",themeToggled:"themeToggled",logsToggled:"logsToggled"},decls:17,vars:7,consts:[[1,"shell-topbar-mobile__brand"],["type","button","title","Home",1,"shell-topbar-mobile__logo-btn",3,"click"],["src","CODAY-Logo.png","alt","Coday",1,"shell-topbar-mobile__logo-img"],[1,"shell-topbar-mobile__logo-text"],[1,"shell-topbar-mobile__sep"],[1,"shell-topbar-mobile__ns-wrap"],["type","button",1,"shell-topbar-mobile__ns-btn",3,"click"],[1,"shell-topbar-mobile__chevron"],[1,"shell-topbar-mobile__avatar-wrap"],["tabindex","0","role","button","aria-label","User menu",1,"shell-topbar-mobile__avatar",3,"click","keyup.enter"],["variant","mobile",3,"navigateTo","themeToggled","logsToggled","closed","open","isAdmin","isDark","showTechnical"],["role","presentation","tabindex","-1",1,"shell-topbar-mobile__ns-backdrop",3,"click","keyup.escape"],[1,"shell-topbar-mobile__ns-menu"],[1,"shell-topbar-mobile__ns-item",3,"shell-topbar-mobile__ns-item--active"],[1,"shell-topbar-mobile__ns-item",3,"click"],[1,"shell-topbar-mobile__ns-dot"],[1,"shell-topbar-mobile__ns-item-name"]],template:function(e,n){if(e&1&&(r(0,"div",0)(1,"button",1),u("click",function(){return n.homeClicked.emit()}),A(2,"img",2),r(3,"span",3),d(4,"Coday"),l()(),r(5,"span",4),d(6,"/"),l(),r(7,"div",5)(8,"button",6),u("click",function(a){return n.nsMenuToggled.emit(a)}),d(9),r(10,"span",7),d(11,"\u25BE"),l()(),p(12,un,4,0),l()(),r(13,"div",8)(14,"div",9),u("click",function(a){return n.menuToggled.emit(a)})("keyup.enter",function(){return n.menuToggled.emit(void 0)}),d(15),l(),r(16,"agentos-shell-user-menu",10),u("navigateTo",function(a){return n.navigateTo.emit(a)})("themeToggled",function(){return n.themeToggled.emit()})("logsToggled",function(){return n.logsToggled.emit()})("closed",function(a){return n.menuClosed.emit(a)}),l()()),e&2){let i;s(9),z(" ",((i=n.selectedNamespace())==null?null:i.name)??""," "),s(3),_(n.nsMenuOpen()?12:-1),s(3),z(" ",n.userInitials()||"\xB7\xB7\xB7"," "),s(),M("open",n.menuOpen())("isAdmin",n.isAdmin())("isDark",n.isDark())("showTechnical",n.showTechnical())}},dependencies:[Ce],styles:["[_nghost-%COMP%]{display:none}.shell-topbar-mobile__brand[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;min-width:0;flex:1;overflow:hidden}.shell-topbar-mobile__logo-btn[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;flex:none;padding:0;border:none;background:transparent;cursor:pointer}.shell-topbar-mobile__logo-img[_ngcontent-%COMP%]{height:28px;width:auto;border-radius:6px;object-fit:contain}.shell-topbar-mobile__logo-text[_ngcontent-%COMP%]{font-family:Inter,sans-serif;font-size:11.5px;font-weight:500;line-height:1;color:var(--color-text, #1d1d1f)}.shell-topbar-mobile__sep[_ngcontent-%COMP%]{color:var(--color-text-tertiary);font:inherit;font-size:.75rem;flex:none}.shell-topbar-mobile__ns-wrap[_ngcontent-%COMP%]{position:static;min-width:0}.shell-topbar-mobile__ns-btn[_ngcontent-%COMP%]{font-family:Inter,sans-serif;font-size:12.5px;font-weight:500;line-height:1.4;color:var(--color-text, #1d1d1f);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:3px;cursor:pointer;background:none;border:none;padding:0}.shell-topbar-mobile__chevron[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:9px;flex:none}.shell-topbar-mobile__ns-backdrop[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:299}.shell-topbar-mobile__ns-menu[_ngcontent-%COMP%]{background:var(--color-modal-bg, #ffffff);border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:10px;box-shadow:var(--color-modal-shadow, 0 6px 20px rgba(0, 0, 0, .08));padding:5px;position:fixed;top:44px;left:16px;min-width:180px;z-index:300}.shell-topbar-mobile__ns-item[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;margin:0;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;width:100%;padding:8px 10px;border-radius:6px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:500;color:var(--color-text, #1d1d1f);text-align:left;transition:background .1s ease}.shell-topbar-mobile__ns-item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .04))}.shell-topbar-mobile__ns-item--danger[_ngcontent-%COMP%]{color:var(--color-error, #a5140a)}.shell-topbar-mobile__ns-item--danger[_ngcontent-%COMP%]:hover{background:rgba(from var(--color-error, #ff453a) r g b/.08)}.shell-topbar-mobile__ns-item--active[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.shell-topbar-mobile__ns-dot[_ngcontent-%COMP%]{width:10px;height:10px;border-radius:50%;background:var(--color-primary);flex-shrink:0}.shell-topbar-mobile__ns-item-name[_ngcontent-%COMP%]{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-topbar-mobile__avatar-wrap[_ngcontent-%COMP%]{position:relative;flex-shrink:0}.shell-topbar-mobile__avatar[_ngcontent-%COMP%]{width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 35%,transparent);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font:inherit;font-size:.625rem;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}@media(max-width:900px){[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 16px;min-height:44px;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .08));background:var(--color-bg, #fff);flex-shrink:0;position:relative}}"],changeDetection:0})};var hn=(o,t)=>t.id;function gn(o,t){if(o&1){let e=S();k(0,"div",9),X("click",function(){let i=C(e).$implicit,a=c(2);return b(a.caseSelected.emit(i.id??""))})("keyup.enter",function(){let i=C(e).$implicit,a=c(2);return b(a.caseSelected.emit(i.id??""))}),Se(1,"span",1),k(2,"span",2),d(3),O(),k(4,"span",3),d(5),O()()}if(o&2){let e=t.$implicit,n=c(2);s(),Te("shell-case-switcher__dot--"+n.deriveMobileStatus(e.status)),s(2),g(e.title??e.id),s(2),g(e.status.toLowerCase())}}function Cn(o,t){if(o&1){let e=S();k(0,"div",5)(1,"div",6),X("click",function(){C(e);let i=c();return b(i.createRequested.emit())})("keyup.enter",function(){C(e);let i=c();return b(i.createRequested.emit())}),k(2,"span",7),d(3,"+"),O(),k(4,"span",2),d(5,"New case"),O()(),D(6,gn,6,4,"div",8,hn),O()}if(o&2){let e=c();s(6),N(e.otherCases())}}var we=class o{cases=f.required();activeCaseId=f.required();open=f.required();activeCase=T(()=>{let t=this.activeCaseId();return t?this.cases().find(e=>e.id===t)??null:null});activeCaseTitle=T(()=>this.activeCase()?.title??this.activeCaseId()??"New case");activeCaseStatus=T(()=>this.deriveMobileStatus(this.activeCase()?.status));activeCaseStatusLabel=T(()=>this.activeCase()?.status?.toLowerCase()??"");otherCases=T(()=>this.cases().filter(t=>t.id!==this.activeCaseId()));caseSelected=v();createRequested=v();toggled=v();deriveMobileStatus(t){switch(t){case"RUNNING":return"run";case"KILLED":return"killed";case"ERROR":return"error";default:return"idle"}}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=P({type:o,selectors:[["agentos-shell-case-switcher-mobile"]],inputs:{cases:[1,"cases"],activeCaseId:[1,"activeCaseId"],open:[1,"open"]},outputs:{caseSelected:"caseSelected",createRequested:"createRequested",toggled:"toggled"},decls:9,vars:5,consts:[["tabindex","0","role","button",1,"shell-case-switcher__trigger",3,"click","keyup.enter"],[1,"shell-case-switcher__dot"],[1,"shell-case-switcher__title"],[1,"shell-case-switcher__status"],[1,"shell-case-switcher__chevron"],[1,"shell-case-switcher__list"],["tabindex","0","role","button",1,"shell-case-switcher__item","shell-case-switcher__item--new",3,"click","keyup.enter"],[1,"shell-case-switcher__new-icon"],["tabindex","0","role","button",1,"shell-case-switcher__item"],["tabindex","0","role","button",1,"shell-case-switcher__item",3,"click","keyup.enter"]],template:function(e,n){e&1&&(k(0,"div",0),X("click",function(){return n.toggled.emit()})("keyup.enter",function(){return n.toggled.emit()}),Se(1,"span",1),k(2,"span",2),d(3),O(),k(4,"span",3),d(5),O(),k(6,"span",4),d(7,"\u2304"),O()(),p(8,Cn,8,0,"div",5)),e&2&&(s(),Te("shell-case-switcher__dot--"+n.activeCaseStatus()),s(2),g(n.activeCaseTitle()),s(2),g(n.activeCaseStatusLabel()),s(3),_(n.open()?8:-1))},styles:["[_nghost-%COMP%]{display:none}.shell-case-switcher__trigger[_ngcontent-%COMP%]{display:flex;align-items:center;gap:7px;padding:10px 16px;min-height:44px;cursor:pointer;-webkit-user-select:none;user-select:none}.shell-case-switcher__trigger[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover)}.shell-case-switcher__title[_ngcontent-%COMP%]{font-family:Inter,sans-serif;font-size:12.5px;font-weight:500;line-height:1.4;color:var(--color-text, #1d1d1f);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.shell-case-switcher__status[_ngcontent-%COMP%]{font:inherit;font-size:.6875rem;color:var(--color-text-secondary);flex:none}.shell-case-switcher__chevron[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:9px;flex:none}.shell-case-switcher__list[_ngcontent-%COMP%]{display:flex;flex-direction:column;border-top:1px solid var(--color-border-light);max-height:60vh;overflow-y:auto}.shell-case-switcher__item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:7px;padding:0 16px;height:44px;flex-shrink:0;cursor:pointer}.shell-case-switcher__item[_ngcontent-%COMP%] .shell-case-switcher__title[_ngcontent-%COMP%]{font-weight:500;color:var(--color-text-secondary)}.shell-case-switcher__item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover)}.shell-case-switcher__item--new[_ngcontent-%COMP%]{border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .08))}.shell-case-switcher__item--new[_ngcontent-%COMP%] .shell-case-switcher__title[_ngcontent-%COMP%]{font-weight:600;color:var(--color-primary, #016b71)}.shell-case-switcher__new-icon[_ngcontent-%COMP%]{width:6px;height:6px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:300;color:var(--color-primary, #016b71);flex:none}.shell-case-switcher__dot[_ngcontent-%COMP%]{width:6px;height:6px;border-radius:50%;flex:none}.shell-case-switcher__dot--run[_ngcontent-%COMP%]{background:var(--color-success)}.shell-case-switcher__dot--idle[_ngcontent-%COMP%]{background:var(--color-border)}.shell-case-switcher__dot--killed[_ngcontent-%COMP%], .shell-case-switcher__dot--error[_ngcontent-%COMP%]{background:var(--color-error)}@media(max-width:900px){[_nghost-%COMP%]{display:flex;flex-direction:column;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .08));background:var(--color-bg, #fff);flex-shrink:0}}"],changeDetection:0})};function bn(o,t){if(o&1){let e=S();r(0,"div",8),u("mousedown",function(i){C(e);let a=c();return b(a.onResizeStart(i))}),l()}}function fn(o,t){if(o&1){let e=S();r(0,"button",9),u("click",function(){C(e);let i=c();return b(i.expandSidebar())}),r(1,"span",10),d(2,"menu"),l()()}}function vn(o,t){if(o&1&&A(0,"agentos-case-chat",7),o&2){let e=c();M("showTechnicalOverride",e.showTechnical())}}function xn(o,t){o&1&&A(0,"agentos-case-home")}var tt=class o{router=y(me);route=y(J);caseController=y(_e);namespaceController=y(Be);themePort=y(Ke);userState=y(Xe);destroyRef=y(G);isAdmin=T(()=>this.userState.currentUser()?.isAdmin===!0);userInitials=T(()=>{let t=this.userState.currentUser();if(!t)return"";let e=t.firstname?.[0]??"",n=t.lastname?.[0]??"";return(e+n).toUpperCase()||t.email?.[0]?.toUpperCase()||""});isDark=T(()=>{let t=this.themePort.theme();return t==="dark"?!0:t==="light"?!1:typeof document<"u"&&document.documentElement.hasAttribute("data-theme")});sidebarWidth=x(Number(localStorage.getItem("agentos.sidebar.width"))||300);menuOpen=x(!1);nsMenuOpen=x(!1);sidebarOpen=x(localStorage.getItem("agentos.sidebar.open")!=="false");mobileSwitcherOpen=x(!1);showTechnical=x(!1);showNsPicker=T(()=>this.isAdmin()||this.namespaces().length>1);namespaceId$=this.route.queryParams.pipe($(t=>t.ns??null));_namespaceIdRaw=te(this.namespaceId$);namespaceId=T(()=>this._namespaceIdRaw()??null);_activeCaseIdRaw=te(this.route.queryParams.pipe($(t=>t.case??null)));activeCaseId=T(()=>this._activeCaseIdRaw()??null);refresh$=new Ee(void 0);cases$=this.namespaceId$.pipe(H(t=>t?this.refresh$.pipe(H(()=>this.caseController.listByParentCase(t))):[[]]));cases=te(this.cases$,{initialValue:[]});namespaces=te(this.namespaceController.listAllNamespace(),{initialValue:[]});selectedNamespace=x(null);constructor(){this.userState.currentUser()||this.userState.loadMe().pipe(L(this.destroyRef)).subscribe(),Ue(this.sidebarWidth).pipe(Oe(1),Y(300),L(this.destroyRef)).subscribe(t=>localStorage.setItem("agentos.sidebar.width",String(t))),K(()=>{let t=this.namespaces(),e=this.namespaceId();if(t.length)if(e){let n=t.find(i=>i.id===e);this.selectedNamespace.set(n??t[0]??null)}else{let n=t[0];n?.id&&this.router.navigate(["/agentos/home"],{queryParams:{ns:n.id},replaceUrl:!0})}})}onNamespaceSelected(t){this.selectedNamespace.set(t),this.nsMenuOpen.set(!1),this.router.navigate(["/agentos/home"],{queryParams:{ns:t.id}})}toggleNsMenu(t){t?.stopPropagation(),t?.preventDefault(),this.nsMenuOpen.update(e=>!e)}closeNsMenu(t){t.stopPropagation(),this.nsMenuOpen.set(!1)}onCaseSelected(t){this.router.navigate(["/agentos/home"],{queryParams:{ns:this.namespaceId(),case:t}})}onCreateRequested(){this.router.navigate(["/agentos/home"],{queryParams:{ns:this.namespaceId()}})}navigateHome(){this.router.navigate(["/agentos/home"])}collapseSidebar(){this.sidebarOpen.set(!1),localStorage.setItem("agentos.sidebar.open","false")}expandSidebar(){this.sidebarOpen.set(!0),localStorage.setItem("agentos.sidebar.open","true")}onMenuNavigate(t){this.menuOpen.set(!1),this.router.navigate([t])}toggleMenu(t){t?.stopPropagation(),t?.preventDefault(),this.menuOpen.update(e=>!e)}closeMenu(t){t.stopPropagation(),this.menuOpen.set(!1)}onMenuToggleTheme(){this.menuOpen.set(!1);let t=this.isDark()?"light":"dark";this.themePort.setTheme(t)}onMenuToggleLogs(){this.menuOpen.set(!1),this.showTechnical.update(t=>!t)}toggleMobileSwitcher(){this.mobileSwitcherOpen.update(t=>!t)}onMobileCaseSelect(t){this.mobileSwitcherOpen.set(!1),this.onCaseSelected(t)}onMobileCreateCase(){this.mobileSwitcherOpen.set(!1),this.onCreateRequested()}onResizeStart(t){t.preventDefault();let e=t.clientX,n=this.sidebarWidth(),i=w=>{let m=w.clientX-e,h=Math.max(200,Math.min(500,n+m));this.sidebarWidth.set(h)},a=()=>{document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",a)};document.addEventListener("mousemove",i),document.addEventListener("mouseup",a)}refreshCases(){this.refresh$.next()}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=P({type:o,selectors:[["agentos-case-shell"]],decls:9,vars:27,consts:[[1,"case-shell"],[3,"homeClicked","namespaceSelected","nsMenuToggled","nsMenuClosed","menuToggled","menuClosed","navigateTo","themeToggled","logsToggled","selectedNamespace","namespaces","nsMenuOpen","userInitials","menuOpen","isAdmin","isDark","showTechnical"],[3,"caseSelected","createRequested","toggled","cases","activeCaseId","open"],[3,"collapseRequested","homeClicked","namespaceSelected","nsMenuToggled","nsMenuClosed","caseSelected","createRequested","menuToggled","menuClosed","navigateTo","themeToggled","logsToggled","sidebarWidth","sidebarOpen","selectedNamespace","namespaces","showNsPicker","nsMenuOpen","cases","activeCaseId","userInitials","menuOpen","isAdmin","isDark","showTechnical"],["role","separator","tabindex","-1","aria-label","Resize sidebar",1,"case-shell__resize-handle"],["type","button","title","Open sidebar",1,"case-shell__expand-btn"],[1,"case-shell__main"],[3,"showTechnicalOverride"],["role","separator","tabindex","-1","aria-label","Resize sidebar",1,"case-shell__resize-handle",3,"mousedown"],["type","button","title","Open sidebar",1,"case-shell__expand-btn",3,"click"],[1,"material-icons"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"agentos-shell-topbar-mobile",1),u("homeClicked",function(){return n.navigateHome()})("namespaceSelected",function(a){return n.onNamespaceSelected(a)})("nsMenuToggled",function(a){return n.toggleNsMenu(a)})("nsMenuClosed",function(a){return n.closeNsMenu(a)})("menuToggled",function(a){return n.toggleMenu(a)})("menuClosed",function(a){return n.closeMenu(a)})("navigateTo",function(a){return n.onMenuNavigate(a)})("themeToggled",function(){return n.onMenuToggleTheme()})("logsToggled",function(){return n.onMenuToggleLogs()}),l(),r(2,"agentos-shell-case-switcher-mobile",2),u("caseSelected",function(a){return n.onMobileCaseSelect(a)})("createRequested",function(){return n.onMobileCreateCase()})("toggled",function(){return n.toggleMobileSwitcher()}),l(),r(3,"agentos-shell-sidebar",3),u("collapseRequested",function(){return n.collapseSidebar()})("homeClicked",function(){return n.navigateHome()})("namespaceSelected",function(a){return n.onNamespaceSelected(a)})("nsMenuToggled",function(){return n.toggleNsMenu()})("nsMenuClosed",function(a){return n.closeNsMenu(a)})("caseSelected",function(a){return n.onCaseSelected(a)})("createRequested",function(){return n.onCreateRequested()})("menuToggled",function(a){return n.toggleMenu(a)})("menuClosed",function(a){return n.closeMenu(a)})("navigateTo",function(a){return n.onMenuNavigate(a)})("themeToggled",function(){return n.onMenuToggleTheme()})("logsToggled",function(){return n.onMenuToggleLogs()}),l(),p(4,bn,1,0,"div",4),p(5,fn,3,0,"button",5),r(6,"main",6),p(7,vn,1,1,"agentos-case-chat",7)(8,xn,1,0,"agentos-case-home"),l()()),e&2&&(s(),M("selectedNamespace",n.selectedNamespace())("namespaces",n.namespaces())("nsMenuOpen",n.nsMenuOpen())("userInitials",n.userInitials())("menuOpen",n.menuOpen())("isAdmin",n.isAdmin())("isDark",n.isDark())("showTechnical",n.showTechnical()),s(),M("cases",n.cases())("activeCaseId",n.activeCaseId())("open",n.mobileSwitcherOpen()),s(),M("sidebarWidth",n.sidebarWidth())("sidebarOpen",n.sidebarOpen())("selectedNamespace",n.selectedNamespace())("namespaces",n.namespaces())("showNsPicker",n.showNsPicker())("nsMenuOpen",n.nsMenuOpen())("cases",n.cases())("activeCaseId",n.activeCaseId())("userInitials",n.userInitials())("menuOpen",n.menuOpen())("isAdmin",n.isAdmin())("isDark",n.isDark())("showTechnical",n.showTechnical()),s(),_(n.sidebarOpen()?4:-1),s(),_(n.sidebarOpen()?-1:5),s(2),_(n.activeCaseId()?7:8))},dependencies:[be,fe,xe,ye,we],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100dvh}.case-shell[_ngcontent-%COMP%]{display:flex;height:100%;overflow:hidden}.case-shell__resize-handle[_ngcontent-%COMP%]{width:4px;flex-shrink:0;cursor:col-resize;background:var(--color-border, rgba(0, 0, 0, .09));transition:background .15s;position:relative;z-index:10}.case-shell__resize-handle[_ngcontent-%COMP%]:hover, .case-shell__resize-handle[_ngcontent-%COMP%]:active{background:var(--color-primary, #016b71)}.case-shell__main[_ngcontent-%COMP%]{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.case-shell__main[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1;min-height:0}@media(max-width:900px){.case-shell[_ngcontent-%COMP%]{flex-direction:column;overflow:hidden}.case-shell__resize-handle[_ngcontent-%COMP%]{display:none!important}.case-shell__main[_ngcontent-%COMP%]{flex:1;min-height:0;overflow:hidden}}.case-shell__expand-btn[_ngcontent-%COMP%]{position:fixed;top:14px;left:14px;z-index:200;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;cursor:pointer;color:var(--color-text-secondary, #968f85);transition:background .14s}.case-shell__expand-btn[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{font-size:22px}.case-shell__expand-btn[_ngcontent-%COMP%]:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .05));color:var(--color-text, #1b1916)}@media(max-width:900px){.case-shell__expand-btn[_ngcontent-%COMP%]{display:none}}"],changeDetection:0})};export{be as a,fe as b,ve as c,tt as d};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-LRFTCV6X.js";import"./chunk-3KLIHIYI.js";import"./chunk-ZX7BSCA5.js";import"./chunk-5TU5JR3W.js";import"./chunk-32554AB2.js";import"./chunk-BVQ4XPRS.js";import"./chunk-7VQ75OC6.js";import"./chunk-QDO3O2UB.js";export{a as UserFormComponent};
@@ -1 +0,0 @@
1
- import{a as Q}from"./chunk-X5QAL64P.js";import"./chunk-CK52GCRW.js";import"./chunk-ZX7BSCA5.js";import{b as $}from"./chunk-5TU5JR3W.js";import{a as D,c as z,d as L}from"./chunk-32554AB2.js";import{a as M}from"./chunk-BVQ4XPRS.js";import{F as K,b as B,c as G,e as E,g as j,h as W,i as q,l as m,n as J,s as U,w as H}from"./chunk-7VQ75OC6.js";import{Bb as w,Db as u,Fb as s,Ka as a,Tb as i,Ub as S,Vb as T,Wa as N,a as I,b as R,ca as v,ga as b,ha as C,lb as _,m as A,ma as F,mb as p,nb as V,pb as P,qb as O,rb as c,sb as o,ta as h,tb as n,ub as f,z as k}from"./chunk-QDO3O2UB.js";var Y=(r,t)=>t.config.id;function Z(r,t){if(r&1&&(o(0,"a",5),i(1,"View resolved definition \u2192"),n()),r&2){let e=s();c("routerLink",e.inspectRoute())}}function ee(r,t){r&1&&(o(0,"span",6),i(1,"Platform level"),n())}function te(r,t){r&1&&(o(0,"p",7),i(1,"Loading\u2026"),n())}function ne(r,t){if(r&1&&(o(0,"span",40),i(1),n()),r&2){let e=s().$implicit;a(),S(e.config.integrationType)}}function oe(r,t){if(r&1&&f(0,"input",41),r&2){let e=s().$implicit;c("formControl",e.toolsControl)}}function ie(r,t){if(r&1){let e=w();o(0,"div",36)(1,"label",37)(2,"input",38),u("change",function(){let g=b(e).$implicit,d=s(3);return C(d.toggleIntegration(g))}),n(),o(3,"span",39),i(4),n(),_(5,ne,2,1,"span",40),n(),_(6,oe,1,1,"input",41),n()}if(r&2){let e=t.$implicit;a(2),c("checked",e.enabled()),a(2),S(e.config.name),a(),p(e.config.integrationType?5:-1),a(),p(e.enabled()?6:-1)}}function re(r,t){if(r&1&&(o(0,"fieldset",20)(1,"legend",25),i(2,"Integrations"),n(),o(3,"p",35),i(4," Select which integrations this agent can use. Leave tool names empty to allow all tools from an integration. "),n(),P(5,ie,7,4,"div",36,Y),n()),r&2){let e=s(2);a(5),O(e.integrationRows())}}function ae(r,t){if(r&1){let e=w();o(0,"li",42),f(1,"input",43),o(2,"button",44),u("click",function(){let g=b(e).$implicit,d=s(3);return C(d.removeSubAgent(g))}),i(3," \u{1F5D1} "),n()()}if(r&2){let e=t.$implicit;a(),c("formControl",e.control)}}function le(r,t){if(r&1&&(o(0,"ul",28),P(1,ae,4,1,"li",42,V),n()),r&2){let e=s(2);a(),O(e.subAgentRows())}}function ge(r,t){if(r&1){let e=w();o(0,"form",9),u("ngSubmit",function(){b(e);let g=s();return C(g.submit())}),o(1,"div",10)(2,"label",11),i(3,"Name "),o(4,"span",12),i(5,"*"),n()(),f(6,"input",13),n(),o(7,"div",10)(8,"label",14),i(9,"Description"),n(),f(10,"input",15),n(),o(11,"div",10)(12,"label",16),i(13,"Model name"),n(),f(14,"input",17),n(),o(15,"div",10)(16,"label",18),i(17,"Instructions"),n(),f(18,"textarea",19),n(),_(19,re,7,0,"fieldset",20),o(20,"div",10)(21,"label",21),f(22,"input",22),o(23,"span",23),i(24,"Advanced mode"),n()(),o(25,"p",24),i(26," When enabled, this agent uses a multi-step reasoning loop instead of a single LLM call. "),n()(),o(27,"div",10)(28,"label",21),f(29,"input",22),o(30,"span",23),i(31,"Enabled"),n()(),o(32,"p",24),i(33,"Disabled agents are excluded from namespace resolution."),n()(),o(34,"div",10)(35,"span",25),i(36,"Sub-agents"),n(),o(37,"p",26),i(38," Glob patterns for agents this agent may delegate to. "),o(39,"code",27),i(40,"*"),n(),i(41," matches any sequence of characters (e.g.\xA0"),o(42,"code",27),i(43,"*Fixer"),n(),i(44,", "),o(45,"code",27),i(46,"*"),n(),i(47," for all). Leave empty to disable delegation. "),n(),_(48,le,3,0,"ul",28),o(49,"div",29)(50,"input",30),u("keydown.enter",function(){b(e);let g=s();return C(g.addSubAgent())}),n(),o(51,"button",31),u("click",function(){b(e);let g=s();return C(g.addSubAgent())}),i(52," + "),n()()(),o(53,"div",32)(54,"button",33),i(55),n(),o(56,"button",34),u("click",function(){b(e);let g=s();return C(g.cancel())}),i(57,"Cancel"),n()()()}if(r&2){let e=s();c("formGroup",e.form),a(6),c("formControl",e.nameControl),a(4),c("formControl",e.descriptionControl),a(4),c("formControl",e.modelNameControl),a(4),c("formControl",e.instructionsControl),a(),p(e.integrationRows().length>0?19:-1),a(3),c("formControl",e.advancedExecutionControl),a(7),c("formControl",e.enabledControl),a(19),p(e.subAgentRows().length>0?48:-1),a(2),c("formControl",e.newSubAgentControl),a(),c("disabled",!e.newSubAgentControl.value.trim()),a(3),c("disabled",e.form.invalid||e.isSubmitting()),a(),T(" ",e.isEditMode()?"Save changes":"Create"," ")}}var X=class r{route=v(D);router=v(z);destroyRef=v(F);agentConfigController=v($);integrationConfigState=v(Q);namespaceId=this.route.snapshot.params.namespaceId;isPlatformMode=!this.namespaceId;form=new q({name:new m("",{nonNullable:!0,validators:[E.required,E.minLength(1)]}),description:new m(null),modelName:new m(null),instructions:new m(null),advancedExecution:new m(!1,{nonNullable:!0}),enabled:new m(!1,{nonNullable:!0})});get nameControl(){return this.form.controls.name}get descriptionControl(){return this.form.controls.description}get modelNameControl(){return this.form.controls.modelName}get instructionsControl(){return this.form.controls.instructions}get advancedExecutionControl(){return this.form.controls.advancedExecution}get enabledControl(){return this.form.controls.enabled}subAgentRows=h([]);newSubAgentControl=new m("",{nonNullable:!0});isEditMode=h(!1);isSubmitting=h(!1);isLoading=h(!1);inspectRoute(){let t=this.route.snapshot.paramMap.get("agentConfigId")??"";return this.isPlatformMode?["/agentos","admin","agent-configs",t,"inspect"]:["/agentos",this.namespaceId,"agent-configs",t,"inspect"]}integrationRows=h([]);existingConfig=null;ngOnInit(){let t=this.route.snapshot.paramMap.get("agentConfigId");t?(this.isEditMode.set(!0),this.loadConfigAndIntegrations(t)):this.loadIntegrations(void 0)}loadConfigAndIntegrations(t){this.isLoading.set(!0),k({config:this.agentConfigController.getByIdAgentConfig(t),namespaceIntegrations:this.namespaceId?this.integrationConfigState.loadNamespaceConfigs(this.namespaceId):A([]),platformIntegrations:this.integrationConfigState.loadPlatformConfigs()}).pipe(M(this.destroyRef)).subscribe({next:({config:e,namespaceIntegrations:l,platformIntegrations:g})=>{this.existingConfig=e,this.nameControl.setValue(e.name),this.descriptionControl.setValue(e.description??null),this.modelNameControl.setValue(e.modelName??null),this.instructionsControl.setValue(e.instructions??null),this.advancedExecutionControl.setValue(e.advancedExecution??!1),this.enabledControl.setValue(e.enabled??!0);let d=[...g,...l];this.integrationRows.set(this.buildIntegrationRows(d,e.integrations??void 0)),this.subAgentRows.set((e.subAgents??[]).map(x=>({control:new m(x,{nonNullable:!0})}))),this.isLoading.set(!1)},error:()=>{this.isLoading.set(!1),this.navigateBack()}})}loadIntegrations(t){k({namespaceIntegrations:this.namespaceId?this.integrationConfigState.loadNamespaceConfigs(this.namespaceId):A([]),platformIntegrations:this.integrationConfigState.loadPlatformConfigs()}).pipe(M(this.destroyRef)).subscribe({next:({namespaceIntegrations:e,platformIntegrations:l})=>{let g=[...l,...e];this.integrationRows.set(this.buildIntegrationRows(g,t??void 0))}})}buildIntegrationRows(t,e){return t.map(l=>{let g=l.name??"",d=e?.[g],x=e!=null&&g in e,y=Array.isArray(d)?d.join(", "):"";return{config:l,enabled:h(x),toolsControl:new m(y,{nonNullable:!0})}})}toggleIntegration(t){t.enabled.update(e=>!e)}addSubAgent(){let t=this.newSubAgentControl.value.trim();t&&(this.subAgentRows.update(e=>[...e,{control:new m(t,{nonNullable:!0})}]),this.newSubAgentControl.reset(""))}removeSubAgent(t){this.subAgentRows.update(e=>e.filter(l=>l!==t))}buildSubAgentsPayload(){let t=this.subAgentRows().map(e=>e.control.value.trim()).filter(e=>e.length>0);return t.length>0?t:void 0}buildIntegrationsPayload(){let e=this.integrationRows().filter(g=>g.enabled());if(e.length===0)return;let l={};for(let g of e){let d=g.config.name??"",x=g.toolsControl.value.trim();x===""?l[d]=null:l[d]=x.split(",").map(y=>y.trim()).filter(y=>y.length>0)}return l}submit(){if(this.form.invalid||this.isSubmitting())return;this.addSubAgent(),this.isSubmitting.set(!0);let t=R(I({},this.existingConfig??{}),{createdOn:this.existingConfig?.createdOn,updatedOn:this.existingConfig?.updatedOn,namespaceId:this.namespaceId,name:this.nameControl.value.trim(),description:this.descriptionControl.value?.trim()||void 0,modelName:this.modelNameControl.value?.trim()||void 0,instructions:this.instructionsControl.value?.trim()||void 0,integrations:this.buildIntegrationsPayload(),advancedExecution:this.advancedExecutionControl.value,enabled:this.enabledControl.value,subAgents:this.buildSubAgentsPayload()});(this.isEditMode()?this.agentConfigController.updateAgentConfig(this.existingConfig.id??"",t):this.agentConfigController.createAgentConfig(t)).pipe(M(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:()=>this.isSubmitting.set(!1)})}cancel(){this.navigateBack()}navigateBack(){this.isPlatformMode?this.router.navigate(["/agentos","admin","agent-configs"]):this.router.navigate(["/agentos",this.namespaceId,"agent-configs"])}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=N({type:r,selectors:[["agentos-agent-config-form"]],decls:12,vars:4,consts:[[1,"agent-config-form"],[1,"agent-config-form__header"],["type","button","title","Back to agent configs",1,"agent-config-form__back",3,"click"],[1,"agent-config-form__back-icon"],[1,"agent-config-form__title"],[1,"agent-config-form__sibling-link",3,"routerLink"],[1,"agent-config-form__platform-badge"],[1,"agent-config-form__loading"],[1,"agent-config-form__form",3,"formGroup"],[1,"agent-config-form__form",3,"ngSubmit","formGroup"],[1,"agent-config-form__field"],["for","agent-config-name",1,"agent-config-form__label"],["aria-hidden","true"],["id","agent-config-name","type","text","placeholder","e.g. Support agent","autocomplete","off",1,"agent-config-form__input",3,"formControl"],["for","agent-config-description",1,"agent-config-form__label"],["id","agent-config-description","type","text","placeholder","Optional \u2014 short description of this agent","autocomplete","off",1,"agent-config-form__input",3,"formControl"],["for","agent-config-model-name",1,"agent-config-form__label"],["id","agent-config-model-name","type","text","placeholder","Optional \u2014 model alias or name to use","autocomplete","off",1,"agent-config-form__input",3,"formControl"],["for","agent-config-instructions",1,"agent-config-form__label"],["id","agent-config-instructions","rows","6","placeholder","Optional \u2014 system instructions for this agent",1,"agent-config-form__textarea",3,"formControl"],[1,"agent-config-form__integrations"],[1,"agent-config-form__toggle-label"],["type","checkbox",1,"agent-config-form__toggle-checkbox",3,"formControl"],[1,"agent-config-form__toggle-text"],[1,"agent-config-form__toggle-hint"],[1,"agent-config-form__label"],[1,"agent-config-form__field-hint"],[1,"agent-config-form__code"],[1,"agent-config-form__sub-agent-list"],[1,"agent-config-form__sub-agent-add"],["type","text","placeholder","e.g. *Fixer or *","autocomplete","off",1,"agent-config-form__input","agent-config-form__sub-agent-input",3,"keydown.enter","formControl"],["type","button","title","Add pattern",1,"agent-config-form__sub-agent-btn","agent-config-form__sub-agent-btn--add",3,"click","disabled"],[1,"agent-config-form__actions"],["type","submit",1,"agent-config-form__btn","agent-config-form__btn--primary",3,"disabled"],["type","button",1,"agent-config-form__btn",3,"click"],[1,"agent-config-form__integrations-hint"],[1,"agent-config-form__integration-row"],[1,"agent-config-form__integration-toggle"],["type","checkbox",1,"agent-config-form__integration-checkbox",3,"change","checked"],[1,"agent-config-form__integration-name"],[1,"agent-config-form__integration-type"],["type","text","placeholder","Tool names, comma-separated (empty = all tools)","autocomplete","off",1,"agent-config-form__input","agent-config-form__integration-tools",3,"formControl"],[1,"agent-config-form__sub-agent-row"],["type","text","autocomplete","off",1,"agent-config-form__input","agent-config-form__sub-agent-input",3,"formControl"],["type","button","title","Remove",1,"agent-config-form__sub-agent-btn","agent-config-form__sub-agent-btn--danger",3,"click"]],template:function(e,l){e&1&&(o(0,"div",0)(1,"header",1)(2,"button",2),u("click",function(){return l.cancel()}),o(3,"span",3),i(4,"\u2190"),n(),i(5," Agent Configs "),n(),o(6,"h1",4),i(7),n(),_(8,Z,2,1,"a",5),_(9,ee,2,0,"span",6),n(),_(10,te,2,0,"p",7)(11,ge,58,13,"form",8),n()),e&2&&(a(7),S(l.isEditMode()?"Edit agent config":"New agent config"),a(),p(l.isEditMode()?8:-1),a(),p(l.isPlatformMode?9:-1),a(),p(l.isLoading()?10:11))},dependencies:[K,J,G,B,j,W,U,H,L],styles:[".agent-config-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.agent-config-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.agent-config-form__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.agent-config-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.agent-config-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.agent-config-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.agent-config-form__sibling-link[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--color-primary, #007aff);text-decoration:none}.agent-config-form__sibling-link[_ngcontent-%COMP%]:hover{text-decoration:underline}.agent-config-form__platform-badge[_ngcontent-%COMP%]{display:inline-block;font-size:.75rem;font-weight:500;color:var(--color-text-secondary, #6e6e73);background:var(--color-surface-hover, rgba(0, 0, 0, .04));border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:4px;padding:.125rem .5rem;letter-spacing:.02em;align-self:flex-start}.agent-config-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.agent-config-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.agent-config-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.agent-config-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text, #1d1d1f)}.agent-config-form__input[_ngcontent-%COMP%], .agent-config-form__textarea[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease}.agent-config-form__input[_ngcontent-%COMP%]:focus, .agent-config-form__textarea[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.agent-config-form__input[_ngcontent-%COMP%]::placeholder, .agent-config-form__textarea[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.agent-config-form__textarea[_ngcontent-%COMP%]{resize:vertical;min-height:120px;line-height:1.5}.agent-config-form__integrations[_ngcontent-%COMP%]{border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:8px;padding:1rem;margin:0;display:flex;flex-direction:column;gap:.75rem}.agent-config-form__integrations-hint[_ngcontent-%COMP%]{margin:0;font-size:.8rem;color:var(--color-text-secondary, #6e6e73);line-height:1.4}.agent-config-form__integration-row[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.agent-config-form__integration-toggle[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.agent-config-form__integration-checkbox[_ngcontent-%COMP%]{width:1rem;height:1rem;flex-shrink:0;accent-color:var(--color-primary, #007aff);cursor:pointer}.agent-config-form__integration-name[_ngcontent-%COMP%]{font-size:.9rem;font-weight:500;color:var(--color-text, #1d1d1f)}.agent-config-form__integration-type[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary, #6e6e73);font-family:monospace}.agent-config-form__integration-tools[_ngcontent-%COMP%]{margin-left:1.5rem;font-size:.875rem}.agent-config-form__field-hint[_ngcontent-%COMP%]{margin:.25rem 0 0;font-size:.8rem;color:var(--color-text-secondary, #6e6e73);line-height:1.4}.agent-config-form__code[_ngcontent-%COMP%]{font-family:monospace;font-size:.85em;background:var(--color-surface-muted, rgba(0, 0, 0, .06));padding:.1em .3em;border-radius:3px}.agent-config-form__sub-agent-list[_ngcontent-%COMP%]{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.375rem}.agent-config-form__sub-agent-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem}.agent-config-form__sub-agent-input[_ngcontent-%COMP%]{flex:1;min-width:0}.agent-config-form__sub-agent-add[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;margin-top:.5rem}.agent-config-form__sub-agent-btn[_ngcontent-%COMP%]{flex-shrink:0;width:2rem;height:2rem;padding:0;border-radius:6px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text-secondary, #6e6e73);font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease,color .15s ease}.agent-config-form__sub-agent-btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-surface-hover, rgba(0, 0, 0, .06));border-color:var(--color-border, rgba(0, 0, 0, .2));color:var(--color-text, #1d1d1f)}.agent-config-form__sub-agent-btn[_ngcontent-%COMP%]:disabled{opacity:.35;cursor:not-allowed}.agent-config-form__sub-agent-btn--add[_ngcontent-%COMP%]{width:2rem;height:2rem;font-size:1.25rem;font-weight:300;border-color:var(--color-primary, #007aff);color:var(--color-primary, #007aff)}.agent-config-form__sub-agent-btn--add[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-primary, #007aff);color:#fff}.agent-config-form__sub-agent-btn--danger[_ngcontent-%COMP%]:hover:not(:disabled){border-color:var(--color-error, #ff3b30);color:var(--color-error, #ff3b30);background:transparent}.agent-config-form__toggle-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.agent-config-form__toggle-checkbox[_ngcontent-%COMP%]{width:1rem;height:1rem;flex-shrink:0;accent-color:var(--color-primary, #007aff);cursor:pointer}.agent-config-form__toggle-text[_ngcontent-%COMP%]{font-size:.9rem;font-weight:500;color:var(--color-text, #1d1d1f)}.agent-config-form__toggle-hint[_ngcontent-%COMP%]{margin:.25rem 0 0 1.5rem;font-size:.8rem;color:var(--color-text-secondary, #6e6e73);line-height:1.4}.agent-config-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.agent-config-form__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.agent-config-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.agent-config-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.agent-config-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);border-color:var(--color-primary, #007aff);color:#fff}.agent-config-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-primary-hover, #0051d5);border-color:var(--color-primary-hover, #0051d5)}"],changeDetection:0})};export{X as AgentConfigFormComponent};
@@ -1 +0,0 @@
1
- import{b as a}from"./chunk-7ZPD4MSE.js";import"./chunk-3KLIHIYI.js";import"./chunk-5TU5JR3W.js";import"./chunk-32554AB2.js";import"./chunk-F7X52MX4.js";import"./chunk-NXKPUZGQ.js";import"./chunk-QN7OUZIZ.js";import"./chunk-BVQ4XPRS.js";import"./chunk-HTKDXFLE.js";import"./chunk-7VQ75OC6.js";import"./chunk-NNVKL253.js";import"./chunk-QDO3O2UB.js";export{a as UserListComponent};
@@ -1 +0,0 @@
1
- import{l}from"./chunk-5TU5JR3W.js";import{V as o,Z as s,a as n,ca as a,ta as i}from"./chunk-QDO3O2UB.js";var u=class t{userController=a(l);currentUser=i(null);loadMe(){return this.userController.getMeUser().pipe(o(r=>this.currentUser.set(r)))}updateMe(r){let e=this.currentUser();if(!e)throw new Error("Cannot update: current user not loaded");if(!e.id)throw new Error("Cannot update: current user has no id");let c=n(n({},e),r);return this.userController.updateUser(e.id,c).pipe(o(d=>this.currentUser.set(d)))}static \u0275fac=function(e){return new(e||t)};static \u0275prov=s({token:t,factory:t.\u0275fac,providedIn:"root"})};export{u as a};
@@ -1 +0,0 @@
1
- import{n as ii}from"./chunk-5TU5JR3W.js";import{a as S,b as K,e as Jt,f as Xe,h as X,i as ve,j as ce}from"./chunk-QVW2GZXC.js";import{a as oi}from"./chunk-SDPYXC6U.js";import{b as si,c as ri,e as Ae}from"./chunk-WE6G6IT3.js";import"./chunk-46WOQYAR.js";import{b as Xt,e as xt,f as Zt}from"./chunk-32554AB2.js";import{a as ti}from"./chunk-EIJAV76W.js";import{c as ei}from"./chunk-TGWQ4PGG.js";import"./chunk-QN7OUZIZ.js";import{c as ni}from"./chunk-BVQ4XPRS.js";import{b as Te}from"./chunk-FM5EGDVD.js";import"./chunk-NNVKL253.js";import{B as It,Ca as He,G as Ft,L as Lt,La as qt,Oa as Qt,Pc as Wt,Qc as Ht,V as zt,Vc as Yt,W as v,Wa as Vt,Z as Se,a as _e,ba as Ee,c as Dt,ca as z,d as se,fb as Ye,la as Kt,pa as jt,q as We,r as Rt,sa as Bt,sc as $t,t as kt,tc as Gt,u as Ot,ub as Ut}from"./chunk-QDO3O2UB.js";function ai(s){return new v(3e3,!1)}function un(){return new v(3100,!1)}function hn(){return new v(3101,!1)}function dn(s){return new v(3001,!1)}function mn(s){return new v(3003,!1)}function fn(s){return new v(3004,!1)}function ci(s,e){return new v(3005,!1)}function ui(){return new v(3006,!1)}function hi(){return new v(3007,!1)}function di(s,e){return new v(3008,!1)}function mi(s){return new v(3002,!1)}function fi(s,e,t,i,n){return new v(3010,!1)}function pi(){return new v(3011,!1)}function gi(){return new v(3012,!1)}function yi(){return new v(3200,!1)}function _i(){return new v(3202,!1)}function Si(){return new v(3013,!1)}function Ei(s){return new v(3014,!1)}function vi(s){return new v(3015,!1)}function Ti(s){return new v(3016,!1)}function Ai(s,e){return new v(3404,!1)}function pn(s){return new v(3502,!1)}function wi(s){return new v(3503,!1)}function bi(){return new v(3300,!1)}function Pi(s){return new v(3504,!1)}function Ni(s){return new v(3301,!1)}function Mi(s,e){return new v(3302,!1)}function Ci(s){return new v(3303,!1)}function Di(s,e){return new v(3400,!1)}function Ri(s){return new v(3401,!1)}function ki(s){return new v(3402,!1)}function Oi(s,e){return new v(3505,!1)}function U(s){switch(s.length){case 0:return new X;case 1:return s[0];default:return new ve(s)}}function et(s,e,t=new Map,i=new Map){let n=[],r=[],o=-1,a=null;if(e.forEach(l=>{let c=l.get("offset"),h=c==o,u=h&&a||new Map;l.forEach((_,y)=>{let m=y,g=_;if(y!=="offset")switch(m=s.normalizePropertyName(m,n),g){case ce:g=t.get(y);break;case K:g=i.get(y);break;default:g=s.normalizeStyleValue(y,m,g,n);break}u.set(m,g)}),h||r.push(u),a=u,o=c}),n.length)throw pn(n);return r}function we(s,e,t,i){switch(e){case"start":s.onStart(()=>i(t&&xe(t,"start",s)));break;case"done":s.onDone(()=>i(t&&xe(t,"done",s)));break;case"destroy":s.onDestroy(()=>i(t&&xe(t,"destroy",s)));break}}function xe(s,e,t){let i=t.totalTime,n=!!t.disabled,r=be(s.element,s.triggerName,s.fromState,s.toState,e||s.phaseName,i??s.totalTime,n),o=s._data;return o!=null&&(r._data=o),r}function be(s,e,t,i,n="",r=0,o){return{element:s,triggerName:e,fromState:t,toState:i,phaseName:n,totalTime:r,disabled:!!o}}function k(s,e,t){let i=s.get(e);return i||s.set(e,i=t),i}function tt(s){let e=s.indexOf(":"),t=s.substring(1,e),i=s.slice(e+1);return[t,i]}var gn=typeof document>"u"?null:document.documentElement;function Pe(s){let e=s.parentNode||s.host||null;return e===gn?null:e}function yn(s){return s.substring(1,6)=="ebkit"}var x=null,li=!1;function Ii(s){x||(x=_n()||{},li=x.style?"WebkitAppearance"in x.style:!1);let e=!0;return x.style&&!yn(s)&&(e=s in x.style,!e&&li&&(e="Webkit"+s.charAt(0).toUpperCase()+s.slice(1)in x.style)),e}function _n(){return typeof document<"u"?document.body:null}function it(s,e){for(;e;){if(e===s)return!0;e=Pe(e)}return!1}function nt(s,e,t){if(t)return Array.from(s.querySelectorAll(e));let i=s.querySelector(e);return i?[i]:[]}var Sn=1e3,st="{{",En="}}",rt="ng-enter",Ne="ng-leave",ue="ng-trigger",he=".ng-trigger",ot="ng-animating",Me=".ng-animating";function V(s){if(typeof s=="number")return s;let e=s.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Ze(parseFloat(e[1]),e[2])}function Ze(s,e){return e==="s"?s*Sn:s}function de(s,e,t){return s.hasOwnProperty("duration")?s:Tn(s,e,t)}var vn=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i;function Tn(s,e,t){let i,n=0,r="";if(typeof s=="string"){let o=s.match(vn);if(o===null)return e.push(ai(s)),{duration:0,delay:0,easing:""};i=Ze(parseFloat(o[1]),o[2]);let a=o[3];a!=null&&(n=Ze(parseFloat(a),o[4]));let l=o[5];l&&(r=l)}else i=s;if(!t){let o=!1,a=e.length;i<0&&(e.push(un()),o=!0),n<0&&(e.push(hn()),o=!0),o&&e.splice(a,0,ai(s))}return{duration:i,delay:n,easing:r}}function Fi(s){return s.length?s[0]instanceof Map?s:s.map(e=>new Map(Object.entries(e))):[]}function j(s,e,t){e.forEach((i,n)=>{let r=Ce(n);t&&!t.has(n)&&t.set(n,s.style[r]),s.style[r]=i})}function G(s,e){e.forEach((t,i)=>{let n=Ce(i);s.style[n]=""})}function re(s){return Array.isArray(s)?s.length==1?s[0]:Jt(s):s}function Li(s,e,t){let i=e.params||{},n=at(s);n.length&&n.forEach(r=>{i.hasOwnProperty(r)||t.push(dn(r))})}var Je=new RegExp(`${st}\\s*(.+?)\\s*${En}`,"g");function at(s){let e=[];if(typeof s=="string"){let t;for(;t=Je.exec(s);)e.push(t[1]);Je.lastIndex=0}return e}function oe(s,e,t){let i=`${s}`,n=i.replace(Je,(r,o)=>{let a=e[o];return a==null&&(t.push(mn(o)),a=""),a.toString()});return n==i?s:n}var An=/-+([a-z0-9])/g;function Ce(s){return s.replace(An,(...e)=>e[1].toUpperCase())}function zi(s,e){return s===0||e===0}function Ki(s,e,t){if(t.size&&e.length){let i=e[0],n=[];if(t.forEach((r,o)=>{i.has(o)||n.push(o),i.set(o,r)}),n.length)for(let r=1;r<e.length;r++){let o=e[r];n.forEach(a=>o.set(a,De(s,a)))}}return e}function O(s,e,t){switch(e.type){case S.Trigger:return s.visitTrigger(e,t);case S.State:return s.visitState(e,t);case S.Transition:return s.visitTransition(e,t);case S.Sequence:return s.visitSequence(e,t);case S.Group:return s.visitGroup(e,t);case S.Animate:return s.visitAnimate(e,t);case S.Keyframes:return s.visitKeyframes(e,t);case S.Style:return s.visitStyle(e,t);case S.Reference:return s.visitReference(e,t);case S.AnimateChild:return s.visitAnimateChild(e,t);case S.AnimateRef:return s.visitAnimateRef(e,t);case S.Query:return s.visitQuery(e,t);case S.Stagger:return s.visitStagger(e,t);default:throw fn(e.type)}}function De(s,e){return window.getComputedStyle(s)[e]}var wt=(()=>{class s{validateStyleProperty(t){return Ii(t)}containsElement(t,i){return it(t,i)}getParentElement(t){return Pe(t)}query(t,i,n){return nt(t,i,n)}computeStyle(t,i,n){return n||""}animate(t,i,n,r,o,a=[],l){return new X(n,r)}static \u0275fac=function(i){return new(i||s)};static \u0275prov=Se({token:s,factory:s.\u0275fac})}return s})(),J=class{static NOOP=new wt},ee=class{};var wn=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]),Fe=class extends ee{normalizePropertyName(e,t){return Ce(e)}normalizeStyleValue(e,t,i,n){let r="",o=i.toString().trim();if(wn.has(t)&&i!==0&&i!=="0")if(typeof i=="number")r="px";else{let a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&a[1].length==0&&n.push(ci(e,i))}return o+r}};var Le="*";function bn(s,e){let t=[];return typeof s=="string"?s.split(/\s*,\s*/).forEach(i=>Pn(i,t,e)):t.push(s),t}function Pn(s,e,t){if(s[0]==":"){let l=Nn(s,t);if(typeof l=="function"){e.push(l);return}s=l}let i=s.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(i==null||i.length<4)return t.push(vi(s)),e;let n=i[1],r=i[2],o=i[3];e.push(ji(n,o));let a=n==Le&&o==Le;r[0]=="<"&&!a&&e.push(ji(o,n))}function Nn(s,e){switch(s){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,i)=>parseFloat(i)>parseFloat(t);case":decrement":return(t,i)=>parseFloat(i)<parseFloat(t);default:return e.push(Ti(s)),"* => *"}}var Re=new Set(["true","1"]),ke=new Set(["false","0"]);function ji(s,e){let t=Re.has(s)||ke.has(s),i=Re.has(e)||ke.has(e);return(n,r)=>{let o=s==Le||s==n,a=e==Le||e==r;return!o&&t&&typeof n=="boolean"&&(o=n?Re.has(s):ke.has(s)),!a&&i&&typeof r=="boolean"&&(a=r?Re.has(e):ke.has(e)),o&&a}}var Xi=":self",Mn=new RegExp(`s*${Xi}s*,?`,"g");function xi(s,e,t,i){return new mt(s).build(e,t,i)}var Bi="",mt=class{_driver;constructor(e){this._driver=e}build(e,t,i){let n=new ft(t);return this._resetContextStyleTimingState(n),O(this,re(e),n)}_resetContextStyleTimingState(e){e.currentQuerySelector=Bi,e.collectedStyles=new Map,e.collectedStyles.set(Bi,new Map),e.currentTime=0}visitTrigger(e,t){let i=t.queryCount=0,n=t.depCount=0,r=[],o=[];return e.name.charAt(0)=="@"&&t.errors.push(ui()),e.definitions.forEach(a=>{if(this._resetContextStyleTimingState(t),a.type==S.State){let l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(h=>{l.name=h,r.push(this.visitState(l,t))}),l.name=c}else if(a.type==S.Transition){let l=this.visitTransition(a,t);i+=l.queryCount,n+=l.depCount,o.push(l)}else t.errors.push(hi())}),{type:S.Trigger,name:e.name,states:r,transitions:o,queryCount:i,depCount:n,options:null}}visitState(e,t){let i=this.visitStyle(e.styles,t),n=e.options&&e.options.params||null;if(i.containsDynamicStyles){let r=new Set,o=n||{};i.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{at(l).forEach(c=>{o.hasOwnProperty(c)||r.add(c)})})}),r.size&&t.errors.push(di(e.name,[...r.values()]))}return{type:S.State,name:e.name,style:i,options:n?{params:n}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;let i=O(this,re(e.animation),t),n=bn(e.expr,t.errors);return{type:S.Transition,matchers:n,animation:i,queryCount:t.queryCount,depCount:t.depCount,options:Z(e.options)}}visitSequence(e,t){return{type:S.Sequence,steps:e.steps.map(i=>O(this,i,t)),options:Z(e.options)}}visitGroup(e,t){let i=t.currentTime,n=0,r=e.steps.map(o=>{t.currentTime=i;let a=O(this,o,t);return n=Math.max(n,t.currentTime),a});return t.currentTime=n,{type:S.Group,steps:r,options:Z(e.options)}}visitAnimate(e,t){let i=kn(e.timings,t.errors);t.currentAnimateTimings=i;let n,r=e.styles?e.styles:Xe({});if(r.type==S.Keyframes)n=this.visitKeyframes(r,t);else{let o=e.styles,a=!1;if(!o){a=!0;let c={};i.easing&&(c.easing=i.easing),o=Xe(c)}t.currentTime+=i.duration+i.delay;let l=this.visitStyle(o,t);l.isEmptyStep=a,n=l}return t.currentAnimateTimings=null,{type:S.Animate,timings:i,style:n,options:null}}visitStyle(e,t){let i=this._makeStyleAst(e,t);return this._validateStyleAst(i,t),i}_makeStyleAst(e,t){let i=[],n=Array.isArray(e.styles)?e.styles:[e.styles];for(let a of n)typeof a=="string"?a===K?i.push(a):t.errors.push(mi(a)):i.push(new Map(Object.entries(a)));let r=!1,o=null;return i.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(o=a.get("easing"),a.delete("easing")),!r)){for(let l of a.values())if(l.toString().indexOf(st)>=0){r=!0;break}}}),{type:S.Style,styles:i,easing:o,offset:e.offset,containsDynamicStyles:r,options:null}}_validateStyleAst(e,t){let i=t.currentAnimateTimings,n=t.currentTime,r=t.currentTime;i&&r>0&&(r-=i.duration+i.delay),e.styles.forEach(o=>{typeof o!="string"&&o.forEach((a,l)=>{let c=t.collectedStyles.get(t.currentQuerySelector),h=c.get(l),u=!0;h&&(r!=n&&r>=h.startTime&&n<=h.endTime&&(t.errors.push(fi(l,h.startTime,h.endTime,r,n)),u=!1),r=h.startTime),u&&c.set(l,{startTime:r,endTime:n}),t.options&&Li(a,t.options,t.errors)})})}visitKeyframes(e,t){let i={type:S.Keyframes,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push(pi()),i;let n=1,r=0,o=[],a=!1,l=!1,c=0,h=e.steps.map(w=>{let b=this._makeStyleAst(w,t),C=b.offset!=null?b.offset:Rn(b.styles),N=0;return C!=null&&(r++,N=b.offset=C),l=l||N<0||N>1,a=a||N<c,c=N,o.push(N),b});l&&t.errors.push(gi()),a&&t.errors.push(yi());let u=e.steps.length,_=0;r>0&&r<u?t.errors.push(_i()):r==0&&(_=n/(u-1));let y=u-1,m=t.currentTime,g=t.currentAnimateTimings,T=g.duration;return h.forEach((w,b)=>{let C=_>0?b==y?1:_*b:o[b],N=C*T;t.currentTime=m+g.delay+N,g.duration=N,this._validateStyleAst(w,t),w.offset=C,i.styles.push(w)}),i}visitReference(e,t){return{type:S.Reference,animation:O(this,re(e.animation),t),options:Z(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:S.AnimateChild,options:Z(e.options)}}visitAnimateRef(e,t){return{type:S.AnimateRef,animation:this.visitReference(e.animation,t),options:Z(e.options)}}visitQuery(e,t){let i=t.currentQuerySelector,n=e.options||{};t.queryCount++,t.currentQuery=e;let[r,o]=Cn(e.selector);t.currentQuerySelector=i.length?i+" "+r:r,k(t.collectedStyles,t.currentQuerySelector,new Map);let a=O(this,re(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=i,{type:S.Query,selector:r,limit:n.limit||0,optional:!!n.optional,includeSelf:o,animation:a,originalSelector:e.selector,options:Z(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push(Si());let i=e.timings==="full"?{duration:0,delay:0,easing:"full"}:de(e.timings,t.errors,!0);return{type:S.Stagger,animation:O(this,re(e.animation),t),timings:i,options:null}}};function Cn(s){let e=!!s.split(/\s*,\s*/).find(t=>t==Xi);return e&&(s=s.replace(Mn,"")),s=s.replace(/@\*/g,he).replace(/@\w+/g,t=>he+"-"+t.slice(1)).replace(/:animating/g,Me),[s,e]}function Dn(s){return s?_e({},s):null}var ft=class{errors;queryCount=0;depCount=0;currentTransition=null;currentQuery=null;currentQuerySelector=null;currentAnimateTimings=null;currentTime=0;collectedStyles=new Map;options=null;unsupportedCSSPropertiesFound=new Set;constructor(e){this.errors=e}};function Rn(s){if(typeof s=="string")return null;let e=null;if(Array.isArray(s))s.forEach(t=>{if(t instanceof Map&&t.has("offset")){let i=t;e=parseFloat(i.get("offset")),i.delete("offset")}});else if(s instanceof Map&&s.has("offset")){let t=s;e=parseFloat(t.get("offset")),t.delete("offset")}return e}function kn(s,e){if(s.hasOwnProperty("duration"))return s;if(typeof s=="number"){let r=de(s,e).duration;return lt(r,0,"")}let t=s;if(t.split(/\s+/).some(r=>r.charAt(0)=="{"&&r.charAt(1)=="{")){let r=lt(0,0,"");return r.dynamic=!0,r.strValue=t,r}let n=de(t,e);return lt(n.duration,n.delay,n.easing)}function Z(s){return s?(s=_e({},s),s.params&&(s.params=Dn(s.params))):s={},s}function lt(s,e,t){return{duration:s,delay:e,easing:t}}function bt(s,e,t,i,n,r,o=null,a=!1){return{type:1,element:s,keyframes:e,preStyleProps:t,postStyleProps:i,duration:n,delay:r,totalTime:n+r,easing:o,subTimeline:a}}var fe=class{_map=new Map;get(e){return this._map.get(e)||[]}append(e,t){let i=this._map.get(e);i||this._map.set(e,i=[]),i.push(...t)}has(e){return this._map.has(e)}clear(){this._map.clear()}},On=1,In=":enter",Fn=new RegExp(In,"g"),Ln=":leave",zn=new RegExp(Ln,"g");function Zi(s,e,t,i,n,r=new Map,o=new Map,a,l,c=[]){return new pt().buildKeyframes(s,e,t,i,n,r,o,a,l,c)}var pt=class{buildKeyframes(e,t,i,n,r,o,a,l,c,h=[]){c=c||new fe;let u=new gt(e,t,c,n,r,h,[]);u.options=l;let _=l.delay?V(l.delay):0;u.currentTimeline.delayNextStep(_),u.currentTimeline.setStyles([o],null,u.errors,l),O(this,i,u);let y=u.timelines.filter(m=>m.containsAnimation());if(y.length&&a.size){let m;for(let g=y.length-1;g>=0;g--){let T=y[g];if(T.element===t){m=T;break}}m&&!m.allowOnlyTimelineStyles()&&m.setStyles([a],null,u.errors,l)}return y.length?y.map(m=>m.buildKeyframes()):[bt(t,[],[],[],0,_,"",!1)]}visitTrigger(e,t){}visitState(e,t){}visitTransition(e,t){}visitAnimateChild(e,t){let i=t.subInstructions.get(t.element);if(i){let n=t.createSubContext(e.options),r=t.currentTimeline.currentTime,o=this._visitSubInstructions(i,n,n.options);r!=o&&t.transformIntoNewTimeline(o)}t.previousNode=e}visitAnimateRef(e,t){let i=t.createSubContext(e.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([e.options,e.animation.options],t,i),this.visitReference(e.animation,i),t.transformIntoNewTimeline(i.currentTimeline.currentTime),t.previousNode=e}_applyAnimationRefDelays(e,t,i){for(let n of e){let r=n?.delay;if(r){let o=typeof r=="number"?r:V(oe(r,n?.params??{},t.errors));i.delayNextStep(o)}}}_visitSubInstructions(e,t,i){let r=t.currentTimeline.currentTime,o=i.duration!=null?V(i.duration):null,a=i.delay!=null?V(i.delay):null;return o!==0&&e.forEach(l=>{let c=t.appendInstructionToTimeline(l,o,a);r=Math.max(r,c.duration+c.delay)}),r}visitReference(e,t){t.updateOptions(e.options,!0),O(this,e.animation,t),t.previousNode=e}visitSequence(e,t){let i=t.subContextCount,n=t,r=e.options;if(r&&(r.params||r.delay)&&(n=t.createSubContext(r),n.transformIntoNewTimeline(),r.delay!=null)){n.previousNode.type==S.Style&&(n.currentTimeline.snapshotCurrentStyles(),n.previousNode=ze);let o=V(r.delay);n.delayNextStep(o)}e.steps.length&&(e.steps.forEach(o=>O(this,o,n)),n.currentTimeline.applyStylesToKeyframe(),n.subContextCount>i&&n.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){let i=[],n=t.currentTimeline.currentTime,r=e.options&&e.options.delay?V(e.options.delay):0;e.steps.forEach(o=>{let a=t.createSubContext(e.options);r&&a.delayNextStep(r),O(this,o,a),n=Math.max(n,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(o=>t.currentTimeline.mergeTimelineCollectedStyles(o)),t.transformIntoNewTimeline(n),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){let i=e.strValue,n=t.params?oe(i,t.params,t.errors):i;return de(n,t.errors)}else return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,t){let i=t.currentAnimateTimings=this._visitTiming(e.timings,t),n=t.currentTimeline;i.delay&&(t.incrementTime(i.delay),n.snapshotCurrentStyles());let r=e.style;r.type==S.Keyframes?this.visitKeyframes(r,t):(t.incrementTime(i.duration),this.visitStyle(r,t),n.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){let i=t.currentTimeline,n=t.currentAnimateTimings;!n&&i.hasCurrentStyleProperties()&&i.forwardFrame();let r=n&&n.easing||e.easing;e.isEmptyStep?i.applyEmptyStep(r):i.setStyles(e.styles,r,t.errors,t.options),t.previousNode=e}visitKeyframes(e,t){let i=t.currentAnimateTimings,n=t.currentTimeline.duration,r=i.duration,a=t.createSubContext().currentTimeline;a.easing=i.easing,e.styles.forEach(l=>{let c=l.offset||0;a.forwardTime(c*r),a.setStyles(l.styles,l.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(n+r),t.previousNode=e}visitQuery(e,t){let i=t.currentTimeline.currentTime,n=e.options||{},r=n.delay?V(n.delay):0;r&&(t.previousNode.type===S.Style||i==0&&t.currentTimeline.hasCurrentStyleProperties())&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=ze);let o=i,a=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!n.optional,t.errors);t.currentQueryTotal=a.length;let l=null;a.forEach((c,h)=>{t.currentQueryIndex=h;let u=t.createSubContext(e.options,c);r&&u.delayNextStep(r),c===t.element&&(l=u.currentTimeline),O(this,e.animation,u),u.currentTimeline.applyStylesToKeyframe();let _=u.currentTimeline.currentTime;o=Math.max(o,_)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(o),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){let i=t.parentContext,n=t.currentTimeline,r=e.timings,o=Math.abs(r.duration),a=o*(t.currentQueryTotal-1),l=o*t.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime;break}let h=t.currentTimeline;l&&h.delayNextStep(l);let u=h.currentTime;O(this,e.animation,t),t.previousNode=e,i.currentStaggerTime=n.currentTime-u+(n.startTime-i.currentTimeline.startTime)}},ze={},gt=class s{_driver;element;subInstructions;_enterClassName;_leaveClassName;errors;timelines;parentContext=null;currentTimeline;currentAnimateTimings=null;previousNode=ze;subContextCount=0;options={};currentQueryIndex=0;currentQueryTotal=0;currentStaggerTime=0;constructor(e,t,i,n,r,o,a,l){this._driver=e,this.element=t,this.subInstructions=i,this._enterClassName=n,this._leaveClassName=r,this.errors=o,this.timelines=a,this.currentTimeline=l||new Ke(this._driver,t,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;let i=e,n=this.options;i.duration!=null&&(n.duration=V(i.duration)),i.delay!=null&&(n.delay=V(i.delay));let r=i.params;if(r){let o=n.params;o||(o=this.options.params={}),Object.keys(r).forEach(a=>{(!t||!o.hasOwnProperty(a))&&(o[a]=oe(r[a],o,this.errors))})}}_copyOptions(){let e={};if(this.options){let t=this.options.params;if(t){let i=e.params={};Object.keys(t).forEach(n=>{i[n]=t[n]})}}return e}createSubContext(e=null,t,i){let n=t||this.element,r=new s(this._driver,n,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(n,i||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(e),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(e){return this.previousNode=ze,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,i){let n={duration:t??e.duration,delay:this.currentTimeline.currentTime+(i??0)+e.delay,easing:""},r=new yt(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,n,e.stretchStartingKeyframe);return this.timelines.push(r),n}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,i,n,r,o){let a=[];if(n&&a.push(this.element),e.length>0){e=e.replace(Fn,"."+this._enterClassName),e=e.replace(zn,"."+this._leaveClassName);let l=i!=1,c=this._driver.query(this.element,e,l);i!==0&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!r&&a.length==0&&o.push(Ei(t)),a}},Ke=class s{_driver;element;startTime;_elementTimelineStylesLookup;duration=0;easing=null;_previousKeyframe=new Map;_currentKeyframe=new Map;_keyframes=new Map;_styleSummary=new Map;_localTimelineStyles=new Map;_globalTimelineStyles;_pendingStyles=new Map;_backFill=new Map;_currentEmptyStepKeyframe=null;constructor(e,t,i,n){this._driver=e,this.element=t,this.startTime=i,this._elementTimelineStylesLookup=n,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(e){let t=this._keyframes.size===1&&this._pendingStyles.size;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,t){return this.applyStylesToKeyframe(),new s(this._driver,e,t||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=On,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,t){this._localTimelineStyles.set(e,t),this._globalTimelineStyles.set(e,t),this._styleSummary.set(e,{time:this.currentTime,value:t})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&this._previousKeyframe.set("easing",e);for(let[t,i]of this._globalTimelineStyles)this._backFill.set(t,i||K),this._currentKeyframe.set(t,K);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,i,n){t&&this._previousKeyframe.set("easing",t);let r=n&&n.params||{},o=Kn(e,this._globalTimelineStyles);for(let[a,l]of o){let c=oe(l,r,i);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??K),this._updateStyle(a,c)}}applyStylesToKeyframe(){this._pendingStyles.size!=0&&(this._pendingStyles.forEach((e,t)=>{this._currentKeyframe.set(t,e)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((e,t)=>{this._currentKeyframe.has(t)||this._currentKeyframe.set(t,e)}))}snapshotCurrentStyles(){for(let[e,t]of this._localTimelineStyles)this._pendingStyles.set(e,t),this._updateStyle(e,t)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){let e=[];for(let t in this._currentKeyframe)e.push(t);return e}mergeTimelineCollectedStyles(e){e._styleSummary.forEach((t,i)=>{let n=this._styleSummary.get(i);(!n||t.time>n.time)&&this._updateStyle(i,t.value)})}buildKeyframes(){this.applyStylesToKeyframe();let e=new Set,t=new Set,i=this._keyframes.size===1&&this.duration===0,n=[];this._keyframes.forEach((a,l)=>{let c=new Map([...this._backFill,...a]);c.forEach((h,u)=>{h===ce?e.add(u):h===K&&t.add(u)}),i||c.set("offset",l/this.duration),n.push(c)});let r=[...e.values()],o=[...t.values()];if(i){let a=n[0],l=new Map(a);a.set("offset",0),l.set("offset",1),n=[a,l]}return bt(this.element,n,r,o,this.duration,this.startTime,this.easing,!1)}},yt=class extends Ke{keyframes;preStyleProps;postStyleProps;_stretchStartingKeyframe;timings;constructor(e,t,i,n,r,o,a=!1){super(e,t,o.delay),this.keyframes=i,this.preStyleProps=n,this.postStyleProps=r,this._stretchStartingKeyframe=a,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:i,easing:n}=this.timings;if(this._stretchStartingKeyframe&&t){let r=[],o=i+t,a=t/o,l=new Map(e[0]);l.set("offset",0),r.push(l);let c=new Map(e[0]);c.set("offset",qi(a)),r.push(c);let h=e.length-1;for(let u=1;u<=h;u++){let _=new Map(e[u]),y=_.get("offset"),m=t+y*i;_.set("offset",qi(m/o)),r.push(_)}i=o,t=0,n="",e=r}return bt(this.element,e,this.preStyleProps,this.postStyleProps,i,t,n,!0)}};function qi(s,e=3){let t=Math.pow(10,e-1);return Math.round(s*t)/t}function Kn(s,e){let t=new Map,i;return s.forEach(n=>{if(n==="*"){i??=e.keys();for(let r of i)t.set(r,K)}else for(let[r,o]of n)t.set(r,o)}),t}function Qi(s,e,t,i,n,r,o,a,l,c,h,u,_){return{type:0,element:s,triggerName:e,isRemovalTransition:n,fromState:t,fromStyles:r,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:h,totalTime:u,errors:_}}var ct={},je=class{_triggerName;ast;_stateStyles;constructor(e,t,i){this._triggerName=e,this.ast=t,this._stateStyles=i}match(e,t,i,n){return jn(this.ast.matchers,e,t,i,n)}buildStyles(e,t,i){let n=this._stateStyles.get("*");return e!==void 0&&(n=this._stateStyles.get(e?.toString())||n),n?n.buildStyles(t,i):new Map}build(e,t,i,n,r,o,a,l,c,h){let u=[],_=this.ast.options&&this.ast.options.params||ct,y=a&&a.params||ct,m=this.buildStyles(i,y,u),g=l&&l.params||ct,T=this.buildStyles(n,g,u),w=new Set,b=new Map,C=new Map,N=n==="void",ie={params:Ji(g,_),delay:this.ast.options?.delay},q=h?[]:Zi(e,t,this.ast.animation,r,o,m,T,ie,c,u),D=0;return q.forEach(R=>{D=Math.max(R.duration+R.delay,D)}),u.length?Qi(t,this._triggerName,i,n,N,m,T,[],[],b,C,D,u):(q.forEach(R=>{let W=R.element,ne=k(b,W,new Set);R.preStyleProps.forEach(H=>ne.add(H));let Pt=k(C,W,new Set);R.postStyleProps.forEach(H=>Pt.add(H)),W!==t&&w.add(W)}),Qi(t,this._triggerName,i,n,N,m,T,q,[...w.values()],b,C,D))}};function jn(s,e,t,i,n){return s.some(r=>r(e,t,i,n))}function Ji(s,e){let t=_e({},e);return Object.entries(s).forEach(([i,n])=>{n!=null&&(t[i]=n)}),t}var _t=class{styles;defaultParams;normalizer;constructor(e,t,i){this.styles=e,this.defaultParams=t,this.normalizer=i}buildStyles(e,t){let i=new Map,n=Ji(e,this.defaultParams);return this.styles.styles.forEach(r=>{typeof r!="string"&&r.forEach((o,a)=>{o&&(o=oe(o,n,t));let l=this.normalizer.normalizePropertyName(a,t);o=this.normalizer.normalizeStyleValue(a,l,o,t),i.set(a,o)})}),i}};function Bn(s,e,t){return new St(s,e,t)}var St=class{name;ast;_normalizer;transitionFactories=[];fallbackTransition;states=new Map;constructor(e,t,i){this.name=e,this.ast=t,this._normalizer=i,t.states.forEach(n=>{let r=n.options&&n.options.params||{};this.states.set(n.name,new _t(n.style,r,i))}),Vi(this.states,"true","1"),Vi(this.states,"false","0"),t.transitions.forEach(n=>{this.transitionFactories.push(new je(e,n,this.states))}),this.fallbackTransition=qn(e,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,i,n){return this.transitionFactories.find(o=>o.match(e,t,i,n))||null}matchStyles(e,t,i){return this.fallbackTransition.buildStyles(e,t,i)}};function qn(s,e,t){let i=[(o,a)=>!0],n={type:S.Sequence,steps:[],options:null},r={type:S.Transition,animation:n,matchers:i,options:null,queryCount:0,depCount:0};return new je(s,r,e)}function Vi(s,e,t){s.has(e)?s.has(t)||s.set(t,s.get(e)):s.has(t)&&s.set(e,s.get(t))}var Qn=new fe,Et=class{bodyNode;_driver;_normalizer;_animations=new Map;_playersById=new Map;players=[];constructor(e,t,i){this.bodyNode=e,this._driver=t,this._normalizer=i}register(e,t){let i=[],n=[],r=xi(this._driver,t,i,n);if(i.length)throw wi(i);this._animations.set(e,r)}_buildPlayer(e,t,i){let n=e.element,r=et(this._normalizer,e.keyframes,t,i);return this._driver.animate(n,r,e.duration,e.delay,e.easing,[],!0)}create(e,t,i={}){let n=[],r=this._animations.get(e),o,a=new Map;if(r?(o=Zi(this._driver,t,r,rt,Ne,new Map,new Map,i,Qn,n),o.forEach(h=>{let u=k(a,h.element,new Map);h.postStyleProps.forEach(_=>u.set(_,null))})):(n.push(bi()),o=[]),n.length)throw Pi(n);a.forEach((h,u)=>{h.forEach((_,y)=>{h.set(y,this._driver.computeStyle(u,y,K))})});let l=o.map(h=>{let u=a.get(h.element);return this._buildPlayer(h,new Map,u)}),c=U(l);return this._playersById.set(e,c),c.onDestroy(()=>this.destroy(e)),this.players.push(c),c}destroy(e){let t=this._getPlayer(e);t.destroy(),this._playersById.delete(e);let i=this.players.indexOf(t);i>=0&&this.players.splice(i,1)}_getPlayer(e){let t=this._playersById.get(e);if(!t)throw Ni(e);return t}listen(e,t,i,n){let r=be(t,"","","");return we(this._getPlayer(e),i,r,n),()=>{}}command(e,t,i,n){if(i=="register"){this.register(e,n[0]);return}if(i=="create"){let o=n[0]||{};this.create(e,t,o);return}let r=this._getPlayer(e);switch(i){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(n[0]));break;case"destroy":this.destroy(e);break}}},Ui="ng-animate-queued",Vn=".ng-animate-queued",ut="ng-animate-disabled",Un=".ng-animate-disabled",$n="ng-star-inserted",Gn=".ng-star-inserted",Wn=[],en={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Hn={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},B="__ng_removed",pe=class{namespaceId;value;options;get params(){return this.options.params}constructor(e,t=""){this.namespaceId=t;let i=e&&e.hasOwnProperty("value"),n=i?e.value:e;if(this.value=Xn(n),i){let r=e,{value:o}=r,a=Dt(r,["value"]);this.options=a}else this.options={};this.options.params||(this.options.params={})}absorbOptions(e){let t=e.params;if(t){let i=this.options.params;Object.keys(t).forEach(n=>{i[n]==null&&(i[n]=t[n])})}}},me="void",ht=new pe(me),vt=class{id;hostElement;_engine;players=[];_triggers=new Map;_queue=[];_elementListeners=new Map;_hostClassName;constructor(e,t,i){this.id=e,this.hostElement=t,this._engine=i,this._hostClassName="ng-tns-"+e,L(t,this._hostClassName)}listen(e,t,i,n){if(!this._triggers.has(t))throw Mi(i,t);if(i==null||i.length==0)throw Ci(t);if(!xn(i))throw Di(i,t);let r=k(this._elementListeners,e,[]),o={name:t,phase:i,callback:n};r.push(o);let a=k(this._engine.statesByElement,e,new Map);return a.has(t)||(L(e,ue),L(e,ue+"-"+t),a.set(t,ht)),()=>{this._engine.afterFlush(()=>{let l=r.indexOf(o);l>=0&&r.splice(l,1),this._triggers.has(t)||a.delete(t)})}}register(e,t){return this._triggers.has(e)?!1:(this._triggers.set(e,t),!0)}_getTrigger(e){let t=this._triggers.get(e);if(!t)throw Ri(e);return t}trigger(e,t,i,n=!0){let r=this._getTrigger(t),o=new ge(this.id,t,e),a=this._engine.statesByElement.get(e);a||(L(e,ue),L(e,ue+"-"+t),this._engine.statesByElement.set(e,a=new Map));let l=a.get(t),c=new pe(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(t,c),l||(l=ht),!(c.value===me)&&l.value===c.value){if(!es(l.params,c.params)){let g=[],T=r.matchStyles(l.value,l.params,g),w=r.matchStyles(c.value,c.params,g);g.length?this._engine.reportError(g):this._engine.afterFlush(()=>{G(e,T),j(e,w)})}return}let _=k(this._engine.playersByElement,e,[]);_.forEach(g=>{g.namespaceId==this.id&&g.triggerName==t&&g.queued&&g.destroy()});let y=r.matchTransition(l.value,c.value,e,c.params),m=!1;if(!y){if(!n)return;y=r.fallbackTransition,m=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:y,fromState:l,toState:c,player:o,isFallbackTransition:m}),m||(L(e,Ui),o.onStart(()=>{ae(e,Ui)})),o.onDone(()=>{let g=this.players.indexOf(o);g>=0&&this.players.splice(g,1);let T=this._engine.playersByElement.get(e);if(T){let w=T.indexOf(o);w>=0&&T.splice(w,1)}}),this.players.push(o),_.push(o),o}deregister(e){this._triggers.delete(e),this._engine.statesByElement.forEach(t=>t.delete(e)),this._elementListeners.forEach((t,i)=>{this._elementListeners.set(i,t.filter(n=>n.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);let t=this._engine.playersByElement.get(e);t&&(t.forEach(i=>i.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,t){let i=this._engine.driver.query(e,he,!0);i.forEach(n=>{if(n[B])return;let r=this._engine.fetchNamespacesByElement(n);r.size?r.forEach(o=>o.triggerLeaveAnimation(n,t,!1,!0)):this.clearElementCache(n)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(n=>this.clearElementCache(n)))}triggerLeaveAnimation(e,t,i,n){let r=this._engine.statesByElement.get(e),o=new Map;if(r){let a=[];if(r.forEach((l,c)=>{if(o.set(c,l.value),this._triggers.has(c)){let h=this.trigger(e,c,me,n);h&&a.push(h)}}),a.length)return this._engine.markElementAsRemoved(this.id,e,!0,t,o),i&&U(a).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){let t=this._elementListeners.get(e),i=this._engine.statesByElement.get(e);if(t&&i){let n=new Set;t.forEach(r=>{let o=r.name;if(n.has(o))return;n.add(o);let l=this._triggers.get(o).fallbackTransition,c=i.get(o)||ht,h=new pe(me),u=new ge(this.id,o,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:o,transition:l,fromState:c,toState:h,player:u,isFallbackTransition:!0})})}}removeNode(e,t){let i=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let n=!1;if(i.totalAnimations){let r=i.players.length?i.playersByQueriedElement.get(e):[];if(r&&r.length)n=!0;else{let o=e;for(;o=o.parentNode;)if(i.statesByElement.get(o)){n=!0;break}}}if(this.prepareLeaveAnimationListeners(e),n)i.markElementAsRemoved(this.id,e,!1,t);else{let r=e[B];(!r||r===en)&&(i.afterFlush(()=>this.clearElementCache(e)),i.destroyInnerAnimations(e),i._onRemovalComplete(e,t))}}insertNode(e,t){L(e,this._hostClassName)}drainQueuedTransitions(e){let t=[];return this._queue.forEach(i=>{let n=i.player;if(n.destroyed)return;let r=i.element,o=this._elementListeners.get(r);o&&o.forEach(a=>{if(a.name==i.triggerName){let l=be(r,i.triggerName,i.fromState.value,i.toState.value);l._data=e,we(i.player,a.phase,l,a.callback)}}),n.markedForDestroy?this._engine.afterFlush(()=>{n.destroy()}):t.push(i)}),this._queue=[],t.sort((i,n)=>{let r=i.transition.ast.depCount,o=n.transition.ast.depCount;return r==0||o==0?r-o:this._engine.driver.containsElement(i.element,n.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}},Tt=class{bodyNode;driver;_normalizer;players=[];newHostElements=new Map;playersByElement=new Map;playersByQueriedElement=new Map;statesByElement=new Map;disabledNodes=new Set;totalAnimations=0;totalQueuedPlayers=0;_namespaceLookup={};_namespaceList=[];_flushFns=[];_whenQuietFns=[];namespacesByHostElement=new Map;collectedEnterElements=[];collectedLeaveElements=[];onRemovalComplete=(e,t)=>{};_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}constructor(e,t,i){this.bodyNode=e,this.driver=t,this._normalizer=i}get queuedPlayers(){let e=[];return this._namespaceList.forEach(t=>{t.players.forEach(i=>{i.queued&&e.push(i)})}),e}createNamespace(e,t){let i=new vt(e,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(i,t):(this.newHostElements.set(t,i),this.collectEnterElement(t)),this._namespaceLookup[e]=i}_balanceNamespaceList(e,t){let i=this._namespaceList,n=this.namespacesByHostElement;if(i.length-1>=0){let o=!1,a=this.driver.getParentElement(t);for(;a;){let l=n.get(a);if(l){let c=i.indexOf(l);i.splice(c+1,0,e),o=!0;break}a=this.driver.getParentElement(a)}o||i.unshift(e)}else i.push(e);return n.set(t,e),e}register(e,t){let i=this._namespaceLookup[e];return i||(i=this.createNamespace(e,t)),i}registerTrigger(e,t,i){let n=this._namespaceLookup[e];n&&n.register(t,i)&&this.totalAnimations++}destroy(e,t){e&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{let i=this._fetchNamespace(e);this.namespacesByHostElement.delete(i.hostElement);let n=this._namespaceList.indexOf(i);n>=0&&this._namespaceList.splice(n,1),i.destroy(t),delete this._namespaceLookup[e]}))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){let t=new Set,i=this.statesByElement.get(e);if(i){for(let n of i.values())if(n.namespaceId){let r=this._fetchNamespace(n.namespaceId);r&&t.add(r)}}return t}trigger(e,t,i,n){if(Oe(t)){let r=this._fetchNamespace(e);if(r)return r.trigger(t,i,n),!0}return!1}insertNode(e,t,i,n){if(!Oe(t))return;let r=t[B];if(r&&r.setForRemoval){r.setForRemoval=!1,r.setForMove=!0;let o=this.collectedLeaveElements.indexOf(t);o>=0&&this.collectedLeaveElements.splice(o,1)}if(e){let o=this._fetchNamespace(e);o&&o.insertNode(t,i)}n&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),L(e,ut)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),ae(e,ut))}removeNode(e,t,i){if(Oe(t)){let n=e?this._fetchNamespace(e):null;n?n.removeNode(t,i):this.markElementAsRemoved(e,t,!1,i);let r=this.namespacesByHostElement.get(t);r&&r.id!==e&&r.removeNode(t,i)}else this._onRemovalComplete(t,i)}markElementAsRemoved(e,t,i,n,r){this.collectedLeaveElements.push(t),t[B]={namespaceId:e,setForRemoval:n,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:r}}listen(e,t,i,n,r){return Oe(t)?this._fetchNamespace(e).listen(t,i,n,r):()=>{}}_buildInstruction(e,t,i,n,r){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,i,n,e.fromState.options,e.toState.options,t,r)}destroyInnerAnimations(e){let t=this.driver.query(e,he,!0);t.forEach(i=>this.destroyActiveAnimationsForElement(i)),this.playersByQueriedElement.size!=0&&(t=this.driver.query(e,Me,!0),t.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(e){let t=this.playersByElement.get(e);t&&t.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(e){let t=this.playersByQueriedElement.get(e);t&&t.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return U(this.players).onDone(()=>e());e()})}processLeaveNode(e){let t=e[B];if(t&&t.setForRemoval){if(e[B]=en,t.namespaceId){this.destroyInnerAnimations(e);let i=this._fetchNamespace(t.namespaceId);i&&i.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}e.classList?.contains(ut)&&this.markElementAsDisabled(e,!1),this.driver.query(e,Un,!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,n)=>this._balanceNamespaceList(i,n)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;i<this.collectedEnterElements.length;i++){let n=this.collectedEnterElements[i];L(n,$n)}if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){let i=[];try{t=this._flushAnimations(i,e)}finally{for(let n=0;n<i.length;n++)i[n]()}}else for(let i=0;i<this.collectedLeaveElements.length;i++){let n=this.collectedLeaveElements[i];this.processLeaveNode(n)}if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(i=>i()),this._flushFns=[],this._whenQuietFns.length){let i=this._whenQuietFns;this._whenQuietFns=[],t.length?U(t).onDone(()=>{i.forEach(n=>n())}):i.forEach(n=>n())}}reportError(e){throw ki(e)}_flushAnimations(e,t){let i=new fe,n=[],r=new Map,o=[],a=new Map,l=new Map,c=new Map,h=new Set;this.disabledNodes.forEach(d=>{h.add(d);let f=this.driver.query(d,Vn,!0);for(let p=0;p<f.length;p++)h.add(f[p])});let u=this.bodyNode,_=Array.from(this.statesByElement.keys()),y=Wi(_,this.collectedEnterElements),m=new Map,g=0;y.forEach((d,f)=>{let p=rt+g++;m.set(f,p),d.forEach(E=>L(E,p))});let T=[],w=new Set,b=new Set;for(let d=0;d<this.collectedLeaveElements.length;d++){let f=this.collectedLeaveElements[d],p=f[B];p&&p.setForRemoval&&(T.push(f),w.add(f),p.hasAnimation?this.driver.query(f,Gn,!0).forEach(E=>w.add(E)):b.add(f))}let C=new Map,N=Wi(_,Array.from(w));N.forEach((d,f)=>{let p=Ne+g++;C.set(f,p),d.forEach(E=>L(E,p))}),e.push(()=>{y.forEach((d,f)=>{let p=m.get(f);d.forEach(E=>ae(E,p))}),N.forEach((d,f)=>{let p=C.get(f);d.forEach(E=>ae(E,p))}),T.forEach(d=>{this.processLeaveNode(d)})});let ie=[],q=[];for(let d=this._namespaceList.length-1;d>=0;d--)this._namespaceList[d].drainQueuedTransitions(t).forEach(p=>{let E=p.player,P=p.element;if(ie.push(E),this.collectedEnterElements.length){let M=P[B];if(M&&M.setForMove){if(M.previousTriggersValues&&M.previousTriggersValues.has(p.triggerName)){let Y=M.previousTriggersValues.get(p.triggerName),F=this.statesByElement.get(p.element);if(F&&F.has(p.triggerName)){let ye=F.get(p.triggerName);ye.value=Y,F.set(p.triggerName,ye)}}E.destroy();return}}let Q=!u||!this.driver.containsElement(u,P),I=C.get(P),$=m.get(P),A=this._buildInstruction(p,i,$,I,Q);if(A.errors&&A.errors.length){q.push(A);return}if(Q){E.onStart(()=>G(P,A.fromStyles)),E.onDestroy(()=>j(P,A.toStyles)),n.push(E);return}if(p.isFallbackTransition){E.onStart(()=>G(P,A.fromStyles)),E.onDestroy(()=>j(P,A.toStyles)),n.push(E);return}let Ct=[];A.timelines.forEach(M=>{M.stretchStartingKeyframe=!0,this.disabledNodes.has(M.element)||Ct.push(M)}),A.timelines=Ct,i.append(P,A.timelines);let cn={instruction:A,player:E,element:P};o.push(cn),A.queriedElements.forEach(M=>k(a,M,[]).push(E)),A.preStyleProps.forEach((M,Y)=>{if(M.size){let F=l.get(Y);F||l.set(Y,F=new Set),M.forEach((ye,Ge)=>F.add(Ge))}}),A.postStyleProps.forEach((M,Y)=>{let F=c.get(Y);F||c.set(Y,F=new Set),M.forEach((ye,Ge)=>F.add(Ge))})});if(q.length){let d=[];q.forEach(f=>{d.push(Oi(f.triggerName,f.errors))}),ie.forEach(f=>f.destroy()),this.reportError(d)}let D=new Map,R=new Map;o.forEach(d=>{let f=d.element;i.has(f)&&(R.set(f,f),this._beforeAnimationBuild(d.player.namespaceId,d.instruction,D))}),n.forEach(d=>{let f=d.element;this._getPreviousPlayers(f,!1,d.namespaceId,d.triggerName,null).forEach(E=>{k(D,f,[]).push(E),E.destroy()})});let W=T.filter(d=>Hi(d,l,c)),ne=new Map;Gi(ne,this.driver,b,c,K).forEach(d=>{Hi(d,l,c)&&W.push(d)});let H=new Map;y.forEach((d,f)=>{Gi(H,this.driver,new Set(d),l,ce)}),W.forEach(d=>{let f=ne.get(d),p=H.get(d);ne.set(d,new Map([...f?.entries()??[],...p?.entries()??[]]))});let $e=[],Nt=[],Mt={};o.forEach(d=>{let{element:f,player:p,instruction:E}=d;if(i.has(f)){if(h.has(f)){p.onDestroy(()=>j(f,E.toStyles)),p.disabled=!0,p.overrideTotalTime(E.totalTime),n.push(p);return}let P=Mt;if(R.size>1){let I=f,$=[];for(;I=I.parentNode;){let A=R.get(I);if(A){P=A;break}$.push(I)}$.forEach(A=>R.set(A,P))}let Q=this._buildAnimation(p.namespaceId,E,D,r,H,ne);if(p.setRealPlayer(Q),P===Mt)$e.push(p);else{let I=this.playersByElement.get(P);I&&I.length&&(p.parentPlayer=U(I)),n.push(p)}}else G(f,E.fromStyles),p.onDestroy(()=>j(f,E.toStyles)),Nt.push(p),h.has(f)&&n.push(p)}),Nt.forEach(d=>{let f=r.get(d.element);if(f&&f.length){let p=U(f);d.setRealPlayer(p)}}),n.forEach(d=>{d.parentPlayer?d.syncPlayerEvents(d.parentPlayer):d.destroy()});for(let d=0;d<T.length;d++){let f=T[d],p=f[B];if(ae(f,Ne),p&&p.hasAnimation)continue;let E=[];if(a.size){let Q=a.get(f);Q&&Q.length&&E.push(...Q);let I=this.driver.query(f,Me,!0);for(let $=0;$<I.length;$++){let A=a.get(I[$]);A&&A.length&&E.push(...A)}}let P=E.filter(Q=>!Q.destroyed);P.length?Zn(this,f,P):this.processLeaveNode(f)}return T.length=0,$e.forEach(d=>{this.players.push(d),d.onDone(()=>{d.destroy();let f=this.players.indexOf(d);this.players.splice(f,1)}),d.play()}),$e}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,i,n,r){let o=[];if(t){let a=this.playersByQueriedElement.get(e);a&&(o=a)}else{let a=this.playersByElement.get(e);if(a){let l=!r||r==me;a.forEach(c=>{c.queued||!l&&c.triggerName!=n||o.push(c)})}}return(i||n)&&(o=o.filter(a=>!(i&&i!=a.namespaceId||n&&n!=a.triggerName))),o}_beforeAnimationBuild(e,t,i){let n=t.triggerName,r=t.element,o=t.isRemovalTransition?void 0:e,a=t.isRemovalTransition?void 0:n;for(let l of t.timelines){let c=l.element,h=c!==r,u=k(i,c,[]);this._getPreviousPlayers(c,h,o,a,t.toState).forEach(y=>{let m=y.getRealPlayer();m.beforeDestroy&&m.beforeDestroy(),y.destroy(),u.push(y)})}G(r,t.fromStyles)}_buildAnimation(e,t,i,n,r,o){let a=t.triggerName,l=t.element,c=[],h=new Set,u=new Set,_=t.timelines.map(m=>{let g=m.element;h.add(g);let T=g[B];if(T&&T.removedBeforeQueried)return new X(m.duration,m.delay);let w=g!==l,b=Jn((i.get(g)||Wn).map(D=>D.getRealPlayer())).filter(D=>{let R=D;return R.element?R.element===g:!1}),C=r.get(g),N=o.get(g),ie=et(this._normalizer,m.keyframes,C,N),q=this._buildPlayer(m,ie,b);if(m.subTimeline&&n&&u.add(g),w){let D=new ge(e,a,g);D.setRealPlayer(q),c.push(D)}return q});c.forEach(m=>{k(this.playersByQueriedElement,m.element,[]).push(m),m.onDone(()=>Yn(this.playersByQueriedElement,m.element,m))}),h.forEach(m=>L(m,ot));let y=U(_);return y.onDestroy(()=>{h.forEach(m=>ae(m,ot)),j(l,t.toStyles)}),u.forEach(m=>{k(n,m,[]).push(y)}),y}_buildPlayer(e,t,i){return t.length>0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,i):new X(e.duration,e.delay)}},ge=class{namespaceId;triggerName;element;_player=new X;_containsRealPlayer=!1;_queuedCallbacks=new Map;destroyed=!1;parentPlayer=null;markedForDestroy=!1;disabled=!1;queued=!0;totalTime=0;constructor(e,t,i){this.namespaceId=e,this.triggerName=t,this.element=i}setRealPlayer(e){this._containsRealPlayer||(this._player=e,this._queuedCallbacks.forEach((t,i)=>{t.forEach(n=>we(e,i,void 0,n))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){let t=this._player;t.triggerCallback&&e.onStart(()=>t.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,t){k(this._queuedCallbacks,e,[]).push(t)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return this.queued?!1:this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){let t=this._player;t.triggerCallback&&t.triggerCallback(e)}};function Yn(s,e,t){let i=s.get(e);if(i){if(i.length){let n=i.indexOf(t);i.splice(n,1)}i.length==0&&s.delete(e)}return i}function Xn(s){return s??null}function Oe(s){return s&&s.nodeType===1}function xn(s){return s=="start"||s=="done"}function $i(s,e){let t=s.style.display;return s.style.display=e??"none",t}function Gi(s,e,t,i,n){let r=[];t.forEach(l=>r.push($i(l)));let o=[];i.forEach((l,c)=>{let h=new Map;l.forEach(u=>{let _=e.computeStyle(c,u,n);h.set(u,_),(!_||_.length==0)&&(c[B]=Hn,o.push(c))}),s.set(c,h)});let a=0;return t.forEach(l=>$i(l,r[a++])),o}function Wi(s,e){let t=new Map;if(s.forEach(a=>t.set(a,[])),e.length==0)return t;let i=1,n=new Set(e),r=new Map;function o(a){if(!a)return i;let l=r.get(a);if(l)return l;let c=a.parentNode;return t.has(c)?l=c:n.has(c)?l=i:l=o(c),r.set(a,l),l}return e.forEach(a=>{let l=o(a);l!==i&&t.get(l).push(a)}),t}function L(s,e){s.classList?.add(e)}function ae(s,e){s.classList?.remove(e)}function Zn(s,e,t){U(t).onDone(()=>s.processLeaveNode(e))}function Jn(s){let e=[];return tn(s,e),e}function tn(s,e){for(let t=0;t<s.length;t++){let i=s[t];i instanceof ve?tn(i.players,e):e.push(i)}}function es(s,e){let t=Object.keys(s),i=Object.keys(e);if(t.length!=i.length)return!1;for(let n=0;n<t.length;n++){let r=t[n];if(!e.hasOwnProperty(r)||s[r]!==e[r])return!1}return!0}function Hi(s,e,t){let i=t.get(s);if(!i)return!1;let n=e.get(s);return n?i.forEach(r=>n.add(r)):e.set(s,i),t.delete(s),!0}var le=class{_driver;_normalizer;_transitionEngine;_timelineEngine;_triggerCache={};onRemovalComplete=(e,t)=>{};constructor(e,t,i){this._driver=t,this._normalizer=i,this._transitionEngine=new Tt(e.body,t,i),this._timelineEngine=new Et(e.body,t,i),this._transitionEngine.onRemovalComplete=(n,r)=>this.onRemovalComplete(n,r)}registerTrigger(e,t,i,n,r){let o=e+"-"+n,a=this._triggerCache[o];if(!a){let l=[],c=[],h=xi(this._driver,r,l,c);if(l.length)throw Ai(n,l);a=Bn(n,h,this._normalizer),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(t,n,a)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,i,n){this._transitionEngine.insertNode(e,t,i,n)}onRemove(e,t,i){this._transitionEngine.removeNode(e,t,i)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,i,n){if(i.charAt(0)=="@"){let[r,o]=tt(i),a=n;this._timelineEngine.command(r,t,o,a)}else this._transitionEngine.trigger(e,t,i,n)}listen(e,t,i,n,r){if(i.charAt(0)=="@"){let[o,a]=tt(i);return this._timelineEngine.listen(o,t,a,r)}return this._transitionEngine.listen(e,t,i,n,r)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(e){this._transitionEngine.afterFlushAnimationsDone(e)}};function ts(s,e){let t=null,i=null;return Array.isArray(e)&&e.length?(t=dt(e[0]),e.length>1&&(i=dt(e[e.length-1]))):e instanceof Map&&(t=dt(e)),t||i?new is(s,t,i):null}var is=(()=>{class s{_element;_startStyles;_endStyles;static initialStylesByElement=new WeakMap;_state=0;_initialStyles;constructor(t,i,n){this._element=t,this._startStyles=i,this._endStyles=n;let r=s.initialStylesByElement.get(t);r||s.initialStylesByElement.set(t,r=new Map),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&j(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(j(this._element,this._initialStyles),this._endStyles&&(j(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(s.initialStylesByElement.delete(this._element),this._startStyles&&(G(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(G(this._element,this._endStyles),this._endStyles=null),j(this._element,this._initialStyles),this._state=3)}}return s})();function dt(s){let e=null;return s.forEach((t,i)=>{ns(i)&&(e=e||new Map,e.set(i,t))}),e}function ns(s){return s==="display"||s==="position"}var Be=class{element;keyframes;options;_specialStyles;_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_duration;_delay;_initialized=!1;_finished=!1;_started=!1;_destroyed=!1;_finalKeyframe;_originalOnDoneFns=[];_originalOnStartFns=[];domPlayer=null;time=0;parentPlayer=null;currentSnapshot=new Map;constructor(e,t,i,n){this.element=e,this.keyframes=t,this.options=i,this._specialStyles=n,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer()&&this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return this.domPlayer;this._initialized=!0;let e=this.keyframes,t=this._triggerWebAnimation(this.element,e,this.options);if(!t)return this._onFinish(),null;this.domPlayer=t,this._finalKeyframe=e.length?e[e.length-1]:new Map;let i=()=>this._onFinish();return t.addEventListener("finish",i),this.onDestroy(()=>{t.removeEventListener("finish",i)}),t}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer?.pause()}_convertKeyframesToObject(e){let t=[];return e.forEach(i=>{t.push(Object.fromEntries(i))}),t}_triggerWebAnimation(e,t,i){let n=this._convertKeyframesToObject(t);try{return e.animate(n,i)}catch(r){return null}}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){let e=this._buildPlayer();e&&(this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),e.play())}pause(){this.init(),this.domPlayer?.pause()}finish(){this.init(),this.domPlayer&&(this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish())}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer?.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){this.domPlayer||this.init(),this.domPlayer&&(this.domPlayer.currentTime=e*this.time)}getPosition(){return this.domPlayer?+(this.domPlayer.currentTime??0)/this.time:this._initialized?1:0}get totalTime(){return this._delay+this._duration}beforeDestroy(){let e=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,n)=>{n!=="offset"&&e.set(n,this._finished?i:De(this.element,n))}),this.currentSnapshot=e}triggerCallback(e){let t=e==="start"?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}},qe=class{validateStyleProperty(e){return!0}validateAnimatableStyleProperty(e){return!0}containsElement(e,t){return it(e,t)}getParentElement(e){return Pe(e)}query(e,t,i){return nt(e,t,i)}computeStyle(e,t,i){return De(e,t)}animate(e,t,i,n,r,o=[]){let a=n==0?"both":"forwards",l={duration:i,delay:n,fill:a};r&&(l.easing=r);let c=new Map,h=o.filter(y=>y instanceof Be);zi(i,n)&&h.forEach(y=>{y.currentSnapshot.forEach((m,g)=>c.set(g,m))});let u=Fi(t).map(y=>new Map(y));u=Ki(e,u,c);let _=ts(e,u);return new Be(e,u,l,_)}};var Ie="@",nn="@.disabled",Qe=class{namespaceId;delegate;engine;_onDestroy;\u0275type=0;constructor(e,t,i,n){this.namespaceId=e,this.delegate=t,this.engine=i,this._onDestroy=n}get data(){return this.delegate.data}destroyNode(e){this.delegate.destroyNode?.(e)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,t){this.delegate.appendChild(e,t),this.engine.onInsert(this.namespaceId,t,e,!1)}insertBefore(e,t,i,n=!0){this.delegate.insertBefore(e,t,i),this.engine.onInsert(this.namespaceId,t,e,n)}removeChild(e,t,i,n){if(n){this.delegate.removeChild(e,t,i,n);return}this.parentNode(t)&&this.engine.onRemove(this.namespaceId,t,this.delegate)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,i,n){this.delegate.setAttribute(e,t,i,n)}removeAttribute(e,t,i){this.delegate.removeAttribute(e,t,i)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,i,n){this.delegate.setStyle(e,t,i,n)}removeStyle(e,t,i){this.delegate.removeStyle(e,t,i)}setProperty(e,t,i){t.charAt(0)==Ie&&t==nn?this.disableAnimations(e,!!i):this.delegate.setProperty(e,t,i)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,i,n){return this.delegate.listen(e,t,i,n)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}},At=class extends Qe{factory;constructor(e,t,i,n,r){super(t,i,n,r),this.factory=e,this.namespaceId=t}setProperty(e,t,i){t.charAt(0)==Ie?t.charAt(1)=="."&&t==nn?(i=i===void 0?!0:!!i,this.disableAnimations(e,i)):this.engine.process(this.namespaceId,e,t.slice(1),i):this.delegate.setProperty(e,t,i)}listen(e,t,i,n){if(t.charAt(0)==Ie){let r=ss(e),o=t.slice(1),a="";return o.charAt(0)!=Ie&&([o,a]=rs(o)),this.engine.listen(this.namespaceId,r,o,a,l=>{let c=l._data||-1;this.factory.scheduleListenerCallback(c,i,l)})}return this.delegate.listen(e,t,i,n)}};function ss(s){switch(s){case"body":return document.body;case"document":return document;case"window":return window;default:return s}}function rs(s){let e=s.indexOf("."),t=s.substring(0,e),i=s.slice(e+1);return[t,i]}var Ve=class{delegate;engine;_zone;_currentId=0;_microtaskId=1;_animationCallbacksBuffer=[];_rendererCache=new Map;_cdRecurDepth=0;constructor(e,t,i){this.delegate=e,this.engine=t,this._zone=i,t.onRemovalComplete=(n,r)=>{r?.removeChild(null,n)}}createRenderer(e,t){let n=this.delegate.createRenderer(e,t);if(!e||!t?.data?.animation){let c=this._rendererCache,h=c.get(n);if(!h){let u=()=>c.delete(n);h=new Qe("",n,this.engine,u),c.set(n,h)}return h}let r=t.id,o=t.id+"-"+this._currentId;this._currentId++,this.engine.register(o,e);let a=c=>{Array.isArray(c)?c.forEach(a):this.engine.registerTrigger(r,o,e,c.name,c)};return t.data.animation.forEach(a),new At(this,o,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(e,t,i){if(e>=0&&e<this._microtaskId){this._zone.run(()=>t(i));return}let n=this._animationCallbacksBuffer;n.length==0&&queueMicrotask(()=>{this._zone.run(()=>{n.forEach(r=>{let[o,a]=r;o(a)}),this._animationCallbacksBuffer=[]})}),n.push([t,i])}end(){this._cdRecurDepth--,this._cdRecurDepth==0&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}componentReplaced(e){this.engine.flush(),this.delegate.componentReplaced?.(e)}};var as=(()=>{class s extends le{constructor(t,i,n){super(t,i,n)}ngOnDestroy(){this.flush()}static \u0275fac=function(i){return new(i||s)(Ee(Kt),Ee(J),Ee(ee))};static \u0275prov=Se({token:s,factory:s.\u0275fac})}return s})();function ls(){return new Fe}function cs(){return new Ve(z(Wt),z(le),z(jt))}var sn=[{provide:ee,useFactory:ls},{provide:le,useClass:as},{provide:Qt,useFactory:cs}],Os=[{provide:J,useClass:wt},{provide:He,useValue:"NoopAnimations"},...sn],us=[{provide:J,useFactory:()=>new qe},{provide:He,useFactory:()=>"BrowserAnimations"},...sn];function rn(){return qt("NgEagerAnimations"),[...us]}var te=s=>se(null,null,function*(){let e=z(Te),t=s.params.projectName;return t?e.getSelectedProjectId()===t?!0:(e.selectProject(t),(yield Rt(e.selectedProject$.pipe(Lt(n=>n?.name===t))))?.name===t):(console.log("[PROJECT GUARD] no project id in route"),!1)});var on=s=>se(null,null,function*(){let e=z(si),t=z(ri),i=s.params.threadId;if(!t.getUsername())try{yield We(t.fetchCurrentUser())}catch(n){console.error("[THREAD GUARD] Failed to load current user:",n)}if(!i)return console.log("[THREAD GUARD] no threadId in route"),!1;if(console.log("[THREAD GUARD] Checking thread:",i),console.log("[THREAD GUARD] Current selected thread:",e.getSelectedThreadId()),e.getSelectedThreadId()===i)return console.log("[THREAD GUARD] Thread already selected, allowing navigation"),!0;console.log("[THREAD GUARD] Selecting thread:",i),e.selectThread(i);try{let n=yield We(Ot([e.isLoading$,e.selectedThread$]).pipe(zt(([o,a])=>console.log(`\u{1F43C} [${o?"loading":"loaded"}]`,a?.id)),It(([o,a])=>!o&&!!a),Ft(1),kt(([o,a])=>a?.id))),r=n===i;return r?console.log("[THREAD GUARD] Thread validated, allowing navigation"):console.error("[THREAD GUARD] Thread ID mismatch - route:",i,"loaded:",n),r}catch(n){return console.error("[THREAD GUARD] Error loading thread:",n),!1}});var an=[{path:"",loadComponent:()=>import("./chunk-JE46DHIY.js").then(s=>s.GlobalTaskControlComponent)},{path:"projects",loadComponent:()=>import("./chunk-EKDXOFZ4.js").then(s=>s.ProjectListComponent)},{path:"oauth/callback",loadComponent:()=>import("./chunk-GFBKFSKL.js").then(s=>s.OAuthCallbackComponent)},{path:"project/new",loadComponent:()=>import("./chunk-TD5QFOMN.js").then(s=>s.ProjectNewComponent)},{path:"project/:projectName",loadComponent:()=>import("./chunk-XMX2HILZ.js").then(s=>s.MainAppComponent),canActivate:[te]},{path:"project/:projectName/prompts",loadComponent:()=>import("./chunk-CJGAUAQG.js").then(s=>s.PromptListComponent),canActivate:[te]},{path:"project/:projectName/schedulers",loadComponent:()=>import("./chunk-ICVL3MNG.js").then(s=>s.SchedulerListComponent),canActivate:[te]},{path:"project/:projectName/agents",loadComponent:()=>import("./chunk-BE7M4IG4.js").then(s=>s.AgentListComponent),canActivate:[te]},{path:"project/:projectName/tasks",loadComponent:()=>import("./chunk-F5MVOI67.js").then(s=>s.TaskControlComponent),canActivate:[te]},{path:"project/:projectName/missions",redirectTo:"project/:projectName/tasks"},{path:"project/:projectName/thread/:threadId",loadComponent:()=>import("./chunk-XMX2HILZ.js").then(s=>s.MainAppComponent),canActivate:[te,on]},{path:"token-usage",loadComponent:()=>import("./chunk-KQBJFLLL.js").then(s=>s.TokenUsageComponent)},{path:"agentos",loadChildren:()=>se(null,null,function*(){let{AGENTOS_ROUTES:s,THEME_PORT:e}=yield import("./chunk-AFDQ6DZP.js");return[{path:"",providers:[{provide:e,useFactory:t=>({theme:ni(t.currentTheme$,{initialValue:t.getCurrentTheme()}),setTheme:i=>t.setTheme(i)}),deps:[Ae]}],children:s}]})},{path:"**",redirectTo:""}];function hs(s){return()=>s.initializeDefaultProject()}function ds(s){return()=>{console.log("[APP_INIT] OAuthService initialized")}}var ln={providers:[Bt(),$t({eventCoalescing:!0}),xt(an),Yt(),rn(),{provide:ti,useValue:{duration:3e3}},{provide:Ye,useFactory:hs,deps:[Te],multi:!0},{provide:Ye,useFactory:ds,deps:[oi],multi:!0},ii({basePath:"/api/agentos"}),{provide:ei,useValue:{width:"80vw",maxWidth:"80vw",maxHeight:"80vh"}}]};var Ue=class s{title="client";themeService=z(Ae);ngOnInit(){console.log("[APP] Application initialized with theme:",this.themeService.getCurrentTheme())}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=Vt({type:s,selectors:[["app-root"]],decls:1,vars:0,template:function(t,i){t&1&&Ut(0,"router-outlet")},dependencies:[Zt,Xt],encapsulation:2})};Ht(Ue,ln).catch(s=>console.error(s));"serviceWorker"in navigator&&!Gt()&&window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").catch(s=>console.error("[SW] Registration failed:",s))});