@futdevpro/ccap 1.1.2480 → 1.1.2496
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/client-dist/{agent-instances.module-ELLKQLGG.js → agent-instances.module-NV2WBZS3.js} +2 -2
- package/client-dist/{ca.module-UBVIAFN4.js → ca.module-RQPGINCA.js} +2 -2
- package/client-dist/{cc.module-KZPCYILW.js → cc.module-6VDATPC6.js} +2 -2
- package/client-dist/{chunk-Q7XFVQCT.js → chunk-2KE5OX35.js} +2 -2
- package/client-dist/{chunk-PWPWZKOS.js → chunk-2XGR6NI6.js} +2 -2
- package/client-dist/{chunk-XLKYYMUO.js → chunk-3DWEWT3Z.js} +2 -2
- package/client-dist/{chunk-ITAQGAC2.js → chunk-4WFC6S4J.js} +2 -2
- package/client-dist/{chunk-R2LNJGAW.js → chunk-5VKFZPAC.js} +2 -2
- package/client-dist/{chunk-LFXN6YSM.js → chunk-5WMXO253.js} +2 -2
- package/client-dist/{chunk-YQXYOP2Y.js → chunk-5YWLFHFU.js} +2 -2
- package/client-dist/{chunk-EAJC4D2U.js → chunk-6TLT2HW4.js} +2 -2
- package/client-dist/{chunk-YFPTXTGK.js → chunk-7EQ4ZXQN.js} +11 -11
- package/client-dist/{chunk-YFPTXTGK.js.map → chunk-7EQ4ZXQN.js.map} +3 -3
- package/client-dist/{chunk-LXEMVWOY.js → chunk-7JH5FCNU.js} +2 -2
- package/client-dist/{chunk-3D6K4BBC.js → chunk-AF772FEW.js} +2 -2
- package/client-dist/{chunk-ARPAR533.js → chunk-BTGG7W6I.js} +2 -2
- package/client-dist/{chunk-U6FASWKW.js → chunk-CKMOXK4Q.js} +2 -2
- package/client-dist/{chunk-Z3SFTIKW.js → chunk-CNXZS3XJ.js} +2 -2
- package/client-dist/{chunk-CQ65BL5P.js → chunk-EDF2EQKZ.js} +2 -2
- package/client-dist/{chunk-H46P6WCK.js → chunk-EPRUPA2Q.js} +2 -2
- package/client-dist/{chunk-TNSOSOZA.js → chunk-F7X2YYE6.js} +2 -2
- package/client-dist/{chunk-HJQMGEW3.js → chunk-F7YWX2XF.js} +2 -2
- package/client-dist/{chunk-HWM2SVCU.js → chunk-G3PYZPPU.js} +2 -2
- package/client-dist/{chunk-P4FSVQB5.js → chunk-GCECKZJT.js} +2 -2
- package/client-dist/{chunk-P4FSVQB5.js.map → chunk-GCECKZJT.js.map} +1 -1
- package/client-dist/{chunk-MTN3UECM.js → chunk-GWFQ2RUP.js} +2 -2
- package/client-dist/{chunk-D6BZMKLW.js → chunk-JPSGPQLQ.js} +2 -2
- package/client-dist/{chunk-3UNCLPO6.js → chunk-K5B4ELSR.js} +2 -2
- package/client-dist/{chunk-HS7MIF4W.js → chunk-KKQ7KUQF.js} +2 -2
- package/client-dist/{chunk-I7MA6IZ3.js → chunk-LAYOVL7C.js} +2 -2
- package/client-dist/{chunk-XOTEF2GO.js → chunk-LGR733VC.js} +2 -2
- package/client-dist/{chunk-YPGOHPIB.js → chunk-MSTWFD2Y.js} +2 -2
- package/client-dist/{chunk-NO7VVBN3.js → chunk-MVZYKGWO.js} +2 -2
- package/client-dist/{chunk-XMM6SMN6.js → chunk-MXHM4FRN.js} +2 -2
- package/client-dist/{chunk-L4O5KGUK.js → chunk-NMLC7Z27.js} +2 -2
- package/client-dist/{chunk-FIYLYTH2.js → chunk-NPSFLNLJ.js} +2 -2
- package/client-dist/{chunk-HHIFLWKG.js → chunk-NT2263UJ.js} +2 -2
- package/client-dist/{chunk-K236XBN6.js → chunk-NTJQ3RZW.js} +2 -2
- package/client-dist/{chunk-TC7CJH7A.js → chunk-PMEFYWSE.js} +2 -2
- package/client-dist/{chunk-D5PIQYZT.js → chunk-PPEZ7QCI.js} +2 -2
- package/client-dist/{chunk-5V2H46IZ.js → chunk-Q73TA6RA.js} +2 -2
- package/client-dist/{chunk-TOAW3KRK.js → chunk-QGUSZ5YO.js} +2 -2
- package/client-dist/{chunk-LI4R53TO.js → chunk-QKBLSRUG.js} +2 -2
- package/client-dist/{chunk-W4HJ5G4V.js → chunk-QP4FRBSO.js} +2 -2
- package/client-dist/{chunk-V7U6L4TC.js → chunk-QW6CIFAD.js} +2 -2
- package/client-dist/{chunk-7K7M6QBA.js → chunk-RY34PL75.js} +2 -2
- package/client-dist/{chunk-GLD24USX.js → chunk-SNUXEZLB.js} +2 -2
- package/client-dist/{chunk-RAZSBNNZ.js → chunk-TC5YFTPT.js} +2 -2
- package/client-dist/chunk-U34B75Z6.js +2 -0
- package/client-dist/chunk-U34B75Z6.js.map +7 -0
- package/client-dist/{chunk-F6NYTLYY.js → chunk-UKWG2WI4.js} +2 -2
- package/client-dist/{chunk-26F25BHM.js → chunk-VDNFH2HC.js} +2 -2
- package/client-dist/{chunk-RXLUMKTU.js → chunk-WFFF5OFH.js} +2 -2
- package/client-dist/{chunk-APNNGW7F.js → chunk-WMSBC5QH.js} +2 -2
- package/client-dist/{chunk-QGINFRFH.js → chunk-WO4YF7QB.js} +2 -2
- package/client-dist/{chunk-PBNXXWW7.js → chunk-WRXGGQII.js} +2 -2
- package/client-dist/{chunk-I6IQUG73.js → chunk-X7YEOGC4.js} +2 -2
- package/client-dist/{chunk-JOQGDJY6.js → chunk-XA2HDFIL.js} +2 -2
- package/client-dist/{chunk-Z25T6B57.js → chunk-XPV7GWWV.js} +2 -2
- package/client-dist/{chunk-VES6QEHE.js → chunk-XPZSKXVH.js} +2 -2
- package/client-dist/{chunk-NM4YPAEZ.js → chunk-YKPLWIK5.js} +2 -2
- package/client-dist/{chunk-FPD3PXFF.js → chunk-ZI4HSI6Y.js} +2 -2
- package/client-dist/{consultant.module-CQWEOANS.js → consultant.module-NGSP2B3G.js} +2 -2
- package/client-dist/{crd.module-WBZRCS3W.js → crd.module-IFMVOVAP.js} +2 -2
- package/client-dist/{dashboard.module-UO4P4KNN.js → dashboard.module-FYPRARTZ.js} +2 -2
- package/client-dist/{do.module-34ZPSV26.js → do.module-XOM27WFA.js} +2 -2
- package/client-dist/{document-library.module-MAU5ZKZV.js → document-library.module-6LXPWQPP.js} +2 -2
- package/client-dist/{embedding-eval.module-OZIOW2YB.js → embedding-eval.module-GUCMNSH2.js} +2 -2
- package/client-dist/{embedding-registry.module-C7U544WX.js → embedding-registry.module-7UWRRLUA.js} +2 -2
- package/client-dist/err.module-PUOSVIKG.js +6 -0
- package/client-dist/err.module-PUOSVIKG.js.map +7 -0
- package/client-dist/{feedback.module-HUJCVGYK.js → feedback.module-OLFTFDJA.js} +2 -2
- package/client-dist/{host-runtime-mcp.module-HZO3PGU5.js → host-runtime-mcp.module-656MJPGT.js} +2 -2
- package/client-dist/index.html +2 -2
- package/client-dist/{live-dev-pipeline.module-ABK4424U.js → live-dev-pipeline.module-BJMYI4UI.js} +2 -2
- package/client-dist/{logs.module-YOYXEQ6D.js → logs.module-MLZLMYTE.js} +2 -2
- package/client-dist/{main-ICOZ4N3O.js → main-CLPJW5SC.js} +3 -3
- package/client-dist/{master-control-remote-poc.module-ND7IUEFE.js → master-control-remote-poc.module-7BSZRJR2.js} +2 -2
- package/client-dist/{mobile-app.module-YCTR5LLE.js → mobile-app.module-BM34VQFL.js} +2 -2
- package/client-dist/{model-registry.module-W644QMFO.js → model-registry.module-UL5M3JFF.js} +2 -2
- package/client-dist/{oc.module-XISNGDRN.js → oc.module-552RIE2F.js} +2 -2
- package/client-dist/{orc.module-OLNWD2UC.js → orc.module-TT5A7QQC.js} +2 -2
- package/client-dist/{project-management.module-5YZMBZ4Y.js → project-management.module-WITST5DG.js} +2 -2
- package/client-dist/project-source-routed.module-7TENTC4F.js +2 -0
- package/client-dist/{scheduler.module-OXO2RXXO.js → scheduler.module-ZBL34Q63.js} +2 -2
- package/client-dist/{session.module-Q467LYDU.js → session.module-WHTXOYS3.js} +2 -2
- package/client-dist/set.module-PPEFHW4R.js +11 -0
- package/client-dist/{set.module-L44E6FH7.js.map → set.module-PPEFHW4R.js.map} +4 -4
- package/client-dist/{setup.module-RZHSM54X.js → setup.module-G7NN5PA5.js} +2 -2
- package/client-dist/styles-EVOJBQNQ.css +2 -0
- package/client-dist/styles-EVOJBQNQ.css.map +7 -0
- package/client-dist/{terminals.module-TMXQETNR.js → terminals.module-ZSJXXPMM.js} +2 -2
- package/client-dist/{voice-notes-poc.module-T36TXKSA.js → voice-notes-poc.module-TC7J2GKN.js} +2 -2
- package/client-dist/{wfs.module-Y44BQE5O.js → wfs.module-L5IJVPMN.js} +2 -2
- package/package.json +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/claude-code.controller.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/claude-code.controller.js +15 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/claude-code.controller.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/control-services/cc-terminal-runner.js +39 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/control-services/cc-terminal-runner.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-route.control-service.d.ts +13 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-route.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-route.control-service.js +40 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-route.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts +27 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js +74 -3
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js.map +1 -1
- package/server/build/src/_modules/setup-config/_routes/sc-server-status.controller.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_routes/sc-server-status.controller.js +13 -0
- package/server/build/src/_modules/setup-config/_routes/sc-server-status.controller.js.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.d.ts +16 -0
- package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.js +58 -0
- package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.js.map +1 -1
- package/client-dist/chunk-UXWOFZUT.js +0 -2
- package/client-dist/chunk-UXWOFZUT.js.map +0 -7
- package/client-dist/err.module-PA337WBI.js +0 -6
- package/client-dist/err.module-PA337WBI.js.map +0 -7
- package/client-dist/project-source-routed.module-VCOVA7BG.js +0 -2
- package/client-dist/set.module-L44E6FH7.js +0 -11
- package/client-dist/styles-IPQY7PNR.css +0 -2
- package/client-dist/styles-IPQY7PNR.css.map +0 -7
- /package/client-dist/{agent-instances.module-ELLKQLGG.js.map → agent-instances.module-NV2WBZS3.js.map} +0 -0
- /package/client-dist/{ca.module-UBVIAFN4.js.map → ca.module-RQPGINCA.js.map} +0 -0
- /package/client-dist/{cc.module-KZPCYILW.js.map → cc.module-6VDATPC6.js.map} +0 -0
- /package/client-dist/{chunk-Q7XFVQCT.js.map → chunk-2KE5OX35.js.map} +0 -0
- /package/client-dist/{chunk-PWPWZKOS.js.map → chunk-2XGR6NI6.js.map} +0 -0
- /package/client-dist/{chunk-XLKYYMUO.js.map → chunk-3DWEWT3Z.js.map} +0 -0
- /package/client-dist/{chunk-ITAQGAC2.js.map → chunk-4WFC6S4J.js.map} +0 -0
- /package/client-dist/{chunk-R2LNJGAW.js.map → chunk-5VKFZPAC.js.map} +0 -0
- /package/client-dist/{chunk-LFXN6YSM.js.map → chunk-5WMXO253.js.map} +0 -0
- /package/client-dist/{chunk-YQXYOP2Y.js.map → chunk-5YWLFHFU.js.map} +0 -0
- /package/client-dist/{chunk-EAJC4D2U.js.map → chunk-6TLT2HW4.js.map} +0 -0
- /package/client-dist/{chunk-LXEMVWOY.js.map → chunk-7JH5FCNU.js.map} +0 -0
- /package/client-dist/{chunk-3D6K4BBC.js.map → chunk-AF772FEW.js.map} +0 -0
- /package/client-dist/{chunk-ARPAR533.js.map → chunk-BTGG7W6I.js.map} +0 -0
- /package/client-dist/{chunk-U6FASWKW.js.map → chunk-CKMOXK4Q.js.map} +0 -0
- /package/client-dist/{chunk-Z3SFTIKW.js.map → chunk-CNXZS3XJ.js.map} +0 -0
- /package/client-dist/{chunk-CQ65BL5P.js.map → chunk-EDF2EQKZ.js.map} +0 -0
- /package/client-dist/{chunk-H46P6WCK.js.map → chunk-EPRUPA2Q.js.map} +0 -0
- /package/client-dist/{chunk-TNSOSOZA.js.map → chunk-F7X2YYE6.js.map} +0 -0
- /package/client-dist/{chunk-HJQMGEW3.js.map → chunk-F7YWX2XF.js.map} +0 -0
- /package/client-dist/{chunk-HWM2SVCU.js.map → chunk-G3PYZPPU.js.map} +0 -0
- /package/client-dist/{chunk-MTN3UECM.js.map → chunk-GWFQ2RUP.js.map} +0 -0
- /package/client-dist/{chunk-D6BZMKLW.js.map → chunk-JPSGPQLQ.js.map} +0 -0
- /package/client-dist/{chunk-3UNCLPO6.js.map → chunk-K5B4ELSR.js.map} +0 -0
- /package/client-dist/{chunk-HS7MIF4W.js.map → chunk-KKQ7KUQF.js.map} +0 -0
- /package/client-dist/{chunk-I7MA6IZ3.js.map → chunk-LAYOVL7C.js.map} +0 -0
- /package/client-dist/{chunk-XOTEF2GO.js.map → chunk-LGR733VC.js.map} +0 -0
- /package/client-dist/{chunk-YPGOHPIB.js.map → chunk-MSTWFD2Y.js.map} +0 -0
- /package/client-dist/{chunk-NO7VVBN3.js.map → chunk-MVZYKGWO.js.map} +0 -0
- /package/client-dist/{chunk-XMM6SMN6.js.map → chunk-MXHM4FRN.js.map} +0 -0
- /package/client-dist/{chunk-L4O5KGUK.js.map → chunk-NMLC7Z27.js.map} +0 -0
- /package/client-dist/{chunk-FIYLYTH2.js.map → chunk-NPSFLNLJ.js.map} +0 -0
- /package/client-dist/{chunk-HHIFLWKG.js.map → chunk-NT2263UJ.js.map} +0 -0
- /package/client-dist/{chunk-K236XBN6.js.map → chunk-NTJQ3RZW.js.map} +0 -0
- /package/client-dist/{chunk-TC7CJH7A.js.map → chunk-PMEFYWSE.js.map} +0 -0
- /package/client-dist/{chunk-D5PIQYZT.js.map → chunk-PPEZ7QCI.js.map} +0 -0
- /package/client-dist/{chunk-5V2H46IZ.js.map → chunk-Q73TA6RA.js.map} +0 -0
- /package/client-dist/{chunk-TOAW3KRK.js.map → chunk-QGUSZ5YO.js.map} +0 -0
- /package/client-dist/{chunk-LI4R53TO.js.map → chunk-QKBLSRUG.js.map} +0 -0
- /package/client-dist/{chunk-W4HJ5G4V.js.map → chunk-QP4FRBSO.js.map} +0 -0
- /package/client-dist/{chunk-V7U6L4TC.js.map → chunk-QW6CIFAD.js.map} +0 -0
- /package/client-dist/{chunk-7K7M6QBA.js.map → chunk-RY34PL75.js.map} +0 -0
- /package/client-dist/{chunk-GLD24USX.js.map → chunk-SNUXEZLB.js.map} +0 -0
- /package/client-dist/{chunk-RAZSBNNZ.js.map → chunk-TC5YFTPT.js.map} +0 -0
- /package/client-dist/{chunk-F6NYTLYY.js.map → chunk-UKWG2WI4.js.map} +0 -0
- /package/client-dist/{chunk-26F25BHM.js.map → chunk-VDNFH2HC.js.map} +0 -0
- /package/client-dist/{chunk-RXLUMKTU.js.map → chunk-WFFF5OFH.js.map} +0 -0
- /package/client-dist/{chunk-APNNGW7F.js.map → chunk-WMSBC5QH.js.map} +0 -0
- /package/client-dist/{chunk-QGINFRFH.js.map → chunk-WO4YF7QB.js.map} +0 -0
- /package/client-dist/{chunk-PBNXXWW7.js.map → chunk-WRXGGQII.js.map} +0 -0
- /package/client-dist/{chunk-I6IQUG73.js.map → chunk-X7YEOGC4.js.map} +0 -0
- /package/client-dist/{chunk-JOQGDJY6.js.map → chunk-XA2HDFIL.js.map} +0 -0
- /package/client-dist/{chunk-Z25T6B57.js.map → chunk-XPV7GWWV.js.map} +0 -0
- /package/client-dist/{chunk-VES6QEHE.js.map → chunk-XPZSKXVH.js.map} +0 -0
- /package/client-dist/{chunk-NM4YPAEZ.js.map → chunk-YKPLWIK5.js.map} +0 -0
- /package/client-dist/{chunk-FPD3PXFF.js.map → chunk-ZI4HSI6Y.js.map} +0 -0
- /package/client-dist/{consultant.module-CQWEOANS.js.map → consultant.module-NGSP2B3G.js.map} +0 -0
- /package/client-dist/{crd.module-WBZRCS3W.js.map → crd.module-IFMVOVAP.js.map} +0 -0
- /package/client-dist/{dashboard.module-UO4P4KNN.js.map → dashboard.module-FYPRARTZ.js.map} +0 -0
- /package/client-dist/{do.module-34ZPSV26.js.map → do.module-XOM27WFA.js.map} +0 -0
- /package/client-dist/{document-library.module-MAU5ZKZV.js.map → document-library.module-6LXPWQPP.js.map} +0 -0
- /package/client-dist/{embedding-eval.module-OZIOW2YB.js.map → embedding-eval.module-GUCMNSH2.js.map} +0 -0
- /package/client-dist/{embedding-registry.module-C7U544WX.js.map → embedding-registry.module-7UWRRLUA.js.map} +0 -0
- /package/client-dist/{feedback.module-HUJCVGYK.js.map → feedback.module-OLFTFDJA.js.map} +0 -0
- /package/client-dist/{host-runtime-mcp.module-HZO3PGU5.js.map → host-runtime-mcp.module-656MJPGT.js.map} +0 -0
- /package/client-dist/{live-dev-pipeline.module-ABK4424U.js.map → live-dev-pipeline.module-BJMYI4UI.js.map} +0 -0
- /package/client-dist/{logs.module-YOYXEQ6D.js.map → logs.module-MLZLMYTE.js.map} +0 -0
- /package/client-dist/{main-ICOZ4N3O.js.map → main-CLPJW5SC.js.map} +0 -0
- /package/client-dist/{master-control-remote-poc.module-ND7IUEFE.js.map → master-control-remote-poc.module-7BSZRJR2.js.map} +0 -0
- /package/client-dist/{mobile-app.module-YCTR5LLE.js.map → mobile-app.module-BM34VQFL.js.map} +0 -0
- /package/client-dist/{model-registry.module-W644QMFO.js.map → model-registry.module-UL5M3JFF.js.map} +0 -0
- /package/client-dist/{oc.module-XISNGDRN.js.map → oc.module-552RIE2F.js.map} +0 -0
- /package/client-dist/{orc.module-OLNWD2UC.js.map → orc.module-TT5A7QQC.js.map} +0 -0
- /package/client-dist/{project-management.module-5YZMBZ4Y.js.map → project-management.module-WITST5DG.js.map} +0 -0
- /package/client-dist/{project-source-routed.module-VCOVA7BG.js.map → project-source-routed.module-7TENTC4F.js.map} +0 -0
- /package/client-dist/{scheduler.module-OXO2RXXO.js.map → scheduler.module-ZBL34Q63.js.map} +0 -0
- /package/client-dist/{session.module-Q467LYDU.js.map → session.module-WHTXOYS3.js.map} +0 -0
- /package/client-dist/{setup.module-RZHSM54X.js.map → setup.module-G7NN5PA5.js.map} +0 -0
- /package/client-dist/{terminals.module-TMXQETNR.js.map → terminals.module-ZSJXXPMM.js.map} +0 -0
- /package/client-dist/{voice-notes-poc.module-T36TXKSA.js.map → voice-notes-poc.module-TC7J2GKN.js.map} +0 -0
- /package/client-dist/{wfs.module-Y44BQE5O.js.map → wfs.module-L5IJVPMN.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["src/app/_modules/system/_modules/errors/_components/ccap-errors/errors.component.ts", "src/app/_modules/system/_modules/errors/_components/ccap-errors/errors.component.html", "src/app/_modules/system/_modules/errors/err.module.ts"],
|
|
4
|
+
"sourcesContent": ["import { Component, OnInit, OnDestroy, inject, signal, computed } from '@angular/core';\n\nimport { second } from '@futdevpro/fsm-dynamo';\n\nimport { ObjectTypeGuards_Util } from '../../../../../../_collections/utils/object-type-guards.util';\nimport { CCAP_ErrorContextDetailEntry_Interface } from '../../../../../../_models/interfaces/feedback-errors/ccap-error-context-detail-entry.interface';\nimport { CCAP_ErrorListItem_Response } from '../../../../../../_models/interfaces/feedback-errors/ccap-error-list-item.interface';\nimport { Errors_DataService } from '../../_services/errors.data-service';\n\n/**\n * Hibák oldal: lista (message, source, CCAP/session/run, occurrenceCount, lastOccurrenceAt), route/URL;\n * kontextus részletek és stack kinyitható; Clear all, soronkénti Clear, Másolás.\n */\n@Component({\n selector: 'app-ccap-errors',\n templateUrl: './errors.component.html',\n})\n/** Errors_Component class. */\nexport class Errors_Component implements OnInit, OnDestroy {\n\n readonly errors_DS: Errors_DataService = inject(Errors_DataService);\n\n /** Tick signal — 10 másodpercenként frissül a relatív idő kijelzéshez. */\n private readonly refreshTick_$ = signal<number>(0);\n private refreshTickInterval: ReturnType<typeof setInterval> | null = null;\n\n /** Utolsó frissítés óta eltelt idő szövegesen (pl. \"most\", \"2 perce\"). */\n readonly lastRefreshedAgo_$ = computed((): string => {\n void this.refreshTick_$();\n const lastDate: Date | null = this.errors_DS.lastRefreshedAt_$();\n if (!lastDate) {\n return '';\n }\n const diffMs: number = Date.now() - lastDate.getTime();\n const seconds: number = Math.floor(diffMs / 1000);\n const minutes: number = Math.floor(seconds / 60);\n const hours: number = Math.floor(minutes / 60);\n\n if (seconds < 10) {\n return 'most';\n }\n if (seconds < 60) {\n return `${seconds} mp`;\n }\n if (minutes < 60) {\n return `${minutes} perce`;\n }\n return `${hours} órája`;\n });\n\n /** PM / user megjelölés POST folyamatban erre az `_id`-re (üres = nincs). */\n readonly pmUserMarkBusyErrorId_$ = signal<string>('');\n\n /**\n * Cycle 780 (REQ-SYS-EH-FIX-ANNOTATION-001) — szűrt lista a default\n * `hideStaleBuild_$` toggle figyelembevételével. Default: STALE-BUILD elrejtve.\n */\n readonly visibleErrors_$ = computed<CCAP_ErrorListItem_Response[]>((): CCAP_ErrorListItem_Response[] => {\n const all: CCAP_ErrorListItem_Response[] = this.errors_DS.errors_$();\n if (!this.errors_DS.hideStaleBuild_$()) {\n return all;\n }\n return all.filter((e: CCAP_ErrorListItem_Response): boolean =>\n e.fixAnnotation?.classification !== 'STALE-BUILD',\n );\n });\n\n /** A teljes és szűrt lista méretét egyben mutató szöveg (pl. „24 / 38\"). */\n readonly visibleVsTotalLabel_$ = computed<string>((): string => {\n const total: number = this.errors_DS.errors_$().length;\n const visible: number = this.visibleErrors_$().length;\n if (visible === total) {\n return `${total}`;\n }\n return `${visible} / ${total}`;\n });\n\n /** Soronként kinyitott stack (_id → true). */\n readonly expandedId_$ = signal<Record<string, boolean>>({});\n\n /** Soronként kinyitott surroundingState extra részlet (_id → true). */\n readonly contextExpandedId_$ = signal<Record<string, boolean>>({});\n\n /** Hiba id → route / URL sor (template; CCAP/session/run külön a HTML-ben). */\n readonly errorContextLineMap_$ = computed<Record<string, string>>(() => {\n const errs: CCAP_ErrorListItem_Response[] = this.errors_DS.errors_$();\n const m: Record<string, string> = {};\n for (const err of errs) {\n const id: string = err._id ?? '';\n m[id] = Errors_Component.buildRouteUrlLine(err.surroundingState);\n }\n return m;\n });\n\n /** Hiba id → surroundingState extra (userMessage, baseline, userAgent, additionalContext, stb.) a blokkba. */\n readonly contextDetailTextMap_$ = computed<Record<string, string>>(() => {\n const errs: CCAP_ErrorListItem_Response[] = this.errors_DS.errors_$();\n const m: Record<string, string> = {};\n for (const err of errs) {\n const id: string = err._id ?? '';\n m[id] = Errors_Component.buildSurroundingStateExtraDetail(err.surroundingState);\n }\n return m;\n });\n\n /** Hiba id → strukturált kontextus bejegyzések a formázott megjelenítéshez. */\n readonly contextDetailEntries_$ = computed<Partial<Record<string, CCAP_ErrorContextDetailEntry_Interface[]>>>(() => {\n const errs: CCAP_ErrorListItem_Response[] = this.errors_DS.errors_$();\n const m: Partial<Record<string, CCAP_ErrorContextDetailEntry_Interface[]>> = {};\n for (const err of errs) {\n const id: string = err._id ?? '';\n m[id] = Errors_Component.buildContextDetailEntries(err.surroundingState);\n }\n return m;\n });\n\n ngOnInit(): void {\n void this.errors_DS.loadErrors();\n this.refreshTickInterval = setInterval((): void => {\n this.refreshTick_$.update((v: number): number => v + 1);\n }, 10 * second);\n }\n\n ngOnDestroy(): void {\n if (this.refreshTickInterval) {\n clearInterval(this.refreshTickInterval);\n }\n }\n\n /** Lista újratöltése. */\n refresh(): void {\n void this.errors_DS.loadErrors();\n }\n\n /** Összes hiba törlése. */\n clearAll(): void {\n void this.errors_DS.clearAll();\n }\n\n /** Egy hiba törlése. */\n clearOne(id: string): void {\n void this.errors_DS.clearOne(id);\n }\n\n /**\n * PM / user manuális megjelölés vagy törlése.\n */\n handlePmUserMark(err: CCAP_ErrorListItem_Response, marked: boolean): void {\n const id: string = err._id ?? '';\n if (!id.length || this.pmUserMarkBusyErrorId_$() === id) {\n return;\n }\n this.pmUserMarkBusyErrorId_$.set(id);\n void this.errors_DS.setPmUserMark(id, marked).finally((): void => {\n this.pmUserMarkBusyErrorId_$.set('');\n });\n }\n\n /** Stack kinyitva van-e az adott id-hez (tesztekhez; template expandedId_$()[id]-t használ). */\n isExpanded(id: string): boolean {\n return this.expandedId_$()[id] === true;\n }\n\n /** Hiba azonosító (tesztekhez; template err._id-t használ). */\n getErrorId(err: CCAP_ErrorListItem_Response): string {\n return err._id ?? '';\n }\n\n /**\n * Route / URL a surroundingState-ből (meta sor; azonosítók külön a template-ben).\n */\n private static buildRouteUrlLine(\n state: Record<string, unknown> | undefined,\n ): string {\n if (!state || typeof state !== 'object') {\n return '';\n }\n const route: unknown = state.route;\n const url: unknown = state.url;\n const routeStr: string =\n typeof route === 'string' && route.trim().length > 0 ? route.trim() : '';\n const urlStr: string =\n typeof url === 'string' && url.trim().length > 0 ? url.trim() : '';\n if (routeStr && urlStr) {\n return `Route: ${routeStr} · URL: ${urlStr}`;\n }\n if (routeStr) {\n return `Route: ${routeStr}`;\n }\n if (urlStr) {\n return `URL: ${urlStr}`;\n }\n return '';\n }\n\n /**\n * Másolás / getErrorContextLine: azonosítók + route/URL egy blokkban.\n */\n private static buildContextLine(err: CCAP_ErrorListItem_Response): string {\n const parts: string[] = [];\n if (err.ccapId?.trim()) {\n parts.push(`CCAP: ${err.ccapId.trim()}`);\n }\n if (err.sessionId?.trim()) {\n parts.push(`Session: ${err.sessionId.trim()}`);\n }\n if (err.runId?.trim()) {\n parts.push(`Run: ${err.runId.trim()}`);\n }\n const routeUrl: string = Errors_Component.buildRouteUrlLine(err.surroundingState);\n if (routeUrl.length > 0) {\n parts.push(routeUrl);\n }\n return parts.join(' · ');\n }\n\n /**\n * SurroundingState-ből több sor: userMessage, session/run (ha csak itt vannak), szerver baseline, kliens mezők, additionalContext.\n */\n private static buildSurroundingStateExtraDetail(\n state: Record<string, unknown> | undefined,\n ): string {\n const flat: Record<string, unknown> =\n Errors_Component.flattenSurroundingStateForDisplay(state);\n if (Object.keys(flat).length === 0) {\n return '';\n }\n const lines: string[] = [];\n const pushStringLine = (label: string, value: unknown): void => {\n if (typeof value === 'string' && value.trim().length > 0) {\n lines.push(`${label}: ${value.trim()}`);\n }\n };\n pushStringLine('userMessage', flat.userMessage);\n pushStringLine('sessionId (surroundingState)', flat.sessionId);\n pushStringLine('runId (surroundingState)', flat.runId);\n pushStringLine('nodeVersion', flat.nodeVersion);\n pushStringLine('platform', flat.platform);\n pushStringLine('timestamp', flat.timestamp);\n pushStringLine('userAgent', flat.userAgent);\n const additionalContext: unknown = flat.additionalContext;\n if (ObjectTypeGuards_Util.isRecord(additionalContext)) {\n try {\n const json: string = JSON.stringify(additionalContext, null, 2);\n lines.push(`additionalContext:\\n${json}`);\n } catch {\n lines.push('additionalContext: [not serializable]');\n }\n }\n const printedKeys: Set<string> = new Set<string>([\n 'userMessage',\n 'sessionId',\n 'runId',\n 'nodeVersion',\n 'platform',\n 'timestamp',\n 'userAgent',\n 'additionalContext',\n 'route',\n 'url',\n ]);\n const restKeys: string[] = Object.keys(flat).filter(\n (k: string): boolean => !printedKeys.has(k),\n );\n restKeys.sort();\n for (const key of restKeys) {\n const v: unknown = flat[key];\n if (v === undefined || v === null) {\n continue;\n }\n if (typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean') {\n lines.push(`${key}: ${String(v)}`);\n continue;\n }\n try {\n lines.push(`${key}:\\n${JSON.stringify(v, null, 2)}`);\n } catch {\n lines.push(`${key}: [not serializable]`);\n }\n }\n return lines.join('\\n');\n }\n\n /**\n * Strukturált kontextus bejegyzéseket épít a surroundingState-ből a formázott megjelenítéshez.\n */\n private static buildContextDetailEntries(\n state: Record<string, unknown> | undefined,\n ): CCAP_ErrorContextDetailEntry_Interface[] {\n const flat: Record<string, unknown> =\n Errors_Component.flattenSurroundingStateForDisplay(state);\n if (Object.keys(flat).length === 0) {\n return [];\n }\n const entries: CCAP_ErrorContextDetailEntry_Interface[] = [];\n\n /** Egyszerű string mezőt bejegyzéssé alakít, ha nem üres. */\n const pushIfString = (label: string, value: unknown): void => {\n if (typeof value === 'string' && value.trim().length > 0) {\n entries.push({ label: label, value: value.trim(), isMultiline: false });\n }\n };\n\n pushIfString('sessionId (surroundingState)', flat.sessionId);\n pushIfString('runId (surroundingState)', flat.runId);\n pushIfString('nodeVersion', flat.nodeVersion);\n pushIfString('platform', flat.platform);\n pushIfString('timestamp', flat.timestamp);\n pushIfString('userMessage', flat.userMessage);\n pushIfString('userAgent', flat.userAgent);\n\n // additionalContext — rekurzívan stringified JSON mezőket is kifejtjük\n const additionalContext: unknown = flat.additionalContext;\n if (ObjectTypeGuards_Util.isRecord(additionalContext)) {\n const formatted: string = Errors_Component.formatObjectDeep(additionalContext);\n entries.push({ label: 'additionalContext', value: formatted, isMultiline: true });\n }\n\n // Maradék mezők (route, url, stb. kihagyva, mert a meta sorban jelennek meg)\n const printedKeys: Set<string> = new Set<string>([\n 'userMessage', 'sessionId', 'runId', 'nodeVersion', 'platform',\n 'timestamp', 'userAgent', 'additionalContext', 'route', 'url',\n ]);\n const restKeys: string[] = Object.keys(flat).filter(\n (k: string): boolean => !printedKeys.has(k),\n );\n restKeys.sort();\n for (const key of restKeys) {\n const v: unknown = flat[key];\n if (v === undefined || v === null) {\n continue;\n }\n if (typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean') {\n entries.push({ label: key, value: String(v), isMultiline: false });\n continue;\n }\n try {\n const json: string = JSON.stringify(v, null, 2);\n entries.push({ label: key, value: json, isMultiline: true });\n } catch {\n entries.push({ label: key, value: '[not serializable]', isMultiline: false });\n }\n }\n return entries;\n }\n\n /**\n * JSON objektumot formáz megjelenítéshez — stringified JSON értékeket is kifejtve.\n */\n private static formatObjectDeep(obj: Record<string, unknown>): string {\n const parsed: Record<string, unknown> = {};\n for (const key of Object.keys(obj)) {\n parsed[key] = Errors_Component.tryParseJsonString(obj[key]);\n }\n return JSON.stringify(parsed, null, 2);\n }\n\n /**\n * Ha az érték stringified JSON, parse-olja; egyébként visszaadja az eredetit.\n */\n private static tryParseJsonString(value: unknown): unknown {\n if (typeof value !== 'string') {\n return value;\n }\n const trimmed: string = value.trim();\n if (\n (trimmed.startsWith('{') && trimmed.endsWith('}')) ||\n (trimmed.startsWith('[') && trimmed.endsWith(']'))\n ) {\n try {\n return JSON.parse(trimmed);\n } catch {\n return value;\n }\n }\n return value;\n }\n\n /**\n * Egyszintű surroundingState a megjelenítéshez: beágyazott surroundingState egy szintre lapítása.\n */\n private static flattenSurroundingStateForDisplay(\n state: Record<string, unknown> | undefined,\n ): Record<string, unknown> {\n if (!state || typeof state !== 'object') {\n return {};\n }\n const nested: unknown = state.surroundingState;\n if (ObjectTypeGuards_Util.isRecord(nested)) {\n const { surroundingState: _drop, ...outerRest } = state;\n return {\n ...outerRest,\n ...nested,\n };\n }\n return { ...state };\n }\n\n /** Stack toggle. */\n toggleExpanded(id: string): void {\n this.expandedId_$.update((prev: Record<string, boolean>) => ({\n ...prev,\n [id]: !prev[id],\n }));\n }\n\n /**\n * SurroundingState extra részlet (userAgent, timestamp, additionalContext) kinyitása / bezárása.\n */\n toggleContextExpanded(id: string): void {\n this.contextExpandedId_$.update((prev: Record<string, boolean>) => ({\n ...prev,\n [id]: !prev[id],\n }));\n }\n\n /**\n * Van-e kinyitható kontextus részlet (userMessage, baseline, userAgent, additionalContext, egyéb) a map alapján.\n */\n hasContextDetailText(id: string | undefined): boolean {\n if (!id) {\n return false;\n }\n const entries: CCAP_ErrorContextDetailEntry_Interface[] | undefined = this.contextDetailEntries_$()[id];\n if (entries?.length) {\n return true;\n }\n return this.contextDetailTextMap_$()[id]?.trim().length > 0;\n }\n\n /**\n * Egy hiba teljes tartalmának szöveges összeállítása másoláshoz (message, source, stack, stb.).\n * Az s-copy-button komponens kezeli a vágólapra másolást és a visszajelzést.\n */\n getErrorCopyText(err: CCAP_ErrorListItem_Response): string {\n const parts: string[] = [];\n if (err.message?.trim()) {\n parts.push(err.message.trim());\n }\n const meta: string[] = [];\n if (err.source?.trim()) {\n meta.push(`Forrás: ${err.source.trim()}`);\n }\n if (err.occurrenceCount != null && err.occurrenceCount > 1) {\n meta.push(`Előfordulások: ${err.occurrenceCount}`);\n }\n const raw: string | undefined = err.lastOccurrenceAt ?? err.timestamp;\n const dateStr: string =\n !raw ? '–' : ((): string => {\n try {\n return new Date(raw).toLocaleString(undefined, { dateStyle: 'short', timeStyle: 'short' });\n } catch {\n return raw;\n }\n })();\n if (dateStr !== '–') {\n meta.push(`Utolsó: ${dateStr}`);\n }\n if (meta.length > 0) {\n parts.push(meta.join(' · '));\n }\n const contextSummary: string = Errors_Component.buildContextLine(err);\n if (contextSummary.trim().length > 0) {\n parts.push('');\n parts.push(contextSummary);\n }\n const contextExtra: string = Errors_Component.buildSurroundingStateExtraDetail(\n err.surroundingState,\n );\n if (contextExtra.trim().length > 0) {\n parts.push('');\n parts.push('Kontextus részletek:');\n parts.push(contextExtra.trim());\n }\n if (err.stack?.trim()) {\n parts.push('');\n parts.push('Stack:');\n parts.push(err.stack.trim());\n }\n return parts.join('\\n');\n }\n\n /** Kontextus sor (tesztekhez; template errorContextLineMap_$-t használ). */\n getErrorContextLine(err: CCAP_ErrorListItem_Response): string {\n return Errors_Component.buildContextLine(err);\n }\n}\n", "<div class=\"max-w-4xl mx-auto p-3 gt-xs:p-6 text-neutral-100\">\n <h1 class=\"text-xl gt-xs:text-2xl font-bold mb-4 gt-xs:mb-6\">Hibák</h1>\n <p class=\"text-neutral-400 text-sm gt-xs:text-base mb-4 gt-xs:mb-6\">\n A rendszerben rögzített hibák listája (szerver és kliens). Sorrend: legfelül a legfrissebb utolsó előfordulás\n (<code class=\"bg-neutral-800 px-1 rounded\">lastOccurrenceAt</code> / első rögzítés ideje). Azonos hiba többszöri\n előfordulása egy sorban jelenik meg (előfordulások száma). Törölheted egyenként vagy mindegyiket egyszerre.\n </p>\n\n <div class=\"flex flex-wrap gap-1.5 gt-xs:gap-2 items-center mb-3 gt-xs:mb-4\">\n <button type=\"button\"\n (click)=\"refresh()\"\n [disabled]=\"errors_DS.errorsLoading_$()\"\n class=\"px-3 py-1.5 gt-xs:px-4 gt-xs:py-2 text-sm gt-xs:text-base border border-neonCyan rounded\n text-neutral-300 hover:bg-neutral-700 disabled:opacity-50 transition-colors\">\n {{ errors_DS.errorsLoading_$() ? 'Betöltés…' : 'Frissítés' }}\n </button>\n @if (lastRefreshedAgo_$()) {\n <span class=\"text-neutral-500 text-xs gt-xs:text-sm\">\n {{ lastRefreshedAgo_$() }}\n </span>\n }\n <button type=\"button\"\n (click)=\"clearAll()\"\n [disabled]=\"errors_DS.errorsLoading_$() || errors_DS.errors_$().length === 0\"\n class=\"px-3 py-1.5 gt-xs:px-4 gt-xs:py-2 text-sm gt-xs:text-base bg-red-900/60 border border-red-500/70\n rounded text-red-200 hover:bg-red-900/80 disabled:opacity-50 transition-colors\">\n Összes törlése\n </button>\n <!-- Cycle 780 (REQ-SYS-EH-FIX-ANNOTATION-001): STALE-BUILD szűrő toggle. -->\n <button type=\"button\"\n (click)=\"errors_DS.hideStaleBuild_$.set(!errors_DS.hideStaleBuild_$())\"\n class=\"ml-auto px-3 py-1.5 gt-xs:px-4 gt-xs:py-2 text-sm gt-xs:text-base border rounded\n transition-colors\"\n [class.bg-emerald-900]=\"errors_DS.hideStaleBuild_$()\"\n [class.border-emerald-500]=\"errors_DS.hideStaleBuild_$()\"\n [class.text-emerald-200]=\"errors_DS.hideStaleBuild_$()\"\n [class.border-neutral-600]=\"!errors_DS.hideStaleBuild_$()\"\n [class.text-neutral-300]=\"!errors_DS.hideStaleBuild_$()\"\n title=\"Régebbi server-build-ekből származó, már fixelt errorok elrejtése (cycle 780 fix-annotation registry)\">\n {{ errors_DS.hideStaleBuild_$() ? '✓ STALE elrejtve' : 'STALE mutatása' }}\n ({{ visibleVsTotalLabel_$() }})\n </button>\n </div>\n\n @if (errors_DS.errorsLoadError_$()) {\n <div class=\"mb-4\">\n <p class=\"text-neutral-300 mb-3\">A lista nem tölthető be.</p>\n <app-ccap-error-display\n [error]=\"errors_DS.errorsLoadErrorRaw_$() ?? errors_DS.errorsLoadError_$()\" />\n </div>\n }\n\n @if (errors_DS.errorsLoading_$() && errors_DS.errors_$().length === 0) {\n <p class=\"text-neutral-400\">Betöltés…</p>\n } @else if (errors_DS.errors_$().length === 0 && !errors_DS.errorsLoadError_$()) {\n <p class=\"text-neutral-500\">Nincs rögzített hiba.</p>\n } @else if (visibleErrors_$().length === 0 && errors_DS.hideStaleBuild_$()) {\n <p class=\"text-neutral-500\">\n Csak STALE-BUILD bejegyzések vannak (régebbi server-build-ekből, már fixelt). Kapcsold ki a szűrőt\n a megjelenítéshez vagy használd az\n <code class=\"bg-neutral-800 px-1 rounded\">errors-cleanup-stale.sh</code>-t a takarításhoz.\n </p>\n } @else if (errors_DS.errors_$().length > 0) {\n <div class=\"space-y-2 gt-xs:space-y-3\">\n @for (err of visibleErrors_$(); track err._id) {\n <div class=\"p-2.5 gt-xs:p-4 bg-neutral-800/50 border border-neonDefault rounded-lg\">\n <!-- xs: műveletek felül; gt-xs: jobb oszlop. Üzenet + meta alatta / balon. -->\n <div class=\"min-w-0 flex flex-col gap-2 gt-xs:flex-row gt-xs:items-start gt-xs:justify-between gt-xs:gap-2\">\n <div class=\"flex items-center gap-1.5 gt-xs:gap-2 flex-wrap justify-end gt-xs:justify-end order-1\n gt-xs:order-2 shrink-0 w-full gt-xs:w-auto\">\n <app-s-copy-button [content]=\"getErrorCopyText(err)\" />\n @if (err.pmUserMarkedAt?.trim()) {\n <button type=\"button\"\n (click)=\"handlePmUserMark(err, false)\"\n [disabled]=\"!err._id || pmUserMarkBusyErrorId_$() === err._id\"\n class=\"px-2 py-1 gt-xs:px-3 gt-xs:py-1.5 text-amber-300 hover:bg-amber-900/25 rounded\n border border-amber-600/50 text-xs gt-xs:text-sm disabled:opacity-50\n transition-colors shrink-0\">\n Jelölés törlése\n </button>\n } @else {\n <button type=\"button\"\n (click)=\"handlePmUserMark(err, true)\"\n [disabled]=\"!err._id || pmUserMarkBusyErrorId_$() === err._id\"\n class=\"px-2 py-1 gt-xs:px-3 gt-xs:py-1.5 text-neutral-300 hover:bg-neutral-700/50 rounded\n border border-neutral-600 text-xs gt-xs:text-sm disabled:opacity-50\n transition-colors shrink-0\">\n Megjelölés\n </button>\n }\n <button type=\"button\"\n (click)=\"clearOne(err._id ?? '')\"\n [disabled]=\"!err._id\"\n class=\"px-2 py-1 gt-xs:px-3 gt-xs:py-1.5 text-red-400 hover:bg-red-900/30 rounded\n text-xs gt-xs:text-sm disabled:opacity-50 transition-colors shrink-0\">\n Törlés\n </button>\n </div>\n <div class=\"min-w-0 flex-1 order-2 gt-xs:order-1 w-full gt-xs:w-auto\">\n <!-- Cycle 780 fix-annotation badge: a message FÖLÖTT, hogy jól látsszon. -->\n @if (err.fixAnnotation && err.fixAnnotation.classification !== 'UNFIXED') {\n <div class=\"mb-1 gt-xs:mb-1.5 flex flex-wrap items-center gap-1.5\">\n @if (err.fixAnnotation.classification === 'STALE-BUILD') {\n <span class=\"px-1.5 py-0.5 text-[10px] gt-xs:text-xs font-mono uppercase tracking-wider\n bg-emerald-900/60 border border-emerald-600 rounded text-emerald-200\"\n title=\"Régebbi server-build, már fixelt — biztonságosan mark-done-olható.\">\n STALE\n </span>\n } @else if (err.fixAnnotation.classification === 'REGRESSION') {\n <span class=\"px-1.5 py-0.5 text-[10px] gt-xs:text-xs font-mono uppercase tracking-wider\n bg-red-900/60 border border-red-600 rounded text-red-200\"\n title=\"A fix után újra előfordult — valódi regresszió, vissza implementre.\">\n REGRESSION\n </span>\n }\n <span class=\"text-[11px] gt-xs:text-xs text-neutral-400 font-mono\">\n Fixed in {{ err.fixAnnotation.fixedInVersion }} (cycle {{ err.fixAnnotation.fixedInCycle }})\n </span>\n @if (err.fixAnnotation.summary) {\n <span class=\"text-[11px] gt-xs:text-xs text-neutral-500 italic break-words\">\n — {{ err.fixAnnotation.summary }}\n </span>\n }\n </div>\n }\n <p class=\"font-medium text-neutral-200 text-sm gt-xs:text-base break-words\">{{\n err.message ?? '–' }}</p>\n <p class=\"text-neutral-500 text-[11px] gt-xs:text-sm mt-1.5 gt-xs:mt-1 flex flex-wrap gap-x-2 gap-y-1\">\n @if (err.pmUserMarkedAt?.trim()) {\n <span class=\"break-words text-amber-400/90 font-medium\">Megjelölve (PM)</span>\n }\n <span class=\"break-words\">Forrás: {{ err.source ?? '–' }}</span>\n @if (err.occurrenceCount != null && err.occurrenceCount > 1) {\n <span class=\"break-words\">· Előfordulások: {{ err.occurrenceCount }}</span>\n }\n <span class=\"break-words\">· Utolsó: {{ (err.lastOccurrenceAt ?? err.timestamp) ?\n ((err.lastOccurrenceAt ?? err.timestamp) | date:'short') : '–' }}</span>\n @if (err.ccapId?.trim()) {\n <span class=\"break-words\">· CCAP: {{ err.ccapId }}</span>\n }\n @if (err.sessionId?.trim()) {\n <span class=\"break-words\">· Session: {{ err.sessionId }}</span>\n }\n @if (err.runId?.trim()) {\n <span class=\"break-words\">· Run: {{ err.runId }}</span>\n }\n @if (errorContextLineMap_$()[err._id ?? '']) {\n <span class=\"break-words\">· {{ errorContextLineMap_$()[err._id ?? ''] }}</span>\n }\n </p>\n </div>\n </div>\n @if (hasContextDetailText(err._id)) {\n <div class=\"mt-1.5 gt-xs:mt-2\">\n <button type=\"button\"\n (click)=\"toggleContextExpanded(err._id ?? '')\"\n class=\"text-neutral-400 hover:text-neutral-200 text-xs gt-xs:text-sm flex items-center gap-1\">\n <svg class=\"w-3 h-3 shrink-0 transition-transform duration-150\"\n [class.-rotate-90]=\"!contextExpandedId_$()[err._id ?? '']\"\n viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <polyline points=\"6 9 12 15 18 9\"></polyline>\n </svg>\n {{ contextExpandedId_$()[err._id ?? ''] ? 'Kontextus részletek elrejtése' : 'Kontextus részletek' }}\n </button>\n @if (contextExpandedId_$()[err._id ?? '']) {\n <div class=\"mt-1.5 p-2 gt-xs:p-3 bg-neutral-900 rounded max-h-[70vh] overflow-y-auto\n space-y-1.5 gt-xs:space-y-2\">\n @for (entry of contextDetailEntries_$()[err._id ?? ''] ?? []; track entry.label) {\n <div class=\"text-xs\">\n @if (entry.isMultiline) {\n <div class=\"text-neutral-500 font-medium mb-0.5\">{{ entry.label }}</div>\n <pre class=\"p-1.5 gt-xs:p-2 bg-neutral-950/60 rounded text-neutral-300 font-mono\n whitespace-pre-wrap break-words overflow-x-auto\">{{ entry.value }}</pre>\n } @else {\n <div class=\"flex flex-wrap gap-x-1.5\">\n <span class=\"text-neutral-500 font-medium shrink-0\">{{ entry.label }}:</span>\n <span class=\"text-neutral-300 break-all font-mono\">{{ entry.value }}</span>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n @if (err.stack?.trim()) {\n <div class=\"mt-1.5 gt-xs:mt-2\">\n <button type=\"button\"\n (click)=\"toggleExpanded(err._id ?? '')\"\n class=\"text-neutral-400 hover:text-neutral-200 text-xs gt-xs:text-sm flex items-center gap-1\">\n <svg class=\"w-3 h-3 shrink-0 transition-transform duration-150\"\n [class.-rotate-90]=\"!expandedId_$()[err._id ?? '']\"\n viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <polyline points=\"6 9 12 15 18 9\"></polyline>\n </svg>\n {{ expandedId_$()[err._id ?? ''] ? 'Stack elrejtése' : 'Stack megjelenítése' }}\n </button>\n @if (expandedId_$()[err._id ?? '']) {\n <pre class=\"mt-1 p-1.5 gt-xs:p-2 bg-neutral-900 rounded text-xs text-neutral-300 font-mono\n whitespace-pre-wrap break-words overflow-x-auto max-h-[70vh] overflow-y-auto\">{{\n err.stack }}</pre>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n\n <div class=\"pt-4 gt-xs:pt-6\">\n <a routerLink=\"/\"\n class=\"inline-flex px-3 py-1.5 gt-xs:px-4 gt-xs:py-2 text-sm gt-xs:text-base border border-neonCyan rounded\n text-neutral-300 hover:bg-neutral-700\">\n Vissza\n </a>\n </div>\n</div>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { CCAP_ErrorDisplay_Component } from '../../../../_components/ccap-error-display/ccap-error-display.component';\nimport { S_CopyButton_Component } from '../../../shared/_components/s-copy-button/s-copy-button.component';\nimport { Errors_Component } from './_components/ccap-errors/errors.component';\n\n/** Errors modul route: errors path → hibák listája. */\nconst errorsRoutes: Routes = [\n { path: '', pathMatch: 'full', component: Errors_Component },\n];\n\n/**\n * Errors (Hibák) modul.\n * Rögzített hibák listázása, törlése (egyenként vagy mind).\n */\n@NgModule({\n declarations: [Errors_Component],\n imports: [\n CommonModule,\n RouterModule.forChild(errorsRoutes),\n CCAP_ErrorDisplay_Component,\n S_CopyButton_Component,\n ],\n})\n/** Errors_Module class. */\nexport class Errors_Module {}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_fsm_dynamo", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "ctx_r0", "lastRefreshedAgo_$", "\u0275\u0275element", "\u0275\u0275property", "tmp_1_0", "errors_DS", "errorsLoadErrorRaw_$", "undefined", "errorsLoadError_$", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r3", "err_r4", "\u0275\u0275nextContext", "$implicit", "\u0275\u0275resetView", "handlePmUserMark", "_id", "pmUserMarkBusyErrorId_$", "_r5", "fixAnnotation", "summary", "\u0275\u0275template", "Errors_Component_Conditional_20_For_2_Conditional_9_Conditional_1_Template", "Errors_Component_Conditional_20_For_2_Conditional_9_Conditional_2_Template", "Errors_Component_Conditional_20_For_2_Conditional_9_Conditional_5_Template", "\u0275\u0275conditional", "classification", "\u0275\u0275textInterpolate2", "fixedInVersion", "fixedInCycle", "occurrenceCount", "ccapId", "sessionId", "runId", "errorContextLineMap_$", "tmp_12_0", "\u0275\u0275textInterpolate", "entry_r7", "label", "value", "Errors_Component_Conditional_20_For_2_Conditional_24_Conditional_5_For_2_Conditional_1_Template", "Errors_Component_Conditional_20_For_2_Conditional_24_Conditional_5_For_2_Conditional_2_Template", "isMultiline", "\u0275\u0275repeaterCreate", "Errors_Component_Conditional_20_For_2_Conditional_24_Conditional_5_For_2_Template", "_forTrack1", "\u0275\u0275repeater", "tmp_13_0", "contextDetailEntries_$", "\u0275\u0275pureFunction0", "_c0", "_r6", "toggleContextExpanded", "Errors_Component_Conditional_20_For_2_Conditional_24_Conditional_5_Template", "\u0275\u0275classProp", "contextExpandedId_$", "tmp_14_0", "stack", "_r8", "toggleExpanded", "Errors_Component_Conditional_20_For_2_Conditional_25_Conditional_5_Template", "expandedId_$", "Errors_Component_Conditional_20_For_2_Conditional_4_Template", "Errors_Component_Conditional_20_For_2_Conditional_5_Template", "_r2", "clearOne", "Errors_Component_Conditional_20_For_2_Conditional_9_Template", "Errors_Component_Conditional_20_For_2_Conditional_13_Template", "Errors_Component_Conditional_20_For_2_Conditional_16_Template", "Errors_Component_Conditional_20_For_2_Conditional_20_Template", "Errors_Component_Conditional_20_For_2_Conditional_21_Template", "Errors_Component_Conditional_20_For_2_Conditional_22_Template", "Errors_Component_Conditional_20_For_2_Conditional_23_Template", "Errors_Component_Conditional_20_For_2_Conditional_24_Template", "Errors_Component_Conditional_20_For_2_Conditional_25_Template", "getErrorCopyText", "pmUserMarkedAt", "trim", "tmp_15_0", "message", "tmp_17_0", "source", "tmp_19_0", "lastOccurrenceAt", "timestamp", "\u0275\u0275pipeBind2", "tmp_23_0", "hasContextDetailText", "Errors_Component_Conditional_20_For_2_Template", "_forTrack0", "visibleErrors_$", "Errors_Component", "inject", "Errors_DataService", "refreshTick_$", "signal", "refreshTickInterval", "computed", "lastDate", "lastRefreshedAt_$", "diffMs", "Date", "now", "getTime", "seconds", "Math", "floor", "minutes", "hours", "all", "errors_$", "hideStaleBuild_$", "filter", "e", "visibleVsTotalLabel_$", "total", "length", "visible", "errs", "m", "err", "id", "buildRouteUrlLine", "surroundingState", "contextDetailTextMap_$", "buildSurroundingStateExtraDetail", "buildContextDetailEntries", "ngOnInit", "loadErrors", "setInterval", "update", "v", "second", "ngOnDestroy", "clearInterval", "refresh", "clearAll", "marked", "set", "setPmUserMark", "finally", "isExpanded", "getErrorId", "state", "route", "url", "routeStr", "urlStr", "buildContextLine", "parts", "push", "routeUrl", "join", "flat", "flattenSurroundingStateForDisplay", "Object", "keys", "lines", "pushStringLine", "userMessage", "nodeVersion", "platform", "userAgent", "additionalContext", "ObjectTypeGuards_Util", "isRecord", "json", "JSON", "stringify", "printedKeys", "Set", "restKeys", "k", "has", "sort", "key", "String", "entries", "pushIfString", "formatted", "formatObjectDeep", "obj", "parsed", "tryParseJsonString", "trimmed", "startsWith", "endsWith", "parse", "nested", "_drop", "outerRest", "__spreadValues", "prev", "__spreadProps", "meta", "raw", "dateStr", "toLocaleString", "dateStyle", "timeStyle", "contextSummary", "contextExtra", "getErrorContextLine", "selectors", "decls", "vars", "consts", "template", "rf", "ctx", "Errors_Component_Conditional_11_Template", "Errors_Component_Conditional_16_Template", "Errors_Component_Conditional_17_Template", "Errors_Component_Conditional_18_Template", "Errors_Component_Conditional_19_Template", "Errors_Component_Conditional_20_Template", "errorsLoading_$", "errorsRoutes", "path", "pathMatch", "component", "Errors_Component", "Errors_Module", "CommonModule", "RouterModule", "forChild", "CCAP_ErrorDisplay_Component", "S_CopyButton_Component"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as z}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=feedback.module-
|
|
1
|
+
import{a as z}from"./chunk-7JH5FCNU.js";import{a as x}from"./chunk-WPHEQXWB.js";import{k}from"./chunk-WRXGGQII.js";import"./chunk-5UPNU54P.js";import"./chunk-7EQ4ZXQN.js";import"./chunk-GCECKZJT.js";import{$a as w,C as v,D as y,E as g,Fa as r,Ga as F,Ha as _,Hb as B,J as E,K as D,Kb as P,Z as i,bb as L,da as b,ga as m,ia as f,ja as T,la as u,oa as h,pa as $,pb as M,qa as o,ra as a,sa as C,ua as I,ub as A,va as s,wa as p,z as S}from"./chunk-TBMJSIBB.js";var V=(e,d)=>d._id;function N(e,d){if(e&1&&C(0,"app-ccap-error-display",8),e&2){let n=p();m("error",n.feedback_DS.feedbackLoadError_$())}}function R(e,d){e&1&&(o(0,"p",9),r(1,"Bet\xF6lt\xE9s\u2026"),a())}function Y(e,d){e&1&&(o(0,"p",10),r(1,"Nincs r\xF6gz\xEDtett feedback."),a())}function K(e,d){if(e&1&&(o(0,"p",19),r(1),a()),e&2){let n=p().$implicit;i(),F(n.description)}}function G(e,d){if(e&1&&(o(0,"span"),r(1),a()),e&2){let n=p().$implicit;i(),_("Tool: ",n.toolId,"")}}function H(e,d){if(e&1&&(o(0,"span"),r(1),a()),e&2){let n=p().$implicit;T(n.toolId!=null&&n.toolId.trim()?"ml-2":""),i(),_("Session: ",n.sessionId,"")}}function J(e,d){if(e&1){let n=I();o(0,"div",14)(1,"div",15)(2,"div",16)(3,"p",17),r(4),a(),C(5,"app-s-status-badge",18),b(6,K,2,1,"p",19),o(7,"p",20),b(8,G,2,1,"span")(9,H,2,4,"span",21),o(10,"span",22),r(11),w(12,"date"),a()()(),o(13,"div",23)(14,"button",24),s("click",function(){let t,c=E(n).$implicit,j=p(2);return D(j.clearOne((t=c._id)!==null&&t!==void 0?t:""))}),r(15," T\xF6rl\xE9s "),a()()()()}if(e&2){let n,l,t=d.$implicit,c=p(2);i(4),F((n=t.title)!==null&&n!==void 0?n:"\u2013"),i(),m("value",c.TYPE_LABELS[(l=t.type)!==null&&l!==void 0?l:""])("colorMap",c.feedbackTypeColorMap),i(),u(t.description!=null&&t.description.trim()?6:-1),i(2),u(t.toolId!=null&&t.toolId.trim()?8:-1),i(),u(t.sessionId!=null&&t.sessionId.trim()?9:-1),i(2),_("\xB7 ",t.timestamp?L(12,8,t.timestamp,"short"):"\u2013",""),i(3),m("disabled",!t._id)}}function Q(e,d){if(e&1&&(o(0,"div",11),h(1,J,16,11,"div",14,V),a()),e&2){let n=p();i(),$(n.feedback_DS.feedback_$())}}var U={"bug-report":"Bug report","feature-request":"Feature request"},q=(()=>{class e{feedback_DS=v(z);ngOnInit(){this.feedback_DS.loadFeedback()}refresh(){this.feedback_DS.loadFeedback()}clearAll(){this.feedback_DS.clearAll()}clearOne(n){this.feedback_DS.clearOne(n)}setFilter(n){this.feedback_DS.setFilterType(n)}getFeedbackId(n){return n._id??""}TYPE_LABELS=U;feedbackTypeColorMap={"bug report":"bg-red-900/40 text-red-200","feature request":"bg-cyan-900/40 text-cyan-200"};static \u0275fac=function(l){return new(l||e)};static \u0275cmp=y({type:e,selectors:[["app-ccap-feedback"]],decls:25,vars:11,consts:[[1,"max-w-4xl","mx-auto","p-4","gt-xs:p-6","text-neutral-100"],[1,"text-2xl","font-bold","mb-6"],[1,"text-neutral-400","mb-6"],[1,"flex","flex-wrap","gap-2","items-center","mb-4"],["type","button",1,"px-4","py-2","border","border-neonCyan","rounded","text-neutral-300","hover:bg-neutral-700","disabled:opacity-50","transition-colors",3,"click","disabled"],["type","button",1,"px-4","py-2","bg-red-900/60","border","border-red-500/70","rounded","text-red-200","hover:bg-red-900/80","disabled:opacity-50","transition-colors",3,"click","disabled"],[1,"text-neutral-500","text-sm","ml-2"],["type","button",1,"px-3","py-1.5","border","border-neutral-600","rounded","text-neutral-300","hover:bg-neutral-700","transition-colors","text-sm",3,"click"],["sourceLabelOverride","Feedback lista",1,"mb-4","block","max-w-3xl",3,"error"],[1,"text-neutral-400"],[1,"text-neutral-500"],[1,"space-y-3"],[1,"pt-6"],["routerLink","/",1,"px-4","py-2","border","border-neonCyan","rounded","text-neutral-300","hover:bg-neutral-700"],[1,"p-4","bg-neutral-800/50","border","border-neonDefault","rounded-lg"],[1,"flex","flex-wrap","gap-2","items-start","justify-between"],[1,"min-w-0","flex-1"],[1,"font-medium","text-neutral-200","break-words"],["size","sm",3,"value","colorMap"],[1,"text-neutral-400","text-sm","mt-2","whitespace-pre-wrap","break-words"],[1,"text-neutral-500","text-sm","mt-2"],[3,"class"],[1,"ml-2"],[1,"flex","items-center","gap-2","shrink-0"],["type","button",1,"px-3","py-1.5","text-red-400","hover:bg-red-900/30","rounded","text-sm","disabled:opacity-50","transition-colors",3,"click","disabled"]],template:function(l,t){l&1&&(o(0,"div",0)(1,"h1",1),r(2,"Agent feedback"),a(),o(3,"p",2),r(4," Az agent \xE1ltal bek\xFCld\xF6tt bug report-ok \xE9s feature request-ek list\xE1ja (saj\xE1t m\u0171k\xF6d\xE9s \xE9s tool-ok kapcs\xE1n). T\xF6r\xF6lheted egyenk\xE9nt vagy mindegyiket egyszerre. "),a(),o(5,"div",3)(6,"button",4),s("click",function(){return t.refresh()}),r(7),a(),o(8,"button",5),s("click",function(){return t.clearAll()}),r(9," \xD6sszes t\xF6rl\xE9se "),a(),o(10,"span",6),r(11,"Sz\u0171r\u0151:"),a(),o(12,"button",7),s("click",function(){return t.setFilter(void 0)}),r(13," \xD6sszes "),a(),o(14,"button",7),s("click",function(){return t.setFilter("bug-report")}),r(15," Bug report "),a(),o(16,"button",7),s("click",function(){return t.setFilter("feature-request")}),r(17," Feature request "),a()(),b(18,N,1,1,"app-ccap-error-display",8)(19,R,2,0,"p",9)(20,Y,2,0,"p",10)(21,Q,3,0,"div",11),o(22,"div",12)(23,"a",13),r(24," Vissza "),a()()()),l&2&&(i(6),m("disabled",t.feedback_DS.feedbackLoading_$()),i(),_(" ",t.feedback_DS.feedbackLoading_$()?"Bet\xF6lt\xE9s\u2026":"Friss\xEDt\xE9s"," "),i(),m("disabled",t.feedback_DS.feedbackLoading_$()||t.feedback_DS.feedback_$().length===0),i(4),f("border-neonCyan",t.feedback_DS.filterType_$()===void 0),i(2),f("border-neonCyan",t.feedback_DS.filterType_$()==="bug-report"),i(2),f("border-neonCyan",t.feedback_DS.filterType_$()==="feature-request"),i(2),u(t.feedback_DS.feedbackLoadError_$()?18:-1),i(),u(t.feedback_DS.feedbackLoading_$()&&t.feedback_DS.feedback_$().length===0?19:t.feedback_DS.feedback_$().length===0?20:21))},dependencies:[B,k,x,M],encapsulation:2})}return e})();var W=[{path:"",pathMatch:"full",component:q}],se=(()=>{class e{static \u0275fac=function(l){return new(l||e)};static \u0275mod=g({type:e});static \u0275inj=S({imports:[A,P.forChild(W),k,x]})}return e})();export{se as Feedback_Module};
|
|
2
|
+
//# sourceMappingURL=feedback.module-OLFTFDJA.js.map
|
package/client-dist/{host-runtime-mcp.module-HZO3PGU5.js → host-runtime-mcp.module-656MJPGT.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as J}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=host-runtime-mcp.module-
|
|
1
|
+
import{j as J}from"./chunk-7EQ4ZXQN.js";import{I as N}from"./chunk-GCECKZJT.js";import{C as d,D as w,E as k,Fa as o,Ga as _,Ha as f,J as g,K as v,Kb as V,L as H,Z as a,a as h,aa as u,da as p,ga as I,hb as M,ia as P,k as E,la as m,oa as j,p as R,pa as F,qa as r,ra as i,sa as D,ua as S,ub as A,va as b,wa as c,xb as z,y as C,z as T}from"./chunk-TBMJSIBB.js";var O=(()=>{class t{baseUrl=`${N.api.baseUrl}/ccap-host-runtime-mcp`;http=d(z);postProbeTools(){return R(this.http.post(`${this.baseUrl}/probe-tools`,{}))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var U=(()=>{class t{hostRuntimeMcp_AS=d(O);postProbeTools(){return this.hostRuntimeMcp_AS.postProbeTools()}static \u0275fac=function(n){return new(n||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var G=(t,l)=>l.name;function L(t,l){t&1&&o(0," Bet\xF6lt\xE9s\u2026 ")}function q(t,l){t&1&&o(0," Friss\xEDt\xE9s ")}function K(t,l){t&1&&(r(0,"div",6),o(1),i()),t&2&&(a(),f(" ",l," "))}function Q(t,l){if(t&1&&(r(0,"span",11),o(1),i()),t&2){let e=c();a(),f("| toolok: ",e.toolCount,"")}}function W(t,l){t&1&&(r(0,"p",12),o(1),i()),t&2&&(a(),f(" Program: ",l.programJsPath," "))}function X(t,l){t&1&&(r(0,"p",15),o(1,"Nincs tool a v\xE1laszban."),i())}function Y(t,l){if(t&1&&(r(0,"p",9),o(1),i()),t&2){let e=c().$implicit;a(),_(e.description)}}function Z(t,l){if(t&1&&(r(0,"pre",24),o(1),i()),t&2){let e=c().$implicit,n=c(3);a(),_(n.formatSchema(e.inputSchema))}}function tt(t,l){if(t&1){let e=S();r(0,"li",18)(1,"div",19)(2,"span",20),o(3),i(),p(4,Y,2,1,"p",9),r(5,"button",21),b("click",function(){let s=g(e).$implicit,x=c(3);return v(x.toggleSchema(s.name))}),H(),r(6,"svg",22),D(7,"polyline",23),i(),o(8),i(),p(9,Z,2,1,"pre",24),i()()}if(t&2){let e=l.$implicit,n=c(3);a(3),_(e.name),a(),m(e.description?4:-1),a(2),P("-rotate-90",!n.schemaExpanded_$()[e.name]),a(2),f(" ",n.schemaExpanded_$()[e.name]?"inputSchema elrejt\xE9se":"inputSchema megjelen\xEDt\xE9se"," "),a(),m(n.schemaExpanded_$()[e.name]?9:-1)}}function et(t,l){if(t&1&&(r(0,"ul",16),j(1,tt,10,6,"li",18,G),i()),t&2){let e=c(2);a(),F(e.tools_$())}}function nt(t,l){t&1&&o(0," M\xE1solva ")}function it(t,l){t&1&&o(0," JSON m\xE1sol\xE1sa ")}function ot(t,l){if(t&1){let e=S();r(0,"section",17)(1,"div",25)(2,"h2",26),o(3,"Cursor MCP config p\xE9lda"),i(),r(4,"button",27),b("click",function(){g(e);let s=c(2);return v(s.copyCursorSnippet())}),p(5,nt,1,0)(6,it,1,0),i()(),r(7,"p",28),o(8," Illeszd a Cursor "),r(9,"code",29),o(10,"mcp.json"),i(),o(11," vagy projekt MCP be\xE1ll\xEDt\xE1s\xE1ba; a "),r(12,"code",29),o(13,"env"),i(),o(14," tartalmazza az API base URL-t. "),i(),r(15,"pre",30),o(16),i()()}if(t&2){let e=c(2);a(5),m(e.snippetCopied_$()?5:6),a(11),_(e.cursorSnippet_$())}}function rt(t,l){if(t&1&&(r(0,"section",7)(1,"h2",8),o(2,"\xD6sszegz\xE9s"),i(),r(3,"p",9),o(4," Sikeres probe: "),r(5,"span",10),o(6),i(),p(7,Q,2,1,"span",11),i(),p(8,W,2,1,"p",12),i(),r(9,"section",13)(10,"h2",14),o(11,"El\xE9rhet\u0151 toolok (MCP tools/list)"),i(),p(12,X,2,0,"p",15)(13,et,3,0,"ul",16),i(),p(14,ot,17,2,"section",17)),t&2){let e,n=l,s=c();a(6),_(n.success?"igen":"nem"),a(),m(n.toolCount!==void 0?7:-1),a(),m((e=n.resolvedSpawn)?8:-1,e),a(4),m(s.tools_$().length?13:12),a(2),m(s.cursorSnippet_$().trim().length>0?14:-1)}}function at(t,l){t&1&&(r(0,"p",31),o(1,"Probe fut\u2026"),i())}function lt(t,l){t&1&&(r(0,"p",15),o(1,"M\xE9g nincs probe eredm\xE9ny. Nyomd meg a Friss\xEDt\xE9s gombot."),i())}function st(t,l){if(t&1&&p(0,at,2,0,"p",31)(1,lt,2,0,"p",15),t&2){let e=c();m(e.loading_$()?0:1)}}var B=(()=>{class t{hostRuntimeMcp_DS=d(U);globalError_CS=d(J);loading_$=u(!1);errorMessage_$=u(void 0);probe_$=u(void 0);schemaExpanded_$=u({});tools_$=M(()=>this.probe_$()?.tools??[]);cursorSnippet_$=M(()=>{let e=this.probe_$()?.resolvedSpawn;if(!e)return"";let n={mcpServers:{"ccap-host-runtime-mcp":{command:e.command,args:e.args,env:h({},e.recommendedEnv)}}};return JSON.stringify(n,null,2)});copyResetTimeoutId;snippetCopied_$=u(!1);ngOnInit(){this.refreshProbe()}refreshProbe(){return E(this,null,function*(){this.loading_$.set(!0),this.errorMessage_$.set(void 0);try{let e=yield this.hostRuntimeMcp_DS.postProbeTools();this.probe_$.set(e),!e.success&&e.error&&this.errorMessage_$.set(e.error)}catch(e){let n=e instanceof Error?e.message:String(e);this.errorMessage_$.set(n),this.probe_$.set(void 0)}finally{this.loading_$.set(!1)}})}toggleSchema(e){let n=e.trim();if(n.length===0)return;let s=h({},this.schemaExpanded_$());s[n]=!s[n],this.schemaExpanded_$.set(s)}formatSchema(e){if(e===void 0)return"\u2014";try{return JSON.stringify(e,null,2)}catch{return"\u2014"}}copyCursorSnippet(){return E(this,null,function*(){let e=this.cursorSnippet_$().trim();if(e.length===0)return;(yield this.globalError_CS.copyToClipboard(e)).ok&&(this.snippetCopied_$.set(!0),this.copyResetTimeoutId!==void 0&&clearTimeout(this.copyResetTimeoutId),this.copyResetTimeoutId=setTimeout(()=>{this.snippetCopied_$.set(!1)},2e3))})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=w({type:t,selectors:[["app-ccap-host-runtime-mcp"]],decls:16,vars:4,consts:[[1,"flex","flex-col","min-h-full","text-neutral-100","p-4","gt-xs:p-6","max-w-5xl"],[1,"flex","flex-col","sm:flex-row","sm:items-center","sm:justify-between","gap-4","mb-6"],[1,"text-2xl","gt-xs:text-3xl","font-bold","text-neutral-100"],[1,"text-neutral-400","text-sm","gt-xs:text-base","mt-1"],[1,"text-neutral-300"],["type","button",1,"shrink-0","px-4","py-2","border","border-neonCyan","rounded-lg","text-neutral-300","text-sm","font-medium","hover:bg-neutral-800","hover:shadow-neon-glow-cyan","transition-colors","disabled:opacity-50",3,"click","disabled"],[1,"rounded-lg","border","border-amber-500/40","bg-amber-950/20","p-4","mb-6","text-amber-100/90","text-sm"],[1,"rounded-lg","bg-neutral-800/60","border","border-neonDefault","p-4","mb-6"],[1,"text-lg","font-semibold","text-neutral-200","mb-2"],[1,"text-neutral-400","text-sm"],[1,"text-neutral-200","font-medium"],[1,"ml-2"],[1,"text-neutral-500","text-xs","mt-2","break-all"],[1,"mb-8"],[1,"text-lg","font-semibold","text-neutral-200","mb-3"],[1,"text-neutral-500","text-sm"],[1,"space-y-3"],[1,"rounded-lg","bg-neutral-800/60","border","border-neonDefault","p-4"],[1,"rounded-lg","border","border-neutral-600/80","bg-neutral-900/40","p-4"],[1,"flex","flex-col","gap-1"],[1,"font-mono","text-ccapAccent","text-sm","font-semibold"],["type","button",1,"self-start","mt-1","text-xs","text-neutral-400","hover:text-ccapAccent","flex","items-center","gap-1",3,"click"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round",1,"w-3","h-3","shrink-0","transition-transform","duration-150"],["points","6 9 12 15 18 9"],[1,"mt-2","p-3","rounded","bg-black/40","border","border-neutral-700","text-xs","text-neutral-300","overflow-x-auto","whitespace-pre-wrap"],[1,"flex","flex-wrap","items-center","justify-between","gap-2","mb-2"],[1,"text-lg","font-semibold","text-neutral-200"],["type","button",1,"px-3","py-1.5","text-xs","border","border-neonCyan","rounded-md","text-neutral-300","hover:bg-neutral-700",3,"click"],[1,"text-neutral-500","text-xs","mb-2"],[1,"text-neutral-400"],[1,"p-3","rounded","bg-black/40","border","border-neutral-700","text-xs","text-neutral-300","overflow-x-auto","whitespace-pre-wrap"],[1,"text-neutral-500"]],template:function(n,s){if(n&1&&(r(0,"div",0)(1,"header",1)(2,"div")(3,"h1",2),o(4,"Host Runtime MCP"),i(),r(5,"p",3),o(6," CCAP saj\xE1t stdio MCP szerver tooljai \xE9s s\xE9m\xE1i \u2013 "),r(7,"span",4),o(8,"nem"),i(),o(9," a Be\xE1ll\xEDt\xE1sok \u2192 Agent MCP integr\xE1ci\xF3. A run trace esem\xE9nyek szerver restart ut\xE1n mem\xF3ri\xE1ban \xFCresek lehetnek. "),i()(),r(10,"button",5),b("click",function(){return s.refreshProbe()}),p(11,L,1,0)(12,q,1,0),i()(),p(13,K,2,1,"div",6)(14,rt,15,5)(15,st,2,1),i()),n&2){let x,$;a(10),I("disabled",s.loading_$()),a(),m(s.loading_$()?11:12),a(2),m((x=s.errorMessage_$())?13:-1,x),a(),m(($=s.probe_$())?14:15,$)}},encapsulation:2})}return t})();var mt=[{path:"",pathMatch:"full",component:B}],wt=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=k({type:t});static \u0275inj=T({imports:[A,V.forChild(mt)]})}return t})();export{wt as HostRuntimeMcp_Module};
|
|
2
|
+
//# sourceMappingURL=host-runtime-mcp.module-656MJPGT.js.map
|
package/client-dist/index.html
CHANGED
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
</style>
|
|
115
|
-
<link rel="stylesheet" href="styles-
|
|
115
|
+
<link rel="stylesheet" href="styles-EVOJBQNQ.css"></head>
|
|
116
116
|
<body data-bwignore="1">
|
|
117
117
|
<!--
|
|
118
118
|
CCAP boot splash DOM.
|
|
@@ -180,5 +180,5 @@
|
|
|
180
180
|
</svg>
|
|
181
181
|
</div>
|
|
182
182
|
<app-root></app-root>
|
|
183
|
-
<link rel="modulepreload" href="chunk-
|
|
183
|
+
<link rel="modulepreload" href="chunk-BTGG7W6I.js"><link rel="modulepreload" href="chunk-KKQ7KUQF.js"><link rel="modulepreload" href="chunk-AF772FEW.js"><link rel="modulepreload" href="chunk-NPSFLNLJ.js"><link rel="modulepreload" href="chunk-UKWG2WI4.js"><link rel="modulepreload" href="chunk-Z4OXAMEA.js"><link rel="modulepreload" href="chunk-YRVQSWSZ.js"><link rel="modulepreload" href="chunk-TC5YFTPT.js"><link rel="modulepreload" href="chunk-XA2HDFIL.js"><link rel="modulepreload" href="chunk-CKMOXK4Q.js"><script src="polyfills-GOMDJCXS.js" type="module"></script><script src="main-CLPJW5SC.js" type="module"></script></body>
|
|
184
184
|
</html>
|
package/client-dist/{live-dev-pipeline.module-ABK4424U.js → live-dev-pipeline.module-BJMYI4UI.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as de}from"./chunk-EAJC4D2U.js";import{a as se}from"./chunk-V7U6L4TC.js";import"./chunk-Z3SFTIKW.js";import{k as M}from"./chunk-PBNXXWW7.js";import"./chunk-5UPNU54P.js";import"./chunk-YFPTXTGK.js";import{p as Ce}from"./chunk-P4FSVQB5.js";import{$a as h,C as R,D as W,E as Y,Fa as n,G as Z,Ga as C,Ha as m,Ia as F,J as B,Ja as N,K as z,Kb as re,L as ee,M as te,Ya as ne,Z as a,a as X,aa as f,ab as O,b as q,bb as L,da as c,fa as P,ga as b,h as fe,hb as oe,ia as ie,ja as y,k as J,la as p,mb as ae,oa as $,pa as I,qa as o,ra as i,sa as T,ua as H,ub as le,va as E,wa as d,y as Q,z as U}from"./chunk-TBMJSIBB.js";var k=class e{static classifyTier(l){return typeof l!="number"||!isFinite(l)?"teal":l<50?"red":l<60?"amber":l<75?"teal":"green"}static getTextClass(l){switch(e.classifyTier(l)){case"red":return"text-red-400";case"amber":return"text-amber-300";case"teal":return"text-cyan-200";case"green":return"text-green-400"}}static getDotClass(l){switch(e.classifyTier(l)){case"red":return"bg-red-500";case"amber":return"bg-amber-400";case"teal":return"bg-cyan-400";case"green":return"bg-green-500"}}};var pe=(()=>{class e{transform(t,r){return r==="dot"?k.getDotClass(t):k.getTextClass(t)}static \u0275fac=function(r){return new(r||e)};static \u0275pipe=Z({name:"ccapCoverageTierClass",type:e,pure:!0,standalone:!0})}return e})();var w=function(e){return e.current="current",e.previous="previous",e}(w||{});var _e=fe(Ce());var j=class e{static buildExpandDetail(l){let t=l.snapPrefix,r=l.stepId,s=l.step,_=`${t}-detail-${r}`,u=[];if(s.errors!==void 0&&s.errors.length>0)for(let S=0;S<s.errors.length;S++){let v=s.errors[S],A=v.line!==void 0?`Line ${v.line}: `:"";u.push({rowId:`${_}-log-${S}`,text:`${A}${v.text}`}),v.details!==void 0&&v.details.length>0&&u.push({rowId:`${_}-log-${S}-details`,text:v.details})}let g=[],x=s.testSummary?.failures;if(x!==void 0&&x>0){let S=s.testSummary?.passed,v=s.testSummary?.totalSpecs,A=s.logLineStart!==void 0&&s.logLineEnd!==void 0?`Log lines ${s.logLineStart}\u2013${s.logLineEnd}.`:"",ve=`${x} spec(s) failed.`+(S!==void 0&&v!==void 0?` Passed ${S} / ${v} total.`:"");g.push({rowId:`${_}-spec-0`,text:ve}),A.length>0&&g.push({rowId:`${_}-spec-1`,text:A})}let D=s.errors!==void 0&&s.errors.length>0,V=x!==void 0&&x>0,K=null;s.status==="failed"&&!D&&!V&&(K=s.logLineStart!==void 0&&s.logLineEnd!==void 0?`See log lines ${s.logLineStart}\u2013${s.logLineEnd}.`:"See pipeline output log for details.");let xe=e.buildCoverageMetrics({baseId:_,coverage:s.testSummary?.coverage});return{logErrorRows:u,testFailureRows:g,failedStatusHint:K,coverageMetrics:xe}}static buildCoverageMetrics(l){let t=l.coverage,r=l.baseId;if(t===void 0)return[];let s={statements:"Statements",branches:"Branches",functions:"Functions",lines:"Lines"},_=["statements","branches","functions","lines"],u=[];for(let g of _){let x=t[g];if(x===void 0||typeof x.pct!="number"||typeof x.covered!="number"||typeof x.total!="number")continue;let D=String(g),V=s[D]!==void 0?s[D]:D;u.push({metricId:`${r}-cov-${D}`,label:V,pct:x.pct,covered:x.covered,total:x.total})}return u}};var ce=(()=>{class e{snapshotView_$=f(w.current);pipelineStatus_$=f(null);unavailableReason_$=f(null);loading_$=f(!1);loadError_$=f(null);stepTableRows_$=oe(()=>{let t=this.pipelineStatus_$(),r=this.snapshotView_$();if(!t?.steps)return[];let s=Object.keys(t.steps);return s.sort((_,u)=>{let g=t.steps[_].logLineStart??Number.MAX_SAFE_INTEGER,x=t.steps[u].logLineStart??Number.MAX_SAFE_INTEGER;return g-x}),s.map(_=>{let u=t.steps[_];return{stepId:_,step:u,detail:j.buildExpandDetail({snapPrefix:r,stepId:_,step:u})}})});intervalId=null;pollIntervalMs=_e.minute;serverStatus_AS=R(se);isPreviousSnapshotSelected(){return this.snapshotView_$()===w.previous}loadLiveDevPipelineStatus(t){return J(this,null,function*(){let r=t?.showSpinner!==!1;r&&this.loading_$.set(!0),this.loadError_$.set(null);try{let s=yield this.serverStatus_AS.getLiveDevPipelineStatus({isPrevious:this.isPreviousSnapshotSelected()});this.pipelineStatus_$.set(s.pipelineStatus),this.unavailableReason_$.set(s.unavailableReason)}catch(s){this.loadError_$.set(s),this.pipelineStatus_$.set(null),this.unavailableReason_$.set(null)}finally{r&&this.loading_$.set(!1)}})}setSnapshotView(t){this.snapshotView_$.set(t),this.loadLiveDevPipelineStatus({showSpinner:!0})}loadPage(){this.loadLiveDevPipelineStatus({showSpinner:!0})}startPolling(){this.stopPolling(),this.loadLiveDevPipelineStatus({showSpinner:!1}),this.intervalId=setInterval(()=>{this.loadLiveDevPipelineStatus({showSpinner:!1})},this.pollIntervalMs)}stopPolling(){this.intervalId!==null&&(clearInterval(this.intervalId),this.intervalId=null)}refresh(){this.loadLiveDevPipelineStatus({showSpinner:!0})}static \u0275fac=function(r){return new(r||e)};static \u0275prov=Q({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Se=(e,l)=>l.stepId,he=(e,l)=>l.metricId,me=(e,l)=>l.rowId,be=(e,l,t,r)=>({"rounded px-2 py-0.5 text-xs font-medium":!0,"bg-green-900/50 text-green-200":e,"bg-red-900/50 text-red-200":l,"bg-amber-900/50 text-amber-200":t,"bg-neutral-800 text-neutral-200":r});function Ee(e,l){if(e&1&&(o(0,"span")(1,"span",17),n(2,"version:"),i(),n(3),i()),e&2){let t=d();a(3),m(" ",t.version,"")}}function De(e,l){if(e&1&&(o(0,"span")(1,"span",17),n(2,"pid:"),i(),n(3),i()),e&2){let t=d();a(3),m(" ",t.pid,"")}}function Pe(e,l){if(e&1&&(o(0,"span")(1,"span",17),n(2,"totalDurationSec:"),i(),n(3),i()),e&2){let t=d();a(3),m(" ",t.totalDurationSec,"")}}function ye(e,l){if(e&1&&(o(0,"span")(1,"span",17),n(2,"startedAt:"),i(),o(3,"span"),n(4),h(5,"ccapRelativeTime"),i()()),e&2){let t=d();a(3),P("title",t.startedAt),a(),C(O(5,2,t.startedAt))}}function Te(e,l){if(e&1&&(o(0,"div",2),c(1,Ee,4,1,"span")(2,De,4,1,"span")(3,Pe,4,1,"span")(4,ye,6,4,"span"),i()),e&2){let t=l;a(),p(t.version?1:-1),a(),p(t.pid!==void 0?2:-1),a(),p(t.totalDurationSec!==void 0&&t.totalDurationSec!==null?3:-1),a(),p(t.startedAt?4:-1)}}function Le(e,l){if(e&1){let t=H();T(0,"app-ccap-error-display",18),o(1,"button",19),E("click",function(){B(t);let s=d();return z(s.handleRetryLoad())}),n(2," \xDAjrapr\xF3b\xE1l\xE1s "),i()}if(e&2){let t=d();b("error",t.liveDevPipeline_DS.loadError_$())}}function we(e,l){e&1&&(o(0,"p",15),n(1,"Bet\xF6lt\xE9s\u2026"),i())}function $e(e,l){if(e&1&&(o(0,"div",16)(1,"p",20),n(2,"Pipeline status nem el\xE9rhet\u0151"),i(),o(3,"p",21),n(4),i()()),e&2){let t=d();a(4),C(t.liveDevPipeline_DS.unavailableReason_$())}}function Ie(e,l){if(e&1&&(o(0,"span",46),n(1),i()),e&2){let t=d().$implicit;a(),F(" ",t.step.errors.length," issue",t.step.errors.length>1?"s":""," ")}}function Fe(e,l){if(e&1&&(T(0,"span",52),h(1,"ccapCoverageTierClass")),e&2){let t=l;y(L(1,3,t.pct,"dot")),P("title","coverage lines: "+t.pct+"%")}}function ke(e,l){if(e&1&&n(0),e&2){let t=d().$implicit;m(" ",t.step.durationSec," ")}}function Ae(e,l){e&1&&n(0," \u2014 ")}function Re(e,l){if(e&1&&n(0),e&2){let t=d().$implicit;F(" ",t.step.logLineStart,"\u2013",t.step.logLineEnd," ")}}function Me(e,l){e&1&&n(0," \u2014 ")}function je(e,l){if(e&1&&(o(0,"div"),n(1),i()),e&2){let t,r=d(2).$implicit;a(),N("specs: ",(t=r.step.testSummary.passed)!==null&&t!==void 0?t:"\u2014"," / ",r.step.testSummary.totalSpecs," (fail: ",(t=r.step.testSummary.failures)!==null&&t!==void 0?t:0,")")}}function Ve(e,l){if(e&1&&(o(0,"div",17),n(1),i()),e&2){let t=d(2).$implicit;a(),m("duration: ",t.step.testSummary.testDurationSec,"s")}}function Be(e,l){if(e&1&&(o(0,"div",53),T(1,"span",54),h(2,"ccapCoverageTierClass"),o(3,"span"),n(4,"lines:"),i(),o(5,"span",55),h(6,"ccapCoverageTierClass"),n(7),i()()),e&2){let t=l;a(),y(L(2,5,t.pct,"dot")),a(4),y(L(6,8,t.pct,"text")),a(2),m(" ",t.pct,"% ")}}function ze(e,l){if(e&1&&c(0,je,2,3,"div")(1,Ve,2,1,"div",17)(2,Be,8,11,"div",53),e&2){let t,r=d().$implicit;p(r.step.testSummary.totalSpecs!==void 0?0:-1),a(),p(r.step.testSummary.testDurationSec!==void 0?1:-1),a(),p((t=r.step.testSummary.coverage==null?null:r.step.testSummary.coverage.lines)?2:-1,t)}}function He(e,l){e&1&&n(0," \u2014 ")}function Ne(e,l){if(e&1&&(o(0,"dt",17),n(1,"startedAt"),i(),o(2,"dd",68),n(3),h(4,"ccapRelativeTime"),i()),e&2){let t=d(2).$implicit;a(2),P("title",t.step.startedAt),a(),m(" ",O(4,2,t.step.startedAt)," ")}}function Oe(e,l){if(e&1&&n(0),e&2){let t=d(2).$implicit;m(" ",t.step.durationSec," ")}}function Ge(e,l){e&1&&n(0," \u2014 ")}function Ke(e,l){if(e&1&&n(0),e&2){let t=d(2).$implicit;F(" ",t.step.logLineStart,"\u2013",t.step.logLineEnd," ")}}function Xe(e,l){e&1&&n(0," \u2014 ")}function qe(e,l){if(e&1&&(o(0,"li")(1,"span",17),n(2,"specs:"),i(),n(3),i()),e&2){let t,r=d(3).$implicit;a(3),N(" passed ",(t=r.step.testSummary.passed)!==null&&t!==void 0?t:"\u2014"," / total ",r.step.testSummary.totalSpecs," (failures ",(t=r.step.testSummary.failures)!==null&&t!==void 0?t:0,") ")}}function Je(e,l){if(e&1&&(o(0,"li")(1,"span",17),n(2,"test run duration:"),i(),n(3),i()),e&2){let t=d(3).$implicit;a(3),m(" ",t.step.testSummary.testDurationSec,"s ")}}function Qe(e,l){if(e&1&&(o(0,"section",63)(1,"h3",59),n(2," Test results "),i(),o(3,"ul",69),c(4,qe,4,3,"li")(5,Je,4,1,"li"),i()()),e&2){let t=d(2).$implicit;a(4),p(t.step.testSummary.totalSpecs!==void 0?4:-1),a(),p(t.step.testSummary.testDurationSec!==void 0?5:-1)}}function Ue(e,l){if(e&1&&(o(0,"div",72)(1,"p",73),T(2,"span",54),h(3,"ccapCoverageTierClass"),o(4,"span"),n(5),i()(),o(6,"p",74),h(7,"ccapCoverageTierClass"),n(8),i(),o(9,"p",75),n(10),i()()),e&2){let t=l.$implicit;a(2),y(L(3,8,t.pct,"dot")),a(3),C(t.label),a(),y(L(7,11,t.pct,"text")),a(2),m(" ",t.pct,"% "),a(2),F(" ",t.covered," / ",t.total," ")}}function We(e,l){if(e&1&&(o(0,"section",64)(1,"h3",70),n(2," Coverage "),i(),o(3,"div",71),$(4,Ue,11,14,"div",72,he),i()()),e&2){let t=d(2).$implicit;a(4),I(t.detail.coverageMetrics)}}function Ye(e,l){if(e&1&&(o(0,"li",78),n(1),i()),e&2){let t=l.$implicit;a(),m(" ",t.text," ")}}function Ze(e,l){if(e&1&&(o(0,"section",65)(1,"h3",76),n(2," Pipeline log errors "),i(),o(3,"ul",77),$(4,Ye,2,1,"li",78,me),i()()),e&2){let t=d(2).$implicit;a(4),I(t.detail.logErrorRows)}}function et(e,l){if(e&1&&(o(0,"li",78),n(1),i()),e&2){let t=l.$implicit;a(),m(" ",t.text," ")}}function tt(e,l){if(e&1&&(o(0,"section",66)(1,"h3",76),n(2," Test failures "),i(),o(3,"ul",77),$(4,et,2,1,"li",78,me),i()()),e&2){let t=d(2).$implicit;a(4),I(t.detail.testFailureRows)}}function it(e,l){if(e&1&&(o(0,"section",67)(1,"h3",76),n(2," Status failed "),i(),o(3,"p",79),n(4),i()()),e&2){let t=d(2).$implicit;a(4),m(" ",t.detail.failedStatusHint," ")}}function nt(e,l){if(e&1&&(o(0,"tr",51)(1,"td",56)(2,"div",57)(3,"section",58)(4,"h3",59),n(5,"Meta"),i(),o(6,"dl",60),c(7,Ne,5,4),o(8,"dt",17),n(9,"durationSec"),i(),o(10,"dd",61),c(11,Oe,1,1)(12,Ge,1,0),i(),o(13,"dt",17),n(14,"log lines (output.log)"),i(),o(15,"dd",62),c(16,Ke,1,2)(17,Xe,1,0),i()()(),c(18,Qe,6,2,"section",63)(19,We,6,0,"section",64)(20,Ze,6,0,"section",65)(21,tt,6,0,"section",66)(22,it,5,1,"section",67),i()()()),e&2){let t=d().$implicit;a(2),P("id","ldp-detail-"+t.stepId),a(5),p(t.step.startedAt?7:-1),a(4),p(t.step.durationSec!==void 0&&t.step.durationSec!==null?11:12),a(5),p(t.step.logLineStart!==void 0&&t.step.logLineEnd!==void 0?16:17),a(2),p(t.step.testSummary?18:-1),a(),p(t.detail.coverageMetrics.length>0?19:-1),a(),p(t.detail.logErrorRows.length>0?20:-1),a(),p(t.detail.testFailureRows.length>0?21:-1),a(),p(t.detail.failedStatusHint?22:-1)}}function ot(e,l){if(e&1){let t=H();o(0,"tr",38)(1,"td",39)(2,"button",40),E("click",function(){let s=B(t).$implicit,_=d(3);return z(_.handleStepExpandToggle({stepId:s.stepId}))}),ee(),o(3,"svg",41),T(4,"polyline",42),i()()(),te(),o(5,"td",43),n(6),i(),o(7,"td",44)(8,"span",45),n(9),i(),c(10,Ie,2,2,"span",46)(11,Fe,2,6,"span",47),i(),o(12,"td",48),c(13,ke,1,1)(14,Ae,1,0),i(),o(15,"td",49),c(16,Re,1,2)(17,Me,1,0),i(),o(18,"td",50),c(19,ze,3,3)(20,He,1,0),i()(),c(21,nt,23,9,"tr",51)}if(e&2){let t,r=l.$implicit,s=d(3);a(2),P("aria-expanded",s.expandedStepIds_$()[r.stepId]===!0)("aria-controls","ldp-detail-"+r.stepId)("aria-label","R\xE9szletek: "+r.stepId),a(),ie("-rotate-90",s.expandedStepIds_$()[r.stepId]!==!0),a(3),C(r.stepId),a(2),b("ngClass",ne(14,be,r.step.status==="ok",r.step.status==="failed",r.step.status==="running",r.step.status!=="ok"&&r.step.status!=="failed"&&r.step.status!=="running")),a(),m(" ",r.step.status," "),a(),p(r.step.status==="failed"&&(r.step.errors!=null&&r.step.errors.length)?10:-1),a(),p((t=r.step.testSummary==null||r.step.testSummary.coverage==null?null:r.step.testSummary.coverage.lines)?11:-1,t),a(2),p(r.step.durationSec!==void 0&&r.step.durationSec!==null?13:14),a(3),p(r.step.logLineStart!==void 0&&r.step.logLineEnd!==void 0?16:17),a(3),p(r.step.testSummary?19:20),a(2),p(s.expandedStepIds_$()[r.stepId]?21:-1)}}function at(e,l){if(e&1&&(o(0,"li")(1,"span",17),n(2,"serverRunning:"),i(),n(3),i()),e&2){let t=d();a(3),m(" ",t.serverRunning?"true":"false"," ")}}function lt(e,l){if(e&1&&(o(0,"li")(1,"span",17),n(2,"restartPending:"),i(),n(3),i()),e&2){let t=d();a(3),m(" ",t.restartPending?"true":"false"," ")}}function rt(e,l){if(e&1&&(o(0,"dt",17),n(1,"trimmedAt"),i(),o(2,"dd",61),n(3),i()),e&2){let t=d(2);a(3),C(t.trimInfo.trimmedAt)}}function st(e,l){if(e&1&&(o(0,"dt",17),n(1,"removedLineCount"),i(),o(2,"dd"),n(3),i()),e&2){let t=d(2);a(3),C(t.trimInfo.removedLineCount)}}function dt(e,l){if(e&1&&(o(0,"dt",17),n(1,"fileLineCountAfterTrim"),i(),o(2,"dd"),n(3),i()),e&2){let t=d(2);a(3),C(t.trimInfo.fileLineCountAfterTrim)}}function pt(e,l){if(e&1&&(o(0,"div",34)(1,"h2",35),n(2,"trimInfo"),i(),o(3,"dl",60),c(4,rt,4,1)(5,st,4,1)(6,dt,4,1),i()()),e&2){let t=d();a(4),p(t.trimInfo.trimmedAt?4:-1),a(),p(t.trimInfo.removedLineCount!==void 0?5:-1),a(),p(t.trimInfo.fileLineCountAfterTrim!==void 0?6:-1)}}function _t(e,l){if(e&1&&(o(0,"div",22)(1,"div",23)(2,"h2",24),n(3," Pipeline steps "),i(),o(4,"div",25)(5,"table",26)(6,"thead",27)(7,"tr")(8,"th",28)(9,"span",29),n(10,"R\xE9szletek"),i()(),o(11,"th",30),n(12,"Step"),i(),o(13,"th",30),n(14,"Status"),i(),o(15,"th",30),n(16,"Duration (s)"),i(),o(17,"th",31),n(18,"Log lines"),i(),o(19,"th",32),n(20,"Tests / coverage"),i()()(),o(21,"tbody"),$(22,ot,22,19,null,null,Se),i()()()(),o(24,"div",33)(25,"div",34)(26,"h2",35),n(27,"Phase"),i(),o(28,"p",36),n(29),i()(),o(30,"div",34)(31,"h2",35),n(32,"Flags"),i(),o(33,"ul",37)(34,"li")(35,"span",17),n(36,"pipelineComplete:"),i(),n(37),i(),c(38,at,4,1,"li")(39,lt,4,1,"li"),i()()(),c(40,pt,7,3,"div",34),i()),e&2){let t=l,r=d(2);a(22),I(r.stepTableRows_$()),a(7),C(t.phase),a(8),m(" ",t.pipelineComplete?"true":"false"," "),a(),p(t.serverRunning!==void 0?38:-1),a(),p(t.restartPending!==void 0?39:-1),a(),p(t.trimInfo?40:-1)}}function ct(e,l){if(e&1&&c(0,_t,41,5,"div",22),e&2){let t,r=d();p((t=r.liveDevPipeline_DS.pipelineStatus_$())?0:-1,t)}}var ue=(()=>{class e{snapshotTypeEnum=w;liveDevPipeline_DS=R(ce);stepTableRows_$=this.liveDevPipeline_DS.stepTableRows_$;isAutoRefreshEnabled_$=f(!1);expandedStepIds_$=f({});ngOnInit(){this.liveDevPipeline_DS.loadPage()}ngOnDestroy(){this.liveDevPipeline_DS.stopPolling()}handleSnapshotSelect(t){this.liveDevPipeline_DS.snapshotView_$()!==t&&(this.expandedStepIds_$.set({}),this.liveDevPipeline_DS.setSnapshotView(t))}handleStepExpandToggle(t){let r=t.stepId,s=this.expandedStepIds_$(),_=s[r]===!0,u=q(X({},s),{[r]:!_});this.expandedStepIds_$.set(u)}handleAutoRefreshChange(t){let r=t.target;if(r===null||!(r instanceof HTMLInputElement))return;let s=r.checked;this.isAutoRefreshEnabled_$.set(s),s?this.liveDevPipeline_DS.startPolling():this.liveDevPipeline_DS.stopPolling()}handleRefresh(){this.liveDevPipeline_DS.refresh()}handleRetryLoad(){this.liveDevPipeline_DS.refresh()}static \u0275fac=function(r){return new(r||e)};static \u0275cmp=W({type:e,selectors:[["app-ccap-live-dev-pipeline"]],decls:50,vars:9,consts:[[1,"max-w-5xl","mx-auto","p-3","gt-xs:p-6","text-neutral-100"],[1,"text-xl","gt-xs:text-2xl","font-bold","mb-2","gt-xs:mb-3"],[1,"flex","flex-wrap","gap-3","gt-xs:gap-4","items-center","mb-3","gt-xs:mb-4","rounded-lg","border","border-neutral-700","bg-neutral-900/50","px-3","py-2","gt-xs:px-4","gt-xs:py-2.5","text-sm","text-neutral-300"],[1,"text-neutral-400","text-sm","gt-xs:text-base","mb-4","gt-xs:mb-6"],[1,"bg-neutral-800","px-1","rounded"],[1,"font-medium","text-neutral-300"],[1,"border","border-neutral-700","rounded-lg","px-3","py-3","gt-xs:px-4","gt-xs:py-3","mb-4","gt-xs:mb-5"],[1,"text-xs","gt-xs:text-sm","font-medium","text-neutral-400","px-1"],[1,"flex","flex-wrap","gap-4","gt-xs:gap-6","items-center"],[1,"flex","items-center","gap-2","cursor-pointer","text-sm","gt-xs:text-base","text-neutral-300","select-none"],["type","radio","name","liveDevPipelineSnapshot",1,"border-neutral-600","bg-neutral-800","text-neonCyan","focus:ring-neonCyan",3,"change","value","checked"],[1,"text-xs"],[1,"flex","flex-wrap","gap-4","gt-xs:gap-6","items-center","mb-4","gt-xs:mb-5"],["type","button",1,"px-3","py-1.5","gt-xs:px-4","gt-xs:py-2","text-sm","gt-xs:text-base","border","border-neonCyan","rounded","text-neutral-300","hover:bg-neutral-700","disabled:opacity-50","transition-colors",3,"click","disabled"],["type","checkbox",1,"rounded","border-neutral-600","bg-neutral-800","text-neonCyan","focus:ring-neonCyan",3,"change","checked"],[1,"text-neutral-400"],[1,"rounded-lg","border","border-amber-600/50","bg-amber-950/30","px-4","py-3","text-amber-100","text-sm","gt-xs:text-base","max-w-3xl"],[1,"text-neutral-500"],["sourceLabelOverride","Live Development Pipeline",1,"mb-4","block","max-w-3xl",3,"error"],["type","button",1,"px-3","py-1.5","text-sm","border","border-neonCyan","rounded","text-neutral-300","hover:bg-neutral-700","transition-colors",3,"click"],[1,"font-medium","text-amber-200","mb-1"],[1,"text-neutral-300","whitespace-pre-wrap"],[1,"flex","flex-col","gap-4","gt-xs:gap-6"],[1,"rounded-lg","border","border-neutral-700","overflow-hidden"],[1,"text-sm","font-semibold","text-neutral-400","uppercase","tracking-wide","px-3","py-2","bg-neutral-900/60","border-b","border-neutral-700"],[1,"overflow-x-auto"],[1,"w-full","text-left","text-sm","text-neutral-300"],[1,"bg-neutral-900/80","text-neutral-400","text-xs","uppercase"],["scope","col",1,"px-1","py-2","w-10","font-medium"],[1,"sr-only"],["scope","col",1,"px-3","py-2","font-medium"],["scope","col",1,"px-3","py-2","font-medium","hidden","sm:table-cell"],["scope","col",1,"px-3","py-2","font-medium","hidden","md:table-cell"],[1,"grid","grid-cols-1","sm:grid-cols-2","gap-3","gt-xs:gap-4"],[1,"rounded-lg","border","border-neutral-700","bg-neutral-900/40","p-3","gt-xs:p-4"],[1,"text-sm","font-semibold","text-neutral-400","uppercase","tracking-wide","mb-2"],[1,"text-lg","font-mono","text-ccapAccent"],[1,"text-sm","text-neutral-300","space-y-1"],[1,"border-t","border-neutral-800","hover:bg-neutral-800/40"],[1,"px-1","py-2","align-middle","w-10"],["type","button",1,"p-1.5","rounded-md","text-neutral-400","hover:text-ccapAccent","hover:bg-neutral-800","transition-colors","focus:outline-none","focus:ring-2","focus:ring-neonCyan/50",3,"click"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-4","h-4","shrink-0","transition-transform","duration-150"],["points","6 9 12 15 18 9"],[1,"px-3","py-2","font-mono","text-ccapAccent"],[1,"px-3","py-2"],[3,"ngClass"],[1,"ml-1.5","rounded","px-1.5","py-0.5","text-xs","font-medium","bg-red-900/30","text-red-300"],["aria-hidden","true",1,"ml-1.5","inline-block","w-2.5","h-2.5","rounded-full","align-middle",3,"class"],[1,"px-3","py-2","font-mono"],[1,"px-3","py-2","font-mono","text-xs","hidden","sm:table-cell"],[1,"px-3","py-2","text-xs","hidden","md:table-cell","align-top"],[1,"border-t","border-neutral-800","bg-neutral-950/50"],["aria-hidden","true",1,"ml-1.5","inline-block","w-2.5","h-2.5","rounded-full","align-middle"],[1,"text-neutral-500","mt-1","flex","items-center","gap-1.5"],["aria-hidden","true",1,"inline-block","w-2","h-2","rounded-full"],[1,"font-mono","font-semibold"],["colspan","6",1,"p-0","align-top"],[1,"px-3","py-4","gt-xs:px-5","gt-xs:py-5","border-t","border-neutral-800/80","space-y-4"],["aria-label","Step meta"],[1,"text-xs","font-semibold","text-neutral-500","uppercase","tracking-wide","mb-2"],[1,"grid","grid-cols-1","sm:grid-cols-2","gap-x-4","gap-y-1","text-sm","text-neutral-300"],[1,"font-mono"],[1,"font-mono","text-xs"],["aria-label","Test results"],["aria-label","Coverage"],["aria-label","Pipeline log errors"],["aria-label","Test failures"],["aria-label","Step failed hint"],[1,"break-all"],[1,"text-sm","text-neutral-300","space-y-1","list-none","pl-0"],[1,"text-xs","font-semibold","text-cyan-300/90","uppercase","tracking-wide","mb-2"],[1,"grid","grid-cols-2","sm:grid-cols-4","gap-2","gt-xs:gap-3","max-w-3xl"],[1,"rounded-md","border","border-cyan-900/50","bg-neutral-900/60","px-2","py-2","gt-xs:px-3","gt-xs:py-2.5"],[1,"text-[10px]","gt-xs:text-xs","font-medium","text-neutral-500","uppercase","tracking-wide","mb-1","flex","items-center","gap-1.5"],[1,"text-lg","gt-xs:text-xl","font-mono","font-semibold"],[1,"text-[10px]","gt-xs:text-xs","text-neutral-500","mt-0.5","font-mono"],[1,"text-xs","font-semibold","text-red-300","uppercase","tracking-wide","mb-2"],[1,"list-none","space-y-2","text-sm","text-red-100/95"],[1,"border-l-2","border-red-600/50","pl-2","whitespace-pre-wrap","break-words"],[1,"text-sm","text-red-100/95","border-l-2","border-red-600/50","pl-2"]],template:function(r,s){if(r&1&&(o(0,"div",0)(1,"h1",1),n(2,"Live Development Pipeline"),i(),c(3,Te,5,4,"div",2),o(4,"p",3),n(5," Dev pipeline meta a szerver "),o(6,"code",4),n(7,"logs/live-dev-pipeline/status.json"),i(),n(8," f\xE1jlj\xE1b\xF3l; az "),o(9,"strong",5),n(10,"El\u0151z\u0151 fut\xE1s"),i(),n(11," opci\xF3 a "),o(12,"code",4),n(13,"status-previous.json"),i(),n(14," snapshot-ot t\xF6lti. Alapb\xF3l nincs periodikus lek\xE9r\xE9s; a "),o(15,"strong",5),n(16,"Friss\xEDt\xE9s"),i(),n(17," gomb azonnali \xFAjrat\xF6lt\xE9st k\xE9r. Opcion\xE1lisan bekapcsolhat\xF3 automatikus friss\xEDt\xE9s kb. percenk\xE9nt. A "),o(18,"strong",5),n(19,"pipeline step"),i(),n(20," sorok lenyithat\xF3k \u2014 r\xE9szletes meta, teszt, coverage \xE9s hiba inf\xF3 a sor alatt. "),i(),o(21,"fieldset",6)(22,"legend",7),n(23,"Megjelen\xEDtett snapshot"),i(),o(24,"div",8)(25,"label",9)(26,"input",10),E("change",function(){return s.handleSnapshotSelect(s.snapshotTypeEnum.current)}),i(),o(27,"span"),n(28,"Aktu\xE1lis ("),o(29,"code",11),n(30,"status.json"),i(),n(31,")"),i()(),o(32,"label",9)(33,"input",10),E("change",function(){return s.handleSnapshotSelect(s.snapshotTypeEnum.previous)}),i(),o(34,"span"),n(35,"El\u0151z\u0151 fut\xE1s ("),o(36,"code",11),n(37,"status-previous.json"),i(),n(38,")"),i()()()(),o(39,"div",12)(40,"button",13),E("click",function(){return s.handleRefresh()}),n(41),i(),o(42,"label",9)(43,"input",14),E("change",function(u){return s.handleAutoRefreshChange(u)}),i(),o(44,"span"),n(45,"Automatikus friss\xEDt\xE9s (kb. percenk\xE9nt)"),i()()(),c(46,Le,3,1)(47,we,2,0,"p",15)(48,$e,5,1,"div",16)(49,ct,1,1),i()),r&2){let _;a(3),p((_=s.liveDevPipeline_DS.pipelineStatus_$())?3:-1,_),a(23),b("value",s.snapshotTypeEnum.current)("checked",s.liveDevPipeline_DS.snapshotView_$()===s.snapshotTypeEnum.current),a(7),b("value",s.snapshotTypeEnum.previous)("checked",s.liveDevPipeline_DS.snapshotView_$()===s.snapshotTypeEnum.previous),a(7),b("disabled",s.liveDevPipeline_DS.loading_$()),a(),m(" ",s.liveDevPipeline_DS.loading_$()?"Bet\xF6lt\xE9s\u2026":"Friss\xEDt\xE9s"," "),a(2),b("checked",s.isAutoRefreshEnabled_$()),a(3),p(s.liveDevPipeline_DS.loadError_$()?46:s.liveDevPipeline_DS.loading_$()&&!s.liveDevPipeline_DS.pipelineStatus_$()?47:s.liveDevPipeline_DS.unavailableReason_$()&&!s.liveDevPipeline_DS.pipelineStatus_$()?48:49)}},dependencies:[ae,M,pe,de],encapsulation:2})}return e})();var mt=[{path:"",pathMatch:"full",component:ue}],Nt=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=Y({type:e});static \u0275inj=U({imports:[le,re.forChild(mt),M]})}return e})();export{Nt as LiveDevPipeline_Module};
|
|
2
|
-
//# sourceMappingURL=live-dev-pipeline.module-
|
|
1
|
+
import{a as de}from"./chunk-6TLT2HW4.js";import{a as se}from"./chunk-QW6CIFAD.js";import"./chunk-CNXZS3XJ.js";import{k as M}from"./chunk-WRXGGQII.js";import"./chunk-5UPNU54P.js";import"./chunk-7EQ4ZXQN.js";import{p as Ce}from"./chunk-GCECKZJT.js";import{$a as h,C as R,D as W,E as Y,Fa as n,G as Z,Ga as C,Ha as m,Ia as F,J as B,Ja as N,K as z,Kb as re,L as ee,M as te,Ya as ne,Z as a,a as X,aa as f,ab as O,b as q,bb as L,da as c,fa as P,ga as b,h as fe,hb as oe,ia as ie,ja as y,k as J,la as p,mb as ae,oa as $,pa as I,qa as o,ra as i,sa as T,ua as H,ub as le,va as E,wa as d,y as Q,z as U}from"./chunk-TBMJSIBB.js";var k=class e{static classifyTier(l){return typeof l!="number"||!isFinite(l)?"teal":l<50?"red":l<60?"amber":l<75?"teal":"green"}static getTextClass(l){switch(e.classifyTier(l)){case"red":return"text-red-400";case"amber":return"text-amber-300";case"teal":return"text-cyan-200";case"green":return"text-green-400"}}static getDotClass(l){switch(e.classifyTier(l)){case"red":return"bg-red-500";case"amber":return"bg-amber-400";case"teal":return"bg-cyan-400";case"green":return"bg-green-500"}}};var pe=(()=>{class e{transform(t,r){return r==="dot"?k.getDotClass(t):k.getTextClass(t)}static \u0275fac=function(r){return new(r||e)};static \u0275pipe=Z({name:"ccapCoverageTierClass",type:e,pure:!0,standalone:!0})}return e})();var w=function(e){return e.current="current",e.previous="previous",e}(w||{});var _e=fe(Ce());var j=class e{static buildExpandDetail(l){let t=l.snapPrefix,r=l.stepId,s=l.step,_=`${t}-detail-${r}`,u=[];if(s.errors!==void 0&&s.errors.length>0)for(let S=0;S<s.errors.length;S++){let v=s.errors[S],A=v.line!==void 0?`Line ${v.line}: `:"";u.push({rowId:`${_}-log-${S}`,text:`${A}${v.text}`}),v.details!==void 0&&v.details.length>0&&u.push({rowId:`${_}-log-${S}-details`,text:v.details})}let g=[],x=s.testSummary?.failures;if(x!==void 0&&x>0){let S=s.testSummary?.passed,v=s.testSummary?.totalSpecs,A=s.logLineStart!==void 0&&s.logLineEnd!==void 0?`Log lines ${s.logLineStart}\u2013${s.logLineEnd}.`:"",ve=`${x} spec(s) failed.`+(S!==void 0&&v!==void 0?` Passed ${S} / ${v} total.`:"");g.push({rowId:`${_}-spec-0`,text:ve}),A.length>0&&g.push({rowId:`${_}-spec-1`,text:A})}let D=s.errors!==void 0&&s.errors.length>0,V=x!==void 0&&x>0,K=null;s.status==="failed"&&!D&&!V&&(K=s.logLineStart!==void 0&&s.logLineEnd!==void 0?`See log lines ${s.logLineStart}\u2013${s.logLineEnd}.`:"See pipeline output log for details.");let xe=e.buildCoverageMetrics({baseId:_,coverage:s.testSummary?.coverage});return{logErrorRows:u,testFailureRows:g,failedStatusHint:K,coverageMetrics:xe}}static buildCoverageMetrics(l){let t=l.coverage,r=l.baseId;if(t===void 0)return[];let s={statements:"Statements",branches:"Branches",functions:"Functions",lines:"Lines"},_=["statements","branches","functions","lines"],u=[];for(let g of _){let x=t[g];if(x===void 0||typeof x.pct!="number"||typeof x.covered!="number"||typeof x.total!="number")continue;let D=String(g),V=s[D]!==void 0?s[D]:D;u.push({metricId:`${r}-cov-${D}`,label:V,pct:x.pct,covered:x.covered,total:x.total})}return u}};var ce=(()=>{class e{snapshotView_$=f(w.current);pipelineStatus_$=f(null);unavailableReason_$=f(null);loading_$=f(!1);loadError_$=f(null);stepTableRows_$=oe(()=>{let t=this.pipelineStatus_$(),r=this.snapshotView_$();if(!t?.steps)return[];let s=Object.keys(t.steps);return s.sort((_,u)=>{let g=t.steps[_].logLineStart??Number.MAX_SAFE_INTEGER,x=t.steps[u].logLineStart??Number.MAX_SAFE_INTEGER;return g-x}),s.map(_=>{let u=t.steps[_];return{stepId:_,step:u,detail:j.buildExpandDetail({snapPrefix:r,stepId:_,step:u})}})});intervalId=null;pollIntervalMs=_e.minute;serverStatus_AS=R(se);isPreviousSnapshotSelected(){return this.snapshotView_$()===w.previous}loadLiveDevPipelineStatus(t){return J(this,null,function*(){let r=t?.showSpinner!==!1;r&&this.loading_$.set(!0),this.loadError_$.set(null);try{let s=yield this.serverStatus_AS.getLiveDevPipelineStatus({isPrevious:this.isPreviousSnapshotSelected()});this.pipelineStatus_$.set(s.pipelineStatus),this.unavailableReason_$.set(s.unavailableReason)}catch(s){this.loadError_$.set(s),this.pipelineStatus_$.set(null),this.unavailableReason_$.set(null)}finally{r&&this.loading_$.set(!1)}})}setSnapshotView(t){this.snapshotView_$.set(t),this.loadLiveDevPipelineStatus({showSpinner:!0})}loadPage(){this.loadLiveDevPipelineStatus({showSpinner:!0})}startPolling(){this.stopPolling(),this.loadLiveDevPipelineStatus({showSpinner:!1}),this.intervalId=setInterval(()=>{this.loadLiveDevPipelineStatus({showSpinner:!1})},this.pollIntervalMs)}stopPolling(){this.intervalId!==null&&(clearInterval(this.intervalId),this.intervalId=null)}refresh(){this.loadLiveDevPipelineStatus({showSpinner:!0})}static \u0275fac=function(r){return new(r||e)};static \u0275prov=Q({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Se=(e,l)=>l.stepId,he=(e,l)=>l.metricId,me=(e,l)=>l.rowId,be=(e,l,t,r)=>({"rounded px-2 py-0.5 text-xs font-medium":!0,"bg-green-900/50 text-green-200":e,"bg-red-900/50 text-red-200":l,"bg-amber-900/50 text-amber-200":t,"bg-neutral-800 text-neutral-200":r});function Ee(e,l){if(e&1&&(o(0,"span")(1,"span",17),n(2,"version:"),i(),n(3),i()),e&2){let t=d();a(3),m(" ",t.version,"")}}function De(e,l){if(e&1&&(o(0,"span")(1,"span",17),n(2,"pid:"),i(),n(3),i()),e&2){let t=d();a(3),m(" ",t.pid,"")}}function Pe(e,l){if(e&1&&(o(0,"span")(1,"span",17),n(2,"totalDurationSec:"),i(),n(3),i()),e&2){let t=d();a(3),m(" ",t.totalDurationSec,"")}}function ye(e,l){if(e&1&&(o(0,"span")(1,"span",17),n(2,"startedAt:"),i(),o(3,"span"),n(4),h(5,"ccapRelativeTime"),i()()),e&2){let t=d();a(3),P("title",t.startedAt),a(),C(O(5,2,t.startedAt))}}function Te(e,l){if(e&1&&(o(0,"div",2),c(1,Ee,4,1,"span")(2,De,4,1,"span")(3,Pe,4,1,"span")(4,ye,6,4,"span"),i()),e&2){let t=l;a(),p(t.version?1:-1),a(),p(t.pid!==void 0?2:-1),a(),p(t.totalDurationSec!==void 0&&t.totalDurationSec!==null?3:-1),a(),p(t.startedAt?4:-1)}}function Le(e,l){if(e&1){let t=H();T(0,"app-ccap-error-display",18),o(1,"button",19),E("click",function(){B(t);let s=d();return z(s.handleRetryLoad())}),n(2," \xDAjrapr\xF3b\xE1l\xE1s "),i()}if(e&2){let t=d();b("error",t.liveDevPipeline_DS.loadError_$())}}function we(e,l){e&1&&(o(0,"p",15),n(1,"Bet\xF6lt\xE9s\u2026"),i())}function $e(e,l){if(e&1&&(o(0,"div",16)(1,"p",20),n(2,"Pipeline status nem el\xE9rhet\u0151"),i(),o(3,"p",21),n(4),i()()),e&2){let t=d();a(4),C(t.liveDevPipeline_DS.unavailableReason_$())}}function Ie(e,l){if(e&1&&(o(0,"span",46),n(1),i()),e&2){let t=d().$implicit;a(),F(" ",t.step.errors.length," issue",t.step.errors.length>1?"s":""," ")}}function Fe(e,l){if(e&1&&(T(0,"span",52),h(1,"ccapCoverageTierClass")),e&2){let t=l;y(L(1,3,t.pct,"dot")),P("title","coverage lines: "+t.pct+"%")}}function ke(e,l){if(e&1&&n(0),e&2){let t=d().$implicit;m(" ",t.step.durationSec," ")}}function Ae(e,l){e&1&&n(0," \u2014 ")}function Re(e,l){if(e&1&&n(0),e&2){let t=d().$implicit;F(" ",t.step.logLineStart,"\u2013",t.step.logLineEnd," ")}}function Me(e,l){e&1&&n(0," \u2014 ")}function je(e,l){if(e&1&&(o(0,"div"),n(1),i()),e&2){let t,r=d(2).$implicit;a(),N("specs: ",(t=r.step.testSummary.passed)!==null&&t!==void 0?t:"\u2014"," / ",r.step.testSummary.totalSpecs," (fail: ",(t=r.step.testSummary.failures)!==null&&t!==void 0?t:0,")")}}function Ve(e,l){if(e&1&&(o(0,"div",17),n(1),i()),e&2){let t=d(2).$implicit;a(),m("duration: ",t.step.testSummary.testDurationSec,"s")}}function Be(e,l){if(e&1&&(o(0,"div",53),T(1,"span",54),h(2,"ccapCoverageTierClass"),o(3,"span"),n(4,"lines:"),i(),o(5,"span",55),h(6,"ccapCoverageTierClass"),n(7),i()()),e&2){let t=l;a(),y(L(2,5,t.pct,"dot")),a(4),y(L(6,8,t.pct,"text")),a(2),m(" ",t.pct,"% ")}}function ze(e,l){if(e&1&&c(0,je,2,3,"div")(1,Ve,2,1,"div",17)(2,Be,8,11,"div",53),e&2){let t,r=d().$implicit;p(r.step.testSummary.totalSpecs!==void 0?0:-1),a(),p(r.step.testSummary.testDurationSec!==void 0?1:-1),a(),p((t=r.step.testSummary.coverage==null?null:r.step.testSummary.coverage.lines)?2:-1,t)}}function He(e,l){e&1&&n(0," \u2014 ")}function Ne(e,l){if(e&1&&(o(0,"dt",17),n(1,"startedAt"),i(),o(2,"dd",68),n(3),h(4,"ccapRelativeTime"),i()),e&2){let t=d(2).$implicit;a(2),P("title",t.step.startedAt),a(),m(" ",O(4,2,t.step.startedAt)," ")}}function Oe(e,l){if(e&1&&n(0),e&2){let t=d(2).$implicit;m(" ",t.step.durationSec," ")}}function Ge(e,l){e&1&&n(0," \u2014 ")}function Ke(e,l){if(e&1&&n(0),e&2){let t=d(2).$implicit;F(" ",t.step.logLineStart,"\u2013",t.step.logLineEnd," ")}}function Xe(e,l){e&1&&n(0," \u2014 ")}function qe(e,l){if(e&1&&(o(0,"li")(1,"span",17),n(2,"specs:"),i(),n(3),i()),e&2){let t,r=d(3).$implicit;a(3),N(" passed ",(t=r.step.testSummary.passed)!==null&&t!==void 0?t:"\u2014"," / total ",r.step.testSummary.totalSpecs," (failures ",(t=r.step.testSummary.failures)!==null&&t!==void 0?t:0,") ")}}function Je(e,l){if(e&1&&(o(0,"li")(1,"span",17),n(2,"test run duration:"),i(),n(3),i()),e&2){let t=d(3).$implicit;a(3),m(" ",t.step.testSummary.testDurationSec,"s ")}}function Qe(e,l){if(e&1&&(o(0,"section",63)(1,"h3",59),n(2," Test results "),i(),o(3,"ul",69),c(4,qe,4,3,"li")(5,Je,4,1,"li"),i()()),e&2){let t=d(2).$implicit;a(4),p(t.step.testSummary.totalSpecs!==void 0?4:-1),a(),p(t.step.testSummary.testDurationSec!==void 0?5:-1)}}function Ue(e,l){if(e&1&&(o(0,"div",72)(1,"p",73),T(2,"span",54),h(3,"ccapCoverageTierClass"),o(4,"span"),n(5),i()(),o(6,"p",74),h(7,"ccapCoverageTierClass"),n(8),i(),o(9,"p",75),n(10),i()()),e&2){let t=l.$implicit;a(2),y(L(3,8,t.pct,"dot")),a(3),C(t.label),a(),y(L(7,11,t.pct,"text")),a(2),m(" ",t.pct,"% "),a(2),F(" ",t.covered," / ",t.total," ")}}function We(e,l){if(e&1&&(o(0,"section",64)(1,"h3",70),n(2," Coverage "),i(),o(3,"div",71),$(4,Ue,11,14,"div",72,he),i()()),e&2){let t=d(2).$implicit;a(4),I(t.detail.coverageMetrics)}}function Ye(e,l){if(e&1&&(o(0,"li",78),n(1),i()),e&2){let t=l.$implicit;a(),m(" ",t.text," ")}}function Ze(e,l){if(e&1&&(o(0,"section",65)(1,"h3",76),n(2," Pipeline log errors "),i(),o(3,"ul",77),$(4,Ye,2,1,"li",78,me),i()()),e&2){let t=d(2).$implicit;a(4),I(t.detail.logErrorRows)}}function et(e,l){if(e&1&&(o(0,"li",78),n(1),i()),e&2){let t=l.$implicit;a(),m(" ",t.text," ")}}function tt(e,l){if(e&1&&(o(0,"section",66)(1,"h3",76),n(2," Test failures "),i(),o(3,"ul",77),$(4,et,2,1,"li",78,me),i()()),e&2){let t=d(2).$implicit;a(4),I(t.detail.testFailureRows)}}function it(e,l){if(e&1&&(o(0,"section",67)(1,"h3",76),n(2," Status failed "),i(),o(3,"p",79),n(4),i()()),e&2){let t=d(2).$implicit;a(4),m(" ",t.detail.failedStatusHint," ")}}function nt(e,l){if(e&1&&(o(0,"tr",51)(1,"td",56)(2,"div",57)(3,"section",58)(4,"h3",59),n(5,"Meta"),i(),o(6,"dl",60),c(7,Ne,5,4),o(8,"dt",17),n(9,"durationSec"),i(),o(10,"dd",61),c(11,Oe,1,1)(12,Ge,1,0),i(),o(13,"dt",17),n(14,"log lines (output.log)"),i(),o(15,"dd",62),c(16,Ke,1,2)(17,Xe,1,0),i()()(),c(18,Qe,6,2,"section",63)(19,We,6,0,"section",64)(20,Ze,6,0,"section",65)(21,tt,6,0,"section",66)(22,it,5,1,"section",67),i()()()),e&2){let t=d().$implicit;a(2),P("id","ldp-detail-"+t.stepId),a(5),p(t.step.startedAt?7:-1),a(4),p(t.step.durationSec!==void 0&&t.step.durationSec!==null?11:12),a(5),p(t.step.logLineStart!==void 0&&t.step.logLineEnd!==void 0?16:17),a(2),p(t.step.testSummary?18:-1),a(),p(t.detail.coverageMetrics.length>0?19:-1),a(),p(t.detail.logErrorRows.length>0?20:-1),a(),p(t.detail.testFailureRows.length>0?21:-1),a(),p(t.detail.failedStatusHint?22:-1)}}function ot(e,l){if(e&1){let t=H();o(0,"tr",38)(1,"td",39)(2,"button",40),E("click",function(){let s=B(t).$implicit,_=d(3);return z(_.handleStepExpandToggle({stepId:s.stepId}))}),ee(),o(3,"svg",41),T(4,"polyline",42),i()()(),te(),o(5,"td",43),n(6),i(),o(7,"td",44)(8,"span",45),n(9),i(),c(10,Ie,2,2,"span",46)(11,Fe,2,6,"span",47),i(),o(12,"td",48),c(13,ke,1,1)(14,Ae,1,0),i(),o(15,"td",49),c(16,Re,1,2)(17,Me,1,0),i(),o(18,"td",50),c(19,ze,3,3)(20,He,1,0),i()(),c(21,nt,23,9,"tr",51)}if(e&2){let t,r=l.$implicit,s=d(3);a(2),P("aria-expanded",s.expandedStepIds_$()[r.stepId]===!0)("aria-controls","ldp-detail-"+r.stepId)("aria-label","R\xE9szletek: "+r.stepId),a(),ie("-rotate-90",s.expandedStepIds_$()[r.stepId]!==!0),a(3),C(r.stepId),a(2),b("ngClass",ne(14,be,r.step.status==="ok",r.step.status==="failed",r.step.status==="running",r.step.status!=="ok"&&r.step.status!=="failed"&&r.step.status!=="running")),a(),m(" ",r.step.status," "),a(),p(r.step.status==="failed"&&(r.step.errors!=null&&r.step.errors.length)?10:-1),a(),p((t=r.step.testSummary==null||r.step.testSummary.coverage==null?null:r.step.testSummary.coverage.lines)?11:-1,t),a(2),p(r.step.durationSec!==void 0&&r.step.durationSec!==null?13:14),a(3),p(r.step.logLineStart!==void 0&&r.step.logLineEnd!==void 0?16:17),a(3),p(r.step.testSummary?19:20),a(2),p(s.expandedStepIds_$()[r.stepId]?21:-1)}}function at(e,l){if(e&1&&(o(0,"li")(1,"span",17),n(2,"serverRunning:"),i(),n(3),i()),e&2){let t=d();a(3),m(" ",t.serverRunning?"true":"false"," ")}}function lt(e,l){if(e&1&&(o(0,"li")(1,"span",17),n(2,"restartPending:"),i(),n(3),i()),e&2){let t=d();a(3),m(" ",t.restartPending?"true":"false"," ")}}function rt(e,l){if(e&1&&(o(0,"dt",17),n(1,"trimmedAt"),i(),o(2,"dd",61),n(3),i()),e&2){let t=d(2);a(3),C(t.trimInfo.trimmedAt)}}function st(e,l){if(e&1&&(o(0,"dt",17),n(1,"removedLineCount"),i(),o(2,"dd"),n(3),i()),e&2){let t=d(2);a(3),C(t.trimInfo.removedLineCount)}}function dt(e,l){if(e&1&&(o(0,"dt",17),n(1,"fileLineCountAfterTrim"),i(),o(2,"dd"),n(3),i()),e&2){let t=d(2);a(3),C(t.trimInfo.fileLineCountAfterTrim)}}function pt(e,l){if(e&1&&(o(0,"div",34)(1,"h2",35),n(2,"trimInfo"),i(),o(3,"dl",60),c(4,rt,4,1)(5,st,4,1)(6,dt,4,1),i()()),e&2){let t=d();a(4),p(t.trimInfo.trimmedAt?4:-1),a(),p(t.trimInfo.removedLineCount!==void 0?5:-1),a(),p(t.trimInfo.fileLineCountAfterTrim!==void 0?6:-1)}}function _t(e,l){if(e&1&&(o(0,"div",22)(1,"div",23)(2,"h2",24),n(3," Pipeline steps "),i(),o(4,"div",25)(5,"table",26)(6,"thead",27)(7,"tr")(8,"th",28)(9,"span",29),n(10,"R\xE9szletek"),i()(),o(11,"th",30),n(12,"Step"),i(),o(13,"th",30),n(14,"Status"),i(),o(15,"th",30),n(16,"Duration (s)"),i(),o(17,"th",31),n(18,"Log lines"),i(),o(19,"th",32),n(20,"Tests / coverage"),i()()(),o(21,"tbody"),$(22,ot,22,19,null,null,Se),i()()()(),o(24,"div",33)(25,"div",34)(26,"h2",35),n(27,"Phase"),i(),o(28,"p",36),n(29),i()(),o(30,"div",34)(31,"h2",35),n(32,"Flags"),i(),o(33,"ul",37)(34,"li")(35,"span",17),n(36,"pipelineComplete:"),i(),n(37),i(),c(38,at,4,1,"li")(39,lt,4,1,"li"),i()()(),c(40,pt,7,3,"div",34),i()),e&2){let t=l,r=d(2);a(22),I(r.stepTableRows_$()),a(7),C(t.phase),a(8),m(" ",t.pipelineComplete?"true":"false"," "),a(),p(t.serverRunning!==void 0?38:-1),a(),p(t.restartPending!==void 0?39:-1),a(),p(t.trimInfo?40:-1)}}function ct(e,l){if(e&1&&c(0,_t,41,5,"div",22),e&2){let t,r=d();p((t=r.liveDevPipeline_DS.pipelineStatus_$())?0:-1,t)}}var ue=(()=>{class e{snapshotTypeEnum=w;liveDevPipeline_DS=R(ce);stepTableRows_$=this.liveDevPipeline_DS.stepTableRows_$;isAutoRefreshEnabled_$=f(!1);expandedStepIds_$=f({});ngOnInit(){this.liveDevPipeline_DS.loadPage()}ngOnDestroy(){this.liveDevPipeline_DS.stopPolling()}handleSnapshotSelect(t){this.liveDevPipeline_DS.snapshotView_$()!==t&&(this.expandedStepIds_$.set({}),this.liveDevPipeline_DS.setSnapshotView(t))}handleStepExpandToggle(t){let r=t.stepId,s=this.expandedStepIds_$(),_=s[r]===!0,u=q(X({},s),{[r]:!_});this.expandedStepIds_$.set(u)}handleAutoRefreshChange(t){let r=t.target;if(r===null||!(r instanceof HTMLInputElement))return;let s=r.checked;this.isAutoRefreshEnabled_$.set(s),s?this.liveDevPipeline_DS.startPolling():this.liveDevPipeline_DS.stopPolling()}handleRefresh(){this.liveDevPipeline_DS.refresh()}handleRetryLoad(){this.liveDevPipeline_DS.refresh()}static \u0275fac=function(r){return new(r||e)};static \u0275cmp=W({type:e,selectors:[["app-ccap-live-dev-pipeline"]],decls:50,vars:9,consts:[[1,"max-w-5xl","mx-auto","p-3","gt-xs:p-6","text-neutral-100"],[1,"text-xl","gt-xs:text-2xl","font-bold","mb-2","gt-xs:mb-3"],[1,"flex","flex-wrap","gap-3","gt-xs:gap-4","items-center","mb-3","gt-xs:mb-4","rounded-lg","border","border-neutral-700","bg-neutral-900/50","px-3","py-2","gt-xs:px-4","gt-xs:py-2.5","text-sm","text-neutral-300"],[1,"text-neutral-400","text-sm","gt-xs:text-base","mb-4","gt-xs:mb-6"],[1,"bg-neutral-800","px-1","rounded"],[1,"font-medium","text-neutral-300"],[1,"border","border-neutral-700","rounded-lg","px-3","py-3","gt-xs:px-4","gt-xs:py-3","mb-4","gt-xs:mb-5"],[1,"text-xs","gt-xs:text-sm","font-medium","text-neutral-400","px-1"],[1,"flex","flex-wrap","gap-4","gt-xs:gap-6","items-center"],[1,"flex","items-center","gap-2","cursor-pointer","text-sm","gt-xs:text-base","text-neutral-300","select-none"],["type","radio","name","liveDevPipelineSnapshot",1,"border-neutral-600","bg-neutral-800","text-neonCyan","focus:ring-neonCyan",3,"change","value","checked"],[1,"text-xs"],[1,"flex","flex-wrap","gap-4","gt-xs:gap-6","items-center","mb-4","gt-xs:mb-5"],["type","button",1,"px-3","py-1.5","gt-xs:px-4","gt-xs:py-2","text-sm","gt-xs:text-base","border","border-neonCyan","rounded","text-neutral-300","hover:bg-neutral-700","disabled:opacity-50","transition-colors",3,"click","disabled"],["type","checkbox",1,"rounded","border-neutral-600","bg-neutral-800","text-neonCyan","focus:ring-neonCyan",3,"change","checked"],[1,"text-neutral-400"],[1,"rounded-lg","border","border-amber-600/50","bg-amber-950/30","px-4","py-3","text-amber-100","text-sm","gt-xs:text-base","max-w-3xl"],[1,"text-neutral-500"],["sourceLabelOverride","Live Development Pipeline",1,"mb-4","block","max-w-3xl",3,"error"],["type","button",1,"px-3","py-1.5","text-sm","border","border-neonCyan","rounded","text-neutral-300","hover:bg-neutral-700","transition-colors",3,"click"],[1,"font-medium","text-amber-200","mb-1"],[1,"text-neutral-300","whitespace-pre-wrap"],[1,"flex","flex-col","gap-4","gt-xs:gap-6"],[1,"rounded-lg","border","border-neutral-700","overflow-hidden"],[1,"text-sm","font-semibold","text-neutral-400","uppercase","tracking-wide","px-3","py-2","bg-neutral-900/60","border-b","border-neutral-700"],[1,"overflow-x-auto"],[1,"w-full","text-left","text-sm","text-neutral-300"],[1,"bg-neutral-900/80","text-neutral-400","text-xs","uppercase"],["scope","col",1,"px-1","py-2","w-10","font-medium"],[1,"sr-only"],["scope","col",1,"px-3","py-2","font-medium"],["scope","col",1,"px-3","py-2","font-medium","hidden","sm:table-cell"],["scope","col",1,"px-3","py-2","font-medium","hidden","md:table-cell"],[1,"grid","grid-cols-1","sm:grid-cols-2","gap-3","gt-xs:gap-4"],[1,"rounded-lg","border","border-neutral-700","bg-neutral-900/40","p-3","gt-xs:p-4"],[1,"text-sm","font-semibold","text-neutral-400","uppercase","tracking-wide","mb-2"],[1,"text-lg","font-mono","text-ccapAccent"],[1,"text-sm","text-neutral-300","space-y-1"],[1,"border-t","border-neutral-800","hover:bg-neutral-800/40"],[1,"px-1","py-2","align-middle","w-10"],["type","button",1,"p-1.5","rounded-md","text-neutral-400","hover:text-ccapAccent","hover:bg-neutral-800","transition-colors","focus:outline-none","focus:ring-2","focus:ring-neonCyan/50",3,"click"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-4","h-4","shrink-0","transition-transform","duration-150"],["points","6 9 12 15 18 9"],[1,"px-3","py-2","font-mono","text-ccapAccent"],[1,"px-3","py-2"],[3,"ngClass"],[1,"ml-1.5","rounded","px-1.5","py-0.5","text-xs","font-medium","bg-red-900/30","text-red-300"],["aria-hidden","true",1,"ml-1.5","inline-block","w-2.5","h-2.5","rounded-full","align-middle",3,"class"],[1,"px-3","py-2","font-mono"],[1,"px-3","py-2","font-mono","text-xs","hidden","sm:table-cell"],[1,"px-3","py-2","text-xs","hidden","md:table-cell","align-top"],[1,"border-t","border-neutral-800","bg-neutral-950/50"],["aria-hidden","true",1,"ml-1.5","inline-block","w-2.5","h-2.5","rounded-full","align-middle"],[1,"text-neutral-500","mt-1","flex","items-center","gap-1.5"],["aria-hidden","true",1,"inline-block","w-2","h-2","rounded-full"],[1,"font-mono","font-semibold"],["colspan","6",1,"p-0","align-top"],[1,"px-3","py-4","gt-xs:px-5","gt-xs:py-5","border-t","border-neutral-800/80","space-y-4"],["aria-label","Step meta"],[1,"text-xs","font-semibold","text-neutral-500","uppercase","tracking-wide","mb-2"],[1,"grid","grid-cols-1","sm:grid-cols-2","gap-x-4","gap-y-1","text-sm","text-neutral-300"],[1,"font-mono"],[1,"font-mono","text-xs"],["aria-label","Test results"],["aria-label","Coverage"],["aria-label","Pipeline log errors"],["aria-label","Test failures"],["aria-label","Step failed hint"],[1,"break-all"],[1,"text-sm","text-neutral-300","space-y-1","list-none","pl-0"],[1,"text-xs","font-semibold","text-cyan-300/90","uppercase","tracking-wide","mb-2"],[1,"grid","grid-cols-2","sm:grid-cols-4","gap-2","gt-xs:gap-3","max-w-3xl"],[1,"rounded-md","border","border-cyan-900/50","bg-neutral-900/60","px-2","py-2","gt-xs:px-3","gt-xs:py-2.5"],[1,"text-[10px]","gt-xs:text-xs","font-medium","text-neutral-500","uppercase","tracking-wide","mb-1","flex","items-center","gap-1.5"],[1,"text-lg","gt-xs:text-xl","font-mono","font-semibold"],[1,"text-[10px]","gt-xs:text-xs","text-neutral-500","mt-0.5","font-mono"],[1,"text-xs","font-semibold","text-red-300","uppercase","tracking-wide","mb-2"],[1,"list-none","space-y-2","text-sm","text-red-100/95"],[1,"border-l-2","border-red-600/50","pl-2","whitespace-pre-wrap","break-words"],[1,"text-sm","text-red-100/95","border-l-2","border-red-600/50","pl-2"]],template:function(r,s){if(r&1&&(o(0,"div",0)(1,"h1",1),n(2,"Live Development Pipeline"),i(),c(3,Te,5,4,"div",2),o(4,"p",3),n(5," Dev pipeline meta a szerver "),o(6,"code",4),n(7,"logs/live-dev-pipeline/status.json"),i(),n(8," f\xE1jlj\xE1b\xF3l; az "),o(9,"strong",5),n(10,"El\u0151z\u0151 fut\xE1s"),i(),n(11," opci\xF3 a "),o(12,"code",4),n(13,"status-previous.json"),i(),n(14," snapshot-ot t\xF6lti. Alapb\xF3l nincs periodikus lek\xE9r\xE9s; a "),o(15,"strong",5),n(16,"Friss\xEDt\xE9s"),i(),n(17," gomb azonnali \xFAjrat\xF6lt\xE9st k\xE9r. Opcion\xE1lisan bekapcsolhat\xF3 automatikus friss\xEDt\xE9s kb. percenk\xE9nt. A "),o(18,"strong",5),n(19,"pipeline step"),i(),n(20," sorok lenyithat\xF3k \u2014 r\xE9szletes meta, teszt, coverage \xE9s hiba inf\xF3 a sor alatt. "),i(),o(21,"fieldset",6)(22,"legend",7),n(23,"Megjelen\xEDtett snapshot"),i(),o(24,"div",8)(25,"label",9)(26,"input",10),E("change",function(){return s.handleSnapshotSelect(s.snapshotTypeEnum.current)}),i(),o(27,"span"),n(28,"Aktu\xE1lis ("),o(29,"code",11),n(30,"status.json"),i(),n(31,")"),i()(),o(32,"label",9)(33,"input",10),E("change",function(){return s.handleSnapshotSelect(s.snapshotTypeEnum.previous)}),i(),o(34,"span"),n(35,"El\u0151z\u0151 fut\xE1s ("),o(36,"code",11),n(37,"status-previous.json"),i(),n(38,")"),i()()()(),o(39,"div",12)(40,"button",13),E("click",function(){return s.handleRefresh()}),n(41),i(),o(42,"label",9)(43,"input",14),E("change",function(u){return s.handleAutoRefreshChange(u)}),i(),o(44,"span"),n(45,"Automatikus friss\xEDt\xE9s (kb. percenk\xE9nt)"),i()()(),c(46,Le,3,1)(47,we,2,0,"p",15)(48,$e,5,1,"div",16)(49,ct,1,1),i()),r&2){let _;a(3),p((_=s.liveDevPipeline_DS.pipelineStatus_$())?3:-1,_),a(23),b("value",s.snapshotTypeEnum.current)("checked",s.liveDevPipeline_DS.snapshotView_$()===s.snapshotTypeEnum.current),a(7),b("value",s.snapshotTypeEnum.previous)("checked",s.liveDevPipeline_DS.snapshotView_$()===s.snapshotTypeEnum.previous),a(7),b("disabled",s.liveDevPipeline_DS.loading_$()),a(),m(" ",s.liveDevPipeline_DS.loading_$()?"Bet\xF6lt\xE9s\u2026":"Friss\xEDt\xE9s"," "),a(2),b("checked",s.isAutoRefreshEnabled_$()),a(3),p(s.liveDevPipeline_DS.loadError_$()?46:s.liveDevPipeline_DS.loading_$()&&!s.liveDevPipeline_DS.pipelineStatus_$()?47:s.liveDevPipeline_DS.unavailableReason_$()&&!s.liveDevPipeline_DS.pipelineStatus_$()?48:49)}},dependencies:[ae,M,pe,de],encapsulation:2})}return e})();var mt=[{path:"",pathMatch:"full",component:ue}],Nt=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=Y({type:e});static \u0275inj=U({imports:[le,re.forChild(mt),M]})}return e})();export{Nt as LiveDevPipeline_Module};
|
|
2
|
+
//# sourceMappingURL=live-dev-pipeline.module-BJMYI4UI.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{a as Z}from"./chunk-
|
|
1
|
+
import{a as Z}from"./chunk-6TLT2HW4.js";import"./chunk-CNXZS3XJ.js";import{a as v}from"./chunk-QGUSZ5YO.js";import{j as K,k as S}from"./chunk-WRXGGQII.js";import"./chunk-5UPNU54P.js";import"./chunk-7EQ4ZXQN.js";import{I as J}from"./chunk-GCECKZJT.js";import{$a as z,C as m,D as F,E as j,Fa as l,Ga as f,Ha as b,Hb as Y,J as $,K as R,Kb as H,L as N,Z as i,a as k,aa as _,ab as U,b as O,da as h,ga as c,hb as T,ia as L,k as y,ka as P,la as x,oa as M,p as E,pa as B,qa as s,ra as r,sa as g,ua as w,ub as V,va as u,wa as d,xb as G,y as C,z as A}from"./chunk-TBMJSIBB.js";var X=(()=>{class o{baseUrl=`${J.api.baseUrl}/logs`;http=m(G);getLlmDebugLog(){let e=`${this.baseUrl}/get-entries`;return E(this.http.get(e))}clearLlmDebugLog(){let e=`${this.baseUrl}/clear-log`;return E(this.http.delete(e))}deleteRun(e){let n=`${this.baseUrl}/delete-run/${e}`;return E(this.http.delete(n))}static \u0275fac=function(n){return new(n||o)};static \u0275prov=C({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var W=(()=>{class o{entries_$=_([]);loading_$=_(!1);loadError_$=_(null);logs_AS=m(X);loadLlmDebugLog(){return y(this,null,function*(){this.loading_$.set(!0),this.loadError_$.set(null);try{let e=yield this.logs_AS.getLlmDebugLog();this.entries_$.set(e.entries??[])}catch(e){this.loadError_$.set(e),this.entries_$.set([])}finally{this.loading_$.set(!1)}})}clearLog(){return y(this,null,function*(){this.loadError_$.set(null);try{yield this.logs_AS.clearLlmDebugLog(),yield this.loadLlmDebugLog()}catch(e){this.loadError_$.set(e)}})}deleteRun(e){return y(this,null,function*(){this.loadError_$.set(null);try{yield this.logs_AS.deleteRun(e),yield this.loadLlmDebugLog()}catch(n){this.loadError_$.set(n)}})}static \u0275fac=function(n){return new(n||o)};static \u0275prov=C({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();function Q(o,p){if(o&1&&g(0,"app-ccap-error-display",8),o&2){let e=d();c("error",e.logs_DS.loadError_$())}}function ee(o,p){o&1&&(s(0,"p",9),l(1,"Bet\xF6lt\xE9s\u2026"),r())}function te(o,p){o&1&&(s(0,"p",10),l(1,"Nincs log bejegyz\xE9s, vagy a f\xE1jl log nincs enged\xE9lyezve."),r())}function ne(o,p){if(o&1){let e=w();s(0,"div",15),g(1,"span",31),s(2,"span",32),l(3),r(),s(4,"button",33),u("click",function(){$(e);let t=d().$index,a=d(2);return R(a.deleteRun(a.getRunIndexForEntry(t)))}),l(5," T\xF6rl\xE9s "),r(),g(6,"span",31),r()}if(o&2){let e=d().$index,n=d(2);i(3),b("Run ",n.getRunIndexForEntry(e),""),i(),c("disabled",n.logs_DS.loading_$())}}function oe(o,p){if(o&1&&(s(0,"span",20),l(1),r()),o&2){let e=d().$implicit,n=d(2);i(),f(n.getLineRangeText(e))}}function ie(o,p){if(o&1&&(s(0,"span",21),l(1),z(2,"ccapRelativeTime"),r()),o&2){let e=d().$implicit;i(),b(" \xC9rkezett: ",U(2,1,e.timestamp),"")}}function re(o,p){if(o&1&&(s(0,"div",30)(1,"pre",34),l(2),r()()),o&2){let e=d().$implicit,n=d(2);i(),L("text-red-200",n.isErrorEntry(e))("text-neutral-300",!n.isErrorEntry(e)),i(),f(n.formatBody(e))}}function se(o,p){if(o&1){let e=w();h(0,ne,7,2,"div",15),s(1,"div",16)(2,"div",17)(3,"div",18)(4,"span",19),l(5),r(),h(6,oe,2,1,"span",20)(7,ie,3,3,"span",21),g(8,"app-s-copy-button",22),r(),s(9,"div",23)(10,"span",24),l(11),r(),s(12,"p",25),l(13),r()()(),s(14,"div",26)(15,"button",27),u("click",function(){let t=$(e).$index,a=d(2);return R(a.toggleExpanded(t))}),N(),s(16,"svg",28),g(17,"polyline",29),r(),l(18),r(),h(19,re,3,5,"div",30),r()()}if(o&2){let e=p.$implicit,n=p.$index,t=d(2);x(t.isRunStart(e)?0:-1),i(),L("border-neonCyan",t.toolResultIndexSet_$().has(n))("shadow-neon-glow-cyan",t.toolResultIndexSet_$().has(n))("border-neonOrange",(t.errorRelatedIndexSet_$().has(n)||t.isErrorEntry(e))&&!t.toolResultIndexSet_$().has(n))("shadow-neon-glow-orange",(t.errorRelatedIndexSet_$().has(n)||t.isErrorEntry(e))&&!t.toolResultIndexSet_$().has(n))("border-neonDefault",!t.toolResultIndexSet_$().has(n)&&!t.errorRelatedIndexSet_$().has(n)&&!t.isErrorEntry(e)),i(4),f(t.getEntryEmoji(e)),i(),x(t.getLineRangeText(e)?6:-1),i(),x(e.timestamp?7:-1),i(),c("content",t.getEntryReferenceText(e))("buttonTitle",t.getCopyButtonTitle(e)),i(3),f(t.getEntryEmoji(e)),i(2),f(e.header),i(3),L("-rotate-90",!t.isExpanded(n)),i(2),b(" ",t.isExpanded(n)?"Body elrejt\xE9se":"Body megjelen\xEDt\xE9se"," "),i(),x(t.isExpanded(n)?19:-1)}}function le(o,p){if(o&1&&(s(0,"div",11),M(1,se,20,22,"div",14,P().trackByIndex,!0),r()),o&2){let e=d();i(),B(e.logs_DS.entries_$())}}var ae={ANALYZE:"\u{1F4CB}",AGENTIC_LOOP:"\u{1F916}",TOOL_DESCRIPTION:"\u{1F527}",TOOL_RESULT:"\u{1F4E4}",TOOL_RESULT_CHUNKING:"\u2702\uFE0F",TOOL_ERROR_RETRY:"\u26A0\uFE0F",Run_FINALIZATION:"\u{1F3C1}",CHAT_HISTORY_COMPACTING:"\u{1F4DC}",EXECUTION_HISTORY_COMPACTING:"\u{1F4DC}",SOUL_COMPACTING:"\u{1F9E0}",CONTEXT_COMPACTING:"\u{1F5C2}\uFE0F",SELECT_RELEVANT_CHUNKS:"\u{1F50D}"},de="\u{1F4E5}",q=(()=>{class o{logs_DS=m(W);expandedIndex_$=_({});errorRelatedIndexSet_$=T(()=>{let e=this.logs_DS.entries_$(),n=new Set;for(let t=0;t<e.length;t++)this.isErrorRelatedEntry(e[t])&&n.add(t);return n});toolResultIndexSet_$=T(()=>{let e=this.logs_DS.entries_$(),n=new Set;for(let t=0;t<e.length;t++)this.isToolResultEntry(e[t])&&n.add(t);return n});ngOnInit(){this.logs_DS.loadLlmDebugLog()}refresh(){this.logs_DS.loadLlmDebugLog()}isExpanded(e){return this.expandedIndex_$()[e]===!0}toggleExpanded(e){this.expandedIndex_$.update(n=>O(k({},n),{[e]:!n[e]}))}expandAll(){let e=this.logs_DS.entries_$(),n={};for(let t=0;t<e.length;t++)n[t]=!0;this.expandedIndex_$.set(n)}collapseAll(){this.expandedIndex_$.set({})}expandResultsOnly(){let e=this.logs_DS.entries_$(),n={};for(let t=0;t<e.length;t++)this.isResultContentEntry(e[t])&&(n[t]=!0);this.expandedIndex_$.set(n)}formatBody(e){let n=e.body?.trim()??"";if(!n)return"";if(e.bodyIsJson===!0||n.startsWith("{")){let t=K.tryParseStrict({text:e.body,contextLabel:"CCAP_Logs_formatBody"});return t.ok?JSON.stringify(t.value,null,2).replace(/\\n/g,`
|
|
2
2
|
`).replace(/\\t/g," "):e.body}return e.body}trackByIndex(e){return e}isRunStart(e){let n=e.header??"";return n.includes("[LLM] ANALYZE")&&n.includes("full conversation")}isErrorEntry(e){return e.isError===!0?!0:(e.header??"").includes("[ERROR]")}isErrorRelatedEntry(e){return((e.header??"").match(/\[LLM\]\s+([A-Z_]+)\s+\|/)?.[1]??"")==="TOOL_ERROR_RETRY"}isToolResultEntry(e){return(e.header??"").includes("[LLM] TOOL_RESULT")}getEntryEmoji(e){let n=e.header??"";if(n.includes("[ERROR]"))return"\u274C";let a=n.match(/\[LLM\]\s+([A-Z_]+)\s+\|/)?.[1]??"";return ae[a]??de}getLineRangeText(e){let n=e.startLine,t=e.endLine;return n==null||t==null?"":n===t?`sor ${n}`:`sor ${n}\u2013${t}`}isResultContentEntry(e){return(e.header??"").includes("result content")}getEntryReferenceText(e){let n=e.header??"",t=this.getLineRangeText(e),a=t?`${n} (${t})`:n;if(this.isResultContentEntry(e)){let D=this.formatBody(e);if(D)return`${a}
|
|
3
3
|
|
|
4
4
|
${D}`}return a}getCopyButtonTitle(e){return this.isResultContentEntry(e)?"Elem \xE9s tartalom m\xE1sol\xE1sa":"Elem neve \xE9s sor tartom\xE1ny m\xE1sol\xE1sa"}getRunIndexForEntry(e){let n=this.logs_DS.entries_$(),t=0;for(let a=0;a<=e&&a<n.length;a++)this.isRunStart(n[a])&&t++;return t>0?t-1:0}clearLog(){this.logs_DS.clearLog()}deleteRun(e){this.logs_DS.deleteRun(e)}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=F({type:o,selectors:[["app-ccap-logs"]],decls:26,vars:8,consts:[[1,"max-w-4xl","mx-auto","p-3","gt-xs:p-6","text-neutral-100"],[1,"text-xl","gt-xs:text-2xl","font-bold","mb-4","gt-xs:mb-6"],[1,"text-neutral-400","text-sm","gt-xs:text-base","mb-4","gt-xs:mb-6"],[1,"bg-neutral-800","px-1","rounded"],[1,"flex","flex-wrap","gap-1.5","gt-xs:gap-2","items-center","mb-3","gt-xs:mb-4"],["type","button",1,"px-3","py-1.5","gt-xs:px-4","gt-xs:py-2","text-sm","gt-xs:text-base","border","border-neonCyan","rounded","text-neutral-300","hover:bg-neutral-700","disabled:opacity-50","transition-colors",3,"click","disabled"],["type","button",1,"px-3","py-1.5","gt-xs:px-4","gt-xs:py-2","text-sm","gt-xs:text-base","border","border-neonDefault","rounded","text-neutral-300","hover:bg-neutral-700","disabled:opacity-50","transition-colors",3,"click","disabled"],["type","button",1,"px-3","py-1.5","gt-xs:px-4","gt-xs:py-2","text-sm","gt-xs:text-base","border","border-red-500/70","rounded","text-red-200","hover:bg-red-900/60","disabled:opacity-50","transition-colors",3,"click","disabled"],["sourceLabelOverride","LLM debug log",1,"mb-4","block","max-w-3xl",3,"error"],[1,"text-neutral-400"],[1,"text-neutral-500"],[1,"space-y-2","gt-xs:space-y-3"],[1,"pt-6"],["routerLink","/",1,"px-4","py-2","border","border-neonCyan","rounded","text-neutral-300","hover:bg-neutral-700"],[1,"p-2.5","gt-xs:p-4","bg-neutral-800/50","border","rounded-lg",3,"border-neonCyan","shadow-neon-glow-cyan","border-neonOrange","shadow-neon-glow-orange","border-neonDefault"],["aria-hidden","true",1,"flex","items-center","gap-2","gt-xs:gap-3","py-2","gt-xs:py-4","min-w-0"],[1,"p-2.5","gt-xs:p-4","bg-neutral-800/50","border","rounded-lg"],[1,"min-w-0","flex","flex-col","gap-2","gt-xs:flex-row","gt-xs:items-start","gt-xs:justify-between","gt-xs:gap-2"],[1,"flex","flex-wrap","items-center","gap-x-1.5","gap-y-1","gt-xs:gap-2","order-1","gt-xs:order-2","gt-xs:ml-2","gt-xs:flex-nowrap","gt-xs:justify-end","w-full","gt-xs:w-auto","shrink-0"],["aria-hidden","true",1,"text-base","gt-xs:text-lg","shrink-0","gt-xs:hidden"],[1,"text-[11px]","gt-xs:text-xs","text-neutral-500","font-mono","whitespace-nowrap"],[1,"text-[11px]","gt-xs:text-xs","text-neutral-500","min-w-0","max-w-full","gt-xs:max-w-none"],[3,"content","buttonTitle"],[1,"flex","items-start","gap-2","min-w-0","flex-1","order-2","gt-xs:order-1","w-full","gt-xs:w-auto"],["aria-hidden","true",1,"text-base","gt-xs:text-lg","shrink-0","hidden","gt-xs:inline"],[1,"text-neutral-300","font-mono","text-xs","gt-xs:text-sm","break-all","min-w-0","w-full"],[1,"mt-1.5","gt-xs:mt-2"],["type","button",1,"text-neutral-400","hover:text-neutral-200","text-xs","gt-xs:text-sm","flex","items-center","gap-1",3,"click"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round",1,"w-3","h-3","shrink-0","transition-transform","duration-150"],["points","6 9 12 15 18 9"],["title","\xC1tm\xE9retezhet\u0151: h\xFAzd az als\xF3 jobb sz\xE9let",1,"ccap-logs-body-wrapper","mt-1","rounded","bg-neutral-900","resize-y","overflow-auto","min-h-32","max-h-[80vh]","h-96","border","border-neutral-700/50"],[1,"flex-1","min-w-0","h-px","border-t-2","border-neonCyan/60","shadow-neon-glow-cyan"],[1,"text-[11px]","gt-xs:text-xs","font-medium","uppercase","tracking-wider","text-neonCyan/90","px-2","py-0.5","gt-xs:px-3","gt-xs:py-1","shrink-0","rounded-full","border","border-neonCyan/50","bg-neutral-900/80","shadow-neon-glow-cyan"],["type","button",1,"px-1.5","py-0.5","gt-xs:px-2","gt-xs:py-1","text-[11px]","gt-xs:text-xs","border","border-red-500/70","rounded","text-red-300","hover:bg-red-900/40","disabled:opacity-50","transition-colors","shrink-0",3,"click","disabled"],[1,"p-1.5","gt-xs:p-2","h-full","min-h-0","overflow-auto","text-xs","font-mono","whitespace-pre-wrap","break-words"]],template:function(n,t){n&1&&(s(0,"div",0)(1,"h1",1),l(2,"LLM Debug Log"),r(),s(3,"p",2),l(4," A szerver "),s(5,"code",3),l(6,"logs/llm-debug.log"),r(),l(7," f\xE1jlj\xE1nak tartalma, bejegyz\xE9senk\xE9nt t\xF6rdelve. A body (JSON vagy sz\xF6veg) b\u0151v\xEDthet\u0151. "),r(),s(8,"div",4)(9,"button",5),u("click",function(){return t.refresh()}),l(10),r(),s(11,"button",6),u("click",function(){return t.expandAll()}),l(12," \xD6sszes kinyit\xE1sa "),r(),s(13,"button",6),u("click",function(){return t.collapseAll()}),l(14," \xD6sszes becsuk\xE1sa "),r(),s(15,"button",6),u("click",function(){return t.expandResultsOnly()}),l(16," Csak resultok kinyit\xE1sa "),r(),s(17,"button",7),u("click",function(){return t.clearLog()}),l(18," Log ki\xFCr\xEDt\xE9se "),r()(),h(19,Q,1,1,"app-ccap-error-display",8)(20,ee,2,0,"p",9)(21,te,2,0,"p",10)(22,le,3,0,"div",11),s(23,"div",12)(24,"a",13),l(25," Vissza "),r()()()),n&2&&(i(9),c("disabled",t.logs_DS.loading_$()),i(),b(" ",t.logs_DS.loading_$()?"Bet\xF6lt\xE9s\u2026":"Friss\xEDt\xE9s"," "),i(),c("disabled",t.logs_DS.loading_$()||t.logs_DS.entries_$().length===0),i(2),c("disabled",t.logs_DS.loading_$()||t.logs_DS.entries_$().length===0),i(2),c("disabled",t.logs_DS.loading_$()||t.logs_DS.entries_$().length===0),i(2),c("disabled",t.logs_DS.loading_$()||t.logs_DS.entries_$().length===0),i(2),x(t.logs_DS.loadError_$()?19:-1),i(),x(t.logs_DS.loading_$()&&t.logs_DS.entries_$().length===0?20:t.logs_DS.entries_$().length===0?21:22))},dependencies:[Y,S,v,Z],encapsulation:2})}return o})();var pe=[{path:"",pathMatch:"full",component:q}],Me=(()=>{class o{static \u0275fac=function(n){return new(n||o)};static \u0275mod=j({type:o});static \u0275inj=A({imports:[V,H.forChild(pe),S,v]})}return o})();export{Me as Logs_Module};
|
|
5
|
-
//# sourceMappingURL=logs.module-
|
|
5
|
+
//# sourceMappingURL=logs.module-MLZLMYTE.js.map
|