daimon 0.8.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CHANGELOG.md +152 -0
  2. package/README.md +48 -1
  3. package/dist/cli.js +100 -85
  4. package/dist/dashboard/browser/chunk-2LMH5KDX.js +5 -0
  5. package/dist/dashboard/browser/chunk-2QORICNU.js +1 -0
  6. package/dist/dashboard/browser/chunk-36JZZZCV.js +3 -0
  7. package/dist/dashboard/browser/{chunk-QSBOKS53.js → chunk-3S7OJ77P.js} +1 -1
  8. package/dist/dashboard/browser/chunk-42QQHEGP.js +2 -0
  9. package/dist/dashboard/browser/chunk-4L223A7A.js +1 -0
  10. package/dist/dashboard/browser/chunk-532NB4ME.js +1 -0
  11. package/dist/dashboard/browser/chunk-6CP6NCA6.js +4 -0
  12. package/dist/dashboard/browser/chunk-6OMBXV4F.js +1 -0
  13. package/dist/dashboard/browser/chunk-6YXOOFGY.js +1 -0
  14. package/dist/dashboard/browser/{chunk-6WZJCF24.js → chunk-AHO3BCLI.js} +1 -1
  15. package/dist/dashboard/browser/chunk-ASK7FG27.js +1 -0
  16. package/dist/dashboard/browser/{chunk-OHX55ZU4.js → chunk-BCGQJHY3.js} +1 -1
  17. package/dist/dashboard/browser/chunk-BDTAVYPH.js +1 -0
  18. package/dist/dashboard/browser/chunk-BFBXHJEF.js +1 -0
  19. package/dist/dashboard/browser/chunk-BKYXU3OY.js +1 -0
  20. package/dist/dashboard/browser/chunk-BPUIUSAU.js +2 -0
  21. package/dist/dashboard/browser/chunk-C6SNIY22.js +2 -0
  22. package/dist/dashboard/browser/{chunk-PJPGLT4T.js → chunk-CCRYWDXZ.js} +1 -1
  23. package/dist/dashboard/browser/chunk-DNHNU64I.js +2 -0
  24. package/dist/dashboard/browser/chunk-DRBVSI3B.js +1 -0
  25. package/dist/dashboard/browser/{chunk-7NRE3SNA.js → chunk-EXOJOB6H.js} +2 -2
  26. package/dist/dashboard/browser/chunk-EYOED3X7.js +2 -0
  27. package/dist/dashboard/browser/chunk-G3IBZZQH.js +2 -0
  28. package/dist/dashboard/browser/chunk-H3HRZLHG.js +4 -0
  29. package/dist/dashboard/browser/chunk-H5GKWN4K.js +1 -0
  30. package/dist/dashboard/browser/{chunk-NDSAQ2HK.js → chunk-HVK4GEK7.js} +1 -1
  31. package/dist/dashboard/browser/{chunk-7NPLP3QD.js → chunk-HYIZY5FQ.js} +1 -1
  32. package/dist/dashboard/browser/chunk-ITSOVQEA.js +1 -0
  33. package/dist/dashboard/browser/{chunk-Q772THBA.js → chunk-JODWQVMA.js} +1 -2
  34. package/dist/dashboard/browser/chunk-LAMOHX23.js +1 -0
  35. package/dist/dashboard/browser/chunk-NMKAKRON.js +1 -0
  36. package/dist/dashboard/browser/{chunk-LBRCWYRN.js → chunk-NY5IR366.js} +1 -1
  37. package/dist/dashboard/browser/chunk-OOQPWG6B.js +1 -0
  38. package/dist/dashboard/browser/chunk-P3Q7RWT5.js +2 -0
  39. package/dist/dashboard/browser/{chunk-P5IU57TV.js → chunk-PVPELZPO.js} +1 -1
  40. package/dist/dashboard/browser/{chunk-V2KNRAE4.js → chunk-QHXOUNPA.js} +1 -1
  41. package/dist/dashboard/browser/chunk-RMV7CR6Y.js +2 -0
  42. package/dist/dashboard/browser/chunk-RQSDQXNY.js +1 -0
  43. package/dist/dashboard/browser/chunk-RWX5JIT4.js +1 -0
  44. package/dist/dashboard/browser/{chunk-UC3XMN2Y.js → chunk-SXE7REUK.js} +1 -1
  45. package/dist/dashboard/browser/chunk-TLCLILNG.js +4 -0
  46. package/dist/dashboard/browser/chunk-UAIWZYHN.js +1 -0
  47. package/dist/dashboard/browser/chunk-UFTWVSEC.js +2 -0
  48. package/dist/dashboard/browser/{chunk-2BXIFQGQ.js → chunk-UXLEE3F2.js} +1 -1
  49. package/dist/dashboard/browser/chunk-XPP3TYS2.js +2 -0
  50. package/dist/dashboard/browser/{chunk-EIWOTZT3.js → chunk-YFYMS5EE.js} +1 -1
  51. package/dist/dashboard/browser/chunk-YPVVBWNF.js +1 -0
  52. package/dist/dashboard/browser/{chunk-3WKRVGPT.js → chunk-Z3XFJOYG.js} +1 -1
  53. package/dist/dashboard/browser/index.html +2 -2
  54. package/dist/dashboard/browser/main-EENULCI5.js +1 -0
  55. package/dist/main.js +55 -50
  56. package/dist/mcp.js +3 -3
  57. package/package.json +8 -3
  58. package/dist/dashboard/browser/chunk-44JIQO3X.js +0 -1
  59. package/dist/dashboard/browser/chunk-4BAKWDAV.js +0 -1
  60. package/dist/dashboard/browser/chunk-4OCNYL7T.js +0 -1
  61. package/dist/dashboard/browser/chunk-7C772RJ3.js +0 -3
  62. package/dist/dashboard/browser/chunk-A4BNXJUT.js +0 -1
  63. package/dist/dashboard/browser/chunk-CILFSVSP.js +0 -2
  64. package/dist/dashboard/browser/chunk-CM4RQF3A.js +0 -5
  65. package/dist/dashboard/browser/chunk-CY5YRTQK.js +0 -1
  66. package/dist/dashboard/browser/chunk-GYWEXV2L.js +0 -3
  67. package/dist/dashboard/browser/chunk-H2N3RBHF.js +0 -1
  68. package/dist/dashboard/browser/chunk-H3L4MTG4.js +0 -5
  69. package/dist/dashboard/browser/chunk-I65I7J5Q.js +0 -2
  70. package/dist/dashboard/browser/chunk-K43KW4K2.js +0 -4
  71. package/dist/dashboard/browser/chunk-K7S4ITPJ.js +0 -2
  72. package/dist/dashboard/browser/chunk-KL6X73FV.js +0 -1
  73. package/dist/dashboard/browser/chunk-KLH6B22T.js +0 -1
  74. package/dist/dashboard/browser/chunk-LBL7Z5BE.js +0 -5
  75. package/dist/dashboard/browser/chunk-LHAMBNO6.js +0 -1
  76. package/dist/dashboard/browser/chunk-NX6DTO32.js +0 -1
  77. package/dist/dashboard/browser/chunk-P5IE6DI6.js +0 -2
  78. package/dist/dashboard/browser/chunk-PMAG4W5W.js +0 -1
  79. package/dist/dashboard/browser/chunk-VM2FOT77.js +0 -1
  80. package/dist/dashboard/browser/chunk-Y6B6X4Y6.js +0 -2
  81. package/dist/dashboard/browser/chunk-YYAZGY5M.js +0 -1
  82. package/dist/dashboard/browser/main-O76X7RMS.js +0 -1
@@ -1,2 +1 @@
1
- import{k as v}from"./chunk-LBL7Z5BE.js";import{Db as h,Eb as l,Fb as d,Ob as a,Pb as s,Qb as p,Wb as u,Xb as f,Yb as g,_a as i,fc as y,ic as c,jc as m,pb as r}from"./chunk-K43KW4K2.js";var M=["*"];function _(e,o){if(e&1&&(a(0,"span",1),c(1),s()),e&2){let t=u();i(),m(t.icon)}}function E(e,o){if(e&1&&(a(0,"p",3),c(1),s()),e&2){let t=u();i(),m(t.hint)}}var b=class e{status="stopped";health="unknown";badge=()=>v({status:this.status,health:this.health});kind=()=>this.badge().kind;static \u0275fac=function(t){return new(t||e)};static \u0275cmp=r({type:e,selectors:[["dm-status-pill"]],inputs:{status:"status",health:"health"},decls:4,vars:4,consts:[[1,"dm-pill"],[1,"dm-dot"]],template:function(t,n){t&1&&(a(0,"span",0),p(1,"span",1),a(2,"span"),c(3),s()()),t&2&&(h("data-kind",n.kind()),i(),y("background",n.badge().color),i(2),m(n.badge().label))},styles:["[_nghost-%COMP%]{display:inline-flex}.dm-pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.4rem;padding:2px 10px;border-radius:999px;border:1px solid var(--mat-sys-outline-variant);background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface);font:500 .75rem/1rem Roboto;letter-spacing:.025rem}.dm-pill[data-kind=serving][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 12%,transparent);border-color:color-mix(in oklch,var(--mat-sys-primary) 28%,transparent)}.dm-pill[data-kind=compiling][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-tertiary) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-tertiary) 28%,transparent)}.dm-pill[data-kind=starting][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-secondary) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-secondary) 28%,transparent)}.dm-pill[data-kind=error][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-error) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-error) 30%,transparent);color:var(--mat-sys-error)}.dm-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:999px;box-shadow:0 0 0 2px color-mix(in oklch,currentColor 18%,transparent)}"],changeDetection:0})},C=class e{width="100%";height="1em";static \u0275fac=function(t){return new(t||e)};static \u0275cmp=r({type:e,selectors:[["dm-skeleton"]],inputs:{width:"width",height:"height"},decls:1,vars:4,consts:[[1,"dm-sk"]],template:function(t,n){t&1&&p(0,"span",0),t&2&&y("width",n.width)("height",n.height)},styles:[".dm-sk[_ngcontent-%COMP%]{display:inline-block;border-radius:6px;background:linear-gradient(90deg,var(--mat-sys-surface-container) 0%,var(--mat-sys-surface-container-high) 50%,var(--mat-sys-surface-container) 100%);background-size:200% 100%;animation:_ngcontent-%COMP%_dm-shimmer 1.4s linear infinite}@keyframes _ngcontent-%COMP%_dm-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.dm-sk[_ngcontent-%COMP%]{animation:none}}"],changeDetection:0})},x=class e{icon="";title="";hint="";static \u0275fac=function(t){return new(t||e)};static \u0275cmp=r({type:e,selectors:[["dm-empty"]],inputs:{icon:"icon",title:"title",hint:"hint"},ngContentSelectors:M,decls:6,vars:3,consts:[[1,"dm-empty"],[1,"material-symbols-outlined","dm-empty-icon"],[1,"dm-empty-title"],[1,"dm-empty-hint"]],template:function(t,n){t&1&&(f(),a(0,"div",0),l(1,_,2,1,"span",1),a(2,"h3",2),c(3),s(),l(4,E,2,1,"p",3),g(5),s()),t&2&&(i(),d(n.icon?1:-1),i(2),m(n.title),i(),d(n.hint?4:-1))},styles:[".dm-empty[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;text-align:center;color:var(--mat-sys-on-surface-variant)}.dm-empty-icon[_ngcontent-%COMP%]{font-size:48px;opacity:.55}.dm-empty-title[_ngcontent-%COMP%]{font:500 1.125rem/1.5rem Roboto;color:var(--mat-sys-on-surface);margin:0}.dm-empty-hint[_ngcontent-%COMP%]{font:400 .875rem/1.25rem Roboto;max-width:36rem;margin:0}"],changeDetection:0})},k=class e{static \u0275fac=function(t){return new(t||e)};static \u0275cmp=r({type:e,selectors:[["dm-mono"]],ngContentSelectors:M,decls:2,vars:0,consts:[[1,"dm-mono"]],template:function(t,n){t&1&&(f(),a(0,"span",0),g(1),s())},styles:[".dm-mono[_ngcontent-%COMP%]{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;letter-spacing:0}"],changeDetection:0})};var T=(()=>{class e{static \u0275fac=function(n){return new(n||e)};static \u0275cmp=r({type:e,selectors:[["structural-styles"]],decls:0,vars:0,template:function(n,P){},styles:[`.mat-focus-indicator{position:relative}.mat-focus-indicator::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border-width:var(--mat-focus-indicator-border-width, 3px);border-style:var(--mat-focus-indicator-border-style, solid);border-color:var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus::before{content:""}@media(forced-colors: active){html{--mat-focus-indicator-display: block}}
2
- `],encapsulation:2,changeDetection:0})}return e})();export{T as a,b,C as c,x as d,k as e};
1
+ import{e as C}from"./chunk-6CP6NCA6.js";import{Db as y,Fb as l,Gb as d,Pb as a,Qb as r,Rb as p,Xb as u,Yb as g,Zb as f,_a as i,gc as h,jc as m,kc as c,pb as s}from"./chunk-H3HRZLHG.js";var M=["*"];function _(e,o){if(e&1&&(a(0,"span",1),m(1),r()),e&2){let t=u();i(),c(t.icon)}}function E(e,o){if(e&1&&(a(0,"p",3),m(1),r()),e&2){let t=u();i(),c(t.hint)}}var v=class e{status="stopped";health="unknown";badge=()=>C({status:this.status,health:this.health});kind=()=>this.badge().kind;static \u0275fac=function(t){return new(t||e)};static \u0275cmp=s({type:e,selectors:[["dm-status-pill"]],inputs:{status:"status",health:"health"},decls:4,vars:4,consts:[[1,"dm-pill"],[1,"dm-dot"]],template:function(t,n){t&1&&(a(0,"span",0),p(1,"span",1),a(2,"span"),m(3),r()()),t&2&&(y("data-kind",n.kind()),i(),h("background",n.badge().color),i(2),c(n.badge().label))},styles:["[_nghost-%COMP%]{display:inline-flex}.dm-pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.4rem;padding:2px 10px;border-radius:999px;border:1px solid var(--mat-sys-outline-variant);background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface);font:500 .75rem/1rem Roboto;letter-spacing:.025rem}.dm-pill[data-kind=serving][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 12%,transparent);border-color:color-mix(in oklch,var(--mat-sys-primary) 28%,transparent)}.dm-pill[data-kind=compiling][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-tertiary) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-tertiary) 28%,transparent)}.dm-pill[data-kind=starting][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-secondary) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-secondary) 28%,transparent)}.dm-pill[data-kind=error][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-error) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-error) 30%,transparent);color:var(--mat-sys-error)}.dm-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:999px;box-shadow:0 0 0 2px color-mix(in oklch,currentColor 18%,transparent)}"],changeDetection:0})},x=class e{width="100%";height="1em";static \u0275fac=function(t){return new(t||e)};static \u0275cmp=s({type:e,selectors:[["dm-skeleton"]],inputs:{width:"width",height:"height"},decls:1,vars:4,consts:[[1,"dm-sk"]],template:function(t,n){t&1&&p(0,"span",0),t&2&&h("width",n.width)("height",n.height)},styles:[".dm-sk[_ngcontent-%COMP%]{display:inline-block;border-radius:6px;background:linear-gradient(90deg,var(--mat-sys-surface-container) 0%,var(--mat-sys-surface-container-high) 50%,var(--mat-sys-surface-container) 100%);background-size:200% 100%;animation:_ngcontent-%COMP%_dm-shimmer 1.4s linear infinite}@keyframes _ngcontent-%COMP%_dm-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.dm-sk[_ngcontent-%COMP%]{animation:none}}"],changeDetection:0})},b=class e{icon="";title="";hint="";static \u0275fac=function(t){return new(t||e)};static \u0275cmp=s({type:e,selectors:[["dm-empty"]],inputs:{icon:"icon",title:"title",hint:"hint"},ngContentSelectors:M,decls:6,vars:3,consts:[[1,"dm-empty"],[1,"material-symbols-outlined","dm-empty-icon"],[1,"dm-empty-title"],[1,"dm-empty-hint"]],template:function(t,n){t&1&&(g(),a(0,"div",0),l(1,_,2,1,"span",1),a(2,"h3",2),m(3),r(),l(4,E,2,1,"p",3),f(5),r()),t&2&&(i(),d(n.icon?1:-1),i(2),c(n.title),i(),d(n.hint?4:-1))},styles:[".dm-empty[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;text-align:center;color:var(--mat-sys-on-surface-variant)}.dm-empty-icon[_ngcontent-%COMP%]{font-size:48px;opacity:.55}.dm-empty-title[_ngcontent-%COMP%]{font:500 1.125rem/1.5rem Roboto;color:var(--mat-sys-on-surface);margin:0}.dm-empty-hint[_ngcontent-%COMP%]{font:400 .875rem/1.25rem Roboto;max-width:36rem;margin:0}"],changeDetection:0})},k=class e{static \u0275fac=function(t){return new(t||e)};static \u0275cmp=s({type:e,selectors:[["dm-mono"]],ngContentSelectors:M,decls:2,vars:0,consts:[[1,"dm-mono"]],template:function(t,n){t&1&&(g(),a(0,"span",0),f(1),r())},styles:[".dm-mono[_ngcontent-%COMP%]{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;letter-spacing:0}"],changeDetection:0})};export{v as a,x as b,b as c,k as d};
@@ -0,0 +1 @@
1
+ import{z as i}from"./chunk-DNHNU64I.js";import{aa as e,qb as r}from"./chunk-H3HRZLHG.js";var c=(()=>{class t{static \u0275fac=function(a){return new(a||t)};static \u0275mod=r({type:t});static \u0275inj=e({imports:[i,i]})}return t})();export{c as a};
@@ -0,0 +1 @@
1
+ import{a as mt,b as lt,c as dt,f as ct,h as pt}from"./chunk-EXOJOB6H.js";import{a as w,b as st}from"./chunk-NY5IR366.js";import{c as nt}from"./chunk-2LMH5KDX.js";import"./chunk-6YXOOFGY.js";import"./chunk-BCGQJHY3.js";import"./chunk-P3Q7RWT5.js";import{a as it,b as at,c as ot,d as rt}from"./chunk-JODWQVMA.js";import{a as Y,b as tt}from"./chunk-RMV7CR6Y.js";import"./chunk-YNQPX5G6.js";import"./chunk-C6SNIY22.js";import"./chunk-42QQHEGP.js";import"./chunk-AHO3BCLI.js";import"./chunk-DRBVSI3B.js";import"./chunk-BKYXU3OY.js";import{b as J,c as K}from"./chunk-YFYMS5EE.js";import{e as U,f as X}from"./chunk-BPUIUSAU.js";import{d as et}from"./chunk-6CP6NCA6.js";import"./chunk-DNHNU64I.js";import{h as G}from"./chunk-532NB4ME.js";import{$b as P,Ac as y,Db as H,Fb as d,Gb as c,Hb as j,Jb as b,Kb as M,Lb as h,Mb as a,Nb as i,Ob as g,Pb as z,Qb as B,Rb as V,Xb as l,_a as s,ac as S,bc as E,ea as x,fb as $,jc as r,kc as p,lc as f,mc as q,na as W,pb as k,ta as _,vc as Z,za as T}from"./chunk-H3HRZLHG.js";var ht=["canvas"],ut=["chart"],Ct=e=>["/history",e],yt=(e,n)=>n.name,vt=(e,n)=>n.ts;function xt(e,n){if(e&1&&g(0,"dm-status-pill",7),e&2){let t=n;h("status",t.status)("health",t.health)}}function bt(e,n){if(e&1&&(a(0,"span",5),r(1,"\xB7"),i(),a(2,"dm-mono")(3,"span",6),r(4),i()(),d(5,xt,1,2,"dm-status-pill",7)),e&2){let t,o=l();s(4),p(o.name),s(),c((t=o.currentApp())?5:-1,t)}}function Mt(e,n){e&1&&(a(0,"a",3)(1,"mat-icon"),r(2,"arrow_back"),i(),r(3," All apps "),i())}function Pt(e,n){e&1&&(a(0,"span"),r(1,"Compile-time history across all apps"),i())}function St(e,n){e&1&&(a(0,"div",4),g(1,"dm-skeleton",8)(2,"dm-skeleton",8)(3,"dm-skeleton",8),i())}function Et(e,n){e&1&&g(0,"dm-empty",9)}function wt(e,n){if(e&1&&g(0,"dm-status-pill",7),e&2){let t=n;h("status",t.status)("health",t.health)}}function Ot(e,n){if(e&1&&(g(0,"dm-history-spark",15),a(1,"div",16)(2,"span",17)(3,"span",18),r(4,"count"),i(),a(5,"span",19)(6,"dm-mono"),r(7),i()()(),a(8,"span",17)(9,"span",18),r(10,"p50"),i(),a(11,"span",19)(12,"dm-mono"),r(13),i()()(),a(14,"span",17)(15,"span",18),r(16,"p95"),i(),a(17,"span",19)(18,"dm-mono"),r(19),i()()()()),e&2){let t=l().$implicit;h("samples",t.samples),s(7),p(t.stats.count),s(6),f("",t.stats.p50," ms"),s(6),f("",t.stats.p95," ms")}}function Tt(e,n){e&1&&(a(0,"div",14),r(1,"no data"),i())}function kt(e,n){if(e&1&&(a(0,"a",11)(1,"div",12)(2,"dm-mono")(3,"span",13),r(4),i()(),d(5,wt,1,2,"dm-status-pill",7),i(),d(6,Ot,20,4)(7,Tt,2,0,"div",14),i()),e&2){let t,o=n.$implicit,m=l(3);h("routerLink",Z(4,Ct,o.name)),s(4),p(o.name),s(),c((t=m.byName(o.name))?5:-1,t),s(),c(o.samples.length?6:7)}}function Ht(e,n){if(e&1&&(a(0,"div",10),b(1,kt,8,6,"a",11,yt),i()),e&2){let t=l(2);s(),M(t.overview())}}function It(e,n){if(e&1&&d(0,Et,1,0,"dm-empty",9)(1,Ht,3,0,"div",10),e&2){let t=l();c(t.overview().length===0?0:1)}}function Dt(e,n){e&1&&g(0,"dm-empty",9)}function Rt(e,n){if(e&1&&(a(0,"tr")(1,"td")(2,"span",32),r(3),i()(),a(4,"td",31)(5,"dm-mono"),r(6),i()()()),e&2){let t=n.$implicit,o=l(3);s(2),h("matTooltip",o.absTime(t.ts)),s(),p(o.relTime(t.ts)),s(3),f("",t.ms," ms")}}function Nt(e,n){if(e&1&&(a(0,"div",23)(1,"div",24)(2,"div",25),r(3,"count"),i(),a(4,"div",26)(5,"dm-mono"),r(6),i()()(),a(7,"div",24)(8,"div",25),r(9,"p50"),i(),a(10,"div",26)(11,"dm-mono"),r(12),i()()(),a(13,"div",24)(14,"div",25),r(15,"p95"),i(),a(16,"div",26)(17,"dm-mono"),r(18),i()()(),a(19,"div",24)(20,"div",25),r(21,"slowest"),i(),a(22,"div",26)(23,"dm-mono"),r(24),i()()(),a(25,"div",24)(26,"div",25),r(27,"fastest"),i(),a(28,"div",26)(29,"dm-mono"),r(30),i()()()(),a(31,"mat-card",27)(32,"mat-card-header")(33,"mat-card-title"),r(34,"Compile time (ms)"),i()(),a(35,"mat-card-content")(36,"div",28),g(37,"canvas",null,0),i()()(),a(39,"mat-card",29)(40,"mat-card-header")(41,"mat-card-title"),r(42,"Recent compiles"),i()(),a(43,"mat-card-content")(44,"table",30)(45,"thead")(46,"tr")(47,"th"),r(48,"time"),i(),a(49,"th",31),r(50,"duration"),i()()(),a(51,"tbody"),b(52,Rt,7,3,"tr",null,vt),i()()()()),e&2){let t=l(2);s(6),p(t.stats().count),s(6),f("",t.stats().p50," ms"),s(6),f("",t.stats().p95," ms"),s(6),f("",t.stats().slowest," ms"),s(6),f("",t.stats().fastest," ms"),s(22),M(t.recent())}}function Lt(e,n){e&1&&g(0,"dm-skeleton",21)}function At(e,n){e&1&&(a(0,"div",22),r(1,"No state transitions recorded."),i())}function Ft(e,n){if(e&1&&(a(0,"span",5),r(1,"\xB7"),i(),a(2,"span",40),r(3),i()),e&2){let t=l();s(3),p(t.message)}}function Qt(e,n){if(e&1&&(a(0,"div",33)(1,"div",35)(2,"span",36),r(3),i(),a(4,"mat-icon",37),r(5,"arrow_forward"),i(),a(6,"span",38),r(7),i()(),a(8,"div",39)(9,"dm-mono"),r(10),i(),d(11,Ft,4,1),i()()),e&2){let t=n,o=l(3);s(3),p(t.from||"\u2014"),s(3),H("data-to",t.to),s(),p(t.to||"\u2014"),s(3),p(o.fmtTs(t.ts)),s(),c(t.message?11:-1)}}function Wt(e,n){if(e&1&&(a(0,"span",5),r(1,"\xB7"),i(),a(2,"span")(3,"dm-mono"),r(4),i()()),e&2){let t=l().$implicit;s(4),q("",t.from||"\u2014"," \u2192 ",t.to||"\u2014")}}function $t(e,n){if(e&1&&(a(0,"span",5),r(1,"\xB7"),i(),a(2,"span"),r(3),i()),e&2){let t=l().$implicit;s(3),p(t.message)}}function jt(e,n){if(e&1&&(a(0,"li"),g(1,"span",41),a(2,"div",42)(3,"div",43)(4,"strong"),r(5),i(),d(6,Wt,5,2),i(),a(7,"div",44)(8,"dm-mono"),r(9),i(),d(10,$t,4,1),i()()()),e&2){let t=n.$implicit,o=l(4);s(),H("data-kind",t.type),s(4),p(t.type),s(),c(t.from||t.to?6:-1),s(3),p(o.fmtTs(t.ts)),s(),c(t.message?10:-1)}}function zt(e,n){if(e&1&&(a(0,"ol",34),b(1,jt,11,5,"li",null,j),i()),e&2){let t=l(3);s(),M(t.priorEvents())}}function Bt(e,n){if(e&1&&(d(0,Qt,12,5,"div",33),d(1,zt,3,0,"ol",34)),e&2){let t,o=l(2);c((t=(t=o.why())==null?null:t.lastTransition)?0:-1,t),s(),c(o.priorEvents().length?1:-1)}}function Vt(e,n){if(e&1&&(d(0,Dt,1,0,"dm-empty",9)(1,Nt,54,5),a(2,"mat-card",20)(3,"mat-card-header")(4,"mat-card-title"),r(5,"Why"),i()(),a(6,"mat-card-content"),d(7,Lt,1,0,"dm-skeleton",21)(8,At,2,0,"div",22)(9,Bt,2,2),i()()),e&2){let t=l();c(t.samples().length===0?0:1),s(7),c(t.whyLoading()?7:t.why()?9:8)}}w.register(...st);function gt(e,n){if(e.length===0)return 0;let t=Math.min(e.length-1,Math.max(0,Math.floor(n/100*(e.length-1))));return e[t]}function I(e){if(e.length===0)return{count:0,p50:0,p95:0,slowest:0,fastest:0};let n=e.map(t=>t.ms).slice().sort((t,o)=>t-o);return{count:e.length,p50:gt(n,50),p95:gt(n,95),slowest:n[n.length-1],fastest:n[0]}}function qt(e,n=Date.now()){let t=Math.max(0,n-e),o=Math.floor(t/1e3);if(o<5)return"just now";if(o<60)return o+"s ago";let m=Math.floor(o/60);if(m<60)return m+"m ago";let u=Math.floor(m/60);return u<24?u+"h ago":Math.floor(u/24)+"d ago"}function Zt(e){return e?new Date(e).toLocaleString():"\u2014"}function v(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()}var D=class e{samples=[];canvasRef;chart;ngAfterViewInit(){let n=matchMedia("(prefers-reduced-motion: reduce)").matches,t=v("--mat-sys-primary")||"var(--mat-sys-primary)",o={type:"line",data:{labels:this.samples.map((m,u)=>u),datasets:[{data:this.samples.map(m=>m.ms),borderColor:t,backgroundColor:"transparent",borderWidth:1.4,tension:.3,pointRadius:0,fill:!1}]},options:{responsive:!0,maintainAspectRatio:!1,animation:n?!1:{duration:200},plugins:{legend:{display:!1},tooltip:{enabled:!1}},scales:{x:{display:!1},y:{display:!1}}}};this.chart=new w(this.canvasRef.nativeElement,o)}ngOnChanges(n){n.samples&&this.chart&&(this.chart.data.labels=this.samples.map((t,o)=>o),this.chart.data.datasets[0].data=this.samples.map(t=>t.ms),this.chart.update("none"))}ngOnDestroy(){this.chart?.destroy()}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=k({type:e,selectors:[["dm-history-spark"]],viewQuery:function(t,o){if(t&1&&P(ht,7),t&2){let m;S(m=E())&&(o.canvasRef=m.first)}},inputs:{samples:"samples"},features:[T],decls:3,vars:0,consts:[["canvas",""],[1,"dm-spark-box"]],template:function(t,o){t&1&&(z(0,"div",1),V(1,"canvas",null,0),B())},styles:["[_nghost-%COMP%]{display:block}.dm-spark-box[_ngcontent-%COMP%]{position:relative;height:56px}"],changeDetection:0})},ft=class e{name="";api=x(et);router=x(J);injector=x(W);chartCanvas;chartCanvases;loading=_(!0);samples=_([]);overview=_([]);why=_(null);whyLoading=_(!1);stats=y(()=>I(this.samples()));recent=y(()=>this.samples().slice().sort((n,t)=>t.ts-n.ts).slice(0,20));priorEvents=y(()=>{let n=this.why();return Array.isArray(n?.priorEvents)?n.priorEvents:[]});currentApp=y(()=>this.name?this.api.byName(this.name):void 0);chart;refreshTimer;nowTick;tick=_(0);byName(n){return this.api.byName(n)}ngOnInit(){this.load(),this.refreshTimer=setInterval(()=>{this.load(!0)},1e4),this.nowTick=setInterval(()=>this.tick.update(n=>n+1),3e4)}ngOnChanges(n){"name"in n&&!n.name.firstChange&&(this.destroyChart(),this.load())}ngOnDestroy(){this.destroyChart(),this.refreshTimer&&clearInterval(this.refreshTimer),this.nowTick&&clearInterval(this.nowTick)}destroyChart(){this.chart?.destroy(),this.chart=void 0}async load(n=!1){n||this.loading.set(!0);try{if(this.name){let[t,o]=await Promise.all([this.api.getCompileTimes(this.name,200),this.fetchWhy(this.name)]);this.samples.set(Array.isArray(t)?t:[]),this.why.set(o),$(()=>this.renderChart(),{injector:this.injector})}else{this.api.apps().length===0&&await this.api.refresh();let o=this.api.apps(),m=await Promise.all(o.map(async u=>{let C=await this.api.getCompileTimes(u.name,100);return{name:u.name,samples:C,stats:I(C)}}));this.overview.set(m)}}finally{n||this.loading.set(!1)}}async fetchWhy(n){this.whyLoading.set(!0);try{return await this.api.getHistoryWhy(n)}finally{this.whyLoading.set(!1)}}renderChart(){let n=this.chartCanvas?.nativeElement??this.chartCanvases?.first?.nativeElement;if(!n)return;let t=this.samples();if(t.length===0){this.destroyChart();return}let o=matchMedia("(prefers-reduced-motion: reduce)").matches,m=v("--mat-sys-primary")||"var(--mat-sys-primary)",u=v("--mat-sys-tertiary")||"var(--mat-sys-tertiary)",C=v("--mat-sys-error")||"var(--mat-sys-error)",R=v("--mat-sys-outline-variant")||"rgba(120,120,120,0.3)",N=t.map(O=>new Date(O.ts).toLocaleTimeString()),L=t.map(O=>O.ms),A=I(t),F=new Array(t.length).fill(A.p50),Q=new Array(t.length).fill(A.p95);if(this.chart){this.chart.data.labels=N,this.chart.data.datasets[0].data=L,this.chart.data.datasets[1].data=F,this.chart.data.datasets[2].data=Q,this.chart.update("none");return}let _t={type:"line",data:{labels:N,datasets:[{label:"ms",data:L,borderColor:m,backgroundColor:"transparent",borderWidth:1.6,tension:.25,pointRadius:0,fill:!1},{label:"p50",data:F,borderColor:u,borderDash:[4,4],borderWidth:1,pointRadius:0,fill:!1},{label:"p95",data:Q,borderColor:C,borderDash:[4,4],borderWidth:1,pointRadius:0,fill:!1}]},options:{responsive:!0,maintainAspectRatio:!1,animation:o?!1:{duration:200},plugins:{legend:{position:"bottom",labels:{boxWidth:12}}},scales:{x:{ticks:{maxTicksLimit:6,autoSkip:!0},grid:{color:R}},y:{beginAtZero:!0,title:{display:!0,text:"ms"},grid:{color:R}}}}};this.chart=new w(n,_t)}relTime(n){return this.tick(),qt(n)}absTime(n){return new Date(n).toLocaleString()}fmtTs(n){return Zt(n)}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=k({type:e,selectors:[["dm-history-page"]],viewQuery:function(t,o){if(t&1&&(P(ut,5),P(ut,5)),t&2){let m;S(m=E())&&(o.chartCanvas=m.first),S(m=E())&&(o.chartCanvases=m)}},inputs:{name:"name"},features:[T],decls:11,vars:3,consts:[["chart",""],[1,"dm-page-header"],[1,"dm-page-sub"],["routerLink","/history",1,"dm-back"],[1,"dm-skel-grid"],[1,"dm-sep"],[1,"dm-app"],[3,"status","health"],["height","8rem"],["icon","query_stats","title","No compile data yet","hint","Compile times appear here as the app builds"],[1,"dm-grid"],[1,"dm-card",3,"routerLink"],[1,"dm-card-head"],[1,"dm-card-name"],[1,"dm-card-empty"],[3,"samples"],[1,"dm-card-foot"],[1,"dm-foot-cell"],[1,"dm-foot-label"],[1,"dm-foot-value"],[1,"dm-why-card"],["height","3rem"],[1,"dm-why-empty"],[1,"dm-stats"],[1,"dm-tile"],[1,"dm-tile-label"],[1,"dm-tile-value"],[1,"dm-chart-card"],[1,"dm-chart-box"],[1,"dm-table-card"],[1,"dm-table"],[1,"dm-num"],[3,"matTooltip"],[1,"dm-transition"],[1,"dm-timeline"],[1,"dm-transition-arrow"],[1,"dm-transition-from"],[1,"dm-transition-icon"],[1,"dm-transition-to"],[1,"dm-transition-meta"],[1,"dm-transition-msg"],[1,"dm-timeline-dot"],[1,"dm-timeline-body"],[1,"dm-timeline-head"],[1,"dm-timeline-meta"]],template:function(t,o){t&1&&(a(0,"div",1)(1,"div")(2,"h1"),r(3," History "),d(4,bt,6,2),i(),a(5,"div",2),d(6,Mt,4,0,"a",3)(7,Pt,2,0,"span"),i()()(),d(8,St,4,0,"div",4)(9,It,2,1)(10,Vt,10,2)),t&2&&(s(4),c(o.name?4:-1),s(2),c(o.name?6:7),s(2),c(o.loading()?8:o.name?10:9))},dependencies:[G,K,pt,mt,dt,ct,lt,nt,X,U,tt,Y,it,ot,at,rt,D],styles:["[_nghost-%COMP%]{display:block}.dm-page-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.dm-sep[_ngcontent-%COMP%]{color:var(--mat-sys-outline);margin:0 .15rem}.dm-app[_ngcontent-%COMP%]{color:var(--mat-sys-primary);font-weight:500}.dm-back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;color:var(--mat-sys-primary);text-decoration:none}.dm-back[_ngcontent-%COMP%]:hover{text-decoration:underline}.dm-skel-grid[_ngcontent-%COMP%], .dm-grid[_ngcontent-%COMP%]{display:grid;gap:1rem}.dm-skel-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.dm-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr))}.dm-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:14px;border:1px solid var(--mat-sys-outline-variant);background:var(--mat-sys-surface-container-lowest);color:inherit;text-decoration:none;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.dm-card[_ngcontent-%COMP%]:hover{border-color:color-mix(in oklch,var(--mat-sys-primary) 40%,var(--mat-sys-outline-variant));box-shadow:var(--mat-sys-level1)}.dm-card-head[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dm-card-name[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface);font-weight:500}.dm-card-foot[_ngcontent-%COMP%]{display:flex;gap:1rem}.dm-foot-cell[_ngcontent-%COMP%]{display:flex;flex-direction:column}.dm-foot-label[_ngcontent-%COMP%], .dm-tile-label[_ngcontent-%COMP%], .dm-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font:500 .6875rem/1rem Roboto;text-transform:uppercase;letter-spacing:.04rem;color:var(--mat-sys-on-surface-variant)}.dm-foot-value[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface)}.dm-card-empty[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:.875rem;padding:1rem 0}.dm-stats[_ngcontent-%COMP%]{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));margin-bottom:1rem}.dm-tile[_ngcontent-%COMP%]{padding:.85rem 1rem;border-radius:12px;border:1px solid var(--mat-sys-outline-variant);background:var(--mat-sys-surface-container-lowest)}.dm-tile-value[_ngcontent-%COMP%]{font:400 1.5rem/2rem Roboto;color:var(--mat-sys-on-surface);margin-top:.25rem}.dm-chart-card[_ngcontent-%COMP%]{margin-bottom:1rem}.dm-chart-box[_ngcontent-%COMP%]{position:relative;height:320px}.dm-table-card[_ngcontent-%COMP%]{margin-bottom:1rem}.dm-table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse}.dm-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .dm-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--mat-sys-outline-variant);font-size:.875rem}.dm-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background:color-mix(in oklch,var(--mat-sys-primary) 6%,transparent)}.dm-num[_ngcontent-%COMP%]{text-align:right}.dm-why-empty[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:.875rem}.dm-transition[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem;padding:.75rem 1rem;border-radius:10px;background:var(--mat-sys-surface-container);margin-bottom:1rem}.dm-transition-arrow[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font:500 1rem/1.5rem Roboto}.dm-transition-from[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-transition-icon[_ngcontent-%COMP%]{font-size:18px;height:18px;width:18px;color:var(--mat-sys-outline)}.dm-transition-to[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.dm-transition-to[data-to=error][_ngcontent-%COMP%]{color:var(--mat-sys-error)}.dm-transition-to[data-to=stopped][_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-transition-meta[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:.8125rem}.dm-transition-msg[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface)}.dm-timeline[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0 0 0 1rem;border-left:2px solid var(--mat-sys-outline-variant)}.dm-timeline[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{position:relative;padding:.5rem 0 .5rem .75rem}.dm-timeline-dot[_ngcontent-%COMP%]{position:absolute;left:-1.42rem;top:.9rem;width:10px;height:10px;border-radius:999px;background:var(--mat-sys-outline);box-shadow:0 0 0 3px var(--mat-sys-surface)}.dm-timeline-dot[data-kind=status][_ngcontent-%COMP%]{background:var(--mat-sys-primary)}.dm-timeline-dot[data-kind=error][_ngcontent-%COMP%]{background:var(--mat-sys-error)}.dm-timeline-dot[data-kind=health][_ngcontent-%COMP%]{background:var(--mat-sys-tertiary)}.dm-timeline-head[_ngcontent-%COMP%]{font-size:.875rem;color:var(--mat-sys-on-surface)}.dm-timeline-meta[_ngcontent-%COMP%]{font-size:.75rem;color:var(--mat-sys-on-surface-variant);margin-top:.15rem}"],changeDetection:0})};export{ft as HistoryPageComponent,D as HistorySparkComponent};