@openpalm/ui 0.11.5-rc.1 → 0.11.5-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/{4.IdIqxXvJ.css → 4.BFLRjZM9.css} +1 -1
- package/build/client/_app/immutable/assets/4.BFLRjZM9.css.br +0 -0
- package/build/client/_app/immutable/assets/4.BFLRjZM9.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css +1 -0
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.br +0 -0
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.gz +0 -0
- package/build/client/_app/immutable/chunks/0swOyi-5.js +3 -0
- package/build/client/_app/immutable/chunks/0swOyi-5.js.br +0 -0
- package/build/client/_app/immutable/chunks/0swOyi-5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B4LSIsxy.js +1 -0
- package/build/client/_app/immutable/chunks/B4LSIsxy.js.br +2 -0
- package/build/client/_app/immutable/chunks/B4LSIsxy.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BAaXfhM-.js → BQ0vnNWj.js} +1 -1
- package/build/client/_app/immutable/chunks/BQ0vnNWj.js.br +1 -0
- package/build/client/_app/immutable/chunks/BQ0vnNWj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D4eWPJ5x.js → BTsRblfw.js} +1 -1
- package/build/client/_app/immutable/chunks/BTsRblfw.js.br +0 -0
- package/build/client/_app/immutable/chunks/BTsRblfw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bmfn2m9N.js +1 -0
- package/build/client/_app/immutable/chunks/Bmfn2m9N.js.br +1 -0
- package/build/client/_app/immutable/chunks/Bmfn2m9N.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C-9oV3QK.js +1 -0
- package/build/client/_app/immutable/chunks/C-9oV3QK.js.br +0 -0
- package/build/client/_app/immutable/chunks/C-9oV3QK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DWrxguRp.js → CDS1U3lf.js} +2 -2
- package/build/client/_app/immutable/chunks/CDS1U3lf.js.br +0 -0
- package/build/client/_app/immutable/chunks/CDS1U3lf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/TM1MyO6b.js +5 -0
- package/build/client/_app/immutable/chunks/TM1MyO6b.js.br +0 -0
- package/build/client/_app/immutable/chunks/TM1MyO6b.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B_FOicoS.js → irujFCsS.js} +1 -1
- package/build/client/_app/immutable/chunks/irujFCsS.js.br +0 -0
- package/build/client/_app/immutable/chunks/irujFCsS.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.j4FjlmJV.js +2 -0
- package/build/client/_app/immutable/entry/app.j4FjlmJV.js.br +0 -0
- package/build/client/_app/immutable/entry/app.j4FjlmJV.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BG0VgQz3.js +1 -0
- package/build/client/_app/immutable/entry/start.BG0VgQz3.js.br +1 -0
- package/build/client/_app/immutable/entry/start.BG0VgQz3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.C7eQ_ow9.js +1 -0
- package/build/client/_app/immutable/nodes/0.C7eQ_ow9.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.C7eQ_ow9.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DOderKqv.js +1 -0
- package/build/client/_app/immutable/nodes/1.DOderKqv.js.br +1 -0
- package/build/client/_app/immutable/nodes/1.DOderKqv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.B-8ehRO1.js +1 -0
- package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js +1 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.CL9pbPfw.js +19 -0
- package/build/client/_app/immutable/nodes/4.CL9pbPfw.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.CL9pbPfw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.By0afU0Y.js +4 -0
- package/build/client/_app/immutable/nodes/5.By0afU0Y.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.By0afU0Y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BnWmdf6t.js +1 -0
- package/build/client/_app/immutable/nodes/6.BnWmdf6t.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BnWmdf6t.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.RAc8_3qJ.js +15 -0
- package/build/client/_app/immutable/nodes/7.RAc8_3qJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.RAc8_3qJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.Dytsowyk.js +1 -0
- package/build/client/_app/immutable/nodes/8.Dytsowyk.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Dytsowyk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CFQabEMi.js +5 -0
- package/build/client/_app/immutable/nodes/9.CFQabEMi.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CFQabEMi.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +1 -1
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/0-BGsPZcaQ.js +9 -0
- package/build/server/chunks/{0-BFQFTlU2.js.map → 0-BGsPZcaQ.js.map} +1 -1
- package/build/server/chunks/1-Daoybjaw.js +9 -0
- package/build/server/chunks/{1-BAqyeYw3.js.map → 1-Daoybjaw.js.map} +1 -1
- package/build/server/chunks/{2-wNOz2qR7.js → 2-DQWoUtW1.js} +2 -2
- package/build/server/chunks/{2-wNOz2qR7.js.map → 2-DQWoUtW1.js.map} +1 -1
- package/build/server/chunks/{3-CMcVVZ5t.js → 3-COIGgysA.js} +2 -2
- package/build/server/chunks/{3-CMcVVZ5t.js.map → 3-COIGgysA.js.map} +1 -1
- package/build/server/chunks/4-Lm1O6Rmh.js +9 -0
- package/build/server/chunks/{4-CbzGhvp7.js.map → 4-Lm1O6Rmh.js.map} +1 -1
- package/build/server/chunks/5-BfmhtNP9.js +9 -0
- package/build/server/chunks/{5-CUIO9BFN.js.map → 5-BfmhtNP9.js.map} +1 -1
- package/build/server/chunks/6-AcylLX8-.js +9 -0
- package/build/server/chunks/{6-BmZ6gKak.js.map → 6-AcylLX8-.js.map} +1 -1
- package/build/server/chunks/7-BT0zxD9E.js +9 -0
- package/build/server/chunks/{7-BBWy1AEh.js.map → 7-BT0zxD9E.js.map} +1 -1
- package/build/server/chunks/{8-DMVqrb6P.js → 8-DMgWQQBm.js} +3 -3
- package/build/server/chunks/{8-DMVqrb6P.js.map → 8-DMgWQQBm.js.map} +1 -1
- package/build/server/chunks/{9-BCmr-315.js → 9-CGVsBC0_.js} +2 -2
- package/build/server/chunks/{9-BCmr-315.js.map → 9-CGVsBC0_.js.map} +1 -1
- package/build/server/chunks/{Navbar-Bx4D1yFQ.js → Navbar-C9kE6wR-.js} +38 -454
- package/build/server/chunks/Navbar-C9kE6wR-.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-DzBCdyUD.js → _layout.svelte-DCfzq18z.js} +2 -2
- package/build/server/chunks/{_layout.svelte-DzBCdyUD.js.map → _layout.svelte-DCfzq18z.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-fZ8uQkAv.js → _page.svelte-B3FJ13Ci.js} +6 -6
- package/build/server/chunks/{_page.svelte-fZ8uQkAv.js.map → _page.svelte-B3FJ13Ci.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BtKgsh16.js → _page.svelte-BA7DptUV.js} +3 -3
- package/build/server/chunks/{_page.svelte-BtKgsh16.js.map → _page.svelte-BA7DptUV.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DD-cF_uw.js → _page.svelte-C0eMsRDk.js} +17 -204
- package/build/server/chunks/{_page.svelte-DD-cF_uw.js.map → _page.svelte-C0eMsRDk.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DxrwcZoP.js → _page.svelte-Dl3WoXNo.js} +10 -182
- package/build/server/chunks/_page.svelte-Dl3WoXNo.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BucH_yEP.js → _page.svelte-Dnt12F6c.js} +6 -6
- package/build/server/chunks/{_page.svelte-BucH_yEP.js.map → _page.svelte-Dnt12F6c.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DhfiREoV.js → _server.ts-1mdOjWEN.js} +5 -5
- package/build/server/chunks/{_server.ts-DhfiREoV.js.map → _server.ts-1mdOjWEN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-4mBSRzZ0.js → _server.ts-3JO3CKsE.js} +4 -4
- package/build/server/chunks/{_server.ts-4mBSRzZ0.js.map → _server.ts-3JO3CKsE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B1a13QOX.js → _server.ts-4HorMS2R.js} +4 -4
- package/build/server/chunks/{_server.ts-B1a13QOX.js.map → _server.ts-4HorMS2R.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B0obzdyg.js → _server.ts-B1Jl9Grz.js} +4 -4
- package/build/server/chunks/{_server.ts-B0obzdyg.js.map → _server.ts-B1Jl9Grz.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CALM0gvt.js → _server.ts-B31I037d.js} +6 -6
- package/build/server/chunks/{_server.ts-CALM0gvt.js.map → _server.ts-B31I037d.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C75ONqUr.js → _server.ts-B3ntDGZM.js} +5 -5
- package/build/server/chunks/{_server.ts-C75ONqUr.js.map → _server.ts-B3ntDGZM.js.map} +1 -1
- package/build/server/chunks/_server.ts-B79PxL9c.js +91 -0
- package/build/server/chunks/_server.ts-B79PxL9c.js.map +1 -0
- package/build/server/chunks/{_server.ts-BBE5x3QY.js → _server.ts-B8EZxkK3.js} +5 -5
- package/build/server/chunks/{_server.ts-BBE5x3QY.js.map → _server.ts-B8EZxkK3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B8onUVE8.js → _server.ts-B8YF9aVx.js} +4 -4
- package/build/server/chunks/{_server.ts-B8onUVE8.js.map → _server.ts-B8YF9aVx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-lGp994gP.js → _server.ts-BEjyvkVV.js} +4 -4
- package/build/server/chunks/{_server.ts-lGp994gP.js.map → _server.ts-BEjyvkVV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D1DMh7dc.js → _server.ts-BGqa6Laa.js} +4 -4
- package/build/server/chunks/{_server.ts-D1DMh7dc.js.map → _server.ts-BGqa6Laa.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BeI_S31W.js → _server.ts-BHmCir74.js} +4 -4
- package/build/server/chunks/{_server.ts-BeI_S31W.js.map → _server.ts-BHmCir74.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BceCrKJH.js → _server.ts-BLUm8wAq.js} +4 -4
- package/build/server/chunks/{_server.ts-BceCrKJH.js.map → _server.ts-BLUm8wAq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CzaVvCkd.js → _server.ts-BNJn20vV.js} +4 -4
- package/build/server/chunks/{_server.ts-CzaVvCkd.js.map → _server.ts-BNJn20vV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BSRqflR_.js → _server.ts-BTvZB-WH.js} +4 -4
- package/build/server/chunks/{_server.ts-BSRqflR_.js.map → _server.ts-BTvZB-WH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BbNV0p64.js → _server.ts-BUIWPYRF.js} +4 -4
- package/build/server/chunks/{_server.ts-BbNV0p64.js.map → _server.ts-BUIWPYRF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BCCwdxvs.js → _server.ts-BWtTOsFi.js} +4 -4
- package/build/server/chunks/{_server.ts-BCCwdxvs.js.map → _server.ts-BWtTOsFi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Doqp92Ve.js → _server.ts-BY7nR9Ev.js} +4 -4
- package/build/server/chunks/{_server.ts-Doqp92Ve.js.map → _server.ts-BY7nR9Ev.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DO6HhMyZ.js → _server.ts-BdLKHRnY.js} +6 -6
- package/build/server/chunks/{_server.ts-DO6HhMyZ.js.map → _server.ts-BdLKHRnY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dwfh-uai.js → _server.ts-BhRtn8Xn.js} +4 -4
- package/build/server/chunks/{_server.ts-Dwfh-uai.js.map → _server.ts-BhRtn8Xn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CBJLoGvQ.js → _server.ts-Bq4Oko-2.js} +4 -4
- package/build/server/chunks/{_server.ts-CBJLoGvQ.js.map → _server.ts-Bq4Oko-2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DytqRDCZ.js → _server.ts-Bu_7eQaL.js} +5 -5
- package/build/server/chunks/{_server.ts-DytqRDCZ.js.map → _server.ts-Bu_7eQaL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Yr-VbJ6z.js → _server.ts-BvbnbZsl.js} +4 -4
- package/build/server/chunks/{_server.ts-Yr-VbJ6z.js.map → _server.ts-BvbnbZsl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BilvlV9b.js → _server.ts-C4pf3VKi.js} +4 -4
- package/build/server/chunks/{_server.ts-BilvlV9b.js.map → _server.ts-C4pf3VKi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DTpYCtfU.js → _server.ts-C7K7bv8w.js} +5 -5
- package/build/server/chunks/{_server.ts-DTpYCtfU.js.map → _server.ts-C7K7bv8w.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CvgjhFTr.js → _server.ts-C8BrkC8T.js} +5 -5
- package/build/server/chunks/{_server.ts-CvgjhFTr.js.map → _server.ts-C8BrkC8T.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BSsfDk15.js → _server.ts-C8zFV8J3.js} +4 -4
- package/build/server/chunks/{_server.ts-BSsfDk15.js.map → _server.ts-C8zFV8J3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DMA3iJPX.js → _server.ts-CD-Cddqe.js} +5 -5
- package/build/server/chunks/{_server.ts-DMA3iJPX.js.map → _server.ts-CD-Cddqe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BKoYlaBb.js → _server.ts-CExwMomX.js} +4 -4
- package/build/server/chunks/{_server.ts-BKoYlaBb.js.map → _server.ts-CExwMomX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DcTP5Yi3.js → _server.ts-CH8uRkxq.js} +4 -4
- package/build/server/chunks/{_server.ts-DcTP5Yi3.js.map → _server.ts-CH8uRkxq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-_j6A61pI.js → _server.ts-CHQmAGEC.js} +5 -5
- package/build/server/chunks/{_server.ts-_j6A61pI.js.map → _server.ts-CHQmAGEC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-noqLl5fv.js → _server.ts-CIEz-ybk.js} +4 -4
- package/build/server/chunks/{_server.ts-noqLl5fv.js.map → _server.ts-CIEz-ybk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BjAlQcqF.js → _server.ts-CNLz6iJ7.js} +4 -4
- package/build/server/chunks/{_server.ts-BjAlQcqF.js.map → _server.ts-CNLz6iJ7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CH0hbG99.js → _server.ts-CVxiERfc.js} +4 -4
- package/build/server/chunks/{_server.ts-CH0hbG99.js.map → _server.ts-CVxiERfc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-COB2uqM8.js → _server.ts-CX2sHcZR.js} +4 -4
- package/build/server/chunks/{_server.ts-COB2uqM8.js.map → _server.ts-CX2sHcZR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DeJWmEMG.js → _server.ts-CXI7k8hl.js} +4 -4
- package/build/server/chunks/{_server.ts-DeJWmEMG.js.map → _server.ts-CXI7k8hl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CewxkrA0.js → _server.ts-CXmwf1pu.js} +2 -2
- package/build/server/chunks/{_server.ts-CewxkrA0.js.map → _server.ts-CXmwf1pu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DfgOjCEL.js → _server.ts-C_EnHMEu.js} +4 -4
- package/build/server/chunks/{_server.ts-DfgOjCEL.js.map → _server.ts-C_EnHMEu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cv_tDPcz.js → _server.ts-CbOKfJ3v.js} +6 -6
- package/build/server/chunks/{_server.ts-Cv_tDPcz.js.map → _server.ts-CbOKfJ3v.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CcgcUrz4.js → _server.ts-CciSVwzg.js} +5 -5
- package/build/server/chunks/{_server.ts-CcgcUrz4.js.map → _server.ts-CciSVwzg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D6Pr_XI_.js → _server.ts-CdB1K2M6.js} +2 -2
- package/build/server/chunks/{_server.ts-D6Pr_XI_.js.map → _server.ts-CdB1K2M6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-pyxPjKSd.js → _server.ts-CeeR1W32.js} +4 -4
- package/build/server/chunks/{_server.ts-pyxPjKSd.js.map → _server.ts-CeeR1W32.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BjYJISog.js → _server.ts-CpJ08_Lw.js} +4 -4
- package/build/server/chunks/{_server.ts-BjYJISog.js.map → _server.ts-CpJ08_Lw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bxz_w5lw.js → _server.ts-CqH3nv-S.js} +5 -5
- package/build/server/chunks/{_server.ts-Bxz_w5lw.js.map → _server.ts-CqH3nv-S.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B1_ms3tJ.js → _server.ts-CreuvDch.js} +4 -4
- package/build/server/chunks/{_server.ts-B1_ms3tJ.js.map → _server.ts-CreuvDch.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CdROlo3B.js → _server.ts-CtltE_T-.js} +2 -2
- package/build/server/chunks/{_server.ts-CdROlo3B.js.map → _server.ts-CtltE_T-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-FVtB8vud.js → _server.ts-CzoE8edN.js} +5 -5
- package/build/server/chunks/{_server.ts-FVtB8vud.js.map → _server.ts-CzoE8edN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-rkPqnrxd.js → _server.ts-D-Vwef5C.js} +4 -4
- package/build/server/chunks/{_server.ts-rkPqnrxd.js.map → _server.ts-D-Vwef5C.js.map} +1 -1
- package/build/server/chunks/{_server.ts-h6dhtLdh.js → _server.ts-D3QPUpDc.js} +4 -4
- package/build/server/chunks/{_server.ts-h6dhtLdh.js.map → _server.ts-D3QPUpDc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DgdYq8Ea.js → _server.ts-D8cp-Em3.js} +4 -4
- package/build/server/chunks/{_server.ts-DgdYq8Ea.js.map → _server.ts-D8cp-Em3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BIn9lsec.js → _server.ts-DAW24-9-.js} +4 -4
- package/build/server/chunks/{_server.ts-BIn9lsec.js.map → _server.ts-DAW24-9-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B82yAdBX.js → _server.ts-DHBX6Ary.js} +5 -5
- package/build/server/chunks/{_server.ts-B82yAdBX.js.map → _server.ts-DHBX6Ary.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CRmaS7rN.js → _server.ts-DL9hlvL8.js} +4 -4
- package/build/server/chunks/{_server.ts-CRmaS7rN.js.map → _server.ts-DL9hlvL8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B-E7fk-8.js → _server.ts-DLVGDzlE.js} +4 -4
- package/build/server/chunks/{_server.ts-B-E7fk-8.js.map → _server.ts-DLVGDzlE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bfbn9lhj.js → _server.ts-DPC8qYUD.js} +4 -4
- package/build/server/chunks/{_server.ts-Bfbn9lhj.js.map → _server.ts-DPC8qYUD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Em-TxgiV.js → _server.ts-DVRyf5BI.js} +4 -4
- package/build/server/chunks/{_server.ts-Em-TxgiV.js.map → _server.ts-DVRyf5BI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DzRsXtlt.js → _server.ts-DY3ZDXdA.js} +4 -4
- package/build/server/chunks/{_server.ts-DzRsXtlt.js.map → _server.ts-DY3ZDXdA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CMG94cgX.js → _server.ts-Dc9XEMmF.js} +4 -4
- package/build/server/chunks/{_server.ts-CMG94cgX.js.map → _server.ts-Dc9XEMmF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BVoVhhS9.js → _server.ts-Dd4Mh0JV.js} +4 -4
- package/build/server/chunks/{_server.ts-BVoVhhS9.js.map → _server.ts-Dd4Mh0JV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-jaAfE-7p.js → _server.ts-DlwXpopR.js} +3 -3
- package/build/server/chunks/{_server.ts-jaAfE-7p.js.map → _server.ts-DlwXpopR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BnHDsStJ.js → _server.ts-Do5L_4tt.js} +4 -4
- package/build/server/chunks/{_server.ts-BnHDsStJ.js.map → _server.ts-Do5L_4tt.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BIKiBZV_.js → _server.ts-DsTUwnu1.js} +4 -4
- package/build/server/chunks/{_server.ts-BIKiBZV_.js.map → _server.ts-DsTUwnu1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BcPQ0xIF.js → _server.ts-DzIilMO5.js} +2 -2
- package/build/server/chunks/{_server.ts-BcPQ0xIF.js.map → _server.ts-DzIilMO5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B600zcV1.js → _server.ts-E5YqcwqQ.js} +4 -4
- package/build/server/chunks/{_server.ts-B600zcV1.js.map → _server.ts-E5YqcwqQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BdLR7JYt.js → _server.ts-Gbkg-oto.js} +4 -4
- package/build/server/chunks/{_server.ts-BdLR7JYt.js.map → _server.ts-Gbkg-oto.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DpllrvO_.js → _server.ts-IzD0bafW.js} +5 -5
- package/build/server/chunks/{_server.ts-DpllrvO_.js.map → _server.ts-IzD0bafW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C2DttH_j.js → _server.ts-Lzz9ashZ.js} +4 -4
- package/build/server/chunks/{_server.ts-C2DttH_j.js.map → _server.ts-Lzz9ashZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D4f920nj.js → _server.ts-MGn-MXr5.js} +4 -4
- package/build/server/chunks/{_server.ts-D4f920nj.js.map → _server.ts-MGn-MXr5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bi-QXr_U.js → _server.ts-QvBpEIYu.js} +4 -4
- package/build/server/chunks/{_server.ts-Bi-QXr_U.js.map → _server.ts-QvBpEIYu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BzcAg5le.js → _server.ts-SLlbT28g.js} +2 -2
- package/build/server/chunks/{_server.ts-BzcAg5le.js.map → _server.ts-SLlbT28g.js.map} +1 -1
- package/build/server/chunks/{_server.ts-kZrS-jc4.js → _server.ts-j5xF-dJX.js} +4 -4
- package/build/server/chunks/{_server.ts-kZrS-jc4.js.map → _server.ts-j5xF-dJX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-mMWXWLPZ.js → _server.ts-pQ9okj_b.js} +6 -6
- package/build/server/chunks/{_server.ts-mMWXWLPZ.js.map → _server.ts-pQ9okj_b.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bq95l_ee.js → _server.ts-yWBMi6sn.js} +6 -6
- package/build/server/chunks/{_server.ts-Bq95l_ee.js.map → _server.ts-yWBMi6sn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Drhair2Z.js → _server.ts-ykNeG8km.js} +4 -4
- package/build/server/chunks/{_server.ts-Drhair2Z.js.map → _server.ts-ykNeG8km.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-DAirj9Ze.js → addon-helpers-DBJL8kvq.js} +3 -3
- package/build/server/chunks/{addon-helpers-DAirj9Ze.js.map → addon-helpers-DBJL8kvq.js.map} +1 -1
- package/build/server/chunks/{akm-BlxJtWqf.js → akm-hO0p79ZE.js} +2 -2
- package/build/server/chunks/{akm-BlxJtWqf.js.map → akm-hO0p79ZE.js.map} +1 -1
- package/build/server/chunks/{client-CzWS98u-.js → client-DchoQXpW.js} +2 -2
- package/build/server/chunks/{client-CzWS98u-.js.map → client-DchoQXpW.js.map} +1 -1
- package/build/server/chunks/{config-XF8xaL-e.js → config-5vfdWPGq.js} +2 -2
- package/build/server/chunks/{config-XF8xaL-e.js.map → config-5vfdWPGq.js.map} +1 -1
- package/build/server/chunks/{docker-2Z8gCk7h.js → docker-DYeytgDI.js} +2 -2
- package/build/server/chunks/{docker-2Z8gCk7h.js.map → docker-DYeytgDI.js.map} +1 -1
- package/build/server/chunks/{endpoints-5NhmFZ2p.js → endpoints-pIoXJCW6.js} +2 -2
- package/build/server/chunks/{endpoints-5NhmFZ2p.js.map → endpoints-pIoXJCW6.js.map} +1 -1
- package/build/server/chunks/{environment-CpCEZMaj.js → environment-B0PbsX5P.js} +2 -2
- package/build/server/chunks/{environment-CpCEZMaj.js.map → environment-B0PbsX5P.js.map} +1 -1
- package/build/server/chunks/{error.svelte-ql9RO6az.js → error.svelte-Cmr7gpdL.js} +4 -4
- package/build/server/chunks/{error.svelte-ql9RO6az.js.map → error.svelte-Cmr7gpdL.js.map} +1 -1
- package/build/server/chunks/{helpers-CDa-yBOY.js → helpers-CVirrNSz.js} +3 -3
- package/build/server/chunks/{helpers-CDa-yBOY.js.map → helpers-CVirrNSz.js.map} +1 -1
- package/build/server/chunks/{hooks.server-Bv4lzDJF.js → hooks.server-pc-TSpQy.js} +5 -5
- package/build/server/chunks/{hooks.server-Bv4lzDJF.js.map → hooks.server-pc-TSpQy.js.map} +1 -1
- package/build/server/chunks/{http-DNTu_Z58.js → http-DGsfa0DV.js} +2 -2
- package/build/server/chunks/{http-DNTu_Z58.js.map → http-DGsfa0DV.js.map} +1 -1
- package/build/server/chunks/{internal-Cv1tDOi8.js → internal-DriC3vi3.js} +3 -3
- package/build/server/chunks/{internal-Cv1tDOi8.js.map → internal-DriC3vi3.js.map} +1 -1
- package/build/server/chunks/{session-cookie-kNDCcqJr.js → session-cookie-DEuOwtHY.js} +2 -2
- package/build/server/chunks/{session-cookie-kNDCcqJr.js.map → session-cookie-DEuOwtHY.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-69NTbd-m.js → setup-deploy-D4bnmfpV.js} +2 -2
- package/build/server/chunks/{setup-deploy-69NTbd-m.js.map → setup-deploy-D4bnmfpV.js.map} +1 -1
- package/build/server/chunks/{src-nTQnTO9V.js → src-CyeWH4Df.js} +4 -92
- package/build/server/chunks/src-CyeWH4Df.js.map +1 -0
- package/build/server/chunks/{state-DaLIIQmU.js → state-BcUnjLg5.js} +2 -2
- package/build/server/chunks/{state-DaLIIQmU.js.map → state-BcUnjLg5.js.map} +1 -1
- package/build/server/chunks/{theme-state.svelte-_CMr5Hu9.js → theme-state.svelte-CeABRes-.js} +24 -96
- package/build/server/chunks/theme-state.svelte-CeABRes-.js.map +1 -0
- package/build/server/index.js +2 -2
- package/build/server/manifest.js +85 -99
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/assets/4.IdIqxXvJ.css.br +0 -0
- package/build/client/_app/immutable/assets/4.IdIqxXvJ.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.BBZ56P_e.css +0 -1
- package/build/client/_app/immutable/assets/7.BBZ56P_e.css.br +0 -0
- package/build/client/_app/immutable/assets/7.BBZ56P_e.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B0yFRekZ.js +0 -3
- package/build/client/_app/immutable/chunks/B0yFRekZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/B0yFRekZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BAaXfhM-.js.br +0 -0
- package/build/client/_app/immutable/chunks/BAaXfhM-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B_FOicoS.js.br +0 -0
- package/build/client/_app/immutable/chunks/B_FOicoS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C8l3LsdI.js +0 -1
- package/build/client/_app/immutable/chunks/C8l3LsdI.js.br +0 -0
- package/build/client/_app/immutable/chunks/C8l3LsdI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CDYZd3Dt.js +0 -1
- package/build/client/_app/immutable/chunks/CDYZd3Dt.js.br +0 -1
- package/build/client/_app/immutable/chunks/CDYZd3Dt.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CbZ3EANA.js +0 -5
- package/build/client/_app/immutable/chunks/CbZ3EANA.js.br +0 -0
- package/build/client/_app/immutable/chunks/CbZ3EANA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D4eWPJ5x.js.br +0 -0
- package/build/client/_app/immutable/chunks/D4eWPJ5x.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DWrxguRp.js.br +0 -0
- package/build/client/_app/immutable/chunks/DWrxguRp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/GzVSnhwB.js +0 -1
- package/build/client/_app/immutable/chunks/GzVSnhwB.js.br +0 -2
- package/build/client/_app/immutable/chunks/GzVSnhwB.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.BgG1Uliu.js +0 -2
- package/build/client/_app/immutable/entry/app.BgG1Uliu.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BgG1Uliu.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.D77xxjvu.js +0 -1
- package/build/client/_app/immutable/entry/start.D77xxjvu.js.br +0 -0
- package/build/client/_app/immutable/entry/start.D77xxjvu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.B0SVfmqI.js +0 -1
- package/build/client/_app/immutable/nodes/0.B0SVfmqI.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.B0SVfmqI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DbQMVnxU.js +0 -1
- package/build/client/_app/immutable/nodes/1.DbQMVnxU.js.br +0 -1
- package/build/client/_app/immutable/nodes/1.DbQMVnxU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.C-MzgTuq.js +0 -1
- package/build/client/_app/immutable/nodes/2.C-MzgTuq.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.C-MzgTuq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.DXmMKZyn.js +0 -1
- package/build/client/_app/immutable/nodes/3.DXmMKZyn.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.DXmMKZyn.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.BP1UQ07f.js +0 -19
- package/build/client/_app/immutable/nodes/4.BP1UQ07f.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.BP1UQ07f.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.MxL5g3qw.js +0 -4
- package/build/client/_app/immutable/nodes/5.MxL5g3qw.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.MxL5g3qw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BkOFgf5g.js +0 -1
- package/build/client/_app/immutable/nodes/6.BkOFgf5g.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BkOFgf5g.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.Ceu1f_kD.js +0 -15
- package/build/client/_app/immutable/nodes/7.Ceu1f_kD.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Ceu1f_kD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.SOGUNPc0.js +0 -1
- package/build/client/_app/immutable/nodes/8.SOGUNPc0.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.SOGUNPc0.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.B1IAKpfH.js +0 -5
- package/build/client/_app/immutable/nodes/9.B1IAKpfH.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.B1IAKpfH.js.gz +0 -0
- package/build/server/chunks/0-BFQFTlU2.js +0 -9
- package/build/server/chunks/1-BAqyeYw3.js +0 -9
- package/build/server/chunks/4-CbzGhvp7.js +0 -9
- package/build/server/chunks/5-CUIO9BFN.js +0 -9
- package/build/server/chunks/6-BmZ6gKak.js +0 -9
- package/build/server/chunks/7-BBWy1AEh.js +0 -9
- package/build/server/chunks/Navbar-Bx4D1yFQ.js.map +0 -1
- package/build/server/chunks/_page.svelte-DxrwcZoP.js.map +0 -1
- package/build/server/chunks/_server.ts-7iLdi0IJ.js +0 -205
- package/build/server/chunks/_server.ts-7iLdi0IJ.js.map +0 -1
- package/build/server/chunks/_server.ts-BnJquF3b.js +0 -86
- package/build/server/chunks/_server.ts-BnJquF3b.js.map +0 -1
- package/build/server/chunks/_server.ts-CQu3-Yre.js +0 -602
- package/build/server/chunks/_server.ts-CQu3-Yre.js.map +0 -1
- package/build/server/chunks/src-nTQnTO9V.js.map +0 -1
- package/build/server/chunks/theme-state.svelte-_CMr5Hu9.js.map +0 -1
|
@@ -1,602 +0,0 @@
|
|
|
1
|
-
import { b as getState } from './endpoints-5NhmFZ2p.js';
|
|
2
|
-
import { d as getRequestId, r as requireAdmin } from './helpers-CDa-yBOY.js';
|
|
3
|
-
import { r as runAkmCommand, s as safeParseJsonObject } from './akm-BlxJtWqf.js';
|
|
4
|
-
import './src-nTQnTO9V.js';
|
|
5
|
-
import './chunk-CLZ62Ad-.js';
|
|
6
|
-
import 'node:module';
|
|
7
|
-
import 'node:fs';
|
|
8
|
-
import 'node:path';
|
|
9
|
-
import 'buffer';
|
|
10
|
-
import 'node:os';
|
|
11
|
-
import 'fs';
|
|
12
|
-
import 'path';
|
|
13
|
-
import 'node:child_process';
|
|
14
|
-
import 'node:url';
|
|
15
|
-
import 'node:crypto';
|
|
16
|
-
import 'events';
|
|
17
|
-
import 'node:events';
|
|
18
|
-
import 'node:stream';
|
|
19
|
-
import 'node:string_decoder';
|
|
20
|
-
import 'assert';
|
|
21
|
-
import 'zlib';
|
|
22
|
-
import 'node:assert';
|
|
23
|
-
import 'node:fs/promises';
|
|
24
|
-
|
|
25
|
-
//#region src/lib/server/akm-health-report.ts
|
|
26
|
-
var AKM_HEALTH_REPORT_WINDOWS = [
|
|
27
|
-
"24h",
|
|
28
|
-
"72h",
|
|
29
|
-
"7d",
|
|
30
|
-
"14d",
|
|
31
|
-
"30d"
|
|
32
|
-
];
|
|
33
|
-
function asRecord(value) {
|
|
34
|
-
return value && typeof value === "object" && !Array.isArray(value) ? value : null;
|
|
35
|
-
}
|
|
36
|
-
function asArray(value) {
|
|
37
|
-
return Array.isArray(value) ? value : [];
|
|
38
|
-
}
|
|
39
|
-
function asNumber(value) {
|
|
40
|
-
return typeof value === "number" && Number.isFinite(value) ? value : 0;
|
|
41
|
-
}
|
|
42
|
-
function asString(value) {
|
|
43
|
-
return typeof value === "string" ? value : "";
|
|
44
|
-
}
|
|
45
|
-
function asBoolean(value) {
|
|
46
|
-
return value === true;
|
|
47
|
-
}
|
|
48
|
-
function clampWindow(value) {
|
|
49
|
-
return AKM_HEALTH_REPORT_WINDOWS.includes(value ?? "") ? value : "72h";
|
|
50
|
-
}
|
|
51
|
-
function escapeHtml(value) {
|
|
52
|
-
return value.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll("\"", """).replaceAll("'", "'");
|
|
53
|
-
}
|
|
54
|
-
function scriptJson(value) {
|
|
55
|
-
return JSON.stringify(value).replaceAll("<", "\\u003c");
|
|
56
|
-
}
|
|
57
|
-
function fmtInt(value) {
|
|
58
|
-
return new Intl.NumberFormat("en-US", { maximumFractionDigits: 0 }).format(value);
|
|
59
|
-
}
|
|
60
|
-
function fmtPercent(value) {
|
|
61
|
-
return `${(value * 100).toFixed(value === 0 || value >= .1 ? 0 : 1)}%`;
|
|
62
|
-
}
|
|
63
|
-
function fmtDuration(ms) {
|
|
64
|
-
if (!Number.isFinite(ms) || ms <= 0) return "0s";
|
|
65
|
-
if (ms < 1e3) return `${Math.round(ms)}ms`;
|
|
66
|
-
const seconds = ms / 1e3;
|
|
67
|
-
if (seconds < 60) return `${seconds.toFixed(seconds >= 10 ? 0 : 1)}s`;
|
|
68
|
-
const minutes = Math.floor(seconds / 60);
|
|
69
|
-
const remSeconds = Math.round(seconds % 60);
|
|
70
|
-
if (minutes < 60) return `${minutes}m ${remSeconds}s`;
|
|
71
|
-
return `${Math.floor(minutes / 60)}h ${minutes % 60}m`;
|
|
72
|
-
}
|
|
73
|
-
function fmtUtc(value) {
|
|
74
|
-
if (!value) return "n/a";
|
|
75
|
-
const d = new Date(value);
|
|
76
|
-
if (Number.isNaN(d.getTime())) return "n/a";
|
|
77
|
-
return d.toLocaleString("en-US", {
|
|
78
|
-
dateStyle: "medium",
|
|
79
|
-
timeStyle: "short",
|
|
80
|
-
timeZone: "UTC"
|
|
81
|
-
}) + " UTC";
|
|
82
|
-
}
|
|
83
|
-
function metricDelta(current, prior) {
|
|
84
|
-
if (prior === current) return "flat vs prior window";
|
|
85
|
-
if (prior === 0) return current > 0 ? "new vs prior window" : "flat vs prior window";
|
|
86
|
-
const pct = (current - prior) / Math.abs(prior) * 100;
|
|
87
|
-
return `${pct > 0 ? "up" : "down"} ${Math.abs(pct).toFixed(Math.abs(pct) >= 10 ? 0 : 1)}% vs prior window`;
|
|
88
|
-
}
|
|
89
|
-
function statusClass(status) {
|
|
90
|
-
if (status === "ok" || status === "pass") return "ok";
|
|
91
|
-
if (status === "warn") return "warn";
|
|
92
|
-
return "fail";
|
|
93
|
-
}
|
|
94
|
-
function buildCards(current, prior, proposalCount) {
|
|
95
|
-
const invoked = asNumber(current.invoked);
|
|
96
|
-
const completed = asNumber(current.completed);
|
|
97
|
-
const completionRate = invoked > 0 ? completed / invoked : 0;
|
|
98
|
-
const failRate = asNumber(asRecord(current.actions)?.error) > 0 && invoked > 0 ? asNumber(asRecord(current.actions)?.error) / invoked : 0;
|
|
99
|
-
const promoted = asNumber(asRecord(current.consolidation)?.promoted);
|
|
100
|
-
const written = asNumber(asRecord(current.memoryInference)?.written);
|
|
101
|
-
const entities = asNumber(asRecord(current.graphExtraction)?.entities);
|
|
102
|
-
const medianMs = asNumber(asRecord(current.wallTime)?.medianMs);
|
|
103
|
-
const priorInvoked = asNumber(prior.invoked);
|
|
104
|
-
const priorCompleted = asNumber(prior.completed);
|
|
105
|
-
const priorCompletionRate = priorInvoked > 0 ? priorCompleted / priorInvoked : 0;
|
|
106
|
-
const priorFailRate = asNumber(asRecord(prior.actions)?.error) > 0 && priorInvoked > 0 ? asNumber(asRecord(prior.actions)?.error) / priorInvoked : 0;
|
|
107
|
-
return [
|
|
108
|
-
{
|
|
109
|
-
label: "Completion rate",
|
|
110
|
-
value: fmtPercent(completionRate),
|
|
111
|
-
sub: metricDelta(completionRate, priorCompletionRate)
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
label: "Fail rate",
|
|
115
|
-
value: fmtPercent(failRate),
|
|
116
|
-
sub: metricDelta(failRate, priorFailRate)
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
label: "Promoted",
|
|
120
|
-
value: fmtInt(promoted),
|
|
121
|
-
sub: metricDelta(promoted, asNumber(asRecord(prior.consolidation)?.promoted))
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
label: "MI written",
|
|
125
|
-
value: fmtInt(written),
|
|
126
|
-
sub: metricDelta(written, asNumber(asRecord(prior.memoryInference)?.written))
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
label: "Graph entities",
|
|
130
|
-
value: fmtInt(entities),
|
|
131
|
-
sub: metricDelta(entities, asNumber(asRecord(prior.graphExtraction)?.entities))
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
label: "Median duration",
|
|
135
|
-
value: fmtDuration(medianMs),
|
|
136
|
-
sub: metricDelta(medianMs, asNumber(asRecord(prior.wallTime)?.medianMs))
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
label: "Runs",
|
|
140
|
-
value: fmtInt(completed),
|
|
141
|
-
sub: metricDelta(completed, priorCompleted)
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
label: "Pending proposals",
|
|
145
|
-
value: fmtInt(proposalCount),
|
|
146
|
-
sub: proposalCount > 0 ? "review queue has pending items" : "no pending proposals"
|
|
147
|
-
}
|
|
148
|
-
].map((card) => `
|
|
149
|
-
<div class="card">
|
|
150
|
-
<div class="card-label">${escapeHtml(card.label)}</div>
|
|
151
|
-
<div class="card-value">${escapeHtml(card.value)}</div>
|
|
152
|
-
<div class="card-sub">${escapeHtml(card.sub)}</div>
|
|
153
|
-
</div>`).join("");
|
|
154
|
-
}
|
|
155
|
-
function buildAdvisories(health) {
|
|
156
|
-
const items = [...asArray(health.advisories), ...asArray(health.hardChecks).filter((item) => {
|
|
157
|
-
const status = asString(asRecord(item)?.status);
|
|
158
|
-
return status === "warn" || status === "fail";
|
|
159
|
-
})].map((item) => asRecord(item)).filter((item) => item !== null);
|
|
160
|
-
if (items.length === 0) return "<div class=\"notice ok\">No active advisories for this window.</div>";
|
|
161
|
-
return items.map((item) => {
|
|
162
|
-
const status = statusClass(asString(item.status));
|
|
163
|
-
const name = asString(item.name) || "advisory";
|
|
164
|
-
const message = asString(item.message) || "No details.";
|
|
165
|
-
return `<div class="notice ${status}"><strong>${escapeHtml(name)}</strong><span>${escapeHtml(message)}</span></div>`;
|
|
166
|
-
}).join("");
|
|
167
|
-
}
|
|
168
|
-
function buildProposalRows(proposals) {
|
|
169
|
-
if (proposals.length === 0) return "<tr><td colspan=\"4\" class=\"empty\">No pending proposals.</td></tr>";
|
|
170
|
-
return proposals.slice(0, 20).map((proposal) => `
|
|
171
|
-
<tr>
|
|
172
|
-
<td>${escapeHtml(proposal.ref || proposal.id || "unknown")}</td>
|
|
173
|
-
<td>${escapeHtml(proposal.source || "unknown")}</td>
|
|
174
|
-
<td>${escapeHtml(fmtUtc(proposal.createdAt))}</td>
|
|
175
|
-
<td>${escapeHtml(proposal.id || "")}</td>
|
|
176
|
-
</tr>`).join("");
|
|
177
|
-
}
|
|
178
|
-
function buildRunRows(runs) {
|
|
179
|
-
if (runs.length === 0) return "<tr><td colspan=\"6\" class=\"empty\">No improve runs in this window.</td></tr>";
|
|
180
|
-
return runs.slice(-10).reverse().map((run, index) => {
|
|
181
|
-
const consolidation = asRecord(run.consolidation);
|
|
182
|
-
const memoryInference = asRecord(run.memoryInference);
|
|
183
|
-
const graphExtraction = asRecord(run.graphExtraction);
|
|
184
|
-
const startedAt = asString(run.startedAt);
|
|
185
|
-
const durationMs = asNumber(run.wallTimeMs) || asNumber(run.durationMs);
|
|
186
|
-
return `
|
|
187
|
-
<tr>
|
|
188
|
-
<td>${escapeHtml(asString(run.runId) || asString(run.id) || `run-${index + 1}`)}</td>
|
|
189
|
-
<td>${escapeHtml(fmtUtc(startedAt))}</td>
|
|
190
|
-
<td>${escapeHtml(fmtDuration(durationMs))}</td>
|
|
191
|
-
<td>${escapeHtml(String(asBoolean(run.ok) ? "ok" : "fail"))}</td>
|
|
192
|
-
<td>${escapeHtml(fmtInt(asNumber(consolidation?.promoted)))}</td>
|
|
193
|
-
<td>${escapeHtml(fmtInt(asNumber(memoryInference?.written)))}</td>
|
|
194
|
-
<td>${escapeHtml(fmtInt(asNumber(graphExtraction?.entities)))}</td>
|
|
195
|
-
</tr>`;
|
|
196
|
-
}).join("");
|
|
197
|
-
}
|
|
198
|
-
function buildSummaryRows(current) {
|
|
199
|
-
return [
|
|
200
|
-
["Invoked", fmtInt(asNumber(current.invoked))],
|
|
201
|
-
["Completed", fmtInt(asNumber(current.completed))],
|
|
202
|
-
["Skipped", fmtInt(asNumber(current.skipped))],
|
|
203
|
-
["Promoted", fmtInt(asNumber(asRecord(current.consolidation)?.promoted))],
|
|
204
|
-
["Merged", fmtInt(asNumber(asRecord(current.consolidation)?.merged))],
|
|
205
|
-
["Deleted", fmtInt(asNumber(asRecord(current.consolidation)?.deleted))],
|
|
206
|
-
["Judged no action", fmtInt(asNumber(asRecord(current.consolidation)?.judgedNoAction))],
|
|
207
|
-
["Inference written", fmtInt(asNumber(asRecord(current.memoryInference)?.written))],
|
|
208
|
-
["Graph entities", fmtInt(asNumber(asRecord(current.graphExtraction)?.entities))],
|
|
209
|
-
["Median wall time", fmtDuration(asNumber(asRecord(current.wallTime)?.medianMs))]
|
|
210
|
-
].map(([label, value]) => `
|
|
211
|
-
<tr>
|
|
212
|
-
<th>${escapeHtml(label)}</th>
|
|
213
|
-
<td>${escapeHtml(value)}</td>
|
|
214
|
-
</tr>`).join("");
|
|
215
|
-
}
|
|
216
|
-
function renderHtml(window, health, proposals) {
|
|
217
|
-
const improve = asRecord(health.improve) ?? {};
|
|
218
|
-
const windows = asArray(health.windows).map((item) => asRecord(item)).filter((item) => item !== null);
|
|
219
|
-
const currentWindow = asRecord(windows.find((item) => asString(item.name) === "current")?.improve) ?? improve;
|
|
220
|
-
const priorWindow = asRecord(windows.find((item) => asString(item.name) === "prior")?.improve) ?? {};
|
|
221
|
-
const runs = asArray(health.runs).map((item) => asRecord(item)).filter((item) => item !== null);
|
|
222
|
-
const status = asString(health.status) || "unknown";
|
|
223
|
-
const since = asString(health.since);
|
|
224
|
-
const until = asString((windows.find((item) => asString(item.name) === "current") ?? {}).until);
|
|
225
|
-
const semanticStatus = asString(asRecord(asArray(health.advisories).map((item) => asRecord(item)).find((item) => asString(item?.name) === "semantic-search-runtime")?.evidence)?.status) || "unknown";
|
|
226
|
-
const payload = runs.map((run, index) => {
|
|
227
|
-
const consolidation = asRecord(run.consolidation);
|
|
228
|
-
const memoryInference = asRecord(run.memoryInference);
|
|
229
|
-
const graphExtraction = asRecord(run.graphExtraction);
|
|
230
|
-
return {
|
|
231
|
-
label: asString(run.startedAt) ? fmtUtc(asString(run.startedAt)).replace(" UTC", "") : `Run ${index + 1}`,
|
|
232
|
-
wallTimeMs: asNumber(run.wallTimeMs) || asNumber(run.durationMs),
|
|
233
|
-
promoted: asNumber(consolidation?.promoted),
|
|
234
|
-
merged: asNumber(consolidation?.merged),
|
|
235
|
-
deleted: asNumber(consolidation?.deleted),
|
|
236
|
-
judgedNoAction: asNumber(consolidation?.judgedNoAction),
|
|
237
|
-
written: asNumber(memoryInference?.written),
|
|
238
|
-
entities: asNumber(graphExtraction?.entities),
|
|
239
|
-
consolidationMs: asNumber(consolidation?.durationMs),
|
|
240
|
-
memoryInferenceMs: asNumber(memoryInference?.durationMs),
|
|
241
|
-
graphExtractionMs: asNumber(graphExtraction?.durationMs),
|
|
242
|
-
ok: asBoolean(run.ok)
|
|
243
|
-
};
|
|
244
|
-
});
|
|
245
|
-
return `<!doctype html>
|
|
246
|
-
<html lang="en">
|
|
247
|
-
<head>
|
|
248
|
-
<meta charset="utf-8">
|
|
249
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
250
|
-
<title>AKM Health Report (${escapeHtml(window)})</title>
|
|
251
|
-
<style>
|
|
252
|
-
:root {
|
|
253
|
-
color-scheme: dark;
|
|
254
|
-
--bg: #07111f;
|
|
255
|
-
--panel: #101b2d;
|
|
256
|
-
--panel-soft: #15233a;
|
|
257
|
-
--border: rgba(148, 163, 184, 0.18);
|
|
258
|
-
--text: #e5eefc;
|
|
259
|
-
--muted: #93a4bf;
|
|
260
|
-
--ok: #22c55e;
|
|
261
|
-
--warn: #f59e0b;
|
|
262
|
-
--fail: #ef4444;
|
|
263
|
-
--accent: #60a5fa;
|
|
264
|
-
}
|
|
265
|
-
* { box-sizing: border-box; }
|
|
266
|
-
body {
|
|
267
|
-
margin: 0;
|
|
268
|
-
font-family: Inter, ui-sans-serif, system-ui, sans-serif;
|
|
269
|
-
background: radial-gradient(circle at top, #14233d 0%, var(--bg) 55%);
|
|
270
|
-
color: var(--text);
|
|
271
|
-
padding: 24px;
|
|
272
|
-
}
|
|
273
|
-
.shell {
|
|
274
|
-
max-width: 1400px;
|
|
275
|
-
margin: 0 auto;
|
|
276
|
-
display: grid;
|
|
277
|
-
gap: 20px;
|
|
278
|
-
}
|
|
279
|
-
.hero, .panel {
|
|
280
|
-
background: rgba(16, 27, 45, 0.9);
|
|
281
|
-
border: 1px solid var(--border);
|
|
282
|
-
border-radius: 18px;
|
|
283
|
-
box-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);
|
|
284
|
-
}
|
|
285
|
-
.hero {
|
|
286
|
-
padding: 24px;
|
|
287
|
-
display: grid;
|
|
288
|
-
gap: 16px;
|
|
289
|
-
}
|
|
290
|
-
.hero-top {
|
|
291
|
-
display: flex;
|
|
292
|
-
justify-content: space-between;
|
|
293
|
-
gap: 16px;
|
|
294
|
-
align-items: flex-start;
|
|
295
|
-
flex-wrap: wrap;
|
|
296
|
-
}
|
|
297
|
-
h1, h2, h3, p { margin: 0; }
|
|
298
|
-
.eyebrow { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; }
|
|
299
|
-
.title { font-size: clamp(28px, 4vw, 40px); font-weight: 700; }
|
|
300
|
-
.subtitle { color: var(--muted); max-width: 80ch; }
|
|
301
|
-
.status {
|
|
302
|
-
border-radius: 999px;
|
|
303
|
-
padding: 8px 12px;
|
|
304
|
-
font-size: 12px;
|
|
305
|
-
font-weight: 700;
|
|
306
|
-
text-transform: uppercase;
|
|
307
|
-
letter-spacing: 0.08em;
|
|
308
|
-
border: 1px solid transparent;
|
|
309
|
-
}
|
|
310
|
-
.status.ok { color: #bbf7d0; background: rgba(34, 197, 94, 0.14); border-color: rgba(34, 197, 94, 0.32); }
|
|
311
|
-
.status.warn { color: #fde68a; background: rgba(245, 158, 11, 0.14); border-color: rgba(245, 158, 11, 0.32); }
|
|
312
|
-
.status.fail { color: #fecaca; background: rgba(239, 68, 68, 0.14); border-color: rgba(239, 68, 68, 0.32); }
|
|
313
|
-
.meta {
|
|
314
|
-
display: grid;
|
|
315
|
-
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
316
|
-
gap: 12px;
|
|
317
|
-
}
|
|
318
|
-
.meta-item, .card {
|
|
319
|
-
background: var(--panel-soft);
|
|
320
|
-
border: 1px solid var(--border);
|
|
321
|
-
border-radius: 14px;
|
|
322
|
-
padding: 14px;
|
|
323
|
-
}
|
|
324
|
-
.meta-label, .card-label { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; }
|
|
325
|
-
.meta-value, .card-value { margin-top: 8px; font-size: 22px; font-weight: 700; }
|
|
326
|
-
.card-sub { margin-top: 8px; color: var(--muted); font-size: 13px; }
|
|
327
|
-
.cards {
|
|
328
|
-
display: grid;
|
|
329
|
-
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
330
|
-
gap: 12px;
|
|
331
|
-
}
|
|
332
|
-
.grid-two {
|
|
333
|
-
display: grid;
|
|
334
|
-
grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
|
|
335
|
-
gap: 20px;
|
|
336
|
-
}
|
|
337
|
-
.panel { padding: 18px; }
|
|
338
|
-
.panel-title { font-size: 18px; font-weight: 700; margin-bottom: 14px; }
|
|
339
|
-
.chart-grid {
|
|
340
|
-
display: grid;
|
|
341
|
-
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
|
|
342
|
-
gap: 16px;
|
|
343
|
-
}
|
|
344
|
-
.chart {
|
|
345
|
-
height: 320px;
|
|
346
|
-
background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0));
|
|
347
|
-
border: 1px solid var(--border);
|
|
348
|
-
border-radius: 14px;
|
|
349
|
-
}
|
|
350
|
-
.notice-list {
|
|
351
|
-
display: grid;
|
|
352
|
-
gap: 10px;
|
|
353
|
-
}
|
|
354
|
-
.notice {
|
|
355
|
-
display: grid;
|
|
356
|
-
gap: 6px;
|
|
357
|
-
border-radius: 14px;
|
|
358
|
-
padding: 14px;
|
|
359
|
-
border: 1px solid var(--border);
|
|
360
|
-
background: var(--panel-soft);
|
|
361
|
-
}
|
|
362
|
-
.notice.ok { border-color: rgba(34, 197, 94, 0.32); }
|
|
363
|
-
.notice.warn { border-color: rgba(245, 158, 11, 0.32); }
|
|
364
|
-
.notice.fail { border-color: rgba(239, 68, 68, 0.32); }
|
|
365
|
-
.summary-table, .data-table {
|
|
366
|
-
width: 100%;
|
|
367
|
-
border-collapse: collapse;
|
|
368
|
-
}
|
|
369
|
-
.summary-table th, .summary-table td, .data-table th, .data-table td {
|
|
370
|
-
padding: 10px 12px;
|
|
371
|
-
border-bottom: 1px solid var(--border);
|
|
372
|
-
text-align: left;
|
|
373
|
-
vertical-align: top;
|
|
374
|
-
}
|
|
375
|
-
.summary-table th, .data-table th { color: var(--muted); font-weight: 600; }
|
|
376
|
-
.empty { color: var(--muted); text-align: center; }
|
|
377
|
-
.footer-note { color: var(--muted); font-size: 13px; }
|
|
378
|
-
@media (max-width: 900px) {
|
|
379
|
-
body { padding: 12px; }
|
|
380
|
-
.grid-two { grid-template-columns: 1fr; }
|
|
381
|
-
}
|
|
382
|
-
</style>
|
|
383
|
-
</head>
|
|
384
|
-
<body>
|
|
385
|
-
<div class="shell">
|
|
386
|
-
<section class="hero">
|
|
387
|
-
<div class="hero-top">
|
|
388
|
-
<div>
|
|
389
|
-
<div class="eyebrow">AKM Health Report</div>
|
|
390
|
-
<h1 class="title">Knowledge Health for ${escapeHtml(window)}</h1>
|
|
391
|
-
<p class="subtitle">Generated from live <code>akm health</code> data in the current stack stash. This mirrors the existing AKM report shape with KPI cards, ECharts trends, advisories, and queue visibility.</p>
|
|
392
|
-
</div>
|
|
393
|
-
<div class="status ${escapeHtml(statusClass(status))}">${escapeHtml(status)}</div>
|
|
394
|
-
</div>
|
|
395
|
-
<div class="meta">
|
|
396
|
-
<div class="meta-item">
|
|
397
|
-
<div class="meta-label">Window</div>
|
|
398
|
-
<div class="meta-value">${escapeHtml(window)}</div>
|
|
399
|
-
</div>
|
|
400
|
-
<div class="meta-item">
|
|
401
|
-
<div class="meta-label">Since</div>
|
|
402
|
-
<div class="meta-value">${escapeHtml(fmtUtc(since))}</div>
|
|
403
|
-
</div>
|
|
404
|
-
<div class="meta-item">
|
|
405
|
-
<div class="meta-label">Until</div>
|
|
406
|
-
<div class="meta-value">${escapeHtml(fmtUtc(until))}</div>
|
|
407
|
-
</div>
|
|
408
|
-
<div class="meta-item">
|
|
409
|
-
<div class="meta-label">Semantic search</div>
|
|
410
|
-
<div class="meta-value">${escapeHtml(semanticStatus)}</div>
|
|
411
|
-
</div>
|
|
412
|
-
</div>
|
|
413
|
-
<div class="cards">${buildCards(currentWindow, priorWindow, proposals.length)}</div>
|
|
414
|
-
</section>
|
|
415
|
-
|
|
416
|
-
<section class="panel">
|
|
417
|
-
<h2 class="panel-title">Run Trends</h2>
|
|
418
|
-
<div class="chart-grid">
|
|
419
|
-
<div id="chartWallTime" class="chart"></div>
|
|
420
|
-
<div id="chartPhases" class="chart"></div>
|
|
421
|
-
<div id="chartOutput" class="chart"></div>
|
|
422
|
-
<div id="chartKnowledge" class="chart"></div>
|
|
423
|
-
</div>
|
|
424
|
-
</section>
|
|
425
|
-
|
|
426
|
-
<section class="grid-two">
|
|
427
|
-
<div class="panel">
|
|
428
|
-
<h2 class="panel-title">Summary</h2>
|
|
429
|
-
<table class="summary-table">
|
|
430
|
-
<tbody>${buildSummaryRows(currentWindow)}</tbody>
|
|
431
|
-
</table>
|
|
432
|
-
</div>
|
|
433
|
-
<div class="panel">
|
|
434
|
-
<h2 class="panel-title">Advisories</h2>
|
|
435
|
-
<div class="notice-list">${buildAdvisories(health)}</div>
|
|
436
|
-
</div>
|
|
437
|
-
</section>
|
|
438
|
-
|
|
439
|
-
<section class="grid-two">
|
|
440
|
-
<div class="panel">
|
|
441
|
-
<h2 class="panel-title">Pending Proposals (${escapeHtml(fmtInt(proposals.length))})</h2>
|
|
442
|
-
<table class="data-table">
|
|
443
|
-
<thead>
|
|
444
|
-
<tr><th>Ref</th><th>Source</th><th>Created</th><th>ID</th></tr>
|
|
445
|
-
</thead>
|
|
446
|
-
<tbody>${buildProposalRows(proposals)}</tbody>
|
|
447
|
-
</table>
|
|
448
|
-
</div>
|
|
449
|
-
<div class="panel">
|
|
450
|
-
<h2 class="panel-title">Recent Runs</h2>
|
|
451
|
-
<table class="data-table">
|
|
452
|
-
<thead>
|
|
453
|
-
<tr><th>Run</th><th>Started</th><th>Duration</th><th>Status</th><th>Promoted</th><th>MI</th><th>Entities</th></tr>
|
|
454
|
-
</thead>
|
|
455
|
-
<tbody>${buildRunRows(runs)}</tbody>
|
|
456
|
-
</table>
|
|
457
|
-
</div>
|
|
458
|
-
</section>
|
|
459
|
-
|
|
460
|
-
<div class="footer-note">Charts use Apache ECharts from jsDelivr. If the browser blocks external assets, the summary tables above remain the source of truth.</div>
|
|
461
|
-
</div>
|
|
462
|
-
|
|
463
|
-
<script>window.REPORT_DATA = ${scriptJson(payload)};<\/script>
|
|
464
|
-
<script src="https://cdn.jsdelivr.net/npm/echarts@5.5.1/dist/echarts.min.js"><\/script>
|
|
465
|
-
<script>
|
|
466
|
-
const runs = Array.isArray(window.REPORT_DATA) ? window.REPORT_DATA : [];
|
|
467
|
-
const textColor = '#dbe7ff';
|
|
468
|
-
const mutedColor = '#93a4bf';
|
|
469
|
-
const axisStyle = { axisLabel: { color: mutedColor }, axisLine: { lineStyle: { color: '#334155' } }, splitLine: { lineStyle: { color: 'rgba(148,163,184,0.12)' } } };
|
|
470
|
-
function baseChart(id) {
|
|
471
|
-
const el = document.getElementById(id);
|
|
472
|
-
if (!el || !window.echarts) return null;
|
|
473
|
-
return window.echarts.init(el, null, { renderer: 'canvas' });
|
|
474
|
-
}
|
|
475
|
-
function setEmpty(elId, label) {
|
|
476
|
-
const el = document.getElementById(elId);
|
|
477
|
-
if (!el) return;
|
|
478
|
-
el.innerHTML = '<div style="height:100%;display:grid;place-items:center;color:' + mutedColor + ';font-size:14px;">' + label + '</div>';
|
|
479
|
-
}
|
|
480
|
-
function labels() { return runs.map((run) => run.label); }
|
|
481
|
-
if (!window.echarts) {
|
|
482
|
-
['chartWallTime', 'chartPhases', 'chartOutput', 'chartKnowledge'].forEach((id) => setEmpty(id, 'ECharts failed to load.'));
|
|
483
|
-
} else if (runs.length === 0) {
|
|
484
|
-
['chartWallTime', 'chartPhases', 'chartOutput', 'chartKnowledge'].forEach((id) => setEmpty(id, 'No runs in this window.'));
|
|
485
|
-
} else {
|
|
486
|
-
const common = { textStyle: { color: textColor }, animation: false, grid: { left: 48, right: 18, top: 40, bottom: 36 }, tooltip: { trigger: 'axis' } };
|
|
487
|
-
const wallTime = baseChart('chartWallTime');
|
|
488
|
-
wallTime && wallTime.setOption({
|
|
489
|
-
...common,
|
|
490
|
-
title: { text: 'Wall Time Per Run', textStyle: { color: textColor, fontSize: 14 } },
|
|
491
|
-
xAxis: { type: 'category', data: labels(), ...axisStyle },
|
|
492
|
-
yAxis: { type: 'value', axisLabel: { color: mutedColor, formatter: (value) => Math.round(value / 1000) + 's' }, splitLine: axisStyle.splitLine },
|
|
493
|
-
series: [{ type: 'line', smooth: true, data: runs.map((run) => run.wallTimeMs), lineStyle: { color: '#60a5fa' }, itemStyle: { color: '#60a5fa' }, areaStyle: { color: 'rgba(96,165,250,0.14)' } }]
|
|
494
|
-
});
|
|
495
|
-
|
|
496
|
-
const phases = baseChart('chartPhases');
|
|
497
|
-
phases && phases.setOption({
|
|
498
|
-
...common,
|
|
499
|
-
title: { text: 'Phase Breakdown', textStyle: { color: textColor, fontSize: 14 } },
|
|
500
|
-
legend: { textStyle: { color: mutedColor } },
|
|
501
|
-
xAxis: { type: 'category', data: labels(), ...axisStyle },
|
|
502
|
-
yAxis: { type: 'value', axisLabel: { color: mutedColor, formatter: (value) => Math.round(value / 1000) + 's' }, splitLine: axisStyle.splitLine },
|
|
503
|
-
series: [
|
|
504
|
-
{ name: 'Consolidation', type: 'bar', stack: 'phases', data: runs.map((run) => run.consolidationMs), itemStyle: { color: '#60a5fa' } },
|
|
505
|
-
{ name: 'Memory Inference', type: 'bar', stack: 'phases', data: runs.map((run) => run.memoryInferenceMs), itemStyle: { color: '#a78bfa' } },
|
|
506
|
-
{ name: 'Graph Extraction', type: 'bar', stack: 'phases', data: runs.map((run) => run.graphExtractionMs), itemStyle: { color: '#34d399' } }
|
|
507
|
-
]
|
|
508
|
-
});
|
|
509
|
-
|
|
510
|
-
const output = baseChart('chartOutput');
|
|
511
|
-
output && output.setOption({
|
|
512
|
-
...common,
|
|
513
|
-
title: { text: 'Consolidation Output', textStyle: { color: textColor, fontSize: 14 } },
|
|
514
|
-
legend: { textStyle: { color: mutedColor } },
|
|
515
|
-
xAxis: { type: 'category', data: labels(), ...axisStyle },
|
|
516
|
-
yAxis: { type: 'value', axisLabel: { color: mutedColor }, splitLine: axisStyle.splitLine },
|
|
517
|
-
series: [
|
|
518
|
-
{ name: 'Promoted', type: 'bar', data: runs.map((run) => run.promoted), itemStyle: { color: '#22c55e' } },
|
|
519
|
-
{ name: 'Merged', type: 'bar', data: runs.map((run) => run.merged), itemStyle: { color: '#f59e0b' } },
|
|
520
|
-
{ name: 'Deleted', type: 'bar', data: runs.map((run) => run.deleted), itemStyle: { color: '#ef4444' } },
|
|
521
|
-
{ name: 'No action', type: 'bar', data: runs.map((run) => run.judgedNoAction), itemStyle: { color: '#94a3b8' } }
|
|
522
|
-
]
|
|
523
|
-
});
|
|
524
|
-
|
|
525
|
-
const knowledge = baseChart('chartKnowledge');
|
|
526
|
-
knowledge && knowledge.setOption({
|
|
527
|
-
...common,
|
|
528
|
-
title: { text: 'Knowledge Growth Signals', textStyle: { color: textColor, fontSize: 14 } },
|
|
529
|
-
legend: { textStyle: { color: mutedColor } },
|
|
530
|
-
xAxis: { type: 'category', data: labels(), ...axisStyle },
|
|
531
|
-
yAxis: { type: 'value', axisLabel: { color: mutedColor }, splitLine: axisStyle.splitLine },
|
|
532
|
-
series: [
|
|
533
|
-
{ name: 'MI written', type: 'line', smooth: true, data: runs.map((run) => run.written), itemStyle: { color: '#a78bfa' }, lineStyle: { color: '#a78bfa' } },
|
|
534
|
-
{ name: 'Entities', type: 'line', smooth: true, data: runs.map((run) => run.entities), itemStyle: { color: '#34d399' }, lineStyle: { color: '#34d399' } }
|
|
535
|
-
]
|
|
536
|
-
});
|
|
537
|
-
|
|
538
|
-
window.addEventListener('resize', () => {
|
|
539
|
-
wallTime && wallTime.resize();
|
|
540
|
-
phases && phases.resize();
|
|
541
|
-
output && output.resize();
|
|
542
|
-
knowledge && knowledge.resize();
|
|
543
|
-
});
|
|
544
|
-
}
|
|
545
|
-
<\/script>
|
|
546
|
-
</body>
|
|
547
|
-
</html>`;
|
|
548
|
-
}
|
|
549
|
-
async function buildAkmHealthReport(state, requestedWindow) {
|
|
550
|
-
const window = clampWindow(requestedWindow);
|
|
551
|
-
const [healthResult, proposalsResult] = await Promise.all([runAkmCommand(state, [
|
|
552
|
-
"health",
|
|
553
|
-
`--since=${window}`,
|
|
554
|
-
"--group-by",
|
|
555
|
-
"run",
|
|
556
|
-
`--window-compare=${window}`,
|
|
557
|
-
"--format",
|
|
558
|
-
"json"
|
|
559
|
-
], 2e4), runAkmCommand(state, [
|
|
560
|
-
"proposal",
|
|
561
|
-
"list",
|
|
562
|
-
"--format",
|
|
563
|
-
"json"
|
|
564
|
-
], 12e3)]);
|
|
565
|
-
const health = safeParseJsonObject(healthResult.stdout);
|
|
566
|
-
const proposalsPayload = safeParseJsonObject(proposalsResult.stdout);
|
|
567
|
-
if (!health) {
|
|
568
|
-
const detail = [healthResult.stderr.trim(), healthResult.stdout.trim()].filter(Boolean).join("\n\n");
|
|
569
|
-
return {
|
|
570
|
-
window,
|
|
571
|
-
html: `<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>AKM Health Report</title><style>body{margin:0;font-family:Inter,system-ui,sans-serif;background:#07111f;color:#e5eefc;padding:24px}main{max-width:860px;margin:0 auto;background:#101b2d;border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:24px}pre{white-space:pre-wrap;background:#15233a;padding:16px;border-radius:12px;overflow:auto}code{font-family:ui-monospace,SFMono-Regular,monospace}</style></head><body><main><h1>AKM health report unavailable</h1><p>The admin UI could not build the report from <code>akm health</code> for window <code>${escapeHtml(window)}</code>.</p><pre>${escapeHtml(detail || "The AKM CLI returned no parseable JSON output.")}</pre></main></body></html>`
|
|
572
|
-
};
|
|
573
|
-
}
|
|
574
|
-
return {
|
|
575
|
-
html: renderHtml(window, health, asArray(proposalsPayload?.proposals).map((item) => asRecord(item)).filter((item) => item !== null).map((item) => ({
|
|
576
|
-
id: asString(item.id),
|
|
577
|
-
ref: asString(item.ref),
|
|
578
|
-
source: asString(item.source),
|
|
579
|
-
createdAt: asString(item.createdAt)
|
|
580
|
-
}))),
|
|
581
|
-
window
|
|
582
|
-
};
|
|
583
|
-
}
|
|
584
|
-
//#endregion
|
|
585
|
-
//#region src/routes/admin/akm/health-report/+server.ts
|
|
586
|
-
var GET = async (event) => {
|
|
587
|
-
const requestId = getRequestId(event);
|
|
588
|
-
const denied = requireAdmin(event, requestId);
|
|
589
|
-
if (denied) return denied;
|
|
590
|
-
const { html } = await buildAkmHealthReport(getState(), event.url.searchParams.get("since"));
|
|
591
|
-
return new Response(html, {
|
|
592
|
-
status: 200,
|
|
593
|
-
headers: {
|
|
594
|
-
"content-type": "text/html; charset=utf-8",
|
|
595
|
-
"cache-control": "no-store",
|
|
596
|
-
"x-request-id": requestId
|
|
597
|
-
}
|
|
598
|
-
});
|
|
599
|
-
};
|
|
600
|
-
|
|
601
|
-
export { GET };
|
|
602
|
-
//# sourceMappingURL=_server.ts-CQu3-Yre.js.map
|