@whoz-oss/coday-client 0.227.1 → 0.229.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/{chunk-RK2UBI5O.js → chunk-4RVOAQM6.js} +1 -1
- package/browser/chunk-LMHMDUH3.js +6 -0
- package/browser/{chunk-CLXIHGI5.js → chunk-MJ3CGA7L.js} +1 -1
- package/browser/index.html +1 -1
- package/browser/{main-6VAJ4HYC.js → main-BIFY32HR.js} +1 -1
- package/package.json +1 -1
- package/browser/chunk-UR4PDGNP.js +0 -6
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{a as zt}from"./chunk-32WVX5ZP.js";import{c as $e}from"./chunk-H2FHPYWP.js";import{a as ze}from"./chunk-7N4XUYW4.js";import{a as $t,b as Bt}from"./chunk-MGVK4WNW.js";import{a as Me}from"./chunk-DEI4EULW.js";import{d as Lt}from"./chunk-DXSUJXKW.js";import{a as Fe,e as kt,f as Pt,i as Ot,p as Dt,q as Ae}from"./chunk-ZAMAK546.js";import{a as Vt,b as Nt,c as Rt}from"./chunk-VR3I4RKJ.js";import{a as de,c as Re}from"./chunk-MZT6I3S3.js";import{o as Se,p as Ft,q as At,r as qe,s as j,t as qt,u as Le}from"./chunk-C2J4TQ7V.js";import{a as H,b as It,c as ye}from"./chunk-3ZLLFAXF.js";import{$b as xt,Ab as it,Bb as x,D as te,Db as _,Eb as ie,F as be,Fb as l,Ga as he,Jb as ae,Jc as Mt,Ka as c,Kb as Q,Lb as K,Ma as we,Mc as Et,Nb as re,Ob as se,P as ct,Pb as fe,Q as dt,Qb as le,Rb as O,S as xe,Sb as ht,Tb as m,Ub as S,V as pt,Vb as G,Wa as I,Wc as Ne,Yb as ft,Z as ve,Zb as Ct,Zc as Tt,_b as bt,a as U,ab as ut,ac as vt,b as X,bc as De,ca as T,d as z,dc as wt,ec as yt,fc as Ie,ga as d,gc as Ve,h as Pe,ha as p,i as ot,ia as k,ja as q,jb as $,jc as St,kb as gt,lb as u,m as J,ma as ne,mb as g,mc as E,n as Oe,pa as mt,pb as V,pc as v,qb as N,qc as f,r as Te,rb as b,rc as ce,sb as r,t as Z,ta as w,tb as s,ua as oe,ub as y,va as _t,vb as R,wb as F,xb as W,y as lt,ya as ge}from"./chunk-KJ5SIUGY.js";function sn(i,t){i&1&&(k(),W(0,"circle",2)(1,"path",3))}function ln(i,t){i&1&&(k(),W(0,"circle",4)(1,"circle",5))}function cn(i,t){i&1&&(k(),W(0,"circle",6)(1,"rect",7))}function dn(i,t){i&1&&(k(),W(0,"circle",8)(1,"line",9)(2,"circle",10))}function pn(i,t){i&1&&(k(),W(0,"circle",1))}var pe=class i{status=f.required();size=f(16);Status=Ae;static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-case-status-glyph"]],hostVars:8,hostBindings:function(e,n){e&2&&O("is-running",n.status()===n.Status.RUNNING)("is-pending",n.status()===n.Status.PENDING)("is-error",n.status()===n.Status.ERROR)("is-killed",n.status()===n.Status.KILLED)},inputs:{status:[1,"status"],size:[1,"size"]},decls:6,vars:3,consts:[["viewBox","0 0 16 16","fill","none","aria-hidden","true"],["cx","8","cy","8","r","5.5","stroke","currentColor","stroke-width","1.6"],["cx","8","cy","8","r","6","stroke","currentColor","stroke-width","1.6","opacity","0.25"],["d","M8 2 A6 6 0 0 1 14 8","stroke","currentColor","stroke-width","1.8","stroke-linecap","round",1,"arc"],["cx","8","cy","8","r","6","stroke","currentColor","stroke-width","1.4","opacity","0.5"],["cx","8","cy","8","r","2.4","fill","currentColor",1,"dot"],["cx","8","cy","8","r","6.2","fill","currentColor","opacity","0.9"],["x","4.6","y","7.1","width","6.8","height","1.8","fill","var(--color-bg)"],["cx","8","cy","8","r","6.2","fill","currentColor"],["x1","8","y1","4.6","x2","8","y2","8.8","stroke","var(--color-bg)","stroke-width","1.7","stroke-linecap","round"],["cx","8","cy","11.2","r","1","fill","var(--color-bg)"]],template:function(e,n){if(e&1&&(k(),R(0,"svg",0),u(1,sn,2,0)(2,ln,2,0)(3,cn,2,0)(4,dn,3,0)(5,pn,1,0,":svg:circle",1),F()),e&2){let o;$("width",n.size())("height",n.size()),c(),g((o=n.status())===n.Status.RUNNING?1:o===n.Status.PENDING?2:o===n.Status.KILLED?3:o===n.Status.ERROR?4:5)}},styles:["[_nghost-%COMP%]{display:inline-grid;place-items:center;flex:none;pointer-events:none;color:var(--status-idle-color)}.is-running[_nghost-%COMP%]{color:var(--color-accent)}.is-running[_nghost-%COMP%] .arc[_ngcontent-%COMP%]{transform-origin:center;animation:_ngcontent-%COMP%_glyph-spin .9s linear infinite}.is-pending[_nghost-%COMP%]{color:var(--status-pending-color)}.is-pending[_nghost-%COMP%] .dot[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_glyph-pulse 1.5s ease infinite}.is-error[_nghost-%COMP%]{color:var(--red)}.is-killed[_nghost-%COMP%]{color:var(--status-killed-color)}@keyframes _ngcontent-%COMP%_glyph-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_glyph-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.6)}}"],changeDetection:0})};var me=class i{caseController=T(kt);cases=w([]);loadSubscription=null;currentNamespaceId=null;loadCases(t){t!==this.currentNamespaceId&&(this.currentNamespaceId=t,this.cases.set([])),this.loadSubscription?.unsubscribe(),this.loadSubscription=this.caseController.listMineByParentCase(t).subscribe({next:e=>{this.cases.set(e),this.loadSubscription=null},error:e=>{console.error(`[CaseState] Failed to load cases for namespace ${t}:`,e),this.loadSubscription=null}})}deleteCase(t){return this.caseController.deleteCase(t).pipe(pt(()=>this.reloadCurrent()))}setStarred(t,e){return lt(()=>(this.patchFavorite(t,e),(e?this.caseController.starCase(t):this.caseController.unstarCase(t)).pipe(te(o=>(this.patchFavorite(t,!e),Oe(()=>o))))))}patchFavorite(t,e){this.cases.update(n=>n.map(o=>o.id===t?X(U({},o),{favorite:e}):o))}reloadCurrent(){this.currentNamespaceId&&this.loadCases(this.currentNamespaceId)}addCase(t){this.cases.update(e=>[t,...e])}updateCaseTitle(t,e){this.cases.update(n=>n.map(o=>o.id===t?X(U({},o),{title:e}):o))}updateCaseStatus(t,e){this.cases.update(n=>n.map(o=>o.id===t?X(U({},o),{status:e}):o))}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ve({token:i,factory:i.\u0275fac,providedIn:"root"})};var mn=["promptItem"],Ht=(i,t)=>t.name;function _n(i,t){if(i&1&&(R(0,"span",5),m(1),F()),i&2){let e=t.$implicit;c(),ft("","{","","{","",e.name,"","}","","}")}}function un(i,t){if(i&1&&(R(0,"span",6),m(1),F()),i&2){let e=l().$implicit;c(),S(e.description)}}function gn(i,t){if(i&1){let e=x();R(0,"li",3,0),ie("click",function(){let o=d(e).$implicit,a=l();return p(a.onItemClick(o))})("keydown.enter",function(){let o=d(e).$implicit,a=l();return p(a.onItemClick(o))})("mouseenter",function(){let o=d(e).$index,a=l();return p(a.activeIndex.set(o))}),R(2,"span",4),m(3),V(4,_n,2,5,"span",5,Ht),F(),u(6,un,2,1,"span",6),F()}if(i&2){let e=t.$implicit,n=t.$index,o=l();O("prompt-autocomplete__item--active",o.isActive(n)),$("aria-selected",o.isActive(n)),c(3),G(" /",e.name," "),c(),N(e.parameters),c(2),g(e.description?6:-1)}}var _e=class i{prompts=f.required();selected=v();dismissed=v();activeIndex=w(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||i)};static \u0275cmp=I({type:i,selectors:[["agentos-prompt-autocomplete"]],viewQuery:function(e,n){if(e&1&&ae(mn,5),e&2){let o;Q(o=K())&&(n.itemRefs=o)}},inputs:{prompts:[1,"prompts"]},outputs:{selected:"selected",dismissed:"dismissed"},features:[_t],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&&(R(0,"ul",1),V(1,gn,7,5,"li",2,Ht),F()),e&2&&(c(),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 Ut={status:"loading",files:[],capability:"NONE"};function hn(i){return[...i].sort((t,e)=>new Date(e.lastModified).getTime()-new Date(t.lastModified).getTime())}var Y=class i{controller=T(Pt);namespaceId=null;caseId=null;caseRefresh$=new ot(void 0);namespaceRefresh$=new ot(void 0);caseView=this.buildScopeView(this.caseRefresh$,()=>this.caseId,t=>this.controller.getCaseFilesManifestExchange(t));namespaceView=this.buildScopeView(this.namespaceRefresh$,()=>this.namespaceId,t=>this.controller.getNamespaceFilesManifestExchange(t));caseStatus=E(()=>this.caseView().status);namespaceStatus=E(()=>this.namespaceView().status);caseFiles=E(()=>this.caseView().files);namespaceFiles=E(()=>this.namespaceView().files);caseFileCount=E(()=>this.caseFiles().length);namespaceFileCount=E(()=>this.namespaceFiles().length);fileCount=E(()=>this.caseFileCount()+this.namespaceFileCount());canWriteCase=E(()=>this.caseView().capability==="READ_WRITE");canWriteNamespace=E(()=>this.namespaceView().capability==="READ_WRITE");caseSectionVisible=E(()=>this.caseView().status!=="forbidden");namespaceSectionVisible=E(()=>this.namespaceView().status!=="forbidden");caseUploading=w(!1);namespaceUploading=w(!1);loadScope(t){return t().pipe(Z(e=>({status:"ready",files:hn(e.files??[]),capability:e.capability??"NONE"})),te(e=>{let n=e?.status===403||e?.status===404;return J({status:n?"forbidden":"error",files:[],capability:"NONE"})}))}buildScopeView(t,e,n){let o=t.pipe(xe(()=>{let a=e();return a?this.loadScope(()=>n(a)):J(Ut)}),ct({bufferSize:1,refCount:!0}));return ye(o,{initialValue:Ut})}initializeForCase(t,e){this.namespaceId=t,this.caseId=e,this.refreshManifest()}initializeForNamespace(t){this.namespaceId=t,this.namespaceRefresh$.next()}clear(){this.namespaceId=null,this.caseId=null,this.refreshManifest()}refreshManifest(){this.caseRefresh$.next(),this.namespaceRefresh$.next()}refreshCase(){this.caseRefresh$.next()}refreshNamespace(){this.namespaceRefresh$.next()}getContent(t,e){let n=t==="CASE",o=n?this.caseId:this.namespaceId;return o?n?this.controller.getCaseFileContentExchange(o,e):this.controller.getNamespaceFileContentExchange(o,e):Oe(()=>new Error("No active scope for content request"))}uploadFile(t,e){return z(this,null,function*(){let n=t==="CASE",o=n?this.caseId:this.namespaceId;if(!o)return{success:!1,error:"No active scope"};let a=n?this.caseUploading:this.namespaceUploading;a.set(!0);let h=n?this.controller.uploadCaseFileExchange(o,e):this.controller.uploadNamespaceFileExchange(o,e);return new Promise(M=>{h.subscribe({next:()=>{a.set(!1),this.refreshManifest(),M({success:!0})},error:C=>{a.set(!1),M({success:!1,error:this.uploadErrorMessage(C)})}})})})}uploadErrorMessage(t){let e={400:t?.error?.message??"This file type is not allowed.",409:"A file with this name already exists.",413:"This file is too large."};return t?.status!=null&&e[t.status]||t?.message||"Upload failed"}deleteFile(t,e){return z(this,null,function*(){let n=t==="CASE",o=n?this.caseId:this.namespaceId;if(!o)return{success:!1,error:"No active scope"};let a=n?this.controller.deleteCaseFileExchange(o,e):this.controller.deleteNamespaceFileExchange(o,e);return new Promise(h=>{a.subscribe({next:()=>{this.refreshManifest(),h({success:!0})},error:M=>h({success:!1,error:M?.message??"Delete failed"})})})})}downloadFile(t,e){let n=t==="CASE",o=n?this.caseId:this.namespaceId;if(!o)return Promise.resolve({success:!1,error:"No active scope"});let a=e.split("/").pop()??e,h=n?this.controller.downloadCaseFileExchange(o,e):this.controller.downloadNamespaceFileExchange(o,e);return new Promise(M=>{h.subscribe({next:C=>{this.saveBlob(C,a),M({success:!0})},error:C=>{console.error("[exchange] download failed",C),M({success:!1,error:C?.message??"Download failed"})}})})}downloadAll(t){return z(this,null,function*(){let e=t==="CASE"?this.caseFiles():this.namespaceFiles(),n=0,o=0;for(let a of e)o++>0&&(yield new Promise(M=>setTimeout(M,300))),(yield this.downloadFile(t,a.path)).success||n++;return{success:n===0,failedCount:n}})}saveBlob(t,e){let n=t instanceof Blob?t:new Blob([t]),o=window.URL.createObjectURL(n),a=document.createElement("a");a.href=o,a.download=e,a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),window.URL.revokeObjectURL(o)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ve({token:i,factory:i.\u0275fac,providedIn:"root"})};var fn=20*1024*1024,Cn=["pdf","png","jpg","jpeg","gif","webp","zip","tar","gz","exe","bin","doc","docx","xls","xlsx","ppt","pptx"];function at(i){return i.split(".").pop()?.toLowerCase()??""}function He(i){switch(at(i)){case"pdf":return"picture_as_pdf";case"csv":case"xlsx":case"xls":return"table_chart";case"txt":case"md":return"description";case"jpg":case"jpeg":case"png":case"gif":case"webp":return"image";case"zip":case"tar":case"gz":return"folder_zip";default:return"insert_drive_file"}}function Wt(i){return i<1024?`${i} B`:i<1024*1024?`${(i/1024).toFixed(1)} KB`:`${(i/(1024*1024)).toFixed(1)} MB`}function Gt(i){let t=new Date(i);return Number.isNaN(t.getTime())?i:t.toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function jt(i){switch(at(i)){case"md":case"markdown":return"markdown";case"json":return"json";case"yaml":case"yml":return"yaml";case"html":case"htm":return"html";default:return"text"}}function bn(i){return!Cn.includes(at(i))}function xn(i){return i<=fn}function Qt(i){return bn(i.filename)&&xn(i.size)}function Kt(i){try{return JSON.stringify(JSON.parse(i),null,2)}catch(t){return i}}function Yt(i){let t=/^(case|namespace)-exchange__(editFiles|remove|moveFile)$/.exec(i??"");return t?t[1]:null}var vn=["backButton"];function wn(i,t){if(i&1){let e=x();r(0,"ds-empty-state",7)(1,"button",13),_("click",function(){d(e);let o=l();return p(o.onDownload())}),m(2,"Download instead"),s()()}}function yn(i,t){i&1&&(r(0,"div",8),y(1,"ds-spinner",14),s())}function Sn(i,t){if(i&1){let e=x();r(0,"ds-empty-state",9)(1,"button",13),_("click",function(){d(e);let o=l();return p(o.onDownload())}),m(2,"Download instead"),s()()}}function Mn(i,t){if(i&1&&(y(0,"div",10),Ie(1,"agentosMarkdown")),i&2){let e=l();b("innerHTML",Ve(1,1,e.content()),he)}}function En(i,t){if(i&1&&y(0,"iframe",11),i&2){let e=l();b("srcdoc",e.displayContent(),he)("title","Preview of "+e.filename())}}function Tn(i,t){if(i&1&&(r(0,"pre",12),m(1),s()),i&2){let e=l();c(),S(e.displayContent())}}var Ue=class i{file=f.required();content=f(null);status=f("loading");canView=f(!0);closeRequested=v();downloadRequested=v();backButton=ce("backButton",{read:ge});constructor(){we(()=>{this.backButton()?.nativeElement?.querySelector("button")?.focus()})}filename=E(()=>{let t=this.file().path;return t.split("/").pop()??t});format=E(()=>jt(this.filename()));displayContent=E(()=>{let t=this.content();return t==null?"":this.format()==="json"?Kt(t):t});onClose(){this.closeRequested.emit()}onDownload(){this.downloadRequested.emit(this.file())}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-exchange-content-viewer"]],viewQuery:function(e,n){e&1&&re(n.backButton,vn,5,ge),e&2&&se()},inputs:{file:[1,"file"],content:[1,"content"],status:[1,"status"],canView:[1,"canView"]},outputs:{closeRequested:"closeRequested",downloadRequested:"downloadRequested"},decls:14,vars:4,consts:[["backButton",""],[1,"exchange-content-viewer"],[1,"exchange-content-viewer__header"],["icon","chevron_left","variant","default","title","Back to files",3,"action"],[1,"exchange-content-viewer__filename",3,"title"],["icon","download","variant","default",3,"action","title"],[1,"exchange-content-viewer__body"],["icon","insert_drive_file","title","Preview not available","hint","This file is binary or too large to display. Download it to view the contents."],[1,"exchange-content-viewer__center"],["icon","error_outline","title","Couldn't load this file","hint","The content could not be retrieved."],[1,"exchange-content-viewer__markdown",3,"innerHTML"],["sandbox","",1,"exchange-content-viewer__iframe",3,"srcdoc","title"],[1,"exchange-content-viewer__pre"],["type","button",1,"exchange-content-viewer__cta",3,"click"],["size","md","label","Loading content"]],template:function(e,n){e&1&&(r(0,"div",1)(1,"header",2)(2,"ds-icon-button",3,0),_("action",function(){return n.onClose()}),s(),r(4,"span",4),m(5),s(),r(6,"ds-icon-button",5),_("action",function(){return n.onDownload()}),s()(),r(7,"div",6),u(8,wn,3,0,"ds-empty-state",7)(9,yn,2,0,"div",8)(10,Sn,3,0,"ds-empty-state",9)(11,Mn,2,3,"div",10)(12,En,1,2,"iframe",11)(13,Tn,2,1,"pre",12),s()()),e&2&&(c(4),b("title",n.filename()),c(),S(n.filename()),c(),b("title","Download "+n.filename()),c(2),g(n.canView()?n.status()==="loading"?9:n.status()==="error"?10:n.format()==="markdown"?11:n.format()==="html"?12:13:8))},dependencies:[Le,qe,j,zt],styles:['.exchange-content-viewer[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.exchange-content-viewer__header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.5rem .5rem .5rem .75rem;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .1));flex-shrink:0}.exchange-content-viewer__filename[_ngcontent-%COMP%]{flex:1;min-width:0;font-size:.8125rem;font-weight:600;color:var(--color-text, #1d1d1f);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exchange-content-viewer__body[_ngcontent-%COMP%]{flex:1;min-height:0;overflow:auto;padding:.75rem}.exchange-content-viewer__iframe[_ngcontent-%COMP%]{width:100%;height:100%;min-height:320px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:8px;background:#fff}.exchange-content-viewer__cta[_ngcontent-%COMP%]{appearance:none;cursor:pointer;padding:.4rem .9rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:var(--color-primary, #007aff);color:var(--color-text-inverse, #ffffff);font-size:.8125rem;font-weight:600}.exchange-content-viewer__cta[_ngcontent-%COMP%]:hover{background:var(--color-primary-hover, #0066d6)}.exchange-content-viewer__cta[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary, #007aff);outline-offset:2px}.exchange-content-viewer__center[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;height:100%}.exchange-content-viewer__pre[_ngcontent-%COMP%]{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono, ui-monospace, "SF Mono", "Menlo", monospace);font-size:.75rem;line-height:1.5;color:var(--color-text, #1d1d1f)}.exchange-content-viewer__markdown[_ngcontent-%COMP%]{font-size:.8125rem;line-height:1.6;color:var(--color-text, #1d1d1f);word-break:break-word}.exchange-content-viewer__markdown[_ngcontent-%COMP%] :where(img[_ngcontent-%COMP%], table[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]){max-width:100%}.exchange-content-viewer__markdown[_ngcontent-%COMP%] :where(pre[_ngcontent-%COMP%]){overflow-x:auto}'],changeDetection:0})};var kn=(i,t)=>t.label;function Pn(i,t){if(i&1&&(r(0,"span"),m(1),s()),i&2){let e=t.$implicit;ht(vt("exchange-item__badge exchange-item__badge--",e.variant)),c(),S(e.label)}}function On(i,t){if(i&1){let e=x();r(0,"ds-icon-button",10),_("action",function(){d(e);let o=l();return p(o.deleteRequested.emit())}),s()}if(i&2){let e=l();b("title","Delete "+e.row().filename)}}var Ce=class i{row=f.required();active=f(!1);canWrite=f(!1);viewRequested=v();downloadRequested=v();deleteRequested=v();static toRow(t){return{path:t.path,filename:t.filename,meta:`${Wt(t.size)} \xB7 ${Gt(t.lastModified)}`,icon:He(t.filename)}}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-exchange-item"]],inputs:{row:[1,"row"],active:[1,"active"],canWrite:[1,"canWrite"]},outputs:{viewRequested:"viewRequested",downloadRequested:"downloadRequested",deleteRequested:"deleteRequested"},decls:14,vars:10,consts:[[1,"exchange-item"],["type","button",1,"exchange-item__main",3,"click"],["aria-hidden","true",1,"exchange-item__icon","material-icons"],[1,"exchange-item__text"],[1,"exchange-item__name"],[1,"exchange-item__meta"],[3,"class"],[1,"exchange-item__actions"],["icon","download","variant","default",3,"action","title"],["icon","delete","variant","danger",3,"title"],["icon","delete","variant","danger",3,"action","title"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"button",1),_("click",function(){return n.viewRequested.emit()}),r(2,"span",2),m(3),s(),r(4,"span",3)(5,"span",4),m(6),s(),r(7,"span",5),m(8),V(9,Pn,2,4,"span",6,kn),s()()(),r(11,"div",7)(12,"ds-icon-button",8),_("action",function(){return n.downloadRequested.emit()}),s(),u(13,On,1,1,"ds-icon-button",9),s()()),e&2&&(O("exchange-item--active",n.active()),c(),$("data-exchange-path",n.row().path)("aria-current",n.active()?"true":null)("aria-label","View "+n.row().filename),c(2),S(n.row().icon),c(3),S(n.row().filename),c(2),G(" ",n.row().meta," "),c(),N(n.row().badges),c(3),b("title","Download "+n.row().filename),c(),g(n.canWrite()?13:-1))},dependencies:[j],styles:[".exchange-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;padding:.125rem .25rem .125rem .375rem;border-radius:8px;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.exchange-item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .04))}.exchange-item--active[_ngcontent-%COMP%]{background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-color:var(--color-primary, #007aff)}.exchange-item__main[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;padding:.375rem .25rem;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit}.exchange-item__main[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary, #007aff);outline-offset:2px;border-radius:6px}.exchange-item__icon[_ngcontent-%COMP%]{flex-shrink:0;font-size:1.25rem;color:var(--color-text-secondary, #6e6e73)}.exchange-item__text[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.exchange-item__name[_ngcontent-%COMP%]{font-size:.8125rem;font-weight:600;color:var(--color-text, #1d1d1f);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exchange-item__meta[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;color:var(--color-text-secondary, #6e6e73);line-height:1.3}.exchange-item__badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.0625rem .3rem;border-radius:999px;font-size:.5625rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff}.exchange-item__badge--warning[_ngcontent-%COMP%]{background:var(--color-warning, #ff9500)}.exchange-item__badge--info[_ngcontent-%COMP%]{background:var(--color-info, #5ac8fa)}.exchange-item__badge--success[_ngcontent-%COMP%]{background:var(--color-success, #34c759)}.exchange-item__badge--error[_ngcontent-%COMP%]{background:var(--color-error, #ff3b30)}.exchange-item__actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.125rem;flex-shrink:0}"],changeDetection:0})};var Dn=(i,t)=>t.path;function In(i,t){if(i&1){let e=x();r(0,"li",1)(1,"agentos-exchange-item",2),_("viewRequested",function(){let o=d(e).$implicit,a=l();return p(a.onView(o))})("downloadRequested",function(){let o=d(e).$implicit,a=l();return p(a.onDownload(o))})("deleteRequested",function(){let o=d(e).$implicit,a=l();return p(a.onDelete(o))}),s()()}if(i&2){let e=t.$implicit,n=l();c(),b("row",e)("active",n.isActive(e))("canWrite",n.canWrite())}}var We=class i{rows=f.required();scope=f.required();activeFile=f(null);canWrite=f(!1);fileSelected=v();downloadRequested=v();deleteRequested=v();isActive(t){let e=this.activeFile();return e!==null&&e.scope===this.scope()&&e.path===t.path}onView(t){this.fileSelected.emit({scope:this.scope(),path:t.path})}onDownload(t){this.downloadRequested.emit({scope:this.scope(),path:t.path})}onDelete(t){this.deleteRequested.emit({scope:this.scope(),path:t.path})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-exchange-file-list"]],inputs:{rows:[1,"rows"],scope:[1,"scope"],activeFile:[1,"activeFile"],canWrite:[1,"canWrite"]},outputs:{fileSelected:"fileSelected",downloadRequested:"downloadRequested",deleteRequested:"deleteRequested"},decls:3,vars:0,consts:[["role","list",1,"exchange-file-list"],["role","listitem",1,"exchange-file-list__row"],[3,"viewRequested","downloadRequested","deleteRequested","row","active","canWrite"]],template:function(e,n){e&1&&(r(0,"ul",0),V(1,In,2,3,"li",1,Dn),s()),e&2&&(c(),N(n.rows()))},dependencies:[Ce],styles:[".exchange-file-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.125rem}.exchange-file-list__row[_ngcontent-%COMP%]{display:block}"],changeDetection:0})};var Vn=["fileInput"];function Nn(i,t){if(i&1){let e=x();r(0,"agentos-exchange-content-viewer",4),_("closeRequested",function(){d(e);let o=l();return p(o.onViewerClose())})("downloadRequested",function(o){d(e);let a=l();return p(a.downloadRequested.emit(o))}),s()}if(i&2){let e=l();b("file",t)("content",e.selectedContent())("status",e.contentStatus())("canView",e.canViewSelected())}}function Rn(i,t){if(i&1){let e=x();r(0,"ds-icon-button",20),_("action",function(){d(e);let o=l(3);return p(o.triggerUpload(o.CASE))}),s()}if(i&2){let e=l(3);b("disabled",e.caseUploading())}}function Fn(i,t){i&1&&(r(0,"span",15),m(1,"read-only"),s())}function An(i,t){if(i&1){let e=x();r(0,"ds-icon-button",21),_("action",function(){d(e);let o=l(3);return p(o.downloadAllRequested.emit(o.CASE))}),s()}}function qn(i,t){i&1&&(r(0,"p",17),m(1,"Uploading\u2026"),s())}function Ln(i,t){i&1&&(r(0,"div",18),y(1,"ds-spinner",22),s())}function zn(i,t){if(i&1){let e=x();r(0,"div",19)(1,"span"),m(2,"Couldn't load case files."),s(),r(3,"button",23),_("click",function(){d(e);let o=l(3);return p(o.retryRequested.emit())}),m(4,"Retry"),s()()}}function $n(i,t){if(i&1&&y(0,"ds-empty-state",24),i&2){let e=l(4);b("hint",e.canWriteCase()?"Upload a file to share it with this case.":void 0)}}function Bn(i,t){if(i&1){let e=x();r(0,"agentos-exchange-file-list",26),_("fileSelected",function(o){d(e);let a=l(4);return p(a.onFileSelected(o))})("downloadRequested",function(o){d(e);let a=l(4);return p(a.downloadRequested.emit(o))})("deleteRequested",function(o){d(e);let a=l(4);return p(a.deleteRequested.emit(o))}),s()}if(i&2){let e=l(4);b("rows",e.caseRows())("scope",e.CASE)("canWrite",e.canWriteCase())("activeFile",e.activeFile())}}function Hn(i,t){if(i&1&&u(0,$n,1,1,"ds-empty-state",24)(1,Bn,1,4,"agentos-exchange-file-list",25),i&2){let e=l(3);g(e.caseFiles().length===0?0:1)}}function Un(i,t){if(i&1&&(r(0,"section",9)(1,"div",11)(2,"h3",12),m(3,"Case files"),s(),r(4,"div",13),u(5,Rn,1,1,"ds-icon-button",14)(6,Fn,2,0,"span",15),u(7,An,1,0,"ds-icon-button",16),s()(),u(8,qn,2,0,"p",17),u(9,Ln,2,0,"div",18)(10,zn,5,0,"div",19)(11,Hn,2,1),s()),i&2){let e,n=l(2);c(5),g(n.canWriteCase()?5:6),c(2),g(n.caseFiles().length>0?7:-1),c(),g(n.caseUploading()?8:-1),c(),g((e=n.caseStatus())==="loading"?9:e==="error"?10:11)}}function Wn(i,t){if(i&1){let e=x();r(0,"ds-icon-button",20),_("action",function(){d(e);let o=l(3);return p(o.triggerUpload(o.NAMESPACE))}),s()}if(i&2){let e=l(3);b("disabled",e.namespaceUploading())}}function Gn(i,t){i&1&&(r(0,"span",15),m(1,"read-only"),s())}function jn(i,t){if(i&1){let e=x();r(0,"ds-icon-button",28),_("action",function(){d(e);let o=l(3);return p(o.downloadAllRequested.emit(o.NAMESPACE))}),s()}}function Qn(i,t){i&1&&(r(0,"div",18),y(1,"ds-spinner",29),s())}function Kn(i,t){if(i&1){let e=x();r(0,"div",19)(1,"span"),m(2,"Couldn't load namespace files."),s(),r(3,"button",23),_("click",function(){d(e);let o=l(3);return p(o.retryRequested.emit())}),m(4,"Retry"),s()()}}function Yn(i,t){if(i&1&&y(0,"ds-empty-state",30),i&2){let e=l(4);b("hint",e.canWriteNamespace()?"Upload a file to share it across this namespace.":void 0)}}function Xn(i,t){if(i&1){let e=x();r(0,"agentos-exchange-file-list",26),_("fileSelected",function(o){d(e);let a=l(4);return p(a.onFileSelected(o))})("downloadRequested",function(o){d(e);let a=l(4);return p(a.downloadRequested.emit(o))})("deleteRequested",function(o){d(e);let a=l(4);return p(a.deleteRequested.emit(o))}),s()}if(i&2){let e=l(4);b("rows",e.namespaceRows())("scope",e.NAMESPACE)("canWrite",e.canWriteNamespace())("activeFile",e.activeFile())}}function Jn(i,t){if(i&1&&u(0,Yn,1,1,"ds-empty-state",30)(1,Xn,1,4,"agentos-exchange-file-list",25),i&2){let e=l(3);g(e.namespaceFiles().length===0?0:1)}}function Zn(i,t){if(i&1&&(r(0,"section",9)(1,"div",11)(2,"h3",12),m(3,"Namespace files"),s(),r(4,"div",13),u(5,Wn,1,1,"ds-icon-button",14)(6,Gn,2,0,"span",15),u(7,jn,1,0,"ds-icon-button",27),s()(),u(8,Qn,2,0,"div",18)(9,Kn,5,0,"div",19)(10,Jn,2,1),s()),i&2){let e,n=l(2);c(5),g(n.canWriteNamespace()?5:6),c(2),g(n.namespaceFiles().length>0?7:-1),c(),g((e=n.namespaceStatus())==="loading"?8:e==="error"?9:10)}}function eo(i,t){i&1&&(r(0,"p",10),m(1,"No files available."),s())}function to(i,t){if(i&1){let e=x();r(0,"header",5)(1,"span",6),m(2,"Files"),s(),r(3,"ds-icon-button",7),_("action",function(){d(e);let o=l();return p(o.closeRequested.emit())}),s()(),r(4,"div",8),u(5,Un,12,4,"section",9),u(6,Zn,11,3,"section",9),u(7,eo,2,0,"p",10),s()}if(i&2){let e=l();c(5),g(e.caseSectionVisible()?5:-1),c(),g(e.namespaceSectionVisible()?6:-1),c(),g(!e.caseSectionVisible()&&!e.namespaceSectionVisible()?7:-1)}}var Ge=class i{caseFiles=f([]);caseStatus=f.required();caseSectionVisible=f(!1);canWriteCase=f(!1);caseUploading=f(!1);namespaceFiles=f([]);namespaceStatus=f.required();namespaceSectionVisible=f(!1);canWriteNamespace=f(!1);namespaceUploading=f(!1);activeFile=f(null);selectedContent=f(null);contentStatus=f("loading");canViewSelected=f(!0);fileSelected=v();uploadRequested=v();downloadRequested=v();downloadAllRequested=v();deleteRequested=v();retryRequested=v();closeRequested=v();viewerClosed=v();host=T(ge);fileInput=ce("fileInput");CASE="CASE";NAMESPACE="NAMESPACE";caseRows=E(()=>this.caseFiles().map(Ce.toRow));namespaceRows=E(()=>this.namespaceFiles().map(Ce.toRow));lastSelectedPath=null;onFileSelected(t){this.lastSelectedPath=t.path,this.fileSelected.emit(t)}onViewerClose(){this.viewerClosed.emit();let t=this.lastSelectedPath;t&&queueMicrotask(()=>{let e=this.host.nativeElement.querySelectorAll("[data-exchange-path]");for(let n of Array.from(e))if(n.getAttribute("data-exchange-path")===t){n.focus();break}})}pendingUploadScope="CASE";triggerUpload(t){this.pendingUploadScope=t,this.fileInput()?.nativeElement.click()}onFileInputChange(t){let e=t.target,n=e.files?Array.from(e.files):[];n.length>0&&this.uploadRequested.emit({scope:this.pendingUploadScope,files:n}),e.value=""}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-exchange-drawer"]],viewQuery:function(e,n){e&1&&re(n.fileInput,Vn,5),e&2&&se()},inputs:{caseFiles:[1,"caseFiles"],caseStatus:[1,"caseStatus"],caseSectionVisible:[1,"caseSectionVisible"],canWriteCase:[1,"canWriteCase"],caseUploading:[1,"caseUploading"],namespaceFiles:[1,"namespaceFiles"],namespaceStatus:[1,"namespaceStatus"],namespaceSectionVisible:[1,"namespaceSectionVisible"],canWriteNamespace:[1,"canWriteNamespace"],namespaceUploading:[1,"namespaceUploading"],activeFile:[1,"activeFile"],selectedContent:[1,"selectedContent"],contentStatus:[1,"contentStatus"],canViewSelected:[1,"canViewSelected"]},outputs:{fileSelected:"fileSelected",uploadRequested:"uploadRequested",downloadRequested:"downloadRequested",downloadAllRequested:"downloadAllRequested",deleteRequested:"deleteRequested",retryRequested:"retryRequested",closeRequested:"closeRequested",viewerClosed:"viewerClosed"},decls:5,vars:1,consts:[["fileInput",""],[1,"exchange-drawer"],[3,"file","content","status","canView"],["type","file","multiple","","aria-hidden","true","tabindex","-1",1,"exchange-drawer__file-input",3,"change"],[3,"closeRequested","downloadRequested","file","content","status","canView"],[1,"exchange-drawer__header"],[1,"exchange-drawer__title"],["icon","close","variant","default","title","Close files panel",3,"action"],[1,"exchange-drawer__sections"],[1,"exchange-drawer__section"],[1,"exchange-drawer__no-access"],[1,"exchange-drawer__section-header"],[1,"exchange-drawer__section-title"],[1,"exchange-drawer__section-actions"],["icon","upload_file","variant","primary","title","Upload a file",3,"disabled"],[1,"exchange-drawer__readonly-badge"],["icon","download","variant","default","title","Download all case files"],[1,"exchange-drawer__inflight"],[1,"exchange-drawer__center"],["role","alert",1,"exchange-drawer__error"],["icon","upload_file","variant","primary","title","Upload a file",3,"action","disabled"],["icon","download","variant","default","title","Download all case files",3,"action"],["size","md","label","Loading case files"],["type","button",1,"exchange-drawer__retry",3,"click"],["icon","folder_open","title","No case files",3,"hint"],[3,"rows","scope","canWrite","activeFile"],[3,"fileSelected","downloadRequested","deleteRequested","rows","scope","canWrite","activeFile"],["icon","download","variant","default","title","Download all namespace files"],["icon","download","variant","default","title","Download all namespace files",3,"action"],["size","md","label","Loading namespace files"],["icon","folder_shared","title","No namespace files",3,"hint"]],template:function(e,n){if(e&1&&(r(0,"div",1),u(1,Nn,1,4,"agentos-exchange-content-viewer",2)(2,to,8,3),r(3,"input",3,0),_("change",function(a){return n.onFileInputChange(a)}),s()()),e&2){let o;c(),g((o=n.activeFile())?1:2,o)}},dependencies:[j,Le,qe,We,Ue],styles:[".exchange-drawer[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.exchange-drawer__header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .5rem .5rem .75rem;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .1));flex-shrink:0}.exchange-drawer__title[_ngcontent-%COMP%]{font-size:.875rem;font-weight:700;color:var(--color-text, #1d1d1f)}.exchange-drawer__sections[_ngcontent-%COMP%]{flex:1;min-height:0;overflow:auto;padding:.5rem;display:flex;flex-direction:column;gap:1rem}.exchange-drawer__section-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .25rem .25rem}.exchange-drawer__section-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.exchange-drawer__center[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:1.5rem}.exchange-drawer__error[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-radius:8px;font-size:.8125rem;color:var(--color-error, #ff3b30);background:var(--color-bg-hover, rgba(0, 0, 0, .04))}.exchange-drawer__retry[_ngcontent-%COMP%]{appearance:none;cursor:pointer;border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:6px;background:transparent;padding:.2rem .6rem;font-size:.75rem;font-weight:600;color:var(--color-text, #1d1d1f)}.exchange-drawer__retry[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .04))}.exchange-drawer__retry[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary, #007aff);outline-offset:2px}.exchange-drawer__inflight[_ngcontent-%COMP%]{margin:0 0 .25rem;padding:0 .25rem;font-size:.75rem;color:var(--color-text-secondary, #6e6e73)}.exchange-drawer__section-title[_ngcontent-%COMP%]{margin:0;font-size:.6875rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary, #6e6e73)}.exchange-drawer__readonly-badge[_ngcontent-%COMP%]{font-size:.5625rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary, #6e6e73);border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:999px;padding:.0625rem .375rem}.exchange-drawer__no-access[_ngcontent-%COMP%]{margin:0;padding:1.5rem .75rem;text-align:center;font-size:.8125rem;color:var(--color-text-secondary, #6e6e73)}.exchange-drawer__file-input[_ngcontent-%COMP%]{display:none}"],changeDetection:0})};function no(i,t){if(i&1&&(r(0,"p",1),m(1),s()),i&2){let e=l();c(),S(e.actionError())}}var je=class i{route=T(de);destroyRef=T(ne);state=T(Y);closeRequested=v();selectedFile=w(null);selectedContent=w(null);contentStatus=w("loading");canViewSelected=w(!0);actionError=w(null);pendingDelete=w(null);confirmOpen=E(()=>this.pendingDelete()!==null);deleteMessage=E(()=>{let t=this.pendingDelete();return t?`Delete "${t.path.split("/").pop()??t.path}"? This action cannot be undone.`:""});activeCaseId=null;constructor(){this.route.queryParams.pipe(H()).subscribe(t=>{let e=t.ns,n=t.case;if(e&&n){if(n===this.activeCaseId)return;this.activeCaseId=n,this.resetSelection(),this.state.initializeForCase(e,n)}else this.activeCaseId!==null&&(this.activeCaseId=null,this.state.clear())}),oe(t=>t(()=>this.state.clear()))}onFileSelected(t){this.selectedFile.set(t),this.selectedContent.set(null);let e=this.findFile(t),n=e?Qt(e):!1;if(this.canViewSelected.set(n),!n){this.contentStatus.set("ready");return}this.contentStatus.set("loading"),this.state.getContent(t.scope,t.path).pipe(H(this.destroyRef)).subscribe({next:o=>{this.isStillSelected(t)&&(this.selectedContent.set(o.content),this.contentStatus.set("ready"))},error:()=>{this.isStillSelected(t)&&this.contentStatus.set("error")}})}onUpload(t){return z(this,null,function*(){this.actionError.set(null);let e=[];for(let n of t.files){let o=yield this.state.uploadFile(t.scope,n);o.success||e.push({name:n.name,error:o.error??"Upload failed"})}e.length===1?this.actionError.set(e[0]?.error??"Upload failed"):e.length>1&&this.actionError.set(`${e.length} of ${t.files.length} files failed to upload: ${e.map(n=>n.name).join(", ")}`)})}onDownload(t){return z(this,null,function*(){this.actionError.set(null);let e=yield this.state.downloadFile(t.scope,t.path);e.success||this.actionError.set(e.error??"Download failed")})}onDownloadAll(t){return z(this,null,function*(){this.actionError.set(null);let e=yield this.state.downloadAll(t);e.failedCount>0&&this.actionError.set(e.failedCount===1?"A file failed to download.":`${e.failedCount} files failed to download.`)})}onDeleteRequest(t){this.pendingDelete.set(t)}onConfirmDelete(){return z(this,null,function*(){let t=this.pendingDelete();if(this.pendingDelete.set(null),t){let e=yield this.state.deleteFile(t.scope,t.path);e.success?this.isStillSelected(t)&&this.clearSelection():this.actionError.set(e.error??"Delete failed")}})}onCancelDelete(){this.pendingDelete.set(null)}onRetry(){this.state.refreshManifest()}onClose(){this.closeRequested.emit()}onViewerClosed(){this.clearSelection()}clearSelection(){this.selectedFile.set(null),this.selectedContent.set(null),this.contentStatus.set("loading"),this.canViewSelected.set(!0)}resetSelection(){this.clearSelection(),this.actionError.set(null)}findFile(t){return(t.scope==="CASE"?this.state.caseFiles():this.state.namespaceFiles()).find(n=>n.path===t.path)}isStillSelected(t){let e=this.selectedFile();return e!==null&&e.scope===t.scope&&e.path===t.path}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-exchange-shell"]],outputs:{closeRequested:"closeRequested"},decls:4,vars:17,consts:[[1,"exchange-shell"],["role","alert",1,"exchange-shell__upload-error"],[1,"exchange-shell__drawer",3,"fileSelected","uploadRequested","downloadRequested","downloadAllRequested","deleteRequested","retryRequested","viewerClosed","closeRequested","caseFiles","caseStatus","caseSectionVisible","canWriteCase","caseUploading","namespaceFiles","namespaceStatus","namespaceSectionVisible","canWriteNamespace","namespaceUploading","activeFile","selectedContent","contentStatus","canViewSelected"],["title","Delete file","confirmLabel","Delete","cancelLabel","Cancel",3,"confirmed","cancelled","open","message"]],template:function(e,n){e&1&&(r(0,"div",0),u(1,no,2,1,"p",1),r(2,"agentos-exchange-drawer",2),_("fileSelected",function(a){return n.onFileSelected(a)})("uploadRequested",function(a){return n.onUpload(a)})("downloadRequested",function(a){return n.onDownload(a)})("downloadAllRequested",function(a){return n.onDownloadAll(a)})("deleteRequested",function(a){return n.onDeleteRequest(a)})("retryRequested",function(){return n.onRetry()})("viewerClosed",function(){return n.onViewerClosed()})("closeRequested",function(){return n.onClose()}),s()(),r(3,"ds-confirm-dialog",3),_("confirmed",function(){return n.onConfirmDelete()})("cancelled",function(){return n.onCancelDelete()}),s()),e&2&&(c(),g(n.actionError()?1:-1),c(),b("caseFiles",n.state.caseFiles())("caseStatus",n.state.caseStatus())("caseSectionVisible",n.state.caseSectionVisible())("canWriteCase",n.state.canWriteCase())("caseUploading",n.state.caseUploading())("namespaceFiles",n.state.namespaceFiles())("namespaceStatus",n.state.namespaceStatus())("namespaceSectionVisible",n.state.namespaceSectionVisible())("canWriteNamespace",n.state.canWriteNamespace())("namespaceUploading",n.state.namespaceUploading())("activeFile",n.selectedFile())("selectedContent",n.selectedContent())("contentStatus",n.contentStatus())("canViewSelected",n.canViewSelected()),c(),b("open",n.confirmOpen())("message",n.deleteMessage()))},dependencies:[Ge,Ft],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;min-height:0}.exchange-shell[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.exchange-shell__drawer[_ngcontent-%COMP%]{flex:1;min-height:0;display:flex;flex-direction:column}.exchange-shell__upload-error[_ngcontent-%COMP%]{margin:0;padding:.5rem .75rem;font-size:.8125rem;color:var(--color-error, #ff3b30);background:var(--color-bg-hover, rgba(0, 0, 0, .04));flex-shrink:0}"],changeDetection:0})};var Qe=10,oo=/\bnamespace\b/i;function ke(i,t){return oo.test(i)&&t?"NAMESPACE":"CASE"}function Ke(i,t){return ke(i,t)==="NAMESPACE"}function Xt(i){let t=a=>i.filter(h=>h.uploadedScope===a).map(h=>h.file.name),e=[],n=t("CASE"),o=t("NAMESPACE");return n.length>0&&e.push(`[Files attached to the case exchange: ${n.join(", ")}]`),o.length>0&&e.push(`[Files attached to the namespace exchange: ${o.join(", ")}]`),e.join(`
|
|
2
|
-
`)}function Jt(i,t=32){if(i.length<=t)return i;let e=t-1,n=Math.ceil(e/2),o=Math.floor(e/2);return`${i.slice(0,n)}\u2026${i.slice(i.length-o)}`}function Zt(i){let t=i.lastIndexOf(".");return t<=0||t===i.length-1?"FILE":i.slice(t+1).toUpperCase()}var ue=class i{exchangeState=T(Y);nextId=0;generation=0;dragDepth=0;attachments=w([]);limitError=w(null);isDragOver=w(!1);isUploading=w(!1);hasAttachments=E(()=>this.attachments().length>0);addFiles(t){if(this.isUploading())return;let e=Array.from(t);if(e.length===0)return;let n=this.attachments(),o=Qe-n.length;this.limitError.set(e.length>o?`You can attach up to ${Qe} files per message.`:null);let a=e.slice(0,Math.max(0,o)).map(h=>({id:`attachment-${this.nextId++}`,file:h,status:"pending"}));a.length>0&&this.attachments.set([...n,...a])}remove(t){this.isUploading()||(this.attachments.update(e=>e.filter(n=>n.id!==t)),this.attachments().length<Qe&&this.limitError.set(null))}reset(){this.generation++,this.attachments.set([]),this.limitError.set(null),this.isDragOver.set(!1),this.isUploading.set(!1),this.dragDepth=0}onDragEnter(t){this.holdsFiles(t)&&(t.preventDefault(),this.dragDepth++,this.isDragOver.set(!0))}onDragOver(t){this.holdsFiles(t)&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="copy"))}onDragLeave(){this.dragDepth>0&&this.dragDepth--,this.dragDepth===0&&this.isDragOver.set(!1)}onDrop(t){if(!this.holdsFiles(t))return;t.preventDefault(),this.dragDepth=0,this.isDragOver.set(!1);let e=t.dataTransfer?.files;e&&e.length>0&&this.addFiles(e)}uploadAllAndBuildMention(t){return z(this,null,function*(){let e=this.generation;this.isUploading.set(!0);try{let n=!1;for(let o of this.attachments()){if(this.generation!==e)return null;if(o.status==="uploaded")continue;this.patch(o.id,{status:"uploading",error:void 0});let a=yield this.exchangeState.uploadFile(t,o.file);if(this.generation!==e)return null;a.success?this.patch(o.id,{status:"uploaded",uploadedScope:t}):(n=!0,this.patch(o.id,{status:"error",error:a.error??"Upload failed"}))}return n||this.generation!==e?null:Xt(this.attachments())}finally{this.generation===e&&this.isUploading.set(!1)}})}holdsFiles(t){return t.dataTransfer?.types.includes("Files")??!1}patch(t,e){this.attachments.update(n=>n.map(o=>o.id===t?U(U({},o),e):o))}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ve({token:i,factory:i.\u0275fac})};var io=["fileInput"],ao=(i,t)=>t.id;function ro(i,t){i&1&&(r(0,"span",10),m(1,"namespace"),s())}function so(i,t){if(i&1&&(r(0,"span",12),m(1),s()),i&2){let e=l().$implicit;c(),S(e.error)}}function lo(i,t){if(i&1){let e=x();r(0,"div",6)(1,"span",7),m(2),s(),r(3,"span",8),m(4),s(),r(5,"span",9),m(6),s(),u(7,ro,2,0,"span",10),r(8,"ds-icon-button",11),_("action",function(){let o=d(e).$implicit,a=l(3);return p(a.removed.emit(o.id))}),s(),u(9,so,2,1,"span",12),s()}if(i&2){let e=t.$implicit,n=l(3);O("composer-attachments__chip--error",e.status==="error")("composer-attachments__chip--uploaded",e.status==="uploaded"),c(),O("composer-attachments__icon--spinning",e.status==="uploading"),c(),S(n.chipIcon(e)),c(),b("title",e.file.name),c(),S(n.middleTruncate(e.file.name)),c(2),S(n.kindLabel(e.file.name)),c(),g(n.showNamespaceBadge(e)?7:-1),c(),b("title",n.removeTitle(e))("disabled",n.disabled()),c(),g(e.status==="error"&&e.error?9:-1)}}function co(i,t){if(i&1&&(r(0,"div",3),V(1,lo,10,14,"div",5,ao),s()),i&2){let e=l(2);c(),N(e.attachments())}}function po(i,t){i&1&&(r(0,"p",4),m(1),s()),i&2&&(c(),S(t))}function mo(i,t){if(i&1&&(r(0,"div",1),u(1,co,3,0,"div",3),u(2,po,2,1,"p",4),s()),i&2){let e,n=l();c(),g(n.attachments().length>0?1:-1),c(),g((e=n.limitError())?2:-1,e)}}var Ee=class i{attachments=f.required();namespaceBadge=f(!1);limitError=f(null);disabled=f(!1);removed=v();filesSelected=v();fileInput=ce("fileInput");kindLabel=Zt;middleTruncate=Jt;chipIcon(t){return t.status==="uploading"?"progress_activity":t.status==="uploaded"?"check_circle":He(t.file.name)}showNamespaceBadge(t){return t.uploadedScope?t.uploadedScope==="NAMESPACE":this.namespaceBadge()}removeTitle(t){return t.status==="uploaded"?`Remove ${t.file.name} from the list (the uploaded file stays in the exchange)`:`Remove ${t.file.name}`}openPicker(){this.fileInput()?.nativeElement.click()}onFileInputChange(t){let e=t.target,n=e.files?Array.from(e.files):[];n.length>0&&this.filesSelected.emit(n),e.value=""}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-composer-attachments"]],viewQuery:function(e,n){e&1&&re(n.fileInput,io,5),e&2&&se()},inputs:{attachments:[1,"attachments"],namespaceBadge:[1,"namespaceBadge"],limitError:[1,"limitError"],disabled:[1,"disabled"]},outputs:{removed:"removed",filesSelected:"filesSelected"},decls:3,vars:1,consts:[["fileInput",""],[1,"composer-attachments"],["type","file","multiple","","aria-hidden","true","tabindex","-1",1,"composer-attachments__file-input",3,"change"],[1,"composer-attachments__chips"],["role","alert",1,"composer-attachments__limit"],[1,"composer-attachments__chip",3,"composer-attachments__chip--error","composer-attachments__chip--uploaded"],[1,"composer-attachments__chip"],["aria-hidden","true",1,"composer-attachments__icon","material-icons"],[1,"composer-attachments__name",3,"title"],[1,"composer-attachments__kind"],[1,"composer-attachments__badge"],["icon","close",3,"action","title","disabled"],["role","alert",1,"composer-attachments__error"]],template:function(e,n){e&1&&(u(0,mo,3,2,"div",1),r(1,"input",2,0),_("change",function(a){return n.onFileInputChange(a)}),s()),e&2&&g(n.attachments().length>0||n.limitError()?0:-1)},dependencies:[j],styles:[".composer-attachments[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem;width:100%}.composer-attachments__chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.5rem}.composer-attachments__chip[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.375rem .375rem .375rem .625rem;border:1px solid var(--color-border, rgba(0, 0, 0, .12));border-radius:12px;background:var(--color-surface-secondary, rgba(0, 0, 0, .04));font-size:.8125rem}.composer-attachments__chip--error[_ngcontent-%COMP%]{border-color:var(--color-error, #d13438)}.composer-attachments__chip--uploaded[_ngcontent-%COMP%]{border-color:var(--color-success, #2e7d32)}.composer-attachments__icon[_ngcontent-%COMP%]{font-size:1.25rem;color:var(--color-text-secondary, rgba(0, 0, 0, .6))}.composer-attachments__icon--spinning[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_composer-attachments-spin 1s linear infinite}.composer-attachments__name[_ngcontent-%COMP%]{font-weight:500}.composer-attachments__kind[_ngcontent-%COMP%]{font-size:.6875rem;letter-spacing:.04em;color:var(--color-text-secondary, rgba(0, 0, 0, .6))}.composer-attachments__badge[_ngcontent-%COMP%]{padding:.0625rem .375rem;border-radius:999px;background:var(--color-primary, #0071e3);color:var(--color-text-inverse, #fff);font-size:.6875rem;font-weight:600}.composer-attachments__error[_ngcontent-%COMP%]{flex-basis:100%;font-size:.75rem;color:var(--color-error, #d13438)}.composer-attachments__limit[_ngcontent-%COMP%]{margin:0;font-size:.75rem;color:var(--color-error, #d13438)}.composer-attachments__file-input[_ngcontent-%COMP%]{display:none}@keyframes _ngcontent-%COMP%_composer-attachments-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"],changeDetection:0})};var _o=["composerInput"],uo=["messagesContainer"],go=(i,t)=>t.phaseIndex;function ho(i,t){if(i&1&&(r(0,"span",13),m(1),s()),i&2){let e=l();c(),S(e.exchangeFileCount())}}function fo(i,t){if(i&1){let e=x();r(0,"ds-icon-button",32),_("action",function(){let o;d(e);let a=l();return p(a.starToggled.emit({id:a.caseId,starred:!((o=a.activeCase())!=null&&o.favorite)}))}),s(),r(1,"ds-icon-button",33),_("action",function(){d(e);let o=l();return p(o.confirmingDelete.set(!0))}),s()}if(i&2){let e,n,o,a=l();O("case-chat__header-star--active",(e=a.activeCase())==null?null:e.favorite),b("icon",(n=a.activeCase())!=null&&n.favorite?"star":"star_border")("title",(o=a.activeCase())!=null&&o.favorite?"Remove from favorites":"Add to favorites")}}function Co(i,t){if(i&1){let e=x();r(0,"span",15)(1,"span",34),m(2,"Delete this case?"),s(),r(3,"button",35),_("click",function(){d(e);let o=l();return o.deleteRequested.emit(o.caseId),p(o.confirmingDelete.set(!1))}),r(4,"span",36),m(5,"check"),s(),m(6," Delete "),s(),r(7,"button",37),_("click",function(){d(e);let o=l();return p(o.confirmingDelete.set(!1))}),r(8,"span",36),m(9,"close"),s()()()}}function bo(i,t){i&1&&(r(0,"div",17)(1,"span",38),m(2,"upload_file"),s(),r(3,"span"),m(4,"Drop files to attach"),s()())}function xo(i,t){i&1&&(r(0,"div",19)(1,"p"),m(2,"No messages yet."),s()())}function vo(i,t){if(i&1&&(r(0,"span",44),m(1),s()),i&2){let e=l(2).$implicit;c(),G(" ",e.event.actor.role==="USER"?"You":e.event.actor.displayName||"Agent"," ")}}function wo(i,t){if(i&1&&(r(0,"div",45)(1,"span",50),m(2,"session context"),s(),r(3,"pre",51),m(4),Ie(5,"json"),s()()),i&2){let e=l(2).$implicit;c(4),S(Ve(5,1,e.event.sessionContext))}}function yo(i,t){if(i&1&&y(0,"div",47),i&2){let e=l(2).$implicit;b("innerHTML",e.html,he)}}function So(i,t){if(i&1&&y(0,"div",48),i&2){let e=l(2).$implicit;b("innerHTML",e.html,he)}}function Mo(i,t){if(i&1&&(r(0,"div",43),u(1,vo,2,1,"span",44),u(2,wo,6,3,"div",45),r(3,"div",46),u(4,yo,1,1,"div",47)(5,So,1,1,"div",48),y(6,"ds-copy-button",49),s()()),i&2){let e=l().$implicit,n=l(2);O("case-chat__turn--user",e.event.actor.role==="USER")("case-chat__turn--agent",e.event.actor.role==="AGENT"),c(),g(e.isFirstInGroup?1:-1),c(),g(n.showTechnical()&&e.event.sessionContext?2:-1),c(2),g(e.event.actor.role==="USER"?4:5),c(2),b("text",n.messageText(e))}}function Eo(i,t){if(i&1&&(r(0,"div",40)(1,"span",44),m(2),s(),y(3,"div",48),s()),i&2){let e=l(3);c(2),S(e.agentDisplayName()),c(),b("innerHTML",e.streamingHtml(),he)}}function To(i,t){if(i&1&&(r(0,"div",53),m(1),s()),i&2){let e=l(2).$implicit;c(),S(e.item.detail)}}function ko(i,t){if(i&1&&(r(0,"details",41)(1,"summary",52),m(2),s(),u(3,To,2,1,"div",53),s()),i&2){let e=l().$implicit;c(2),G("\u2699 System log \xB7 ",e.item.label),c(),g(e.item.detail?3:-1)}}function Po(i,t){i&1&&m(0," \u23F3 ")}function Oo(i,t){i&1&&m(0," \u2705 ")}function Do(i,t){i&1&&m(0," \u274C ")}function Io(i,t){if(i&1&&(r(0,"div",70)(1,"span",71),m(2,"Enrichment content"),s(),r(3,"pre"),m(4),s()()),i&2){let e=l().$implicit;c(4),S(e.enrichmentContent)}}function Vo(i,t){if(i&1&&(r(0,"div",66)(1,"div",67)(2,"span",68),m(3),s(),r(4,"span",69),m(5),s()(),r(6,"div",70)(7,"span",71),m(8,"Prompt"),s(),r(9,"pre"),m(10),s()(),r(11,"div",70)(12,"span",71),m(13,"LLM output"),s(),r(14,"pre"),m(15),s()(),u(16,Io,5,1,"div",70),s()),i&2){let e=t.$implicit;O("case-chat__enrichment-phase--failed",!e.success),c(3),G("Phase ",e.phaseIndex),c(2),S(e.success?"\u2705":"\u274C"),c(5),S(e.prompt),c(5),S(e.llmOutput),c(),g(e.enrichmentContent?16:-1)}}function No(i,t){if(i&1&&(r(0,"div",60)(1,"span",62),m(2,"Enrichment phases"),s(),V(3,Vo,17,7,"div",65,go),s()),i&2){let e=l(3).$implicit;c(3),N(e.call.enrichmentPhases)}}function Ro(i,t){if(i&1&&(r(0,"div",61)(1,"span",62),m(2,"Payload"),s(),r(3,"pre"),m(4),s()()),i&2){let e=l(3).$implicit;c(4),S(e.call.args)}}function Fo(i,t){i&1&&(r(0,"pre"),m(1),s()),i&2&&(c(),S(t))}function Ao(i,t){i&1&&(r(0,"span",63),m(1,"Running\u2026"),s())}function qo(i,t){i&1&&(r(0,"span",64),m(1,"No output"),s())}function Lo(i,t){if(i&1&&(r(0,"div",59),u(1,No,5,0,"div",60),u(2,Ro,5,1,"div",61),r(3,"div",61)(4,"span",62),m(5,"Output"),s(),u(6,Fo,2,1,"pre")(7,Ao,2,0,"span",63)(8,qo,2,0,"span",64),s()()),i&2){let e,n=l(2).$implicit,o=l(2);c(),g(o.showTechnical()&&(n.call.enrichmentPhases!=null&&n.call.enrichmentPhases.length)?1:-1),c(),g(n.call.args?2:-1),c(4),g((e=o.extractToolOutput(n.call))?6:n.call.response?8:7,e)}}function zo(i,t){if(i&1){let e=x();r(0,"div",54)(1,"button",55),_("click",function(){d(e);let o=l().$implicit,a=l(2);return p(a.toggleToolCall(o.call.requestId))}),r(2,"span",56),u(3,Po,1,0)(4,Oo,1,0)(5,Do,1,0),s(),r(6,"span",57),m(7),s(),r(8,"span",58),m(9),s()(),u(10,Lo,9,3,"div",59),s()}if(i&2){let e=l().$implicit,n=l(2);O("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),c(),$("aria-expanded",n.isToolCallExpanded(e.call.requestId)),c(2),g(e.call.response?e.call.response.success?4:5:3),c(4),S(e.call.toolName),c(2),S(n.isToolCallExpanded(e.call.requestId)?"\u25BC":"\u25B6"),c(),g(n.isToolCallExpanded(e.call.requestId)?10:-1)}}function $o(i,t){if(i&1&&u(0,Mo,7,8,"div",39)(1,Eo,4,2,"div",40)(2,ko,4,2,"details",41)(3,zo,11,11,"div",42),i&2){let e=t.$implicit;g(e.kind==="message"?0:e.kind==="streaming"?1:e.kind==="technical"?2:3)}}function Bo(i,t){if(i&1&&V(0,$o,4,1,null,null,gt().trackTimelineItem,!0),i&2){let e=l();N(e.timeline())}}function Ho(i,t){i&1&&(r(0,"div",20),y(1,"span",72)(2,"span",72)(3,"span",72),s())}function Uo(i,t){if(i&1){let e=x();r(0,"div",21)(1,"ds-icon-button",73),_("action",function(){d(e);let o=l();return p(o.onScrollToBottomClick())}),s()()}}function Wo(i,t){if(i&1){let e=x();r(0,"div",23)(1,"agentos-prompt-autocomplete",74),_("selected",function(o){d(e);let a=l();return p(a.onPromptSelected(o))})("dismissed",function(){d(e);let o=l();return p(o.closeAutocomplete())}),s()()}if(i&2){let e=l();c(),b("prompts",e.slashSuggestions())}}function Go(i,t){if(i&1){let e=x();r(0,"ds-icon-button",75),_("action",function(){d(e),l();let o=fe(27);return p(o.openPicker())}),s()}if(i&2){let e=l();b("disabled",!e.canStageFiles())}}function jo(i,t){if(i&1){let e=x();r(0,"ds-icon-button",76),_("action",function(){d(e);let o=l();return p(o.interrupt())}),s()}}function Qo(i,t){if(i&1){let e=x();r(0,"ds-icon-button",77),_("action",function(){d(e);let o=l();return p(o.submit())}),s()}if(i&2){let e=l();b("title",e.preferences.composerHint())("disabled",!e.canSend)}}var Ko=64;function en(){let i=window.getSelection();return!!i&&i.toString().length>0}var Ye=class i{route=T(de);http=T(Ne);zone=T(mt);destroyRef=T(ne);domSanitizer=T(Tt);exchangeState=T(Y);config=T(Fe);preferences=T($e);caseState=T(me);promptState=T(ze);userState=T(Me);exchangeOpen=w(!1);exchangeFileCount=this.exchangeState.fileCount;attachments=T(ue);canAttach=this.exchangeState.canWriteCase;canStageFiles=E(()=>this.canAttach()&&!this.isRunning()&&!this.isTerminal()&&!this.attachments.isUploading());toggleExchange(){this.exchangeOpen.update(t=>!t)}caseId=this.route.snapshot.queryParams.case;namespaceId=this.route.snapshot.queryParams.ns;markdownRenderer=this.buildMarkdownRenderer();agentDisplayName=E(()=>{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 o=n.agentName;if(o&&o.trim().length>0)return o}if(n.type==="MessageEvent"&&n.actor.role==="AGENT"&&n.actor.displayName)return n.actor.displayName}}return"Assistant"});eventSource=null;composerInput;messagesContainer;autocompleteRef;events=w([]);messageHtmlCache=new Map;inputValue=w("");isRunning=w(!1);isTerminal=w(!1);activeCase=E(()=>this.caseState.cases().find(t=>t.id===this.caseId)??null);_sseStatus=w("");caseStatus=E(()=>this._sseStatus()||this.activeCase()?.status||"IDLE");confirmingDelete=w(!1);starToggled=v();deleteRequested=v();logsToggled=v();effectivePrompts=[];promptsLoaded=!1;slashPrefix$=new Pe;slashSuggestions=w([]);showTechnicalOverride=f(!1);showTechnical=E(()=>this.showTechnicalOverride());streamingText=w("");streamingHtml=E(()=>{let t=this.streamingText();return t?this.renderMarkdown(t):""});namespaceTargeted=E(()=>Ke(this.inputValue(),this.exchangeState.canWriteNamespace()));collapsedTools=w(new Set);isAtBottom=w(!0);scrollListenerCleanup=null;constructor(){this.slashPrefix$.pipe(be(60),xe(t=>(this.promptsLoaded?J(this.effectivePrompts):this.promptState.listEffective(this.namespaceId,this.userState.currentUser()?.id??"").pipe(te(()=>J([])))).pipe(Z(n=>({prefix:t,prompts:n})))),H(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())))}),oe(()=>{this.isRunning()||this.isTerminal()||queueMicrotask(()=>{en()||this.composerInput?.nativeElement.focus()})}),oe(()=>{this.timeline(),this.streamingText(),this.isAtBottom()&&queueMicrotask(()=>{en()||this.scrollToBottom()})}),we(()=>{this.attachScrollListener()})}baseTimeline=E(()=>{let t=this.events(),e=this.showTechnical(),n=new Map;for(let M of t)if(M.type==="ToolRequestEvent"){let C=M,D=C.toolRequestId??M.id,P=n.get(D);n.set(D,{requestId:D,toolName:C.toolName??"unknown",args:C.args??null,response:P?.response,enrichmentPhases:C.enrichmentPhases??null})}else if(M.type==="ToolResponseEvent"){let C=M,D=C.toolRequestId??M.id,P=n.get(D);n.set(D,{requestId:D,toolName:P?.toolName??C.toolName??"unknown",args:P?.args??null,response:C,enrichmentPhases:P?.enrichmentPhases??null})}let o=[],a=new Set,h=null;for(let M of t)if(M.type==="MessageEvent"){let C=M,D=C.actor.role,P=D!==h;h=D,o.push({kind:"message",event:C,html:this.messageHtmlCache.get(M.id)??"",isFirstInGroup:P})}else if(M.type==="ToolRequestEvent"||M.type==="ToolResponseEvent"){let C=M.toolRequestId??M.id;a.has(C)||(a.add(C),o.push({kind:"tool",call:n.get(C)})),h=null}else if(e){let C=this.toTechnicalItem(M);C&&(o.push({kind:"technical",item:C,eventId:M.id}),h=null)}return o});timeline=E(()=>{let t=this.baseTimeline();return this.streamingText().trim().length===0?t:[...t,{kind:"streaming"}]});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.attachments.hasAttachments())&&!this.isRunning()&&!this.isTerminal()&&!this.attachments.isUploading()}ngOnInit(){this.connectSse(),this.route.queryParams.pipe(H(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<=Ko)};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=o=>{let a=performance.now(),h=o.type,M=o.data;console.log("[AgentOS SSE] frame received",{sseEventName:h,dataLength:M?.length??0,dataPreview:M?.slice(0,120),receivedAtMs:a});try{let C=JSON.parse(M);this.zone.run(()=>{let D=this.events().length;if(C.type==="MessageEvent"){let A=C,ee=this.extractText(A);this.messageHtmlCache.has(C.id)||this.messageHtmlCache.set(C.id,this.renderMarkdown(ee))}this.events.update(A=>A.some(ee=>ee.id===C.id)?A:[...A,C]);let P=this.events().length;if(console.log("[AgentOS SSE] event processed",{sseEventName:h,eventType:C.type,eventId:C.id,beforeLen:D,afterLen:P,running:this.isRunning(),terminal:this.isTerminal()}),C.type==="TextChunkEvent"){let A=C.chunk;A&&this.streamingText.update(ee=>ee+A);return}if(C.type==="CaseUpdatedEvent"){let A=C;A.title&&this.caseState.updateCaseTitle(C.caseId,A.title);return}if(C.type==="CaseStatusEvent"){let A=C.status;this._sseStatus.set(A),this.caseState.updateCaseStatus(this.caseId,A);let ee=A==="KILLED"||A==="ERROR";if(this.isTerminal.set(ee),ee)this.isRunning.set(!1),this.eventSource?.close(),this.eventSource=null;else{let st=A==="RUNNING";this.isRunning.set(st),st||this.streamingText.set("")}return}if(C.type==="AgentFinishedEvent"){this.isRunning.set(!1),this.streamingText.set(""),this.anyToolResponseThisTurn&&this.exchangeState.refreshManifest(),this.anyToolResponseThisTurn=!1;return}if(C.type==="ToolResponseEvent"){this.anyToolResponseThisTurn=!0;let A=Yt(C.toolName);A==="case"?this.exchangeState.refreshCase():A==="namespace"&&this.exchangeState.refreshNamespace();return}})}catch(C){console.warn("[AgentOS SSE] failed to parse event data",{sseEventName:h,error:C,dataPreview:M?.slice(0,500)})}},n=["MessageEvent","CaseStatusEvent","CaseUpdatedEvent","AgentSelectedEvent","AgentRunningEvent","AgentFinishedEvent","ThinkingEvent","TextChunkEvent","ToolRequestEvent","ToolResponseEvent","PendingConfirmationEvent","ConfirmationResolvedEvent","ErrorEvent","WarnEvent","IntentionGeneratedEvent"];for(let o of n)console.log("[AgentOS SSE] addEventListener",o),this.eventSource.addEventListener(o,e);this.eventSource.onopen=()=>{console.log("[AgentOS SSE] connection open",{readyState:this.eventSource?.readyState,at:new Date().toISOString()})},this.eventSource.onmessage=o=>{console.log("[AgentOS SSE] onmessage (unnamed event) received",{dataLength:o.data?.length??0,dataPreview:o.data?.slice(0,120)})},this.eventSource.onerror=o=>{console.warn("[AgentOS SSE] connection error",{err:o,readyState:this.eventSource?.readyState,at:new Date().toISOString()}),this.zone.run(()=>{this.isRunning.set(!1)})}}anyToolResponseThisTurn=!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._sseStatus.set(""),this.confirmingDelete.set(!1),this.streamingText.set(""),this.collapsedTools.set(new Set),this.isAtBottom.set(!0),this.slashSuggestions.set([]),this.effectivePrompts=[],this.promptsLoaded=!1,this.attachments.reset(),this.connectSse()}submitting=!1;submit(){return z(this,null,function*(){if(this.submitting||!this.canSend)return;let t=this.inputValue().trim();if(this.attachments.hasAttachments()){this.submitting=!0;try{let e=this.caseId,n=ke(t,this.exchangeState.canWriteNamespace()),o=yield this.attachments.uploadAllAndBuildMention(n);if(o===null||this.caseId!==e)return;(yield this.postMessage(t?`${t}
|
|
3
|
-
|
|
4
|
-
${o}`:o))&&this.caseId===e&&(this.inputValue.set(""),this.attachments.reset())}finally{this.submitting=!1}return}this.inputValue.set(""),this.sendMessage(t)})}sendMessage(t){this.postMessage(t)}postMessage(t){return this.isRunning.set(!0),this.streamingText.set(""),Te(this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/messages`,{content:t,userId:"default-user"})).then(()=>!0,e=>(console.error("[CaseChat] Failed to send message",e),this.isRunning.set(!1),!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.logsToggled.emit()}messageText(t){return this.extractText(t.event)}renderMarkdown(t){if(!t)return"";let e=Nt.parse(t,{renderer:this.markdownRenderer,breaks:!0,gfm:!0,async:!1}),n=Rt.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 Vt,e=t.link.bind(t);return t.link=n=>{let o=e(n);return this.isExternalLink(n.href)&&(o=o.replace("<a ",'<a target="_blank" rel="noopener noreferrer" ').replace("</a>",'<span class="external-link-icon" aria-hidden="true">\u2197</span></a>')),o},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}}CaseStatusEnum=Dt;static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-case-chat"]],viewQuery:function(e,n){if(e&1&&ae(_o,5)(uo,5)(_e,5),e&2){let o;Q(o=K())&&(n.composerInput=o.first),Q(o=K())&&(n.messagesContainer=o.first),Q(o=K())&&(n.autocompleteRef=o.first)}},inputs:{showTechnicalOverride:[1,"showTechnicalOverride"]},outputs:{starToggled:"starToggled",deleteRequested:"deleteRequested",logsToggled:"logsToggled"},features:[De([ue])],decls:37,vars:32,consts:[["messagesContainer",""],["attachmentsUi",""],["composerInput",""],["position","end","drawerWidth","400px",3,"openChange","open","mobileFullWidth"],["dsDrawerSide","",3,"closeRequested"],["dsDrawerContent","",1,"case-chat__host"],[1,"case-chat__header"],[1,"case-chat__header-title-group"],[3,"status","size"],[1,"case-chat__header-title"],[1,"case-chat__header-badge"],[1,"case-chat__header-exchange"],["icon","folder","variant","default",3,"action","title"],["aria-hidden","true",1,"case-chat__exchange-badge"],[1,"case-chat__header-sep"],[1,"case-chat__header-confirm"],[1,"case-chat",3,"dragenter","dragover","dragleave","drop"],["aria-hidden","true",1,"case-chat__drop-overlay"],[1,"case-chat__messages"],[1,"case-chat__empty"],[1,"case-chat__thinking"],[1,"case-chat__scroll-anchor"],["dsBlueprint","",1,"case-chat__composer"],[1,"case-chat__autocomplete"],[3,"removed","filesSelected","attachments","namespaceBadge","limitError","disabled"],["placeholder","Reply\u2026","rows","3",1,"case-chat__input",3,"input","keydown","value","disabled"],[1,"case-chat__actions"],["icon","attach_file","variant","default","title","Attach files",3,"disabled"],[1,"case-chat__actions-hint"],["icon","stop","variant","danger","title","Interrupt"],["icon","send","variant","primary",3,"title","disabled"],["icon","cancel","variant","danger","title","Kill",3,"action","disabled"],["variant","default",1,"case-chat__header-star",3,"action","icon","title"],["icon","delete","variant","danger","title","Delete case",3,"action"],[1,"case-chat__header-confirm-label"],["type","button","title","Confirm delete",1,"case-chat__header-confirm-yes",3,"click"],["aria-hidden","true",1,"material-icons"],["type","button","title","Cancel",1,"case-chat__header-confirm-no",3,"click"],[1,"material-icons"],[1,"case-chat__turn",3,"case-chat__turn--user","case-chat__turn--agent"],[1,"case-chat__turn","case-chat__turn--agent","case-chat__turn--streaming"],[1,"case-chat__log"],[1,"case-chat__tool-call",3,"case-chat__tool-call--pending","case-chat__tool-call--success","case-chat__tool-call--error"],[1,"case-chat__turn"],[1,"case-chat__role-label"],[1,"case-chat__session-context"],[1,"case-chat__bubble-wrapper"],["dsBlueprint","",1,"case-chat__bubble","case-chat__message-text--markdown",3,"innerHTML"],[1,"case-chat__bubble","case-chat__message-text--markdown",3,"innerHTML"],["title","Copy message",1,"case-chat__bubble-copy",3,"text"],[1,"case-chat__session-context-label"],[1,"case-chat__session-context-body"],[1,"case-chat__log-summary"],[1,"case-chat__log-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","attach_file","variant","default","title","Attach files",3,"action","disabled"],["icon","stop","variant","danger","title","Interrupt",3,"action"],["icon","send","variant","primary",3,"action","title","disabled"]],template:function(e,n){if(e&1){let o=x();r(0,"ds-drawer",3),xt("openChange",function(h){return d(o),bt(n.exchangeOpen,h)||(n.exchangeOpen=h),p(h)}),r(1,"agentos-exchange-shell",4),_("closeRequested",function(){return n.exchangeOpen.set(!1)}),s(),r(2,"div",5)(3,"header",6)(4,"div",7),y(5,"agentos-case-status-glyph",8),r(6,"span",9),m(7),s(),r(8,"span",10),m(9),s()(),r(10,"div",11)(11,"ds-icon-button",12),_("action",function(){return n.toggleExchange()}),s(),u(12,ho,2,1,"span",13),s(),y(13,"span",14),u(14,fo,2,4)(15,Co,10,0,"span",15),s(),r(16,"div",16),_("dragenter",function(h){return n.canStageFiles()&&n.attachments.onDragEnter(h)})("dragover",function(h){return n.canStageFiles()&&n.attachments.onDragOver(h)})("dragleave",function(){return n.attachments.onDragLeave()})("drop",function(h){return n.canStageFiles()&&n.attachments.onDrop(h)}),u(17,bo,5,0,"div",17),r(18,"div",18,0),u(20,xo,3,0,"div",19)(21,Bo,2,0),u(22,Ho,4,0,"div",20),s(),u(23,Uo,2,0,"div",21),r(24,"div",22),u(25,Wo,2,1,"div",23),r(26,"agentos-composer-attachments",24,1),_("removed",function(h){return n.attachments.remove(h)})("filesSelected",function(h){return n.attachments.addFiles(h)}),s(),r(28,"textarea",25,2),_("input",function(h){return n.onInput(h)})("keydown",function(h){return n.onKeydown(h)}),s(),r(30,"div",26),u(31,Go,1,1,"ds-icon-button",27),r(32,"span",28),m(33),s(),u(34,jo,1,0,"ds-icon-button",29)(35,Qo,1,2,"ds-icon-button",30),r(36,"ds-icon-button",31),_("action",function(){return n.kill()}),s()()()()()()}if(e&2){let o;Ct("open",n.exchangeOpen),b("mobileFullWidth",!0),c(5),b("status",n.caseStatus())("size",16),c(2),S(((o=n.activeCase())==null?null:o.title)??""),c(),O("case-chat__header-badge--running",n.caseStatus()===n.CaseStatusEnum.RUNNING)("case-chat__header-badge--error",n.caseStatus()===n.CaseStatusEnum.ERROR)("case-chat__header-badge--pending",n.caseStatus()===n.CaseStatusEnum.PENDING)("case-chat__header-badge--killed",n.caseStatus()===n.CaseStatusEnum.KILLED),c(),S(n.caseStatus().toLowerCase()),c(2),b("title","Files ("+n.exchangeFileCount()+")"),c(),g(n.exchangeFileCount()>0&&!n.exchangeOpen()?12:-1),c(2),g(n.confirmingDelete()?15:14),c(3),g(n.attachments.isDragOver()?17:-1),c(3),g(n.timeline().length===0?20:21),c(2),g(n.isRunning()?22:-1),c(),g(n.isAtBottom()?-1:23),c(2),g(n.slashSuggestions().length>0?25:-1),c(),b("attachments",n.attachments.attachments())("namespaceBadge",n.namespaceTargeted())("limitError",n.attachments.limitError())("disabled",n.attachments.isUploading()),c(2),b("value",n.inputValue())("disabled",n.isRunning()||n.isTerminal()||n.attachments.isUploading()),c(3),g(n.canAttach()?31:-1),c(2),S(n.preferences.composerHint()),c(),g(n.isRunning()?34:35),c(2),b("disabled",n.isTerminal())}},dependencies:[j,At,je,_e,Se,pe,qt,Ee,Et],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.case-chat__host[_ngcontent-%COMP%]{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.case-chat__header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;height:54px;flex:none;padding:0 12px;border-bottom:1px solid var(--color-divider);background:var(--color-bg);min-width:0;overflow:hidden}@media(min-width:600px){.case-chat__header[_ngcontent-%COMP%]{padding:0 20px}}.case-chat__header-star--active[_ngcontent-%COMP%]{--color-text-secondary: var(--color-accent)}.case-chat__header-confirm[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px}.case-chat__header-confirm-label[_ngcontent-%COMP%]{font-size:11px;color:var(--red-deep);font-family:var(--font-heading);font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.case-chat__header-confirm-yes[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;margin:0;font:inherit;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border:1px solid var(--red);background:var(--red);color:#fff;font-family:var(--font-heading);font-weight:600;font-size:11px;cursor:pointer;transition:background .14s,border-color .14s}.case-chat__header-confirm-yes[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{font-size:16px;line-height:1}.case-chat__header-confirm-yes[_ngcontent-%COMP%]:hover{background:var(--red-deep);border-color:var(--red-deep)}.case-chat__header-confirm-yes[_ngcontent-%COMP%]{gap:6px;padding:0 12px;font-size:12px}.case-chat__header-confirm-no[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:30px;height:30px;border-radius:0;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.case-chat__header-confirm-no[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover);color:var(--color-text)}.case-chat__header-confirm-no[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:0}.case-chat__header-confirm-no[_ngcontent-%COMP%]:disabled{opacity:.4;cursor:not-allowed}.case-chat__header-confirm-no[_ngcontent-%COMP%]{border:1px solid var(--color-divider);color:var(--color-neutral-600)}.case-chat__header-confirm-no[_ngcontent-%COMP%]:hover{color:var(--color-text);border-color:var(--color-neutral-500);background:var(--color-bg-hover)}.case-chat__header-title-group[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden}.case-chat__header-title[_ngcontent-%COMP%]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-heading);font-weight:600;font-size:17px;color:var(--color-text)}@media(max-width:600px){.case-chat__header-title[_ngcontent-%COMP%]{font-size:14px}}.case-chat__header-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;border:1px solid currentColor;font-size:9.5px;font-family:var(--font-heading);font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;padding:1px 6px;color:var(--status-idle-text)}.case-chat__header-badge--running[_ngcontent-%COMP%]{color:var(--color-accent-700)}.case-chat__header-badge--error[_ngcontent-%COMP%]{color:var(--red-deep)}.case-chat__header-badge--pending[_ngcontent-%COMP%]{color:var(--status-pending-text)}.case-chat__header-badge--killed[_ngcontent-%COMP%]{color:var(--status-killed-text)}.case-chat__header-badge[_ngcontent-%COMP%]{flex:none;padding:2px 8px;border-color:var(--color-neutral-500);color:var(--color-neutral-600)}@media(max-width:600px){.case-chat__header-badge[_ngcontent-%COMP%]{display:none}}.case-chat__header-exchange[_ngcontent-%COMP%]{position:relative;flex:none}.case-chat__header-sep[_ngcontent-%COMP%]{width:1px;height:18px;background:var(--color-divider);flex:none}.case-chat__exchange-badge[_ngcontent-%COMP%]{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;background:var(--color-accent);color:var(--color-text-inverse);font-size:.625rem;font-weight:700;line-height:16px;text-align:center;pointer-events:none}.case-chat[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;padding:1rem;gap:1rem;position:relative;background:var(--color-bg)}@media(min-width:900px){.case-chat[_ngcontent-%COMP%]{padding:1.5rem}}.case-chat__messages[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:.75rem;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-divider) 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-neutral-500);font-size:.9rem;margin:0}.case-chat__turn[_ngcontent-%COMP%]{flex-shrink:0;display:flex;flex-direction:column;gap:6px;max-width:88%}@media(max-width:600px){.case-chat__turn[_ngcontent-%COMP%]{max-width:100%;width:100%}}.case-chat__turn--user[_ngcontent-%COMP%]{align-self:flex-end;align-items:flex-end;max-width:78%}@media(max-width:600px){.case-chat__turn--user[_ngcontent-%COMP%]{max-width:95%;align-self:flex-end;align-items:flex-end}}.case-chat__turn--agent[_ngcontent-%COMP%]{align-self:flex-start;align-items:flex-start}@media(max-width:600px){.case-chat__turn--agent[_ngcontent-%COMP%]{align-self:stretch;align-items:stretch}}.case-chat__turn--streaming[_ngcontent-%COMP%]{opacity:.95}.case-chat__role-label[_ngcontent-%COMP%]{font-family:var(--font-heading);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;line-height:1}.case-chat__turn--agent[_ngcontent-%COMP%] .case-chat__role-label[_ngcontent-%COMP%]{color:var(--color-accent-700)}.case-chat__turn--user[_ngcontent-%COMP%] .case-chat__role-label[_ngcontent-%COMP%]{color:var(--color-neutral-700)}.case-chat__bubble-wrapper[_ngcontent-%COMP%]{position:relative}.case-chat__bubble-wrapper[_ngcontent-%COMP%]:hover .case-chat__bubble-copy[_ngcontent-%COMP%]{opacity:1}.case-chat__bubble-copy[_ngcontent-%COMP%]{position:absolute;top:6px;right:6px;opacity:0;transition:opacity .15s ease;z-index:1}.case-chat__bubble[_ngcontent-%COMP%]{padding:16px 18px;font-size:16px;line-height:1.6;word-break:break-word;overflow-x:hidden;background:var(--color-neutral-100);border-left:2px solid var(--color-accent-300);color:var(--color-text)}@media(max-width:600px){.case-chat__bubble[_ngcontent-%COMP%]{font-size:14px;padding:12px 14px;width:100%;box-sizing:border-box}}.case-chat__turn--user[_ngcontent-%COMP%] .case-chat__bubble[_ngcontent-%COMP%]{background:var(--color-accent-200);color:var(--color-accent-800);border-left:none;padding:11px 15px;overflow:visible}@media(max-width:600px){.case-chat__turn--user[_ngcontent-%COMP%] .case-chat__bubble[_ngcontent-%COMP%]{padding:10px 12px}}.case-chat__tool-call[_ngcontent-%COMP%]{flex-shrink:0;align-self:flex-start;max-width:90%;border:1px solid var(--color-divider);background:transparent;font-size:12px;overflow:hidden;transition:border-color .15s ease}.case-chat__tool-call--pending[_ngcontent-%COMP%]{border-color:var(--color-warning);opacity:.8}.case-chat__tool-call--success[_ngcontent-%COMP%]{border-color:var(--color-success)}.case-chat__tool-call--error[_ngcontent-%COMP%]{border-color:var(--color-error)}.case-chat__tool-call-header[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:7px;width:100%;padding:5px 11px;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--color-accent-700);font-family:var(--font-heading);font-size:12px}.case-chat__tool-call-header[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.case-chat__tool-call-icon[_ngcontent-%COMP%]{flex-shrink:0;font-size:.75rem}.case-chat__tool-call-name[_ngcontent-%COMP%]{font-family:var(--font-heading);color:var(--color-accent-700);flex-shrink:0;font-weight:500}.case-chat__tool-call-args[_ngcontent-%COMP%]{color:var(--color-neutral-500);font-family:var(--font-heading);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-neutral-500);margin-left:auto}.case-chat__tool-call-output[_ngcontent-%COMP%]{border-top:1px solid var(--color-divider);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-divider)}.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-heading);font-size:.75rem;color:var(--color-text);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-neutral-500)}.case-chat__enrichment-section[_ngcontent-%COMP%]{background:var(--color-neutral-100)}.case-chat__enrichment-phase[_ngcontent-%COMP%]{margin-top:.35rem;border:1px solid var(--color-divider);background:var(--color-surface);overflow:hidden}.case-chat__enrichment-phase--failed[_ngcontent-%COMP%]{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error) 4%,transparent)}.case-chat__enrichment-phase-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:.2rem .5rem;background:var(--color-neutral-100);border-bottom:1px solid var(--color-divider)}.case-chat__enrichment-phase-index[_ngcontent-%COMP%]{font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-neutral-500)}.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-divider)}.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-heading);font-size:.7rem;color:var(--color-text);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-neutral-500)}.case-chat__tool-call-pending[_ngcontent-%COMP%], .case-chat__tool-call-empty[_ngcontent-%COMP%]{display:block;margin-top:.25rem;color:var(--color-neutral-500);font-style:italic;font-size:.75rem}.case-chat__log[_ngcontent-%COMP%]{flex-shrink:0;align-self:flex-start;width:fit-content;max-width:90%}.case-chat__log-summary[_ngcontent-%COMP%]{display:flex;align-items:center;gap:5px;font-family:var(--font-heading);font-size:10px;font-weight:600;color:var(--color-neutral-500);letter-spacing:.02em;cursor:pointer;outline:none;list-style:none;background:none;border:none;padding:0}.case-chat__log-summary[_ngcontent-%COMP%]::-webkit-details-marker{display:none}.case-chat__log-body[_ngcontent-%COMP%]{margin-top:4px;padding:10px 12px;font-family:var(--font-heading);font-size:11px;line-height:1.6;white-space:pre-wrap;word-break:break-word;background:var(--color-neutral-200);color:var(--color-text)}.case-chat__session-context[_ngcontent-%COMP%]{margin-bottom:6px}.case-chat__session-context-label[_ngcontent-%COMP%]{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-neutral-500);margin-bottom:3px}.case-chat__session-context-body[_ngcontent-%COMP%]{font-family:var(--font-heading);font-size:10px;color:var(--color-neutral-600);white-space:pre-wrap;word-break:break-all;margin:0;max-height:120px;overflow-y:auto}.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-heading);font-size:.85em;background:var(--color-neutral-200);padding:.1em .35em}.case-chat__message-text--markdown[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{background:var(--color-neutral-100);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-family:var(--font-heading);font-size:.8rem}.case-chat__message-text--markdown[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{margin:.4em 0;padding-left:.8em;border-left:2px solid var(--color-accent-300);color:var(--color-neutral-600)}.case-chat__message-text--markdown[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--color-accent);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__composer[_ngcontent-%COMP%]{flex-shrink:0;position:relative;background:var(--color-bg);box-shadow:var(--shadow-sm);border:1px solid var(--color-divider);display:flex;flex-direction:column}.case-chat__composer[_ngcontent-%COMP%]:focus-within{border-color:var(--color-accent)}.case-chat__autocomplete[_ngcontent-%COMP%]{position:absolute;bottom:calc(100% + .5rem);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-lg);z-index:20;animation:_ngcontent-%COMP%_autocomplete-in .12s ease}.case-chat__drop-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;z-index:30;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border:2px dashed var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,transparent);color:var(--color-accent);font-weight:600}.case-chat__input[_ngcontent-%COMP%]{flex:1;resize:none;padding:13px 16px 4px;border:none;background:transparent;color:var(--color-text);font-size:14px;font-family:var(--font-body);line-height:1.55;outline:none;min-height:52px}.case-chat__input[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-700)}.case-chat__input[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.case-chat__actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:6px 10px 10px}.case-chat__actions-hint[_ngcontent-%COMP%]{flex:1;font-size:11px;color:var(--color-neutral-700);font-family:var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:6px}.case-chat__scroll-anchor[_ngcontent-%COMP%]{position:absolute;bottom:calc(2rem + 80px);left:50%;transform:translate(-50%);z-index:10;background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-sm);animation:_ngcontent-%COMP%_scroll-anchor-in .15s ease}.case-chat__attachments[_ngcontent-%COMP%]{display:block;padding:.75rem .75rem 0}.thinking-dot[_ngcontent-%COMP%]{width:8px;height:8px;background:var(--color-neutral-500);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 Yo=["composerInput"];function Xo(i,t){i&1&&(r(0,"div",3)(1,"span",17),m(2,"upload_file"),s(),r(3,"span"),m(4,"Drop files to attach"),s()())}function Jo(i,t){if(i&1&&(r(0,"div",6),m(1),s()),i&2){let e=l();c(),G("Namespace \xB7 ",e.namespaceName()??e.namespaceId)}}function Zo(i,t){if(i&1){let e=x();r(0,"div",9)(1,"agentos-prompt-autocomplete",18),_("selected",function(o){d(e);let a=l();return p(a.onPromptSelected(o))})("dismissed",function(){d(e);let o=l();return p(o.closeAutocomplete())}),s()()}if(i&2){let e=l();c(),b("prompts",e.slashSuggestions())}}var Xe=class i{http=T(Ne);router=T(Re);route=T(de);config=T(Fe);caseState=T(me);destroyRef=T(ne);preferences=T($e);promptState=T(ze);userState=T(Me);namespaceName=f(null);exchangeState=T(Y);attachments=T(ue);composerInput;autocompleteRef;namespaceId=this.route.snapshot.queryParams.ns;inputValue=w("");isCreating=w(!1);pendingCaseId=w(null);destroyed=!1;namespaceTargeted=E(()=>Ke(this.inputValue(),this.exchangeState.canWriteNamespace()));effectivePrompts=[];promptsLoaded=!1;slashPrefix$=new Pe;slashSuggestions=w([]);ngOnInit(){this.exchangeState.initializeForNamespace(this.namespaceId),this.route.queryParams.pipe(H(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(""),this.attachments.reset(),this.pendingCaseId.set(null),this.exchangeState.initializeForNamespace(e))})}constructor(){this.destroyRef.onDestroy(()=>this.destroyed=!0),we(()=>{this.composerInput?.nativeElement.focus()}),this.slashPrefix$.pipe(be(60),xe(t=>(this.promptsLoaded?J(this.effectivePrompts):this.promptState.listEffective(this.namespaceId,this.userState.currentUser()?.id??"").pipe(te(()=>J([])))).pipe(Z(n=>({prefix:t,prompts:n})))),H(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.attachments.hasAttachments())&&!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(){return z(this,null,function*(){if(!this.canSend)return;let t=this.inputValue().trim(),e=this.namespaceId;this.isCreating.set(!0);try{let n=this.pendingCaseId();if(!n){let a=yield Te(this.http.post(`${this.config.basePath}/api/cases`,{namespaceId:e,metadata:{}}));this.caseState.addCase(a),n=a.id??"",this.pendingCaseId.set(n)}if(this.abandoned(e)){this.isCreating.set(!1);return}let o=t;if(this.attachments.hasAttachments()){this.exchangeState.initializeForCase(e,n);let a=ke(t,this.exchangeState.canWriteNamespace()),h=yield this.attachments.uploadAllAndBuildMention(a);if(h===null||this.abandoned(e)){this.isCreating.set(!1);return}o=o?`${o}
|
|
5
|
-
|
|
6
|
-
${h}`:h}if(yield Te(this.http.post(`${this.config.basePath}/api/cases/${n}/messages`,{content:o,userId:"default-user"})),this.abandoned(e)){this.isCreating.set(!1);return}this.attachments.reset(),this.inputValue.set(""),this.pendingCaseId.set(null),this.router.navigate(["/agentos/home"],{queryParams:{ns:e,case:n}})}catch(n){console.error("[CaseHome] Failed to create case or send first message",n),this.isCreating.set(!1)}})}abandoned(t){return this.destroyed||this.namespaceId!==t}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-case-home"]],viewQuery:function(e,n){if(e&1&&ae(Yo,5)(_e,5),e&2){let o;Q(o=K())&&(n.composerInput=o.first),Q(o=K())&&(n.autocompleteRef=o.first)}},inputs:{namespaceName:[1,"namespaceName"]},features:[De([ue])],decls:19,vars:12,consts:[["attachmentsUi",""],["composerInput",""],[1,"case-home",3,"dragenter","dragover","dragleave","drop"],["aria-hidden","true",1,"case-home__drop-overlay"],[1,"case-home__hero"],[1,"case-home__ns-block"],[1,"case-home__ns-label"],[1,"case-home__headline"],["dsBlueprint","",1,"case-home__composer"],[1,"case-home__autocomplete"],[1,"case-home__attachments",3,"removed","filesSelected","attachments","namespaceBadge","limitError","disabled"],["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__footer-left"],["icon","add","variant","default","title","Attach files",3,"action","disabled"],[1,"case-home__hint"],["icon","send","variant","primary","title","Start case",3,"action","disabled"],[1,"material-icons"],[3,"selected","dismissed","prompts"]],template:function(e,n){if(e&1){let o=x();r(0,"div",2),_("dragenter",function(h){return!n.isCreating()&&n.attachments.onDragEnter(h)})("dragover",function(h){return!n.isCreating()&&n.attachments.onDragOver(h)})("dragleave",function(){return n.attachments.onDragLeave()})("drop",function(h){return!n.isCreating()&&n.attachments.onDrop(h)}),u(1,Xo,5,0,"div",3),r(2,"div",4)(3,"div",5),u(4,Jo,2,1,"div",6),r(5,"h1",7),m(6,"What can I help you with?"),s()(),r(7,"div",8),u(8,Zo,2,1,"div",9),r(9,"agentos-composer-attachments",10,0),_("removed",function(h){return n.attachments.remove(h)})("filesSelected",function(h){return n.attachments.addFiles(h)}),s(),r(11,"textarea",11,1),_("input",function(h){return n.onInput(h)})("keydown",function(h){return n.onKeydown(h)}),s(),r(13,"div",12)(14,"div",13)(15,"ds-icon-button",14),_("action",function(){d(o);let h=fe(10);return p(h.openPicker())}),s(),r(16,"span",15),m(17),s()(),r(18,"ds-icon-button",16),_("action",function(){return n.submit()}),s()()()()()}e&2&&(c(),g(n.attachments.isDragOver()?1:-1),c(3),g(n.namespaceId?4:-1),c(4),g(n.slashSuggestions().length>0?8:-1),c(),b("attachments",n.attachments.attachments())("namespaceBadge",n.namespaceTargeted())("limitError",n.attachments.limitError())("disabled",n.attachments.isUploading()),c(2),b("value",n.inputValue())("disabled",n.isCreating()),c(4),b("disabled",n.isCreating()),c(2),S(n.preferences.composerHint()),c(),b("disabled",!n.canSend))},dependencies:[Se,j,_e,Ee],styles:[".case-home[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center;position:relative}.case-home__hero[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:24px;padding:0 24px;max-width:720px;width:100%}.case-home__ns-block[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:0}.case-home__ns-label[_ngcontent-%COMP%]{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-700);font-family:var(--font-heading);font-weight:600;margin-bottom:8px}.case-home__headline[_ngcontent-%COMP%]{margin:0;font-size:42px;font-weight:700;color:var(--color-text);line-height:1.1}.case-home__composer[_ngcontent-%COMP%]{position:relative;width:100%;display:flex;flex-direction:column;background:var(--color-bg);box-shadow:var(--shadow-sm);border:1px solid var(--color-divider)}.case-home__autocomplete[_ngcontent-%COMP%]{position:absolute;bottom:calc(100% + .5rem);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-lg);z-index:20;animation:autocomplete-in .12s ease}.case-home__input[_ngcontent-%COMP%]{width:100%;resize:none;padding:13px 16px 4px;border:none;background:transparent;color:var(--color-text);font-size:14px;line-height:1.55;outline:none;box-sizing:border-box}.case-home__input[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-500)}.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;gap:10px;padding:6px 10px 10px}.case-home__attach-btn[_ngcontent-%COMP%]{appearance:none;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-divider);background:transparent;color:var(--color-neutral-600);cursor:not-allowed;opacity:.5;flex-shrink:0;justify-content:space-between;padding:.5rem}.case-home__footer-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.case-home__attachments[_ngcontent-%COMP%]{display:block;padding:.75rem .75rem 0}.case-home__drop-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;z-index:30;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border:2px dashed var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,transparent);color:var(--color-accent);font-weight:600}.case-home__hint[_ngcontent-%COMP%]{font-size:12px;color:var(--color-neutral-500)}.case-home__spacer[_ngcontent-%COMP%]{flex:1}"]})};var Je=class i{case;static toListItem(t){return{id:t.id??"",name:t.title??t.id??"\u2014",description:void 0,favorite:t.favorite,canDelete:t.role==="ADMIN"}}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-case-item"]],inputs:{case:"case"},decls:0,vars:0,template:function(e,n){},encapsulation:2,changeDetection:0})};var ei=["caseRowTpl"],ti=i=>({node:i,depth:0}),ni=(i,t)=>({node:i,depth:t}),rt=(i,t)=>t.id;function oi(i,t){if(i&1&&y(0,"div",4),i&2){let e=l().$implicit;$("title",e.groupLabel??"")}}function ii(i,t){if(i&1){let e=x();u(0,oi,1,1,"div",4),r(1,"button",5),_("click",function(){let o=d(e).$implicit,a=l(2);return p(a.onItemSelected(o.id))})("mouseenter",function(o){let a=d(e).$implicit,h=l(2);return p(h.onCompactBadgeEnter(o,a))})("mouseleave",function(o){d(e);let a=l(2);return p(a.onCompactBadgeLeave(o))}),y(2,"agentos-case-status-glyph",6),s()}if(i&2){let e=t.$implicit,n=l(2);g(e.isFirstInCompactGroup&&e.groupKey?0:-1),c(),O("case-drawer-compact__badge--active",e.id===n.activeCaseId())("case-drawer-compact__badge--running",e.status===n.Status.RUNNING)("case-drawer-compact__badge--error",e.status===n.Status.ERROR)("case-drawer-compact__badge--pending",e.status===n.Status.PENDING)("case-drawer-compact__badge--killed",e.status===n.Status.KILLED),$("aria-label",e.name+" \u2014 "+e.status),c(),b("status",e.status)("size",16)}}function ai(i,t){if(i&1){let e=x();r(0,"button",15),_("click",function(){d(e);let o=l(2),a=l(2);return p(a.compactConfirmingDeleteId.set(o.id))}),k(),r(1,"svg",16),y(2,"path",17)(3,"line",18)(4,"line",19),s()()}}function ri(i,t){if(i&1){let e=x();r(0,"button",11),_("click",function(){d(e);let o=l(),a=l(2);return p(a.onStarToggled(o))}),k(),r(1,"svg",12),y(2,"path",13),s()(),u(3,ai,5,0,"button",14)}if(i&2){let e=l();O("case-drawer-compact__tooltip-btn--active",e.favorite),b("title",e.favorite?"Remove from favorites":"Add to favorites"),c(),$("fill",e.favorite?"currentColor":"none"),c(2),g(e.canDelete?3:-1)}}function si(i,t){if(i&1){let e=x();r(0,"button",20),_("click",function(){d(e);let o=l(),a=l(2);return a.onDeleteRequested(o.id),a.compactConfirmingDeleteId.set(null),p(a.hoveredCompactItem.set(null))}),k(),r(1,"svg",21),y(2,"path",22),s(),m(3," Delete "),s(),q(),r(4,"button",23),_("click",function(){d(e);let o=l(3);return p(o.compactConfirmingDeleteId.set(null))}),k(),r(5,"svg",24),y(6,"path",25)(7,"path",26),s()()}}function li(i,t){if(i&1){let e=x();r(0,"div",7),_("mouseleave",function(o){d(e);let a=l(2);return p(a.onTooltipLeave(o))})("mouseenter",function(){d(e);let o=l(2);return p(o.onTooltipEnter())}),r(1,"span",8),m(2),s(),r(3,"span",9),m(4),s(),r(5,"span",10),u(6,ri,4,5)(7,si,8,0),s()()}if(i&2){let e=t,n=l(2);le("top",n.tooltipPos().top,"px")("left",n.tooltipPos().left,"px"),c(2),S(e.name),c(),O("case-drawer-compact__tooltip-status--running",e.status===n.Status.RUNNING)("case-drawer-compact__tooltip-status--error",e.status===n.Status.ERROR)("case-drawer-compact__tooltip-status--pending",e.status===n.Status.PENDING)("case-drawer-compact__tooltip-status--killed",e.status===n.Status.KILLED),c(),S(e.status.toLowerCase()),c(2),g(n.compactConfirmingDeleteId()!==e.id?6:7)}}function ci(i,t){if(i&1&&(r(0,"div",2),V(1,ii,3,14,null,null,rt),s(),u(3,li,8,15,"div",3)),i&2){let e,n=l();c(),N(n.compactItems()),c(2),g((e=n.hoveredCompactItem())?3:-1,e)}}function di(i,t){i&1&&(r(0,"p",27),m(1,"No cases yet. Start one with the + button above."),s())}function pi(i,t){if(i&1&&(r(0,"div",28),m(1),s()),i&2){let e=l().$implicit;c(),S(e.groupLabel)}}function mi(i,t){if(i&1&&(u(0,pi,2,1,"div",28),it(1,29)),i&2){let e=t.$implicit,n=l(3),o=fe(3);g(n.isFirstInGroup(e,n.displayItems())?0:-1),c(),b("ngTemplateOutlet",o)("ngTemplateOutletContext",wt(3,ti,e))}}function _i(i,t){if(i&1&&V(0,mi,2,5,null,null,rt),i&2){let e=l(2);N(e.displayItems())}}function ui(i,t){if(i&1&&(r(0,"div",1),u(1,di,2,0,"p",27)(2,_i,2,0),s()),i&2){let e=l();c(),g(e.displayItems().length===0?1:2)}}function gi(i,t){if(i&1){let e=x();r(0,"button",37),_("click",function(o){d(e);let a=l().node,h=l();return p(h.toggleExpand(o,a.id))}),k(),r(1,"svg",38),y(2,"path",39),s()()}if(i&2){let e=l().node,n=l();b("title",n.isExpanded(e.id)?"Collapse":"Expand"),c(),le("transform",n.isExpanded(e.id)?"rotate(90deg)":"rotate(0)")}}function hi(i,t){if(i&1&&y(0,"agentos-case-status-glyph",6),i&2){let e=l().node;b("status",e.status)("size",15)}}function fi(i,t){if(i&1){let e=x();r(0,"button",43),_("click",function(o){d(e);let a=l(2).node;return l().expandedConfirmingDeleteId.set(a.id),p(o.stopPropagation())}),k(),r(1,"svg",44),y(2,"path",17)(3,"line",18)(4,"line",19),s()()}}function Ci(i,t){if(i&1){let e=x();r(0,"button",40),_("click",function(o){d(e);let a=l().node;return l().onStarToggled(a),p(o.stopPropagation())}),k(),r(1,"svg",41),y(2,"path",13),s()(),u(3,fi,5,0,"button",42)}if(i&2){let e=l().node;O("case-tree-node__action-btn--active",e.favorite),b("title",e.favorite?"Remove from favorites":"Add to favorites"),c(),$("fill",e.favorite?"currentColor":"none"),c(2),g(e.canDelete?3:-1)}}function bi(i,t){if(i&1){let e=x();r(0,"button",45),_("click",function(o){d(e);let a=l().node,h=l();return h.onDeleteRequested(a.id),h.expandedConfirmingDeleteId.set(null),p(o.stopPropagation())}),k(),r(1,"svg",21),y(2,"path",22),s(),m(3," Delete "),s(),q(),r(4,"button",46),_("click",function(o){return d(e),l(2).expandedConfirmingDeleteId.set(null),p(o.stopPropagation())}),k(),r(5,"svg",24),y(6,"path",25)(7,"path",26),s()()}}function xi(i,t){if(i&1&&it(0,29),i&2){let e=t.$implicit,n=l(2).depth;l();let o=fe(3);b("ngTemplateOutlet",o)("ngTemplateOutletContext",yt(2,ni,e,n+1))}}function vi(i,t){if(i&1&&V(0,xi,1,5,"ng-container",29,rt),i&2){let e=l().node;N(e.children)}}function wi(i,t){if(i&1){let e=x();r(0,"div",30)(1,"div",31),u(2,gi,3,3,"button",32)(3,hi,1,2,"agentos-case-status-glyph",6),r(4,"button",33),_("click",function(){let o=d(e).node,a=l();return p(a.onItemSelected(o.id))}),r(5,"span",34),m(6),s()(),r(7,"span",35),m(8),s(),r(9,"span",36),u(10,Ci,4,5)(11,bi,8,0),s()(),u(12,vi,2,0),s()}if(i&2){let e=t.node,n=t.depth,o=l();le("--depth",n),c(),O("case-tree-node__row--active",e.id===o.activeCaseId()),c(),g(e.children!=null&&e.children.length?2:3),c(4),S(e.name),c(),O("case-tree-node__status-label--running",e.status===o.Status.RUNNING)("case-tree-node__status-label--error",e.status===o.Status.ERROR)("case-tree-node__status-label--pending",e.status===o.Status.PENDING)("case-tree-node__status-label--killed",e.status===o.Status.KILLED),c(),S(e.status.toLowerCase()),c(2),g(o.expandedConfirmingDeleteId()!==e.id?10:11),c(2),g(o.isExpanded(e.id)&&(e.children!=null&&e.children.length)?12:-1)}}var Ze=class i{cases=f([]);activeCaseId=f(null);compact=f(!1);filterQuery=f("");caseSelected=v();createRequested=v();deleteRequested=v();starToggled=v();caseRowTpl;searchQuery=w("");activeQuery=E(()=>this.filterQuery().trim()||this.searchQuery().trim());isSearchActive=E(()=>this.activeQuery().length>0);rootItems=E(()=>{let t=this.cases(),e=new Map(t.map(n=>[n.id??"",n.modified??n.created??""]));return Mi(Si(t),e)});compactItems=E(()=>(this.isSearchActive()?this.flatFilteredItems():this.rootItems()).map((e,n,o)=>X(U({},e),{initials:yi(e.name),isFirstInCompactGroup:n===0||e.groupKey!==o[n-1]?.groupKey})));flatFilteredItems=E(()=>{let t=this.activeQuery().toLowerCase();return t?nn(this.rootItems(),t):[]});displayItems=E(()=>this.isSearchActive()?this.flatFilteredItems():this.rootItems());autoExpandedIds=E(()=>{let t=this.activeCaseId();if(!t)return new Set;let e=new Set;return on(this.rootItems(),t,e),e});hoveredCompactItem=w(null);tooltipPos=w({top:0,left:0});compactConfirmingDeleteId=w(null);expandedConfirmingDeleteId=w(null);onCompactBadgeEnter(t,e){let n=t.currentTarget.getBoundingClientRect();this.tooltipPos.set({top:n.top+n.height/2,left:n.right+8}),this.hoveredCompactItem.set(e),this.compactConfirmingDeleteId()!==e.id&&this.compactConfirmingDeleteId.set(null)}onCompactBadgeLeave(t){t.relatedTarget?.closest(".case-drawer-compact__tooltip-fixed")||setTimeout(()=>{this._mouseOnTooltip||this.hoveredCompactItem.set(null)},80)}onTooltipLeave(t){this._mouseOnTooltip=!1,!t.relatedTarget?.closest(".case-drawer-compact__badge")&&this.hoveredCompactItem.set(null)}onTooltipEnter(){this._mouseOnTooltip=!0}_mouseOnTooltip=!1;expandOverrides=w(new Map);isExpanded(t){return this.expandOverrides().get(t)??this.autoExpandedIds().has(t)}toggleExpand(t,e){t.stopPropagation();let n=!this.isExpanded(e);this.expandOverrides.update(o=>{let a=new Map(o);return a.set(e,n),a})}onSearchChanged(t){this.searchQuery.set(t)}isFirstInGroup(t,e){let n=e.indexOf(t);return n===0?!!t.groupKey:t.groupKey!==e[n-1]?.groupKey}onItemSelected(t){this.caseSelected.emit(t)}onCreateRequested(){this.createRequested.emit()}onDeleteRequested(t){this.deleteRequested.emit(t)}menuItemsFor(t){let e=[{key:"star",label:t.favorite?"Remove from favorites":"Add to favorites"}];return t.canDelete&&e.push({key:"delete",label:"Delete",variant:"danger"}),e}onMenuAction(t,e){e==="star"&&this.onStarToggled(t),e==="delete"&&this.onDeleteRequested(t.id)}onStarToggled(t){this.starToggled.emit({id:t.id,starred:!t.favorite})}Status=Ae;static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-case-drawer"]],viewQuery:function(e,n){if(e&1&&ae(ei,7),e&2){let o;Q(o=K())&&(n.caseRowTpl=o.first)}},inputs:{cases:[1,"cases"],activeCaseId:[1,"activeCaseId"],compact:[1,"compact"],filterQuery:[1,"filterQuery"]},outputs:{caseSelected:"caseSelected",createRequested:"createRequested",deleteRequested:"deleteRequested",starToggled:"starToggled"},decls:4,vars:1,consts:[["caseRowTpl",""],[1,"case-drawer-list"],[1,"case-drawer-compact"],["role","tooltip",1,"case-drawer-compact__tooltip-fixed",3,"top","left"],["aria-hidden","true",1,"case-drawer-compact__group-sep"],["type","button",1,"case-drawer-compact__badge",3,"click","mouseenter","mouseleave"],[3,"status","size"],["role","tooltip",1,"case-drawer-compact__tooltip-fixed",3,"mouseleave","mouseenter"],[1,"case-drawer-compact__tooltip-name"],[1,"case-drawer-compact__tooltip-status"],[1,"case-drawer-compact__tooltip-actions"],["type","button",1,"case-drawer-compact__tooltip-btn",3,"click","title"],["width","13","height","13","viewBox","0 0 24 24","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true"],["d","M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"],["type","button","title","Delete case",1,"case-drawer-compact__tooltip-btn","case-drawer-compact__tooltip-btn--danger"],["type","button","title","Delete case",1,"case-drawer-compact__tooltip-btn","case-drawer-compact__tooltip-btn--danger",3,"click"],["width","13","height","13","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true"],["d","M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"],["x1","10","x2","10","y1","11","y2","17"],["x1","14","x2","14","y1","11","y2","17"],["type","button","title","Confirm delete",1,"case-drawer-compact__tooltip-confirm-yes",3,"click"],["width","12","height","12","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true"],["d","M20 6 9 17l-5-5"],["type","button","title","Cancel",1,"case-drawer-compact__tooltip-btn",3,"click"],["width","13","height","13","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","aria-hidden","true"],["d","M18 6 6 18"],["d","m6 6 12 12"],[1,"case-drawer-list__empty"],[1,"case-drawer-list__group-label"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"case-tree-node"],[1,"case-tree-node__row"],["type","button",1,"case-tree-node__toggle",3,"title"],["type","button",1,"case-tree-node__select",3,"click"],[1,"case-tree-node__name"],["aria-hidden","true",1,"case-tree-node__status-label"],[1,"case-tree-node__actions"],["type","button",1,"case-tree-node__toggle",3,"click","title"],["width","10","height","10","viewBox","0 0 10 10","fill","none","aria-hidden","true",2,"transition","transform 0.15s ease"],["d","M3 1.5l4 3.5-4 3.5","stroke","currentColor","stroke-width","1.4","stroke-linecap","round","stroke-linejoin","round"],["type","button",1,"case-tree-node__action-btn",3,"click","title"],["width","14","height","14","viewBox","0 0 24 24","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true"],["type","button","title","Delete case",1,"case-tree-node__action-btn","case-tree-node__action-btn--danger"],["type","button","title","Delete case",1,"case-tree-node__action-btn","case-tree-node__action-btn--danger",3,"click"],["width","14","height","14","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true"],["type","button","title","Confirm delete",1,"case-tree-node__action-btn","case-tree-node__action-btn--confirm-yes",3,"click"],["type","button","title","Cancel",1,"case-tree-node__action-btn",3,"click"]],template:function(e,n){e&1&&(u(0,ci,4,1)(1,ui,3,1,"div",1),ut(2,wi,13,17,"ng-template",null,0,St)),e&2&&g(n.compact()?0:1)},dependencies:[Mt,pe],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}[_nghost-%COMP%]::-webkit-scrollbar{width:4px}[_nghost-%COMP%]::-webkit-scrollbar-thumb{background:var(--color-divider)}.case-drawer-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:4px 0 12px}.case-drawer-list__group-label[_ngcontent-%COMP%]{padding:12px 22px 4px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral-700);font-family:var(--font-heading);font-weight:600}.case-drawer-list__empty[_ngcontent-%COMP%]{padding:24px 20px;font-size:15px;color:var(--color-neutral-500);text-align:center;margin:0}.case-drawer-compact[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:7px;padding:2px 0;overflow-y:auto}.case-drawer-compact__item[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center}.case-drawer-compact__item[_ngcontent-%COMP%]:hover .case-drawer-compact__tooltip[_ngcontent-%COMP%], .case-drawer-compact__item[_ngcontent-%COMP%]:focus-within .case-drawer-compact__tooltip[_ngcontent-%COMP%]{opacity:1;pointer-events:auto;transform:translate(0)}.case-drawer-compact__badge[_ngcontent-%COMP%]{appearance:none;border:none;margin:0;font:inherit;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:32px;height:32px;flex:none;display:grid;place-items:center;padding:0;border:1px solid var(--color-divider);background:transparent;color:var(--color-neutral-600);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.case-drawer-compact__badge[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--color-text) 6%,transparent);border-color:var(--color-accent-300);color:var(--color-accent-700)}.case-drawer-compact__badge--active[_ngcontent-%COMP%]{background:var(--color-accent-100);border-color:var(--color-accent-300);color:var(--color-accent-700)}.case-drawer-compact__badge--active[_ngcontent-%COMP%]:hover{background:var(--color-accent-200)}.case-drawer-compact__group-sep[_ngcontent-%COMP%]{width:20px;height:1px;background:var(--color-divider);flex-shrink:0;margin:2px 0}.case-drawer-compact__tooltip-fixed[_ngcontent-%COMP%]{position:fixed;z-index:500;transform:translateY(-50%);display:flex;align-items:center;gap:6px;padding:5px 8px 5px 18px;margin-left:-10px;background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-lg);white-space:nowrap;pointer-events:auto;animation:_ngcontent-%COMP%_tooltip-in 80ms ease}.case-drawer-compact__tooltip-fixed[_ngcontent-%COMP%]:before{content:"";position:absolute;left:-10px;top:0;bottom:0;width:10px}.case-drawer-compact__tooltip-name[_ngcontent-%COMP%]{font-size:14px;font-weight:500;color:var(--color-text);max-width:200px;overflow:hidden;text-overflow:ellipsis}.case-drawer-compact__tooltip-status[_ngcontent-%COMP%]{font-size:9px;font-family:var(--font-heading);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-500);border:1px solid currentColor;padding:1px 5px}.case-drawer-compact__tooltip-status--running[_ngcontent-%COMP%]{color:var(--color-accent-700)}.case-drawer-compact__tooltip-status--error[_ngcontent-%COMP%]{color:var(--red-deep)}.case-drawer-compact__tooltip-status--pending[_ngcontent-%COMP%]{color:var(--status-pending-text)}.case-drawer-compact__tooltip-status--killed[_ngcontent-%COMP%]{color:var(--status-killed-text)}.case-drawer-compact__tooltip-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px;margin-left:2px;padding-left:6px;border-left:1px solid var(--color-divider)}.case-drawer-compact__tooltip-btn[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-neutral-500);transition:color .12s,background .12s}.case-drawer-compact__tooltip-btn[_ngcontent-%COMP%]:hover{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.case-drawer-compact__tooltip-btn--active[_ngcontent-%COMP%]{color:var(--color-accent)}.case-drawer-compact__tooltip-btn--active[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{fill:currentColor}.case-drawer-compact__tooltip-btn--danger[_ngcontent-%COMP%]:hover{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.case-drawer-compact__tooltip-btn--confirm-yes[_ngcontent-%COMP%]{width:auto;padding:0 8px;gap:4px;font-family:var(--font-heading);font-weight:600;font-size:11px;color:#fff;background:var(--red)}.case-drawer-compact__tooltip-btn--confirm-yes[_ngcontent-%COMP%]:hover{background:var(--red-deep);color:#fff}.case-drawer-compact__tooltip-confirm-yes[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;margin:0;font:inherit;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border:1px solid var(--red);background:var(--red);color:#fff;font-family:var(--font-heading);font-weight:600;font-size:11px;cursor:pointer;transition:background .14s,border-color .14s}.case-drawer-compact__tooltip-confirm-yes[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{font-size:16px;line-height:1}.case-drawer-compact__tooltip-confirm-yes[_ngcontent-%COMP%]:hover{background:var(--red-deep);border-color:var(--red-deep)}@keyframes _ngcontent-%COMP%_tooltip-in{0%{opacity:0;transform:translateY(-50%) translate(-4px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.case-tree-node[_ngcontent-%COMP%]{width:100%}.case-tree-node__row[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;margin:1px 8px;width:calc(100% - 16px);padding:8px 9px;padding-left:calc(9px + var(--depth, 0) * 1.25rem);gap:9px;color:var(--color-text);border:1px solid transparent;background:transparent;cursor:pointer;border-radius:0;transition:background .1s,border-color .1s,color .1s;box-sizing:border-box}.case-tree-node__row[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.case-tree-node__row--active[_ngcontent-%COMP%]{background:var(--color-accent-100);border-color:var(--color-accent-200);color:var(--color-accent-900)}.case-tree-node__row--active[_ngcontent-%COMP%]:hover{background:var(--color-accent-200)}.case-tree-node__row--active[_ngcontent-%COMP%] .case-tree-node__name[_ngcontent-%COMP%]{color:var(--color-accent-900)}.case-tree-node__toggle[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex:none;width:20px;height:20px;display:grid;place-items:center;color:var(--color-neutral-500)}.case-tree-node__toggle[_ngcontent-%COMP%]:hover{color:var(--color-text)}.case-tree-node__select[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex:1;min-width:0;display:flex;align-items:center;color:inherit}.case-tree-node__name[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:400}.case-tree-node__status-label[_ngcontent-%COMP%]{display:inline-flex;align-items:center;border:1px solid currentColor;font-size:9.5px;font-family:var(--font-heading);font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;padding:1px 6px;color:var(--status-idle-text)}.case-tree-node__status-label--running[_ngcontent-%COMP%]{color:var(--color-accent-700)}.case-tree-node__status-label--error[_ngcontent-%COMP%]{color:var(--red-deep)}.case-tree-node__status-label--pending[_ngcontent-%COMP%]{color:var(--status-pending-text)}.case-tree-node__status-label--killed[_ngcontent-%COMP%]{color:var(--status-killed-text)}.case-tree-node__status-label[_ngcontent-%COMP%]{flex:none;transition:opacity .12s}.case-tree-node__row[_ngcontent-%COMP%]:hover .case-tree-node__status-label[_ngcontent-%COMP%], .case-tree-node__row[_ngcontent-%COMP%]:focus-within .case-tree-node__status-label[_ngcontent-%COMP%], .case-tree-node__row--active[_ngcontent-%COMP%] .case-tree-node__status-label[_ngcontent-%COMP%]{opacity:0;pointer-events:none}.case-tree-node__actions[_ngcontent-%COMP%]{flex:none;display:flex;align-items:center;gap:1px;opacity:0;pointer-events:none;transition:opacity .12s;position:absolute;right:9px}.case-tree-node__row[_ngcontent-%COMP%]:hover .case-tree-node__actions[_ngcontent-%COMP%], .case-tree-node__row[_ngcontent-%COMP%]:focus-within .case-tree-node__actions[_ngcontent-%COMP%], .case-tree-node__row--active[_ngcontent-%COMP%] .case-tree-node__actions[_ngcontent-%COMP%]{opacity:1;pointer-events:auto}.case-tree-node__action-btn[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-neutral-500);transition:color .12s,background .12s}.case-tree-node__action-btn[_ngcontent-%COMP%]:hover{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.case-tree-node__action-btn--active[_ngcontent-%COMP%]{color:var(--color-accent)}.case-tree-node__action-btn--active[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{fill:currentColor}.case-tree-node__action-btn--danger[_ngcontent-%COMP%]:hover{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.case-tree-node__action-btn--confirm-yes[_ngcontent-%COMP%]{width:auto;padding:0 8px;gap:4px;font-family:var(--font-heading);font-weight:600;font-size:11px;color:#fff;background:var(--red)}.case-tree-node__action-btn--confirm-yes[_ngcontent-%COMP%]:hover{background:var(--red-deep);color:#fff}'],changeDetection:0})};function yi(i){let t=i.trim().split(/\s+/).filter(Boolean),e=t[0]?.[0]??"",n=t[1]?.[0]??t[0]?.[1]??"";return(e+n).toUpperCase()}function Si(i){let t=new Set(i.map(M=>M.id??"")),e=new Map(i.map(M=>[M.id??"",M.modified??M.created??""])),n=M=>X(U({},Je.toListItem(M)),{description:M.id??"",status:M.status??"IDLE",children:[]}),o=new Map;for(let M of i)o.set(M.id??"",n(M));let a=[];for(let M of i){let C=o.get(M.id??""),D=M.parentCaseId;D&&t.has(D)?o.get(D).children.push(C):a.push(C)}let h=M=>M.sort((C,D)=>(e.get(D.id)??"")>(e.get(C.id)??"")?1:-1).map(C=>X(U({},C),{children:h(C.children)}));return h(a)}function Mi(i,t){let e=[],n=[];for(let C of i){let D=tn(C,e);D&&n.push(D)}for(let C of e)C.groupKey="favorites",C.groupLabel="Favorites";let o=new Date,a=new Date(o.getFullYear(),o.getMonth(),o.getDate()),h=new Date(a.getTime()-864e5),M=new Date(a.getTime()-6*864e5);for(let C of n){let D=t.get(C.id)??"",P=D?new Date(D):null;P&&P>=a?(C.groupKey="today",C.groupLabel="Today"):P&&P>=h?(C.groupKey="yesterday",C.groupLabel="Yesterday"):P&&P>=M?(C.groupKey="week",C.groupLabel="Previous 7 days"):(C.groupKey="older",C.groupLabel="Older")}return[...e,...n]}function tn(i,t){if(i.favorite)return t.push(U({},i)),null;let e=[];for(let n of i.children){let o=tn(n,t);o&&e.push(o)}return X(U({},i),{children:e})}function nn(i,t){return i.reduce((e,n)=>((n.name.toLowerCase().includes(t)||n.id.toLowerCase().includes(t))&&e.push(n),n.children.length&&e.push(...nn(n.children,t)),e),[])}function on(i,t,e){for(let n of i){if(n.id===t)return!0;if(n.children.length&&on(n.children,t,e))return e.add(n.id),!0}return!1}var Ei=["compactSearchInput"],an=(i,t)=>t.id;function Ti(i,t){i&1&&(k(),r(0,"svg",35),y(1,"path",36),s())}function ki(i,t){if(i&1){let e=x();r(0,"button",32),_("click",function(){let o=d(e).$implicit,a=l(3);return p(a.namespaceSelected.emit(o))}),r(1,"span",33),m(2),s(),r(3,"span",34),m(4),s(),u(5,Ti,2,0,":svg:svg",35),s()}if(i&2){let e,n,o=t.$implicit,a=l(3);O("shell-sidebar__ns-item--active",o.id===((e=a.selectedNamespace())==null?null:e.id)),c(2),S(a.nsInitial(o.name)),c(2),S(o.name),c(),g(o.id===((n=a.selectedNamespace())==null?null:n.id)?5:-1)}}function Pi(i,t){if(i&1&&(r(0,"div",13),V(1,ki,6,5,"button",31,an),s()),i&2){let e=l(2);c(),N(e.namespaces())}}function Oi(i,t){if(i&1){let e=x();r(0,"div",2)(1,"div",3)(2,"button",4),_("click",function(){d(e);let o=l();return p(o.homeClicked.emit())}),y(3,"img",5),s(),r(4,"div",6)(5,"div",7)(6,"button",8),_("click",function(){d(e);let o=l();return p(o.nsMenuToggled.emit())}),r(7,"span",9),m(8),s(),r(9,"span",10),m(10),s(),k(),r(11,"svg",11),y(12,"path",12),s()(),u(13,Pi,3,0,"div",13),s()()(),q(),r(14,"div",14)(15,"button",15),_("click",function(){d(e);let o=l();return p(o.createRequested.emit())}),k(),r(16,"svg",16),y(17,"path",17),s(),m(18," New case "),s(),q(),r(19,"input",18),_("input",function(o){d(e);let a=l();return p(a.caseFilter.set(o.target.value))}),s()()(),r(20,"div",19)(21,"agentos-case-drawer",20),_("caseSelected",function(o){d(e);let a=l();return p(a.caseSelected.emit(o))})("createRequested",function(){d(e);let o=l();return p(o.createRequested.emit())})("deleteRequested",function(o){d(e);let a=l();return p(a.deleteRequested.emit(o))})("starToggled",function(o){d(e);let a=l();return p(a.starToggled.emit(o))}),s()(),r(22,"div",21)(23,"div",22)(24,"button",23),_("click",function(o){d(e);let a=l();return p(a.menuToggled.emit(o))}),r(25,"span",24),m(26),s(),r(27,"span",25)(28,"span",26),m(29),s()(),k(),r(30,"svg",16),y(31,"path",27),s()(),q(),r(32,"agentos-shell-user-menu",28),_("navigateTo",function(o){d(e);let a=l();return p(a.navigateTo.emit(o))})("themeToggled",function(){d(e);let o=l();return p(o.themeToggled.emit())})("themeVariantChanged",function(o){d(e);let a=l();return p(a.themeVariantChanged.emit(o))})("logsToggled",function(){d(e);let o=l();return p(o.logsToggled.emit())})("closed",function(o){d(e);let a=l();return p(a.menuClosed.emit(o))}),s()(),r(33,"button",29),_("click",function(){d(e);let o=l();return p(o.toggleCompact())}),k(),r(34,"svg",16),y(35,"path",30),s()()()}if(i&2){let e,n,o=l();O("shell-sidebar__top--wide",o.effectiveWidth()>=400),c(6),O("shell-sidebar__ns-trigger--open",o.nsMenuOpen()),c(2),S(o.nsInitial((e=o.selectedNamespace())==null?null:e.name)),c(2),S(((n=o.selectedNamespace())==null?null:n.name)??"Select namespace"),c(3),g(o.nsMenuOpen()?13:-1),c(),O("shell-sidebar__bottom-row--wide",o.effectiveWidth()>=400),c(5),b("value",o.caseFilter()),c(2),b("cases",o.cases())("activeCaseId",o.activeCaseId())("compact",!1)("filterQuery",o.caseFilter()),c(5),S(o.userInitials()||"??"),c(3),S(o.userName()),c(3),b("open",o.menuOpen())("isAdmin",o.isAdmin())("isDark",o.isDark())("themeVariant",o.themeVariant())("showTechnical",o.showTechnical())}}function Di(i,t){i&1&&(k(),r(0,"svg",35),y(1,"path",36),s())}function Ii(i,t){if(i&1){let e=x();r(0,"button",32),_("click",function(){let o=d(e).$implicit,a=l(4);return p(a.onCompactNsSelected(o))}),r(1,"span",33),m(2),s(),r(3,"span",34),m(4),s(),u(5,Di,2,0,":svg:svg",35),s()}if(i&2){let e,n,o=t.$implicit,a=l(4);O("shell-sidebar__ns-item--active",o.id===((e=a.selectedNamespace())==null?null:e.id)),c(2),S(a.nsInitial(o.name)),c(2),S(o.name),c(),g(o.id===((n=a.selectedNamespace())==null?null:n.id)?5:-1)}}function Vi(i,t){if(i&1){let e=x();r(0,"div",51),_("click",function(){d(e);let o=l(3);return p(o.closeCompactNsMenu())})("keyup.escape",function(){d(e);let o=l(3);return p(o.closeCompactNsMenu())}),s(),r(1,"div",52),V(2,Ii,6,5,"button",31,an),s()}if(i&2){let e=l(3);c(),le("top",e.compactNsMenuTop(),"px")("left",e.compactNsMenuLeft(),"px"),c(),N(e.namespaces())}}function Ni(i,t){if(i&1){let e=x();r(0,"button",50),_("click",function(o){d(e);let a=l(2);return p(a.onCompactNsBtnClick(o))}),m(1),s(),u(2,Vi,4,4)}if(i&2){let e,n,o=l(2);O("shell-sidebar__compact-ns-btn--open",o.compactNsMenuOpen()),b("title",((e=o.selectedNamespace())==null?null:e.name)??"Select namespace"),c(),G(" ",o.nsInitial((n=o.selectedNamespace())==null?null:n.name)," "),c(),g(o.compactNsMenuOpen()?2:-1)}}function Ri(i,t){if(i&1){let e=x();r(0,"button",56),_("click",function(){d(e);let o=l(3);return p(o.clearCompactSearch())}),k(),r(1,"svg",35),y(2,"path",57),s()()}}function Fi(i,t){if(i&1){let e=x();r(0,"div",51),_("click",function(){d(e);let o=l(2);return p(o.closeCompactSearch())})("keyup.escape",function(){d(e);let o=l(2);return p(o.closeCompactSearch())}),s(),r(1,"div",53)(2,"input",54,0),_("input",function(o){d(e);let a=l(2);return p(a.onCompactSearchInput(o.target.value))})("keyup.escape",function(){d(e);let o=l(2);return p(o.closeCompactSearch())}),s(),u(4,Ri,3,0,"button",55),s()}if(i&2){let e=l(2);c(),le("top",e.compactSearchTop(),"px")("left",e.compactSearchLeft(),"px"),c(),b("value",e.caseFilter()),c(2),g(e.caseFilter()?4:-1)}}function Ai(i,t){if(i&1){let e=x();r(0,"button",37),_("click",function(){d(e);let o=l();return p(o.homeClicked.emit())}),y(1,"img",38),s(),u(2,Ni,3,5),r(3,"button",39),_("click",function(){d(e);let o=l();return p(o.createRequested.emit())}),k(),r(4,"svg",40),y(5,"path",17),s()(),q(),r(6,"button",41),_("click",function(o){d(e);let a=l();return p(a.onCompactSearchBtnClick(o))}),k(),r(7,"svg",42),y(8,"circle",43)(9,"path",44),s()(),u(10,Fi,5,6),q(),y(11,"div",45),r(12,"div",19)(13,"agentos-case-drawer",20),_("caseSelected",function(o){d(e);let a=l();return p(a.caseSelected.emit(o))})("createRequested",function(){d(e);let o=l();return p(o.createRequested.emit())})("deleteRequested",function(o){d(e);let a=l();return p(a.deleteRequested.emit(o))})("starToggled",function(o){d(e);let a=l();return p(a.starToggled.emit(o))}),s()(),r(14,"button",46),_("click",function(o){d(e);let a=l();return p(a.onCompactUserBtnClick(o))}),m(15),s(),r(16,"agentos-shell-user-menu",47),_("navigateTo",function(o){d(e);let a=l();return p(a.navigateTo.emit(o))})("themeToggled",function(){d(e);let o=l();return p(o.themeToggled.emit())})("themeVariantChanged",function(o){d(e);let a=l();return p(a.themeVariantChanged.emit(o))})("logsToggled",function(){d(e);let o=l();return p(o.logsToggled.emit())})("closed",function(o){d(e);let a=l();return p(a.menuClosed.emit(o))}),s(),r(17,"button",48),_("click",function(){d(e);let o=l();return p(o.toggleCompact())}),k(),r(18,"svg",16),y(19,"path",49),s()()}if(i&2){let e=l();c(2),g(e.showNsPicker()?2:-1),c(4),O("shell-sidebar__compact-search-btn--active",e.compactSearchOpen()||e.caseFilter()),c(4),g(e.compactSearchOpen()?10:-1),c(3),b("cases",e.cases())("activeCaseId",e.activeCaseId())("compact",!0)("filterQuery",e.caseFilter()),c(2),G(" ",e.userInitials()||"?"," "),c(),b("open",e.menuOpen())("isAdmin",e.isAdmin())("isDark",e.isDark())("themeVariant",e.themeVariant())("showTechnical",e.showTechnical())("fixedTop",e.compactMenuTop())("fixedLeft",e.compactMenuLeft())}}var et=class i{brandHovered=!1;static COMPACT_WIDTH=64;isCompact=w(!1);caseFilter=w("");compactMenuTop=w(0);compactMenuLeft=w(0);compactSearchOpen=w(!1);compactSearchTop=w(0);compactSearchLeft=w(0);compactNsMenuOpen=w(!1);compactNsMenuTop=w(0);compactNsMenuLeft=w(0);compactSearchInputRef=ce("compactSearchInput");onCompactSearchBtnClick(t){let e=t.currentTarget.getBoundingClientRect();this.compactSearchTop.set(e.top),this.compactSearchLeft.set(e.right+8),this.compactSearchOpen.update(n=>!n),this.compactSearchOpen()&&setTimeout(()=>this.compactSearchInputRef()?.nativeElement.focus(),0)}onCompactSearchInput(t){this.caseFilter.set(t)}closeCompactSearch(){this.compactSearchOpen.set(!1)}clearCompactSearch(){this.caseFilter.set(""),this.compactSearchOpen.set(!1)}onCompactNsBtnClick(t){let e=t.currentTarget.getBoundingClientRect();this.compactNsMenuTop.set(e.top),this.compactNsMenuLeft.set(e.right+8),this.compactNsMenuOpen.update(n=>!n)}closeCompactNsMenu(){this.compactNsMenuOpen.set(!1)}onCompactNsSelected(t){this.compactNsMenuOpen.set(!1),this.namespaceSelected.emit(t)}onCompactUserBtnClick(t){let e=t.currentTarget.getBoundingClientRect();this.compactMenuTop.set(e.bottom),this.compactMenuLeft.set(e.right+8),this.menuToggled.emit(t)}toggleCompact(){this.isCompact.update(t=>!t)}nsInitial(t){return(t??"?").charAt(0).toUpperCase()}effectiveWidth=E(()=>this.sidebarOpen()?this.isCompact()?i.COMPACT_WIDTH:this.sidebarWidth():0);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();userName=f.required();menuOpen=f.required();isAdmin=f.required();isDark=f.required();themeVariant=f.required();showTechnical=f.required();collapseRequested=v();homeClicked=v();namespaceSelected=v();nsMenuToggled=v();nsMenuClosed=v();caseSelected=v();createRequested=v();deleteRequested=v();starToggled=v();menuToggled=v();menuClosed=v();navigateTo=v();themeToggled=v();themeVariantChanged=v();logsToggled=v();static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-shell-sidebar"]],viewQuery:function(e,n){e&1&&re(n.compactSearchInputRef,Ei,5),e&2&&se()},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"],userName:[1,"userName"],menuOpen:[1,"menuOpen"],isAdmin:[1,"isAdmin"],isDark:[1,"isDark"],themeVariant:[1,"themeVariant"],showTechnical:[1,"showTechnical"]},outputs:{collapseRequested:"collapseRequested",homeClicked:"homeClicked",namespaceSelected:"namespaceSelected",nsMenuToggled:"nsMenuToggled",nsMenuClosed:"nsMenuClosed",caseSelected:"caseSelected",createRequested:"createRequested",deleteRequested:"deleteRequested",starToggled:"starToggled",menuToggled:"menuToggled",menuClosed:"menuClosed",navigateTo:"navigateTo",themeToggled:"themeToggled",themeVariantChanged:"themeVariantChanged",logsToggled:"logsToggled"},decls:3,vars:7,consts:[["compactSearchInput",""],[1,"shell-sidebar"],[1,"shell-sidebar__top"],[1,"shell-sidebar__top-row"],["type","button","title","Home",1,"shell-sidebar__logo",3,"click"],["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-trigger",3,"click"],[1,"shell-sidebar__ns-mark"],[1,"shell-sidebar__ns-name"],["width","12","height","12","viewBox","0 0 24 24","fill","none","aria-hidden","true",1,"shell-sidebar__ns-chevron-icon"],["d","M6 9l6 6 6-6","stroke","currentColor","stroke-width","1.8","stroke-linecap","round","stroke-linejoin","round"],[1,"shell-sidebar__ns-menu"],[1,"shell-sidebar__bottom-row"],["type","button","title","New case","dsBlueprint","",1,"btn","btn-primary","shell-sidebar__new-case-btn",3,"click"],["width","14","height","14","viewBox","0 0 24 24","fill","none","aria-hidden","true"],["d","M5 12h14M12 5v14","stroke","currentColor","stroke-width","1.8","stroke-linecap","round"],["placeholder","Filter cases\u2026","type","search","aria-label","Filter cases",1,"input","shell-sidebar__search",3,"input","value"],[1,"shell-sidebar__cases-scroll"],[3,"caseSelected","createRequested","deleteRequested","starToggled","cases","activeCaseId","compact","filterQuery"],[1,"shell-sidebar__bottom"],[1,"shell-sidebar__user-menu"],["type","button","title","User menu",1,"shell-sidebar__user-btn",3,"click"],[1,"shell-sidebar__user-avatar"],[1,"shell-sidebar__user-info"],[1,"shell-sidebar__user-name"],["d","M7 9l5-5 5 5M7 15l5 5 5-5","stroke","currentColor","stroke-width","1.6","stroke-linecap","round","stroke-linejoin","round"],["variant","desktop",3,"navigateTo","themeToggled","themeVariantChanged","logsToggled","closed","open","isAdmin","isDark","themeVariant","showTechnical"],["type","button","title","Collapse",1,"shell-sidebar__collapse-btn",3,"click"],["d","M15 18l-6-6 6-6","stroke","currentColor","stroke-width","1.8","stroke-linecap","round","stroke-linejoin","round"],[1,"shell-sidebar__ns-item",3,"shell-sidebar__ns-item--active"],[1,"shell-sidebar__ns-item",3,"click"],[1,"shell-sidebar__ns-item-mark"],[1,"shell-sidebar__ns-item-name"],["width","12","height","12","viewBox","0 0 24 24","fill","none","aria-hidden","true"],["d","M20 6L9 17l-5-5","stroke","var(--color-accent)","stroke-width","2","stroke-linecap","round","stroke-linejoin","round"],["type","button","title","Home",1,"shell-sidebar__logo","shell-sidebar__logo--compact",3,"click"],["src","CODAY-Logo.png","alt","Coday",1,"shell-sidebar__logo-img","shell-sidebar__logo-img--compact"],["type","button","title","New case","dsBlueprint","",1,"btn","btn-primary","btn-icon",3,"click"],["width","16","height","16","viewBox","0 0 24 24","fill","none","aria-hidden","true"],["type","button","title","Filter cases",1,"shell-sidebar__compact-search-btn",3,"click"],["width","15","height","15","viewBox","0 0 24 24","fill","none","aria-hidden","true"],["cx","11","cy","11","r","8","stroke","currentColor","stroke-width","1.6","stroke-linecap","round"],["d","m21 21-4.3-4.3","stroke","currentColor","stroke-width","1.6","stroke-linecap","round"],[1,"shell-sidebar__rail-divider"],["type","button","title","User menu",1,"shell-sidebar__user-avatar-btn",3,"click"],["variant","compact",3,"navigateTo","themeToggled","themeVariantChanged","logsToggled","closed","open","isAdmin","isDark","themeVariant","showTechnical","fixedTop","fixedLeft"],["type","button","title","Expand",1,"shell-sidebar__collapse-btn",3,"click"],["d","M9 18l6-6-6-6","stroke","currentColor","stroke-width","1.8","stroke-linecap","round","stroke-linejoin","round"],["type","button",1,"shell-sidebar__compact-ns-btn",3,"click","title"],["role","presentation",1,"shell-sidebar__compact-backdrop",3,"click","keyup.escape"],[1,"shell-sidebar__compact-ns-menu"],[1,"shell-sidebar__compact-search-panel"],["type","search","placeholder","Filter cases\u2026","aria-label","Filter cases",1,"input","shell-sidebar__compact-search-input",3,"input","keyup.escape","value"],["type","button","title","Clear filter",1,"shell-sidebar__compact-search-clear"],["type","button","title","Clear filter",1,"shell-sidebar__compact-search-clear",3,"click"],["d","M18 6 6 18M6 6l12 12","stroke","currentColor","stroke-width","1.8","stroke-linecap","round"]],template:function(e,n){e&1&&(r(0,"div",1),u(1,Oi,36,21)(2,Ai,20,16),s()),e&2&&(le("width",n.effectiveWidth(),"px")("overflow",n.effectiveWidth()===0?"hidden":"visible"),O("shell-sidebar--compact",n.isCompact()),c(),g(n.isCompact()?2:1))},dependencies:[Ze,Bt,Se],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:visible;position:relative;border-right:1px solid var(--color-divider);background:var(--color-bg);flex-shrink:0;transition:width .24s cubic-bezier(.4,0,.2,1);white-space:nowrap}.shell-sidebar--compact[_ngcontent-%COMP%]{align-items:center;gap:10px;padding:16px 0 12px;overflow:hidden}.shell-sidebar__logo[_ngcontent-%COMP%]{appearance:none;border:none;padding:0;margin:0;font:inherit;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:8px;flex:none;background:transparent;cursor:pointer;transition:opacity .14s ease}.shell-sidebar__logo[_ngcontent-%COMP%]:hover{opacity:.8}.shell-sidebar__logo--compact[_ngcontent-%COMP%]{width:30px;height:30px;display:grid;place-items:center}.shell-sidebar__logo-name[_ngcontent-%COMP%]{font-weight:700;font-size:18px;color:var(--color-text);letter-spacing:-.02em;white-space:nowrap}.shell-sidebar__logo-img[_ngcontent-%COMP%]{height:28px;width:auto;object-fit:contain;display:block;flex:none}.shell-sidebar__logo-img--compact[_ngcontent-%COMP%]{height:26px;width:26px;object-fit:cover;object-position:left center}.shell-sidebar__top[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-bottom:1px solid var(--color-divider);flex-shrink:0;overflow:visible;width:100%;box-sizing:border-box}.shell-sidebar__top-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;min-width:0}.shell-sidebar__ns-wrap[_ngcontent-%COMP%]{flex:1;min-width:0}.shell-sidebar__bottom-row[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.shell-sidebar__bottom-row--wide[_ngcontent-%COMP%]{flex-direction:row}.shell-sidebar__bottom-row--wide[_ngcontent-%COMP%] .shell-sidebar__new-case-btn[_ngcontent-%COMP%], .shell-sidebar__bottom-row--wide[_ngcontent-%COMP%] .shell-sidebar__search[_ngcontent-%COMP%]{flex:1;min-width:0}.shell-sidebar__new-case-btn[_ngcontent-%COMP%], .shell-sidebar__search[_ngcontent-%COMP%]{width:100%}.shell-sidebar__new-case-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;padding:0 12px;height:34px;font-size:14px;font-family:var(--font-heading);font-weight:600;white-space:nowrap;flex-shrink:0}.shell-sidebar__search[_ngcontent-%COMP%]{width:100%;min-height:34px;font-size:14px}.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%]{appearance:none;background:transparent;border:none;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);transition:border-color .15s}.shell-sidebar__ns-trigger[_ngcontent-%COMP%]:hover, .shell-sidebar__ns-trigger--open[_ngcontent-%COMP%]{border-color:var(--color-accent)}.shell-sidebar__ns-mark[_ngcontent-%COMP%]{width:20px;height:20px;flex:none;display:grid;place-items:center;background:var(--color-accent-900);color:var(--color-accent-100);font-family:var(--font-heading);font-weight:600;font-size:11px}.shell-sidebar__ns-name[_ngcontent-%COMP%]{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-family:var(--font-heading);font-weight:600}.shell-sidebar__ns-chevron[_ngcontent-%COMP%]{color:var(--color-neutral-500);font-size:.7rem;flex-shrink:0}.shell-sidebar__ns-chevron-icon[_ngcontent-%COMP%]{flex-shrink:0;color:var(--color-neutral-500);opacity:.7}.shell-sidebar__ns-menu[_ngcontent-%COMP%]{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:100;background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-lg);padding:4px}.shell-sidebar__ns-item[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:6px;width:100%;padding:7px 8px;color:var(--color-text);font-size:14px;transition:background .1s}.shell-sidebar__ns-item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover)}.shell-sidebar__ns-item--active[_ngcontent-%COMP%]{background:var(--color-accent-100);color:var(--color-accent-900)}.shell-sidebar__ns-item-mark[_ngcontent-%COMP%]{width:18px;height:18px;flex:none;display:grid;place-items:center;border:1px solid var(--color-divider);background:var(--color-surface-secondary);color:var(--color-neutral-600);font-family:var(--font-heading);font-weight:600;font-size:10px}.shell-sidebar__ns-item-name[_ngcontent-%COMP%]{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-sidebar__ns-item-check[_ngcontent-%COMP%]{color:var(--color-accent);font-size:.75rem;flex-shrink:0}.shell-sidebar__cases-scroll[_ngcontent-%COMP%]{flex:1;overflow-y:auto;overflow-x:hidden;padding:2px 0 10px}.shell-sidebar--compact[_ngcontent-%COMP%] .shell-sidebar__cases-scroll[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:7px;padding:2px 0;width:100%;align-items:center}.shell-sidebar__cases-scroll[_ngcontent-%COMP%]::-webkit-scrollbar{width:4px}.shell-sidebar__cases-scroll[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--color-divider)}.shell-sidebar__rail-divider[_ngcontent-%COMP%]{width:26px;height:1px;background:var(--color-divider);flex-shrink:0}.shell-sidebar__bottom[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid var(--color-divider);flex-shrink:0}.shell-sidebar__user-menu[_ngcontent-%COMP%]{position:relative;flex:1;min-width:0}.shell-sidebar__user-btn[_ngcontent-%COMP%]{appearance:none;border:none;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;display:flex;align-items:center;gap:9px;padding:5px 6px;border:1px solid transparent;background:transparent;color:var(--color-text);transition:background .14s,border-color .14s}.shell-sidebar__user-btn[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover);border-color:var(--color-divider)}.shell-sidebar__user-avatar[_ngcontent-%COMP%]{width:28px;height:28px;flex:none;display:grid;place-items:center;border:1px solid var(--color-divider);background:var(--color-surface);font-family:var(--font-heading);font-weight:600;font-size:12px;color:var(--color-accent-700)}.shell-sidebar__user-info[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column}.shell-sidebar__user-name[_ngcontent-%COMP%]{display:block;font-size:15px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-heading);font-weight:600;color:var(--color-text)}.shell-sidebar__user-avatar-btn[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;padding:0;margin:0;font:inherit;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--color-divider);background:var(--color-surface);font-family:var(--font-heading);font-weight:600;font-size:12px;color:var(--color-accent-700);cursor:pointer;transition:border-color .14s}.shell-sidebar__user-avatar-btn[_ngcontent-%COMP%]:hover{border-color:var(--color-accent)}.shell-sidebar__compact-ns-btn[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;padding:0;margin:0;font:inherit;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:30px;height:30px;flex:none;display:grid;place-items:center;border:1px solid var(--color-divider);background:var(--color-accent-900);color:var(--color-accent-100);font-family:var(--font-heading);font-weight:600;font-size:13px;cursor:pointer;transition:border-color .14s}.shell-sidebar__compact-ns-btn[_ngcontent-%COMP%]:hover, .shell-sidebar__compact-ns-btn--open[_ngcontent-%COMP%]{border-color:var(--color-accent)}.shell-sidebar__compact-ns-menu[_ngcontent-%COMP%]{position:fixed;z-index:500;min-width:200px;max-height:320px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-lg);padding:4px}.shell-sidebar__compact-search-btn[_ngcontent-%COMP%]{appearance:none;border:none;padding:0;margin:0;font:inherit;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:30px;height:30px;flex:none;display:grid;place-items:center;border:1px solid var(--color-divider);background:transparent;color:var(--color-neutral-600);cursor:pointer;transition:border-color .14s,color .14s}.shell-sidebar__compact-search-btn[_ngcontent-%COMP%]:hover, .shell-sidebar__compact-search-btn--active[_ngcontent-%COMP%]{border-color:var(--color-accent);color:var(--color-accent)}.shell-sidebar__compact-search-panel[_ngcontent-%COMP%]{position:fixed;z-index:500;width:220px;background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-lg);padding:6px;transform:translateY(-50%);display:flex;align-items:center;gap:4px}.shell-sidebar__compact-search-input[_ngcontent-%COMP%]{width:100%;min-height:34px;font-size:14px}.shell-sidebar__compact-search-clear[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;color:var(--color-neutral-500);transition:color .12s}.shell-sidebar__compact-search-clear[_ngcontent-%COMP%]:hover{color:var(--color-text)}.shell-sidebar__compact-backdrop[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:499}.shell-sidebar__collapse-btn[_ngcontent-%COMP%]{appearance:none;border:none;padding:0;margin:0;font:inherit;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:30px;height:30px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-divider);background:transparent;color:var(--color-neutral-600);cursor:pointer;transition:border-color .14s,color .14s}.shell-sidebar__collapse-btn[_ngcontent-%COMP%]:hover{border-color:var(--color-accent);color:var(--color-accent)}"],changeDetection:0})};var qi=(i,t)=>t.id;function Li(i,t){i&1&&(k(),R(0,"svg",24),W(1,"path",25),F())}function zi(i,t){if(i&1){let e=x();R(0,"button",21),ie("click",function(){let o=d(e).$implicit,a=l(2);return p(a.namespaceSelected.emit(o))}),R(1,"span",22),m(2),F(),R(3,"span",23),m(4),F(),u(5,Li,2,0,":svg:svg",24),F()}if(i&2){let e,n,o=t.$implicit,a=l(2);O("shell-topbar-mobile__ns-item--active",o.id===((e=a.selectedNamespace())==null?null:e.id)),c(2),S(o.name.charAt(0).toUpperCase()),c(2),S(o.name),c(),g(o.id===((n=a.selectedNamespace())==null?null:n.id)?5:-1)}}function $i(i,t){if(i&1){let e=x();R(0,"div",18),ie("click",function(o){d(e);let a=l();return p(a.nsMenuClosed.emit(o))})("keyup.escape",function(o){d(e);let a=l();return p(a.nsMenuClosed.emit(o))}),F(),R(1,"div",19),V(2,zi,6,5,"button",20,qi),F()}if(i&2){let e=l();c(2),N(e.namespaces())}}var tt=class i{selectedNamespace=f.required();namespaces=f.required();nsMenuOpen=f.required();drawerToggled=v();createRequested=v();namespaceSelected=v();nsMenuToggled=v();nsMenuClosed=v();static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-shell-topbar-mobile"]],inputs:{selectedNamespace:[1,"selectedNamespace"],namespaces:[1,"namespaces"],nsMenuOpen:[1,"nsMenuOpen"]},outputs:{drawerToggled:"drawerToggled",createRequested:"createRequested",namespaceSelected:"namespaceSelected",nsMenuToggled:"nsMenuToggled",nsMenuClosed:"nsMenuClosed"},decls:21,vars:5,consts:[[1,"shell-topbar-mobile__inner"],["type","button","title","Cases",1,"shell-topbar-mobile__hamburger",3,"click"],["width","18","height","18","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","aria-hidden","true"],["x1","4","x2","20","y1","6","y2","6"],["x1","4","x2","20","y1","12","y2","12"],["x1","4","x2","20","y1","18","y2","18"],["src","CODAY-Logo.png","alt","Coday",1,"shell-topbar-mobile__logo-img"],[1,"shell-topbar-mobile__ns-wrap"],["type","button",1,"shell-topbar-mobile__ns-btn",3,"click"],[1,"shell-topbar-mobile__ns-mark"],[1,"shell-topbar-mobile__ns-name"],["width","13","height","13","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"shell-topbar-mobile__ns-chevron"],["d","m6 9 6 6 6-6"],[1,"shell-topbar-mobile__spacer"],["type","button","title","New case",1,"btn","btn-primary","btn-icon","shell-topbar-mobile__new-btn",3,"click"],["width","16","height","16","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","aria-hidden","true"],["d","M5 12h14"],["d","M12 5v14"],["role","presentation","tabindex","-1",1,"shell-topbar-mobile__ns-backdrop",3,"click","keyup.escape"],[1,"shell-topbar-mobile__ns-menu"],["type","button",1,"shell-topbar-mobile__ns-item",3,"shell-topbar-mobile__ns-item--active"],["type","button",1,"shell-topbar-mobile__ns-item",3,"click"],[1,"shell-topbar-mobile__ns-item-mark"],[1,"shell-topbar-mobile__ns-item-name"],["width","14","height","14","viewBox","0 0 24 24","fill","none","stroke","var(--color-accent)","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true"],["d","M20 6 9 17l-5-5"]],template:function(e,n){if(e&1&&(R(0,"div",0)(1,"button",1),ie("click",function(){return n.drawerToggled.emit()}),k(),R(2,"svg",2),W(3,"line",3)(4,"line",4)(5,"line",5),F()(),q(),W(6,"img",6),R(7,"div",7)(8,"button",8),ie("click",function(a){return n.nsMenuToggled.emit(a)}),R(9,"span",9),m(10),F(),R(11,"span",10),m(12),F(),k(),R(13,"svg",11),W(14,"path",12),F()(),u(15,$i,4,0),F(),q(),W(16,"span",13),R(17,"button",14),ie("click",function(){return n.createRequested.emit()}),k(),R(18,"svg",15),W(19,"path",16)(20,"path",17),F()()()),e&2){let o,a;c(8),O("shell-topbar-mobile__ns-btn--open",n.nsMenuOpen()),c(2),S((((o=n.selectedNamespace())==null?null:o.name)??"N").charAt(0).toUpperCase()),c(2),S(((a=n.selectedNamespace())==null?null:a.name)??""),c(3),g(n.nsMenuOpen()?15:-1)}},styles:["[_nghost-%COMP%]{display:none}.shell-topbar-mobile__inner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;height:100%;padding:0 10px}.shell-topbar-mobile__hamburger[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text);transition:color .14s}.shell-topbar-mobile__hamburger[_ngcontent-%COMP%]:hover{color:var(--color-accent)}.shell-topbar-mobile__logo-img[_ngcontent-%COMP%]{height:26px;width:26px;flex:none;object-fit:cover;object-position:left center;display:block}.shell-topbar-mobile__ns-wrap[_ngcontent-%COMP%]{position:relative;min-width:0;flex:1}.shell-topbar-mobile__ns-btn[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:7px;padding:5px 9px;background:var(--color-surface);border:1px solid var(--color-divider);color:var(--color-text);font-size:13px;width:100%;min-width:0;transition:border-color .14s}.shell-topbar-mobile__ns-btn[_ngcontent-%COMP%]:hover{border-color:var(--color-neutral-500)}.shell-topbar-mobile__ns-btn--open[_ngcontent-%COMP%]{border-color:var(--color-accent)}.shell-topbar-mobile__ns-mark[_ngcontent-%COMP%]{width:18px;height:18px;flex:none;display:grid;place-items:center;background:var(--color-accent-900);color:var(--color-accent-100);font-family:var(--font-heading);font-weight:600;font-size:11px}.shell-topbar-mobile__ns-name[_ngcontent-%COMP%]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.shell-topbar-mobile__ns-chevron[_ngcontent-%COMP%]{flex:none;opacity:.6}.shell-topbar-mobile__ns-backdrop[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:30}.shell-topbar-mobile__ns-menu[_ngcontent-%COMP%]{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:31;background:var(--color-bg);border:1px solid var(--color-divider);box-shadow:var(--shadow-lg);max-height:300px;overflow-y:auto}.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;width:100%;display:flex;align-items:center;gap:8px;padding:9px 12px;font-size:14px;color:var(--color-text);text-align:left;transition:background .1s}.shell-topbar-mobile__ns-item[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.shell-topbar-mobile__ns-item--active[_ngcontent-%COMP%]{color:var(--color-accent-700)}.shell-topbar-mobile__ns-item-mark[_ngcontent-%COMP%]{width:20px;height:20px;flex:none;display:grid;place-items:center;border:1px solid var(--color-divider);font-family:var(--font-heading);font-weight:600;font-size:11px;color:var(--color-neutral-600)}.shell-topbar-mobile__ns-item-name[_ngcontent-%COMP%]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-topbar-mobile__spacer[_ngcontent-%COMP%]{display:none}.shell-topbar-mobile__new-btn[_ngcontent-%COMP%]{width:32px;height:32px;flex:none}@media(max-width:900px){[_nghost-%COMP%]{display:flex;align-items:center;height:52px;flex:none;border-bottom:1px solid var(--color-divider);background:var(--color-bg);flex-shrink:0;position:relative;z-index:10}}"],changeDetection:0})};var Bi=(i,t)=>t.label,Hi=(i,t)=>t.id;function Ui(i,t){if(i&1){let e=x();r(0,"div",30)(1,"button",32),_("click",function(o){d(e);let a=l().$implicit,h=l(3);return p(h.onStarToggle(o,a))}),k(),r(2,"svg",33),y(3,"path",34),s()(),q(),r(4,"button",35),_("click",function(o){d(e);let a=l().$implicit,h=l(3);return p(h.onDeleteRequest(o,a.id??""))}),k(),r(5,"svg",36),y(6,"path",37)(7,"path",38)(8,"path",39)(9,"line",40)(10,"line",41),s()()()}if(i&2){let e=l().$implicit;c(),O("mobile-drawer__case-btn--active",!!e.favorite||!!e.starred),c(),$("fill",e.favorite||e.starred?"currentColor":"none")}}function Wi(i,t){if(i&1){let e=x();r(0,"div",31)(1,"button",42),_("click",function(o){d(e);let a=l().$implicit,h=l(3);return p(h.onDeleteConfirm(o,a.id))}),k(),r(2,"svg",43),y(3,"path",44),s()(),q(),r(4,"button",45),_("click",function(o){d(e);let a=l(4);return p(a.onDeleteCancel(o))}),k(),r(5,"svg",46),y(6,"path",7)(7,"path",8),s()()()}}function Gi(i,t){if(i&1){let e=x();r(0,"button",27),_("click",function(){let o=d(e).$implicit,a=l(3);return p(a.onCaseSelect(o.id??""))}),y(1,"agentos-case-status-glyph",28),r(2,"span",29),m(3),s(),u(4,Ui,11,3,"div",30)(5,Wi,8,0,"div",31),s()}if(i&2){let e=t.$implicit,n=l(3);O("mobile-drawer__case-row--active",e.id===n.activeCaseId())("mobile-drawer__case-row--confirming",n.confirmingDeleteId()===e.id),c(),b("status",e.status)("size",15),c(2),S(e.title??e.id),c(),g(n.confirmingDeleteId()!==e.id?4:5)}}function ji(i,t){if(i&1&&(r(0,"div",15)(1,"div",25),m(2),s(),V(3,Gi,6,8,"button",26,Hi),s()),i&2){let e=t.$implicit;c(2),S(e.label),c(),N(e.cases)}}function Qi(i,t){i&1&&(r(0,"p",16),m(1,"No cases yet."),s())}function Ki(i,t){if(i&1){let e=x();r(0,"button",50),_("click",function(){d(e);let o=l(3);return p(o.onMenuNavigate("/agentos/admin"))}),k(),r(1,"svg",51),y(2,"path",64),s(),m(3," Administration "),s()}}function Yi(i,t){i&1&&(k(),r(0,"svg",51),y(1,"path",65),s())}function Xi(i,t){i&1&&(k(),r(0,"svg",51),y(1,"circle",66)(2,"path",67)(3,"path",68)(4,"path",69)(5,"path",70)(6,"path",71)(7,"path",72)(8,"path",73)(9,"path",74),s())}function Ji(i,t){if(i&1){let e=x();r(0,"button",47),_("click",function(){d(e);let o=l(2);return p(o.userMenuOpen.set(!1))}),s(),r(1,"div",48)(2,"div",49)(3,"button",50),_("click",function(){d(e);let o=l(2);return p(o.onMenuNavigate("/agentos/profile"))}),k(),r(4,"svg",51),y(5,"circle",52)(6,"path",53),s(),m(7," User settings "),s(),q(),r(8,"button",50),_("click",function(){d(e);let o=l(2);return p(o.onMenuNavigate("/agentos/namespaces"))}),k(),r(9,"svg",51),y(10,"rect",54)(11,"rect",55)(12,"rect",56)(13,"rect",57),s(),m(14," Namespaces "),s(),u(15,Ki,4,0,"button",58),q(),r(16,"button",50),_("click",function(){d(e);let o=l(2);return p(o.onMenuLogsToggle())}),k(),r(17,"svg",51),y(18,"polyline",59)(19,"line",60),s(),m(20," Technical logs "),s()(),q(),y(21,"div",61),r(22,"div",49)(23,"button",50),_("click",function(){d(e);let o=l(2);return p(o.onMenuThemeToggle())}),u(24,Yi,2,0,":svg:svg",51)(25,Xi,10,0,":svg:svg",51),m(26," Dark mode "),y(27,"span",62),r(28,"span",63),m(29),s()()()()}if(i&2){let e=l(2);c(15),g(e.isAdmin()?15:-1),c(9),g(e.isDark()?25:24),c(5),S(e.isDark()?"On":"Off")}}function Zi(i,t){if(i&1){let e=x();r(0,"div",0)(1,"button",1),_("click",function(){d(e);let o=l();return p(o.closed.emit())}),s(),r(2,"div",2),_("click",function(o){return o.stopPropagation()})("keydown",function(o){return o.stopPropagation()}),r(3,"div",3)(4,"span",4),m(5,"Cases"),s(),r(6,"button",5),_("click",function(){d(e);let o=l();return p(o.closed.emit())}),k(),r(7,"svg",6),y(8,"path",7)(9,"path",8),s()()(),q(),r(10,"div",9),k(),r(11,"svg",10),y(12,"circle",11)(13,"path",12),s(),q(),r(14,"input",13),_("input",function(o){d(e);let a=l();return p(a.filterQuery.set(o.target.value))}),s()(),r(15,"div",14),V(16,ji,5,1,"div",15,Bi),u(18,Qi,2,0,"p",16),s(),r(19,"div",17),u(20,Ji,30,3),r(21,"button",18),_("click",function(){d(e);let o=l();return p(o.userMenuOpen.set(!o.userMenuOpen()))}),r(22,"span",19),m(23),s(),r(24,"span",20)(25,"span",21),m(26),s()(),k(),r(27,"svg",22),y(28,"path",23)(29,"path",24),s()()()()()}if(i&2){let e=l();c(14),b("value",e.filterQuery()),c(2),N(e.groupedCases()),c(2),g(e.groupedCases().length===0?18:-1),c(2),g(e.userMenuOpen()?20:-1),c(3),S(e.userInitials()),c(3),S(e.userName())}}var nt=class i{open=f.required();cases=f.required();activeCaseId=f.required();userInitials=f.required();userName=f.required();isAdmin=f.required();isDark=f.required();filterQuery=w("");confirmingDeleteId=w(null);userMenuOpen=w(!1);groupedCases=E(()=>{let t=this.filterQuery().toLowerCase(),e=this.cases().filter(P=>!t||(P.title??P.id??"").toLowerCase().includes(t)),n=P=>!!P.favorite||!!P.starred,o=e.filter(P=>n(P)),a=e.filter(P=>!n(P)&&this.isToday(P)),h=e.filter(P=>!n(P)&&this.isYesterday(P)),M=e.filter(P=>!n(P)&&this.isPrev7(P)),C=e.filter(P=>!n(P)&&!this.isToday(P)&&!this.isYesterday(P)&&!this.isPrev7(P)),D=[];return o.length&&D.push({label:"Pinned",cases:o}),a.length&&D.push({label:"Today",cases:a}),h.length&&D.push({label:"Yesterday",cases:h}),M.length&&D.push({label:"Previous 7 days",cases:M}),C.length&&D.push({label:"Older",cases:C}),D});closed=v();caseSelected=v();starToggled=v();deleteRequested=v();navigateTo=v();themeToggled=v();logsToggled=v();onCaseSelect(t){this.confirmingDeleteId.set(null),this.caseSelected.emit(t)}onStarToggle(t,e){t.stopPropagation();let n=!!e.favorite||!!e.starred;this.starToggled.emit({id:e.id??"",starred:!n})}onDeleteRequest(t,e){t.stopPropagation(),this.confirmingDeleteId.set(e)}onDeleteConfirm(t,e){t.stopPropagation(),this.confirmingDeleteId.set(null),e&&this.deleteRequested.emit(e)}onDeleteCancel(t){t.stopPropagation(),this.confirmingDeleteId.set(null)}onMenuNavigate(t){this.userMenuOpen.set(!1),this.closed.emit(),this.navigateTo.emit(t)}onMenuThemeToggle(){this.userMenuOpen.set(!1),this.themeToggled.emit()}onMenuLogsToggle(){this.userMenuOpen.set(!1),this.logsToggled.emit()}dayStart(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()}getModified(t){let e=t.modified??t.created;return e?new Date(e).getTime():0}isToday(t){let e=Date.now(),n=this.dayStart(new Date),o=this.getModified(t);return o>=n&&o<=e}isYesterday(t){let e=this.dayStart(new Date)-864e5,n=this.dayStart(new Date),o=this.getModified(t);return o>=e&&o<n}isPrev7(t){let e=this.dayStart(new Date)-6048e5,n=this.dayStart(new Date)-864e5,o=this.getModified(t);return o>=e&&o<n}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-shell-case-switcher-mobile"]],inputs:{open:[1,"open"],cases:[1,"cases"],activeCaseId:[1,"activeCaseId"],userInitials:[1,"userInitials"],userName:[1,"userName"],isAdmin:[1,"isAdmin"],isDark:[1,"isDark"]},outputs:{closed:"closed",caseSelected:"caseSelected",starToggled:"starToggled",deleteRequested:"deleteRequested",navigateTo:"navigateTo",themeToggled:"themeToggled",logsToggled:"logsToggled"},decls:1,vars:1,consts:[[1,"mobile-drawer__overlay"],["type","button","aria-label","Close cases drawer",1,"mobile-drawer__backdrop",3,"click"],["role","dialog","aria-modal","true","aria-label","Cases",1,"mobile-drawer__panel",3,"click","keydown"],[1,"mobile-drawer__header"],[1,"mobile-drawer__header-title"],["type","button","title","Close",1,"mobile-drawer__close-btn",3,"click"],["width","17","height","17","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","aria-hidden","true"],["d","M18 6 6 18"],["d","m6 6 12 12"],[1,"mobile-drawer__search-wrap"],["width","14","height","14","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","aria-hidden","true",1,"mobile-drawer__search-icon"],["cx","11","cy","11","r","8"],["d","m21 21-4.3-4.3"],["type","search","placeholder","Filter cases\u2026","autocomplete","off",1,"input","mobile-drawer__search-input",3,"input","value"],[1,"mobile-drawer__list"],[1,"mobile-drawer__group"],[1,"mobile-drawer__empty"],[1,"mobile-drawer__footer"],["type","button",1,"mobile-drawer__user-btn",3,"click"],[1,"mobile-drawer__user-avatar"],[1,"mobile-drawer__user-info"],[1,"mobile-drawer__user-name"],["width","15","height","15","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"mobile-drawer__user-chevron"],["d","m7 15 5 5 5-5"],["d","m7 9 5-5 5 5"],[1,"mobile-drawer__group-label"],["type","button",1,"mobile-drawer__case-row",3,"mobile-drawer__case-row--active","mobile-drawer__case-row--confirming"],["type","button",1,"mobile-drawer__case-row",3,"click"],[3,"status","size"],[1,"mobile-drawer__case-title"],[1,"mobile-drawer__case-actions"],[1,"mobile-drawer__case-confirm"],["type","button","title","Pin case",1,"mobile-drawer__case-btn",3,"click"],["width","15","height","15","viewBox","0 0 24 24","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true"],["d","M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"],["type","button","title","Delete case",1,"mobile-drawer__case-btn","mobile-drawer__case-btn--danger",3,"click"],["width","15","height","15","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true"],["d","M3 6h18"],["d","M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"],["d","M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"],["x1","10","x2","10","y1","11","y2","17"],["x1","14","x2","14","y1","11","y2","17"],["type","button","title","Confirm delete",1,"mobile-drawer__confirm-yes",3,"click"],["width","15","height","15","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true"],["d","M20 6 9 17l-5-5"],["type","button","title","Cancel",1,"mobile-drawer__confirm-no",3,"click"],["width","15","height","15","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","aria-hidden","true"],["type","button","aria-label","Close user menu",1,"mobile-drawer__user-menu-backdrop",3,"click"],[1,"mobile-drawer__user-menu"],[1,"mobile-drawer__user-menu-section"],["type","button",1,"mobile-drawer__user-menu-item",3,"click"],["width","16","height","16","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",2,"color","var(--color-neutral-600)"],["cx","12","cy","8","r","4"],["d","M20 21a8 8 0 0 0-16 0"],["width","7","height","7","x","3","y","3"],["width","7","height","7","x","14","y","3"],["width","7","height","7","x","14","y","14"],["width","7","height","7","x","3","y","14"],["type","button",1,"mobile-drawer__user-menu-item"],["points","4 17 10 11 4 5"],["x1","12","x2","20","y1","19","y2","19"],[1,"mobile-drawer__user-menu-sep"],[2,"flex","1"],[1,"mobile-drawer__user-menu-hint"],["d","M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1 1 0 0 1 1.52 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1z"],["d","M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"],["cx","12","cy","12","r","4"],["d","M12 2v2"],["d","M12 20v2"],["d","m4.93 4.93 1.41 1.41"],["d","m17.66 17.66 1.41 1.41"],["d","M2 12h2"],["d","M20 12h2"],["d","m6.34 17.66-1.41 1.41"],["d","m19.07 4.93-1.41 1.41"]],template:function(e,n){e&1&&u(0,Zi,30,5,"div",0),e&2&&g(n.open()?0:-1)},dependencies:[pe],styles:[".mobile-drawer__overlay[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:40;display:flex}.mobile-drawer__backdrop[_ngcontent-%COMP%]{position:absolute;inset:0;background:color-mix(in srgb,var(--color-neutral-900) 45%,transparent);border:none;cursor:default;padding:0}.mobile-drawer__panel[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;width:318px;display:flex;flex-direction:column;background:var(--color-bg);border-right:1px solid var(--color-divider);animation:_ngcontent-%COMP%_mobile-drawer-slidein .22s ease;overflow:hidden}@keyframes _ngcontent-%COMP%_mobile-drawer-slidein{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-drawer__header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;flex-shrink:0}.mobile-drawer__header-title[_ngcontent-%COMP%]{flex:1;font-family:var(--font-heading);font-weight:600;font-size:19px;color:var(--color-text)}.mobile-drawer__close-btn[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-neutral-600);transition:color .12s}.mobile-drawer__close-btn[_ngcontent-%COMP%]:hover{color:var(--color-text)}.mobile-drawer__search-wrap[_ngcontent-%COMP%]{position:relative;padding:0 14px 8px;flex-shrink:0}.mobile-drawer__search-icon[_ngcontent-%COMP%]{position:absolute;left:24px;top:11px;opacity:.45;pointer-events:none}.mobile-drawer__search-input[_ngcontent-%COMP%]{padding-left:32px;min-height:34px;font-size:13px}.mobile-drawer__list[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding:2px 0 10px}.mobile-drawer__list[_ngcontent-%COMP%]::-webkit-scrollbar{width:4px}.mobile-drawer__list[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--color-divider)}.mobile-drawer__group-label[_ngcontent-%COMP%]{padding:12px 22px 4px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral-500);font-family:var(--font-heading);font-weight:600}.mobile-drawer__case-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:9px;margin:1px 8px;padding:8px 9px;cursor:pointer;background:transparent;border:1px solid transparent;width:calc(100% - 16px);box-sizing:border-box;overflow:hidden;transition:background .1s,border-color .1s}.mobile-drawer__case-row[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.mobile-drawer__case-row--active[_ngcontent-%COMP%]{background:var(--color-accent-100);border-color:var(--color-accent-200)}.mobile-drawer__case-row--active[_ngcontent-%COMP%] .mobile-drawer__case-title[_ngcontent-%COMP%]{color:var(--color-accent-900)}.mobile-drawer__case-row--active[_ngcontent-%COMP%]:hover{background:var(--color-accent-200)}.mobile-drawer__case-row--confirming[_ngcontent-%COMP%]{background:var(--red-bg);border-color:var(--red)}.mobile-drawer__case-title[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--color-text);text-align:left}.mobile-drawer__case-actions[_ngcontent-%COMP%], .mobile-drawer__case-confirm[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1px;flex-shrink:0;margin-left:auto}.mobile-drawer__case-btn[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-neutral-500);transition:color .12s,background .12s}.mobile-drawer__case-btn[_ngcontent-%COMP%]:hover{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.mobile-drawer__case-btn--active[_ngcontent-%COMP%]{color:var(--color-accent)}.mobile-drawer__case-btn--active[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{fill:currentColor}.mobile-drawer__case-btn--danger[_ngcontent-%COMP%]:hover{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.mobile-drawer__case-btn--confirm-yes[_ngcontent-%COMP%]{width:auto;padding:0 8px;gap:4px;font-family:var(--font-heading);font-weight:600;font-size:11px;color:#fff;background:var(--red)}.mobile-drawer__case-btn--confirm-yes[_ngcontent-%COMP%]:hover{background:var(--red-deep);color:#fff}.mobile-drawer__confirm-yes[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;margin:0;font:inherit;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border:1px solid var(--red);background:var(--red);color:#fff;font-family:var(--font-heading);font-weight:600;font-size:11px;cursor:pointer;transition:background .14s,border-color .14s}.mobile-drawer__confirm-yes[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{font-size:16px;line-height:1}.mobile-drawer__confirm-yes[_ngcontent-%COMP%]:hover{background:var(--red-deep);border-color:var(--red-deep)}.mobile-drawer__confirm-yes[_ngcontent-%COMP%]{width:30px;padding:0;justify-content:center}.mobile-drawer__confirm-no[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-divider);background:var(--color-bg);color:var(--color-neutral-600);transition:color .12s,border-color .12s}.mobile-drawer__confirm-no[_ngcontent-%COMP%]:hover{color:var(--color-text);border-color:var(--color-neutral-500)}.mobile-drawer__empty[_ngcontent-%COMP%]{padding:24px 20px;font-size:15px;color:var(--color-neutral-500);text-align:center;margin:0}.mobile-drawer__footer[_ngcontent-%COMP%]{position:relative;padding:8px 12px;border-top:1px solid var(--color-divider);flex-shrink:0}.mobile-drawer__user-btn[_ngcontent-%COMP%]{appearance:none;background:transparent;border:none;margin:0;font:inherit;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;display:flex;align-items:center;gap:10px;padding:6px;color:var(--color-text);border:1px solid transparent;transition:background .14s}.mobile-drawer__user-btn[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--color-text) 5%,transparent)}.mobile-drawer__user-avatar[_ngcontent-%COMP%]{width:30px;height:30px;flex:none;display:grid;place-items:center;border:1px solid var(--color-divider);background:var(--color-surface);font-family:var(--font-heading);font-weight:600;font-size:12px;color:var(--color-accent-700)}.mobile-drawer__user-info[_ngcontent-%COMP%]{flex:1;min-width:0}.mobile-drawer__user-name[_ngcontent-%COMP%]{display:block;font-size:14px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:inherit}.mobile-drawer__user-chevron[_ngcontent-%COMP%]{opacity:.5;flex:none}.mobile-drawer__user-menu-backdrop[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:50;border:none;background:transparent;cursor:default;padding:0}.mobile-drawer__user-menu[_ngcontent-%COMP%]{position:absolute;left:12px;right:12px;bottom:calc(100% - 2px);z-index:51;background:var(--color-bg);border:1px solid var(--color-divider);box-shadow:var(--shadow-lg)}.mobile-drawer__user-menu-section[_ngcontent-%COMP%]{padding:4px 0}.mobile-drawer__user-menu-sep[_ngcontent-%COMP%]{height:1px;background:var(--color-divider)}.mobile-drawer__user-menu-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;width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:14px;color:var(--color-text);text-align:left;transition:background .1s}.mobile-drawer__user-menu-item[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.mobile-drawer__user-menu-hint[_ngcontent-%COMP%]{font-size:12px;color:var(--color-neutral-500)}"],changeDetection:0})};function ea(i,t){if(i&1){let e=x();r(0,"div",9),_("mousedown",function(o){d(e);let a=l();return p(a.onResizeStart(o))}),s()}}function ta(i,t){if(i&1){let e=x();r(0,"button",10),_("click",function(){d(e);let o=l();return p(o.expandSidebar())}),r(1,"span",11),m(2,"menu"),s()()}}function na(i,t){if(i&1){let e=x();r(0,"agentos-case-chat",12),_("starToggled",function(o){d(e);let a=l();return p(a.onStarToggled(o))})("deleteRequested",function(o){d(e);let a=l();return p(a.onDeleteRequested(o))})("logsToggled",function(){d(e);let o=l();return p(o.onMenuToggleLogs())}),s()}if(i&2){let e=l();b("showTechnicalOverride",e.showTechnical())}}function oa(i,t){if(i&1&&y(0,"agentos-case-home",8),i&2){let e,n=l();b("namespaceName",((e=n.selectedNamespace())==null?null:e.name)??null)}}var rn=class i{router=T(Re);route=T(de);namespaceController=T(Ot);themePort=T(Lt);userState=T(Me);caseState=T(me);namespaceState=T($t);destroyRef=T(ne);isAdmin=E(()=>this.userState.currentUser()?.isAdmin===!0);userInitials=E(()=>{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()||""});userName=E(()=>{let t=this.userState.currentUser();return t&&([t.firstname,t.lastname].filter(Boolean).join(" ")||t.email)||""});isDark=E(()=>{let{mode:t}=this.themePort.theme();return t==="dark"?!0:t==="light"?!1:typeof document<"u"&&document.documentElement.getAttribute("data-theme")?.includes("dark")===!0});themeVariant=E(()=>this.themePort.theme().variant);sidebarWidth=w(Number(localStorage.getItem("agentos.sidebar.width"))||400);menuOpen=w(!1);nsMenuOpen=w(!1);sidebarOpen=w(localStorage.getItem("agentos.sidebar.open")!=="false");mobileDrawerOpen=w(!1);static SHOW_TECHNICAL_KEY="agentos.case-chat.showTechnical";showTechnical=w(localStorage.getItem(i.SHOW_TECHNICAL_KEY)==="true");showNsPicker=E(()=>this.isAdmin()||this.namespaces().length>1);namespaceId$=this.route.queryParams.pipe(Z(t=>t.ns??null));_namespaceIdRaw=ye(this.namespaceId$);namespaceId=E(()=>this._namespaceIdRaw()??null);_activeCaseIdRaw=ye(this.route.queryParams.pipe(Z(t=>t.case??null)));activeCaseId=E(()=>this._activeCaseIdRaw()??null);cases=this.caseState.cases;namespaces=ye(this.namespaceController.listAllNamespace(),{initialValue:[]});selectedNamespace=w(null);constructor(){this.userState.currentUser()||this.userState.loadMe().pipe(H(this.destroyRef)).subscribe(),It(this.sidebarWidth).pipe(dt(1),be(300),H(this.destroyRef)).subscribe(t=>localStorage.setItem("agentos.sidebar.width",String(t))),oe(()=>{let t=this.namespaces(),e=this.namespaceId();if(t.length)if(e){let n=t.find(o=>o.id===e);this.selectedNamespace.set(n??t[0]??null),this.namespaceState.selectNamespace(e)}else{let n=t[0];n?.id&&this.router.navigate(["/agentos/home"],{queryParams:{ns:n.id},replaceUrl:!0})}}),oe(()=>{let t=this.namespaceId();t&&this.caseState.loadCases(t)})}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()}})}onDeleteRequested(t){this.caseState.deleteCase(t).pipe(H(this.destroyRef)).subscribe({next:()=>{t===this.activeCaseId()&&this.router.navigate(["/agentos/home"],{queryParams:{ns:this.namespaceId()}})},error:e=>{console.error(`[CaseShell] Failed to delete case ${t}:`,e)}})}onStarToggled(t){this.caseState.setStarred(t.id,t.starred).pipe(H(this.destroyRef)).subscribe({error:e=>{console.error(`[CaseShell] Failed to update star for case ${t.id}:`,e),alert("Could not update the favorite. Please try again.")}})}navigateHome(){let t=this.namespaceId();this.router.navigate(["/agentos/home"],t?{queryParams:{ns:t}}:{})}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({variant:this.themeVariant(),mode:t})}onMenuThemeVariantChanged(t){this.menuOpen.set(!1);let e=this.themePort.theme();this.themePort.setTheme({variant:t,mode:e.mode})}onMenuToggleLogs(){this.menuOpen.set(!1),this.showTechnical.update(t=>{let e=!t;return localStorage.setItem(i.SHOW_TECHNICAL_KEY,String(e)),e})}toggleMobileDrawer(){this.mobileDrawerOpen.update(t=>!t)}onMobileCaseSelect(t){this.mobileDrawerOpen.set(!1),this.onCaseSelected(t)}onMobileCreateCase(){this.mobileDrawerOpen.set(!1),this.onCreateRequested()}hostEl=T(ge);onResizeStart(t){t.preventDefault();let e=t.clientX,n=this.sidebarWidth(),o=Math.floor(window.innerWidth*.5),a=this.hostEl.nativeElement.querySelector("agentos-shell-sidebar > .shell-sidebar");a&&(a.style.transition="none"),document.body.style.userSelect="none",document.body.style.cursor="col-resize";let h=n,M=D=>{let P=D.clientX-e;h=Math.max(200,Math.min(o,n+P)),a&&(a.style.width=`${h}px`)},C=()=>{document.removeEventListener("mousemove",M),document.removeEventListener("mouseup",C),document.body.style.userSelect="",document.body.style.cursor="",a&&(a.style.transition=""),this.sidebarWidth.set(h)};document.addEventListener("mousemove",M),document.addEventListener("mouseup",C)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["agentos-case-shell"]],decls:9,vars:28,consts:[[1,"case-shell"],[3,"drawerToggled","createRequested","namespaceSelected","nsMenuToggled","nsMenuClosed","selectedNamespace","namespaces","nsMenuOpen"],[3,"closed","caseSelected","starToggled","deleteRequested","navigateTo","themeToggled","logsToggled","open","cases","activeCaseId","userInitials","userName","isAdmin","isDark"],[3,"collapseRequested","homeClicked","namespaceSelected","nsMenuToggled","nsMenuClosed","caseSelected","createRequested","deleteRequested","starToggled","menuToggled","menuClosed","navigateTo","themeToggled","themeVariantChanged","logsToggled","sidebarWidth","sidebarOpen","selectedNamespace","namespaces","showNsPicker","nsMenuOpen","cases","activeCaseId","userInitials","userName","menuOpen","isAdmin","isDark","themeVariant","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"],[3,"namespaceName"],["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"],[3,"starToggled","deleteRequested","logsToggled","showTechnicalOverride"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"agentos-shell-topbar-mobile",1),_("drawerToggled",function(){return n.toggleMobileDrawer()})("createRequested",function(){return n.onMobileCreateCase()})("namespaceSelected",function(a){return n.onNamespaceSelected(a)})("nsMenuToggled",function(a){return n.toggleNsMenu(a)})("nsMenuClosed",function(a){return n.closeNsMenu(a)}),s(),r(2,"agentos-shell-case-switcher-mobile",2),_("closed",function(){return n.mobileDrawerOpen.set(!1)})("caseSelected",function(a){return n.onMobileCaseSelect(a)})("starToggled",function(a){return n.onStarToggled(a)})("deleteRequested",function(a){return n.onDeleteRequested(a)})("navigateTo",function(a){return n.onMenuNavigate(a)})("themeToggled",function(){return n.onMenuToggleTheme()})("logsToggled",function(){return n.onMenuToggleLogs()}),s(),r(3,"agentos-shell-sidebar",3),_("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()})("deleteRequested",function(a){return n.onDeleteRequested(a)})("starToggled",function(a){return n.onStarToggled(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()})("themeVariantChanged",function(a){return n.onMenuThemeVariantChanged(a)})("logsToggled",function(){return n.onMenuToggleLogs()}),s(),u(4,ea,1,0,"div",4),u(5,ta,3,0,"button",5),r(6,"main",6),u(7,na,1,1,"agentos-case-chat",7)(8,oa,1,1,"agentos-case-home",8),s()()),e&2&&(c(),b("selectedNamespace",n.selectedNamespace())("namespaces",n.namespaces())("nsMenuOpen",n.nsMenuOpen()),c(),b("open",n.mobileDrawerOpen())("cases",n.cases())("activeCaseId",n.activeCaseId())("userInitials",n.userInitials())("userName",n.userName())("isAdmin",n.isAdmin())("isDark",n.isDark()),c(),b("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())("userName",n.userName())("menuOpen",n.menuOpen())("isAdmin",n.isAdmin())("isDark",n.isDark())("themeVariant",n.themeVariant())("showTechnical",n.showTechnical()),c(),g(n.sidebarOpen()?4:-1),c(),g(n.sidebarOpen()?-1:5),c(2),g(n.activeCaseId()?7:8))},dependencies:[Ye,Xe,et,tt,nt],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100dvh}.case-shell[_ngcontent-%COMP%]{display:flex;height:100%}.case-shell__resize-handle[_ngcontent-%COMP%]{width:4px;flex-shrink:0;cursor:col-resize;background:var(--color-divider);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-accent)}.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);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);color:var(--color-text)}@media(max-width:900px){.case-shell__expand-btn[_ngcontent-%COMP%]{display:none}}"],changeDetection:0})};export{Y as a,fn as b,He as c,Wt as d,Gt as e,jt as f,bn as g,xn as h,Qt as i,Kt as j,Yt as k,Ue as l,Ce as m,We as n,Ge as o,je as p,Ye as q,Xe as r,Je as s,Ze as t,rn as u};
|