@futdevpro/ccap 1.1.2863 → 1.1.2881
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-SRVXVWB4.js → agent-instances.module-U742BGNW.js} +2 -2
- package/client-dist/{ca.module-ZAYCRAK6.js → ca.module-WANXRIO7.js} +2 -2
- package/client-dist/cc-usage-dashboard.component-TPMSJIGI.js +2 -0
- package/client-dist/cc-usage-dashboard.component-TPMSJIGI.js.map +7 -0
- package/client-dist/{cc.module-BF2AOAIM.js → cc.module-JZUXUXHP.js} +2 -2
- package/client-dist/{chunk-CBIUSRE5.js → chunk-26DXMUXV.js} +2 -2
- package/client-dist/{chunk-AFF37OKI.js → chunk-2LJT2APC.js} +2 -2
- package/client-dist/{chunk-O7U4KV25.js → chunk-435IBC6L.js} +2 -2
- package/client-dist/{chunk-7JFONJTJ.js → chunk-467OMXRK.js} +2 -2
- package/client-dist/{chunk-7MSQD5HV.js → chunk-46N7EC7U.js} +2 -2
- package/client-dist/{chunk-XXO2YNDP.js → chunk-4OKUKX55.js} +2 -2
- package/client-dist/{chunk-34XFCTVF.js → chunk-4RRBZXYU.js} +2 -2
- package/client-dist/{chunk-OIBDRASW.js → chunk-4TBE5I3U.js} +2 -2
- package/client-dist/{chunk-DUN7ICUI.js → chunk-6A2IM2XR.js} +2 -2
- package/client-dist/{chunk-2LOFMRCO.js → chunk-6BQHKSUP.js} +2 -2
- package/client-dist/{chunk-4TEHGQ5C.js → chunk-6IYFOHCN.js} +2 -2
- package/client-dist/{chunk-WYTT3YHQ.js → chunk-6NWEJXDU.js} +2 -2
- package/client-dist/{chunk-ZMZ462V7.js → chunk-767Z7I55.js} +2 -2
- package/client-dist/{chunk-YU32GIMP.js → chunk-AS2SYIJB.js} +2 -2
- package/client-dist/{chunk-QUEQSNIS.js → chunk-BHWHGLKC.js} +2 -2
- package/client-dist/{chunk-TUKCFE3B.js → chunk-CILMMQ5V.js} +2 -2
- package/client-dist/{chunk-B7WQ5TK3.js → chunk-CSHUFD2L.js} +2 -2
- package/client-dist/{chunk-EZNIJZBL.js → chunk-DNHL6M7F.js} +2 -2
- package/client-dist/{chunk-EDQWK2Q5.js → chunk-DUN255KX.js} +2 -2
- package/client-dist/{chunk-UI6N7Y2P.js → chunk-EBSMIZTK.js} +2 -2
- package/client-dist/{chunk-YGTNCGIU.js → chunk-EY32IBWM.js} +2 -2
- package/client-dist/{chunk-I6OBHW45.js → chunk-FJGBPKHK.js} +2 -2
- package/client-dist/{chunk-EIT3LSQO.js → chunk-GDAL4G4Y.js} +2 -2
- package/client-dist/{chunk-FYXUOXRP.js → chunk-GR3CXOIX.js} +2 -2
- package/client-dist/{chunk-GODWUWRO.js → chunk-HDCFO7OE.js} +2 -2
- package/client-dist/{chunk-2X5MWPDN.js → chunk-HFVIX2ZG.js} +2 -2
- package/client-dist/{chunk-SX22WHCZ.js → chunk-HPBX6VCV.js} +2 -2
- package/client-dist/{chunk-VXJF6N32.js → chunk-IR4THKPA.js} +2 -2
- package/client-dist/{chunk-DZ74YN25.js → chunk-J5NYZUBP.js} +2 -2
- package/client-dist/{chunk-7JW45JC5.js → chunk-JDK64BE7.js} +2 -2
- package/client-dist/{chunk-EUY2HZZV.js → chunk-KMEGS6BP.js} +2 -2
- package/client-dist/{chunk-77HGZO43.js → chunk-KQLKM7RB.js} +2 -2
- package/client-dist/{chunk-52JG2IIG.js → chunk-LERWAULE.js} +2 -2
- package/client-dist/{chunk-L7PQ72ZG.js → chunk-M3RL34GF.js} +2 -2
- package/client-dist/{chunk-X2FIFUXZ.js → chunk-NJPSU6MN.js} +2 -2
- package/client-dist/{chunk-DHIVAX2C.js → chunk-ONEB5UF5.js} +2 -2
- package/client-dist/{chunk-ELFCSLIP.js → chunk-OP2PE3KG.js} +2 -2
- package/client-dist/{chunk-ELFCSLIP.js.map → chunk-OP2PE3KG.js.map} +1 -1
- package/client-dist/{chunk-SO3QL2U5.js → chunk-OZGFJXOA.js} +2 -2
- package/client-dist/{chunk-WQIBGXGU.js → chunk-PPRG7F5A.js} +2 -2
- package/client-dist/{chunk-4RT7LOTQ.js → chunk-PQUBI6TC.js} +2 -2
- package/client-dist/{chunk-XSP7NLZB.js → chunk-Q6JQHJME.js} +2 -2
- package/client-dist/{chunk-Q7GDEJL2.js → chunk-QDTY7SR6.js} +2 -2
- package/client-dist/{chunk-VLMQV3OI.js → chunk-RQ2HFT2L.js} +2 -2
- package/client-dist/{chunk-DU3IYPGM.js → chunk-RRN36VPR.js} +2 -2
- package/client-dist/{chunk-NI4AZWY2.js → chunk-S4GJTHYZ.js} +2 -2
- package/client-dist/{chunk-2Y7GYEOT.js → chunk-SKHAAE4A.js} +2 -2
- package/client-dist/{chunk-4XEPGDZH.js → chunk-TSPROG7P.js} +2 -2
- package/client-dist/{chunk-QHLRSGQG.js → chunk-U7ZBDYGU.js} +2 -2
- package/client-dist/{chunk-2DJBCAHJ.js → chunk-VQWGWQDA.js} +2 -2
- package/client-dist/{chunk-ZGWUDLYU.js → chunk-X7HHJQ2O.js} +2 -2
- package/client-dist/{chunk-23GMPVB5.js → chunk-XH3SQ4UP.js} +2 -2
- package/client-dist/{chunk-PZMEVMSF.js → chunk-XHF463TC.js} +2 -2
- package/client-dist/{chunk-CUUDVYOC.js → chunk-XJEATRA4.js} +2 -2
- package/client-dist/{chunk-QTRIOR6Z.js → chunk-XSXQC64X.js} +2 -2
- package/client-dist/{chunk-EMVGFT6L.js → chunk-YE57GLWU.js} +2 -2
- package/client-dist/{chunk-HSAGX22H.js → chunk-YX6NZTP7.js} +2 -2
- package/client-dist/{consultant.module-3PAIPMAH.js → consultant.module-WL4WEIIF.js} +2 -2
- package/client-dist/{crd.module-PJO2UJEG.js → crd.module-OE3ML5C7.js} +2 -2
- package/client-dist/{dashboard.module-TJMYHTHX.js → dashboard.module-NBINBB72.js} +2 -2
- package/client-dist/{do.module-SBE6P3B7.js → do.module-BLTXJC4T.js} +2 -2
- package/client-dist/{document-library.module-YH7IF4EP.js → document-library.module-TXGZT2VZ.js} +2 -2
- package/client-dist/{embedding-eval.module-STWWCUD7.js → embedding-eval.module-PYE5NL5R.js} +2 -2
- package/client-dist/{embedding-registry.module-XX6725DX.js → embedding-registry.module-46PAOMQR.js} +2 -2
- package/client-dist/{err.module-SL2IYMTF.js → err.module-B743IN5O.js} +2 -2
- package/client-dist/{feedback.module-RMRL65YC.js → feedback.module-H4YSPDLF.js} +2 -2
- package/client-dist/{host-runtime-mcp.module-OJORUP2R.js → host-runtime-mcp.module-6SK6OZH7.js} +2 -2
- package/client-dist/index.html +2 -2
- package/client-dist/{live-dev-pipeline.module-AMBMFVIH.js → live-dev-pipeline.module-MCPAY2LG.js} +2 -2
- package/client-dist/{logs.module-3CQ6KLLB.js → logs.module-CJF7RLV7.js} +2 -2
- package/client-dist/{main-RCFMPV3V.js → main-NZFBSJOQ.js} +3 -3
- package/client-dist/main-NZFBSJOQ.js.map +7 -0
- package/client-dist/{master-control-remote-poc.module-FD3E5JB7.js → master-control-remote-poc.module-LJ5ANCQ6.js} +2 -2
- package/client-dist/{mobile-app.module-LHVADRFV.js → mobile-app.module-G7LAAOOP.js} +2 -2
- package/client-dist/{model-registry.module-ZTKOWGAN.js → model-registry.module-WDAX2AHY.js} +2 -2
- package/client-dist/{oc.module-GLPSVTAT.js → oc.module-T43BN7CJ.js} +2 -2
- package/client-dist/{orc.module-BKMJC5YX.js → orc.module-R3P5Y4YW.js} +2 -2
- package/client-dist/{project-management.module-QEIXJONY.js → project-management.module-ODMCGFYI.js} +2 -2
- package/client-dist/project-source-routed.module-M22ABRHR.js +2 -0
- package/client-dist/{scheduler.module-TD4G2WNF.js → scheduler.module-TZLVYYMO.js} +2 -2
- package/client-dist/{session.module-YCITR6BG.js → session.module-3XGXYP4K.js} +2 -2
- package/client-dist/{set.module-JIWXIF2C.js → set.module-M3PJXM3W.js} +5 -5
- package/client-dist/{set.module-JIWXIF2C.js.map → set.module-M3PJXM3W.js.map} +3 -3
- package/client-dist/{setup.module-ZWL33O7N.js → setup.module-2U3R4YDE.js} +2 -2
- package/client-dist/styles-OJOSC7GL.css +2 -0
- package/client-dist/styles-OJOSC7GL.css.map +7 -0
- package/client-dist/{terminals.module-MKXQLASR.js → terminals.module-ULIXEKUD.js} +2 -2
- package/client-dist/{voice-notes-poc.module-7LUIU7P5.js → voice-notes-poc.module-GZGIIFPR.js} +2 -2
- package/client-dist/{wfs.module-2BMXPFAL.js → wfs.module-6B4QN7NS.js} +2 -2
- package/package.json +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-usage-probe.util.d.ts +85 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-usage-probe.util.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-usage-probe.util.js +264 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/account/cc-account-usage-probe.util.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.d.ts +18 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.js +93 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account-route.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.js +14 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_routes/cc-account/cc-account.controller.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.d.ts +36 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.js +136 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account-pool.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.d.ts +11 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-service.js +40 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/account/cc-account.data-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.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js +34 -0
- 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/external-sessions/_services/exs-instance-presence.service.d.ts +4 -4
- package/server/build/src/_modules/external-sessions/_services/exs-instance-presence.service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_services/exs-instance-presence.service.js +12 -7
- package/server/build/src/_modules/external-sessions/_services/exs-instance-presence.service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_services/exs-instance-presence.service.spec.js +17 -14
- package/server/build/src/_modules/external-sessions/_services/exs-instance-presence.service.spec.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_services/exs-instance-registry.data-service.d.ts +6 -2
- package/server/build/src/_modules/external-sessions/_services/exs-instance-registry.data-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_services/exs-instance-registry.data-service.js +8 -4
- package/server/build/src/_modules/external-sessions/_services/exs-instance-registry.data-service.js.map +1 -1
- package/server/build/src/_modules/peer-instance/_models/interfaces/pei-heartbeat-status.interface.d.ts +23 -0
- package/server/build/src/_modules/peer-instance/_models/interfaces/pei-heartbeat-status.interface.d.ts.map +1 -0
- package/server/build/src/_modules/peer-instance/_models/interfaces/pei-heartbeat-status.interface.js +3 -0
- package/server/build/src/_modules/peer-instance/_models/interfaces/pei-heartbeat-status.interface.js.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat-self-healing.spec.d.ts +10 -0
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat-self-healing.spec.d.ts.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat-self-healing.spec.js +81 -0
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat-self-healing.spec.js.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.d.ts +49 -2
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.js +107 -6
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.js.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client-active-reconnect.spec.d.ts +8 -0
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client-active-reconnect.spec.d.ts.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client-active-reconnect.spec.js +112 -0
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client-active-reconnect.spec.js.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.d.ts +26 -1
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.js +60 -7
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.js.map +1 -1
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.d.ts +8 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.js +8 -2
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.js.map +1 -1
- package/client-dist/cc-usage-dashboard.component-TNMEIWMI.js +0 -2
- package/client-dist/cc-usage-dashboard.component-TNMEIWMI.js.map +0 -7
- package/client-dist/main-RCFMPV3V.js.map +0 -7
- package/client-dist/project-source-routed.module-LSFQT5DK.js +0 -2
- package/client-dist/styles-WS3OIV37.css +0 -2
- package/client-dist/styles-WS3OIV37.css.map +0 -7
- /package/client-dist/{agent-instances.module-SRVXVWB4.js.map → agent-instances.module-U742BGNW.js.map} +0 -0
- /package/client-dist/{ca.module-ZAYCRAK6.js.map → ca.module-WANXRIO7.js.map} +0 -0
- /package/client-dist/{cc.module-BF2AOAIM.js.map → cc.module-JZUXUXHP.js.map} +0 -0
- /package/client-dist/{chunk-CBIUSRE5.js.map → chunk-26DXMUXV.js.map} +0 -0
- /package/client-dist/{chunk-AFF37OKI.js.map → chunk-2LJT2APC.js.map} +0 -0
- /package/client-dist/{chunk-O7U4KV25.js.map → chunk-435IBC6L.js.map} +0 -0
- /package/client-dist/{chunk-7JFONJTJ.js.map → chunk-467OMXRK.js.map} +0 -0
- /package/client-dist/{chunk-7MSQD5HV.js.map → chunk-46N7EC7U.js.map} +0 -0
- /package/client-dist/{chunk-XXO2YNDP.js.map → chunk-4OKUKX55.js.map} +0 -0
- /package/client-dist/{chunk-34XFCTVF.js.map → chunk-4RRBZXYU.js.map} +0 -0
- /package/client-dist/{chunk-OIBDRASW.js.map → chunk-4TBE5I3U.js.map} +0 -0
- /package/client-dist/{chunk-DUN7ICUI.js.map → chunk-6A2IM2XR.js.map} +0 -0
- /package/client-dist/{chunk-2LOFMRCO.js.map → chunk-6BQHKSUP.js.map} +0 -0
- /package/client-dist/{chunk-4TEHGQ5C.js.map → chunk-6IYFOHCN.js.map} +0 -0
- /package/client-dist/{chunk-WYTT3YHQ.js.map → chunk-6NWEJXDU.js.map} +0 -0
- /package/client-dist/{chunk-ZMZ462V7.js.map → chunk-767Z7I55.js.map} +0 -0
- /package/client-dist/{chunk-YU32GIMP.js.map → chunk-AS2SYIJB.js.map} +0 -0
- /package/client-dist/{chunk-QUEQSNIS.js.map → chunk-BHWHGLKC.js.map} +0 -0
- /package/client-dist/{chunk-TUKCFE3B.js.map → chunk-CILMMQ5V.js.map} +0 -0
- /package/client-dist/{chunk-B7WQ5TK3.js.map → chunk-CSHUFD2L.js.map} +0 -0
- /package/client-dist/{chunk-EZNIJZBL.js.map → chunk-DNHL6M7F.js.map} +0 -0
- /package/client-dist/{chunk-EDQWK2Q5.js.map → chunk-DUN255KX.js.map} +0 -0
- /package/client-dist/{chunk-UI6N7Y2P.js.map → chunk-EBSMIZTK.js.map} +0 -0
- /package/client-dist/{chunk-YGTNCGIU.js.map → chunk-EY32IBWM.js.map} +0 -0
- /package/client-dist/{chunk-I6OBHW45.js.map → chunk-FJGBPKHK.js.map} +0 -0
- /package/client-dist/{chunk-EIT3LSQO.js.map → chunk-GDAL4G4Y.js.map} +0 -0
- /package/client-dist/{chunk-FYXUOXRP.js.map → chunk-GR3CXOIX.js.map} +0 -0
- /package/client-dist/{chunk-GODWUWRO.js.map → chunk-HDCFO7OE.js.map} +0 -0
- /package/client-dist/{chunk-2X5MWPDN.js.map → chunk-HFVIX2ZG.js.map} +0 -0
- /package/client-dist/{chunk-SX22WHCZ.js.map → chunk-HPBX6VCV.js.map} +0 -0
- /package/client-dist/{chunk-VXJF6N32.js.map → chunk-IR4THKPA.js.map} +0 -0
- /package/client-dist/{chunk-DZ74YN25.js.map → chunk-J5NYZUBP.js.map} +0 -0
- /package/client-dist/{chunk-7JW45JC5.js.map → chunk-JDK64BE7.js.map} +0 -0
- /package/client-dist/{chunk-EUY2HZZV.js.map → chunk-KMEGS6BP.js.map} +0 -0
- /package/client-dist/{chunk-77HGZO43.js.map → chunk-KQLKM7RB.js.map} +0 -0
- /package/client-dist/{chunk-52JG2IIG.js.map → chunk-LERWAULE.js.map} +0 -0
- /package/client-dist/{chunk-L7PQ72ZG.js.map → chunk-M3RL34GF.js.map} +0 -0
- /package/client-dist/{chunk-X2FIFUXZ.js.map → chunk-NJPSU6MN.js.map} +0 -0
- /package/client-dist/{chunk-DHIVAX2C.js.map → chunk-ONEB5UF5.js.map} +0 -0
- /package/client-dist/{chunk-SO3QL2U5.js.map → chunk-OZGFJXOA.js.map} +0 -0
- /package/client-dist/{chunk-WQIBGXGU.js.map → chunk-PPRG7F5A.js.map} +0 -0
- /package/client-dist/{chunk-4RT7LOTQ.js.map → chunk-PQUBI6TC.js.map} +0 -0
- /package/client-dist/{chunk-XSP7NLZB.js.map → chunk-Q6JQHJME.js.map} +0 -0
- /package/client-dist/{chunk-Q7GDEJL2.js.map → chunk-QDTY7SR6.js.map} +0 -0
- /package/client-dist/{chunk-VLMQV3OI.js.map → chunk-RQ2HFT2L.js.map} +0 -0
- /package/client-dist/{chunk-DU3IYPGM.js.map → chunk-RRN36VPR.js.map} +0 -0
- /package/client-dist/{chunk-NI4AZWY2.js.map → chunk-S4GJTHYZ.js.map} +0 -0
- /package/client-dist/{chunk-2Y7GYEOT.js.map → chunk-SKHAAE4A.js.map} +0 -0
- /package/client-dist/{chunk-4XEPGDZH.js.map → chunk-TSPROG7P.js.map} +0 -0
- /package/client-dist/{chunk-QHLRSGQG.js.map → chunk-U7ZBDYGU.js.map} +0 -0
- /package/client-dist/{chunk-2DJBCAHJ.js.map → chunk-VQWGWQDA.js.map} +0 -0
- /package/client-dist/{chunk-ZGWUDLYU.js.map → chunk-X7HHJQ2O.js.map} +0 -0
- /package/client-dist/{chunk-23GMPVB5.js.map → chunk-XH3SQ4UP.js.map} +0 -0
- /package/client-dist/{chunk-PZMEVMSF.js.map → chunk-XHF463TC.js.map} +0 -0
- /package/client-dist/{chunk-CUUDVYOC.js.map → chunk-XJEATRA4.js.map} +0 -0
- /package/client-dist/{chunk-QTRIOR6Z.js.map → chunk-XSXQC64X.js.map} +0 -0
- /package/client-dist/{chunk-EMVGFT6L.js.map → chunk-YE57GLWU.js.map} +0 -0
- /package/client-dist/{chunk-HSAGX22H.js.map → chunk-YX6NZTP7.js.map} +0 -0
- /package/client-dist/{consultant.module-3PAIPMAH.js.map → consultant.module-WL4WEIIF.js.map} +0 -0
- /package/client-dist/{crd.module-PJO2UJEG.js.map → crd.module-OE3ML5C7.js.map} +0 -0
- /package/client-dist/{dashboard.module-TJMYHTHX.js.map → dashboard.module-NBINBB72.js.map} +0 -0
- /package/client-dist/{do.module-SBE6P3B7.js.map → do.module-BLTXJC4T.js.map} +0 -0
- /package/client-dist/{document-library.module-YH7IF4EP.js.map → document-library.module-TXGZT2VZ.js.map} +0 -0
- /package/client-dist/{embedding-eval.module-STWWCUD7.js.map → embedding-eval.module-PYE5NL5R.js.map} +0 -0
- /package/client-dist/{embedding-registry.module-XX6725DX.js.map → embedding-registry.module-46PAOMQR.js.map} +0 -0
- /package/client-dist/{err.module-SL2IYMTF.js.map → err.module-B743IN5O.js.map} +0 -0
- /package/client-dist/{feedback.module-RMRL65YC.js.map → feedback.module-H4YSPDLF.js.map} +0 -0
- /package/client-dist/{host-runtime-mcp.module-OJORUP2R.js.map → host-runtime-mcp.module-6SK6OZH7.js.map} +0 -0
- /package/client-dist/{live-dev-pipeline.module-AMBMFVIH.js.map → live-dev-pipeline.module-MCPAY2LG.js.map} +0 -0
- /package/client-dist/{logs.module-3CQ6KLLB.js.map → logs.module-CJF7RLV7.js.map} +0 -0
- /package/client-dist/{master-control-remote-poc.module-FD3E5JB7.js.map → master-control-remote-poc.module-LJ5ANCQ6.js.map} +0 -0
- /package/client-dist/{mobile-app.module-LHVADRFV.js.map → mobile-app.module-G7LAAOOP.js.map} +0 -0
- /package/client-dist/{model-registry.module-ZTKOWGAN.js.map → model-registry.module-WDAX2AHY.js.map} +0 -0
- /package/client-dist/{oc.module-GLPSVTAT.js.map → oc.module-T43BN7CJ.js.map} +0 -0
- /package/client-dist/{orc.module-BKMJC5YX.js.map → orc.module-R3P5Y4YW.js.map} +0 -0
- /package/client-dist/{project-management.module-QEIXJONY.js.map → project-management.module-ODMCGFYI.js.map} +0 -0
- /package/client-dist/{project-source-routed.module-LSFQT5DK.js.map → project-source-routed.module-M22ABRHR.js.map} +0 -0
- /package/client-dist/{scheduler.module-TD4G2WNF.js.map → scheduler.module-TZLVYYMO.js.map} +0 -0
- /package/client-dist/{session.module-YCITR6BG.js.map → session.module-3XGXYP4K.js.map} +0 -0
- /package/client-dist/{setup.module-ZWL33O7N.js.map → setup.module-2U3R4YDE.js.map} +0 -0
- /package/client-dist/{terminals.module-MKXQLASR.js.map → terminals.module-ULIXEKUD.js.map} +0 -0
- /package/client-dist/{voice-notes-poc.module-7LUIU7P5.js.map → voice-notes-poc.module-GZGIIFPR.js.map} +0 -0
- /package/client-dist/{wfs.module-2BMXPFAL.js.map → wfs.module-6B4QN7NS.js.map} +0 -0
|
@@ -16,8 +16,18 @@ const pei_event_relay_control_service_1 = require("./pei-event-relay.control-ser
|
|
|
16
16
|
* @see REQ-PEI-006 §6.1, §6.4
|
|
17
17
|
*/
|
|
18
18
|
class PEI_WsClient_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
19
|
-
/**
|
|
20
|
-
|
|
19
|
+
/**
|
|
20
|
+
* REQ-CLUSTER-DEBUG-WS-001 Slice E (cycle 820): peer registry refresh intervallum
|
|
21
|
+
* 60s → 30s. Az aktív reconnect logikával együtt (E1) a kapcsolat-szakadás
|
|
22
|
+
* öngyógyulási ideje így max 30s — a user nem kell hogy a panelt nyomkodja.
|
|
23
|
+
*/
|
|
24
|
+
static PEER_REFRESH_INTERVAL_MS = 30 * fsm_dynamo_2.second;
|
|
25
|
+
/**
|
|
26
|
+
* REQ-CLUSTER-DEBUG-WS-001 Slice E1 (cycle 820): rate-limit az aktív reconnect-re —
|
|
27
|
+
* egy peer-re max ennyi időnként indítunk újra connect-kísérletet, hogy
|
|
28
|
+
* connect_error-loop-ban se DDoS-oljuk a peer-t. 30s = 1 refresh-ciklus.
|
|
29
|
+
*/
|
|
30
|
+
static PEER_RECONNECT_MIN_GAP_MS = 30 * fsm_dynamo_2.second;
|
|
21
31
|
/**
|
|
22
32
|
* socket.emit ack timeout: ennyi ms-ig várjuk a peer-től az ack-ot. Ha lejár,
|
|
23
33
|
* warn log készül (delivery nem garantált). A DB polling/reaper amúgy is újrapróbálja
|
|
@@ -38,6 +48,12 @@ class PEI_WsClient_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
38
48
|
* a user lássa MIÉRT nem épül fel a kapcsolat (nem csak hogy 0 a WS-csatlakozott).
|
|
39
49
|
*/
|
|
40
50
|
peerLastErrors = new Map();
|
|
51
|
+
/**
|
|
52
|
+
* REQ-CLUSTER-DEBUG-WS-001 Slice E1 (cycle 820): per-peer utolsó connect-attempt
|
|
53
|
+
* timestamp — a rate-limit-hez (`PEER_RECONNECT_MIN_GAP_MS`) használjuk az
|
|
54
|
+
* aktív reconnect-loopban, hogy connect_error-spam alatt ne DDoS-oljuk a peer-t.
|
|
55
|
+
*/
|
|
56
|
+
peerLastConnectAttemptAtMs = new Map();
|
|
41
57
|
static getInstance() {
|
|
42
58
|
return PEI_WsClient_ControlService.getSingletonInstance();
|
|
43
59
|
}
|
|
@@ -90,6 +106,7 @@ class PEI_WsClient_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
90
106
|
// a következő start friss lappal induljon — a hibák a futás során újra-
|
|
91
107
|
// populálódnak.
|
|
92
108
|
this.peerLastErrors.clear();
|
|
109
|
+
this.peerLastConnectAttemptAtMs.clear();
|
|
93
110
|
fsm_dynamo_1.DyFM_Log.info('PEI_WsClient | Stopped');
|
|
94
111
|
}
|
|
95
112
|
/**
|
|
@@ -209,25 +226,56 @@ class PEI_WsClient_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
209
226
|
isWsConnectedAfter: !!socket?.connected,
|
|
210
227
|
};
|
|
211
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* REQ-CLUSTER-DEBUG-WS-001 Slice E1 (cycle 820): registry-load factory a unit-
|
|
231
|
+
* tesztelhetőséghez — a teszt `spyOn(svc as any, 'loadRegistryEntries')`-szel
|
|
232
|
+
* stub-olhatja anélkül, hogy a DyNTS DataService konstruktor-chain lefutna.
|
|
233
|
+
* Ugyanaz a minta mint a heartbeat-service `createInstanceRegistryDS()`-éé
|
|
234
|
+
* (cycle 819).
|
|
235
|
+
*/
|
|
236
|
+
async loadRegistryEntries() {
|
|
237
|
+
const ds = new exs_instance_registry_data_service_1.ExS_InstanceRegistry_DataService({ issuer: 'pei-ws-client' });
|
|
238
|
+
return await ds.listAllForAdminDisplay();
|
|
239
|
+
}
|
|
212
240
|
/**
|
|
213
241
|
* Peer connection-ök frissítése: registry-ből kiolvasott online peer-ekhez connect/disconnect.
|
|
214
242
|
*/
|
|
215
243
|
async refreshPeerConnections() {
|
|
216
244
|
try {
|
|
217
245
|
const selfId = instance_id_service_1.ExS_InstanceId_Service.getInstance().getInstanceId();
|
|
218
|
-
const ds = new exs_instance_registry_data_service_1.ExS_InstanceRegistry_DataService({ issuer: 'pei-ws-client' });
|
|
219
246
|
// Összes registry sor (nem csak online — heartbeat hiányában is próbálunk connect-álni)
|
|
220
|
-
const allEntries = await
|
|
247
|
+
const allEntries = await this.loadRegistryEntries();
|
|
221
248
|
const peerEntries = allEntries.filter((entry) => entry.instanceKey !== selfId &&
|
|
222
249
|
!!entry.instanceKey &&
|
|
223
250
|
!!entry.publicHost &&
|
|
224
251
|
!!entry.httpPort);
|
|
225
|
-
// Új peer-ek: connect
|
|
252
|
+
// Új peer-ek + halott socket-ek: connect / reconnect
|
|
253
|
+
// REQ-CLUSTER-DEBUG-WS-001 Slice E1 (cycle 820): aktív reconnect — ha egy
|
|
254
|
+
// peer-key MÁR szerepel a Map-ben de a socket disconnected (a socket.io
|
|
255
|
+
// belső reconnect-je beragadt vagy megáll connect_error-loopon), kényszerítve
|
|
256
|
+
// dobjuk + új socket-tal próbáljuk újra. Rate-limited (30s min gap), hogy
|
|
257
|
+
// connect_error-spam alatt ne DDoS-oljuk a peer-t.
|
|
258
|
+
const now = Date.now();
|
|
226
259
|
for (const peer of peerEntries) {
|
|
227
260
|
const key = peer.instanceKey;
|
|
228
|
-
|
|
261
|
+
const existing = this.peerConnections.get(key);
|
|
262
|
+
if (!existing) {
|
|
263
|
+
// Még nincs socket → friss connect
|
|
264
|
+
this.peerLastConnectAttemptAtMs.set(key, now);
|
|
229
265
|
this.connectToPeer(peer);
|
|
230
266
|
}
|
|
267
|
+
else if (!existing.connected) {
|
|
268
|
+
// Van socket, de disconnected — aktív reconnect rate-limit-tel
|
|
269
|
+
const lastAttempt = this.peerLastConnectAttemptAtMs.get(key) ?? 0;
|
|
270
|
+
const sinceLastAttempt = now - lastAttempt;
|
|
271
|
+
if (sinceLastAttempt >= PEI_WsClient_ControlService.PEER_RECONNECT_MIN_GAP_MS) {
|
|
272
|
+
fsm_dynamo_1.DyFM_Log.info(`PEI_WsClient | Active-reconnect | key: ${key} | sinceLastAttempt: ${Math.round(sinceLastAttempt / 1000)}s`);
|
|
273
|
+
existing.disconnect();
|
|
274
|
+
this.peerConnections.delete(key);
|
|
275
|
+
this.peerLastConnectAttemptAtMs.set(key, now);
|
|
276
|
+
this.connectToPeer(peer);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
231
279
|
}
|
|
232
280
|
// Eltűnt peer-ek: disconnect
|
|
233
281
|
const knownKeys = new Set(peerEntries
|
|
@@ -239,6 +287,7 @@ class PEI_WsClient_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
239
287
|
this.peerConnections.delete(key);
|
|
240
288
|
// REQ-CLUSTER-DEBUG-WS-001: a stale peer error-snapshot-ot is takarítjuk
|
|
241
289
|
this.peerLastErrors.delete(key);
|
|
290
|
+
this.peerLastConnectAttemptAtMs.delete(key);
|
|
242
291
|
fsm_dynamo_1.DyFM_Log.info(`PEI_WsClient | Removed stale peer connection | key: ${key}`);
|
|
243
292
|
}
|
|
244
293
|
}
|
|
@@ -271,7 +320,11 @@ class PEI_WsClient_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
271
320
|
reconnectionDelay: 5 * fsm_dynamo_2.second,
|
|
272
321
|
reconnectionDelayMax: 30 * fsm_dynamo_2.second,
|
|
273
322
|
timeout: 10 * fsm_dynamo_2.second,
|
|
274
|
-
|
|
323
|
+
// REQ-CLUSTER-DEBUG-WS-001 Slice E3 (cycle 820): polling fallback. Ha a
|
|
324
|
+
// WS-handshake bukik (TLS/proxy/firewall), a Socket.IO upgrade-mintája
|
|
325
|
+
// alapján polling-ról indul, és csak siker után upgrade-el WS-re.
|
|
326
|
+
// Korábbi `transports: ['websocket']` mód: silently bukott a connect.
|
|
327
|
+
transports: ['websocket', 'polling'],
|
|
275
328
|
// Reconnect-kor új HMAC generálás (a ts frissül)
|
|
276
329
|
auth: (cb) => {
|
|
277
330
|
const newTs = Date.now();
|
package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pei-ws-client.control-service.js","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-ws-client.control-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pei-ws-client.control-service.js","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-ws-client.control-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PEI_BootstrapAttempt_Interface } from '../../../../peer-instance/_models/interfaces/pei-bootstrap-attempt.interface';
|
|
2
|
+
import { PEI_HeartbeatStatus_Interface } from '../../../../peer-instance/_models/interfaces/pei-heartbeat-status.interface';
|
|
2
3
|
/**
|
|
3
4
|
* REQ-CLUSTER-DEBUG-001 (cycle 748) + REQ-CLUSTER-DEBUG-WS-001 (Slice B+C):
|
|
4
5
|
* a Settings → Cluster oldal debug/status panelje ezt a típust kapja a
|
|
@@ -77,5 +78,12 @@ export interface SC_ClusterDiagnosticsResult_Interface {
|
|
|
77
78
|
* legutóbbi-elöl). A user a UI „Bootstrap log" expand-able panelban látja.
|
|
78
79
|
*/
|
|
79
80
|
bootstrapAttempts: PEI_BootstrapAttempt_Interface[];
|
|
81
|
+
/**
|
|
82
|
+
* REQ-CLUSTER-DEBUG-WS-001 Slice E2 (cycle 820): saját PEI heartbeat status —
|
|
83
|
+
* a Cluster debug-panel innen mutatja: utolsó SIKERES heartbeat-write,
|
|
84
|
+
* konszekutív failure-k, utolsó hibaüzenet. Ez teszi láthatóvá a
|
|
85
|
+
* MongoDB-monitor-timeout / connection-drop tüneteket.
|
|
86
|
+
*/
|
|
87
|
+
selfHeartbeatStatus: PEI_HeartbeatStatus_Interface;
|
|
80
88
|
}
|
|
81
89
|
//# sourceMappingURL=sc-cluster-diagnostics-result.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sc-cluster-diagnostics-result.interface.d.ts","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,8EAA8E,CAAC;
|
|
1
|
+
{"version":3,"file":"sc-cluster-diagnostics-result.interface.d.ts","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,8EAA8E,CAAC;AAC9H,OAAO,EAAE,6BAA6B,EAAE,MAAM,6EAA6E,CAAC;AAE5H;;;;;;;GAOG;AAEH,iEAAiE;AACjE,MAAM,WAAW,4BAA4B;IAE3C,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAC;IAE3B,wDAAwD;IACxD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,+BAA+B;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAElB,6EAA6E;IAC7E,aAAa,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,qCAAqC;IAEpD,uFAAuF;IACvF,iBAAiB,EAAE,OAAO,CAAC;IAE3B,sEAAsE;IACtE,iBAAiB,EAAE,OAAO,CAAC;IAE3B,0EAA0E;IAC1E,kBAAkB,EAAE,MAAM,CAAC;IAE3B,2CAA2C;IAC3C,kBAAkB,EAAE,MAAM,CAAC;IAE3B,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IAExB,2DAA2D;IAC3D,KAAK,EAAE,4BAA4B,EAAE,CAAC;IAEtC,qFAAqF;IACrF,4BAA4B,EAAE,MAAM,CAAC;IAErC,+CAA+C;IAC/C,8BAA8B,EAAE,MAAM,CAAC;IAEvC;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,yBAAyB,EAAE,MAAM,CAAC;IAElC;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,EAAE,8BAA8B,EAAE,CAAC;IAEpD;;;;;OAKG;IACH,mBAAmB,EAAE,6BAA6B,CAAC;CACpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sc-cluster.control-service.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/setup-config/_services/control-services/sc-cluster.control-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAI/D,OAAO,EACL,qCAAqC,EAEtC,MAAM,0EAA0E,CAAC;AAClF,OAAO,EAAE,qCAAqC,EAAE,MAAM,0EAA0E,CAAC;AACjI,OAAO,EAAE,uCAAuC,EAAE,MAAM,6EAA6E,CAAC;AACtI,OAAO,EAAE,qCAAqC,EAAE,MAAM,2EAA2E,CAAC;
|
|
1
|
+
{"version":3,"file":"sc-cluster.control-service.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/setup-config/_services/control-services/sc-cluster.control-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAI/D,OAAO,EACL,qCAAqC,EAEtC,MAAM,0EAA0E,CAAC;AAClF,OAAO,EAAE,qCAAqC,EAAE,MAAM,0EAA0E,CAAC;AACjI,OAAO,EAAE,uCAAuC,EAAE,MAAM,6EAA6E,CAAC;AACtI,OAAO,EAAE,qCAAqC,EAAE,MAAM,2EAA2E,CAAC;AAwBlI;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;IAEnE,MAAM,CAAC,WAAW,IAAI,yBAAyB;IAI/C;;OAEG;IACG,2BAA2B,CAC/B,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAahB;;;OAGG;IACG,qBAAqB,CACzB,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAahB;;;;;OAKG;IACG,qBAAqB,CACzB,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAahB;;;OAGG;IACG,uBAAuB,CAC3B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAwBhB;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,qCAAqC,CAAC;IAoFxE;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;OAEG;IACH,cAAc,IAAI,qCAAqC;IAgDvD;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,qCAAqC,CAAC;IA8CtE;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,uCAAuC,CAAC;IAkCzG;;OAEG;YACW,YAAY;CAM3B"}
|
|
@@ -5,6 +5,7 @@ const nts_dynamo_1 = require("@futdevpro/nts-dynamo");
|
|
|
5
5
|
const version_const_1 = require("../../../../_collections/core/version.const");
|
|
6
6
|
const sc_enums_1 = require("../../_enums/sc-enums");
|
|
7
7
|
const pei_bootstrap_control_service_1 = require("../../../peer-instance/_services/pei-bootstrap.control-service");
|
|
8
|
+
const pei_heartbeat_control_service_1 = require("../../../peer-instance/_services/pei-heartbeat.control-service");
|
|
8
9
|
const pei_ws_client_control_service_1 = require("../../../peer-instance/_services/pei-ws-client.control-service");
|
|
9
10
|
const instance_id_service_1 = require("../../../external-sessions/_services/instance-id.service");
|
|
10
11
|
const exs_instance_registry_data_service_1 = require("../../../external-sessions/_services/exs-instance-registry.data-service");
|
|
@@ -14,8 +15,12 @@ const ccap_error_response_util_1 = require("../../../../_collections/errors/ccap
|
|
|
14
15
|
const DEFAULT_PEER_POLL_INTERVAL_SEC = 30;
|
|
15
16
|
/** Default task timeout (60s). */
|
|
16
17
|
const DEFAULT_TASK_TIMEOUT_SEC = 60;
|
|
17
|
-
/**
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Heartbeat online cutoff. REQ-CLUSTER-DEBUG-WS-001 Slice E4 (cycle 820): 90s → 180s
|
|
20
|
+
* a türéshatár, hogy egy átmeneti DB-monitor-timeout (MongoDB idle drop) ne dobja
|
|
21
|
+
* offline-ra a peer-t a debug-panelen. Egyezően a `PRESENCE_HEARTBEAT_STALE_MS`-szel.
|
|
22
|
+
*/
|
|
23
|
+
const HEARTBEAT_ONLINE_CUTOFF_MS = 180_000;
|
|
19
24
|
/**
|
|
20
25
|
* REQ-CLUSTER-DEBUG-001 (cycle 748) + REQ-CLUSTER-DEBUG-WS-001:
|
|
21
26
|
* Cluster (PEI) settings debug/status endpoints.
|
|
@@ -185,6 +190,7 @@ class SC_Cluster_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
185
190
|
currentInstanceAppVersion: version_const_1.CCAP_VERSION,
|
|
186
191
|
bootstrappedAtIso: this.formatBootstrappedAtIso(),
|
|
187
192
|
bootstrapAttempts: pei_bootstrap_control_service_1.PEI_Bootstrap_ControlService.getInstance().getBootstrapAttempts(),
|
|
193
|
+
selfHeartbeatStatus: pei_heartbeat_control_service_1.PEI_Heartbeat_ControlService.getInstance().getStatus(),
|
|
188
194
|
};
|
|
189
195
|
}
|
|
190
196
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sc-cluster.control-service.js","sourceRoot":"","sources":["../../../../../../src/_modules/setup-config/_services/control-services/sc-cluster.control-service.ts"],"names":[],"mappings":";;;AAEA,sDAA+D;AAE/D,+EAA2E;AAC3E,oDAAgD;AAShD,kHAA8G;AAC9G,kHAA6G;AAC7G,kGAAkG;AAClG,gIAA2H;AAE3H,yEAAqE;AACrE,uGAAmG;AAEnG,yEAAyE;AACzE,MAAM,8BAA8B,GAAW,EAAE,CAAC;AAElD,kCAAkC;AAClC,MAAM,wBAAwB,GAAW,EAAE,CAAC;AAE5C
|
|
1
|
+
{"version":3,"file":"sc-cluster.control-service.js","sourceRoot":"","sources":["../../../../../../src/_modules/setup-config/_services/control-services/sc-cluster.control-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{e as L}from"./chunk-I6OBHW45.js";import"./chunk-2LOFMRCO.js";import{I as B}from"./chunk-ELFCSLIP.js";import{C as f,D as A,Fa as a,Ga as M,Ha as d,R as U,Ta as I,Ua as T,Z as r,aa as _,da as x,ga as E,hb as O,ja as w,k as p,la as m,oa as y,p as g,pa as S,qa as o,ra as s,ub as F,va as D,wa as h,xb as k,y as b}from"./chunk-TBMJSIBB.js";var K=(()=>{class n{baseUrl=`${B.api.baseUrl}/cc-account`;http=f(k);listAccounts(){return g(this.http.get(`${this.baseUrl}/list`))}refreshLocalAccounts(){return g(this.http.post(`${this.baseUrl}/refresh`,{}))}getInstanceMapping(){return g(this.http.get(`${this.baseUrl}/instance-mapping`))}getAccount(t){return g(this.http.get(`${this.baseUrl}/${t}`))}getAccountUsage(t){return g(this.http.get(`${this.baseUrl}/${t}/usage`))}renameAccount(t){return g(this.http.patch(`${this.baseUrl}/${t.accountKey}`,{displayName:t.displayName}))}static \u0275fac=function(e){return new(e||n)};static \u0275prov=b({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var z="cc:account-usage-update",j="cc:account-list-update",R=(()=>{class n{accountApi=f(K);socket_CS=f(L);ngZone=f(U);socketSubscription=null;accounts_$=_([]);accountUsageMap_$=_(new Map);instanceMapping_$=_(null);isLoading_$=_(!1);loadError_$=_(null);loadDashboardBootstrap(){return p(this,null,function*(){this.isLoading_$.set(!0),this.loadError_$.set(null);try{let[t,e]=yield Promise.all([this.accountApi.listAccounts(),this.accountApi.getInstanceMapping()]);this.accounts_$.set(t.items),this.instanceMapping_$.set(e)}catch(t){this.loadError_$.set(this.errorMessageOf(t))}finally{this.isLoading_$.set(!1)}})}loadAccounts(){return p(this,null,function*(){try{let t=yield this.accountApi.listAccounts();this.accounts_$.set(t.items)}catch(t){this.loadError_$.set(this.errorMessageOf(t))}})}loadAccountUsage(t){return p(this,null,function*(){try{let e=yield this.accountApi.getAccountUsage(t),i=new Map(this.accountUsageMap_$());i.set(t,e.items),this.accountUsageMap_$.set(i)}catch(e){this.loadError_$.set(this.errorMessageOf(e))}})}loadInstanceMapping(){return p(this,null,function*(){try{let t=yield this.accountApi.getInstanceMapping();this.instanceMapping_$.set(t)}catch(t){this.loadError_$.set(this.errorMessageOf(t))}})}refreshAccounts(){return p(this,null,function*(){this.isLoading_$.set(!0),this.loadError_$.set(null);try{let t=yield this.accountApi.refreshLocalAccounts();return yield this.loadAccounts(),t}catch(t){return this.loadError_$.set(this.errorMessageOf(t)),{refreshedKeys:[],scannedPaths:0}}finally{this.isLoading_$.set(!1)}})}renameAccount(t){return p(this,null,function*(){try{let e=yield this.accountApi.renameAccount(t),i=this.accounts_$().map(u=>u.accountKey===t.accountKey?e:u);this.accounts_$.set(i)}catch(e){this.loadError_$.set(this.errorMessageOf(e))}})}startLiveUpdates(){this.socketSubscription==null&&(this.socketSubscription=this.socket_CS.event$.subscribe(t=>{this.ngZone.run(()=>{t.event===z?this.handleAccountUsageUpdate(t.payload):t.event===j&&this.handleAccountListUpdate(t.payload)})}))}stopLiveUpdates(){this.socketSubscription!=null&&(this.socketSubscription.unsubscribe(),this.socketSubscription=null)}ngOnDestroy(){this.stopLiveUpdates()}handleAccountUsageUpdate(t){let e=t.accountKey,i=t.windowType;if(typeof e!="string"||e===""||typeof i!="string")return;let u={accountKey:e,windowType:i,utilization:typeof t.utilization=="number"?t.utilization:void 0,resetsAtMs:typeof t.resetsAtMs=="number"?t.resetsAtMs:void 0,lastObservedStatus:typeof t.lastObservedStatus=="string"?t.lastObservedStatus:void 0,observedAt:typeof t.observedAt=="string"?t.observedAt:void 0,lastObservedByCcapId:typeof t.lastObservedByCcapId=="string"?t.lastObservedByCcapId:void 0,lastObservedBySessionId:typeof t.lastObservedBySessionId=="string"?t.lastObservedBySessionId:void 0},l=new Map(this.accountUsageMap_$()),$=(l.get(e)??[]).filter(P=>P.windowType!==i);$.push(u),l.set(e,$),this.accountUsageMap_$.set(l)}handleAccountListUpdate(t){this.loadAccounts()}errorMessageOf(t){if(t instanceof Error)return t.message;if(typeof t=="object"&&t!==null){let e=t;if(typeof e.message=="string")return e.message}return String(t)}static \u0275fac=function(e){return new(e||n)};static \u0275prov=b({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var v=(()=>{class n{static WINDOW_SEC_BY_TYPE={five_hour:18e3,seven_day:604800,seven_day_opus:604800,seven_day_sonnet:604800};static computePacingFraction(t){let e=n.WINDOW_SEC_BY_TYPE[t.windowType];if(e===void 0||!t.resetsAtMs||t.resetsAtMs<=0)return null;let i=e*1e3,u=t.resetsAtMs-i,C=Math.max(0,t.nowMs-u)/i;return C<0?0:C>1?1:C}static classifyPacing(t){if(t.utilization==null||t.pacingFraction===null)return null;let e=t.tolerance??.1,i=t.utilization-t.pacingFraction;return i>e?"above":i<-e?"below":"on-pace"}static colorClassForPacing(t){return t==="below"?"text-green-400":t==="on-pace"?"text-yellow-300":t==="above"?"text-red-400":"text-neutral-500"}}return n})();var H=(n,c)=>c.accountKey,W=(n,c)=>c.ccapId,Y=()=>[];function V(n,c){n&1&&(o(0,"div",4),a(1," Loading dashboard\u2026 "),s())}function Z(n,c){n&1&&(o(0,"div",5)(1,"strong"),a(2,"Load error:"),s(),a(3),s()),n&2&&(r(3),d(" ",c," "))}function G(n,c){n&1&&(o(0,"div",9),a(1," No CC accounts discovered yet. Run "),o(2,"code"),a(3,"claude /login"),s(),a(4," on this machine, then click "),o(5,"strong"),a(6,"\u21BB Refresh accounts"),s(),a(7,". "),s())}function Q(n,c){if(n&1&&(o(0,"span",15),a(1),s()),n&2){let t=h().$implicit;r(),d("\xB7 ",t.email,"")}}function q(n,c){if(n&1&&(o(0,"span",15),a(1),s()),n&2){let t=h().$implicit;r(),d("\xB7 token: ",t.tokenStatus,"")}}function J(n,c){if(n&1&&(o(0,"span",17),a(1),s()),n&2){let t=h().$implicit;r(),d(" ",t.planTier," ")}}function X(n,c){if(n&1&&(o(0,"div",10)(1,"div",12)(2,"div",13),a(3),s(),o(4,"div",14),a(5),x(6,Q,2,1,"span",15)(7,q,2,1,"span",15),s()(),o(8,"div",16),x(9,J,2,1,"span",17),s()()),n&2){let t=c.$implicit,e=h();r(3),d(" ",e.displayNameOf(t)," "),r(2),d(" ",t.accountKey," "),r(),m(t.email?6:-1),r(),m(t.tokenStatus?7:-1),r(2),m(t.planTier?9:-1)}}function tt(n,c){n&1&&(o(0,"div",9),a(1," No instance mappings yet. Mappings appear after the first "),o(2,"code"),a(3,"rate_limit_event"),s(),a(4," on a session with a bound account. "),s())}function et(n,c){if(n&1&&(o(0,"span",19),a(1),s(),o(2,"span",20),a(3),s(),o(4,"span",15),a(5,"\xB7"),s(),o(6,"span",21),a(7,"5h: "),o(8,"span"),a(9),s()(),o(10,"span",15),a(11,"\xB7"),s()),n&2){let t=c,e=h().$implicit,i=h();r(),d(" ",i.displayNameByAccountKey(t)," "),r(2),d("(",t.slice(0,6),"\u2026)"),r(5),w(i.pacingColorClassForFiveHour(e.items)),r(),M(i.formatUtilization(i.latestFiveHourUtilOf(e.items)))}}function nt(n,c){if(n&1&&(o(0,"div",11)(1,"div",12)(2,"div",13),a(3),s(),o(4,"div",18),x(5,et,12,5),o(6,"span"),a(7),s()()()()),n&2){let t,e=c.$implicit,i=h();r(3),d(" ",e.ccapId," "),r(2),m((t=i.latestAccountKeyOf(e.items))?5:-1,t),r(2),d("",i.itemsCountOf(e.items)," record(s)")}}var vt=(()=>{class n{accountDS=f(R);isRefreshing_$=_(!1);instanceCount_$=O(()=>this.accountDS.instanceMapping_$()?.instances.length??0);ngOnInit(){this.accountDS.loadDashboardBootstrap(),this.accountDS.startLiveUpdates()}handleRefresh(){return p(this,null,function*(){this.isRefreshing_$.set(!0);try{yield this.accountDS.refreshAccounts()}finally{this.isRefreshing_$.set(!1)}})}displayNameOf(t){return t.displayName!==""?t.displayName:`account-${t.accountKey.slice(0,6)}`}itemsCountOf(t){return t.length}latestFiveHourUtilOf(t){for(let e of t)if(e.windowType==="five_hour"&&typeof e.utilization=="number")return e.utilization;return null}latestAccountKeyOf(t){if(t.length===0)return null;let e=t[0];for(let i of t){let u=i.observedAt?Date.parse(i.observedAt):0,l=e.observedAt?Date.parse(e.observedAt):0;u>l&&(e=i)}return e.accountKey}displayNameByAccountKey(t){let e=this.accountDS.accounts_$().find(i=>i.accountKey===t);return e?this.displayNameOf(e):`account-${t.slice(0,6)}`}formatUtilization(t){return t===null?"\u2014":`${Math.round(t*100)}%`}utilizationColorClass(t){return t===null||t<.5?"text-green-400":t<.85?"text-yellow-300":"text-red-400"}pacingColorClassForFiveHour(t){let e;for(let l of t)if(l.windowType==="five_hour"){e=l;break}if(!e)return"text-neutral-500";let i=v.computePacingFraction({windowType:"five_hour",resetsAtMs:e.resetsAtMs,nowMs:Date.now()});if(i===null){let l=e.utilization??null;return this.utilizationColorClass(l)}let u=v.classifyPacing({utilization:e.utilization,pacingFraction:i});return v.colorClassForPacing(u)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=A({type:n,selectors:[["app-cc-usage-dashboard"]],hostAttrs:[1,"flex","flex-col","flex-1","min-h-0","overflow-auto","p-4"],standalone:!0,features:[I],decls:25,vars:9,consts:[[1,"flex","items-center","justify-between","mb-4","pb-2","border-b","border-neutral-700"],[1,"text-lg","font-semibold","text-neutral-100"],[1,"text-xs","text-neutral-500","font-normal","ml-2"],["type","button",1,"px-3","py-1","text-xs","rounded","border","border-neonDefault","text-neonDefault","hover:bg-neonDefault/10","transition-colors","disabled:opacity-50",3,"click","disabled"],[1,"text-sm","text-neutral-400","italic","py-4"],[1,"text-sm","text-red-400","bg-red-950/30","border","border-red-700","rounded","p-3","mb-4"],[1,"mb-6"],[1,"text-sm","font-semibold","text-neutral-300","mb-2"],[1,"text-xs","text-neutral-500","font-normal","ml-1"],[1,"text-xs","text-neutral-500","italic"],[1,"flex","items-center","gap-3","py-2","px-3","rounded","border","border-neutral-800","mb-2","hover:border-neutral-600","transition-colors"],[1,"flex","items-center","gap-3","py-2","px-3","rounded","border","border-neutral-800","mb-2"],[1,"flex-1","min-w-0"],[1,"text-sm","text-neutral-100","truncate"],[1,"text-[10px]","text-neutral-500","font-mono","truncate"],[1,"ml-2"],[1,"text-[10px]","text-neutral-500","shrink-0"],[1,"px-1.5","py-0.5","rounded","border","border-neutral-700"],[1,"text-[10px]","text-neutral-500"],[1,"text-neutral-300"],[1,"ml-1","font-mono","text-neutral-600"],[1,"ml-1"]],template:function(e,i){if(e&1&&(o(0,"header",0)(1,"h1",1),a(2," CC Usage & Accounts "),o(3,"span",2),a(4," (REQ-CC-USAGE-DASHBOARD-001 Slice 5) "),s()(),o(5,"button",3),D("click",function(){return i.handleRefresh()}),a(6),s()(),x(7,V,2,0,"div",4)(8,Z,4,1,"div",5),o(9,"section",6)(10,"h2",7),a(11," Known CC Accounts "),o(12,"span",8),a(13),s()(),x(14,G,8,0,"div",9),y(15,X,10,5,"div",10,H),s(),o(17,"section")(18,"h2",7),a(19," Instance \u2194 Account Mapping "),o(20,"span",8),a(21),s()(),x(22,tt,5,0,"div",9),y(23,nt,8,3,"div",11,W),s()),e&2){let u,l;r(5),E("disabled",i.isRefreshing_$()||i.accountDS.isLoading_$()),r(),d(" ",i.isRefreshing_$()?"Refreshing\u2026":"\u21BB Refresh accounts"," "),r(),m(i.accountDS.isLoading_$()?7:-1),r(),m((u=i.accountDS.loadError_$())?8:-1,u),r(5),d(" (",i.accountDS.accounts_$().length,") "),r(),m(!i.accountDS.accounts_$().length&&!i.accountDS.isLoading_$()?14:-1),r(),S(i.accountDS.accounts_$()),r(6),d(" (",i.instanceCount_$(),") "),r(),m(!i.instanceCount_$()&&!i.accountDS.isLoading_$()?22:-1),r(),S((l=(l=i.accountDS.instanceMapping_$())==null?null:l.instances)!==null&&l!==void 0?l:T(8,Y))}},dependencies:[F],encapsulation:2})}return n})();export{vt as CC_UsageDashboard_Component};
|
|
2
|
-
//# sourceMappingURL=cc-usage-dashboard.component-TNMEIWMI.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["src/app/_modules/external-sessions/_modules/claude-code/_services/cc-account.api-service.ts", "src/app/_modules/external-sessions/_modules/claude-code/_services/cc-account.data-service.ts", "src/app/_modules/external-sessions/_modules/claude-code/_collections/cc-account-usage-pacing.util.ts", "src/app/_modules/external-sessions/_modules/claude-code/_components/cc-usage-dashboard/cc-usage-dashboard.component.ts", "src/app/_modules/external-sessions/_modules/claude-code/_components/cc-usage-dashboard/cc-usage-dashboard.component.html"],
|
|
4
|
-
"sourcesContent": ["import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { firstValueFrom } from 'rxjs';\n\nimport { CC_Account_Response } from '../_models/interfaces/cc-account.interface';\nimport {\n CC_AccountInstanceMapping_Response,\n CC_AccountUsageState_Response,\n} from '../_models/interfaces/cc-account-usage-state.interface';\nimport { environment } from '../../../../../../environments/environment';\n\n/**\n * CC Account REST API service (REQ-CC-USAGE-DASHBOARD-001 Slice 5 cycle 856).\n *\n * HTTP-bridge a server-oldali `CC_Account_Controller` endpoint-jaihoz\n * (`/cc-account/*`). Egyszerű thin api-service mintán a\n * `cc-cci-instance-data.api-service.ts`-hez hasonlóan: minden hívás\n * `firstValueFrom`-mal Promise-ra fordított `HttpClient` get/post/patch.\n *\n * A Slice 5+ Dashboard komponensek és a Slice 6 instance-mapping view\n * data-service-en keresztül használja.\n */\n@Injectable({ providedIn: 'root' })\nexport class CC_Account_ApiService {\n\n private readonly baseUrl: string = `${environment.api.baseUrl}/cc-account`;\n\n private readonly http: HttpClient = inject(HttpClient);\n\n /** GET /cc-account/list — cross-instance account-lista. */\n listAccounts(): Promise<{ items: CC_Account_Response[] }> {\n return firstValueFrom(\n this.http.get<{ items: CC_Account_Response[] }>(`${this.baseUrl}/list`),\n );\n }\n\n /** POST /cc-account/refresh — a hívó CCAP instance-en credential-discovery újrafutás. */\n refreshLocalAccounts(): Promise<{ refreshedKeys: string[]; scannedPaths: number }> {\n return firstValueFrom(\n this.http.post<{ refreshedKeys: string[]; scannedPaths: number }>(\n `${this.baseUrl}/refresh`,\n {},\n ),\n );\n }\n\n /**\n * GET /cc-account/instance-mapping — Slice 4 cross-instance aggregate.\n * Minden ismert CCAP instance group-by lastObservedByCcapId — melyik account-okat\n * látta utoljára.\n */\n getInstanceMapping(): Promise<CC_AccountInstanceMapping_Response> {\n return firstValueFrom(\n this.http.get<CC_AccountInstanceMapping_Response>(`${this.baseUrl}/instance-mapping`),\n );\n }\n\n /** GET /cc-account/:accountKey — egy account részletek. */\n getAccount(accountKey: string): Promise<CC_Account_Response> {\n return firstValueFrom(\n this.http.get<CC_Account_Response>(`${this.baseUrl}/${accountKey}`),\n );\n }\n\n /**\n * GET /cc-account/:accountKey/usage — Slice 3 per-account usage state-ek.\n * 0..5 rekord (egy windowType-onként).\n */\n getAccountUsage(accountKey: string): Promise<{ items: CC_AccountUsageState_Response[] }> {\n return firstValueFrom(\n this.http.get<{ items: CC_AccountUsageState_Response[] }>(\n `${this.baseUrl}/${accountKey}/usage`,\n ),\n );\n }\n\n /** PATCH /cc-account/:accountKey — display-name átírása (user-given). */\n renameAccount(params: {\n accountKey: string;\n displayName: string;\n }): Promise<CC_Account_Response> {\n return firstValueFrom(\n this.http.patch<CC_Account_Response>(\n `${this.baseUrl}/${params.accountKey}`,\n { displayName: params.displayName },\n ),\n );\n }\n}\n", "import { inject, Injectable, NgZone, OnDestroy, signal } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { CCAP_Socket_ControlService } from '../../../../../_services/control-services/ccap-socket.control-service';\nimport { CC_Account_ApiService } from './cc-account.api-service';\nimport { CC_Account_Response } from '../_models/interfaces/cc-account.interface';\nimport {\n CC_AccountInstanceMapping_Response,\n CC_AccountUsageState_Response,\n} from '../_models/interfaces/cc-account-usage-state.interface';\n\n/** Socket envelope shape — `CCAP_Socket_ControlService.event$` Subject közvetíti. */\ninterface SocketEnvelope_Interface {\n event: string;\n payload: Record<string, unknown>;\n}\n\n/** REQ-CC-USAGE-DASHBOARD-001 Slice 6 second-half: socket event nevek. */\nconst SOCKET_EVENT_CC_ACCOUNT_USAGE_UPDATE: string = 'cc:account-usage-update';\nconst SOCKET_EVENT_CC_ACCOUNT_LIST_UPDATE: string = 'cc:account-list-update';\n\n/**\n * CC Account Dashboard data service (REQ-CC-USAGE-DASHBOARD-001 Slice 5 cycle 857).\n *\n * SSOT a Slice 5+ Dashboard kliens-oldali state-jéhez. Signal-ek a komponensek\n * change-detection-jéhez (`accounts_$`, `accountUsageMap_$`, `instanceMapping_$`,\n * `isLoading_$`, `loadError_$`); async metódusok REST hívásokhoz a\n * `CC_Account_ApiService`-en át (cycle 856).\n *\n * NEM perzisztál (a backend DBNT a SSOT) — a kliens csak cache-eli a fetch-eket\n * a komponens élettartam alatt. Refresh: explicit user-action (`refreshAccounts`)\n * vagy szocket-event (Slice 6).\n */\n@Injectable({ providedIn: 'root' })\nexport class CC_Account_DataService implements OnDestroy {\n\n private readonly accountApi: CC_Account_ApiService = inject(CC_Account_ApiService);\n private readonly socket_CS: CCAP_Socket_ControlService = inject(CCAP_Socket_ControlService);\n private readonly ngZone: NgZone = inject(NgZone);\n\n /** Socket envelope subscription élettartam-kezelése. */\n private socketSubscription: Subscription | null = null;\n\n /** Cross-instance account-lista (a `listAccounts` REST eredménye). */\n readonly accounts_$ = signal<CC_Account_Response[]>([]);\n\n /**\n * Per-account usage state cache: `accountKey → usage-state[]` (5 windowType-onként\n * egy rekord max). A Slice 5 Dashboard account-card-ok ebből rendernek.\n */\n readonly accountUsageMap_$ = signal<Map<string, CC_AccountUsageState_Response[]>>(\n new Map(),\n );\n\n /** Cross-instance aggregate (Slice 4 instance-mapping endpoint cache). */\n readonly instanceMapping_$ = signal<CC_AccountInstanceMapping_Response | null>(null);\n\n /** Bármelyik load folyamatban-e (UI spinner-hez). */\n readonly isLoading_$ = signal<boolean>(false);\n\n /** Utolsó load hiba — null ha sikeres vagy nem futott. */\n readonly loadError_$ = signal<string | null>(null);\n\n /** Bootstrap fetch: account-list + instance-mapping párhuzamosan. */\n async loadDashboardBootstrap(): Promise<void> {\n this.isLoading_$.set(true);\n this.loadError_$.set(null);\n try {\n const [accountsResp, mappingResp] = await Promise.all([\n this.accountApi.listAccounts(),\n this.accountApi.getInstanceMapping(),\n ]);\n this.accounts_$.set(accountsResp.items);\n this.instanceMapping_$.set(mappingResp);\n } catch (err: unknown) {\n this.loadError_$.set(this.errorMessageOf(err));\n } finally {\n this.isLoading_$.set(false);\n }\n }\n\n /** Csak az account-listát tölti újra (kis fetch). */\n async loadAccounts(): Promise<void> {\n try {\n const resp = await this.accountApi.listAccounts();\n this.accounts_$.set(resp.items);\n } catch (err: unknown) {\n this.loadError_$.set(this.errorMessageOf(err));\n }\n }\n\n /**\n * Per-account usage-state fetch + cache-be írás. A Slice 5 account-card\n * komponens ezt hívja a saját accountKey-jére.\n */\n async loadAccountUsage(accountKey: string): Promise<void> {\n try {\n const resp = await this.accountApi.getAccountUsage(accountKey);\n const next: Map<string, CC_AccountUsageState_Response[]> = new Map(this.accountUsageMap_$());\n next.set(accountKey, resp.items);\n this.accountUsageMap_$.set(next);\n } catch (err: unknown) {\n this.loadError_$.set(this.errorMessageOf(err));\n }\n }\n\n /** Cross-instance aggregate refetch (Slice 4 — Slice 6 view bootstrap-jánál). */\n async loadInstanceMapping(): Promise<void> {\n try {\n const resp = await this.accountApi.getInstanceMapping();\n this.instanceMapping_$.set(resp);\n } catch (err: unknown) {\n this.loadError_$.set(this.errorMessageOf(err));\n }\n }\n\n /**\n * Explicit user-trigger: a hívó CCAP instance-en credential-discovery újrafutás\n * + account-lista refetch. POST /refresh után automatikusan listAccounts-szal frissít.\n */\n async refreshAccounts(): Promise<{ refreshedKeys: string[]; scannedPaths: number }> {\n this.isLoading_$.set(true);\n this.loadError_$.set(null);\n try {\n const refreshResult = await this.accountApi.refreshLocalAccounts();\n await this.loadAccounts();\n return refreshResult;\n } catch (err: unknown) {\n this.loadError_$.set(this.errorMessageOf(err));\n return { refreshedKeys: [], scannedPaths: 0 };\n } finally {\n this.isLoading_$.set(false);\n }\n }\n\n /**\n * Display-name átírása + a cache-elt account-lista frissítése (a megfelelő\n * elem displayName mezőjének felülírása, signal-update).\n */\n async renameAccount(params: { accountKey: string; displayName: string }): Promise<void> {\n try {\n const updated = await this.accountApi.renameAccount(params);\n const next: CC_Account_Response[] = this.accounts_$().map(\n (a): CC_Account_Response => (a.accountKey === params.accountKey ? updated : a),\n );\n this.accounts_$.set(next);\n } catch (err: unknown) {\n this.loadError_$.set(this.errorMessageOf(err));\n }\n }\n\n /**\n * Socket subscription init (REQ-CC-USAGE-DASHBOARD-001 Slice 6 second-half cycle 871).\n * A `CCAP_Socket_ControlService.event$` Subject minden socket-event-et közvetít\n * envelope-formában (event-name + payload). Mi az `cc:account-usage-update`\n * és `cc:account-list-update` event-ekre szűrünk és a megfelelő signal-eket frissítjük.\n *\n * Late subscription: a Dashboard component `ngOnInit`-jéből hívjuk (vagy explicit\n * service-init-kor), hogy ne legyen subscription-overhead, ha a Dashboard sose\n * nyílik meg.\n */\n startLiveUpdates(): void {\n if (this.socketSubscription != null) {\n return;\n }\n this.socketSubscription = this.socket_CS.event$.subscribe(\n (envelope: SocketEnvelope_Interface): void => {\n this.ngZone.run((): void => {\n if (envelope.event === SOCKET_EVENT_CC_ACCOUNT_USAGE_UPDATE) {\n this.handleAccountUsageUpdate(envelope.payload);\n } else if (envelope.event === SOCKET_EVENT_CC_ACCOUNT_LIST_UPDATE) {\n this.handleAccountListUpdate(envelope.payload);\n }\n });\n },\n );\n }\n\n /** Socket subscription teardown (component destroy / explicit stop). */\n stopLiveUpdates(): void {\n if (this.socketSubscription != null) {\n this.socketSubscription.unsubscribe();\n this.socketSubscription = null;\n }\n }\n\n ngOnDestroy(): void {\n this.stopLiveUpdates();\n }\n\n /**\n * Per-account usage state real-time frissítés. A server `persistAccountUsageState`\n * upsert sikere után emit-elt event-ből építjük újra a `accountUsageMap_$`\n * megfelelő `accountKey` bejegyzését. Ha a windowType már szerepel, lecseréljük;\n * különben hozzáadjuk.\n */\n private handleAccountUsageUpdate(payload: Record<string, unknown>): void {\n const accountKey: unknown = payload.accountKey;\n const windowType: unknown = payload.windowType;\n if (typeof accountKey !== 'string' || accountKey === '' || typeof windowType !== 'string') {\n return;\n }\n const newItem: CC_AccountUsageState_Response = {\n accountKey: accountKey,\n windowType: windowType,\n utilization: typeof payload.utilization === 'number' ? payload.utilization : undefined,\n resetsAtMs: typeof payload.resetsAtMs === 'number' ? payload.resetsAtMs : undefined,\n lastObservedStatus: typeof payload.lastObservedStatus === 'string' ? payload.lastObservedStatus : undefined,\n observedAt: typeof payload.observedAt === 'string' ? payload.observedAt : undefined,\n lastObservedByCcapId: typeof payload.lastObservedByCcapId === 'string' ? payload.lastObservedByCcapId : undefined,\n lastObservedBySessionId: typeof payload.lastObservedBySessionId === 'string' ? payload.lastObservedBySessionId : undefined,\n };\n\n const next: Map<string, CC_AccountUsageState_Response[]> = new Map(this.accountUsageMap_$());\n const existing: CC_AccountUsageState_Response[] = next.get(accountKey) ?? [];\n const replaced: CC_AccountUsageState_Response[] = existing.filter(\n (item: CC_AccountUsageState_Response): boolean => item.windowType !== windowType,\n );\n replaced.push(newItem);\n next.set(accountKey, replaced);\n this.accountUsageMap_$.set(next);\n }\n\n /**\n * Account-pool változás (új account felfedezve, displayName-átírás): a\n * legegyszerűbb és legbiztonságosabb módon `loadAccounts()` re-fetch-csel\n * frissítjük a `accounts_$` signal-t. Cross-instance change-ek esetén is\n * ez a megközelítés robosztus (a DB SSOT-ből minden instance ugyanazt látja).\n */\n private handleAccountListUpdate(_payload: Record<string, unknown>): void {\n void this.loadAccounts();\n }\n\n /** Hibaüzenet kinyerés tipikus shape-ekből (HttpErrorResponse / Error / unknown). */\n private errorMessageOf(err: unknown): string {\n if (err instanceof Error) {\n return err.message;\n }\n if (typeof err === 'object' && err !== null) {\n const rec: Record<string, unknown> = err as Record<string, unknown>;\n if (typeof rec.message === 'string') {\n return rec.message;\n }\n }\n return String(err);\n }\n}\n", "/**\n * CC Account usage pacing util (REQ-CC-USAGE-DASHBOARD-001 Slice 6 cycle 867).\n *\n * Pacing target compute: minden time-windowed utilization-hoz (five_hour /\n * seven_day / seven_day_opus / seven_day_sonnet) ki tudja számolni a\n * jelenlegi időponti pacing-target-et (`elapsed_sec * 100 / window_sec`),\n * és klasszifikálja, hogy a tényleges utilization above / on-pace / below\n * pacing-en van-e. Az `extra_usage` window NEM time-based, ehhez NEM\n * használható (a hívó döntse el melyik window-on alkalmazza).\n *\n * Pure-static, NEM service-injekt. A Slice 6 Dashboard view-frissítés és\n * a későbbi per-window usage-card komponens egyaránt ezt használja.\n */\nexport class CC_AccountUsagePacing_Util {\n\n /** Time-windowed windowType-ok másodpercekben. */\n static readonly WINDOW_SEC_BY_TYPE: Record<string, number> = {\n five_hour: 5 * 3600,\n seven_day: 7 * 24 * 3600,\n seven_day_opus: 7 * 24 * 3600,\n seven_day_sonnet: 7 * 24 * 3600,\n };\n\n /**\n * Pacing fraction (0..1): mennyi telt el a window-ból. NEM utilization-hez\n * köthető. Példa: ha a 5h window 2.5h-nál tart, pacing = 0.5.\n *\n * Compute: `windowStart = resetsAtMs - windowSec*1000`;\n * `elapsed = max(0, now - windowStart)`;\n * `pacing = clamp(elapsed / windowSec*1000, 0, 1)`.\n *\n * Visszaad null-t, ha NEM time-windowed type vagy NEM kalkulálható\n * (windowSec hiányzik a térképen, resetsAtMs negatív/0).\n */\n static computePacingFraction(params: {\n windowType: string;\n resetsAtMs: number | undefined;\n nowMs: number;\n }): number | null {\n const windowSec: number | undefined =\n CC_AccountUsagePacing_Util.WINDOW_SEC_BY_TYPE[params.windowType];\n if (windowSec === undefined) {\n return null;\n }\n if (!params.resetsAtMs || params.resetsAtMs <= 0) {\n return null;\n }\n const windowMs: number = windowSec * 1000;\n const windowStart: number = params.resetsAtMs - windowMs;\n const elapsed: number = Math.max(0, params.nowMs - windowStart);\n const pacing: number = elapsed / windowMs;\n if (pacing < 0) {\n return 0;\n }\n if (pacing > 1) {\n return 1;\n }\n return pacing;\n }\n\n /**\n * Pacing klasszifikáció: utilization vs pacing-target. Tolerancia (default\n * 0.10) belül 'on-pace'; alatta 'below' (egészséges, alulhasználat); fölötte\n * 'above' (gyors égetés).\n *\n * Visszaad null-t, ha bármelyik input hiányzik.\n */\n static classifyPacing(params: {\n utilization: number | undefined;\n pacingFraction: number | null;\n tolerance?: number;\n }): 'below' | 'on-pace' | 'above' | null {\n if (params.utilization == null || params.pacingFraction === null) {\n return null;\n }\n const tolerance: number = params.tolerance ?? 0.10;\n const diff: number = params.utilization - params.pacingFraction;\n if (diff > tolerance) {\n return 'above';\n }\n if (diff < -tolerance) {\n return 'below';\n }\n return 'on-pace';\n }\n\n /**\n * Tailwind text-color class a pacing-klasszifikáció alapján:\n * - 'below' → 'text-green-400' (alulhasználat, egészséges)\n * - 'on-pace' → 'text-yellow-300' (on-target, watch)\n * - 'above' → 'text-red-400' (gyors égetés, közeli rate-limit)\n * - null → 'text-neutral-500' (no-data fallback)\n */\n static colorClassForPacing(classification: 'below' | 'on-pace' | 'above' | null): string {\n if (classification === 'below') {\n return 'text-green-400';\n }\n if (classification === 'on-pace') {\n return 'text-yellow-300';\n }\n if (classification === 'above') {\n return 'text-red-400';\n }\n return 'text-neutral-500';\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { Component, computed, inject, OnInit, Signal, signal } from '@angular/core';\n\nimport { CC_Account_DataService } from '../../_services/cc-account.data-service';\nimport { CC_Account_Response } from '../../_models/interfaces/cc-account.interface';\nimport { CC_AccountUsageState_Response } from '../../_models/interfaces/cc-account-usage-state.interface';\nimport { CC_AccountUsagePacing_Util } from '../../_collections/cc-account-usage-pacing.util';\n\n/**\n * CC Account Usage Dashboard skeleton komponens (REQ-CC-USAGE-DASHBOARD-001\n * Slice 5 cycle 858).\n *\n * Standalone Angular komponens — listázza az ismert CC account-okat + a\n * cross-instance instance-mapping aggregate-et. A skeleton-szint:\n * loading state, error state, üres-lista placeholder, és minimum lista-\n * render. A részletes account-card + per-window usage-render a Slice\n * további szeleteiben (cycle 859+).\n *\n * Data-flow: ngOnInit → CC_Account_DataService.loadDashboardBootstrap\n * (Promise.all listAccounts + getInstanceMapping) → signal-update →\n * template re-render.\n *\n * Refresh-button: explicit user-action → POST /cc-account/refresh +\n * automatikus listAccounts re-fetch (data-service refreshAccounts hívás).\n */\n@Component({\n selector: 'app-cc-usage-dashboard',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './cc-usage-dashboard.component.html',\n host: { class: 'flex flex-col flex-1 min-h-0 overflow-auto p-4' },\n})\n/** CC_UsageDashboard_Component class. */\nexport class CC_UsageDashboard_Component implements OnInit {\n\n readonly accountDS: CC_Account_DataService = inject(CC_Account_DataService);\n\n /** Refresh-button folyamat-jelző (a data-service.isLoading_$ mellett külön ehhez). */\n readonly isRefreshing_$ = signal<boolean>(false);\n\n /**\n * Computed: a cross-instance instance-mapping aggregate `{ instances }`\n * top-level array hossza. A template ezzel dönti el, hogy a \"no instances\"\n * placeholder vagy a lista renderel.\n */\n readonly instanceCount_$: Signal<number> = computed((): number => {\n const mapping = this.accountDS.instanceMapping_$();\n return mapping?.instances.length ?? 0;\n });\n\n ngOnInit(): void {\n // fire-and-forget: a Promise hibái a data-service.loadError_$ signal-ba\n // mennek, NEM throw-olnak — a template loadError_$-rel rendereli.\n void this.accountDS.loadDashboardBootstrap();\n // REQ-CC-USAGE-DASHBOARD-001 Slice 6 second-half (cycle 871): real-time\n // socket subscription a `cc:account-usage-update` és `cc:account-list-update`\n // event-ekre. A subscription a service singleton élettartam alatt él\n // (root-providedIn), így nem teardown-oljuk a komponens destroy-jakor.\n this.accountDS.startLiveUpdates();\n }\n\n /** Refresh-button click — POST /refresh + auto listAccounts. */\n async handleRefresh(): Promise<void> {\n this.isRefreshing_$.set(true);\n try {\n await this.accountDS.refreshAccounts();\n } finally {\n this.isRefreshing_$.set(false);\n }\n }\n\n /**\n * Template helper: account `displayName` vagy fallback (`accountKey első 6 char`).\n * NEM logika — pure mapping, getter-szerű, max-method-params szabályon belül.\n */\n displayNameOf(account: CC_Account_Response): string {\n return account.displayName !== '' ? account.displayName : `account-${account.accountKey.slice(0, 6)}`;\n }\n\n /**\n * Template helper: per-instance items count → mappingéhez render-be ('N usage records').\n * Pure mapping a Slice 6 view részletesebb table-cell-jei előtt.\n */\n itemsCountOf(items: CC_AccountUsageState_Response[]): number {\n return items.length;\n }\n\n /**\n * Slice 6 first-step (cycle 865): latest five_hour utilization egy instance-en.\n * A `five_hour` windowType item utilization-jét adja vissza (0..1 fraction);\n * ha nincs ilyen item → null (template '—'-t renderel).\n */\n latestFiveHourUtilOf(items: CC_AccountUsageState_Response[]): number | null {\n for (const item of items) {\n if (item.windowType === 'five_hour' && typeof item.utilization === 'number') {\n return item.utilization;\n }\n }\n return null;\n }\n\n /**\n * Slice 6 first-step (cycle 865): legutoljára-látott account-kulcs egy instance-en.\n * Az `items` rendszerint egyetlen account-hoz tartozik (per-instance only egy active),\n * de defensive a legutóbbi observedAt szerint választ. Empty → null.\n */\n latestAccountKeyOf(items: CC_AccountUsageState_Response[]): string | null {\n if (items.length === 0) {\n return null;\n }\n let latest: CC_AccountUsageState_Response = items[0];\n for (const item of items) {\n const a: number = item.observedAt ? Date.parse(item.observedAt) : 0;\n const b: number = latest.observedAt ? Date.parse(latest.observedAt) : 0;\n if (a > b) {\n latest = item;\n }\n }\n return latest.accountKey;\n }\n\n /**\n * Slice 6 first-step (cycle 865): account-displayName lookup accountKey alapján\n * az `accounts_$` cache-ből. Fallback `account-{first6}` ha nincs match.\n */\n displayNameByAccountKey(accountKey: string): string {\n const found: CC_Account_Response | undefined = this.accountDS.accounts_$().find(\n (a): boolean => a.accountKey === accountKey,\n );\n if (found) {\n return this.displayNameOf(found);\n }\n return `account-${accountKey.slice(0, 6)}`;\n }\n\n /**\n * Slice 6 first-step (cycle 865): utilization fraction (0..1) → percent string '42%'.\n * NEM logika — pure mapping. null → '—' (no data).\n */\n formatUtilization(utilization: number | null): string {\n if (utilization === null) {\n return '—';\n }\n return `${Math.round(utilization * 100)}%`;\n }\n\n /**\n * Slice 6 second-step (cycle 866): utilization-küszöb-szín a Dashboard 5h\n * percent-jelzéséhez. Egyszerűbb threshold-alapú szín-jelzés (NEM időbeli-\n * adaptív). Megmarad mint fallback / null-data eset, ahol a pacing NEM\n * számolható (resetsAtMs hiányzik). Tartományok REQ-CC-RATE-001 amber/red.\n */\n utilizationColorClass(utilization: number | null): string {\n if (utilization === null || utilization < 0.5) {\n return 'text-green-400';\n }\n if (utilization < 0.85) {\n return 'text-yellow-300';\n }\n return 'text-red-400';\n }\n\n /**\n * Slice 6 fourth-step (cycle 868): pacing-target színkód a Dashboard 5h\n * utilization-jelzéséhez. A cycle 866 sima threshold-küszöb helyett\n * időbeli-adaptív: a window-elapsed alapján a user lássa, hogy a tényleges\n * utilization \"above pacing\" (gyors), \"on-pace\" vagy \"below pacing\"\n * (egészséges). A `CC_AccountUsagePacing_Util` static metódusait láncolja.\n *\n * Fallback `utilizationColorClass`-ra, ha pacing NEM számolható\n * (resetsAtMs hiányzik / extra_usage). Ezzel mindig van valami szín-jelzés.\n */\n pacingColorClassForFiveHour(items: CC_AccountUsageState_Response[]): string {\n let fiveHourItem: CC_AccountUsageState_Response | undefined;\n for (const item of items) {\n if (item.windowType === 'five_hour') {\n fiveHourItem = item;\n break;\n }\n }\n if (!fiveHourItem) {\n return 'text-neutral-500';\n }\n const pacingFraction: number | null = CC_AccountUsagePacing_Util.computePacingFraction({\n windowType: 'five_hour',\n resetsAtMs: fiveHourItem.resetsAtMs,\n nowMs: Date.now(),\n });\n if (pacingFraction === null) {\n // Fallback: time-bázis NEM számolható → sima threshold-color.\n const util: number | null = fiveHourItem.utilization ?? null;\n return this.utilizationColorClass(util);\n }\n const classification: 'below' | 'on-pace' | 'above' | null =\n CC_AccountUsagePacing_Util.classifyPacing({\n utilization: fiveHourItem.utilization,\n pacingFraction: pacingFraction,\n });\n return CC_AccountUsagePacing_Util.colorClassForPacing(classification);\n }\n}\n", "<!-- CC Account Usage Dashboard skeleton (REQ-CC-USAGE-DASHBOARD-001 Slice 5 cycle 858).\n Loading + error + empty placeholders + minimal account-list + instance-mapping render.\n Részletes account-card / per-window usage / pacing-color a Slice következő szeleteiben. -->\n\n<header class=\"flex items-center justify-between mb-4 pb-2 border-b border-neutral-700\">\n <h1 class=\"text-lg font-semibold text-neutral-100\">\n CC Usage & Accounts\n <span class=\"text-xs text-neutral-500 font-normal ml-2\">\n (REQ-CC-USAGE-DASHBOARD-001 Slice 5)\n </span>\n </h1>\n <button\n type=\"button\"\n class=\"px-3 py-1 text-xs rounded border border-neonDefault text-neonDefault hover:bg-neonDefault/10 transition-colors disabled:opacity-50\"\n [disabled]=\"isRefreshing_$() || accountDS.isLoading_$()\"\n (click)=\"handleRefresh()\"\n >\n {{ isRefreshing_$() ? 'Refreshing…' : '↻ Refresh accounts' }}\n </button>\n</header>\n\n@if (accountDS.isLoading_$()) {\n <div class=\"text-sm text-neutral-400 italic py-4\">\n Loading dashboard…\n </div>\n}\n\n@if (accountDS.loadError_$(); as err) {\n <div class=\"text-sm text-red-400 bg-red-950/30 border border-red-700 rounded p-3 mb-4\">\n <strong>Load error:</strong> {{ err }}\n </div>\n}\n\n<section class=\"mb-6\">\n <h2 class=\"text-sm font-semibold text-neutral-300 mb-2\">\n Known CC Accounts\n <span class=\"text-xs text-neutral-500 font-normal ml-1\">\n ({{ accountDS.accounts_$().length }})\n </span>\n </h2>\n\n @if (!accountDS.accounts_$().length && !accountDS.isLoading_$()) {\n <div class=\"text-xs text-neutral-500 italic\">\n No CC accounts discovered yet. Run <code>claude /login</code> on this machine,\n then click <strong>↻ Refresh accounts</strong>.\n </div>\n }\n\n @for (account of accountDS.accounts_$(); track account.accountKey) {\n <div class=\"flex items-center gap-3 py-2 px-3 rounded border border-neutral-800 mb-2 hover:border-neutral-600 transition-colors\">\n <div class=\"flex-1 min-w-0\">\n <div class=\"text-sm text-neutral-100 truncate\">\n {{ displayNameOf(account) }}\n </div>\n <div class=\"text-[10px] text-neutral-500 font-mono truncate\">\n {{ account.accountKey }}\n @if (account.email) {\n <span class=\"ml-2\">· {{ account.email }}</span>\n }\n @if (account.tokenStatus) {\n <span class=\"ml-2\">· token: {{ account.tokenStatus }}</span>\n }\n </div>\n </div>\n <div class=\"text-[10px] text-neutral-500 shrink-0\">\n @if (account.planTier) {\n <span class=\"px-1.5 py-0.5 rounded border border-neutral-700\">\n {{ account.planTier }}\n </span>\n }\n </div>\n </div>\n }\n</section>\n\n<section>\n <h2 class=\"text-sm font-semibold text-neutral-300 mb-2\">\n Instance ↔ Account Mapping\n <span class=\"text-xs text-neutral-500 font-normal ml-1\">\n ({{ instanceCount_$() }})\n </span>\n </h2>\n\n @if (!instanceCount_$() && !accountDS.isLoading_$()) {\n <div class=\"text-xs text-neutral-500 italic\">\n No instance mappings yet. Mappings appear after the first\n <code>rate_limit_event</code> on a session with a bound account.\n </div>\n }\n\n @for (entry of accountDS.instanceMapping_$()?.instances ?? []; track entry.ccapId) {\n <div class=\"flex items-center gap-3 py-2 px-3 rounded border border-neutral-800 mb-2\">\n <div class=\"flex-1 min-w-0\">\n <div class=\"text-sm text-neutral-100 truncate\">\n {{ entry.ccapId }}\n </div>\n <div class=\"text-[10px] text-neutral-500\">\n @if (latestAccountKeyOf(entry.items); as ak) {\n <!-- Slice 6 first-step (865): account-displayName + 5h util.\n Slice 6 second-step (866): utilization-küszöb-szín fallback.\n Slice 6 fourth-step (868): pacing-target szín-bekötés a 5h-on. -->\n <span class=\"text-neutral-300\">\n {{ displayNameByAccountKey(ak) }}\n </span>\n <span class=\"ml-1 font-mono text-neutral-600\">({{ ak.slice(0, 6) }}…)</span>\n <span class=\"ml-2\">·</span>\n <span class=\"ml-1\">5h: <span [class]=\"pacingColorClassForFiveHour(entry.items)\">{{ formatUtilization(latestFiveHourUtilOf(entry.items)) }}</span></span>\n <span class=\"ml-2\">·</span>\n }\n <span>{{ itemsCountOf(entry.items) }} record(s)</span>\n </div>\n </div>\n </div>\n }\n</section>\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["CC_Account_ApiService", "baseUrl", "environment", "api", "http", "inject", "HttpClient", "listAccounts", "firstValueFrom", "get", "refreshLocalAccounts", "post", "getInstanceMapping", "getAccount", "accountKey", "getAccountUsage", "renameAccount", "params", "patch", "displayName", "factory", "\u0275fac", "providedIn", "SOCKET_EVENT_CC_ACCOUNT_USAGE_UPDATE", "SOCKET_EVENT_CC_ACCOUNT_LIST_UPDATE", "CC_Account_DataService", "accountApi", "inject", "CC_Account_ApiService", "socket_CS", "CCAP_Socket_ControlService", "ngZone", "NgZone", "socketSubscription", "accounts_$", "signal", "accountUsageMap_$", "Map", "instanceMapping_$", "isLoading_$", "loadError_$", "loadDashboardBootstrap", "__async", "set", "accountsResp", "mappingResp", "Promise", "all", "listAccounts", "getInstanceMapping", "items", "err", "errorMessageOf", "loadAccounts", "resp", "loadAccountUsage", "accountKey", "getAccountUsage", "next", "loadInstanceMapping", "refreshAccounts", "refreshResult", "refreshLocalAccounts", "refreshedKeys", "scannedPaths", "renameAccount", "params", "updated", "map", "a", "startLiveUpdates", "event$", "subscribe", "envelope", "run", "event", "handleAccountUsageUpdate", "payload", "handleAccountListUpdate", "stopLiveUpdates", "unsubscribe", "ngOnDestroy", "windowType", "newItem", "utilization", "undefined", "resetsAtMs", "lastObservedStatus", "observedAt", "lastObservedByCcapId", "lastObservedBySessionId", "replaced", "get", "filter", "item", "push", "_payload", "Error", "message", "rec", "String", "factory", "\u0275fac", "providedIn", "CC_AccountUsagePacing_Util", "WINDOW_SEC_BY_TYPE", "five_hour", "seven_day", "seven_day_opus", "seven_day_sonnet", "computePacingFraction", "params", "windowSec", "windowType", "undefined", "resetsAtMs", "windowMs", "windowStart", "pacing", "Math", "max", "nowMs", "classifyPacing", "utilization", "pacingFraction", "tolerance", "diff", "colorClassForPacing", "classification", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "ctx", "account_r1", "email", "tokenStatus", "planTier", "\u0275\u0275template", "CC_UsageDashboard_Component_For_16_Conditional_6_Template", "CC_UsageDashboard_Component_For_16_Conditional_7_Template", "CC_UsageDashboard_Component_For_16_Conditional_9_Template", "ctx_r1", "displayNameOf", "accountKey", "\u0275\u0275conditional", "displayNameByAccountKey", "ak_r3", "slice", "\u0275\u0275classMap", "pacingColorClassForFiveHour", "entry_r4", "items", "\u0275\u0275textInterpolate", "formatUtilization", "latestFiveHourUtilOf", "CC_UsageDashboard_Component_For_24_Conditional_5_Template", "ccapId", "tmp_11_0", "latestAccountKeyOf", "itemsCountOf", "CC_UsageDashboard_Component", "accountDS", "inject", "CC_Account_DataService", "isRefreshing_$", "signal", "instanceCount_$", "computed", "instanceMapping_$", "instances", "length", "ngOnInit", "loadDashboardBootstrap", "startLiveUpdates", "handleRefresh", "__async", "set", "refreshAccounts", "account", "displayName", "item", "windowType", "utilization", "latest", "a", "observedAt", "Date", "parse", "b", "found", "accounts_$", "find", "Math", "round", "utilizationColorClass", "fiveHourItem", "pacingFraction", "CC_AccountUsagePacing_Util", "computePacingFraction", "resetsAtMs", "nowMs", "now", "util", "classification", "classifyPacing", "colorClassForPacing", "selectors", "hostAttrs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "\u0275\u0275listener", "CC_UsageDashboard_Component_Conditional_7_Template", "CC_UsageDashboard_Component_Conditional_8_Template", "CC_UsageDashboard_Component_Conditional_14_Template", "\u0275\u0275repeaterCreate", "CC_UsageDashboard_Component_For_16_Template", "_forTrack0", "CC_UsageDashboard_Component_Conditional_22_Template", "CC_UsageDashboard_Component_For_24_Template", "_forTrack1", "\u0275\u0275property", "isLoading_$", "tmp_3_0", "loadError_$", "\u0275\u0275repeater", "tmp_9_0", "undefined", "\u0275\u0275pureFunction0", "_c0", "CommonModule", "encapsulation"]
|
|
7
|
-
}
|