@whoz-oss/coday-factory-cockpit 0.0.0-workstream-forge.13 → 0.0.0-workstream-forge.14

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.
@@ -1 +1 @@
1
- import {$ as $e,H as Ht,j as jt,N as Nt,z as zt,V as Vt}from'./chunk-DfAOIR1l.js';import {h,A as Ae,E as EW,D as DW,d as da,k as kC,b as Ed,t as ni,Q as Qo,u as uy,y as ri,$ as $g,v as Dt,a2 as Cd,T as sC}from'./main-N22U3TWY.js';function S(o,m){if(o&1&&(da(0,"code",1),kC(1),Ed()),o&2){let a=sC();Qo(),uy(a.data.detail);}}var I=class o{data=h($e);static \u0275fac=function(a){return new(a||o)};static \u0275cmp=Ae({type:o,selectors:[["sf-confirm-dialog"]],decls:11,vars:8,consts:[["mat-dialog-title",""],[1,"sf-mono","dialog-detail"],["align","end"],["mat-button","",3,"mat-dialog-close"],["mat-flat-button","",3,"mat-dialog-close"]],template:function(a,l){a&1&&(da(0,"h2",0),kC(1),Ed(),da(2,"mat-dialog-content")(3,"p"),kC(4),Ed(),ni(5,S,2,1,"code",1),Ed(),da(6,"mat-dialog-actions",2)(7,"button",3),kC(8,"Cancel"),Ed(),da(9,"button",4),kC(10),Ed()()),a&2&&(Qo(),uy(l.data.title),Qo(3),uy(l.data.message),Qo(),ri(l.data.detail?5:-1),Qo(2),$g("mat-dialog-close",false),Qo(2),Dt("sf-danger",l.data.destructive),$g("mat-dialog-close",true),Qo(),Cd(" ",l.data.confirmLabel??"Confirm"," "));},dependencies:[EW,DW,Ht,jt,Nt,zt,Vt],styles:[".dialog-detail[_ngcontent-%COMP%]{display:inline-block;margin-top:10px;padding:4px 8px;border-radius:6px;background:var(--sf-surface-2);color:var(--sf-primary)}"]})};export{I};
1
+ import {$ as $e,H as Ht,j as jt,N as Nt,z as zt,V as Vt}from'./chunk-Bbn7N_eY.js';import {h,A as Ae,E as EW,D as DW,d as da,k as kC,b as Ed,t as ni,Q as Qo,u as uy,y as ri,$ as $g,v as Dt,a2 as Cd,T as sC}from'./main-HFWOOLXW.js';function S(o,m){if(o&1&&(da(0,"code",1),kC(1),Ed()),o&2){let a=sC();Qo(),uy(a.data.detail);}}var I=class o{data=h($e);static \u0275fac=function(a){return new(a||o)};static \u0275cmp=Ae({type:o,selectors:[["sf-confirm-dialog"]],decls:11,vars:8,consts:[["mat-dialog-title",""],[1,"sf-mono","dialog-detail"],["align","end"],["mat-button","",3,"mat-dialog-close"],["mat-flat-button","",3,"mat-dialog-close"]],template:function(a,l){a&1&&(da(0,"h2",0),kC(1),Ed(),da(2,"mat-dialog-content")(3,"p"),kC(4),Ed(),ni(5,S,2,1,"code",1),Ed(),da(6,"mat-dialog-actions",2)(7,"button",3),kC(8,"Cancel"),Ed(),da(9,"button",4),kC(10),Ed()()),a&2&&(Qo(),uy(l.data.title),Qo(3),uy(l.data.message),Qo(),ri(l.data.detail?5:-1),Qo(2),$g("mat-dialog-close",false),Qo(2),Dt("sf-danger",l.data.destructive),$g("mat-dialog-close",true),Qo(),Cd(" ",l.data.confirmLabel??"Confirm"," "));},dependencies:[EW,DW,Ht,jt,Nt,zt,Vt],styles:[".dialog-detail[_ngcontent-%COMP%]{display:inline-block;margin-top:10px;padding:4px 8px;border-radius:6px;background:var(--sf-surface-2);color:var(--sf-primary)}"]})};export{I};
@@ -1 +1 @@
1
- import {I}from'./chunk-DCm1r-TF.js';import {e as ee$1}from'./chunk-DfAOIR1l.js';import {c as ci,Z as Zt,e as ei,n as ni,t as ti,J as Jt,r as ri,i as ii,o as oi,s as si,a as ai}from'./chunk-Cs44GSjC.js';import {_}from'./chunk-BqCMYOlD.js';import {h,a4 as fb,f as Ye,p as pb,av as O,A as Ae,E as EW,D as DW,M as M8,S as S8,d as da,k as kC,b as Ed,t as ni$1,Y as Yg,z as zg,bP as _d,aZ as jg,bQ as Id,Q as Qo,$ as $g,a2 as Cd,y as ri$1,u as uy,e as eC,T as sC,a0 as Vp,a1 as Hp}from'./main-N22U3TWY.js';function X(e,t){e&1&&(da(0,"div",5)(1,"mat-icon",29),kC(2,"gpp_bad"),Ed(),da(3,"span"),kC(4),Ed()()),e&2&&(Qo(4),uy(t));}function Y(e,t){e&1&&(da(0,"span",11),kC(1),Ed()),e&2&&(Qo(),uy(t.name));}function Z(e,t){e&1&&(da(0,"div",15),kC(1),Ed()),e&2&&(Qo(),uy(t));}function ee(e,t){e&1&&(da(0,"th",30),kC(1,"Type"),Ed());}function te(e,t){if(e&1&&(da(0,"td",31),kC(1),Ed()),e&2){let i=t.$implicit;Qo(),uy(i.workflowType);}}function ne(e,t){e&1&&(da(0,"th",30),kC(1,"Version"),Ed());}function ie(e,t){if(e&1&&(da(0,"td",32),kC(1),Ed()),e&2){let i=t.$implicit;Qo(),uy(i.version);}}function oe(e,t){e&1&&(da(0,"th",30),kC(1,"Hash"),Ed());}function ae(e,t){if(e&1&&(da(0,"td",33),kC(1),Ed()),e&2){let i=t.$implicit;Qo(),uy(i.definitionHash);}}function re(e,t){e&1&&zg(0,"th",30);}function de(e,t){if(e&1){let i=eC();da(0,"td",34)(1,"button",35),Yg("click",function(){let l=Vp(i).$implicit,f=sC();return Hp(f.deleteDefinition(l))}),kC(2),Ed()();}if(e&2){let i=t.$implicit,n=sC();Qo(),$g("disabled",n.adminDisabled()||n.deletingKey()===n.definitionKey(i)),Qo(),Cd(" ",n.deletingKey()===n.definitionKey(i)?"Deleting\u2026":"Delete"," ");}}function le(e,t){e&1&&zg(0,"tr",36);}function se(e,t){e&1&&zg(0,"tr",37);}function me(e,t){if(e&1&&(da(0,"p",28),kC(1),Ed()),e&2){let i=sC();Qo(),Cd(" ",i.definitionsLoading()?"Loading\u2026":"No definitions registered."," ");}}var q="FORBIDDEN_ADMIN_REQUIRED";function fe(e){let t=e?.status===403||e?.code===q,i=typeof e?.message=="string"&&e.message.trim()?e.message.trim():null;return t?{forbidden:true,message:`Access denied: ${i??"admin rights required"} (${q})`}:{forbidden:false,message:i??"Admin command failed (network or server error)."}}function pe(e){if(Array.isArray(e))return e;let t=e?.items;return Array.isArray(t)?t:[]}var G=class e{api=h(fb);dialog=h(ee$1);adminDisabled=Ye(false);forbiddenError=Ye(null);definitions=Ye([]);definitionsLoading=Ye(false);uploading=Ye(false);selectedFile=Ye(null);definitionsError=Ye(null);deletingKey=Ye(null);definitionColumns=["workflowType","version","definitionHash","actions"];constructor(){h(pb).crumbs.set([{label:"Workflow definitions"}]),this.loadDefinitions();}loadDefinitions(){this.adminDisabled()||(this.definitionsLoading.set(true),this.definitionsError.set(null),this.api.getWorkflowDefinitions().subscribe({next:t=>{this.definitions.set(pe(t)),this.definitionsLoading.set(false);},error:t=>{this.applyError(t,i=>this.definitionsError.set(i)),this.definitionsLoading.set(false);}}));}onFileSelected(t){let i=t.target;this.selectedFile.set(i.files?.[0]??null);}uploadDefinition(){if(this.adminDisabled()||this.uploading())return;let t=this.selectedFile();if(!t){this.definitionsError.set("Please select a JSON definition file.");return}this.uploading.set(true),this.definitionsError.set(null),this.api.uploadWorkflowDefinition(t).subscribe({next:()=>{this.selectedFile.set(null),this.uploading.set(false),this.loadDefinitions();},error:i=>{this.applyError(i,n=>this.definitionsError.set(n)),this.uploading.set(false);}});}deleteDefinition(t){if(this.adminDisabled()||this.deletingKey())return;let i=String(t.workflowType??"").trim(),n=String(t.version??"").trim();!i||!n||this.confirm({title:"Delete definition",message:"This will permanently delete the workflow definition. Already running executions are not affected.",detail:`${i}@${n}`,confirmLabel:"Delete",destructive:true}).subscribe(l=>{l&&(this.deletingKey.set(`${i}@${n}`),this.definitionsError.set(null),this.api.deleteWorkflowDefinition(i,n).subscribe({next:()=>{this.deletingKey.set(null),this.loadDefinitions();},error:f=>{this.applyError(f,x=>this.definitionsError.set(x)),this.deletingKey.set(null);}}));});}definitionKey(t){return `${t.workflowType??""}@${t.version??""}`}confirm(t){return this.dialog.open(I,{data:t,width:"440px"}).afterClosed().pipe(O(i=>i===true))}applyError(t,i){let n=fe(t);n.forbidden?(this.adminDisabled.set(true),this.forbiddenError.set(n.message)):i(n.message);}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Ae({type:e,selectors:[["sf-admin-page"]],decls:44,vars:13,consts:[[1,"page"],[1,"page-head"],[1,"titles"],[1,"sf-muted"],["dot","",3,"tone"],["role","alert","data-admin-forbidden","true",1,"banner","banner--error"],["data-admin-definitions","true",1,"section","sf-panel"],[1,"section-title"],[1,"sf-muted","section-desc"],[1,"row","file-row"],["type","file","accept",".json,application/json","data-admin-definition-file","true",3,"change","disabled"],["data-admin-definition-filename","true",1,"result-chip"],[1,"sf-spacer"],["mat-flat-button","","data-admin-definition-upload","true",1,"sf-primary",3,"click","disabled"],["mat-stroked-button","","data-admin-definition-refresh","true",1,"sf-secondary",3,"click","disabled"],["role","alert","data-admin-definition-error","true",1,"banner","banner--warn"],["mat-table","",1,"definitions-table",3,"dataSource"],["matColumnDef","workflowType"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","","class","sf-mono","data-definition-type","true",4,"matCellDef"],["matColumnDef","version"],["mat-cell","","class","sf-mono","data-definition-version","true",4,"matCellDef"],["matColumnDef","definitionHash"],["mat-cell","","class","sf-mono","data-definition-hash","true",4,"matCellDef"],["matColumnDef","actions"],["mat-cell","",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["data-definition-empty","true",1,"sf-muted","empty"],["aria-hidden","true"],["mat-header-cell",""],["mat-cell","","data-definition-type","true",1,"sf-mono"],["mat-cell","","data-definition-version","true",1,"sf-mono"],["mat-cell","","data-definition-hash","true",1,"sf-mono"],["mat-cell",""],["mat-stroked-button","","data-admin-definition-delete","true",1,"sf-danger",3,"click","disabled"],["mat-header-row",""],["mat-row",""]],template:function(i,n){if(i&1&&(da(0,"div",0)(1,"header",1)(2,"div",2)(3,"h1"),kC(4,"Workflow definitions"),Ed(),da(5,"p",3),kC(6,"Import and manage registered workflow definitions."),Ed()(),da(7,"sf-status-chip",4),kC(8),Ed()(),ni$1(9,X,5,1,"div",5),da(10,"section",6)(11,"h2",7),kC(12,"Workflow definitions"),Ed(),da(13,"p",8),kC(14,"Import a JSON definition (v1 format) and manage registered definitions."),Ed(),da(15,"div",9)(16,"input",10),Yg("change",function(f){return n.onFileSelected(f)}),Ed(),ni$1(17,Y,2,1,"span",11),zg(18,"span",12),da(19,"button",13),Yg("click",function(){return n.uploadDefinition()}),da(20,"mat-icon"),kC(21,"upload"),Ed(),kC(22),Ed(),da(23,"button",14),Yg("click",function(){return n.loadDefinitions()}),da(24,"mat-icon"),kC(25,"refresh"),Ed(),kC(26," Refresh "),Ed()(),ni$1(27,Z,2,1,"div",15),da(28,"table",16),_d(29,17),jg(30,ee,2,0,"th",18)(31,te,2,1,"td",19),Id(),_d(32,20),jg(33,ne,2,0,"th",18)(34,ie,2,1,"td",21),Id(),_d(35,22),jg(36,oe,2,0,"th",18)(37,ae,2,1,"td",23),Id(),_d(38,24),jg(39,re,1,0,"th",18)(40,de,3,2,"td",25),Id(),jg(41,le,1,0,"tr",26)(42,se,1,0,"tr",27),Ed(),ni$1(43,me,2,1,"p",28),Ed()()),i&2){let l,f,x;Qo(7),$g("tone",n.adminDisabled()?"red":"green"),Qo(),Cd(" ",n.adminDisabled()?"Access denied":"Admin"," "),Qo(),ri$1((l=n.forbiddenError())?9:-1,l),Qo(7),$g("disabled",n.adminDisabled()||n.uploading()),Qo(),ri$1((f=n.selectedFile())?17:-1,f),Qo(2),$g("disabled",n.adminDisabled()||n.uploading()),Qo(3),Cd(" ",n.uploading()?"Importing\u2026":"Import definition"," "),Qo(),$g("disabled",n.adminDisabled()||n.definitionsLoading()),Qo(4),ri$1((x=n.definitionsError())?27:-1,x),Qo(),$g("dataSource",n.definitions()),Qo(13),$g("matHeaderRowDef",n.definitionColumns),Qo(),$g("matRowDefColumns",n.definitionColumns),Qo(),ri$1(n.definitions().length===0?43:-1);}},dependencies:[EW,DW,M8,S8,ci,Zt,ei,ni,ti,Jt,ri,ii,oi,si,ai,_],styles:[".page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:18px;max-width:1100px}.page-head[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:16px}.titles[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:4px}h1[_ngcontent-%COMP%]{margin:0;font-size:28px;font-weight:800;letter-spacing:-.01em}.titles[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;padding:20px}.section-title[_ngcontent-%COMP%]{margin:0;font-size:18px;font-weight:700}.section-desc[_ngcontent-%COMP%]{margin:0;font-size:13.5px}.row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-row[_ngcontent-%COMP%]{gap:10px}.file-row[_ngcontent-%COMP%] input[type=file][_ngcontent-%COMP%]{color:var(--sf-text-2);font-size:13px}.field[_ngcontent-%COMP%]{width:100%;max-width:480px}.result[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:4px}.result-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:999px;border:1px solid var(--sf-outline-strong);background:var(--sf-surface-2);color:var(--sf-text-2);font-size:13px;font-weight:600}.result-chip--success[_ngcontent-%COMP%]{color:#6ee79a;border-color:#22583a;background:#0e1f16}.result-chip--error[_ngcontent-%COMP%]{color:#f58f8f;border-color:#6b2a2e;background:#1f1114}.timestamp[_ngcontent-%COMP%]{color:var(--sf-text-muted);font-size:12.5px}.banner[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid;font-size:13.5px;font-weight:600}.banner[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:18px;height:18px;font-size:18px}.banner--error[_ngcontent-%COMP%]{color:#f58f8f;border-color:#6b2a2e;background:#1f1114}.banner--warn[_ngcontent-%COMP%]{color:var(--sf-tertiary);border-color:#5a4818;background:#1d180b}.definitions-table[_ngcontent-%COMP%]{width:100%}th.mat-mdc-header-cell[_ngcontent-%COMP%]{background:var(--sf-chrome);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sf-text-faint)}td.mat-mdc-cell[_ngcontent-%COMP%]{border-bottom-color:#1a1f2c}.empty[_ngcontent-%COMP%]{margin:0;padding:12px 4px;font-size:13.5px}.mat-mdc-unelevated-button.sf-danger[_ngcontent-%COMP%]{background:#6b2a2e;color:#ffd9d9;border-radius:10px;font-weight:700}"]})};export{G as AdminPageComponent,q as FORBIDDEN_ADMIN_REQUIRED,fe as describeAdminError};
1
+ import {I}from'./chunk-5D9kQYIK.js';import {e as ee$1}from'./chunk-Bbn7N_eY.js';import {c as ci,Z as Zt,e as ei,n as ni,t as ti,J as Jt,r as ri,i as ii,o as oi,s as si,a as ai}from'./chunk-Cp2jkfYz.js';import {_}from'./chunk-C4STIGjG.js';import {h,a4 as fb,f as Ye,p as pb,av as O,A as Ae,E as EW,D as DW,M as M8,S as S8,d as da,k as kC,b as Ed,t as ni$1,Y as Yg,z as zg,bP as _d,aZ as jg,bQ as Id,Q as Qo,$ as $g,a2 as Cd,y as ri$1,u as uy,e as eC,T as sC,a0 as Vp,a1 as Hp}from'./main-HFWOOLXW.js';function X(e,t){e&1&&(da(0,"div",5)(1,"mat-icon",29),kC(2,"gpp_bad"),Ed(),da(3,"span"),kC(4),Ed()()),e&2&&(Qo(4),uy(t));}function Y(e,t){e&1&&(da(0,"span",11),kC(1),Ed()),e&2&&(Qo(),uy(t.name));}function Z(e,t){e&1&&(da(0,"div",15),kC(1),Ed()),e&2&&(Qo(),uy(t));}function ee(e,t){e&1&&(da(0,"th",30),kC(1,"Type"),Ed());}function te(e,t){if(e&1&&(da(0,"td",31),kC(1),Ed()),e&2){let i=t.$implicit;Qo(),uy(i.workflowType);}}function ne(e,t){e&1&&(da(0,"th",30),kC(1,"Version"),Ed());}function ie(e,t){if(e&1&&(da(0,"td",32),kC(1),Ed()),e&2){let i=t.$implicit;Qo(),uy(i.version);}}function oe(e,t){e&1&&(da(0,"th",30),kC(1,"Hash"),Ed());}function ae(e,t){if(e&1&&(da(0,"td",33),kC(1),Ed()),e&2){let i=t.$implicit;Qo(),uy(i.definitionHash);}}function re(e,t){e&1&&zg(0,"th",30);}function de(e,t){if(e&1){let i=eC();da(0,"td",34)(1,"button",35),Yg("click",function(){let l=Vp(i).$implicit,f=sC();return Hp(f.deleteDefinition(l))}),kC(2),Ed()();}if(e&2){let i=t.$implicit,n=sC();Qo(),$g("disabled",n.adminDisabled()||n.deletingKey()===n.definitionKey(i)),Qo(),Cd(" ",n.deletingKey()===n.definitionKey(i)?"Deleting\u2026":"Delete"," ");}}function le(e,t){e&1&&zg(0,"tr",36);}function se(e,t){e&1&&zg(0,"tr",37);}function me(e,t){if(e&1&&(da(0,"p",28),kC(1),Ed()),e&2){let i=sC();Qo(),Cd(" ",i.definitionsLoading()?"Loading\u2026":"No definitions registered."," ");}}var q="FORBIDDEN_ADMIN_REQUIRED";function fe(e){let t=e?.status===403||e?.code===q,i=typeof e?.message=="string"&&e.message.trim()?e.message.trim():null;return t?{forbidden:true,message:`Access denied: ${i??"admin rights required"} (${q})`}:{forbidden:false,message:i??"Admin command failed (network or server error)."}}function pe(e){if(Array.isArray(e))return e;let t=e?.items;return Array.isArray(t)?t:[]}var G=class e{api=h(fb);dialog=h(ee$1);adminDisabled=Ye(false);forbiddenError=Ye(null);definitions=Ye([]);definitionsLoading=Ye(false);uploading=Ye(false);selectedFile=Ye(null);definitionsError=Ye(null);deletingKey=Ye(null);definitionColumns=["workflowType","version","definitionHash","actions"];constructor(){h(pb).crumbs.set([{label:"Workflow definitions"}]),this.loadDefinitions();}loadDefinitions(){this.adminDisabled()||(this.definitionsLoading.set(true),this.definitionsError.set(null),this.api.getWorkflowDefinitions().subscribe({next:t=>{this.definitions.set(pe(t)),this.definitionsLoading.set(false);},error:t=>{this.applyError(t,i=>this.definitionsError.set(i)),this.definitionsLoading.set(false);}}));}onFileSelected(t){let i=t.target;this.selectedFile.set(i.files?.[0]??null);}uploadDefinition(){if(this.adminDisabled()||this.uploading())return;let t=this.selectedFile();if(!t){this.definitionsError.set("Please select a JSON definition file.");return}this.uploading.set(true),this.definitionsError.set(null),this.api.uploadWorkflowDefinition(t).subscribe({next:()=>{this.selectedFile.set(null),this.uploading.set(false),this.loadDefinitions();},error:i=>{this.applyError(i,n=>this.definitionsError.set(n)),this.uploading.set(false);}});}deleteDefinition(t){if(this.adminDisabled()||this.deletingKey())return;let i=String(t.workflowType??"").trim(),n=String(t.version??"").trim();!i||!n||this.confirm({title:"Delete definition",message:"This will permanently delete the workflow definition. Already running executions are not affected.",detail:`${i}@${n}`,confirmLabel:"Delete",destructive:true}).subscribe(l=>{l&&(this.deletingKey.set(`${i}@${n}`),this.definitionsError.set(null),this.api.deleteWorkflowDefinition(i,n).subscribe({next:()=>{this.deletingKey.set(null),this.loadDefinitions();},error:f=>{this.applyError(f,x=>this.definitionsError.set(x)),this.deletingKey.set(null);}}));});}definitionKey(t){return `${t.workflowType??""}@${t.version??""}`}confirm(t){return this.dialog.open(I,{data:t,width:"440px"}).afterClosed().pipe(O(i=>i===true))}applyError(t,i){let n=fe(t);n.forbidden?(this.adminDisabled.set(true),this.forbiddenError.set(n.message)):i(n.message);}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Ae({type:e,selectors:[["sf-admin-page"]],decls:44,vars:13,consts:[[1,"page"],[1,"page-head"],[1,"titles"],[1,"sf-muted"],["dot","",3,"tone"],["role","alert","data-admin-forbidden","true",1,"banner","banner--error"],["data-admin-definitions","true",1,"section","sf-panel"],[1,"section-title"],[1,"sf-muted","section-desc"],[1,"row","file-row"],["type","file","accept",".json,application/json","data-admin-definition-file","true",3,"change","disabled"],["data-admin-definition-filename","true",1,"result-chip"],[1,"sf-spacer"],["mat-flat-button","","data-admin-definition-upload","true",1,"sf-primary",3,"click","disabled"],["mat-stroked-button","","data-admin-definition-refresh","true",1,"sf-secondary",3,"click","disabled"],["role","alert","data-admin-definition-error","true",1,"banner","banner--warn"],["mat-table","",1,"definitions-table",3,"dataSource"],["matColumnDef","workflowType"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","","class","sf-mono","data-definition-type","true",4,"matCellDef"],["matColumnDef","version"],["mat-cell","","class","sf-mono","data-definition-version","true",4,"matCellDef"],["matColumnDef","definitionHash"],["mat-cell","","class","sf-mono","data-definition-hash","true",4,"matCellDef"],["matColumnDef","actions"],["mat-cell","",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["data-definition-empty","true",1,"sf-muted","empty"],["aria-hidden","true"],["mat-header-cell",""],["mat-cell","","data-definition-type","true",1,"sf-mono"],["mat-cell","","data-definition-version","true",1,"sf-mono"],["mat-cell","","data-definition-hash","true",1,"sf-mono"],["mat-cell",""],["mat-stroked-button","","data-admin-definition-delete","true",1,"sf-danger",3,"click","disabled"],["mat-header-row",""],["mat-row",""]],template:function(i,n){if(i&1&&(da(0,"div",0)(1,"header",1)(2,"div",2)(3,"h1"),kC(4,"Workflow definitions"),Ed(),da(5,"p",3),kC(6,"Import and manage registered workflow definitions."),Ed()(),da(7,"sf-status-chip",4),kC(8),Ed()(),ni$1(9,X,5,1,"div",5),da(10,"section",6)(11,"h2",7),kC(12,"Workflow definitions"),Ed(),da(13,"p",8),kC(14,"Import a JSON definition (v1 format) and manage registered definitions."),Ed(),da(15,"div",9)(16,"input",10),Yg("change",function(f){return n.onFileSelected(f)}),Ed(),ni$1(17,Y,2,1,"span",11),zg(18,"span",12),da(19,"button",13),Yg("click",function(){return n.uploadDefinition()}),da(20,"mat-icon"),kC(21,"upload"),Ed(),kC(22),Ed(),da(23,"button",14),Yg("click",function(){return n.loadDefinitions()}),da(24,"mat-icon"),kC(25,"refresh"),Ed(),kC(26," Refresh "),Ed()(),ni$1(27,Z,2,1,"div",15),da(28,"table",16),_d(29,17),jg(30,ee,2,0,"th",18)(31,te,2,1,"td",19),Id(),_d(32,20),jg(33,ne,2,0,"th",18)(34,ie,2,1,"td",21),Id(),_d(35,22),jg(36,oe,2,0,"th",18)(37,ae,2,1,"td",23),Id(),_d(38,24),jg(39,re,1,0,"th",18)(40,de,3,2,"td",25),Id(),jg(41,le,1,0,"tr",26)(42,se,1,0,"tr",27),Ed(),ni$1(43,me,2,1,"p",28),Ed()()),i&2){let l,f,x;Qo(7),$g("tone",n.adminDisabled()?"red":"green"),Qo(),Cd(" ",n.adminDisabled()?"Access denied":"Admin"," "),Qo(),ri$1((l=n.forbiddenError())?9:-1,l),Qo(7),$g("disabled",n.adminDisabled()||n.uploading()),Qo(),ri$1((f=n.selectedFile())?17:-1,f),Qo(2),$g("disabled",n.adminDisabled()||n.uploading()),Qo(3),Cd(" ",n.uploading()?"Importing\u2026":"Import definition"," "),Qo(),$g("disabled",n.adminDisabled()||n.definitionsLoading()),Qo(4),ri$1((x=n.definitionsError())?27:-1,x),Qo(),$g("dataSource",n.definitions()),Qo(13),$g("matHeaderRowDef",n.definitionColumns),Qo(),$g("matRowDefColumns",n.definitionColumns),Qo(),ri$1(n.definitions().length===0?43:-1);}},dependencies:[EW,DW,M8,S8,ci,Zt,ei,ni,ti,Jt,ri,ii,oi,si,ai,_],styles:[".page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:18px;max-width:1100px}.page-head[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:16px}.titles[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:4px}h1[_ngcontent-%COMP%]{margin:0;font-size:28px;font-weight:800;letter-spacing:-.01em}.titles[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;padding:20px}.section-title[_ngcontent-%COMP%]{margin:0;font-size:18px;font-weight:700}.section-desc[_ngcontent-%COMP%]{margin:0;font-size:13.5px}.row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-row[_ngcontent-%COMP%]{gap:10px}.file-row[_ngcontent-%COMP%] input[type=file][_ngcontent-%COMP%]{color:var(--sf-text-2);font-size:13px}.field[_ngcontent-%COMP%]{width:100%;max-width:480px}.result[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:4px}.result-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:999px;border:1px solid var(--sf-outline-strong);background:var(--sf-surface-2);color:var(--sf-text-2);font-size:13px;font-weight:600}.result-chip--success[_ngcontent-%COMP%]{color:#6ee79a;border-color:#22583a;background:#0e1f16}.result-chip--error[_ngcontent-%COMP%]{color:#f58f8f;border-color:#6b2a2e;background:#1f1114}.timestamp[_ngcontent-%COMP%]{color:var(--sf-text-muted);font-size:12.5px}.banner[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid;font-size:13.5px;font-weight:600}.banner[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:18px;height:18px;font-size:18px}.banner--error[_ngcontent-%COMP%]{color:#f58f8f;border-color:#6b2a2e;background:#1f1114}.banner--warn[_ngcontent-%COMP%]{color:var(--sf-tertiary);border-color:#5a4818;background:#1d180b}.definitions-table[_ngcontent-%COMP%]{width:100%}th.mat-mdc-header-cell[_ngcontent-%COMP%]{background:var(--sf-chrome);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sf-text-faint)}td.mat-mdc-cell[_ngcontent-%COMP%]{border-bottom-color:#1a1f2c}.empty[_ngcontent-%COMP%]{margin:0;padding:12px 4px;font-size:13.5px}.mat-mdc-unelevated-button.sf-danger[_ngcontent-%COMP%]{background:#6b2a2e;color:#ffd9d9;border-radius:10px;font-weight:700}"]})};export{G as AdminPageComponent,q as FORBIDDEN_ADMIN_REQUIRED,fe as describeAdminError};
@@ -1 +1 @@
1
- import {B as Be,P as Pe}from'./chunk-DEWWdAZe.js';import {h,a4 as fb,o as ot,a5 as ce,f as Ye,a6 as Dn,a7 as ie,p as pb,a8 as MW,a9 as ac,aa as M,A as Ae,ab as An,ac as Vn,ad as Ue,ae as yn,af as Cn,ag as Nt,ah as Kt,ai as Xt,N as Nt$1,E as EW,D as DW,aj as Pt,ak as It,al as Me$1,am as Se,an as _i,M as M8,S as S8,ao as Wr,ap as Hr,aq as ce$1,d as da,k as kC,b as Ed,t as ni,Y as Yg,z as zg,ar as OI,Q as Qo,y as ri,$ as $g,u as uy,as as LI,a2 as Cd,q as qw,at as Gw,T as sC,Z as Zw}from'./main-N22U3TWY.js';var de=(e,t)=>t.id;function pe(e,t){e&1&&(da(0,"div",4)(1,"mat-icon",21),kC(2,"check_circle"),Ed(),da(3,"span"),kC(4),Ed()()),e&2&&(Qo(4),uy(t));}function ue(e,t){e&1&&(da(0,"div",5)(1,"mat-icon",21),kC(2,"error"),Ed(),da(3,"span"),kC(4),Ed()()),e&2&&(Qo(4),uy(t));}function fe(e,t){e&1&&(da(0,"div",6)(1,"mat-icon",21),kC(2,"warning"),Ed(),da(3,"span"),kC(4),Ed()()),e&2&&(Qo(4),uy(t));}function ge(e,t){if(e&1&&(da(0,"mat-option",22),kC(1),Ed()),e&2){let n=t.$implicit;$g("value",n),Qo(),uy(n);}}function he(e,t){if(e&1&&(da(0,"mat-select",9),qw(1,ge,2,2,"mat-option",22,Gw),Ed(),OI()),e&2){let n=sC();LI(),Qo(),Zw(n.workflowTypes());}}function be(e,t){e&1&&(zg(0,"input",10),OI()),e&2&&LI();}function ye(e,t){e&1&&(da(0,"mat-error"),kC(1,"Workflow definition is required."),Ed());}function xe(e,t){if(e&1&&(da(0,"mat-option",22),kC(1),Ed()),e&2){let n=t.$implicit;$g("value",n.id),Qo(),uy(n.name);}}function Ce(e,t){if(e&1&&(da(0,"mat-select",11),qw(1,xe,2,2,"mat-option",22,de),Ed(),OI()),e&2){let n=sC();LI(),Qo(),Zw(n.namespaces());}}function _e(e,t){e&1&&(zg(0,"input",12),OI()),e&2&&LI();}function ve(e,t){e&1&&(da(0,"mat-error"),kC(1,"Namespace is required."),Ed());}function we(e,t){e&1&&(da(0,"mat-error"),kC(1,"The objective must not exceed 4,000 characters."),Ed());}function Me(e){let t=Array.isArray(e)?e:Array.isArray(e?.items)?e.items:[],n=new Set;for(let a of t){if(typeof a=="string"){a.trim()&&n.add(a.trim());continue}let s=a?.workflowType;typeof s=="string"&&s.trim()&&n.add(s.trim());}return Array.from(n)}function ke(e){let t=e?.code??"UNKNOWN_ERROR",n=e?.message?.trim();return n?`${n} (${t})`:`Launch failed (${t}).`}var me=class e{api=h(fb);store=h(ot);router=h(ce);workflowTypes=Ye([]);namespaces=Ye([]);submitting=Ye(false);successMessage=Ye(null);errorMessage=Ye(null);definitionsLoading=Ye(false);definitionsError=Ye(null);form=h(Dn).group({workflowType:["",ie.required],namespaceId:["",ie.required],title:["",ie.maxLength(200)],ticket:["",ie.maxLength(64)],initialRequest:["",ie.maxLength(4e3)]});constructor(){h(pb).crumbs.set([{label:"Sandboxes",link:"/sandboxes"},{label:"Launch a run"}]),this.loadDefinitions(),this.loadNamespaces();}loadDefinitions(){this.definitionsLoading.set(true),this.definitionsError.set(null),this.api.getWorkflowDefinitions().subscribe({next:t=>{let n=Me(t);if(this.workflowTypes.set(n),n.length===1){let[a]=n;a&&this.form.controls.workflowType.setValue(a);}this.definitionsLoading.set(false);},error:t=>{this.definitionsError.set(t?.message??"Workflow definitions unavailable."),this.definitionsLoading.set(false);}});}loadNamespaces(){this.api.getNamespaces().subscribe(t=>{let n=MW(t);this.namespaces.set(n);let[a]=n;a&&!this.form.controls.namespaceId.value&&this.form.controls.namespaceId.setValue(a.id);});}onSubmit(){if(this.submitting())return;if(this.form.invalid){this.form.markAllAsTouched();return}let{workflowType:t,namespaceId:n,title:a,ticket:s,initialRequest:C}=this.form.getRawValue(),y=a.trim(),E=s.trim(),S=C.trim(),ce=ac();this.submitting.set(true),this.successMessage.set(null),this.errorMessage.set(null),this.api.createWorkflowRun(M(M(M({workflowType:t},y?{title:y}:{}),S?{initialRequest:S}:{}),E?{parameters:{ticket:E}}:{}),n,ce).subscribe({next:_=>{this.submitting.set(false);let L=_?.submissionId;this.successMessage.set(L?`Launch accepted (id: ${L})`:"Launch accepted."),this.store.refresh(),this.router.navigate(["/sessions",_.workflowId]);},error:_=>{this.submitting.set(false),this.errorMessage.set(ke(_));}});}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=Ae({type:e,selectors:[["sf-launch-page"]],decls:49,vars:13,consts:[[1,"page"],[1,"page-head"],[1,"titles"],[1,"sf-muted"],["role","status","data-launch-success","true",1,"banner","banner--success"],["role","alert","data-launch-error","true",1,"banner","banner--error"],["role","alert","data-launch-definitions-error","true",1,"banner","banner--warn"],["novalidate","",1,"sf-panel","launch-form",3,"ngSubmit","formGroup"],["appearance","outline",1,"field"],["formControlName","workflowType","data-launch-workflow-type","true"],["matInput","","formControlName","workflowType","placeholder","adw_simple_sdlc","data-launch-workflow-type","true",1,"sf-mono"],["formControlName","namespaceId","data-launch-namespace","true"],["matInput","","formControlName","namespaceId","placeholder","default","data-launch-namespace","true",1,"sf-mono"],["appearance","outline",1,"field","field--wide"],["matInput","","formControlName","title","maxlength","200","placeholder","Readable run title","data-launch-title","true"],["matInput","","formControlName","ticket","placeholder","ABC-123","data-launch-ticket","true",1,"sf-mono"],["matInput","","id","launch-initial-request","formControlName","initialRequest","aria-describedby","launch-initial-request-help","rows","5","maxlength","4000","data-launch-initial-request","true"],["id","launch-initial-request-help"],[1,"form-actions"],["mat-flat-button","","type","submit","data-launch-submit","true",1,"sf-primary",3,"disabled"],["mat-stroked-button","","routerLink","/sandboxes",1,"sf-secondary"],["aria-hidden","true"],[3,"value"]],template:function(n,a){if(n&1&&(da(0,"div",0)(1,"header",1)(2,"div",2)(3,"h1"),kC(4,"Launch a run"),Ed(),da(5,"p",3),kC(6," Creates and durably submits a real workflow. Factory assigns identity and execution context. "),Ed()()(),ni(7,pe,5,1,"div",4),ni(8,ue,5,1,"div",5),ni(9,fe,5,1,"div",6),da(10,"form",7),Yg("ngSubmit",function(){return a.onSubmit()}),da(11,"mat-form-field",8)(12,"mat-label"),kC(13,"Workflow definition"),Ed(),ni(14,he,3,0,"mat-select",9)(15,be,1,0,"input",10),ni(16,ye,2,0,"mat-error"),da(17,"mat-hint"),kC(18),Ed()(),da(19,"mat-form-field",8)(20,"mat-label"),kC(21,"Namespace"),Ed(),ni(22,Ce,3,0,"mat-select",11)(23,_e,1,0,"input",12),ni(24,ve,2,0,"mat-error"),Ed(),da(25,"mat-form-field",13)(26,"mat-label"),kC(27,"Title (optional)"),Ed(),zg(28,"input",14),OI(),da(29,"mat-hint"),kC(30,"Factory generates a readable title if omitted."),Ed()(),da(31,"mat-form-field",8)(32,"mat-label"),kC(33,"Jira ticket (optional)"),Ed(),zg(34,"input",15),OI(),Ed(),da(35,"mat-form-field",13)(36,"mat-label"),kC(37,"What would you like to do? (optional)"),Ed(),zg(38,"textarea",16),OI(),ni(39,we,2,0,"mat-error"),da(40,"mat-hint",17),kC(41," Describe your objective, even briefly. The agent will ask for any clarifications needed. "),Ed()(),da(42,"div",18)(43,"button",19)(44,"mat-icon"),kC(45),Ed(),kC(46),Ed(),da(47,"a",20),kC(48,"Cancel"),Ed()()()()),n&2){let s,C,y;Qo(7),ri((s=a.successMessage())?7:-1,s),Qo(),ri((C=a.errorMessage())?8:-1,C),Qo(),ri((y=a.definitionsError())?9:-1,y),Qo(),$g("formGroup",a.form),Qo(4),ri(a.workflowTypes().length>0?14:15),Qo(2),ri(a.form.controls.workflowType.hasError("required")?16:-1),Qo(2),uy(a.definitionsLoading()?"Loading definitions\u2026":"workflowType"),Qo(4),ri(a.namespaces().length>0?22:23),Qo(2),ri(a.form.controls.namespaceId.hasError("required")?24:-1),Qo(4),LI(),Qo(6),LI(),Qo(4),LI(),Qo(),ri(a.form.controls.initialRequest.hasError("maxlength")?39:-1),Qo(4),$g("disabled",a.submitting()),Qo(2),uy(a.submitting()?"hourglass_top":"play_arrow"),Qo(),Cd(" ",a.submitting()?"Launching\u2026":"Launch run"," ");}},dependencies:[An,Vn,Ue,yn,Cn,Nt,Kt,Xt,Nt$1,EW,DW,Pt,It,Me$1,Se,_i,M8,S8,Be,Pe,Wr,Hr,ce$1],styles:[".page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:18px;max-width:900px}.page-head[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:12px}.titles[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:4px}h1[_ngcontent-%COMP%]{margin:0;font-size:28px;font-weight:800;letter-spacing:-.01em}.titles[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px}.launch-form[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;padding:24px}.field[_ngcontent-%COMP%]{width:100%}.field--wide[_ngcontent-%COMP%]{grid-column:1/-1}.form-actions[_ngcontent-%COMP%]{grid-column:1/-1;display:flex;gap:10px;padding-top:8px}.banner[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid;font-size:13.5px;font-weight:600}.banner[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:18px;height:18px;font-size:18px}.banner--success[_ngcontent-%COMP%]{color:#6ee79a;border-color:#22583a;background:#0e1f16}.banner--error[_ngcontent-%COMP%]{color:#f58f8f;border-color:#6b2a2e;background:#1f1114}.banner--warn[_ngcontent-%COMP%]{color:var(--sf-tertiary);border-color:#5a4818;background:#1d180b}@media(max-width:720px){.launch-form[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}}"]})};export{me as LaunchPageComponent,Me as extractWorkflowTypes,ke as formatLaunchError};
1
+ import {B as Be,P as Pe}from'./chunk-DITiCi9G.js';import {h,a4 as fb,o as ot,a5 as ce,f as Ye,a6 as Dn,a7 as ie,p as pb,a8 as MW,a9 as ac,aa as M,A as Ae,ab as An,ac as Vn,ad as Ue,ae as yn,af as Cn,ag as Nt,ah as Kt,ai as Xt,N as Nt$1,E as EW,D as DW,aj as Pt,ak as It,al as Me$1,am as Se,an as _i,M as M8,S as S8,ao as Wr,ap as Hr,aq as ce$1,d as da,k as kC,b as Ed,t as ni,Y as Yg,z as zg,ar as OI,Q as Qo,y as ri,$ as $g,u as uy,as as LI,a2 as Cd,q as qw,at as Gw,T as sC,Z as Zw}from'./main-HFWOOLXW.js';var de=(e,t)=>t.id;function pe(e,t){e&1&&(da(0,"div",4)(1,"mat-icon",21),kC(2,"check_circle"),Ed(),da(3,"span"),kC(4),Ed()()),e&2&&(Qo(4),uy(t));}function ue(e,t){e&1&&(da(0,"div",5)(1,"mat-icon",21),kC(2,"error"),Ed(),da(3,"span"),kC(4),Ed()()),e&2&&(Qo(4),uy(t));}function fe(e,t){e&1&&(da(0,"div",6)(1,"mat-icon",21),kC(2,"warning"),Ed(),da(3,"span"),kC(4),Ed()()),e&2&&(Qo(4),uy(t));}function ge(e,t){if(e&1&&(da(0,"mat-option",22),kC(1),Ed()),e&2){let n=t.$implicit;$g("value",n),Qo(),uy(n);}}function he(e,t){if(e&1&&(da(0,"mat-select",9),qw(1,ge,2,2,"mat-option",22,Gw),Ed(),OI()),e&2){let n=sC();LI(),Qo(),Zw(n.workflowTypes());}}function be(e,t){e&1&&(zg(0,"input",10),OI()),e&2&&LI();}function ye(e,t){e&1&&(da(0,"mat-error"),kC(1,"Workflow definition is required."),Ed());}function xe(e,t){if(e&1&&(da(0,"mat-option",22),kC(1),Ed()),e&2){let n=t.$implicit;$g("value",n.id),Qo(),uy(n.name);}}function Ce(e,t){if(e&1&&(da(0,"mat-select",11),qw(1,xe,2,2,"mat-option",22,de),Ed(),OI()),e&2){let n=sC();LI(),Qo(),Zw(n.namespaces());}}function _e(e,t){e&1&&(zg(0,"input",12),OI()),e&2&&LI();}function ve(e,t){e&1&&(da(0,"mat-error"),kC(1,"Namespace is required."),Ed());}function we(e,t){e&1&&(da(0,"mat-error"),kC(1,"The objective must not exceed 4,000 characters."),Ed());}function Me(e){let t=Array.isArray(e)?e:Array.isArray(e?.items)?e.items:[],n=new Set;for(let a of t){if(typeof a=="string"){a.trim()&&n.add(a.trim());continue}let s=a?.workflowType;typeof s=="string"&&s.trim()&&n.add(s.trim());}return Array.from(n)}function ke(e){let t=e?.code??"UNKNOWN_ERROR",n=e?.message?.trim();return n?`${n} (${t})`:`Launch failed (${t}).`}var me=class e{api=h(fb);store=h(ot);router=h(ce);workflowTypes=Ye([]);namespaces=Ye([]);submitting=Ye(false);successMessage=Ye(null);errorMessage=Ye(null);definitionsLoading=Ye(false);definitionsError=Ye(null);form=h(Dn).group({workflowType:["",ie.required],namespaceId:["",ie.required],title:["",ie.maxLength(200)],ticket:["",ie.maxLength(64)],initialRequest:["",ie.maxLength(4e3)]});constructor(){h(pb).crumbs.set([{label:"Sandboxes",link:"/sandboxes"},{label:"Launch a run"}]),this.loadDefinitions(),this.loadNamespaces();}loadDefinitions(){this.definitionsLoading.set(true),this.definitionsError.set(null),this.api.getWorkflowDefinitions().subscribe({next:t=>{let n=Me(t);if(this.workflowTypes.set(n),n.length===1){let[a]=n;a&&this.form.controls.workflowType.setValue(a);}this.definitionsLoading.set(false);},error:t=>{this.definitionsError.set(t?.message??"Workflow definitions unavailable."),this.definitionsLoading.set(false);}});}loadNamespaces(){this.api.getNamespaces().subscribe(t=>{let n=MW(t);this.namespaces.set(n);let[a]=n;a&&!this.form.controls.namespaceId.value&&this.form.controls.namespaceId.setValue(a.id);});}onSubmit(){if(this.submitting())return;if(this.form.invalid){this.form.markAllAsTouched();return}let{workflowType:t,namespaceId:n,title:a,ticket:s,initialRequest:C}=this.form.getRawValue(),y=a.trim(),E=s.trim(),S=C.trim(),ce=ac();this.submitting.set(true),this.successMessage.set(null),this.errorMessage.set(null),this.api.createWorkflowRun(M(M(M({workflowType:t},y?{title:y}:{}),S?{initialRequest:S}:{}),E?{parameters:{ticket:E}}:{}),n,ce).subscribe({next:_=>{this.submitting.set(false);let L=_?.submissionId;this.successMessage.set(L?`Launch accepted (id: ${L})`:"Launch accepted."),this.store.refresh(),this.router.navigate(["/sessions",_.workflowId]);},error:_=>{this.submitting.set(false),this.errorMessage.set(ke(_));}});}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=Ae({type:e,selectors:[["sf-launch-page"]],decls:49,vars:13,consts:[[1,"page"],[1,"page-head"],[1,"titles"],[1,"sf-muted"],["role","status","data-launch-success","true",1,"banner","banner--success"],["role","alert","data-launch-error","true",1,"banner","banner--error"],["role","alert","data-launch-definitions-error","true",1,"banner","banner--warn"],["novalidate","",1,"sf-panel","launch-form",3,"ngSubmit","formGroup"],["appearance","outline",1,"field"],["formControlName","workflowType","data-launch-workflow-type","true"],["matInput","","formControlName","workflowType","placeholder","adw_simple_sdlc","data-launch-workflow-type","true",1,"sf-mono"],["formControlName","namespaceId","data-launch-namespace","true"],["matInput","","formControlName","namespaceId","placeholder","default","data-launch-namespace","true",1,"sf-mono"],["appearance","outline",1,"field","field--wide"],["matInput","","formControlName","title","maxlength","200","placeholder","Readable run title","data-launch-title","true"],["matInput","","formControlName","ticket","placeholder","ABC-123","data-launch-ticket","true",1,"sf-mono"],["matInput","","id","launch-initial-request","formControlName","initialRequest","aria-describedby","launch-initial-request-help","rows","5","maxlength","4000","data-launch-initial-request","true"],["id","launch-initial-request-help"],[1,"form-actions"],["mat-flat-button","","type","submit","data-launch-submit","true",1,"sf-primary",3,"disabled"],["mat-stroked-button","","routerLink","/sandboxes",1,"sf-secondary"],["aria-hidden","true"],[3,"value"]],template:function(n,a){if(n&1&&(da(0,"div",0)(1,"header",1)(2,"div",2)(3,"h1"),kC(4,"Launch a run"),Ed(),da(5,"p",3),kC(6," Creates and durably submits a real workflow. Factory assigns identity and execution context. "),Ed()()(),ni(7,pe,5,1,"div",4),ni(8,ue,5,1,"div",5),ni(9,fe,5,1,"div",6),da(10,"form",7),Yg("ngSubmit",function(){return a.onSubmit()}),da(11,"mat-form-field",8)(12,"mat-label"),kC(13,"Workflow definition"),Ed(),ni(14,he,3,0,"mat-select",9)(15,be,1,0,"input",10),ni(16,ye,2,0,"mat-error"),da(17,"mat-hint"),kC(18),Ed()(),da(19,"mat-form-field",8)(20,"mat-label"),kC(21,"Namespace"),Ed(),ni(22,Ce,3,0,"mat-select",11)(23,_e,1,0,"input",12),ni(24,ve,2,0,"mat-error"),Ed(),da(25,"mat-form-field",13)(26,"mat-label"),kC(27,"Title (optional)"),Ed(),zg(28,"input",14),OI(),da(29,"mat-hint"),kC(30,"Factory generates a readable title if omitted."),Ed()(),da(31,"mat-form-field",8)(32,"mat-label"),kC(33,"Jira ticket (optional)"),Ed(),zg(34,"input",15),OI(),Ed(),da(35,"mat-form-field",13)(36,"mat-label"),kC(37,"What would you like to do? (optional)"),Ed(),zg(38,"textarea",16),OI(),ni(39,we,2,0,"mat-error"),da(40,"mat-hint",17),kC(41," Describe your objective, even briefly. The agent will ask for any clarifications needed. "),Ed()(),da(42,"div",18)(43,"button",19)(44,"mat-icon"),kC(45),Ed(),kC(46),Ed(),da(47,"a",20),kC(48,"Cancel"),Ed()()()()),n&2){let s,C,y;Qo(7),ri((s=a.successMessage())?7:-1,s),Qo(),ri((C=a.errorMessage())?8:-1,C),Qo(),ri((y=a.definitionsError())?9:-1,y),Qo(),$g("formGroup",a.form),Qo(4),ri(a.workflowTypes().length>0?14:15),Qo(2),ri(a.form.controls.workflowType.hasError("required")?16:-1),Qo(2),uy(a.definitionsLoading()?"Loading definitions\u2026":"workflowType"),Qo(4),ri(a.namespaces().length>0?22:23),Qo(2),ri(a.form.controls.namespaceId.hasError("required")?24:-1),Qo(4),LI(),Qo(6),LI(),Qo(4),LI(),Qo(),ri(a.form.controls.initialRequest.hasError("maxlength")?39:-1),Qo(4),$g("disabled",a.submitting()),Qo(2),uy(a.submitting()?"hourglass_top":"play_arrow"),Qo(),Cd(" ",a.submitting()?"Launching\u2026":"Launch run"," ");}},dependencies:[An,Vn,Ue,yn,Cn,Nt,Kt,Xt,Nt$1,EW,DW,Pt,It,Me$1,Se,_i,M8,S8,Be,Pe,Wr,Hr,ce$1],styles:[".page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:18px;max-width:900px}.page-head[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:12px}.titles[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:4px}h1[_ngcontent-%COMP%]{margin:0;font-size:28px;font-weight:800;letter-spacing:-.01em}.titles[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px}.launch-form[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;padding:24px}.field[_ngcontent-%COMP%]{width:100%}.field--wide[_ngcontent-%COMP%]{grid-column:1/-1}.form-actions[_ngcontent-%COMP%]{grid-column:1/-1;display:flex;gap:10px;padding-top:8px}.banner[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid;font-size:13.5px;font-weight:600}.banner[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:18px;height:18px;font-size:18px}.banner--success[_ngcontent-%COMP%]{color:#6ee79a;border-color:#22583a;background:#0e1f16}.banner--error[_ngcontent-%COMP%]{color:#f58f8f;border-color:#6b2a2e;background:#1f1114}.banner--warn[_ngcontent-%COMP%]{color:var(--sf-tertiary);border-color:#5a4818;background:#1d180b}@media(max-width:720px){.launch-form[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}}"]})};export{me as LaunchPageComponent,Me as extractWorkflowTypes,ke as formatLaunchError};
@@ -1,4 +1,4 @@
1
- import {x as xy,h,au as G,o as ot,p as pb,F as Ft,av as O,n as nT,f as Ye$1,B as Bs,s as st,A as Ae,E as EW,D as DW,g as nS,a as ot$1,i as st$1,j as nt,t as ni$1,y as ri$1,aw as Be,ax as g,C as pe,H as ce,ay as Pe,X as Xr,az as Yn$1,aA as xc,aB as df,aC as um,aD as tt$1,aE as Gr,aF as Et,aG as gy,I as y$1,v as Dt,aH as Qg,aI as uC,aJ as lC,aK as Wr,aL as no$1,aM as k,aN as P,aO as ue,aP as ti$1,aQ as ke,aR as q,aS as ff,aT as p,aU as wt,aV as at,aW as $,aX as Wi$1,aY as pa$1,J as or,L as nt$1,d as da$1,aZ as jg,b as Ed,Q as Qo$1,r as rr,$ as $g,a_ as Xg,a$ as sf,b0 as Ny,b1 as G$1,b2 as Bt,b3 as cb,b4 as xa$1,b5 as In$1,b6 as qb,b7 as Yv,b8 as un,b9 as ln,ba as Ld,Y as Yg,bb as ry,c as qV,bc as Q,aa as M,M as M8,S as S8,O as $t,R as vt$1,k as kC,q as qw,G as GC,Z as Zw,u as uy,W as ZC,bd as ZV,be as oi$1,bf as Bt$1,bg as Qe,bh as si$1,z as zg,a2 as Cd,bi as ey,bj as dC,e as eC,a0 as Vp,T as sC,a1 as Hp,V as YC,K as KC,bk as UC,bl as Jp,bm as dn,bn as Ww,_ as ii$1,bo as Qr,bp as En,bq as Wt,br as Ac,bs as ze,bt as Ie$1,a9 as ac,bu as R,bv as S,bw as gr,bx as Ce$1,by as lb,bz as QS,bA as d,bB as Ge,bC as Z3,bD as wn$1,bE as fC,bF as m,bG as eh,bH as O$1,bI as gs,bJ as qg,at as Gw,bK as Hr,a3 as Om}from'./main-N22U3TWY.js';import {y}from'./chunk-C-gXaMVl.js';import {e as ee,$ as $e,H as Ht,j as jt,N as Nt,z as zt,V as Vt}from'./chunk-DfAOIR1l.js';import {_}from'./chunk-BqCMYOlD.js';function Ce(t,n){let i=!n?.manualCleanup?n?.injector?.get(Be)??h(Be):null,o=Nn(n?.equal),d;n?.requireSync?d=Ye$1({kind:0},{equal:o}):d=Ye$1({kind:1,value:n?.initialValue},{equal:o});let b,G=t.subscribe({next:te=>d.set({kind:1,value:te}),error:te=>{d.set({kind:2,error:te}),b?.();},complete:()=>{b?.();}});if(n?.requireSync&&d().kind===0)throw new g(601,false);return b=i?.onDestroy(G.unsubscribe.bind(G)),nT(()=>{let te=d();switch(te.kind){case 1:return te.value;case 2:throw te.error;case 0:throw new g(601,false)}},{equal:n?.equal})}function Nn(t=Object.is){return (n,e)=>n.kind===1&&e.kind===1&&t(n.value,e.value)}var pt=new y$1("CdkAccordion"),xn=(()=>{class t{_stateChanges=new q;_openCloseAllActions=new q;id=h(ff).getId("cdk-accordion-");multi=false;openAll(){this.multi&&this._openCloseAllActions.next(true);}closeAll(){this._openCloseAllActions.next(false);}ngOnChanges(e){this._stateChanges.next(e);}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete();}static \u0275fac=function(i){return new(i||t)};static \u0275dir=tt$1({type:t,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[2,"multi","multi",Et]},exportAs:["cdkAccordion"],features:[gy([{provide:pt,useExisting:t}]),pa$1]})}return t})(),fn=(()=>{class t{accordion=h(pt,{optional:true,skipSelf:true});_changeDetectorRef=h(Ny);_expansionDispatcher=h(p);_openCloseAllSubscription=G$1.EMPTY;closed=new ke;opened=new ke;destroyed=new ke;expandedChange=new ke;id=h(ff).getId("cdk-accordion-child-");get expanded(){return this._expanded}set expanded(e){if(this._expanded!==e){if(this._expanded=e,this.expandedChange.emit(e),e){this.opened.emit();let i=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,i);}else this.closed.emit();this._changeDetectorRef.markForCheck();}}_expanded=false;get disabled(){return this._disabled()}set disabled(e){this._disabled.set(e);}_disabled=Ye$1(false);_removeUniqueSelectionListener=()=>{};ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((e,i)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===i&&this.id!==e&&(this.expanded=false);}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions());}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe();}toggle(){this.disabled||(this.expanded=!this.expanded);}close(){this.disabled||(this.expanded=false);}open(){this.disabled||(this.expanded=true);}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e);})}static \u0275fac=function(i){return new(i||t)};static \u0275dir=tt$1({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",Et],disabled:[2,"disabled","disabled",Et]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[gy([{provide:pt,useValue:void 0}])]})}return t})(),vn=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({})}return t})();var Bn=["body"],Ln=["bodyWrapper"],zn=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],$n=["mat-expansion-panel-header","*","mat-action-row"];function qn(t,n){}var Vn=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],Qn=["mat-panel-title","mat-panel-description","*"];function Gn(t,n){t&1&&(un(0,"span",1),Jp(),un(1,"svg",2),dn(2,"path",3),ln()());}var mt=new y$1("MAT_ACCORDION"),kn=new y$1("MAT_EXPANSION_PANEL"),Hn=(()=>{class t{_template=h(Hr);_expansionPanel=h(kn,{optional:true});static \u0275fac=function(i){return new(i||t)};static \u0275dir=tt$1({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]})}return t})(),yn=new y$1("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),bt=(()=>{class t extends fn{_viewContainerRef=h(Wr);_animationsDisabled=no$1();_document=h(k);_ngZone=h(P);_elementRef=h(ue);_renderer=h(ti$1);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=e;}_hideToggle=false;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e;}_togglePosition;afterExpand=new ke;afterCollapse=new ke;_inputChanges=new q;accordion=h(mt,{optional:true,skipSelf:true});_lazyContent;_body;_bodyWrapper;_portal;_headerId=h(ff).getId("mat-expansion-panel-header-");constructor(){super();let e=h(yn,{optional:true});this._expansionDispatcher=h(p),e&&(this.hideToggle=e.hideToggle);}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":false}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded;}close(){this.expanded=false;}open(){this.expanded=true;}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(xc(null),wt(()=>this.expanded&&!this._portal),at(1)).subscribe(()=>{this._portal=new $(this._lazyContent._template,this._viewContainerRef);}),this._setupAnimationEvents();}ngOnChanges(e){this._inputChanges.next(e);}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransitionEnd?.(),this._inputChanges.complete();}_containsFocus(){if(this._body){let e=this._document.activeElement,i=this._body.nativeElement;return e===i||i.contains(e)}return false}_transitionEndListener=({target:e,propertyName:i})=>{e===this._bodyWrapper?.nativeElement&&i==="grid-template-rows"&&this._ngZone.run(()=>{this.expanded?this.afterExpand.emit():this.afterCollapse.emit();});};_setupAnimationEvents(){this._ngZone.runOutsideAngular(()=>{this._animationsDisabled?(this.opened.subscribe(()=>this._ngZone.run(()=>this.afterExpand.emit())),this.closed.subscribe(()=>this._ngZone.run(()=>this.afterCollapse.emit()))):setTimeout(()=>{let e=this._elementRef.nativeElement;this._cleanupTransitionEnd=this._renderer.listen(e,"transitionend",this._transitionEndListener),e.classList.add("mat-expansion-panel-animations-enabled");},200);});}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=Ae({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(i,o,d){if(i&1&&Qg(d,Hn,5),i&2){let b;uC(b=lC())&&(o._lazyContent=b.first);}},viewQuery:function(i,o){if(i&1&&Xg(Bn,5)(Ln,5),i&2){let d;uC(d=lC())&&(o._body=d.first),uC(d=lC())&&(o._bodyWrapper=d.first);}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(i,o){i&2&&Dt("mat-expanded",o.expanded)("mat-expansion-panel-spacing",o._hasSpacing());},inputs:{hideToggle:[2,"hideToggle","hideToggle",Et],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[gy([{provide:mt,useValue:void 0},{provide:kn,useExisting:t}]),Gr,pa$1],ngContentSelectors:$n,decls:9,vars:4,consts:[["bodyWrapper",""],["body",""],[1,"mat-expansion-panel-content-wrapper"],["role","region",1,"mat-expansion-panel-content",3,"id"],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(i,o){i&1&&(or(zn),nt$1(0),da$1(1,"div",2,0)(3,"div",3,1)(5,"div",4),nt$1(6,1),jg(7,qn,0,0,"ng-template",5),Ed(),nt$1(8,2),Ed()()),i&2&&(Qo$1(),rr("inert",o.expanded?null:""),Qo$1(2),$g("id",o.id),rr("aria-labelledby",o._headerId),Qo$1(4),$g("cdkPortalOutlet",o._portal));},dependencies:[Wi$1],styles:[`.mat-expansion-panel {
1
+ import {x as xy,h,au as G,o as ot,p as pb,F as Ft,av as O,n as nT,f as Ye$1,B as Bs,s as st,A as Ae,E as EW,D as DW,g as nS,a as ot$1,i as st$1,j as nt,t as ni$1,y as ri$1,aw as Be,ax as g,C as pe,H as ce,ay as Pe,X as Xr,az as Yn$1,aA as xc,aB as df,aC as um,aD as tt$1,aE as Gr,aF as Et,aG as gy,I as y$1,v as Dt,aH as Qg,aI as uC,aJ as lC,aK as Wr,aL as no$1,aM as k,aN as P,aO as ue,aP as ti$1,aQ as ke,aR as q,aS as ff,aT as p,aU as wt,aV as at,aW as $,aX as Wi$1,aY as pa$1,J as or,L as nt$1,d as da$1,aZ as jg,b as Ed,Q as Qo$1,r as rr,$ as $g,a_ as Xg,a$ as sf,b0 as Ny,b1 as G$1,b2 as Bt,b3 as cb,b4 as xa$1,b5 as In$1,b6 as qb,b7 as Yv,b8 as un,b9 as ln,ba as Ld,Y as Yg,bb as ry,c as qV,bc as Q,aa as M,M as M8,S as S8,O as $t,R as vt$1,k as kC,q as qw,G as GC,Z as Zw,u as uy,W as ZC,bd as ZV,be as oi$1,bf as Bt$1,bg as Qe,bh as si$1,z as zg,a2 as Cd,bi as ey,bj as dC,e as eC,a0 as Vp,T as sC,a1 as Hp,V as YC,K as KC,bk as UC,bl as Jp,bm as dn,bn as Ww,_ as ii$1,bo as Qr,bp as En,bq as Wt,br as Ac,bs as ze,bt as Ie$1,a9 as ac,bu as R,bv as S,bw as gr,bx as Ce$1,by as lb,bz as QS,bA as d,bB as Ge,bC as Z3,bD as wn$1,bE as fC,bF as m,bG as eh,bH as O$1,bI as gs,bJ as qg,at as Gw,bK as Hr,a3 as Om}from'./main-HFWOOLXW.js';import {y}from'./chunk-Ddosuu7a.js';import {e as ee,$ as $e,H as Ht,j as jt,N as Nt,z as zt,V as Vt}from'./chunk-Bbn7N_eY.js';import {_}from'./chunk-C4STIGjG.js';function Ce(t,n){let i=!n?.manualCleanup?n?.injector?.get(Be)??h(Be):null,o=Nn(n?.equal),d;n?.requireSync?d=Ye$1({kind:0},{equal:o}):d=Ye$1({kind:1,value:n?.initialValue},{equal:o});let b,G=t.subscribe({next:te=>d.set({kind:1,value:te}),error:te=>{d.set({kind:2,error:te}),b?.();},complete:()=>{b?.();}});if(n?.requireSync&&d().kind===0)throw new g(601,false);return b=i?.onDestroy(G.unsubscribe.bind(G)),nT(()=>{let te=d();switch(te.kind){case 1:return te.value;case 2:throw te.error;case 0:throw new g(601,false)}},{equal:n?.equal})}function Nn(t=Object.is){return (n,e)=>n.kind===1&&e.kind===1&&t(n.value,e.value)}var pt=new y$1("CdkAccordion"),xn=(()=>{class t{_stateChanges=new q;_openCloseAllActions=new q;id=h(ff).getId("cdk-accordion-");multi=false;openAll(){this.multi&&this._openCloseAllActions.next(true);}closeAll(){this._openCloseAllActions.next(false);}ngOnChanges(e){this._stateChanges.next(e);}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete();}static \u0275fac=function(i){return new(i||t)};static \u0275dir=tt$1({type:t,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[2,"multi","multi",Et]},exportAs:["cdkAccordion"],features:[gy([{provide:pt,useExisting:t}]),pa$1]})}return t})(),fn=(()=>{class t{accordion=h(pt,{optional:true,skipSelf:true});_changeDetectorRef=h(Ny);_expansionDispatcher=h(p);_openCloseAllSubscription=G$1.EMPTY;closed=new ke;opened=new ke;destroyed=new ke;expandedChange=new ke;id=h(ff).getId("cdk-accordion-child-");get expanded(){return this._expanded}set expanded(e){if(this._expanded!==e){if(this._expanded=e,this.expandedChange.emit(e),e){this.opened.emit();let i=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,i);}else this.closed.emit();this._changeDetectorRef.markForCheck();}}_expanded=false;get disabled(){return this._disabled()}set disabled(e){this._disabled.set(e);}_disabled=Ye$1(false);_removeUniqueSelectionListener=()=>{};ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((e,i)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===i&&this.id!==e&&(this.expanded=false);}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions());}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe();}toggle(){this.disabled||(this.expanded=!this.expanded);}close(){this.disabled||(this.expanded=false);}open(){this.disabled||(this.expanded=true);}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e);})}static \u0275fac=function(i){return new(i||t)};static \u0275dir=tt$1({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",Et],disabled:[2,"disabled","disabled",Et]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[gy([{provide:pt,useValue:void 0}])]})}return t})(),vn=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({})}return t})();var Bn=["body"],Ln=["bodyWrapper"],zn=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],$n=["mat-expansion-panel-header","*","mat-action-row"];function qn(t,n){}var Vn=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],Qn=["mat-panel-title","mat-panel-description","*"];function Gn(t,n){t&1&&(un(0,"span",1),Jp(),un(1,"svg",2),dn(2,"path",3),ln()());}var mt=new y$1("MAT_ACCORDION"),kn=new y$1("MAT_EXPANSION_PANEL"),Hn=(()=>{class t{_template=h(Hr);_expansionPanel=h(kn,{optional:true});static \u0275fac=function(i){return new(i||t)};static \u0275dir=tt$1({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]})}return t})(),yn=new y$1("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),bt=(()=>{class t extends fn{_viewContainerRef=h(Wr);_animationsDisabled=no$1();_document=h(k);_ngZone=h(P);_elementRef=h(ue);_renderer=h(ti$1);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=e;}_hideToggle=false;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e;}_togglePosition;afterExpand=new ke;afterCollapse=new ke;_inputChanges=new q;accordion=h(mt,{optional:true,skipSelf:true});_lazyContent;_body;_bodyWrapper;_portal;_headerId=h(ff).getId("mat-expansion-panel-header-");constructor(){super();let e=h(yn,{optional:true});this._expansionDispatcher=h(p),e&&(this.hideToggle=e.hideToggle);}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":false}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded;}close(){this.expanded=false;}open(){this.expanded=true;}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(xc(null),wt(()=>this.expanded&&!this._portal),at(1)).subscribe(()=>{this._portal=new $(this._lazyContent._template,this._viewContainerRef);}),this._setupAnimationEvents();}ngOnChanges(e){this._inputChanges.next(e);}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransitionEnd?.(),this._inputChanges.complete();}_containsFocus(){if(this._body){let e=this._document.activeElement,i=this._body.nativeElement;return e===i||i.contains(e)}return false}_transitionEndListener=({target:e,propertyName:i})=>{e===this._bodyWrapper?.nativeElement&&i==="grid-template-rows"&&this._ngZone.run(()=>{this.expanded?this.afterExpand.emit():this.afterCollapse.emit();});};_setupAnimationEvents(){this._ngZone.runOutsideAngular(()=>{this._animationsDisabled?(this.opened.subscribe(()=>this._ngZone.run(()=>this.afterExpand.emit())),this.closed.subscribe(()=>this._ngZone.run(()=>this.afterCollapse.emit()))):setTimeout(()=>{let e=this._elementRef.nativeElement;this._cleanupTransitionEnd=this._renderer.listen(e,"transitionend",this._transitionEndListener),e.classList.add("mat-expansion-panel-animations-enabled");},200);});}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=Ae({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(i,o,d){if(i&1&&Qg(d,Hn,5),i&2){let b;uC(b=lC())&&(o._lazyContent=b.first);}},viewQuery:function(i,o){if(i&1&&Xg(Bn,5)(Ln,5),i&2){let d;uC(d=lC())&&(o._body=d.first),uC(d=lC())&&(o._bodyWrapper=d.first);}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(i,o){i&2&&Dt("mat-expanded",o.expanded)("mat-expansion-panel-spacing",o._hasSpacing());},inputs:{hideToggle:[2,"hideToggle","hideToggle",Et],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[gy([{provide:mt,useValue:void 0},{provide:kn,useExisting:t}]),Gr,pa$1],ngContentSelectors:$n,decls:9,vars:4,consts:[["bodyWrapper",""],["body",""],[1,"mat-expansion-panel-content-wrapper"],["role","region",1,"mat-expansion-panel-content",3,"id"],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(i,o){i&1&&(or(zn),nt$1(0),da$1(1,"div",2,0)(3,"div",3,1)(5,"div",4),nt$1(6,1),jg(7,qn,0,0,"ng-template",5),Ed(),nt$1(8,2),Ed()()),i&2&&(Qo$1(),rr("inert",o.expanded?null:""),Qo$1(2),$g("id",o.id),rr("aria-labelledby",o._headerId),Qo$1(4),$g("cdkPortalOutlet",o._portal));},dependencies:[Wi$1],styles:[`.mat-expansion-panel {
2
2
  box-sizing: content-box;
3
3
  display: block;
4
4
  margin: 0;
@@ -1002,4 +1002,4 @@ import {x as xy,h,au as G,o as ot,p as pb,F as Ft,av as O,n as nT,f as Ye$1,B as
1002
1002
  content: "";
1003
1003
  }
1004
1004
  `],encapsulation:2})}return t})(),Dn=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=pe({type:t});static \u0275inj=ce({imports:[kt,Xr]})}return t})();var yt=new y$1("AGENTOS_API_ORIGIN",{providedIn:"root",factory:()=>typeof window<"u"&&window.location?.origin?window.location.origin:""});function fo(t){if(!t)return "--:--:--";try{let n=new Date(t);if(isNaN(n.getTime()))return "--:--:--";let e=String(n.getUTCHours()).padStart(2,"0"),i=String(n.getUTCMinutes()).padStart(2,"0"),o=String(n.getUTCSeconds()).padStart(2,"0");return `${e}:${i}:${o}`}catch{return "--:--:--"}}function Fn(t){let n=fo(t.timestamp);switch(t.type){case "MessageEvent":{let e=t.actor?.displayName??t.actor?.role??"agent",i=(t.content??[]).map(o=>typeof o.content=="string"&&o.type?.toLowerCase()!=="image"?o.content:typeof o.text=="string"?o.text:"").filter(o=>o.length>0).join(`
1005
- `);return {time:n,type:"agent_message",text:i?`[${e}] ${i}`:`[${e}]`,messageText:i,actorLabel:e}}case "ToolRequestEvent":return {time:n,type:"tool_call",tool:t.toolName,text:t.toolName??"tool request"};case "ToolResponseEvent":{let e=typeof t.durationMs=="number"&&isFinite(t.durationMs)?t.durationMs/1e3:void 0;return {time:n,type:"tool_call",tool:t.toolName,text:`${t.toolName??"tool"} \u2192 ${t.success?"ok":"error"}`,durationSec:e}}case "ThinkingEvent":return {time:n,type:"thinking",text:"(thinking)"};case "ErrorEvent":case "WarnEvent":return {time:n,type:"log",text:`[${t.type}] ${t.message??""}`};case "TextChunkEvent":case "AgentFinishedEvent":case "AgentRunningEvent":case "AgentSelectedEvent":case "CaseStatusEvent":case "CaseUpdatedEvent":return null;default:return {time:n,type:"log",text:`[${t.type}]`}}}var Ie=class t{http=h(Qr);zone=h(P);apiOrigin=h(yt);_state$=new En("idle");_events$=new En([]);state$=this._state$.asObservable();events$=this._events$.asObservable();seenIds=new Set;pipeline=null;activate(n){this.cancelPipeline(),this._state$.next("loading"),this._events$.next([]),this.seenIds.clear(),this.pipeline=this.fetchHistory(n).pipe(Wt(e=>{let i=this.mapAndDeduplicate(e);this._events$.next(i),this._state$.next("ready");}),Ac(()=>this.openSse(n)),Wt(e=>{if(this.seenIds.has(e.id))return;this.seenIds.add(e.id);let i=Fn(e);i&&this._events$.next([...this._events$.getValue(),i]);}),ze(()=>(this._state$.next("error"),In$1))).subscribe();}clear(){this.cancelPipeline(),this._state$.next("idle"),this._events$.next([]),this.seenIds.clear();}ngOnDestroy(){this.cancelPipeline(),this._state$.complete(),this._events$.complete();}agentOsUrl(n){return `${this.apiOrigin}${n}`}fetchHistory(n){let e=new Ie$1().set("X-Correlation-Id",ac());return this.http.get(this.agentOsUrl(`/api/case-events/by-parentId/${encodeURIComponent(n)}`),{headers:e})}openSse(n){let e=this.agentOsUrl(`/api/cases/${encodeURIComponent(n)}/events`);return new R(i=>{let o=this.zone.runOutsideAngular(()=>new EventSource(e)),d=b=>{try{let G=JSON.parse(b.data);this.zone.run(()=>i.next(G));}catch{}};return o.addEventListener("case-event",d),o.onerror=()=>{},()=>o.close()})}mapAndDeduplicate(n){let e=[];for(let i of n){this.seenIds.add(i.id);let o=Fn(i);o&&e.push(o);}return e}cancelPipeline(){this.pipeline?.unsubscribe(),this.pipeline=null;}static \u0275fac=function(e){return new(e||t)};static \u0275prov=S({token:t,factory:t.\u0275fac})};function vo(t){let{startedAt:n,completedAt:e}=t;if(!n||!e)return null;let i=Date.parse(n),o=Date.parse(e);if(!Number.isFinite(i)||!Number.isFinite(o))return null;let d=(o-i)/1e3;return d>=0?Math.round(d):null}function ko(t,n,e){return {caseId:t,runCost:n?.cost??null,runCostPartial:(n?.unknownCostCount??0)>0,attemptDurationSec:e?vo(e):null,attemptStartedAt:e?.startedAt??null,attemptCompletedAt:e?.completedAt??null,attemptNumber:e?.attemptNumber??0}}var Me=class t{http=h(Qr);zone=h(P);apiOrigin=h(yt);cancel$=new q;state=Ye$1("idle");metrics=Ye$1(null);isLoading=nT(()=>this.state()==="loading");hasMetrics=nT(()=>this.state()==="ready"&&this.metrics()!==null);activate(n,e){this.cancel$.next(),this.state.set("loading"),this.metrics.set(null);let i=`${this.apiOrigin}/api/cases/${encodeURIComponent(n)}/run-cost`,o=new Ie$1().set("X-Correlation-Id",ac());this.http.get(i,{headers:o}).pipe(gr(this.cancel$),ze(()=>Ce$1(null))).subscribe({next:d=>{this.zone.run(()=>{this.metrics.set(ko(n,d,e)),this.state.set("ready");});}});}clear(){this.cancel$.next(),this.state.set("idle"),this.metrics.set(null);}ngOnDestroy(){this.cancel$.next(),this.cancel$.complete();}static \u0275fac=function(e){return new(e||t)};static \u0275prov=S({token:t,factory:t.\u0275fac})};function yo(t,n){if(t&1&&(da$1(0,"span"),kC(1),Ed()),t&2){let e=sC();Qo$1(),uy(e.data.actorLabel);}}function Co(t,n){if(t&1&&(da$1(0,"pre",2),kC(1),Ed()),t&2){let e=sC();Qo$1(),uy(e.data.messageText);}}function Io(t,n){t&1&&(da$1(0,"p",3),kC(1,"No textual message content is available for this event."),Ed());}var Je=class t{data=h($e);static \u0275fac=function(e){return new(e||t)};static \u0275cmp=Ae({type:t,selectors:[["sf-message-detail-dialog"]],decls:12,vars:3,consts:[["mat-dialog-title",""],[1,"message-meta"],[1,"message-body"],[1,"message-empty"],["align","end"],["mat-button","","mat-dialog-close",""]],template:function(e,i){e&1&&(da$1(0,"h2",0),kC(1,"Agent message"),Ed(),da$1(2,"mat-dialog-content")(3,"p",1),ni$1(4,yo,2,1,"span"),da$1(5,"time"),kC(6),Ed()(),ni$1(7,Co,2,1,"pre",2)(8,Io,2,0,"p",3),Ed(),da$1(9,"mat-dialog-actions",4)(10,"button",5),kC(11,"Close"),Ed()()),e&2&&(Qo$1(4),ri$1(i.data.actorLabel?4:-1),Qo$1(2),uy(i.data.time),Qo$1(),ri$1(i.data.messageText?7:8));},dependencies:[EW,DW,Ht,jt,Nt,zt,Vt],styles:[".message-meta[_ngcontent-%COMP%]{display:flex;gap:12px;margin:0 0 16px;color:var(--sf-text-muted);font-family:var(--sf-mono);font-size:12px}.message-body[_ngcontent-%COMP%]{margin:0;max-height:min(60vh,640px);overflow:auto;color:var(--sf-text);font-family:var(--sf-mono);font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.message-empty[_ngcontent-%COMP%]{color:var(--sf-text-muted);font-style:italic}"]})};var Mo=(t,n)=>n.value;function wo(t,n){if(t&1&&(da$1(0,"span",4),kC(1),Ed()),t&2){let e=n;$g("title",e),Qo$1(),uy(e);}}function So(t,n){t&1&&(da$1(0,"span",5),kC(1,"global"),Ed());}function Eo(t,n){if(t&1&&(da$1(0,"span",18)(1,"span",19),kC(2,"paid"),Ed(),kC(3),GC(4,"usd"),Ed()),t&2){let e=sC();Dt("metric-chip--partial",e.runCostPartial),$g("title",e.runCostPartial?"Partial cost (some models have no price data) \u2014 lower bound for attempt case "+e.caseId:"Cost of the AgentOS case for this attempt (not the workflow total)"),Qo$1(3),Cd(" ",KC(4,4,e.runCost,4,e.runCostPartial?1:0)," ");}}function To(t,n){if(t&1&&(da$1(0,"span",16)(1,"span",19),kC(2,"timer"),Ed(),kC(3),GC(4,"duration"),Ed()),t&2){let e=sC();$g("title","Attempt duration #"+e.attemptNumber+" \u2014 not total case duration"),Qo$1(3),Cd(" ",ZC(4,2,e.attemptDurationSec)," ");}}function Po(t,n){t&1&&(da$1(0,"span",17)(1,"span",19),kC(2,"timer"),Ed(),kC(3," \u2014 "),Ed());}function Ao(t,n){if(t&1&&(da$1(0,"span",8),ni$1(1,Eo,5,8,"span",15),ni$1(2,To,5,4,"span",16)(3,Po,4,0,"span",17),Ed()),t&2){let e=n;Qo$1(),ri$1(e.runCost!==null?1:-1),Qo$1(),ri$1(e.attemptDurationSec!==null?2:e.runCost!==null?3:-1);}}function Oo(t,n){t&1&&(da$1(0,"span",9),kC(1,"..."),Ed());}function Do(t,n){if(t&1&&(da$1(0,"mat-button-toggle",23),kC(1),Ed()),t&2){let e=n.$implicit;ii$1("f-"+e.value),$g("value",e.value),Qo$1(),uy(e.label);}}function Fo(t,n){if(t&1){let e=eC();da$1(0,"mat-button-toggle-group",20),Yg("change",function(o){Vp(e);let d=sC();return Hp(d.filter.set(o.value))}),qw(1,Do,2,4,"mat-button-toggle",21,Mo),Ed(),da$1(3,"mat-checkbox",22),Yg("change",function(o){Vp(e);let d=sC();return Hp(d.follow.set(o.checked))}),kC(4,"Follow live"),Ed();}if(t&2){let e=sC();$g("value",e.filter()),Qo$1(),Zw(e.filters),Qo$1(2),$g("checked",e.follow());}}function Ro(t,n){t&1&&(da$1(0,"span",25),kC(1,"Loading AgentOS case events\u2026"),Ed());}function No(t,n){t&1&&(da$1(0,"span",25),kC(1,"Loading events for this attempt\u2026"),Ed());}function Bo(t,n){if(t&1&&(da$1(0,"div",11)(1,"mat-icon",24),kC(2,"progress_activity"),Ed(),ni$1(3,Ro,2,0,"span",25)(4,No,2,0,"span",25),Ed()),t&2){let e=sC();Qo$1(3),ri$1(e.isAgentOsMode()?3:4);}}function Lo(t,n){t&1&&(da$1(0,"div",12)(1,"mat-icon",2),kC(2,"cloud_off"),Ed(),da$1(3,"span"),kC(4,"Failed to load AgentOS events for this case."),Ed(),da$1(5,"span",25),kC(6,"Factory evidence events are not shown when a case is selected."),Ed()());}function zo(t,n){t&1&&(da$1(0,"span",25),kC(1,"No events recorded in the AgentOS case yet."),Ed());}function $o(t,n){t&1&&(da$1(0,"span",25),kC(1,"No events recorded for this selection."),Ed());}function qo(t,n){t&1&&(da$1(0,"span",25),kC(1,"No events yet."),Ed());}function Vo(t,n){if(t&1&&(da$1(0,"div",11)(1,"mat-icon",2),kC(2,"inbox"),Ed(),ni$1(3,zo,2,0,"span",25)(4,$o,2,0,"span",25)(5,qo,2,0,"span",25),Ed()),t&2){let e=sC();Qo$1(3),ri$1(e.isAgentOsMode()?3:e.selectionContext()?4:5);}}function Qo(t,n){if(t&1&&(da$1(0,"b"),kC(1),Ed()),t&2){let e=sC(2).$implicit;Qo$1(),uy(e.actorLabel);}}function Go(t,n){if(t&1){let e=eC();da$1(0,"button",29),Yg("click",function(){Vp(e);let o=sC().$implicit,d=sC(2);return Hp(d.openMessage(o))}),da$1(1,"span",30),kC(2),Ed(),da$1(3,"span",31),kC(4),Ed(),da$1(5,"span",32),ni$1(6,Qo,2,1,"b"),kC(7),Ed(),zg(8,"span",33),Ed();}if(t&2){let e=sC().$implicit,i=sC(2);rr("aria-label",i.messageAriaLabel(e)),Qo$1(2),uy(e.time),Qo$1(),ii$1("t-"+e.type),Qo$1(),uy(e.type),Qo$1(2),ri$1(e.actorLabel?6:-1),Qo$1(),Cd(" ",e.messageText??e.text," ");}}function Ho(t,n){if(t&1&&(da$1(0,"b"),kC(1),Ed()),t&2){let e=sC(2).$implicit;Dt("write",e.tool==="write"),Qo$1(),uy(e.tool);}}function jo(t,n){if(t&1&&kC(0),t&2){let e=sC(2).$implicit;Cd(" ",e.durationSec.toFixed(2),"s ");}}function Uo(t,n){if(t&1&&(da$1(0,"span",30),kC(1),Ed(),da$1(2,"span",31),kC(3),Ed(),da$1(4,"span",32),ni$1(5,Ho,2,3,"b",34),kC(6),Ed(),da$1(7,"span",33),ni$1(8,jo,1,1),Ed()),t&2){let e=sC().$implicit;Qo$1(),uy(e.time),Qo$1(),ii$1("t-"+e.type),Qo$1(),uy(e.type),Qo$1(2),ri$1(e.tool?5:-1),Qo$1(),Cd(" ",e.text," "),Qo$1(),Dt("slow",(e.durationSec??0)>.3),Qo$1(),ri$1(e.durationSec!==void 0?8:-1);}}function Wo(t,n){if(t&1&&(da$1(0,"div",27),ni$1(1,Go,9,7,"button",28)(2,Uo,9,9),Ed()),t&2){let e=n.$implicit;Dt("ev--message",e.type==="agent_message"),Qo$1(),ri$1(e.type==="agent_message"?1:2);}}function Ko(t,n){if(t&1&&(da$1(0,"cdk-virtual-scroll-viewport",13),jg(1,Wo,3,3,"div",26),Ed()),t&2){let e=sC();Qo$1(),$g("cdkVirtualForOf",e.visible());}}function Xo(t,n){if(t&1&&(da$1(0,"footer",14),zg(1,"span",35),kC(2),Ed()),t&2){let e=sC();Qo$1(2),uy(e.activityLabel());}}var et=class t{events=xy.required();running=xy(false);activityLabel=xy("");caseId=xy();selectionContext=xy(null);selectedAttempt=xy(null);filter=Ye$1("all");follow=Ye$1(true);filters=[{value:"all",label:"All"},{value:"tool_call",label:"tool_call"},{value:"agent_message",label:"agent_message"}];caseEventState=h(Ie);dialog=h(ee);metricsState=h(Me);agentOsState=Ce(this.caseEventState.state$,{initialValue:"idle"});agentOsEvents=Ce(this.caseEventState.events$,{initialValue:[]});isAgentOsMode=nT(()=>!!this.caseId());isAgentOsLoading=nT(()=>this.agentOsState()==="loading");isAgentOsError=nT(()=>this.agentOsState()==="error");isLoading=nT(()=>this.isAgentOsMode()?this.isAgentOsLoading():this.events()===null);resolvedEvents=nT(()=>this.isAgentOsMode()?this.agentOsEvents():this.events()??[]);visible=nT(()=>{let n=this.filter(),e=this.resolvedEvents();return n==="all"?e:e.filter(i=>i.type===n)});sourceLabel=nT(()=>this.isAgentOsMode()?"agentos":"factory");contextLabel=nT(()=>{let n=this.selectionContext();if(!n)return null;let e=[`step ${n.stepId}`];return n.attemptId&&e.push(`attempt ${n.attemptId.slice(0,8)}\u2026`),e.join(" \xB7 ")});viewport=ZV(oi$1);openMessage(n){if(n.type!=="agent_message")return;let e={actorLabel:n.actorLabel,time:n.time,messageText:n.messageText??(n.actorLabel?"":n.text)};this.dialog.open(Je,{data:e,width:"min(760px, 92vw)",maxWidth:"92vw",autoFocus:"dialog"});}messageAriaLabel(n){return `Read full agent message${n.actorLabel?` from ${n.actorLabel}`:""} at ${n.time}`}constructor(){Bs(()=>{let n=this.visible().length,e=this.viewport();this.follow()&&e&&n&&queueMicrotask(()=>e.scrollToIndex(n-1,"smooth"));}),Bs(()=>{this.selectionContext(),this.filter.set("all");}),Bs(()=>{let n=this.caseId();n?this.caseEventState.activate(n):this.caseEventState.clear();}),Bs(()=>{let n=this.caseId(),e=this.selectedAttempt();n?this.metricsState.activate(n,e):this.metricsState.clear();});}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=Ae({type:t,selectors:[["sf-event-log"]],viewQuery:function(e,i){e&1&&ey(i.viewport,oi$1,5),e&2&&dC();},inputs:{events:[1,"events"],running:[1,"running"],activityLabel:[1,"activityLabel"],caseId:[1,"caseId"],selectionContext:[1,"selectionContext"],selectedAttempt:[1,"selectedAttempt"]},features:[gy([Ie,Me])],decls:21,vars:9,consts:[["aria-labelledby","events-title",1,"log","sf-panel"],[1,"log-head"],["aria-hidden","true"],["id","events-title"],[1,"context-label","sf-mono",3,"title"],[1,"context-label","sf-muted"],[1,"source-badge"],[1,"count","sf-mono"],[1,"metrics-group"],[1,"metric-chip","metric-chip--muted"],[1,"sf-spacer"],[1,"state-placeholder"],[1,"state-placeholder","state-placeholder--error"],["itemSize","33","role","log","aria-live","polite",1,"viewport"],[1,"activity"],[1,"metric-chip",3,"metric-chip--partial","title"],[1,"metric-chip","metric-chip--duration",3,"title"],["title","Attempt duration unavailable (attempt still running or no timestamp)",1,"metric-chip","metric-chip--muted"],[1,"metric-chip",3,"title"],[1,"metric-icon"],["aria-label","Filter by type","hideSingleSelectionIndicator","",1,"filters",3,"change","value"],[3,"value","class"],[3,"change","checked"],[3,"value"],["aria-hidden","true",1,"spin"],[1,"sf-muted"],["class","ev",3,"ev--message",4,"cdkVirtualFor","cdkVirtualForOf"],[1,"ev"],["type","button",1,"ev-message-button"],["type","button",1,"ev-message-button",3,"click"],[1,"time"],[1,"type"],[1,"text"],[1,"dur"],[3,"write"],[1,"pulse"]],template:function(e,i){if(e&1&&(da$1(0,"section",0)(1,"header",1)(2,"mat-icon",2),kC(3,"monitoring"),Ed(),da$1(4,"h2",3),kC(5,"Events"),Ed(),ni$1(6,wo,2,2,"span",4)(7,So,2,0,"span",5),da$1(8,"span",6),kC(9),Ed(),da$1(10,"span",7),kC(11),Ed(),ni$1(12,Ao,4,2,"span",8)(13,Oo,2,0,"span",9),zg(14,"span",10),ni$1(15,Fo,5,2),Ed(),ni$1(16,Bo,5,1,"div",11)(17,Lo,7,0,"div",12)(18,Vo,6,1,"div",11)(19,Ko,2,1,"cdk-virtual-scroll-viewport",13),ni$1(20,Xo,3,1,"footer",14),Ed()),e&2){let o,d;Qo$1(6),ri$1((o=i.contextLabel())?6:7,o),Qo$1(2),Dt("source-badge--agentos",i.isAgentOsMode()),Qo$1(),Cd(" ",i.sourceLabel()," "),Qo$1(2),uy(i.isLoading()?"...":i.resolvedEvents().length),Qo$1(),ri$1((d=i.metricsState.hasMetrics()&&i.metricsState.metrics())?12:i.metricsState.isLoading()?13:-1,d),Qo$1(3),ri$1(!i.isLoading()&&!i.isAgentOsError()?15:-1),Qo$1(),ri$1(i.isLoading()?16:i.isAgentOsError()?17:i.visible().length===0?18:19),Qo$1(4),ri$1(i.running()?20:-1);}},dependencies:[Bt$1,Qe,si$1,oi$1,On,xt,Ye,Dn,kt,M8,S8,ot$1,st$1],styles:["[_nghost-%COMP%]{display:block;min-height:0}.log[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden}.log-head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid #1d2331}.log-head[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:18px;height:18px;font-size:18px;color:var(--sf-text-muted)}.log-head[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:15px;font-weight:800}.log-head[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{font-size:13px;color:var(--sf-text-muted)}.filters[_ngcontent-%COMP%]{--mat-standard-button-toggle-height: 30px;--mat-standard-button-toggle-shape: 8px;--mat-standard-button-toggle-divider-color: var(--sf-outline);--mat-standard-button-toggle-selected-state-background-color: #2a2145;--mat-standard-button-toggle-selected-state-text-color: #e3d6ff;font-family:var(--sf-mono)}.filters[_ngcontent-%COMP%] .f-tool_call[_ngcontent-%COMP%]{color:#7fd8c5}.filters[_ngcontent-%COMP%] .f-agent_message[_ngcontent-%COMP%]{color:var(--sf-running)}.viewport[_ngcontent-%COMP%]{flex:1;min-height:360px}.ev[_ngcontent-%COMP%]{display:grid;grid-template-columns:80px 130px minmax(0,1fr) 56px;gap:12px;align-items:center;height:33px;padding:0 20px;box-sizing:border-box;border-bottom:1px solid #171c28;font-family:var(--sf-mono);font-size:12.5px}.ev--message[_ngcontent-%COMP%]{padding:0;background:#121a2b}.ev--message[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{color:var(--sf-text)}.ev-message-button[_ngcontent-%COMP%]{grid-column:1/-1;min-width:0;box-sizing:border-box;display:grid;grid-template-columns:80px 130px minmax(0,1fr) 56px;gap:12px;align-items:center;width:100%;height:33px;padding:0 20px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.ev-message-button[_ngcontent-%COMP%]:hover{background:#ffffff0a}.ev-message-button[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--sf-secondary);outline-offset:-2px}.time[_ngcontent-%COMP%]{color:var(--sf-text-faint)}.text[_ngcontent-%COMP%]{color:var(--sf-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{color:var(--sf-text);margin-right:6px}.text[_ngcontent-%COMP%] b.write[_ngcontent-%COMP%]{color:var(--sf-success)}.dur[_ngcontent-%COMP%]{text-align:right;color:var(--sf-text-faint)}.dur.slow[_ngcontent-%COMP%]{color:var(--sf-tertiary)}.type[_ngcontent-%COMP%]{color:var(--sf-text-muted)}.t-phase_start[_ngcontent-%COMP%]{color:var(--sf-text)}.t-agent_start[_ngcontent-%COMP%]{color:var(--sf-secondary)}.t-thinking[_ngcontent-%COMP%]{color:#c9a8ff}.t-tool_call[_ngcontent-%COMP%]{color:#7fd8c5}.t-agent_message[_ngcontent-%COMP%]{color:var(--sf-running)}.context-label[_ngcontent-%COMP%]{font-size:11px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 8px;border-radius:4px;background:#ffffff0a;color:var(--sf-text-muted)}.source-badge[_ngcontent-%COMP%]{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:#ffffff0f;color:var(--sf-text-muted);border:1px solid rgba(255,255,255,.08)}.source-badge--agentos[_ngcontent-%COMP%]{background:#5fd4e01a;color:var(--sf-secondary);border-color:#5fd4e040}.metrics-group[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;margin-left:4px}.metric-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;font-family:var(--sf-mono);padding:2px 7px;border-radius:4px;background:#ffffff0d;color:var(--sf-text-muted);border:1px solid rgba(255,255,255,.08);cursor:default;white-space:nowrap}.metric-chip--partial[_ngcontent-%COMP%]{color:var(--sf-tertiary, #f59e0b);border-color:#f59e0b4d;background:#f59e0b0f}.metric-chip--duration[_ngcontent-%COMP%]{color:var(--sf-text-2)}.metric-chip--muted[_ngcontent-%COMP%]{opacity:.5}.metric-icon[_ngcontent-%COMP%]{font-family:Material Icons;font-size:12px;line-height:1;vertical-align:middle;opacity:.7}.state-placeholder--error[_ngcontent-%COMP%]{color:var(--sf-error, #f87171)}.state-placeholder--error[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--sf-error, #f87171);opacity:.7}.state-placeholder--error[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:not(.sf-muted){font-weight:600}.state-placeholder[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;flex:1;min-height:160px;color:var(--sf-text-muted)}.state-placeholder[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:28px;height:28px;font-size:28px;opacity:.5}.state-placeholder[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:13px}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spin 1s linear infinite}.activity[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;height:38px;padding:0 20px;color:var(--sf-secondary);font-size:13px;font-weight:600}.pulse[_ngcontent-%COMP%]{width:7px;height:7px;border-radius:50%;background:var(--sf-secondary);box-shadow:0 0 0 4px #5fd4e026}"]})};var tt=()=>[],Zo=(t,n)=>n.label,Yo=(t,n)=>n.id;function Jo(t,n){if(t&1&&(da$1(0,"a",4),kC(1,"Conversation"),Ed()),t&2){let e=sC(),i=sC();$g("href",i.caseLink(e.controllerCaseId),Om);}}function ea(t,n){t&1&&(da$1(0,"button",5),kC(1," Conversation "),Ed());}function ta(t,n){t&1&&(da$1(0,"sf-status-chip",7),kC(1,"waiting for human"),Ed());}function na(t,n){t&1&&(da$1(0,"sf-status-chip",22),kC(1,"running"),Ed());}function ia(t,n){t&1&&(da$1(0,"sf-status-chip",23),kC(1,"completed"),Ed());}function oa(t,n){t&1&&(da$1(0,"sf-status-chip",24),kC(1,"failed"),Ed());}function aa(t,n){t&1&&(da$1(0,"sf-status-chip",25),kC(1,"waiting"),Ed());}function ra(t,n){if(t&1&&ni$1(0,na,2,0,"sf-status-chip",22)(1,ia,2,0,"sf-status-chip",23)(2,oa,2,0,"sf-status-chip",24)(3,aa,2,0,"sf-status-chip",25),t&2){let e,i=sC();ri$1((e=i.status)==="running"?0:e==="succeeded"?1:e==="failed"?2:3);}}function ca(t,n){t&1&&(da$1(0,"sf-status-chip",28),kC(1,"waiting for human"),Ed());}function sa(t,n){t&1&&(da$1(0,"sf-status-chip",29),kC(1,"running"),Ed());}function la(t,n){t&1&&(da$1(0,"sf-status-chip",30),kC(1,"failed"),Ed());}function da(t,n){t&1&&(da$1(0,"sf-status-chip",31),kC(1,"completed"),Ed());}function pa(t,n){if(t&1&&(da$1(0,"sf-status-chip",32),kC(1),Ed()),t&2){let e=sC();Qo$1(),uy(e.status);}}function ma(t,n){if(t&1&&(da$1(0,"a",33),kC(1,"Case"),Ed()),t&2){let e=sC(3);$g("href",e.caseLink(n),Om);}}function ua(t,n){if(t&1&&(da$1(0,"span",35),kC(1,"agent "),da$1(2,"b"),kC(3),Ed()()),t&2){let e=sC();Qo$1(3),uy(e.agentName);}}function ga(t,n){if(t&1&&(da$1(0,"span",36),kC(1,"failure "),da$1(2,"b",9),kC(3),Ed()()),t&2){let e=sC();Qo$1(3),uy(e.failureCode);}}function ba(t,n){t&1&&(da$1(0,"mat-panel-description")(1,"span",41),kC(2,"unavailable"),Ed()());}function _a(t,n){if(t&1&&(da$1(0,"mat-panel-description")(1,"span",42),kC(2),Ed()()),t&2){let e=sC().$implicit;Qo$1(),Dt("badge--on",e.count>0),Qo$1(),uy(e.count);}}function ha(t,n){if(t&1&&(da$1(0,"span",45),kC(1),Ed()),t&2){let e=sC().$implicit;Qo$1(),uy(e.status);}}function xa(t,n){if(t&1&&(da$1(0,"a",47),kC(1),Ed()),t&2){let e=sC(2).$implicit,i=sC(5);$g("href",i.caseLink(e.subtitle),Om),Qo$1(),uy(e.subtitle);}}function fa(t,n){if(t&1&&(da$1(0,"span",48),kC(1),Ed()),t&2){let e=sC(2).$implicit;Qo$1(),uy(e.subtitle);}}function va(t,n){if(t&1&&ni$1(0,xa,2,2,"a",47)(1,fa,2,1,"span",48),t&2){let e=sC().$implicit;ri$1(e.title==="Case"?0:1);}}function ka(t,n){if(t&1&&(da$1(0,"span",49),kC(1),Ed()),t&2){let e=n.$implicit;Qo$1(),uy(e.label);}}function ya(t,n){if(t&1&&(da$1(0,"span",46),qw(1,ka,2,1,"span",49,Yo),Ed()),t&2){let e=sC().$implicit;Qo$1(),Zw(e.actions);}}function Ca(t,n){if(t&1&&(da$1(0,"li",43)(1,"span",44),kC(2),Ed(),ni$1(3,ha,2,1,"span",45),ni$1(4,va,2,1),ni$1(5,ya,3,0,"span",46),Ed()),t&2){let e=n.$implicit;Qo$1(2),uy(e.title),Qo$1(),ri$1(e.status?3:-1),Qo$1(),ri$1(e.subtitle?4:-1),Qo$1(),ri$1(e.actions?.length?5:-1);}}function Ia(t,n){if(t&1&&(da$1(0,"ul",39),qw(1,Ca,6,4,"li",43,Ww),Ed()),t&2){let e=sC().$implicit;Qo$1(),Zw(e.items);}}function Ma(t,n){if(t&1&&(da$1(0,"p",40),kC(1),Ed()),t&2){let e=sC().$implicit;Qo$1(),uy(e.body);}}function wa(t,n){t&1&&(da$1(0,"p",40),kC(1,"No content yet."),Ed());}function Sa(t,n){if(t&1&&(da$1(0,"mat-expansion-panel")(1,"mat-expansion-panel-header")(2,"mat-panel-title"),kC(3),Ed(),ni$1(4,ba,3,0,"mat-panel-description")(5,_a,3,3,"mat-panel-description"),Ed(),da$1(6,"div",38),ni$1(7,Ia,3,0,"ul",39),ni$1(8,Ma,2,1,"p",40)(9,wa,2,0,"p",40),Ed()()),t&2){let e=n.$implicit;Qo$1(3),uy(e.label),Qo$1(),ri$1(e.notAvailable?4:e.count!==void 0?5:-1),Qo$1(3),ri$1(e.items?.length?7:-1),Qo$1(),ri$1(e.body?8:e.items?.length?-1:9);}}function Ea(t,n){if(t&1&&(da$1(0,"section",20)(1,"header",26)(2,"h2",27),kC(3),Ed(),ni$1(4,ca,2,0,"sf-status-chip",28)(5,sa,2,0,"sf-status-chip",29)(6,la,2,0,"sf-status-chip",30)(7,da,2,0,"sf-status-chip",31)(8,pa,2,1,"sf-status-chip",32),da$1(9,"span",9),kC(10),GC(11,"duration"),Ed(),ni$1(12,ma,2,1,"a",33),Ed(),da$1(13,"div",34)(14,"span",35),kC(15,"step "),da$1(16,"b",9),kC(17),Ed()(),ni$1(18,ua,4,1,"span",35),da$1(19,"span",35),kC(20,"owner "),da$1(21,"b"),kC(22),Ed()(),da$1(23,"span",35),kC(24,"kind "),da$1(25,"b"),kC(26),Ed()(),da$1(27,"span",35),kC(28,"attempt "),da$1(29,"b",9),kC(30),Ed()(),ni$1(31,ga,4,1,"span",36),Ed(),da$1(32,"mat-accordion",37),qw(33,Sa,10,4,"mat-expansion-panel",null,Zo),Ed()()),t&2){let e,i=n,o=sC(2);Qo$1(3),uy(i.name),Qo$1(),ri$1(i.stepStatus==="waiting_human"?4:i.stepStatus==="running"?5:i.stepStatus==="failed"?6:i.stepStatus==="completed"?7:8),Qo$1(6),uy(ZC(11,10,i.durationSec)),Qo$1(2),ri$1((e=o.selectedAttemptCaseId())?12:-1,e),Qo$1(5),uy(i.stepId??i.name),Qo$1(),ri$1(i.agentName?18:-1),Qo$1(4),uy(i.owner),Qo$1(4),uy(i.kind),Qo$1(4),uy(i.attempt),Qo$1(),ri$1(i.failureCode?31:-1),Qo$1(2),Zw(i.sections);}}function Ta(t,n){t&1&&(da$1(0,"section",20)(1,"p",50),kC(2,"Select a step in the timeline to see its detail."),Ed()());}function Pa(t,n){if(t&1){let e=eC();da$1(0,"div",0)(1,"section",2)(2,"div",3)(3,"h1"),kC(4),Ed(),ni$1(5,Jo,2,1,"a",4)(6,ea,2,0,"button",5),Ed(),da$1(7,"div",6),ni$1(8,ta,2,0,"sf-status-chip",7)(9,ra,4,1),da$1(10,"span",8),kC(11),GC(12,"date"),da$1(13,"span",9),kC(14),GC(15,"date"),Ed()(),da$1(16,"span",10),kC(17),Ed(),zg(18,"span",11),da$1(19,"sf-metric",12),kC(20),GC(21,"usd"),Ed(),da$1(22,"sf-metric",13),kC(23),GC(24,"duration"),Ed(),da$1(25,"sf-metric",14),kC(26),GC(27,"tokens"),Ed(),da$1(28,"sf-metric",15),kC(29),GC(30,"tokens"),Ed(),da$1(31,"sf-metric",16),kC(32),GC(33,"tokens"),Ed()()(),da$1(34,"sf-action-bar",17),Yg("reply",function(o){Vp(e);let d=sC();return Hp(d.onReply(o))})("agentQuestionAnswered",function(o){Vp(e);let d=sC();return Hp(d.onAgentQuestionAnswered(o))})("retryRequested",function(o){Vp(e);let d=sC();return Hp(d.onRetry(o))})("cancelAttempt",function(o){Vp(e);let d=sC();return Hp(d.onCancelAttempt(o))})("continueCost",function(){Vp(e);let o=sC();return Hp(o.onContinueCost())})("stopCost",function(){Vp(e);let o=sC();return Hp(o.onStopCost())}),Ed(),da$1(35,"sf-agent-timeline",18),Yg("blockSelect",function(o){Vp(e);let d=sC();return Hp(d.selectBlock(o))}),Ed(),da$1(36,"div",19),ni$1(37,Ea,35,12,"section",20)(38,Ta,3,0,"section",20),zg(39,"sf-event-log",21),Ed()();}if(t&2){let e,i=n,o=sC();Qo$1(4),uy(i.goal),Qo$1(),ri$1(i.controllerCaseId?5:6),Qo$1(3),ri$1(i.executionState==="waiting_human"?8:9),Qo$1(3),Cd("started ",YC(12,33,i.startedAt,"MMM d")," at "),Qo$1(3),uy(YC(15,36,i.startedAt,"HH:mm:ss")),Qo$1(3),uy(i.workflow),Qo$1(2),$g("unknownCostCount",i.unknownCostCount??0),Qo$1(),uy(KC(21,39,i.costUsd,2,i.unknownCostCount)),Qo$1(3),uy(ZC(24,43,i.durationSec)),Qo$1(3),uy(ZC(27,45,i.tokens)),Qo$1(3),uy(ZC(30,47,i.tokensRead)),Qo$1(3),uy(ZC(33,49,i.tokensWritten)),Qo$1(2),$g("allowedActions",i.allowedActions??UC(51,tt))("blockers",i.blockers??UC(52,tt))("interactions",i.interactions??UC(53,tt))("agentQuestionsInput",i.agentQuestions??UC(54,tt))("selectedStepId",o.selectedStepId())("namespaceId",o.currentNamespaceId())("agentQuestionsError",i.agentQuestionsError??null)("answeringQuestionId",o.store.answeringQuestionId())("questionFeedback",o.store.questionFeedback()),Qo$1(),$g("lanes",i.lanes)("nowSec",i.nowSec)("activelyRunning",i.activelyRunning)("startedAt",i.startedAt)("selected",o.selectedBlock()),Qo$1(2),ri$1((e=o.selectedPhase())?37:38,e),Qo$1(2),$g("events",o.selectedEvents())("running",i.activelyRunning)("selectionContext",o.selection())("caseId",o.selectedAttemptCaseId())("selectedAttempt",o.selectedAttempt())("activityLabel",(o.selectedPhase()?.agentName||o.selectedPhase()?.owner||"agent")+" is working\u2026");}}function Aa(t,n){t&1&&(da$1(0,"p",1),kC(1,"Session not found."),Ed());}var Rn=class t{runId=xy("");route=h(G);store=h(ot);shell=h(pb);agentOsBaseUrl=h(Ft);routeRunId=Ce(this.route.paramMap.pipe(O(n=>n.get("runId")??"")),{initialValue:""});effectiveRunId=nT(()=>this.runId()||this.routeRunId());session=nT(()=>this.store.session(this.effectiveRunId()));run=nT(()=>this.store.runs().find(n=>n.id===this.effectiveRunId()));selection=Ye$1(null);selectedStepId=nT(()=>this.selection()?.stepId??"");selectedBlock=nT(()=>this.selectedStepId());selectedPhase=nT(()=>{let n=this.session();if(!n)return;let e=this.selectedStepId();return e?n.phaseByStepId?.get(e)??n.phase:n.phase});selectedAttemptCaseId=nT(()=>this.selection()?.caseId??this.selectedPhase()?.caseId??void 0);selectedAttempt=nT(()=>{let n=this.session(),e=this.selection();return !n?.attempts||!e?.attemptId?null:n.attempts.find(i=>i.attemptId===e.attemptId)??null});selectedEvents=nT(()=>{let n=this.session();if(!n)return [];let e=this.selection();if(!e)return n.events;let{stepId:i,attemptId:o}=e;return o?n.eventsByAttemptId?n.eventsByAttemptId.get(o)??[]:null:n.eventsByStepId?n.eventsByStepId.get(i)??[]:null});constructor(){Bs(()=>{let n=this.session();n?.phase.stepId&&!this.selection()&&this.selection.set({stepId:n.phase.stepId});let e=this.run(),i=e?.namespaceId,o=i?this.store.namespaces().get(i)??i:n?.sandbox??"\u2026";this.shell.crumbs.set([{label:"Workstreams",link:"/workstreams"},{label:i&&o!==i?Oa(o):o,link:"/workstreams",mono:!i||o===i},{label:e?.title||this.effectiveRunId(),mono:!e?.title}]);});}selectBlock(n){let i={stepId:n.stepId??n.label};n.attemptId&&(i.attemptId=n.attemptId),n.caseId&&(i.caseId=n.caseId),this.selection.set(i);}caseLink(n){return st(n,this.currentNamespaceId()||void 0,this.agentOsBaseUrl)}currentNamespaceId(){let n=this.run();if(n?.namespaceId)return n.namespaceId;let e=this.session();return e?.agentQuestions?.find(i=>i.case?.namespaceId)?.case?.namespaceId??e?.agentQuestionsError?.namespaceId??""}onReply(n){let e=this.effectiveRunId();e&&this.store.replyInteraction(e,n.interactionId,{actionId:n.actionId,text:n.text,expectedRevision:n.expectedRevision});}onAgentQuestionAnswered(n){let e=this.effectiveRunId();e&&this.store.answerAgentQuestion(e,n.question,n.answer);}onRetry(n){let e=this.effectiveRunId();e&&this.store.retry(e,{stepId:n.stepId,expectedRevision:n.expectedRevision,reasonCode:n.reasonCode});}onCancelAttempt(n){let e=this.effectiveRunId();e&&this.store.cancelAttempt(e,n.attemptId,{expectedRevision:n.expectedRevision,reason:n.reason});}onContinueCost(){let n=this.effectiveRunId();n&&this.store.continueCost(n);}onStopCost(){let n=this.effectiveRunId();n&&this.store.stopCost(n);}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=Ae({type:t,selectors:[["sf-session-page"]],inputs:{runId:[1,"runId"]},decls:2,vars:1,consts:[[1,"page"],[1,"sf-muted"],[1,"run-head","sf-panel"],[1,"title-row"],["mat-stroked-button","","target","_blank","rel","noopener","title","Open the AgentOS controller conversation",1,"sf-secondary",3,"href"],["mat-stroked-button","","disabled","","title","AgentOS controller case unavailable (no agent step executed for this workflow yet)",1,"sf-secondary"],[1,"meta-row"],["tone","amber","icon","person_alert"],[1,"sf-muted","started"],[1,"sf-mono"],[1,"sf-workflow"],[1,"sf-spacer"],["icon","paid","label","Cost",3,"unknownCostCount"],["icon","timer","label","Duration"],["icon","link","label","Context tokens"],["icon","menu_book","label","Tokens read"],["icon","edit","label","Tokens written"],[3,"reply","agentQuestionAnswered","retryRequested","cancelAttempt","continueCost","stopCost","allowedActions","blockers","interactions","agentQuestionsInput","selectedStepId","namespaceId","agentQuestionsError","answeringQuestionId","questionFeedback"],[3,"blockSelect","lanes","nowSec","activelyRunning","startedAt","selected"],[1,"bottom"],["aria-labelledby","phase-title",1,"phase","sf-panel"],[3,"events","running","selectionContext","caseId","selectedAttempt","activityLabel"],["tone","blue","icon","progress_activity","spin",""],["tone","green","icon","check"],["tone","red","icon","close"],["tone","neutral"],[1,"phase-head"],["id","phase-title"],["tone","amber","size","sm","icon","person_alert"],["tone","blue","size","sm","icon","progress_activity","spin",""],["tone","red","size","sm","icon","close"],["tone","green","size","sm","icon","check"],["tone","neutral","size","sm"],["mat-stroked-button","","target","_blank","rel","noopener","title","Open the AgentOS case for this attempt",1,"sf-secondary","phase-case-link",3,"href"],[1,"phase-tags"],[1,"tag"],[1,"tag","tag--failure"],["multi","","displayMode","flat",1,"sections"],[1,"section-content"],[1,"section-items"],[1,"sf-muted","section-body"],[1,"badge","badge--off"],[1,"badge"],[1,"section-item"],[1,"item-title"],[1,"item-status"],[1,"item-actions"],[1,"item-subtitle",3,"href"],[1,"item-subtitle"],[1,"item-action"],[1,"sf-muted",2,"padding","20px"]],template:function(e,i){if(e&1&&ni$1(0,Pa,40,55,"div",0)(1,Aa,2,0,"p",1),e&2){let o;ri$1((o=i.session())?0:1,o);}},dependencies:[EW,DW,wn,Mn,bt,_t,In,Cn,_,y,We,Xe,et,nS,ot$1,st$1,nt],styles:['@charset "UTF-8";.page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.run-head[_ngcontent-%COMP%]{padding:18px 22px;display:flex;flex-direction:column;gap:14px}.title-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:12px}h1[_ngcontent-%COMP%]{flex:1;margin:0;font-size:19px;font-weight:700;line-height:1.35}.meta-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.started[_ngcontent-%COMP%]{font-size:13px}.started[_ngcontent-%COMP%] .sf-mono[_ngcontent-%COMP%]{color:var(--sf-text)}.meta-row[_ngcontent-%COMP%] .sf-workflow[_ngcontent-%COMP%]{font-size:14px}.bottom[_ngcontent-%COMP%]{display:grid;grid-template-columns:380px minmax(0,1fr);gap:16px;min-height:520px}.phase[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden}.phase-head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid #1d2331}.phase-head[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:18px;font-weight:800}.phase-head[_ngcontent-%COMP%] .sf-mono[_ngcontent-%COMP%]{font-size:13px;color:var(--sf-text-2)}.phase-tags[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px;padding:14px 20px;border-bottom:1px solid #1d2331}.tag[_ngcontent-%COMP%]{height:26px;padding:0 10px;border-radius:7px;border:1px solid var(--sf-outline);display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--sf-text-muted)}.tag[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{color:var(--sf-text)}.tag--failure[_ngcontent-%COMP%]{border-color:#6b2a2e;background:#1f1114;color:#f58f8f}.tag--failure[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{color:#f58f8f}.phase-case-link[_ngcontent-%COMP%]{margin-left:auto;font-size:12px;height:28px;line-height:28px;padding:0 10px}.sections[_ngcontent-%COMP%]{padding:6px 8px}.badge[_ngcontent-%COMP%]{min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:11px;display:inline-grid;place-items:center;background:#1b2130;color:var(--sf-text-muted);font-family:var(--sf-mono);font-size:12px}.badge--on[_ngcontent-%COMP%]{background:#2a2145;color:var(--sf-primary)}.badge--off[_ngcontent-%COMP%]{background:#2b2116;color:var(--sf-tertiary);font-size:11px}mat-panel-description[_ngcontent-%COMP%]{justify-content:flex-end;flex-grow:0}.section-body[_ngcontent-%COMP%]{margin:0;font-size:13px}.section-items[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.section-item[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:8px 10px;border:1px solid var(--sf-outline);border-radius:8px;background:var(--sf-chrome)}.item-title[_ngcontent-%COMP%]{font-size:13px;font-weight:700}.item-status[_ngcontent-%COMP%]{font-family:var(--sf-mono);font-size:11.5px;padding:1px 7px;border-radius:9px;background:#1b2130;color:var(--sf-text-muted)}.item-subtitle[_ngcontent-%COMP%]{flex:1 1 220px;min-width:0;font-size:12.5px;color:var(--sf-text-2);overflow-wrap:anywhere}.item-actions[_ngcontent-%COMP%]{display:flex;gap:6px}.item-action[_ngcontent-%COMP%]{font-family:var(--sf-mono);font-size:11.5px;color:var(--sf-primary)}']})};function Oa(t){return t&&t[0].toUpperCase()+t.slice(1)}export{Rn as SessionPageComponent};
1005
+ `);return {time:n,type:"agent_message",text:i?`[${e}] ${i}`:`[${e}]`,messageText:i,actorLabel:e}}case "ToolRequestEvent":return {time:n,type:"tool_call",tool:t.toolName,text:t.toolName??"tool request"};case "ToolResponseEvent":{let e=typeof t.durationMs=="number"&&isFinite(t.durationMs)?t.durationMs/1e3:void 0;return {time:n,type:"tool_call",tool:t.toolName,text:`${t.toolName??"tool"} \u2192 ${t.success?"ok":"error"}`,durationSec:e}}case "ThinkingEvent":return {time:n,type:"thinking",text:"(thinking)"};case "ErrorEvent":case "WarnEvent":return {time:n,type:"log",text:`[${t.type}] ${t.message??""}`};case "TextChunkEvent":case "AgentFinishedEvent":case "AgentRunningEvent":case "AgentSelectedEvent":case "CaseStatusEvent":case "CaseUpdatedEvent":return null;default:return {time:n,type:"log",text:`[${t.type}]`}}}var Ie=class t{http=h(Qr);zone=h(P);apiOrigin=h(yt);_state$=new En("idle");_events$=new En([]);state$=this._state$.asObservable();events$=this._events$.asObservable();seenIds=new Set;pipeline=null;activate(n){this.cancelPipeline(),this._state$.next("loading"),this._events$.next([]),this.seenIds.clear(),this.pipeline=this.fetchHistory(n).pipe(Wt(e=>{let i=this.mapAndDeduplicate(e);this._events$.next(i),this._state$.next("ready");}),Ac(()=>this.openSse(n)),Wt(e=>{if(this.seenIds.has(e.id))return;this.seenIds.add(e.id);let i=Fn(e);i&&this._events$.next([...this._events$.getValue(),i]);}),ze(()=>(this._state$.next("error"),In$1))).subscribe();}clear(){this.cancelPipeline(),this._state$.next("idle"),this._events$.next([]),this.seenIds.clear();}ngOnDestroy(){this.cancelPipeline(),this._state$.complete(),this._events$.complete();}agentOsUrl(n){return `${this.apiOrigin}${n}`}fetchHistory(n){let e=new Ie$1().set("X-Correlation-Id",ac());return this.http.get(this.agentOsUrl(`/api/agentos/api/case-eventsby-parentId/${encodeURIComponent(n)}`),{headers:e})}openSse(n){let e=this.agentOsUrl(`/api/agentos/api/cases/${encodeURIComponent(n)}/events`);return new R(i=>{let o=this.zone.runOutsideAngular(()=>new EventSource(e)),d=b=>{try{let G=JSON.parse(b.data);this.zone.run(()=>i.next(G));}catch{}};return o.addEventListener("case-event",d),o.onerror=()=>{},()=>o.close()})}mapAndDeduplicate(n){let e=[];for(let i of n){this.seenIds.add(i.id);let o=Fn(i);o&&e.push(o);}return e}cancelPipeline(){this.pipeline?.unsubscribe(),this.pipeline=null;}static \u0275fac=function(e){return new(e||t)};static \u0275prov=S({token:t,factory:t.\u0275fac})};function vo(t){let{startedAt:n,completedAt:e}=t;if(!n||!e)return null;let i=Date.parse(n),o=Date.parse(e);if(!Number.isFinite(i)||!Number.isFinite(o))return null;let d=(o-i)/1e3;return d>=0?Math.round(d):null}function ko(t,n,e){return {caseId:t,runCost:n?.cost??null,runCostPartial:(n?.unknownCostCount??0)>0,attemptDurationSec:e?vo(e):null,attemptStartedAt:e?.startedAt??null,attemptCompletedAt:e?.completedAt??null,attemptNumber:e?.attemptNumber??0}}var Me=class t{http=h(Qr);zone=h(P);apiOrigin=h(yt);cancel$=new q;state=Ye$1("idle");metrics=Ye$1(null);isLoading=nT(()=>this.state()==="loading");hasMetrics=nT(()=>this.state()==="ready"&&this.metrics()!==null);activate(n,e){this.cancel$.next(),this.state.set("loading"),this.metrics.set(null);let i=`${this.apiOrigin}/api/agentos/api/cases/${encodeURIComponent(n)}/run-cost`,o=new Ie$1().set("X-Correlation-Id",ac());this.http.get(i,{headers:o}).pipe(gr(this.cancel$),ze(()=>Ce$1(null))).subscribe({next:d=>{this.zone.run(()=>{this.metrics.set(ko(n,d,e)),this.state.set("ready");});}});}clear(){this.cancel$.next(),this.state.set("idle"),this.metrics.set(null);}ngOnDestroy(){this.cancel$.next(),this.cancel$.complete();}static \u0275fac=function(e){return new(e||t)};static \u0275prov=S({token:t,factory:t.\u0275fac})};function yo(t,n){if(t&1&&(da$1(0,"span"),kC(1),Ed()),t&2){let e=sC();Qo$1(),uy(e.data.actorLabel);}}function Co(t,n){if(t&1&&(da$1(0,"pre",2),kC(1),Ed()),t&2){let e=sC();Qo$1(),uy(e.data.messageText);}}function Io(t,n){t&1&&(da$1(0,"p",3),kC(1,"No textual message content is available for this event."),Ed());}var Je=class t{data=h($e);static \u0275fac=function(e){return new(e||t)};static \u0275cmp=Ae({type:t,selectors:[["sf-message-detail-dialog"]],decls:12,vars:3,consts:[["mat-dialog-title",""],[1,"message-meta"],[1,"message-body"],[1,"message-empty"],["align","end"],["mat-button","","mat-dialog-close",""]],template:function(e,i){e&1&&(da$1(0,"h2",0),kC(1,"Agent message"),Ed(),da$1(2,"mat-dialog-content")(3,"p",1),ni$1(4,yo,2,1,"span"),da$1(5,"time"),kC(6),Ed()(),ni$1(7,Co,2,1,"pre",2)(8,Io,2,0,"p",3),Ed(),da$1(9,"mat-dialog-actions",4)(10,"button",5),kC(11,"Close"),Ed()()),e&2&&(Qo$1(4),ri$1(i.data.actorLabel?4:-1),Qo$1(2),uy(i.data.time),Qo$1(),ri$1(i.data.messageText?7:8));},dependencies:[EW,DW,Ht,jt,Nt,zt,Vt],styles:[".message-meta[_ngcontent-%COMP%]{display:flex;gap:12px;margin:0 0 16px;color:var(--sf-text-muted);font-family:var(--sf-mono);font-size:12px}.message-body[_ngcontent-%COMP%]{margin:0;max-height:min(60vh,640px);overflow:auto;color:var(--sf-text);font-family:var(--sf-mono);font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.message-empty[_ngcontent-%COMP%]{color:var(--sf-text-muted);font-style:italic}"]})};var Mo=(t,n)=>n.value;function wo(t,n){if(t&1&&(da$1(0,"span",4),kC(1),Ed()),t&2){let e=n;$g("title",e),Qo$1(),uy(e);}}function So(t,n){t&1&&(da$1(0,"span",5),kC(1,"global"),Ed());}function Eo(t,n){if(t&1&&(da$1(0,"span",18)(1,"span",19),kC(2,"paid"),Ed(),kC(3),GC(4,"usd"),Ed()),t&2){let e=sC();Dt("metric-chip--partial",e.runCostPartial),$g("title",e.runCostPartial?"Partial cost (some models have no price data) \u2014 lower bound for attempt case "+e.caseId:"Cost of the AgentOS case for this attempt (not the workflow total)"),Qo$1(3),Cd(" ",KC(4,4,e.runCost,4,e.runCostPartial?1:0)," ");}}function To(t,n){if(t&1&&(da$1(0,"span",16)(1,"span",19),kC(2,"timer"),Ed(),kC(3),GC(4,"duration"),Ed()),t&2){let e=sC();$g("title","Attempt duration #"+e.attemptNumber+" \u2014 not total case duration"),Qo$1(3),Cd(" ",ZC(4,2,e.attemptDurationSec)," ");}}function Po(t,n){t&1&&(da$1(0,"span",17)(1,"span",19),kC(2,"timer"),Ed(),kC(3," \u2014 "),Ed());}function Ao(t,n){if(t&1&&(da$1(0,"span",8),ni$1(1,Eo,5,8,"span",15),ni$1(2,To,5,4,"span",16)(3,Po,4,0,"span",17),Ed()),t&2){let e=n;Qo$1(),ri$1(e.runCost!==null?1:-1),Qo$1(),ri$1(e.attemptDurationSec!==null?2:e.runCost!==null?3:-1);}}function Oo(t,n){t&1&&(da$1(0,"span",9),kC(1,"..."),Ed());}function Do(t,n){if(t&1&&(da$1(0,"mat-button-toggle",23),kC(1),Ed()),t&2){let e=n.$implicit;ii$1("f-"+e.value),$g("value",e.value),Qo$1(),uy(e.label);}}function Fo(t,n){if(t&1){let e=eC();da$1(0,"mat-button-toggle-group",20),Yg("change",function(o){Vp(e);let d=sC();return Hp(d.filter.set(o.value))}),qw(1,Do,2,4,"mat-button-toggle",21,Mo),Ed(),da$1(3,"mat-checkbox",22),Yg("change",function(o){Vp(e);let d=sC();return Hp(d.follow.set(o.checked))}),kC(4,"Follow live"),Ed();}if(t&2){let e=sC();$g("value",e.filter()),Qo$1(),Zw(e.filters),Qo$1(2),$g("checked",e.follow());}}function Ro(t,n){t&1&&(da$1(0,"span",25),kC(1,"Loading AgentOS case events\u2026"),Ed());}function No(t,n){t&1&&(da$1(0,"span",25),kC(1,"Loading events for this attempt\u2026"),Ed());}function Bo(t,n){if(t&1&&(da$1(0,"div",11)(1,"mat-icon",24),kC(2,"progress_activity"),Ed(),ni$1(3,Ro,2,0,"span",25)(4,No,2,0,"span",25),Ed()),t&2){let e=sC();Qo$1(3),ri$1(e.isAgentOsMode()?3:4);}}function Lo(t,n){t&1&&(da$1(0,"div",12)(1,"mat-icon",2),kC(2,"cloud_off"),Ed(),da$1(3,"span"),kC(4,"Failed to load AgentOS events for this case."),Ed(),da$1(5,"span",25),kC(6,"Factory evidence events are not shown when a case is selected."),Ed()());}function zo(t,n){t&1&&(da$1(0,"span",25),kC(1,"No events recorded in the AgentOS case yet."),Ed());}function $o(t,n){t&1&&(da$1(0,"span",25),kC(1,"No events recorded for this selection."),Ed());}function qo(t,n){t&1&&(da$1(0,"span",25),kC(1,"No events yet."),Ed());}function Vo(t,n){if(t&1&&(da$1(0,"div",11)(1,"mat-icon",2),kC(2,"inbox"),Ed(),ni$1(3,zo,2,0,"span",25)(4,$o,2,0,"span",25)(5,qo,2,0,"span",25),Ed()),t&2){let e=sC();Qo$1(3),ri$1(e.isAgentOsMode()?3:e.selectionContext()?4:5);}}function Qo(t,n){if(t&1&&(da$1(0,"b"),kC(1),Ed()),t&2){let e=sC(2).$implicit;Qo$1(),uy(e.actorLabel);}}function Go(t,n){if(t&1){let e=eC();da$1(0,"button",29),Yg("click",function(){Vp(e);let o=sC().$implicit,d=sC(2);return Hp(d.openMessage(o))}),da$1(1,"span",30),kC(2),Ed(),da$1(3,"span",31),kC(4),Ed(),da$1(5,"span",32),ni$1(6,Qo,2,1,"b"),kC(7),Ed(),zg(8,"span",33),Ed();}if(t&2){let e=sC().$implicit,i=sC(2);rr("aria-label",i.messageAriaLabel(e)),Qo$1(2),uy(e.time),Qo$1(),ii$1("t-"+e.type),Qo$1(),uy(e.type),Qo$1(2),ri$1(e.actorLabel?6:-1),Qo$1(),Cd(" ",e.messageText??e.text," ");}}function Ho(t,n){if(t&1&&(da$1(0,"b"),kC(1),Ed()),t&2){let e=sC(2).$implicit;Dt("write",e.tool==="write"),Qo$1(),uy(e.tool);}}function jo(t,n){if(t&1&&kC(0),t&2){let e=sC(2).$implicit;Cd(" ",e.durationSec.toFixed(2),"s ");}}function Uo(t,n){if(t&1&&(da$1(0,"span",30),kC(1),Ed(),da$1(2,"span",31),kC(3),Ed(),da$1(4,"span",32),ni$1(5,Ho,2,3,"b",34),kC(6),Ed(),da$1(7,"span",33),ni$1(8,jo,1,1),Ed()),t&2){let e=sC().$implicit;Qo$1(),uy(e.time),Qo$1(),ii$1("t-"+e.type),Qo$1(),uy(e.type),Qo$1(2),ri$1(e.tool?5:-1),Qo$1(),Cd(" ",e.text," "),Qo$1(),Dt("slow",(e.durationSec??0)>.3),Qo$1(),ri$1(e.durationSec!==void 0?8:-1);}}function Wo(t,n){if(t&1&&(da$1(0,"div",27),ni$1(1,Go,9,7,"button",28)(2,Uo,9,9),Ed()),t&2){let e=n.$implicit;Dt("ev--message",e.type==="agent_message"),Qo$1(),ri$1(e.type==="agent_message"?1:2);}}function Ko(t,n){if(t&1&&(da$1(0,"cdk-virtual-scroll-viewport",13),jg(1,Wo,3,3,"div",26),Ed()),t&2){let e=sC();Qo$1(),$g("cdkVirtualForOf",e.visible());}}function Xo(t,n){if(t&1&&(da$1(0,"footer",14),zg(1,"span",35),kC(2),Ed()),t&2){let e=sC();Qo$1(2),uy(e.activityLabel());}}var et=class t{events=xy.required();running=xy(false);activityLabel=xy("");caseId=xy();selectionContext=xy(null);selectedAttempt=xy(null);filter=Ye$1("all");follow=Ye$1(true);filters=[{value:"all",label:"All"},{value:"tool_call",label:"tool_call"},{value:"agent_message",label:"agent_message"}];caseEventState=h(Ie);dialog=h(ee);metricsState=h(Me);agentOsState=Ce(this.caseEventState.state$,{initialValue:"idle"});agentOsEvents=Ce(this.caseEventState.events$,{initialValue:[]});isAgentOsMode=nT(()=>!!this.caseId());isAgentOsLoading=nT(()=>this.agentOsState()==="loading");isAgentOsError=nT(()=>this.agentOsState()==="error");isLoading=nT(()=>this.isAgentOsMode()?this.isAgentOsLoading():this.events()===null);resolvedEvents=nT(()=>this.isAgentOsMode()?this.agentOsEvents():this.events()??[]);visible=nT(()=>{let n=this.filter(),e=this.resolvedEvents();return n==="all"?e:e.filter(i=>i.type===n)});sourceLabel=nT(()=>this.isAgentOsMode()?"agentos":"factory");contextLabel=nT(()=>{let n=this.selectionContext();if(!n)return null;let e=[`step ${n.stepId}`];return n.attemptId&&e.push(`attempt ${n.attemptId.slice(0,8)}\u2026`),e.join(" \xB7 ")});viewport=ZV(oi$1);openMessage(n){if(n.type!=="agent_message")return;let e={actorLabel:n.actorLabel,time:n.time,messageText:n.messageText??(n.actorLabel?"":n.text)};this.dialog.open(Je,{data:e,width:"min(760px, 92vw)",maxWidth:"92vw",autoFocus:"dialog"});}messageAriaLabel(n){return `Read full agent message${n.actorLabel?` from ${n.actorLabel}`:""} at ${n.time}`}constructor(){Bs(()=>{let n=this.visible().length,e=this.viewport();this.follow()&&e&&n&&queueMicrotask(()=>e.scrollToIndex(n-1,"smooth"));}),Bs(()=>{this.selectionContext(),this.filter.set("all");}),Bs(()=>{let n=this.caseId();n?this.caseEventState.activate(n):this.caseEventState.clear();}),Bs(()=>{let n=this.caseId(),e=this.selectedAttempt();n?this.metricsState.activate(n,e):this.metricsState.clear();});}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=Ae({type:t,selectors:[["sf-event-log"]],viewQuery:function(e,i){e&1&&ey(i.viewport,oi$1,5),e&2&&dC();},inputs:{events:[1,"events"],running:[1,"running"],activityLabel:[1,"activityLabel"],caseId:[1,"caseId"],selectionContext:[1,"selectionContext"],selectedAttempt:[1,"selectedAttempt"]},features:[gy([Ie,Me])],decls:21,vars:9,consts:[["aria-labelledby","events-title",1,"log","sf-panel"],[1,"log-head"],["aria-hidden","true"],["id","events-title"],[1,"context-label","sf-mono",3,"title"],[1,"context-label","sf-muted"],[1,"source-badge"],[1,"count","sf-mono"],[1,"metrics-group"],[1,"metric-chip","metric-chip--muted"],[1,"sf-spacer"],[1,"state-placeholder"],[1,"state-placeholder","state-placeholder--error"],["itemSize","33","role","log","aria-live","polite",1,"viewport"],[1,"activity"],[1,"metric-chip",3,"metric-chip--partial","title"],[1,"metric-chip","metric-chip--duration",3,"title"],["title","Attempt duration unavailable (attempt still running or no timestamp)",1,"metric-chip","metric-chip--muted"],[1,"metric-chip",3,"title"],[1,"metric-icon"],["aria-label","Filter by type","hideSingleSelectionIndicator","",1,"filters",3,"change","value"],[3,"value","class"],[3,"change","checked"],[3,"value"],["aria-hidden","true",1,"spin"],[1,"sf-muted"],["class","ev",3,"ev--message",4,"cdkVirtualFor","cdkVirtualForOf"],[1,"ev"],["type","button",1,"ev-message-button"],["type","button",1,"ev-message-button",3,"click"],[1,"time"],[1,"type"],[1,"text"],[1,"dur"],[3,"write"],[1,"pulse"]],template:function(e,i){if(e&1&&(da$1(0,"section",0)(1,"header",1)(2,"mat-icon",2),kC(3,"monitoring"),Ed(),da$1(4,"h2",3),kC(5,"Events"),Ed(),ni$1(6,wo,2,2,"span",4)(7,So,2,0,"span",5),da$1(8,"span",6),kC(9),Ed(),da$1(10,"span",7),kC(11),Ed(),ni$1(12,Ao,4,2,"span",8)(13,Oo,2,0,"span",9),zg(14,"span",10),ni$1(15,Fo,5,2),Ed(),ni$1(16,Bo,5,1,"div",11)(17,Lo,7,0,"div",12)(18,Vo,6,1,"div",11)(19,Ko,2,1,"cdk-virtual-scroll-viewport",13),ni$1(20,Xo,3,1,"footer",14),Ed()),e&2){let o,d;Qo$1(6),ri$1((o=i.contextLabel())?6:7,o),Qo$1(2),Dt("source-badge--agentos",i.isAgentOsMode()),Qo$1(),Cd(" ",i.sourceLabel()," "),Qo$1(2),uy(i.isLoading()?"...":i.resolvedEvents().length),Qo$1(),ri$1((d=i.metricsState.hasMetrics()&&i.metricsState.metrics())?12:i.metricsState.isLoading()?13:-1,d),Qo$1(3),ri$1(!i.isLoading()&&!i.isAgentOsError()?15:-1),Qo$1(),ri$1(i.isLoading()?16:i.isAgentOsError()?17:i.visible().length===0?18:19),Qo$1(4),ri$1(i.running()?20:-1);}},dependencies:[Bt$1,Qe,si$1,oi$1,On,xt,Ye,Dn,kt,M8,S8,ot$1,st$1],styles:["[_nghost-%COMP%]{display:block;min-height:0}.log[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden}.log-head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid #1d2331}.log-head[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:18px;height:18px;font-size:18px;color:var(--sf-text-muted)}.log-head[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:15px;font-weight:800}.log-head[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{font-size:13px;color:var(--sf-text-muted)}.filters[_ngcontent-%COMP%]{--mat-standard-button-toggle-height: 30px;--mat-standard-button-toggle-shape: 8px;--mat-standard-button-toggle-divider-color: var(--sf-outline);--mat-standard-button-toggle-selected-state-background-color: #2a2145;--mat-standard-button-toggle-selected-state-text-color: #e3d6ff;font-family:var(--sf-mono)}.filters[_ngcontent-%COMP%] .f-tool_call[_ngcontent-%COMP%]{color:#7fd8c5}.filters[_ngcontent-%COMP%] .f-agent_message[_ngcontent-%COMP%]{color:var(--sf-running)}.viewport[_ngcontent-%COMP%]{flex:1;min-height:360px}.ev[_ngcontent-%COMP%]{display:grid;grid-template-columns:80px 130px minmax(0,1fr) 56px;gap:12px;align-items:center;height:33px;padding:0 20px;box-sizing:border-box;border-bottom:1px solid #171c28;font-family:var(--sf-mono);font-size:12.5px}.ev--message[_ngcontent-%COMP%]{padding:0;background:#121a2b}.ev--message[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{color:var(--sf-text)}.ev-message-button[_ngcontent-%COMP%]{grid-column:1/-1;min-width:0;box-sizing:border-box;display:grid;grid-template-columns:80px 130px minmax(0,1fr) 56px;gap:12px;align-items:center;width:100%;height:33px;padding:0 20px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.ev-message-button[_ngcontent-%COMP%]:hover{background:#ffffff0a}.ev-message-button[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--sf-secondary);outline-offset:-2px}.time[_ngcontent-%COMP%]{color:var(--sf-text-faint)}.text[_ngcontent-%COMP%]{color:var(--sf-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{color:var(--sf-text);margin-right:6px}.text[_ngcontent-%COMP%] b.write[_ngcontent-%COMP%]{color:var(--sf-success)}.dur[_ngcontent-%COMP%]{text-align:right;color:var(--sf-text-faint)}.dur.slow[_ngcontent-%COMP%]{color:var(--sf-tertiary)}.type[_ngcontent-%COMP%]{color:var(--sf-text-muted)}.t-phase_start[_ngcontent-%COMP%]{color:var(--sf-text)}.t-agent_start[_ngcontent-%COMP%]{color:var(--sf-secondary)}.t-thinking[_ngcontent-%COMP%]{color:#c9a8ff}.t-tool_call[_ngcontent-%COMP%]{color:#7fd8c5}.t-agent_message[_ngcontent-%COMP%]{color:var(--sf-running)}.context-label[_ngcontent-%COMP%]{font-size:11px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 8px;border-radius:4px;background:#ffffff0a;color:var(--sf-text-muted)}.source-badge[_ngcontent-%COMP%]{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:#ffffff0f;color:var(--sf-text-muted);border:1px solid rgba(255,255,255,.08)}.source-badge--agentos[_ngcontent-%COMP%]{background:#5fd4e01a;color:var(--sf-secondary);border-color:#5fd4e040}.metrics-group[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;margin-left:4px}.metric-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;font-family:var(--sf-mono);padding:2px 7px;border-radius:4px;background:#ffffff0d;color:var(--sf-text-muted);border:1px solid rgba(255,255,255,.08);cursor:default;white-space:nowrap}.metric-chip--partial[_ngcontent-%COMP%]{color:var(--sf-tertiary, #f59e0b);border-color:#f59e0b4d;background:#f59e0b0f}.metric-chip--duration[_ngcontent-%COMP%]{color:var(--sf-text-2)}.metric-chip--muted[_ngcontent-%COMP%]{opacity:.5}.metric-icon[_ngcontent-%COMP%]{font-family:Material Icons;font-size:12px;line-height:1;vertical-align:middle;opacity:.7}.state-placeholder--error[_ngcontent-%COMP%]{color:var(--sf-error, #f87171)}.state-placeholder--error[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--sf-error, #f87171);opacity:.7}.state-placeholder--error[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:not(.sf-muted){font-weight:600}.state-placeholder[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;flex:1;min-height:160px;color:var(--sf-text-muted)}.state-placeholder[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:28px;height:28px;font-size:28px;opacity:.5}.state-placeholder[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:13px}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spin 1s linear infinite}.activity[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;height:38px;padding:0 20px;color:var(--sf-secondary);font-size:13px;font-weight:600}.pulse[_ngcontent-%COMP%]{width:7px;height:7px;border-radius:50%;background:var(--sf-secondary);box-shadow:0 0 0 4px #5fd4e026}"]})};var tt=()=>[],Zo=(t,n)=>n.label,Yo=(t,n)=>n.id;function Jo(t,n){if(t&1&&(da$1(0,"a",4),kC(1,"Conversation"),Ed()),t&2){let e=sC(),i=sC();$g("href",i.caseLink(e.controllerCaseId),Om);}}function ea(t,n){t&1&&(da$1(0,"button",5),kC(1," Conversation "),Ed());}function ta(t,n){t&1&&(da$1(0,"sf-status-chip",7),kC(1,"waiting for human"),Ed());}function na(t,n){t&1&&(da$1(0,"sf-status-chip",22),kC(1,"running"),Ed());}function ia(t,n){t&1&&(da$1(0,"sf-status-chip",23),kC(1,"completed"),Ed());}function oa(t,n){t&1&&(da$1(0,"sf-status-chip",24),kC(1,"failed"),Ed());}function aa(t,n){t&1&&(da$1(0,"sf-status-chip",25),kC(1,"waiting"),Ed());}function ra(t,n){if(t&1&&ni$1(0,na,2,0,"sf-status-chip",22)(1,ia,2,0,"sf-status-chip",23)(2,oa,2,0,"sf-status-chip",24)(3,aa,2,0,"sf-status-chip",25),t&2){let e,i=sC();ri$1((e=i.status)==="running"?0:e==="succeeded"?1:e==="failed"?2:3);}}function ca(t,n){t&1&&(da$1(0,"sf-status-chip",28),kC(1,"waiting for human"),Ed());}function sa(t,n){t&1&&(da$1(0,"sf-status-chip",29),kC(1,"running"),Ed());}function la(t,n){t&1&&(da$1(0,"sf-status-chip",30),kC(1,"failed"),Ed());}function da(t,n){t&1&&(da$1(0,"sf-status-chip",31),kC(1,"completed"),Ed());}function pa(t,n){if(t&1&&(da$1(0,"sf-status-chip",32),kC(1),Ed()),t&2){let e=sC();Qo$1(),uy(e.status);}}function ma(t,n){if(t&1&&(da$1(0,"a",33),kC(1,"Case"),Ed()),t&2){let e=sC(3);$g("href",e.caseLink(n),Om);}}function ua(t,n){if(t&1&&(da$1(0,"span",35),kC(1,"agent "),da$1(2,"b"),kC(3),Ed()()),t&2){let e=sC();Qo$1(3),uy(e.agentName);}}function ga(t,n){if(t&1&&(da$1(0,"span",36),kC(1,"failure "),da$1(2,"b",9),kC(3),Ed()()),t&2){let e=sC();Qo$1(3),uy(e.failureCode);}}function ba(t,n){t&1&&(da$1(0,"mat-panel-description")(1,"span",41),kC(2,"unavailable"),Ed()());}function _a(t,n){if(t&1&&(da$1(0,"mat-panel-description")(1,"span",42),kC(2),Ed()()),t&2){let e=sC().$implicit;Qo$1(),Dt("badge--on",e.count>0),Qo$1(),uy(e.count);}}function ha(t,n){if(t&1&&(da$1(0,"span",45),kC(1),Ed()),t&2){let e=sC().$implicit;Qo$1(),uy(e.status);}}function xa(t,n){if(t&1&&(da$1(0,"a",47),kC(1),Ed()),t&2){let e=sC(2).$implicit,i=sC(5);$g("href",i.caseLink(e.subtitle),Om),Qo$1(),uy(e.subtitle);}}function fa(t,n){if(t&1&&(da$1(0,"span",48),kC(1),Ed()),t&2){let e=sC(2).$implicit;Qo$1(),uy(e.subtitle);}}function va(t,n){if(t&1&&ni$1(0,xa,2,2,"a",47)(1,fa,2,1,"span",48),t&2){let e=sC().$implicit;ri$1(e.title==="Case"?0:1);}}function ka(t,n){if(t&1&&(da$1(0,"span",49),kC(1),Ed()),t&2){let e=n.$implicit;Qo$1(),uy(e.label);}}function ya(t,n){if(t&1&&(da$1(0,"span",46),qw(1,ka,2,1,"span",49,Yo),Ed()),t&2){let e=sC().$implicit;Qo$1(),Zw(e.actions);}}function Ca(t,n){if(t&1&&(da$1(0,"li",43)(1,"span",44),kC(2),Ed(),ni$1(3,ha,2,1,"span",45),ni$1(4,va,2,1),ni$1(5,ya,3,0,"span",46),Ed()),t&2){let e=n.$implicit;Qo$1(2),uy(e.title),Qo$1(),ri$1(e.status?3:-1),Qo$1(),ri$1(e.subtitle?4:-1),Qo$1(),ri$1(e.actions?.length?5:-1);}}function Ia(t,n){if(t&1&&(da$1(0,"ul",39),qw(1,Ca,6,4,"li",43,Ww),Ed()),t&2){let e=sC().$implicit;Qo$1(),Zw(e.items);}}function Ma(t,n){if(t&1&&(da$1(0,"p",40),kC(1),Ed()),t&2){let e=sC().$implicit;Qo$1(),uy(e.body);}}function wa(t,n){t&1&&(da$1(0,"p",40),kC(1,"No content yet."),Ed());}function Sa(t,n){if(t&1&&(da$1(0,"mat-expansion-panel")(1,"mat-expansion-panel-header")(2,"mat-panel-title"),kC(3),Ed(),ni$1(4,ba,3,0,"mat-panel-description")(5,_a,3,3,"mat-panel-description"),Ed(),da$1(6,"div",38),ni$1(7,Ia,3,0,"ul",39),ni$1(8,Ma,2,1,"p",40)(9,wa,2,0,"p",40),Ed()()),t&2){let e=n.$implicit;Qo$1(3),uy(e.label),Qo$1(),ri$1(e.notAvailable?4:e.count!==void 0?5:-1),Qo$1(3),ri$1(e.items?.length?7:-1),Qo$1(),ri$1(e.body?8:e.items?.length?-1:9);}}function Ea(t,n){if(t&1&&(da$1(0,"section",20)(1,"header",26)(2,"h2",27),kC(3),Ed(),ni$1(4,ca,2,0,"sf-status-chip",28)(5,sa,2,0,"sf-status-chip",29)(6,la,2,0,"sf-status-chip",30)(7,da,2,0,"sf-status-chip",31)(8,pa,2,1,"sf-status-chip",32),da$1(9,"span",9),kC(10),GC(11,"duration"),Ed(),ni$1(12,ma,2,1,"a",33),Ed(),da$1(13,"div",34)(14,"span",35),kC(15,"step "),da$1(16,"b",9),kC(17),Ed()(),ni$1(18,ua,4,1,"span",35),da$1(19,"span",35),kC(20,"owner "),da$1(21,"b"),kC(22),Ed()(),da$1(23,"span",35),kC(24,"kind "),da$1(25,"b"),kC(26),Ed()(),da$1(27,"span",35),kC(28,"attempt "),da$1(29,"b",9),kC(30),Ed()(),ni$1(31,ga,4,1,"span",36),Ed(),da$1(32,"mat-accordion",37),qw(33,Sa,10,4,"mat-expansion-panel",null,Zo),Ed()()),t&2){let e,i=n,o=sC(2);Qo$1(3),uy(i.name),Qo$1(),ri$1(i.stepStatus==="waiting_human"?4:i.stepStatus==="running"?5:i.stepStatus==="failed"?6:i.stepStatus==="completed"?7:8),Qo$1(6),uy(ZC(11,10,i.durationSec)),Qo$1(2),ri$1((e=o.selectedAttemptCaseId())?12:-1,e),Qo$1(5),uy(i.stepId??i.name),Qo$1(),ri$1(i.agentName?18:-1),Qo$1(4),uy(i.owner),Qo$1(4),uy(i.kind),Qo$1(4),uy(i.attempt),Qo$1(),ri$1(i.failureCode?31:-1),Qo$1(2),Zw(i.sections);}}function Ta(t,n){t&1&&(da$1(0,"section",20)(1,"p",50),kC(2,"Select a step in the timeline to see its detail."),Ed()());}function Pa(t,n){if(t&1){let e=eC();da$1(0,"div",0)(1,"section",2)(2,"div",3)(3,"h1"),kC(4),Ed(),ni$1(5,Jo,2,1,"a",4)(6,ea,2,0,"button",5),Ed(),da$1(7,"div",6),ni$1(8,ta,2,0,"sf-status-chip",7)(9,ra,4,1),da$1(10,"span",8),kC(11),GC(12,"date"),da$1(13,"span",9),kC(14),GC(15,"date"),Ed()(),da$1(16,"span",10),kC(17),Ed(),zg(18,"span",11),da$1(19,"sf-metric",12),kC(20),GC(21,"usd"),Ed(),da$1(22,"sf-metric",13),kC(23),GC(24,"duration"),Ed(),da$1(25,"sf-metric",14),kC(26),GC(27,"tokens"),Ed(),da$1(28,"sf-metric",15),kC(29),GC(30,"tokens"),Ed(),da$1(31,"sf-metric",16),kC(32),GC(33,"tokens"),Ed()()(),da$1(34,"sf-action-bar",17),Yg("reply",function(o){Vp(e);let d=sC();return Hp(d.onReply(o))})("agentQuestionAnswered",function(o){Vp(e);let d=sC();return Hp(d.onAgentQuestionAnswered(o))})("retryRequested",function(o){Vp(e);let d=sC();return Hp(d.onRetry(o))})("cancelAttempt",function(o){Vp(e);let d=sC();return Hp(d.onCancelAttempt(o))})("continueCost",function(){Vp(e);let o=sC();return Hp(o.onContinueCost())})("stopCost",function(){Vp(e);let o=sC();return Hp(o.onStopCost())}),Ed(),da$1(35,"sf-agent-timeline",18),Yg("blockSelect",function(o){Vp(e);let d=sC();return Hp(d.selectBlock(o))}),Ed(),da$1(36,"div",19),ni$1(37,Ea,35,12,"section",20)(38,Ta,3,0,"section",20),zg(39,"sf-event-log",21),Ed()();}if(t&2){let e,i=n,o=sC();Qo$1(4),uy(i.goal),Qo$1(),ri$1(i.controllerCaseId?5:6),Qo$1(3),ri$1(i.executionState==="waiting_human"?8:9),Qo$1(3),Cd("started ",YC(12,33,i.startedAt,"MMM d")," at "),Qo$1(3),uy(YC(15,36,i.startedAt,"HH:mm:ss")),Qo$1(3),uy(i.workflow),Qo$1(2),$g("unknownCostCount",i.unknownCostCount??0),Qo$1(),uy(KC(21,39,i.costUsd,2,i.unknownCostCount)),Qo$1(3),uy(ZC(24,43,i.durationSec)),Qo$1(3),uy(ZC(27,45,i.tokens)),Qo$1(3),uy(ZC(30,47,i.tokensRead)),Qo$1(3),uy(ZC(33,49,i.tokensWritten)),Qo$1(2),$g("allowedActions",i.allowedActions??UC(51,tt))("blockers",i.blockers??UC(52,tt))("interactions",i.interactions??UC(53,tt))("agentQuestionsInput",i.agentQuestions??UC(54,tt))("selectedStepId",o.selectedStepId())("namespaceId",o.currentNamespaceId())("agentQuestionsError",i.agentQuestionsError??null)("answeringQuestionId",o.store.answeringQuestionId())("questionFeedback",o.store.questionFeedback()),Qo$1(),$g("lanes",i.lanes)("nowSec",i.nowSec)("activelyRunning",i.activelyRunning)("startedAt",i.startedAt)("selected",o.selectedBlock()),Qo$1(2),ri$1((e=o.selectedPhase())?37:38,e),Qo$1(2),$g("events",o.selectedEvents())("running",i.activelyRunning)("selectionContext",o.selection())("caseId",o.selectedAttemptCaseId())("selectedAttempt",o.selectedAttempt())("activityLabel",(o.selectedPhase()?.agentName||o.selectedPhase()?.owner||"agent")+" is working\u2026");}}function Aa(t,n){t&1&&(da$1(0,"p",1),kC(1,"Session not found."),Ed());}var Rn=class t{runId=xy("");route=h(G);store=h(ot);shell=h(pb);agentOsBaseUrl=h(Ft);routeRunId=Ce(this.route.paramMap.pipe(O(n=>n.get("runId")??"")),{initialValue:""});effectiveRunId=nT(()=>this.runId()||this.routeRunId());session=nT(()=>this.store.session(this.effectiveRunId()));run=nT(()=>this.store.runs().find(n=>n.id===this.effectiveRunId()));selection=Ye$1(null);selectedStepId=nT(()=>this.selection()?.stepId??"");selectedBlock=nT(()=>this.selectedStepId());selectedPhase=nT(()=>{let n=this.session();if(!n)return;let e=this.selectedStepId();return e?n.phaseByStepId?.get(e)??n.phase:n.phase});selectedAttemptCaseId=nT(()=>this.selection()?.caseId??this.selectedPhase()?.caseId??void 0);selectedAttempt=nT(()=>{let n=this.session(),e=this.selection();return !n?.attempts||!e?.attemptId?null:n.attempts.find(i=>i.attemptId===e.attemptId)??null});selectedEvents=nT(()=>{let n=this.session();if(!n)return [];let e=this.selection();if(!e)return n.events;let{stepId:i,attemptId:o}=e;return o?n.eventsByAttemptId?n.eventsByAttemptId.get(o)??[]:null:n.eventsByStepId?n.eventsByStepId.get(i)??[]:null});constructor(){Bs(()=>{let n=this.session();n?.phase.stepId&&!this.selection()&&this.selection.set({stepId:n.phase.stepId});let e=this.run(),i=e?.namespaceId,o=i?this.store.namespaces().get(i)??i:n?.sandbox??"\u2026";this.shell.crumbs.set([{label:"Workstreams",link:"/workstreams"},{label:i&&o!==i?Oa(o):o,link:"/workstreams",mono:!i||o===i},{label:e?.title||this.effectiveRunId(),mono:!e?.title}]);});}selectBlock(n){let i={stepId:n.stepId??n.label};n.attemptId&&(i.attemptId=n.attemptId),n.caseId&&(i.caseId=n.caseId),this.selection.set(i);}caseLink(n){return st(n,this.currentNamespaceId()||void 0,this.agentOsBaseUrl)}currentNamespaceId(){let n=this.run();if(n?.namespaceId)return n.namespaceId;let e=this.session();return e?.agentQuestions?.find(i=>i.case?.namespaceId)?.case?.namespaceId??e?.agentQuestionsError?.namespaceId??""}onReply(n){let e=this.effectiveRunId();e&&this.store.replyInteraction(e,n.interactionId,{actionId:n.actionId,text:n.text,expectedRevision:n.expectedRevision});}onAgentQuestionAnswered(n){let e=this.effectiveRunId();e&&this.store.answerAgentQuestion(e,n.question,n.answer);}onRetry(n){let e=this.effectiveRunId();e&&this.store.retry(e,{stepId:n.stepId,expectedRevision:n.expectedRevision,reasonCode:n.reasonCode});}onCancelAttempt(n){let e=this.effectiveRunId();e&&this.store.cancelAttempt(e,n.attemptId,{expectedRevision:n.expectedRevision,reason:n.reason});}onContinueCost(){let n=this.effectiveRunId();n&&this.store.continueCost(n);}onStopCost(){let n=this.effectiveRunId();n&&this.store.stopCost(n);}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=Ae({type:t,selectors:[["sf-session-page"]],inputs:{runId:[1,"runId"]},decls:2,vars:1,consts:[[1,"page"],[1,"sf-muted"],[1,"run-head","sf-panel"],[1,"title-row"],["mat-stroked-button","","target","_blank","rel","noopener","title","Open the AgentOS controller conversation",1,"sf-secondary",3,"href"],["mat-stroked-button","","disabled","","title","AgentOS controller case unavailable (no agent step executed for this workflow yet)",1,"sf-secondary"],[1,"meta-row"],["tone","amber","icon","person_alert"],[1,"sf-muted","started"],[1,"sf-mono"],[1,"sf-workflow"],[1,"sf-spacer"],["icon","paid","label","Cost",3,"unknownCostCount"],["icon","timer","label","Duration"],["icon","link","label","Context tokens"],["icon","menu_book","label","Tokens read"],["icon","edit","label","Tokens written"],[3,"reply","agentQuestionAnswered","retryRequested","cancelAttempt","continueCost","stopCost","allowedActions","blockers","interactions","agentQuestionsInput","selectedStepId","namespaceId","agentQuestionsError","answeringQuestionId","questionFeedback"],[3,"blockSelect","lanes","nowSec","activelyRunning","startedAt","selected"],[1,"bottom"],["aria-labelledby","phase-title",1,"phase","sf-panel"],[3,"events","running","selectionContext","caseId","selectedAttempt","activityLabel"],["tone","blue","icon","progress_activity","spin",""],["tone","green","icon","check"],["tone","red","icon","close"],["tone","neutral"],[1,"phase-head"],["id","phase-title"],["tone","amber","size","sm","icon","person_alert"],["tone","blue","size","sm","icon","progress_activity","spin",""],["tone","red","size","sm","icon","close"],["tone","green","size","sm","icon","check"],["tone","neutral","size","sm"],["mat-stroked-button","","target","_blank","rel","noopener","title","Open the AgentOS case for this attempt",1,"sf-secondary","phase-case-link",3,"href"],[1,"phase-tags"],[1,"tag"],[1,"tag","tag--failure"],["multi","","displayMode","flat",1,"sections"],[1,"section-content"],[1,"section-items"],[1,"sf-muted","section-body"],[1,"badge","badge--off"],[1,"badge"],[1,"section-item"],[1,"item-title"],[1,"item-status"],[1,"item-actions"],[1,"item-subtitle",3,"href"],[1,"item-subtitle"],[1,"item-action"],[1,"sf-muted",2,"padding","20px"]],template:function(e,i){if(e&1&&ni$1(0,Pa,40,55,"div",0)(1,Aa,2,0,"p",1),e&2){let o;ri$1((o=i.session())?0:1,o);}},dependencies:[EW,DW,wn,Mn,bt,_t,In,Cn,_,y,We,Xe,et,nS,ot$1,st$1,nt],styles:['@charset "UTF-8";.page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.run-head[_ngcontent-%COMP%]{padding:18px 22px;display:flex;flex-direction:column;gap:14px}.title-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:12px}h1[_ngcontent-%COMP%]{flex:1;margin:0;font-size:19px;font-weight:700;line-height:1.35}.meta-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.started[_ngcontent-%COMP%]{font-size:13px}.started[_ngcontent-%COMP%] .sf-mono[_ngcontent-%COMP%]{color:var(--sf-text)}.meta-row[_ngcontent-%COMP%] .sf-workflow[_ngcontent-%COMP%]{font-size:14px}.bottom[_ngcontent-%COMP%]{display:grid;grid-template-columns:380px minmax(0,1fr);gap:16px;min-height:520px}.phase[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden}.phase-head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid #1d2331}.phase-head[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:18px;font-weight:800}.phase-head[_ngcontent-%COMP%] .sf-mono[_ngcontent-%COMP%]{font-size:13px;color:var(--sf-text-2)}.phase-tags[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px;padding:14px 20px;border-bottom:1px solid #1d2331}.tag[_ngcontent-%COMP%]{height:26px;padding:0 10px;border-radius:7px;border:1px solid var(--sf-outline);display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--sf-text-muted)}.tag[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{color:var(--sf-text)}.tag--failure[_ngcontent-%COMP%]{border-color:#6b2a2e;background:#1f1114;color:#f58f8f}.tag--failure[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{color:#f58f8f}.phase-case-link[_ngcontent-%COMP%]{margin-left:auto;font-size:12px;height:28px;line-height:28px;padding:0 10px}.sections[_ngcontent-%COMP%]{padding:6px 8px}.badge[_ngcontent-%COMP%]{min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:11px;display:inline-grid;place-items:center;background:#1b2130;color:var(--sf-text-muted);font-family:var(--sf-mono);font-size:12px}.badge--on[_ngcontent-%COMP%]{background:#2a2145;color:var(--sf-primary)}.badge--off[_ngcontent-%COMP%]{background:#2b2116;color:var(--sf-tertiary);font-size:11px}mat-panel-description[_ngcontent-%COMP%]{justify-content:flex-end;flex-grow:0}.section-body[_ngcontent-%COMP%]{margin:0;font-size:13px}.section-items[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.section-item[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:8px 10px;border:1px solid var(--sf-outline);border-radius:8px;background:var(--sf-chrome)}.item-title[_ngcontent-%COMP%]{font-size:13px;font-weight:700}.item-status[_ngcontent-%COMP%]{font-family:var(--sf-mono);font-size:11.5px;padding:1px 7px;border-radius:9px;background:#1b2130;color:var(--sf-text-muted)}.item-subtitle[_ngcontent-%COMP%]{flex:1 1 220px;min-width:0;font-size:12.5px;color:var(--sf-text-2);overflow-wrap:anywhere}.item-actions[_ngcontent-%COMP%]{display:flex;gap:6px}.item-action[_ngcontent-%COMP%]{font-family:var(--sf-mono);font-size:11.5px;color:var(--sf-primary)}']})};function Oa(t){return t&&t[0].toUpperCase()+t.slice(1)}export{Rn as SessionPageComponent};
@@ -1 +1 @@
1
- import {J,Z}from'./chunk-DX1ej-tT.js';import {h,a4 as fb,f as Ye,p as pb,A as Ae,N as Nt,E as EW,D as DW,M as M8,S as S8,d as da,k as kC,b as Ed,Y as Yg,t as ni,Q as Qo,$ as $g,y as ri,u as uy,z as zg,q as qw,T as sC,Z as Zw,r as rr,l as ly,a2 as Cd}from'./main-N22U3TWY.js';function z(n,e){return this.definitionKey(e)}function I(n,e){n&1&&(da(0,"div",5)(1,"mat-icon",9),kC(2,"cloud_off"),Ed(),da(3,"span"),kC(4),Ed()()),n&2&&(Qo(4),uy(e));}function L(n,e){n&1&&(da(0,"div",6),zg(1,"mat-progress-spinner",10),da(2,"span",3),kC(3,"Loading definitions\u2026"),Ed()());}function N(n,e){n&1&&(da(0,"div",7)(1,"mat-icon",9),kC(2,"inventory_2"),Ed(),da(3,"p",3),kC(4,"No workflow definitions registered."),Ed()());}function j(n,e){if(n&1&&(da(0,"a",11)(1,"div",12)(2,"h2",13),kC(3),Ed(),da(4,"p",14),kC(5),Ed()(),da(6,"span",15),kC(7),Ed(),da(8,"mat-icon",16),kC(9,"chevron_right"),Ed()()),n&2){let t=e.$implicit,i=sC(2);$g("routerLink",i.detailLink(t)),rr("data-workflow-card",i.definitionKey(t))("data-workflow-card-link",i.definitionKey(t)),Qo(3),uy(i.definitionTitle(t)),Qo(2),ly(" ",t.workflowType,"@",t.version," "),Qo(),$g("title",t.definitionHash??""),Qo(),Cd(" ",i.shortHash(t)," ");}}function F(n,e){if(n&1&&(da(0,"div",8),qw(1,j,10,8,"a",11,z,true),Ed()),n&2){let t=sC();Qo(),Zw(t.definitions());}}function H(n){if(Array.isArray(n))return n;let e=typeof n=="object"&&n!==null?n:{};if(Array.isArray(e.items))return e.items;let t=e.data;if(Array.isArray(t))return t;let i=typeof t=="object"&&t!==null?t:{};return Array.isArray(i.items)?i.items:[]}var A=class n{api=h(fb);definitions=Ye([]);loading=Ye(false);error=Ye(null);constructor(){h(pb).crumbs.set([{label:"Workflows"}]),this.load();}load(){this.loading.set(true),this.error.set(null),this.api.getWorkflowDefinitions().subscribe({next:e=>{this.definitions.set(H(e)),this.loading.set(false);},error:e=>{this.error.set(e?.message?.trim()||"Unable to load workflow definitions."),this.definitions.set([]),this.loading.set(false);}});}definitionKey(e){return `${e.workflowType??""}@${e.version??""}`}definitionTitle(e){let t=typeof e.title=="string"?e.title.trim():"",i=typeof e.workflowType=="string"?e.workflowType.trim():"";return t||i||"Definition without type"}shortHash(e){let t=typeof e.definitionHash=="string"?e.definitionHash.trim():"";return t?t.length>12?`${t.slice(0,12)}\u2026`:t:"\u2014"}detailLink(e){return ["/workflows",String(e.workflowType??""),String(e.version??"")]}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=Ae({type:n,selectors:[["sf-workflows-page"]],decls:15,vars:3,consts:[[1,"page"],[1,"page-head"],[1,"titles"],[1,"sf-muted"],["mat-stroked-button","",1,"sf-secondary",3,"click","disabled"],["role","alert","data-workflow-error","true",1,"banner","banner--warn"],["data-workflow-loading","true",1,"state"],["data-workflow-empty","true",1,"state","sf-panel"],["data-workflow-list","true",1,"grid"],["aria-hidden","true"],["diameter","32","mode","indeterminate"],[1,"wf-card",3,"routerLink"],[1,"wf-card__titles"],["data-workflow-title","",1,"wf-card__title"],["data-workflow-subtitle","",1,"wf-card__subtitle","sf-mono"],["data-workflow-hash","",1,"wf-card__hash","sf-mono",3,"title"],["aria-hidden","true",1,"wf-card__chevron"]],template:function(t,i){if(t&1&&(da(0,"div",0)(1,"header",1)(2,"div",2)(3,"h1"),kC(4,"Workflows"),Ed(),da(5,"p",3),kC(6,"Registered workflow definitions and their governed steps."),Ed()(),da(7,"button",4),Yg("click",function(){return i.load()}),da(8,"mat-icon"),kC(9,"refresh"),Ed(),kC(10," Refresh "),Ed()(),ni(11,I,5,1,"div",5),ni(12,L,4,0,"div",6)(13,N,5,0,"div",7)(14,F,3,0,"div",8),Ed()),t&2){let f;Qo(7),$g("disabled",i.loading()),Qo(4),ri((f=i.error())?11:-1,f),Qo(),ri(i.loading()?12:i.definitions().length===0?13:14);}},dependencies:[Nt,EW,DW,M8,S8,J,Z],styles:[".page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:18px;max-width:1200px}.page-head[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:16px}.titles[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:4px}h1[_ngcontent-%COMP%]{margin:0;font-size:28px;font-weight:800;letter-spacing:-.01em}.titles[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px}.banner[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid;font-size:13.5px;font-weight:600}.banner[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:18px;height:18px;font-size:18px}.banner--warn[_ngcontent-%COMP%]{color:var(--sf-tertiary);border-color:#5a4818;background:#1d180b}.state[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.state.sf-panel[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;gap:8px;padding:40px;text-align:center}.state.sf-panel[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:36px;height:36px;font-size:36px;color:var(--sf-text-muted)}.grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}.wf-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:12px;border:1px solid var(--sf-outline);background:var(--sf-surface);text-decoration:none;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.wf-card[_ngcontent-%COMP%]:hover{background:#141a26;border-color:var(--sf-outline-active)}.wf-card[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--sf-primary);outline-offset:2px}.wf-card__titles[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.wf-card__title[_ngcontent-%COMP%]{margin:0;font-size:17px;font-weight:700;color:var(--sf-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-card__subtitle[_ngcontent-%COMP%]{margin:0;font-size:12.5px;color:var(--sf-secondary)}.wf-card__hash[_ngcontent-%COMP%]{font-size:12px;color:var(--sf-text-muted);padding:4px 10px;border:1px solid var(--sf-outline-strong);border-radius:999px;background:var(--sf-surface-2);white-space:nowrap;flex-shrink:0}.wf-card__chevron[_ngcontent-%COMP%]{color:var(--sf-text-muted);flex-shrink:0}"]})};export{A as WorkflowsPageComponent,H as extractWorkflowDefinitions};
1
+ import {J,Z}from'./chunk-X5R-FF0-.js';import {h,a4 as fb,f as Ye,p as pb,A as Ae,N as Nt,E as EW,D as DW,M as M8,S as S8,d as da,k as kC,b as Ed,Y as Yg,t as ni,Q as Qo,$ as $g,y as ri,u as uy,z as zg,q as qw,T as sC,Z as Zw,r as rr,l as ly,a2 as Cd}from'./main-HFWOOLXW.js';function z(n,e){return this.definitionKey(e)}function I(n,e){n&1&&(da(0,"div",5)(1,"mat-icon",9),kC(2,"cloud_off"),Ed(),da(3,"span"),kC(4),Ed()()),n&2&&(Qo(4),uy(e));}function L(n,e){n&1&&(da(0,"div",6),zg(1,"mat-progress-spinner",10),da(2,"span",3),kC(3,"Loading definitions\u2026"),Ed()());}function N(n,e){n&1&&(da(0,"div",7)(1,"mat-icon",9),kC(2,"inventory_2"),Ed(),da(3,"p",3),kC(4,"No workflow definitions registered."),Ed()());}function j(n,e){if(n&1&&(da(0,"a",11)(1,"div",12)(2,"h2",13),kC(3),Ed(),da(4,"p",14),kC(5),Ed()(),da(6,"span",15),kC(7),Ed(),da(8,"mat-icon",16),kC(9,"chevron_right"),Ed()()),n&2){let t=e.$implicit,i=sC(2);$g("routerLink",i.detailLink(t)),rr("data-workflow-card",i.definitionKey(t))("data-workflow-card-link",i.definitionKey(t)),Qo(3),uy(i.definitionTitle(t)),Qo(2),ly(" ",t.workflowType,"@",t.version," "),Qo(),$g("title",t.definitionHash??""),Qo(),Cd(" ",i.shortHash(t)," ");}}function F(n,e){if(n&1&&(da(0,"div",8),qw(1,j,10,8,"a",11,z,true),Ed()),n&2){let t=sC();Qo(),Zw(t.definitions());}}function H(n){if(Array.isArray(n))return n;let e=typeof n=="object"&&n!==null?n:{};if(Array.isArray(e.items))return e.items;let t=e.data;if(Array.isArray(t))return t;let i=typeof t=="object"&&t!==null?t:{};return Array.isArray(i.items)?i.items:[]}var A=class n{api=h(fb);definitions=Ye([]);loading=Ye(false);error=Ye(null);constructor(){h(pb).crumbs.set([{label:"Workflows"}]),this.load();}load(){this.loading.set(true),this.error.set(null),this.api.getWorkflowDefinitions().subscribe({next:e=>{this.definitions.set(H(e)),this.loading.set(false);},error:e=>{this.error.set(e?.message?.trim()||"Unable to load workflow definitions."),this.definitions.set([]),this.loading.set(false);}});}definitionKey(e){return `${e.workflowType??""}@${e.version??""}`}definitionTitle(e){let t=typeof e.title=="string"?e.title.trim():"",i=typeof e.workflowType=="string"?e.workflowType.trim():"";return t||i||"Definition without type"}shortHash(e){let t=typeof e.definitionHash=="string"?e.definitionHash.trim():"";return t?t.length>12?`${t.slice(0,12)}\u2026`:t:"\u2014"}detailLink(e){return ["/workflows",String(e.workflowType??""),String(e.version??"")]}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=Ae({type:n,selectors:[["sf-workflows-page"]],decls:15,vars:3,consts:[[1,"page"],[1,"page-head"],[1,"titles"],[1,"sf-muted"],["mat-stroked-button","",1,"sf-secondary",3,"click","disabled"],["role","alert","data-workflow-error","true",1,"banner","banner--warn"],["data-workflow-loading","true",1,"state"],["data-workflow-empty","true",1,"state","sf-panel"],["data-workflow-list","true",1,"grid"],["aria-hidden","true"],["diameter","32","mode","indeterminate"],[1,"wf-card",3,"routerLink"],[1,"wf-card__titles"],["data-workflow-title","",1,"wf-card__title"],["data-workflow-subtitle","",1,"wf-card__subtitle","sf-mono"],["data-workflow-hash","",1,"wf-card__hash","sf-mono",3,"title"],["aria-hidden","true",1,"wf-card__chevron"]],template:function(t,i){if(t&1&&(da(0,"div",0)(1,"header",1)(2,"div",2)(3,"h1"),kC(4,"Workflows"),Ed(),da(5,"p",3),kC(6,"Registered workflow definitions and their governed steps."),Ed()(),da(7,"button",4),Yg("click",function(){return i.load()}),da(8,"mat-icon"),kC(9,"refresh"),Ed(),kC(10," Refresh "),Ed()(),ni(11,I,5,1,"div",5),ni(12,L,4,0,"div",6)(13,N,5,0,"div",7)(14,F,3,0,"div",8),Ed()),t&2){let f;Qo(7),$g("disabled",i.loading()),Qo(4),ri((f=i.error())?11:-1,f),Qo(),ri(i.loading()?12:i.definitions().length===0?13:14);}},dependencies:[Nt,EW,DW,M8,S8,J,Z],styles:[".page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:18px;max-width:1200px}.page-head[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:16px}.titles[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:4px}h1[_ngcontent-%COMP%]{margin:0;font-size:28px;font-weight:800;letter-spacing:-.01em}.titles[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px}.banner[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid;font-size:13.5px;font-weight:600}.banner[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:18px;height:18px;font-size:18px}.banner--warn[_ngcontent-%COMP%]{color:var(--sf-tertiary);border-color:#5a4818;background:#1d180b}.state[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.state.sf-panel[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;gap:8px;padding:40px;text-align:center}.state.sf-panel[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:36px;height:36px;font-size:36px;color:var(--sf-text-muted)}.grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}.wf-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:12px;border:1px solid var(--sf-outline);background:var(--sf-surface);text-decoration:none;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.wf-card[_ngcontent-%COMP%]:hover{background:#141a26;border-color:var(--sf-outline-active)}.wf-card[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--sf-primary);outline-offset:2px}.wf-card__titles[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.wf-card__title[_ngcontent-%COMP%]{margin:0;font-size:17px;font-weight:700;color:var(--sf-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-card__subtitle[_ngcontent-%COMP%]{margin:0;font-size:12.5px;color:var(--sf-secondary)}.wf-card__hash[_ngcontent-%COMP%]{font-size:12px;color:var(--sf-text-muted);padding:4px 10px;border:1px solid var(--sf-outline-strong);border-radius:999px;background:var(--sf-surface-2);white-space:nowrap;flex-shrink:0}.wf-card__chevron[_ngcontent-%COMP%]{color:var(--sf-text-muted);flex-shrink:0}"]})};export{A as WorkflowsPageComponent,H as extractWorkflowDefinitions};
@@ -1,4 +1,4 @@
1
- import {h,I as y,aS as ff,bY as Y,aL as no,aR as q,ct as Gb,aA as xc,aa as M,bc as Q,cu as je$1,co as F,cv as Le$1,cw as Xe$1,c6 as Xt,aV as at,c7 as q$1,cx as wt,cy as Ft,bK as Hr,aW as $$1,bz as QS,bT as so,aU as wt$1,b6 as qb,b7 as Yv,aQ as ke,aC as um,A as Ae,aX as Wi,aE as Gr,d as da,aZ as jg,b as Ed,bJ as qg,r as rr,v as Dt,C as pe,H as ce,bW as di,ay as Pe$1,X as Xr,aO as ue,aD as tt,aY as pa,Y as Yg,cz as Aw,cA as pt,cB as vM,cC as zv,aN as P,a$ as sf,aP as ti,b0 as Ny,cc as be,aM as k,bZ as Gl,cD as rM,a_ as Xg,aI as uC,aJ as lC,f as Ye$1,cE as oM,cF as EM,cG as At}from'./main-N22U3TWY.js';function ze(i,a){}var g=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=true;backdropClass="";disableClose=false;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;positionStrategy;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=false;autoFocus="first-tabbable";restoreFocus=true;scrollStrategy;closeOnNavigation=true;closeOnDestroy=true;closeOnOverlayDetachments=true;disableAnimations=false;providers;container;templateContext;bindings};var K=(()=>{class i extends pt{_elementRef=h(ue);_focusTrapFactory=h(vM);_config;_interactivityChecker=h(zv);_ngZone=h(P);_focusMonitor=h(sf);_renderer=h(ti);_changeDetectorRef=h(Ny);_injector=h(Y);_platform=h(be);_document=h(k);_portalOutlet;_focusTrapped=new q;_focusTrap=null;_elementFocusedBeforeDialogWasOpened=null;_closeInteractionType=null;_ariaLabelledByQueue=[];_isDestroyed=false;constructor(){super(),this._config=h(g,{optional:true})||new g,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy);}_addAriaLabelledBy(e){this._ariaLabelledByQueue.push(e),this._changeDetectorRef.markForCheck();}_removeAriaLabelledBy(e){let t=this._ariaLabelledByQueue.indexOf(e);t>-1&&(this._ariaLabelledByQueue.splice(t,1),this._changeDetectorRef.markForCheck());}_contentAttached(){this._initializeFocusTrap(),this._captureInitialFocus();}_captureInitialFocus(){this._trapFocus();}ngOnDestroy(){this._focusTrapped.complete(),this._isDestroyed=true,this._restoreFocus();}attachComponentPortal(e){this._portalOutlet.hasAttached();let t=this._portalOutlet.attachComponentPortal(e);return this._contentAttached(),t}attachTemplatePortal(e){this._portalOutlet.hasAttached();let t=this._portalOutlet.attachTemplatePortal(e);return this._contentAttached(),t}attachDomPortal=e=>{this._portalOutlet.hasAttached();let t=this._portalOutlet.attachDomPortal(e);return this._contentAttached(),t};_recaptureFocus(){this._containsFocus()||this._trapFocus();}_forceFocus(e,t){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let n=()=>{o(),l(),e.removeAttribute("tabindex");},o=this._renderer.listen(e,"blur",n),l=this._renderer.listen(e,"mousedown",n);})),e.focus(t);}_focusByCssSelector(e,t){let n=this._elementRef.nativeElement.querySelector(e);n&&this._forceFocus(n,t);}_trapFocus(e){this._isDestroyed||Gl(()=>{let t=this._elementRef.nativeElement;switch(this._config.autoFocus){case false:case "dialog":this._containsFocus()||t.focus(e);break;case true:case "first-tabbable":this._focusTrap?.focusInitialElement(e)||this._focusDialogContainer(e);break;case "first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]',e);break;default:this._focusByCssSelector(this._config.autoFocus,e);break}this._focusTrapped.next();},{injector:this._injector});}_restoreFocus(){let e=this._config.restoreFocus,t=null;if(typeof e=="string"?t=this._document.querySelector(e):typeof e=="boolean"?t=e?this._elementFocusedBeforeDialogWasOpened:null:e&&(t=e),this._config.restoreFocus&&t&&typeof t.focus=="function"){let n=rM(),o=this._elementRef.nativeElement;(!n||n===this._document.body||n===o||o.contains(n))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus());}this._focusTrap&&this._focusTrap.destroy();}_focusDialogContainer(e){this._elementRef.nativeElement.focus?.(e);}_containsFocus(){let e=this._elementRef.nativeElement,t=rM();return e===t||e.contains(t)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=rM()));}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=Ae({type:i,selectors:[["cdk-dialog-container"]],viewQuery:function(t,n){if(t&1&&Xg(Wi,7),t&2){let o;uC(o=lC())&&(n._portalOutlet=o.first);}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(t,n){t&2&&rr("id",n._config.id||null)("role",n._config.role)("aria-modal",n._config.ariaModal)("aria-labelledby",n._config.ariaLabel?null:n._ariaLabelledByQueue[0])("aria-label",n._config.ariaLabel)("aria-describedby",n._config.ariaDescribedBy||null);},features:[Gr],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,n){t&1&&jg(0,ze,0,0,"ng-template",0);},dependencies:[Wi],styles:[`.cdk-dialog-container {
1
+ import {h,I as y,aS as ff,bY as Y,aL as no,aR as q,ct as Gb,aA as xc,aa as M,bc as Q,cu as je$1,co as F,cv as Le$1,cw as Xe$1,c6 as Xt,aV as at,c7 as q$1,cx as wt,cy as Ft,bK as Hr,aW as $$1,bz as QS,bT as so,aU as wt$1,b6 as qb,b7 as Yv,aQ as ke,aC as um,A as Ae,aX as Wi,aE as Gr,d as da,aZ as jg,b as Ed,bJ as qg,r as rr,v as Dt,C as pe,H as ce,bW as di,ay as Pe$1,X as Xr,aO as ue,aD as tt,aY as pa,Y as Yg,cz as Aw,cA as pt,cB as vM,cC as zv,aN as P,a$ as sf,aP as ti,b0 as Ny,cc as be,aM as k,bZ as Gl,cD as rM,a_ as Xg,aI as uC,aJ as lC,f as Ye$1,cE as oM,cF as EM,cG as At}from'./main-HFWOOLXW.js';function ze(i,a){}var g=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=true;backdropClass="";disableClose=false;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;positionStrategy;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=false;autoFocus="first-tabbable";restoreFocus=true;scrollStrategy;closeOnNavigation=true;closeOnDestroy=true;closeOnOverlayDetachments=true;disableAnimations=false;providers;container;templateContext;bindings};var K=(()=>{class i extends pt{_elementRef=h(ue);_focusTrapFactory=h(vM);_config;_interactivityChecker=h(zv);_ngZone=h(P);_focusMonitor=h(sf);_renderer=h(ti);_changeDetectorRef=h(Ny);_injector=h(Y);_platform=h(be);_document=h(k);_portalOutlet;_focusTrapped=new q;_focusTrap=null;_elementFocusedBeforeDialogWasOpened=null;_closeInteractionType=null;_ariaLabelledByQueue=[];_isDestroyed=false;constructor(){super(),this._config=h(g,{optional:true})||new g,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy);}_addAriaLabelledBy(e){this._ariaLabelledByQueue.push(e),this._changeDetectorRef.markForCheck();}_removeAriaLabelledBy(e){let t=this._ariaLabelledByQueue.indexOf(e);t>-1&&(this._ariaLabelledByQueue.splice(t,1),this._changeDetectorRef.markForCheck());}_contentAttached(){this._initializeFocusTrap(),this._captureInitialFocus();}_captureInitialFocus(){this._trapFocus();}ngOnDestroy(){this._focusTrapped.complete(),this._isDestroyed=true,this._restoreFocus();}attachComponentPortal(e){this._portalOutlet.hasAttached();let t=this._portalOutlet.attachComponentPortal(e);return this._contentAttached(),t}attachTemplatePortal(e){this._portalOutlet.hasAttached();let t=this._portalOutlet.attachTemplatePortal(e);return this._contentAttached(),t}attachDomPortal=e=>{this._portalOutlet.hasAttached();let t=this._portalOutlet.attachDomPortal(e);return this._contentAttached(),t};_recaptureFocus(){this._containsFocus()||this._trapFocus();}_forceFocus(e,t){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let n=()=>{o(),l(),e.removeAttribute("tabindex");},o=this._renderer.listen(e,"blur",n),l=this._renderer.listen(e,"mousedown",n);})),e.focus(t);}_focusByCssSelector(e,t){let n=this._elementRef.nativeElement.querySelector(e);n&&this._forceFocus(n,t);}_trapFocus(e){this._isDestroyed||Gl(()=>{let t=this._elementRef.nativeElement;switch(this._config.autoFocus){case false:case "dialog":this._containsFocus()||t.focus(e);break;case true:case "first-tabbable":this._focusTrap?.focusInitialElement(e)||this._focusDialogContainer(e);break;case "first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]',e);break;default:this._focusByCssSelector(this._config.autoFocus,e);break}this._focusTrapped.next();},{injector:this._injector});}_restoreFocus(){let e=this._config.restoreFocus,t=null;if(typeof e=="string"?t=this._document.querySelector(e):typeof e=="boolean"?t=e?this._elementFocusedBeforeDialogWasOpened:null:e&&(t=e),this._config.restoreFocus&&t&&typeof t.focus=="function"){let n=rM(),o=this._elementRef.nativeElement;(!n||n===this._document.body||n===o||o.contains(n))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus());}this._focusTrap&&this._focusTrap.destroy();}_focusDialogContainer(e){this._elementRef.nativeElement.focus?.(e);}_containsFocus(){let e=this._elementRef.nativeElement,t=rM();return e===t||e.contains(t)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=rM()));}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=Ae({type:i,selectors:[["cdk-dialog-container"]],viewQuery:function(t,n){if(t&1&&Xg(Wi,7),t&2){let o;uC(o=lC())&&(n._portalOutlet=o.first);}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(t,n){t&2&&rr("id",n._config.id||null)("role",n._config.role)("aria-modal",n._config.ariaModal)("aria-labelledby",n._config.ariaLabel?null:n._ariaLabelledByQueue[0])("aria-label",n._config.ariaLabel)("aria-describedby",n._config.ariaDescribedBy||null);},features:[Gr],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,n){t&1&&jg(0,ze,0,0,"ng-template",0);},dependencies:[Wi],styles:[`.cdk-dialog-container {
2
2
  display: block;
3
3
  width: 100%;
4
4
  height: 100%;
@@ -1 +1 @@
1
- import {J,Z}from'./chunk-DX1ej-tT.js';import {h,a4 as fb,au as G,p as pb,f as Ye,A as Ae,E as EW,D as DW,M as M8,S as S8,N as Nt,d as da,k as kC,b as Ed,t as ni,Q as Qo,$ as $g,l as ly,y as ri,u as uy,z as zg,T as sC}from'./main-N22U3TWY.js';function T(e,t){e&1&&(da(0,"p",5),kC(1),Ed()),e&2&&(Qo(),uy(t));}function W(e,t){e&1&&(da(0,"div",6),zg(1,"mat-progress-spinner",9),da(2,"span",10),kC(3,"Loading definition\u2026"),Ed()());}function I(e,t){e&1&&(da(0,"div",7)(1,"mat-icon",11),kC(2,"cloud_off"),Ed(),da(3,"span"),kC(4),Ed()()),e&2&&(Qo(4),uy(t));}function z(e,t){if(e&1&&(da(0,"pre",8)(1,"code"),kC(2),Ed()()),e&2){let l=sC();Qo(2),uy(l.formatJson(t));}}function F(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}var E=class e{api=h(fb);route=h(G);shell=h(pb);backLink=["/workflows"];loading=Ye(false);error=Ye(null);definition=Ye(null);workflowType;version;formatJson=F;constructor(){let t=this.route.snapshot.paramMap;this.workflowType=t.get("type")??"",this.version=t.get("version")??"",this.shell.crumbs.set([{label:"Workflows",link:"/workflows"},{label:`${this.workflowType}@${this.version}`,mono:true}]),this.load();}load(){if(!this.workflowType||!this.version){this.error.set("Missing route parameters (type or version).");return}this.loading.set(true),this.error.set(null),this.api.getWorkflowDefinition(this.workflowType,this.version).subscribe({next:t=>{this.definition.set(t),this.loading.set(false);},error:t=>{this.error.set(t?.message?.trim()||"Unable to load workflow definition."),this.loading.set(false);}});}static \u0275fac=function(l){return new(l||e)};static \u0275cmp=Ae({type:e,selectors:[["sf-workflow-detail-page"]],decls:13,vars:5,consts:[[1,"page"],[1,"page-head"],["mat-stroked-button","","data-workflow-back","",1,"sf-secondary","back-btn",3,"routerLink"],[1,"titles"],["data-workflow-detail-type","",1,"sf-mono"],["data-workflow-detail-title","",1,"sf-muted"],["data-workflow-detail-loading","",1,"state"],["role","alert","data-workflow-detail-error","",1,"banner","banner--warn"],["data-workflow-detail-json","",1,"json-block"],["diameter","32","mode","indeterminate"],[1,"sf-muted"],["aria-hidden","true"]],template:function(l,a){if(l&1&&(da(0,"div",0)(1,"header",1)(2,"a",2)(3,"mat-icon"),kC(4,"arrow_back"),Ed(),kC(5," Back "),Ed(),da(6,"div",3)(7,"h1",4),kC(8),Ed(),ni(9,T,2,1,"p",5),Ed()(),ni(10,W,4,0,"div",6)(11,I,5,1,"div",7)(12,z,3,1,"pre",8),Ed()),l&2){let g,f;Qo(2),$g("routerLink",a.backLink),Qo(6),ly("",a.workflowType,"@",a.version),Qo(),ri((g=a.definition()?.title)?9:-1,g),Qo(),ri(a.loading()?10:(f=a.error())?11:(f=a.definition())?12:-1,f);}},dependencies:[EW,DW,M8,S8,J,Z,Nt],styles:[".page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:18px;max-width:1200px}.page-head[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:16px}.back-btn[_ngcontent-%COMP%]{flex-shrink:0;margin-top:2px}.titles[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:4px}h1[_ngcontent-%COMP%]{margin:0;font-size:22px;font-weight:700;letter-spacing:-.01em;word-break:break-all}.titles[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px}.banner[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid;font-size:13.5px;font-weight:600}.banner[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:18px;height:18px;font-size:18px}.banner--warn[_ngcontent-%COMP%]{color:var(--sf-tertiary);border-color:#5a4818;background:#1d180b}.state[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.json-block[_ngcontent-%COMP%]{margin:0;padding:20px 24px;border-radius:12px;border:1px solid var(--sf-outline);background:var(--sf-surface-2);font-family:var(--sf-mono);font-size:13px;line-height:1.6;overflow-x:auto;overflow-y:auto;max-height:75vh;white-space:pre;tab-size:2}.json-block[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{font:inherit;color:inherit;background:none;padding:0}"]})};export{E as WorkflowDetailPageComponent,F as formatJson};
1
+ import {J,Z}from'./chunk-X5R-FF0-.js';import {h,a4 as fb,au as G,p as pb,f as Ye,A as Ae,E as EW,D as DW,M as M8,S as S8,N as Nt,d as da,k as kC,b as Ed,t as ni,Q as Qo,$ as $g,l as ly,y as ri,u as uy,z as zg,T as sC}from'./main-HFWOOLXW.js';function T(e,t){e&1&&(da(0,"p",5),kC(1),Ed()),e&2&&(Qo(),uy(t));}function W(e,t){e&1&&(da(0,"div",6),zg(1,"mat-progress-spinner",9),da(2,"span",10),kC(3,"Loading definition\u2026"),Ed()());}function I(e,t){e&1&&(da(0,"div",7)(1,"mat-icon",11),kC(2,"cloud_off"),Ed(),da(3,"span"),kC(4),Ed()()),e&2&&(Qo(4),uy(t));}function z(e,t){if(e&1&&(da(0,"pre",8)(1,"code"),kC(2),Ed()()),e&2){let l=sC();Qo(2),uy(l.formatJson(t));}}function F(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}var E=class e{api=h(fb);route=h(G);shell=h(pb);backLink=["/workflows"];loading=Ye(false);error=Ye(null);definition=Ye(null);workflowType;version;formatJson=F;constructor(){let t=this.route.snapshot.paramMap;this.workflowType=t.get("type")??"",this.version=t.get("version")??"",this.shell.crumbs.set([{label:"Workflows",link:"/workflows"},{label:`${this.workflowType}@${this.version}`,mono:true}]),this.load();}load(){if(!this.workflowType||!this.version){this.error.set("Missing route parameters (type or version).");return}this.loading.set(true),this.error.set(null),this.api.getWorkflowDefinition(this.workflowType,this.version).subscribe({next:t=>{this.definition.set(t),this.loading.set(false);},error:t=>{this.error.set(t?.message?.trim()||"Unable to load workflow definition."),this.loading.set(false);}});}static \u0275fac=function(l){return new(l||e)};static \u0275cmp=Ae({type:e,selectors:[["sf-workflow-detail-page"]],decls:13,vars:5,consts:[[1,"page"],[1,"page-head"],["mat-stroked-button","","data-workflow-back","",1,"sf-secondary","back-btn",3,"routerLink"],[1,"titles"],["data-workflow-detail-type","",1,"sf-mono"],["data-workflow-detail-title","",1,"sf-muted"],["data-workflow-detail-loading","",1,"state"],["role","alert","data-workflow-detail-error","",1,"banner","banner--warn"],["data-workflow-detail-json","",1,"json-block"],["diameter","32","mode","indeterminate"],[1,"sf-muted"],["aria-hidden","true"]],template:function(l,a){if(l&1&&(da(0,"div",0)(1,"header",1)(2,"a",2)(3,"mat-icon"),kC(4,"arrow_back"),Ed(),kC(5," Back "),Ed(),da(6,"div",3)(7,"h1",4),kC(8),Ed(),ni(9,T,2,1,"p",5),Ed()(),ni(10,W,4,0,"div",6)(11,I,5,1,"div",7)(12,z,3,1,"pre",8),Ed()),l&2){let g,f;Qo(2),$g("routerLink",a.backLink),Qo(6),ly("",a.workflowType,"@",a.version),Qo(),ri((g=a.definition()?.title)?9:-1,g),Qo(),ri(a.loading()?10:(f=a.error())?11:(f=a.definition())?12:-1,f);}},dependencies:[EW,DW,M8,S8,J,Z,Nt],styles:[".page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:18px;max-width:1200px}.page-head[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:16px}.back-btn[_ngcontent-%COMP%]{flex-shrink:0;margin-top:2px}.titles[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:4px}h1[_ngcontent-%COMP%]{margin:0;font-size:22px;font-weight:700;letter-spacing:-.01em;word-break:break-all}.titles[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px}.banner[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid;font-size:13.5px;font-weight:600}.banner[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:18px;height:18px;font-size:18px}.banner--warn[_ngcontent-%COMP%]{color:var(--sf-tertiary);border-color:#5a4818;background:#1d180b}.state[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.json-block[_ngcontent-%COMP%]{margin:0;padding:20px 24px;border-radius:12px;border:1px solid var(--sf-outline);background:var(--sf-surface-2);font-family:var(--sf-mono);font-size:13px;line-height:1.6;overflow-x:auto;overflow-y:auto;max-height:75vh;white-space:pre;tab-size:2}.json-block[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{font:inherit;color:inherit;background:none;padding:0}"]})};export{E as WorkflowDetailPageComponent,F as formatJson};
@@ -1 +1 @@
1
- import {x as xy,aF as Et,A as Ae,M as M8,S as S8,J as or,t as ni,L as nt,y as ri,_ as ii,v as Dt,d as da,k as kC,b as Ed,T as sC,Q as Qo,u as uy,z as zg}from'./main-N22U3TWY.js';var v=["*"];function P(o,i){if(o&1&&(da(0,"mat-icon",2),kC(1),Ed()),o&2){let e=sC();Dt("sf-spin",e.spin()),Qo(),uy(e.icon());}}function O(o,i){o&1&&zg(0,"span",1);}var _=class o{tone=xy("neutral");icon=xy();spin=xy(false,{transform:Et});dot=xy(false,{transform:Et});size=xy("md");static \u0275fac=function(e){return new(e||o)};static \u0275cmp=Ae({type:o,selectors:[["sf-status-chip"]],hostVars:4,hostBindings:function(e,t){e&2&&(ii("sf-chip sf-chip--"+t.tone()),Dt("sf-chip--sm",t.size()==="sm"));},inputs:{tone:[1,"tone"],icon:[1,"icon"],spin:[1,"spin"],dot:[1,"dot"],size:[1,"size"]},ngContentSelectors:v,decls:3,vars:1,consts:[["aria-hidden","true",3,"sf-spin"],["aria-hidden","true",1,"dot"],["aria-hidden","true"]],template:function(e,t){e&1&&(or(),ni(0,P,2,3,"mat-icon",0)(1,O,1,0,"span",1),nt(2)),e&2&&ri(t.icon()?0:t.dot()?1:-1);},dependencies:[M8,S8],styles:["[_nghost-%COMP%]{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 12px;border-radius:999px;border:1px solid;font-size:13px;font-weight:700;white-space:nowrap}.sf-chip--sm[_nghost-%COMP%]{height:24px;padding:0 10px;font-size:12.5px}mat-icon[_ngcontent-%COMP%]{width:14px;height:14px;font-size:14px}.dot[_ngcontent-%COMP%]{width:6px;height:6px;border-radius:50%;background:var(--sf-success)}.sf-chip--blue[_nghost-%COMP%]{color:var(--sf-running);border-color:#33486e;background:#121a2b}.sf-chip--amber[_nghost-%COMP%]{color:var(--sf-tertiary);border-color:#5a4818;background:#1d180b;font-weight:600}.sf-chip--green[_nghost-%COMP%]{color:#6ee79a;border-color:#22583a;background:#0e1f16}.sf-chip--red[_nghost-%COMP%]{color:#f58f8f;border-color:#6b2a2e;background:#1f1114}.sf-chip--neutral[_nghost-%COMP%]{color:var(--sf-text-muted);border-color:var(--sf-outline-strong);background:var(--sf-surface-2)}.sf-chip--violet[_nghost-%COMP%]{color:#e3d6ff;border-color:#4b3d80;background:#2a2145}.sf-chip--cyan[_nghost-%COMP%]{color:var(--sf-secondary);border-color:#2c5d63;background:#0e1d21}"]})};export{_};
1
+ import {x as xy,aF as Et,A as Ae,M as M8,S as S8,J as or,t as ni,L as nt,y as ri,_ as ii,v as Dt,d as da,k as kC,b as Ed,T as sC,Q as Qo,u as uy,z as zg}from'./main-HFWOOLXW.js';var v=["*"];function P(o,i){if(o&1&&(da(0,"mat-icon",2),kC(1),Ed()),o&2){let e=sC();Dt("sf-spin",e.spin()),Qo(),uy(e.icon());}}function O(o,i){o&1&&zg(0,"span",1);}var _=class o{tone=xy("neutral");icon=xy();spin=xy(false,{transform:Et});dot=xy(false,{transform:Et});size=xy("md");static \u0275fac=function(e){return new(e||o)};static \u0275cmp=Ae({type:o,selectors:[["sf-status-chip"]],hostVars:4,hostBindings:function(e,t){e&2&&(ii("sf-chip sf-chip--"+t.tone()),Dt("sf-chip--sm",t.size()==="sm"));},inputs:{tone:[1,"tone"],icon:[1,"icon"],spin:[1,"spin"],dot:[1,"dot"],size:[1,"size"]},ngContentSelectors:v,decls:3,vars:1,consts:[["aria-hidden","true",3,"sf-spin"],["aria-hidden","true",1,"dot"],["aria-hidden","true"]],template:function(e,t){e&1&&(or(),ni(0,P,2,3,"mat-icon",0)(1,O,1,0,"span",1),nt(2)),e&2&&ri(t.icon()?0:t.dot()?1:-1);},dependencies:[M8,S8],styles:["[_nghost-%COMP%]{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 12px;border-radius:999px;border:1px solid;font-size:13px;font-weight:700;white-space:nowrap}.sf-chip--sm[_nghost-%COMP%]{height:24px;padding:0 10px;font-size:12.5px}mat-icon[_ngcontent-%COMP%]{width:14px;height:14px;font-size:14px}.dot[_ngcontent-%COMP%]{width:6px;height:6px;border-radius:50%;background:var(--sf-success)}.sf-chip--blue[_nghost-%COMP%]{color:var(--sf-running);border-color:#33486e;background:#121a2b}.sf-chip--amber[_nghost-%COMP%]{color:var(--sf-tertiary);border-color:#5a4818;background:#1d180b;font-weight:600}.sf-chip--green[_nghost-%COMP%]{color:#6ee79a;border-color:#22583a;background:#0e1f16}.sf-chip--red[_nghost-%COMP%]{color:#f58f8f;border-color:#6b2a2e;background:#1f1114}.sf-chip--neutral[_nghost-%COMP%]{color:var(--sf-text-muted);border-color:var(--sf-outline-strong);background:var(--sf-surface-2)}.sf-chip--violet[_nghost-%COMP%]{color:#e3d6ff;border-color:#4b3d80;background:#2a2145}.sf-chip--cyan[_nghost-%COMP%]{color:var(--sf-secondary);border-color:#2c5d63;background:#0e1d21}"]})};export{_};