@futdevpro/ccap 1.1.2501 → 1.1.2582
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-LTDXV2IY.js → agent-instances.module-7VEBBM5Y.js} +2 -2
- package/client-dist/ca.module-ZFHRCLF7.js +5 -0
- package/client-dist/ca.module-ZFHRCLF7.js.map +7 -0
- package/client-dist/cc.module-JZX6WYEJ.js +4 -0
- package/client-dist/cc.module-JZX6WYEJ.js.map +7 -0
- package/client-dist/{chunk-EM3SZVDU.js → chunk-25EU3GLD.js} +2 -2
- package/client-dist/{chunk-GFTD3PFY.js → chunk-2O52ESML.js} +2 -2
- package/client-dist/{chunk-UUVX445C.js → chunk-2SPJ3JFQ.js} +2 -2
- package/client-dist/{chunk-ZLFERKG3.js → chunk-3FTM2EWS.js} +2 -2
- package/client-dist/{chunk-3UOIDPAC.js → chunk-3SNKGBZL.js} +2 -2
- package/client-dist/{chunk-HFR2YVDI.js → chunk-3TXLV3DA.js} +2 -2
- package/client-dist/chunk-53QIVVCG.js +2 -0
- package/client-dist/chunk-53QIVVCG.js.map +7 -0
- package/client-dist/{chunk-WEVE5VD3.js → chunk-6BANNHB6.js} +2 -2
- package/client-dist/{chunk-7RCG5AUK.js → chunk-AHZ2P3Z3.js} +2 -2
- package/client-dist/{chunk-SUTYJTHV.js → chunk-AYBZUIVP.js} +2 -2
- package/client-dist/{chunk-IOTAEA7L.js → chunk-BC56SIVJ.js} +3 -3
- package/client-dist/chunk-BC56SIVJ.js.map +1 -0
- package/client-dist/{chunk-QZNDAR62.js → chunk-BDL5F3DK.js} +2 -2
- package/client-dist/{chunk-VWZZNYWE.js → chunk-CN2EISGD.js} +2 -2
- package/client-dist/{chunk-Z3GNAEVX.js → chunk-CTB35A3I.js} +3 -3
- package/client-dist/chunk-CTB35A3I.js.map +7 -0
- package/client-dist/{chunk-KPAFG4UR.js → chunk-CXE46KLX.js} +2 -2
- package/client-dist/{chunk-AQ6UDIDI.js → chunk-CZEGJES4.js} +2 -2
- package/client-dist/{chunk-ZDPUFUOX.js → chunk-D4YCGDYF.js} +2 -2
- package/client-dist/{chunk-UXSUGWC7.js → chunk-D5YBMGLK.js} +2 -2
- package/client-dist/{chunk-WBGOPUBJ.js → chunk-DR5CW2Q5.js} +2 -2
- package/client-dist/{chunk-ZLTD5EHK.js → chunk-DTMD64OK.js} +2 -2
- package/client-dist/{chunk-UI5GI7XJ.js → chunk-ERTQ57LC.js} +2 -2
- package/client-dist/{chunk-SCV6UFI3.js → chunk-F763HXOW.js} +2 -2
- package/client-dist/{chunk-2R2YN5EL.js → chunk-FH7BZ5KC.js} +2 -2
- package/client-dist/{chunk-OQBJMVZN.js → chunk-FKFHKEJ6.js} +2 -2
- package/client-dist/{chunk-GBTUS3NA.js → chunk-GH6753SA.js} +2 -2
- package/client-dist/{chunk-FF6BDAQ3.js → chunk-GYAPUB7L.js} +2 -2
- package/client-dist/{chunk-6QUQUVFA.js → chunk-IX66ULOP.js} +2 -2
- package/client-dist/{chunk-X7RDMQ3C.js → chunk-KNCYCQVI.js} +2 -2
- package/client-dist/{chunk-6DG4SANW.js → chunk-M4TYKIMG.js} +2 -2
- package/client-dist/{chunk-6HLT2T6S.js → chunk-NJZZZGTL.js} +2 -2
- package/client-dist/{chunk-6KYIRW2G.js → chunk-OVYV3NO4.js} +2 -2
- package/client-dist/{chunk-EGJCQMSF.js → chunk-OZ2XX74S.js} +2 -2
- package/client-dist/{chunk-NOJ5LBG5.js → chunk-PWFZ6PI4.js} +2 -2
- package/client-dist/{chunk-PPC5TB5D.js → chunk-RIPG5ILJ.js} +2 -2
- package/client-dist/{chunk-HXI4T6RD.js → chunk-T3KV2MBE.js} +2 -2
- package/client-dist/{chunk-2BHHN7VT.js → chunk-T7O5N6F5.js} +2 -2
- package/client-dist/{chunk-LV57US6X.js → chunk-TYFIVDHM.js} +2 -2
- package/client-dist/{chunk-YGNJ5SA4.js → chunk-U4EZD6B3.js} +2 -2
- package/client-dist/chunk-U7PPOB3Z.js +3 -0
- package/client-dist/{chunk-4GZ62WW2.js.map → chunk-U7PPOB3Z.js.map} +4 -4
- package/client-dist/{chunk-WTMQ54UE.js → chunk-UDXUA4QP.js} +2 -2
- package/client-dist/{chunk-MKW5NDHN.js → chunk-UKMTMXFC.js} +2 -2
- package/client-dist/{chunk-IF3SDXO3.js → chunk-UKTCBZ23.js} +2 -2
- package/client-dist/{chunk-PCOACAKZ.js → chunk-USYW262H.js} +2 -2
- package/client-dist/{chunk-ESXT6PE7.js → chunk-UXQXE4O4.js} +2 -2
- package/client-dist/{chunk-XRFAWHWF.js → chunk-VA5ORQEA.js} +2 -2
- package/client-dist/{chunk-XKVTWHUQ.js → chunk-VD2IXKGO.js} +2 -2
- package/client-dist/{chunk-BOSO7V5W.js → chunk-W3N4KJQU.js} +2 -2
- package/client-dist/{chunk-Q6AFYXZZ.js → chunk-WKKV76Y4.js} +2 -2
- package/client-dist/{chunk-QF3XZDPL.js → chunk-WRTBJFYJ.js} +2 -2
- package/client-dist/{chunk-APQCANPB.js → chunk-WTKKMZP3.js} +2 -2
- package/client-dist/{chunk-O2FFMKAR.js → chunk-XZ6U37UV.js} +2 -2
- package/client-dist/{chunk-OCZXZA7H.js → chunk-YKPMO3C3.js} +2 -2
- package/client-dist/{chunk-JVQWRB3X.js → chunk-ZIAX3RD5.js} +2 -2
- package/client-dist/{chunk-6UTCOTTK.js → chunk-ZPHUSRQ2.js} +2 -2
- package/client-dist/chunk-ZR3JTDG2.js +2 -0
- package/client-dist/chunk-ZR3JTDG2.js.map +7 -0
- package/client-dist/{chunk-XPGMSC4M.js → chunk-ZVEM6BEV.js} +2 -2
- package/client-dist/{consultant.module-5XH5HTTH.js → consultant.module-355QJ5VP.js} +2 -2
- package/client-dist/{crd.module-53UQTTLA.js → crd.module-23O7HPSP.js} +2 -2
- package/client-dist/{dashboard.module-KOHITRUW.js → dashboard.module-B3DBG7VA.js} +2 -2
- package/client-dist/do-chat-popup.component-3NJKFEEW.css.map +7 -0
- package/client-dist/{do-instance-panel.component-K5IGXVCT.css.map → do-instance-panel.component-MDYTDDAF.css.map} +2 -2
- package/client-dist/do-office-scene.component-Z3ULZ7BC.css.map +7 -0
- package/client-dist/do.module-T3T4EI72.js +18 -0
- package/client-dist/do.module-T3T4EI72.js.map +7 -0
- package/client-dist/{document-library.module-72JKQJ2J.js → document-library.module-HCB3IBFU.js} +2 -2
- package/client-dist/{embedding-eval.module-3WCRH2K6.js → embedding-eval.module-Y4S72P6L.js} +2 -2
- package/client-dist/{embedding-registry.module-TG4TN5QC.js → embedding-registry.module-WRLE4M2R.js} +2 -2
- package/client-dist/{err.module-RJW3NXTH.js → err.module-NEHVNIDC.js} +2 -2
- package/client-dist/{feedback.module-FWEGEGYQ.js → feedback.module-M22IIOC3.js} +2 -2
- package/client-dist/{host-runtime-mcp.module-KAAHVFSN.js → host-runtime-mcp.module-BTQGLDN3.js} +2 -2
- package/client-dist/index.html +2 -2
- package/client-dist/{live-dev-pipeline.module-QHCYBTUC.js → live-dev-pipeline.module-TBWOJ2K7.js} +2 -2
- package/client-dist/{logs.module-4LFK3T3K.js → logs.module-WLXYHRBN.js} +2 -2
- package/client-dist/main-CPF6CLMC.js +7 -0
- package/client-dist/main-CPF6CLMC.js.map +7 -0
- package/client-dist/{master-control-remote-poc.module-WED7JUNZ.js → master-control-remote-poc.module-NZ4AZJHI.js} +2 -2
- package/client-dist/{mobile-app.module-AXH7W53A.js → mobile-app.module-JUBFTHW3.js} +2 -2
- package/client-dist/{model-registry.module-SGHIKUWI.js → model-registry.module-AIAGFPNO.js} +2 -2
- package/client-dist/oc.module-KYUWTHHM.js +3 -0
- package/client-dist/oc.module-KYUWTHHM.js.map +7 -0
- package/client-dist/{orc.module-DGB2CPYK.js → orc.module-BMV7EOI7.js} +2 -2
- package/client-dist/{project-management.module-7PYZ6SMH.js → project-management.module-X5VO2F54.js} +11 -11
- package/client-dist/project-management.module-X5VO2F54.js.map +7 -0
- package/client-dist/project-source-routed.module-CTOB53C7.js +2 -0
- package/client-dist/{scheduler.module-KG43N2FH.js → scheduler.module-IKACZ62P.js} +2 -2
- package/client-dist/session.module-GLASF7US.js +12 -0
- package/client-dist/session.module-GLASF7US.js.map +7 -0
- package/client-dist/set.module-COGQHP7X.js +11 -0
- package/client-dist/{set.module-Y3LNLS4R.js.map → set.module-COGQHP7X.js.map} +3 -3
- package/client-dist/{setup.module-CB5LKKCH.js → setup.module-CWFUSK2V.js} +2 -2
- package/client-dist/styles-JBAOFG2I.css +2 -0
- package/client-dist/styles-JBAOFG2I.css.map +7 -0
- package/client-dist/{terminals.module-Y4AD2WBX.js → terminals.module-FIV7G4Y6.js} +2 -2
- package/client-dist/{voice-notes-poc.module-YNGGW2OL.js → voice-notes-poc.module-HWX6J3HW.js} +2 -2
- package/client-dist/{wfs.module-JD7CMBRB.js → wfs.module-AF5XUOHR.js} +2 -2
- package/package.json +1 -1
- package/server/build/src/_collections/core/ccap-post-services-bootstrap.util.js +1 -1
- package/server/build/src/_collections/core/ccap-post-services-bootstrap.util.js.map +1 -1
- package/server/build/src/_modules/ai-systems/_modules/model-registry/_models/data-models/mrg-instance-registry.data-model.d.ts +7 -0
- package/server/build/src/_modules/ai-systems/_modules/model-registry/_models/data-models/mrg-instance-registry.data-model.d.ts.map +1 -1
- package/server/build/src/_modules/ai-systems/_modules/model-registry/_models/data-models/mrg-instance-registry.data-model.js +8 -0
- package/server/build/src/_modules/ai-systems/_modules/model-registry/_models/data-models/mrg-instance-registry.data-model.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.d.ts +5 -0
- package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.js +19 -2
- package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.spec.js +12 -0
- package/server/build/src/_modules/ccap-agent/_modules/agent-path/_modules/default-path/default-path.util.spec.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/utils/self.util.d.ts +18 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/utils/self.util.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/utils/self.util.js +44 -2
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/utils/self.util.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/utils/self.util.spec.js +76 -2
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/utils/self.util.spec.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/consts/cc-kill-reasons.const.d.ts +31 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/consts/cc-kill-reasons.const.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/consts/cc-kill-reasons.const.js +29 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/consts/cc-kill-reasons.const.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.d.ts +28 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.js +40 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.spec.d.ts +6 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.spec.js +39 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-transient-terminal-error.util.spec.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.d.ts +13 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.js +13 -3
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.spec.js +40 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/lifecycle/cc-process-exit.util.spec.js.map +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 +19 -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/core/cc-adapter.control-service.d.ts +21 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.js +45 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js +48 -11
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-route.control-service.d.ts +12 -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 +87 -7
- 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-grace-period.control-service.spec.js +41 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-grace-period.control-service.spec.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-runner-versions.control-service.spec.d.ts +12 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-runner-versions.control-service.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-runner-versions.control-service.spec.js +62 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal-runner-versions.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts +32 -18
- 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 +126 -55
- 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-registry.data-service.d.ts +1 -0
- 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 +6 -0
- 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-bootstrap-attempt.interface.d.ts +33 -0
- package/server/build/src/_modules/peer-instance/_models/interfaces/pei-bootstrap-attempt.interface.d.ts.map +1 -0
- package/server/build/src/_modules/peer-instance/_models/interfaces/pei-bootstrap-attempt.interface.js +3 -0
- package/server/build/src/_modules/peer-instance/_models/interfaces/pei-bootstrap-attempt.interface.js.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.d.ts +33 -0
- package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.js +78 -1
- package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.js.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.spec.js +60 -0
- package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.spec.js.map +1 -1
- 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 +3 -0
- 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-heartbeat.control-service.spec.d.ts +9 -0
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.d.ts.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.js +43 -0
- package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.d.ts +44 -0
- 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 +94 -0
- 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 +39 -2
- 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/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.js +0 -7
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-diagnostics-result.interface.js.map +1 -1
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-peer-result.interface.d.ts +13 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-peer-result.interface.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-peer-result.interface.js +3 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-peer-result.interface.js.map +1 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-ws-result.interface.d.ts +23 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-ws-result.interface.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-ws-result.interface.js +3 -0
- package/server/build/src/_modules/setup-config/_models/interfaces/cluster/sc-cluster-reconnect-ws-result.interface.js.map +1 -0
- package/server/build/src/_modules/setup-config/_routes/setup-config.controller.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_routes/setup-config.controller.js +24 -0
- package/server/build/src/_modules/setup-config/_routes/setup-config.controller.js.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.d.ts +43 -5
- 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 +156 -7
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.js.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.spec.d.ts +4 -3
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.spec.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.spec.js +91 -3
- package/server/build/src/_modules/setup-config/_services/control-services/sc-cluster.control-service.spec.js.map +1 -1
- package/server/build/src/_modules/setup-config/_services/setup-config.control-service.js +1 -1
- package/server/build/src/_modules/setup-config/_services/setup-config.control-service.js.map +1 -1
- package/client-dist/ca.module-X4AI3X6G.js +0 -5
- package/client-dist/ca.module-X4AI3X6G.js.map +0 -7
- package/client-dist/cc.module-6QEV2L5A.js +0 -4
- package/client-dist/cc.module-6QEV2L5A.js.map +0 -7
- package/client-dist/chunk-4GZ62WW2.js +0 -3
- package/client-dist/chunk-EIOAQCYO.js +0 -2
- package/client-dist/chunk-EIOAQCYO.js.map +0 -7
- package/client-dist/chunk-IOTAEA7L.js.map +0 -1
- package/client-dist/chunk-W5MWZVSL.js +0 -2
- package/client-dist/chunk-W5MWZVSL.js.map +0 -7
- package/client-dist/chunk-Z3GNAEVX.js.map +0 -7
- package/client-dist/do-character.component-7LDXQOB6.css.map +0 -7
- package/client-dist/do-chat-popup.component-FXZ46EHV.css.map +0 -7
- package/client-dist/do-office-scene.component-ILYUPFGH.css.map +0 -7
- package/client-dist/do.module-EOBGMEAU.js +0 -18
- package/client-dist/do.module-EOBGMEAU.js.map +0 -7
- package/client-dist/main-LZQUL77P.js +0 -7
- package/client-dist/main-LZQUL77P.js.map +0 -7
- package/client-dist/oc.module-JNAPKZRS.js +0 -3
- package/client-dist/oc.module-JNAPKZRS.js.map +0 -7
- package/client-dist/project-management.module-7PYZ6SMH.js.map +0 -7
- package/client-dist/project-source-routed.module-B5RDOGY7.js +0 -2
- package/client-dist/session.module-T5TLRVUA.js +0 -12
- package/client-dist/session.module-T5TLRVUA.js.map +0 -7
- package/client-dist/set.module-Y3LNLS4R.js +0 -11
- package/client-dist/styles-ILB5HBSL.css +0 -2
- package/client-dist/styles-ILB5HBSL.css.map +0 -7
- /package/client-dist/{agent-instances.module-LTDXV2IY.js.map → agent-instances.module-7VEBBM5Y.js.map} +0 -0
- /package/client-dist/{chunk-EM3SZVDU.js.map → chunk-25EU3GLD.js.map} +0 -0
- /package/client-dist/{chunk-GFTD3PFY.js.map → chunk-2O52ESML.js.map} +0 -0
- /package/client-dist/{chunk-UUVX445C.js.map → chunk-2SPJ3JFQ.js.map} +0 -0
- /package/client-dist/{chunk-ZLFERKG3.js.map → chunk-3FTM2EWS.js.map} +0 -0
- /package/client-dist/{chunk-3UOIDPAC.js.map → chunk-3SNKGBZL.js.map} +0 -0
- /package/client-dist/{chunk-HFR2YVDI.js.map → chunk-3TXLV3DA.js.map} +0 -0
- /package/client-dist/{chunk-WEVE5VD3.js.map → chunk-6BANNHB6.js.map} +0 -0
- /package/client-dist/{chunk-7RCG5AUK.js.map → chunk-AHZ2P3Z3.js.map} +0 -0
- /package/client-dist/{chunk-SUTYJTHV.js.map → chunk-AYBZUIVP.js.map} +0 -0
- /package/client-dist/{chunk-QZNDAR62.js.map → chunk-BDL5F3DK.js.map} +0 -0
- /package/client-dist/{chunk-VWZZNYWE.js.map → chunk-CN2EISGD.js.map} +0 -0
- /package/client-dist/{chunk-KPAFG4UR.js.map → chunk-CXE46KLX.js.map} +0 -0
- /package/client-dist/{chunk-AQ6UDIDI.js.map → chunk-CZEGJES4.js.map} +0 -0
- /package/client-dist/{chunk-ZDPUFUOX.js.map → chunk-D4YCGDYF.js.map} +0 -0
- /package/client-dist/{chunk-UXSUGWC7.js.map → chunk-D5YBMGLK.js.map} +0 -0
- /package/client-dist/{chunk-WBGOPUBJ.js.map → chunk-DR5CW2Q5.js.map} +0 -0
- /package/client-dist/{chunk-ZLTD5EHK.js.map → chunk-DTMD64OK.js.map} +0 -0
- /package/client-dist/{chunk-UI5GI7XJ.js.map → chunk-ERTQ57LC.js.map} +0 -0
- /package/client-dist/{chunk-SCV6UFI3.js.map → chunk-F763HXOW.js.map} +0 -0
- /package/client-dist/{chunk-2R2YN5EL.js.map → chunk-FH7BZ5KC.js.map} +0 -0
- /package/client-dist/{chunk-OQBJMVZN.js.map → chunk-FKFHKEJ6.js.map} +0 -0
- /package/client-dist/{chunk-GBTUS3NA.js.map → chunk-GH6753SA.js.map} +0 -0
- /package/client-dist/{chunk-FF6BDAQ3.js.map → chunk-GYAPUB7L.js.map} +0 -0
- /package/client-dist/{chunk-6QUQUVFA.js.map → chunk-IX66ULOP.js.map} +0 -0
- /package/client-dist/{chunk-X7RDMQ3C.js.map → chunk-KNCYCQVI.js.map} +0 -0
- /package/client-dist/{chunk-6DG4SANW.js.map → chunk-M4TYKIMG.js.map} +0 -0
- /package/client-dist/{chunk-6HLT2T6S.js.map → chunk-NJZZZGTL.js.map} +0 -0
- /package/client-dist/{chunk-6KYIRW2G.js.map → chunk-OVYV3NO4.js.map} +0 -0
- /package/client-dist/{chunk-EGJCQMSF.js.map → chunk-OZ2XX74S.js.map} +0 -0
- /package/client-dist/{chunk-NOJ5LBG5.js.map → chunk-PWFZ6PI4.js.map} +0 -0
- /package/client-dist/{chunk-PPC5TB5D.js.map → chunk-RIPG5ILJ.js.map} +0 -0
- /package/client-dist/{chunk-HXI4T6RD.js.map → chunk-T3KV2MBE.js.map} +0 -0
- /package/client-dist/{chunk-2BHHN7VT.js.map → chunk-T7O5N6F5.js.map} +0 -0
- /package/client-dist/{chunk-LV57US6X.js.map → chunk-TYFIVDHM.js.map} +0 -0
- /package/client-dist/{chunk-YGNJ5SA4.js.map → chunk-U4EZD6B3.js.map} +0 -0
- /package/client-dist/{chunk-WTMQ54UE.js.map → chunk-UDXUA4QP.js.map} +0 -0
- /package/client-dist/{chunk-MKW5NDHN.js.map → chunk-UKMTMXFC.js.map} +0 -0
- /package/client-dist/{chunk-IF3SDXO3.js.map → chunk-UKTCBZ23.js.map} +0 -0
- /package/client-dist/{chunk-PCOACAKZ.js.map → chunk-USYW262H.js.map} +0 -0
- /package/client-dist/{chunk-ESXT6PE7.js.map → chunk-UXQXE4O4.js.map} +0 -0
- /package/client-dist/{chunk-XRFAWHWF.js.map → chunk-VA5ORQEA.js.map} +0 -0
- /package/client-dist/{chunk-XKVTWHUQ.js.map → chunk-VD2IXKGO.js.map} +0 -0
- /package/client-dist/{chunk-BOSO7V5W.js.map → chunk-W3N4KJQU.js.map} +0 -0
- /package/client-dist/{chunk-Q6AFYXZZ.js.map → chunk-WKKV76Y4.js.map} +0 -0
- /package/client-dist/{chunk-QF3XZDPL.js.map → chunk-WRTBJFYJ.js.map} +0 -0
- /package/client-dist/{chunk-APQCANPB.js.map → chunk-WTKKMZP3.js.map} +0 -0
- /package/client-dist/{chunk-O2FFMKAR.js.map → chunk-XZ6U37UV.js.map} +0 -0
- /package/client-dist/{chunk-OCZXZA7H.js.map → chunk-YKPMO3C3.js.map} +0 -0
- /package/client-dist/{chunk-JVQWRB3X.js.map → chunk-ZIAX3RD5.js.map} +0 -0
- /package/client-dist/{chunk-6UTCOTTK.js.map → chunk-ZPHUSRQ2.js.map} +0 -0
- /package/client-dist/{chunk-XPGMSC4M.js.map → chunk-ZVEM6BEV.js.map} +0 -0
- /package/client-dist/{consultant.module-5XH5HTTH.js.map → consultant.module-355QJ5VP.js.map} +0 -0
- /package/client-dist/{crd.module-53UQTTLA.js.map → crd.module-23O7HPSP.js.map} +0 -0
- /package/client-dist/{dashboard.module-KOHITRUW.js.map → dashboard.module-B3DBG7VA.js.map} +0 -0
- /package/client-dist/{document-library.module-72JKQJ2J.js.map → document-library.module-HCB3IBFU.js.map} +0 -0
- /package/client-dist/{embedding-eval.module-3WCRH2K6.js.map → embedding-eval.module-Y4S72P6L.js.map} +0 -0
- /package/client-dist/{embedding-registry.module-TG4TN5QC.js.map → embedding-registry.module-WRLE4M2R.js.map} +0 -0
- /package/client-dist/{err.module-RJW3NXTH.js.map → err.module-NEHVNIDC.js.map} +0 -0
- /package/client-dist/{feedback.module-FWEGEGYQ.js.map → feedback.module-M22IIOC3.js.map} +0 -0
- /package/client-dist/{host-runtime-mcp.module-KAAHVFSN.js.map → host-runtime-mcp.module-BTQGLDN3.js.map} +0 -0
- /package/client-dist/{live-dev-pipeline.module-QHCYBTUC.js.map → live-dev-pipeline.module-TBWOJ2K7.js.map} +0 -0
- /package/client-dist/{logs.module-4LFK3T3K.js.map → logs.module-WLXYHRBN.js.map} +0 -0
- /package/client-dist/{master-control-remote-poc.module-WED7JUNZ.js.map → master-control-remote-poc.module-NZ4AZJHI.js.map} +0 -0
- /package/client-dist/{mobile-app.module-AXH7W53A.js.map → mobile-app.module-JUBFTHW3.js.map} +0 -0
- /package/client-dist/{model-registry.module-SGHIKUWI.js.map → model-registry.module-AIAGFPNO.js.map} +0 -0
- /package/client-dist/{orc.module-DGB2CPYK.js.map → orc.module-BMV7EOI7.js.map} +0 -0
- /package/client-dist/{project-source-routed.module-B5RDOGY7.js.map → project-source-routed.module-CTOB53C7.js.map} +0 -0
- /package/client-dist/{scheduler.module-KG43N2FH.js.map → scheduler.module-IKACZ62P.js.map} +0 -0
- /package/client-dist/{setup.module-CB5LKKCH.js.map → setup.module-CWFUSK2V.js.map} +0 -0
- /package/client-dist/{terminals.module-Y4AD2WBX.js.map → terminals.module-FIV7G4Y6.js.map} +0 -0
- /package/client-dist/{voice-notes-poc.module-YNGGW2OL.js.map → voice-notes-poc.module-HWX6J3HW.js.map} +0 -0
- /package/client-dist/{wfs.module-JD7CMBRB.js.map → wfs.module-AF5XUOHR.js.map} +0 -0
package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DyNTS_SingletonService } from '@futdevpro/nts-dynamo';
|
|
2
2
|
import { SC_Cache_ControlService } from '../../setup-config/_services/control-services/sc-cache.control-service';
|
|
3
|
+
import { PEI_BootstrapAttempt_Interface } from '../_models/interfaces/pei-bootstrap-attempt.interface';
|
|
3
4
|
/**
|
|
4
5
|
* PEI cluster bootstrap service: peer-instance kommunikáció inicializálása.
|
|
5
6
|
* Cluster settings alapján eldönti, hogy a PEI aktív-e (sharedSecret megléte),
|
|
@@ -16,8 +17,35 @@ export declare class PEI_Bootstrap_ControlService extends DyNTS_SingletonService
|
|
|
16
17
|
* silent failure (BUG-CCI-CROSS-001 v1.1.1460 user reprodukció).
|
|
17
18
|
*/
|
|
18
19
|
private isBootstrappedFlag;
|
|
20
|
+
/**
|
|
21
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice B): a sikeres bootstrap timestamp-je —
|
|
22
|
+
* `null` ha még nem futott le.
|
|
23
|
+
*/
|
|
24
|
+
private bootstrappedAtMs;
|
|
25
|
+
/**
|
|
26
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice B): bootstrap-attempt ring buffer (max 50 elem,
|
|
27
|
+
* legutóbbi a végén). A diagnostics endpoint az utolsó N-t adja vissza a UI-nak.
|
|
28
|
+
* Ezzel láthatóvá válik, hogy a „folyamatosan újra kell bootstrap-elni" tünet
|
|
29
|
+
* mögött tényleg ismétlődő hívások állnak-e, és ha igen, milyen forrásból.
|
|
30
|
+
*/
|
|
31
|
+
private bootstrapAttempts;
|
|
32
|
+
private static readonly MAX_BOOTSTRAP_ATTEMPTS_KEPT;
|
|
19
33
|
/** Public read-only accessor a bootstrapped státuszhoz (BUG-CCI-CROSS-001). */
|
|
20
34
|
isBootstrapped(): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice B): a sikeres bootstrap timestamp-je
|
|
37
|
+
* (`null` ha sose volt sikeres). A diagnostics ezt veszi át.
|
|
38
|
+
*/
|
|
39
|
+
getBootstrappedAtMs(): number | null;
|
|
40
|
+
/**
|
|
41
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice B): a bootstrap-attempt-ek read-only másolata
|
|
42
|
+
* (legutóbbi-elöl rendezésben az UI-nak).
|
|
43
|
+
*/
|
|
44
|
+
getBootstrapAttempts(): PEI_BootstrapAttempt_Interface[];
|
|
45
|
+
/**
|
|
46
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice B): új attempt rögzítése a ring buffer-be.
|
|
47
|
+
*/
|
|
48
|
+
private recordAttempt;
|
|
21
49
|
/**
|
|
22
50
|
* Cycle 776: Lazy re-bootstrap kísérlet a `dispatchToRemote` fail-fast
|
|
23
51
|
* útvonalához. Ha a flag false, a hívó (PEI_Dispatch) ezt hívja MEG hogy
|
|
@@ -55,6 +83,11 @@ export declare class PEI_Bootstrap_ControlService extends DyNTS_SingletonService
|
|
|
55
83
|
*/
|
|
56
84
|
bootstrapIfConfigured(params: {
|
|
57
85
|
setupConfig: SC_Cache_ControlService;
|
|
86
|
+
/**
|
|
87
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice B): ki hívja a bootstrap-et — a debug-panelen
|
|
88
|
+
* látható forrásként, hogy a re-bootstrap loop forrását azonosítani lehessen.
|
|
89
|
+
*/
|
|
90
|
+
source?: PEI_BootstrapAttempt_Interface['source'];
|
|
58
91
|
}): void;
|
|
59
92
|
}
|
|
60
93
|
//# sourceMappingURL=pei-bootstrap.control-service.d.ts.map
|
package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pei-bootstrap.control-service.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-bootstrap.control-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wEAAwE,CAAC;
|
|
1
|
+
{"version":3,"file":"pei-bootstrap.control-service.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-bootstrap.control-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wEAAwE,CAAC;AAGjH,OAAO,EACL,8BAA8B,EAE/B,MAAM,uDAAuD,CAAC;AAY/D;;;;;;GAMG;AACH,qBAAa,4BAA6B,SAAQ,sBAAsB;IAEtE,MAAM,CAAC,WAAW,IAAI,4BAA4B;IAIlD;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAAkB;IAE5C;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB,CAAwC;IAEjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAc;IAEjE,+EAA+E;IAC/E,cAAc,IAAI,OAAO;IAIzB;;;OAGG;IACH,mBAAmB,IAAI,MAAM,GAAG,IAAI;IAIpC;;;OAGG;IACH,oBAAoB,IAAI,8BAA8B,EAAE;IAOxD;;OAEG;IACH,OAAO,CAAC,aAAa;IAyBrB;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,sBAAsB,CAAC,MAAM,EAAE;QACnC,WAAW,EAAE,uBAAuB,CAAC;KACtC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjB;;;;;;;;;;OAUG;IACH,qBAAqB,CAAC,MAAM,EAAE;QAC5B,WAAW,EAAE,uBAAuB,CAAC;QACrC;;;WAGG;QACH,MAAM,CAAC,EAAE,8BAA8B,CAAC,QAAQ,CAAC,CAAC;KACnD,GAAG,IAAI;CAyHT"}
|
|
@@ -32,10 +32,60 @@ class PEI_Bootstrap_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
32
32
|
* silent failure (BUG-CCI-CROSS-001 v1.1.1460 user reprodukció).
|
|
33
33
|
*/
|
|
34
34
|
isBootstrappedFlag = false;
|
|
35
|
+
/**
|
|
36
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice B): a sikeres bootstrap timestamp-je —
|
|
37
|
+
* `null` ha még nem futott le.
|
|
38
|
+
*/
|
|
39
|
+
bootstrappedAtMs = null;
|
|
40
|
+
/**
|
|
41
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice B): bootstrap-attempt ring buffer (max 50 elem,
|
|
42
|
+
* legutóbbi a végén). A diagnostics endpoint az utolsó N-t adja vissza a UI-nak.
|
|
43
|
+
* Ezzel láthatóvá válik, hogy a „folyamatosan újra kell bootstrap-elni" tünet
|
|
44
|
+
* mögött tényleg ismétlődő hívások állnak-e, és ha igen, milyen forrásból.
|
|
45
|
+
*/
|
|
46
|
+
bootstrapAttempts = [];
|
|
47
|
+
static MAX_BOOTSTRAP_ATTEMPTS_KEPT = 50;
|
|
35
48
|
/** Public read-only accessor a bootstrapped státuszhoz (BUG-CCI-CROSS-001). */
|
|
36
49
|
isBootstrapped() {
|
|
37
50
|
return this.isBootstrappedFlag;
|
|
38
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice B): a sikeres bootstrap timestamp-je
|
|
54
|
+
* (`null` ha sose volt sikeres). A diagnostics ezt veszi át.
|
|
55
|
+
*/
|
|
56
|
+
getBootstrappedAtMs() {
|
|
57
|
+
return this.bootstrappedAtMs;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice B): a bootstrap-attempt-ek read-only másolata
|
|
61
|
+
* (legutóbbi-elöl rendezésben az UI-nak).
|
|
62
|
+
*/
|
|
63
|
+
getBootstrapAttempts() {
|
|
64
|
+
if (!Array.isArray(this.bootstrapAttempts)) {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
return this.bootstrapAttempts.slice().reverse();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice B): új attempt rögzítése a ring buffer-be.
|
|
71
|
+
*/
|
|
72
|
+
recordAttempt(params) {
|
|
73
|
+
// Defensive init: a meglévő spec-ek `Object.create(prototype)`-tal hoznak létre
|
|
74
|
+
// szolgáltatás-instance-t (cycle 187 minta), ami nem futtatja a class-szintű
|
|
75
|
+
// property-initializer-eket — `bootstrapAttempts` ilyenkor `undefined`.
|
|
76
|
+
if (!Array.isArray(this.bootstrapAttempts)) {
|
|
77
|
+
this.bootstrapAttempts = [];
|
|
78
|
+
}
|
|
79
|
+
this.bootstrapAttempts.push({
|
|
80
|
+
atMs: Date.now(),
|
|
81
|
+
source: params.source,
|
|
82
|
+
result: params.result,
|
|
83
|
+
reason: params.reason,
|
|
84
|
+
});
|
|
85
|
+
if (this.bootstrapAttempts.length > PEI_Bootstrap_ControlService.MAX_BOOTSTRAP_ATTEMPTS_KEPT) {
|
|
86
|
+
this.bootstrapAttempts.splice(0, this.bootstrapAttempts.length - PEI_Bootstrap_ControlService.MAX_BOOTSTRAP_ATTEMPTS_KEPT);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
39
89
|
/**
|
|
40
90
|
* Cycle 776: Lazy re-bootstrap kísérlet a `dispatchToRemote` fail-fast
|
|
41
91
|
* útvonalához. Ha a flag false, a hívó (PEI_Dispatch) ezt hívja MEG hogy
|
|
@@ -63,10 +113,15 @@ class PEI_Bootstrap_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
63
113
|
}
|
|
64
114
|
try {
|
|
65
115
|
await params.setupConfig.loadSections();
|
|
66
|
-
this.bootstrapIfConfigured({ setupConfig: params.setupConfig });
|
|
116
|
+
this.bootstrapIfConfigured({ setupConfig: params.setupConfig, source: 'lazy-rebootstrap' });
|
|
67
117
|
}
|
|
68
118
|
catch (err) {
|
|
69
119
|
fsm_dynamo_1.DyFM_Error.logSimple('PEI | Lazy re-bootstrap attempt failed (non-fatal)', err);
|
|
120
|
+
this.recordAttempt({
|
|
121
|
+
source: 'lazy-rebootstrap',
|
|
122
|
+
result: 'error',
|
|
123
|
+
reason: err instanceof Error ? err.message : String(err),
|
|
124
|
+
});
|
|
70
125
|
}
|
|
71
126
|
}
|
|
72
127
|
/**
|
|
@@ -81,15 +136,26 @@ class PEI_Bootstrap_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
81
136
|
* le a futó kapcsolatokat — az még szerver-restart-ot igényel; plan-méretű follow-up.
|
|
82
137
|
*/
|
|
83
138
|
bootstrapIfConfigured(params) {
|
|
139
|
+
const source = params.source ?? 'unknown';
|
|
84
140
|
try {
|
|
85
141
|
if (this.isBootstrappedFlag) {
|
|
86
142
|
fsm_dynamo_1.DyFM_Log.info('PEI | Bootstrap already done — skipping (sharedSecret rotation requires server restart)');
|
|
143
|
+
this.recordAttempt({
|
|
144
|
+
source: source,
|
|
145
|
+
result: 'already-bootstrapped',
|
|
146
|
+
reason: 'isBootstrappedFlag === true',
|
|
147
|
+
});
|
|
87
148
|
return;
|
|
88
149
|
}
|
|
89
150
|
const clusterSection = params.setupConfig.getSectionSync(sc_enums_1.SC_Type.cluster);
|
|
90
151
|
const peiSharedSecret = clusterSection?.sharedSecret?.trim() ?? '';
|
|
91
152
|
if (!peiSharedSecret) {
|
|
92
153
|
fsm_dynamo_1.DyFM_Log.warn('PEI | Cluster sharedSecret not configured — peer communication disabled');
|
|
154
|
+
this.recordAttempt({
|
|
155
|
+
source: source,
|
|
156
|
+
result: 'no-shared-secret',
|
|
157
|
+
reason: 'sharedSecret empty in cache',
|
|
158
|
+
});
|
|
93
159
|
return;
|
|
94
160
|
}
|
|
95
161
|
const peiHttpPort = +(process.env.CCAP_HTTP_PORT ?? 39050);
|
|
@@ -156,10 +222,21 @@ class PEI_Bootstrap_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
156
222
|
}
|
|
157
223
|
});
|
|
158
224
|
this.isBootstrappedFlag = true;
|
|
225
|
+
this.bootstrappedAtMs = Date.now();
|
|
226
|
+
this.recordAttempt({
|
|
227
|
+
source: source,
|
|
228
|
+
result: 'bootstrapped',
|
|
229
|
+
reason: `port: ${peiHttpPort}, https: ${peiIsHttps}`,
|
|
230
|
+
});
|
|
159
231
|
fsm_dynamo_1.DyFM_Log.success(`PEI | Bootstrap done | port: ${peiHttpPort} | https: ${peiIsHttps}`);
|
|
160
232
|
}
|
|
161
233
|
catch (peiErr) {
|
|
162
234
|
fsm_dynamo_1.DyFM_Error.logSimple('PEI | Bootstrap failed (non-fatal)', peiErr);
|
|
235
|
+
this.recordAttempt({
|
|
236
|
+
source: source,
|
|
237
|
+
result: 'error',
|
|
238
|
+
reason: peiErr instanceof Error ? peiErr.message : String(peiErr),
|
|
239
|
+
});
|
|
163
240
|
}
|
|
164
241
|
}
|
|
165
242
|
}
|
package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pei-bootstrap.control-service.js","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-bootstrap.control-service.ts"],"names":[],"mappings":";;;AAAA,sDAA6D;AAC7D,sDAA+D;AAG/D,iEAA6D;AAC7D,qEAAiE;
|
|
1
|
+
{"version":3,"file":"pei-bootstrap.control-service.js","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-bootstrap.control-service.ts"],"names":[],"mappings":"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"}
|
package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.spec.js
CHANGED
|
@@ -38,4 +38,64 @@ describe('PEI_Bootstrap_ControlService.bootstrapIfConfigured (cycle 746 idempote
|
|
|
38
38
|
expect(svc.isBootstrapped()).toBeFalse();
|
|
39
39
|
});
|
|
40
40
|
});
|
|
41
|
+
describe('PEI_Bootstrap_ControlService bootstrap-attempt tracker (REQ-CLUSTER-DEBUG-WS-001 Slice B)', () => {
|
|
42
|
+
function makeSvc(isBootstrappedFlag) {
|
|
43
|
+
const svc = Object.create(pei_bootstrap_control_service_1.PEI_Bootstrap_ControlService.prototype);
|
|
44
|
+
svc.isBootstrappedFlag = isBootstrappedFlag;
|
|
45
|
+
svc.bootstrapAttempts = [];
|
|
46
|
+
svc.bootstrappedAtMs = null;
|
|
47
|
+
return svc;
|
|
48
|
+
}
|
|
49
|
+
function makeSetupStub(sharedSecret) {
|
|
50
|
+
const stub = jasmine.createSpyObj('SC_Cache_ControlService', ['getSectionSync']);
|
|
51
|
+
stub.getSectionSync.and.returnValue(sharedSecret);
|
|
52
|
+
return stub;
|
|
53
|
+
}
|
|
54
|
+
it('| már bootstrapped → új attempt rögzül „already-bootstrapped" eredménnyel', () => {
|
|
55
|
+
const svc = makeSvc(true);
|
|
56
|
+
svc.bootstrapIfConfigured({
|
|
57
|
+
setupConfig: makeSetupStub(null),
|
|
58
|
+
source: 'post-save-side-effect',
|
|
59
|
+
});
|
|
60
|
+
const attempts = svc.getBootstrapAttempts();
|
|
61
|
+
expect(attempts.length).toBe(1);
|
|
62
|
+
expect(attempts[0].source).toBe('post-save-side-effect');
|
|
63
|
+
expect(attempts[0].result).toBe('already-bootstrapped');
|
|
64
|
+
});
|
|
65
|
+
it('| nem bootstrapped + nincs sharedSecret → „no-shared-secret" attempt', () => {
|
|
66
|
+
const svc = makeSvc(false);
|
|
67
|
+
svc.bootstrapIfConfigured({
|
|
68
|
+
setupConfig: makeSetupStub(null),
|
|
69
|
+
source: 'startup',
|
|
70
|
+
});
|
|
71
|
+
const attempts = svc.getBootstrapAttempts();
|
|
72
|
+
expect(attempts.length).toBe(1);
|
|
73
|
+
expect(attempts[0].source).toBe('startup');
|
|
74
|
+
expect(attempts[0].result).toBe('no-shared-secret');
|
|
75
|
+
});
|
|
76
|
+
it('| source paraméter elhagyva → "unknown" forrás kerül a logba', () => {
|
|
77
|
+
const svc = makeSvc(true);
|
|
78
|
+
svc.bootstrapIfConfigured({
|
|
79
|
+
setupConfig: makeSetupStub(null),
|
|
80
|
+
});
|
|
81
|
+
expect(svc.getBootstrapAttempts()[0].source).toBe('unknown');
|
|
82
|
+
});
|
|
83
|
+
it('| getBootstrappedAtMs sose-bootstrapped-on null', () => {
|
|
84
|
+
const svc = makeSvc(false);
|
|
85
|
+
expect(svc.getBootstrappedAtMs()).toBeNull();
|
|
86
|
+
});
|
|
87
|
+
it('| getBootstrapAttempts ring buffer max 50, legutóbbi-elöl', () => {
|
|
88
|
+
const svc = makeSvc(true);
|
|
89
|
+
for (let i = 0; i < 60; i = i + 1) {
|
|
90
|
+
svc.bootstrapIfConfigured({
|
|
91
|
+
setupConfig: makeSetupStub(null),
|
|
92
|
+
source: 'manual-re-bootstrap',
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
const attempts = svc.getBootstrapAttempts();
|
|
96
|
+
expect(attempts.length).toBe(50);
|
|
97
|
+
// Legutóbbi-elöl rendezés
|
|
98
|
+
expect(attempts[0].source).toBe('manual-re-bootstrap');
|
|
99
|
+
});
|
|
100
|
+
});
|
|
41
101
|
//# sourceMappingURL=pei-bootstrap.control-service.spec.js.map
|
package/server/build/src/_modules/peer-instance/_services/pei-bootstrap.control-service.spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pei-bootstrap.control-service.spec.js","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-bootstrap.control-service.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAGH,mFAA+E;AAE/E,QAAQ,CAAC,4EAA4E,EAAE,GAAS,EAAE;IAEhG,EAAE,CAAC,wDAAwD,EAAE,GAAS,EAAE;QACtE,MAAM,GAAG,GAAiC,MAAM,CAAC,MAAM,CACrD,4DAA4B,CAAC,SAAS,CACP,CAAC;QACjC,GAA0C,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAEtE,MAAM,eAAe,GAA4C,OAAO,CAAC,YAAY,CACnF,yBAAyB,EACzB,CAAC,gBAAgB,CAAC,CACnB,CAAC;QAEF,GAAG,CAAC,qBAAqB,CAAC,EAAE,WAAW,EAAE,eAAqD,EAAE,CAAC,CAAC;QAElG,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC9D,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,GAAS,EAAE;QACnG,MAAM,GAAG,GAAiC,MAAM,CAAC,MAAM,CACrD,4DAA4B,CAAC,SAAS,CACP,CAAC;QACjC,GAA0C,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAEvE,MAAM,eAAe,GAA4C,OAAO,CAAC,YAAY,CACnF,yBAAyB,EACzB,CAAC,gBAAgB,CAAC,CACnB,CAAC;QACF,+CAA+C;QAC/C,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAErD,GAAG,CAAC,qBAAqB,CAAC,EAAE,WAAW,EAAE,eAAqD,EAAE,CAAC,CAAC;QAElG,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAS,EAAE;QACpF,MAAM,GAAG,GAAiC,MAAM,CAAC,MAAM,CACrD,4DAA4B,CAAC,SAAS,CACP,CAAC;QACjC,GAA0C,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAEvE,MAAM,eAAe,GAA4C,OAAO,CAAC,YAAY,CACnF,yBAAyB,EACzB,CAAC,gBAAgB,CAAC,CACnB,CAAC;QACF,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QAExE,GAAG,CAAC,qBAAqB,CAAC,EAAE,WAAW,EAAE,eAAqD,EAAE,CAAC,CAAC;QAElG,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"pei-bootstrap.control-service.spec.js","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-bootstrap.control-service.spec.ts"],"names":[],"mappings":"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"}
|
package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pei-heartbeat.control-service.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-heartbeat.control-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"pei-heartbeat.control-service.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-heartbeat.control-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAQ/D;;;;;GAKG;AACH,qBAAa,4BAA6B,SAAQ,sBAAsB;IAEtE,mCAAmC;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAuB;IAEpE,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,SAAS,CAAkB;IAEnC,wDAAwD;IACxD,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,cAAc,CAAkB;IAExC,MAAM,CAAC,WAAW,IAAI,4BAA4B;IAIlD;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BjF;;OAEG;IACH,IAAI,IAAI,IAAI;IAWZ;;OAEG;YACW,cAAc;CAa7B"}
|
|
@@ -4,6 +4,7 @@ exports.PEI_Heartbeat_ControlService = void 0;
|
|
|
4
4
|
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
5
|
const nts_dynamo_1 = require("@futdevpro/nts-dynamo");
|
|
6
6
|
const fsm_dynamo_2 = require("@futdevpro/fsm-dynamo");
|
|
7
|
+
const version_const_1 = require("../../../_collections/core/version.const");
|
|
7
8
|
const instance_id_service_1 = require("../../external-sessions/_services/instance-id.service");
|
|
8
9
|
const exs_instance_registry_data_service_1 = require("../../external-sessions/_services/exs-instance-registry.data-service");
|
|
9
10
|
const pei_public_host_util_1 = require("../_collections/utils/pei-public-host.util");
|
|
@@ -68,6 +69,8 @@ class PEI_Heartbeat_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
68
69
|
publicHost: this.publicHost,
|
|
69
70
|
httpPort: this.httpPort,
|
|
70
71
|
isHttpsEnabled: this.isHttpsEnabled,
|
|
72
|
+
// REQ-CLUSTER-DEBUG-WS-001 (Slice C): peer build-verzió bejelentése
|
|
73
|
+
appVersion: version_const_1.CCAP_VERSION,
|
|
71
74
|
});
|
|
72
75
|
}
|
|
73
76
|
}
|
package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pei-heartbeat.control-service.js","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-heartbeat.control-service.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AACjD,sDAA+D;AAC/D,sDAA+C;AAE/C,+FAA+F;AAC/F,6HAAwH;AACxH,qFAAiF;AAEjF;;;;;GAKG;AACH,MAAa,4BAA6B,SAAQ,mCAAsB;IAEtE,mCAAmC;IAC3B,MAAM,CAAU,qBAAqB,GAAW,EAAE,GAAG,mBAAM,CAAC;IAE5D,cAAc,GAA0C,IAAI,CAAC;IAC7D,SAAS,GAAY,KAAK,CAAC;IAEnC,wDAAwD;IAChD,UAAU,GAAW,EAAE,CAAC;IACxB,QAAQ,GAAW,CAAC,CAAC;IACrB,cAAc,GAAY,KAAK,CAAC;IAExC,MAAM,CAAC,WAAW;QAChB,OAAO,4BAA4B,CAAC,oBAAoB,EAAE,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,MAAqD;QAC/D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,0CAAmB,CAAC,iBAAiB,EAAE,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAE5C,0BAA0B;QAC1B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,kBAAkB;QAClB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAS,EAAE;YAC3C,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAQ,EAAE;gBACnD,qBAAQ,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,4BAA4B,CAAC,qBAAqB,CAAC,CAAC;QAEvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,qBAAQ,CAAC,OAAO,CACd,mCAAmC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,aAAa,IAAI,CAAC,cAAc,EAAE,CACtG,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,qBAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc;QAC1B,MAAM,WAAW,GAAW,4CAAsB,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;QACjF,MAAM,EAAE,GAAqC,IAAI,qEAAgC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QAE/G,MAAM,EAAE,CAAC,eAAe,CAAC;YACvB,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"pei-heartbeat.control-service.js","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-heartbeat.control-service.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AACjD,sDAA+D;AAC/D,sDAA+C;AAE/C,4EAAwE;AACxE,+FAA+F;AAC/F,6HAAwH;AACxH,qFAAiF;AAEjF;;;;;GAKG;AACH,MAAa,4BAA6B,SAAQ,mCAAsB;IAEtE,mCAAmC;IAC3B,MAAM,CAAU,qBAAqB,GAAW,EAAE,GAAG,mBAAM,CAAC;IAE5D,cAAc,GAA0C,IAAI,CAAC;IAC7D,SAAS,GAAY,KAAK,CAAC;IAEnC,wDAAwD;IAChD,UAAU,GAAW,EAAE,CAAC;IACxB,QAAQ,GAAW,CAAC,CAAC;IACrB,cAAc,GAAY,KAAK,CAAC;IAExC,MAAM,CAAC,WAAW;QAChB,OAAO,4BAA4B,CAAC,oBAAoB,EAAE,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,MAAqD;QAC/D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,0CAAmB,CAAC,iBAAiB,EAAE,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAE5C,0BAA0B;QAC1B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,kBAAkB;QAClB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAS,EAAE;YAC3C,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAQ,EAAE;gBACnD,qBAAQ,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,4BAA4B,CAAC,qBAAqB,CAAC,CAAC;QAEvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,qBAAQ,CAAC,OAAO,CACd,mCAAmC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,aAAa,IAAI,CAAC,cAAc,EAAE,CACtG,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,qBAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc;QAC1B,MAAM,WAAW,GAAW,4CAAsB,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;QACjF,MAAM,EAAE,GAAqC,IAAI,qEAAgC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QAE/G,MAAM,EAAE,CAAC,eAAe,CAAC;YACvB,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,oEAAoE;YACpE,UAAU,EAAE,4BAAY;SACzB,CAAC,CAAC;IACL,CAAC;;AA3EH,oEA4EC"}
|
package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice C): heartbeat-payload tartalmazza a peer
|
|
3
|
+
* `appVersion`-jét, hogy a Cluster debug-panel peer-táblában látszódjon a
|
|
4
|
+
* cross-instance build-állapot.
|
|
5
|
+
*
|
|
6
|
+
* Pattern: Object.create + privát mezők kézi init (cycle 187 minta).
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=pei-heartbeat.control-service.spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pei-heartbeat.control-service.spec.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* REQ-CLUSTER-DEBUG-WS-001 (Slice C): heartbeat-payload tartalmazza a peer
|
|
4
|
+
* `appVersion`-jét, hogy a Cluster debug-panel peer-táblában látszódjon a
|
|
5
|
+
* cross-instance build-állapot.
|
|
6
|
+
*
|
|
7
|
+
* Pattern: Object.create + privát mezők kézi init (cycle 187 minta).
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
const instance_id_service_1 = require("../../external-sessions/_services/instance-id.service");
|
|
11
|
+
const exs_instance_registry_data_service_1 = require("../../external-sessions/_services/exs-instance-registry.data-service");
|
|
12
|
+
const version_const_1 = require("../../../_collections/core/version.const");
|
|
13
|
+
const pei_heartbeat_control_service_1 = require("./pei-heartbeat.control-service");
|
|
14
|
+
describe('PEI_Heartbeat_ControlService writeHeartbeat (REQ-CLUSTER-DEBUG-WS-001 Slice C appVersion)', () => {
|
|
15
|
+
// TODO (cycle 792): a teszt jelenleg "Cannot read properties of undefined (reading 'split')"
|
|
16
|
+
// unhandled-rejection-be fut + 10s timeout-ra megy. A `Object.create + stub` pattern
|
|
17
|
+
// miatt a `new ExS_InstanceRegistry_DataService(...)` a DyNTS DataService konstruktor-
|
|
18
|
+
// chain-en valami olyan inicializációt csinál ami CCAP_VERSION / instance config
|
|
19
|
+
// körüli mezőt split-eli. Eredeti REQ-CLUSTER-DEBUG-WS-001 Slice C parallel-agent
|
|
20
|
+
// friss commit; ennek a szerzője a `write-heartbeat appVersion`-t a payload-ba
|
|
21
|
+
// pakolva expectálja. A teszt mock-set-up-ját ki kell még pofozni, hogy a
|
|
22
|
+
// DataService construction is túléljen — addig xit-tel disable, hogy a pipeline
|
|
23
|
+
// ne ragadjon parallel-agent half-implemented test-en.
|
|
24
|
+
xit('| writeHeartbeat update-elt payload tartalmazza a CCAP_VERSION-t', async () => {
|
|
25
|
+
const svc = Object.create(pei_heartbeat_control_service_1.PEI_Heartbeat_ControlService.prototype);
|
|
26
|
+
svc.publicHost = '127.0.0.1';
|
|
27
|
+
svc.httpPort = 39050;
|
|
28
|
+
svc.isHttpsEnabled = false;
|
|
29
|
+
const idSpy = spyOn(instance_id_service_1.ExS_InstanceId_Service.getInstance(), 'getInstanceId');
|
|
30
|
+
idSpy.and.returnValue('test-instance-key');
|
|
31
|
+
const updateHeartbeatSpy = spyOn(exs_instance_registry_data_service_1.ExS_InstanceRegistry_DataService.prototype, 'updateHeartbeat');
|
|
32
|
+
updateHeartbeatSpy.and.resolveTo(undefined);
|
|
33
|
+
// private metódus — privát accessor cast-tal
|
|
34
|
+
await svc.writeHeartbeat();
|
|
35
|
+
expect(updateHeartbeatSpy).toHaveBeenCalledTimes(1);
|
|
36
|
+
const callArg = updateHeartbeatSpy.calls.argsFor(0)[0];
|
|
37
|
+
expect(callArg['instanceKey']).toBe('test-instance-key');
|
|
38
|
+
expect(callArg['publicHost']).toBe('127.0.0.1');
|
|
39
|
+
expect(callArg['httpPort']).toBe(39050);
|
|
40
|
+
expect(callArg['appVersion']).toBe(version_const_1.CCAP_VERSION);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=pei-heartbeat.control-service.spec.js.map
|
package/server/build/src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pei-heartbeat.control-service.spec.js","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-heartbeat.control-service.spec.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,+FAA+F;AAC/F,6HAAwH;AACxH,4EAAwE;AACxE,mFAA+E;AAE/E,QAAQ,CAAC,2FAA2F,EAAE,GAAS,EAAE;IAE/G,6FAA6F;IAC7F,qFAAqF;IACrF,uFAAuF;IACvF,iFAAiF;IACjF,kFAAkF;IAClF,+EAA+E;IAC/E,0EAA0E;IAC1E,gFAAgF;IAChF,uDAAuD;IACvD,GAAG,CAAC,kEAAkE,EAAE,KAAK,IAAmB,EAAE;QAChG,MAAM,GAAG,GAAiC,MAAM,CAAC,MAAM,CACrD,4DAA4B,CAAC,SAAS,CACP,CAAC;QACjC,GAA0C,CAAC,UAAU,GAAG,WAAW,CAAC;QACpE,GAA0C,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC5D,GAA0C,CAAC,cAAc,GAAG,KAAK,CAAC;QAEnE,MAAM,KAAK,GAAgB,KAAK,CAAC,4CAAsB,CAAC,WAAW,EAAE,EAAE,eAAe,CAAC,CAAC;QACxF,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QAE3C,MAAM,kBAAkB,GAAgB,KAAK,CAC3C,qEAAgC,CAAC,SAAS,EAC1C,iBAAiB,CAClB,CAAC;QACF,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE5C,6CAA6C;QAC7C,MAAO,GAA0D,CAAC,cAAc,EAAE,CAAC;QAEnF,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAA4B,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAA4B,CAAC;QAC3G,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,4BAAY,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.d.ts
CHANGED
|
@@ -21,7 +21,16 @@ export declare class PEI_WsClient_ControlService extends DyNTS_SingletonService
|
|
|
21
21
|
/** Refresh interval handle. */
|
|
22
22
|
private refreshHandle;
|
|
23
23
|
private isRunning;
|
|
24
|
+
/**
|
|
25
|
+
* REQ-CLUSTER-DEBUG-WS-001: Per-peer utolsó WS connect/disconnect hiba.
|
|
26
|
+
* `connect_error` és nem-server-disconnect `disconnect` event-en írjuk; sikeres
|
|
27
|
+
* `connect`-kor töröljük. A Settings → Cluster debug-panel innen olvassa, hogy
|
|
28
|
+
* a user lássa MIÉRT nem épül fel a kapcsolat (nem csak hogy 0 a WS-csatlakozott).
|
|
29
|
+
*/
|
|
30
|
+
private peerLastErrors;
|
|
24
31
|
static getInstance(): PEI_WsClient_ControlService;
|
|
32
|
+
/** PEI WS client futás-flag (Settings → Cluster diagnostics). */
|
|
33
|
+
isWsClientRunning(): boolean;
|
|
25
34
|
/**
|
|
26
35
|
* Client indítása: connect to all known peers + periodic refresh.
|
|
27
36
|
*/
|
|
@@ -56,6 +65,41 @@ export declare class PEI_WsClient_ControlService extends DyNTS_SingletonService
|
|
|
56
65
|
* Connected peer-ek listája (diagnosztika).
|
|
57
66
|
*/
|
|
58
67
|
getConnectedPeerKeys(): string[];
|
|
68
|
+
/**
|
|
69
|
+
* REQ-CLUSTER-DEBUG-WS-001: Per-peer last WS error snapshot a Settings →
|
|
70
|
+
* Cluster debug-paneljéhez. Csak olvasott map-másolatot ad vissza.
|
|
71
|
+
*/
|
|
72
|
+
getPeerLastErrors(): Map<string, {
|
|
73
|
+
message: string;
|
|
74
|
+
atMs: number;
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* REQ-CLUSTER-DEBUG-WS-001: Manuál PEI WS-client restart — minden peer-kapcsolat
|
|
78
|
+
* bontása + új connect-kísérlet a friss registry alapján. Idempotens: ha még nem
|
|
79
|
+
* fut, az `isRunning=false` mellett induló `start()`-ot hív; ha fut, stop+start.
|
|
80
|
+
*
|
|
81
|
+
* Hasznos amikor a peer-ek heartbeat-elnek (online ✓) de a WS-csatlakozott=0
|
|
82
|
+
* (pl. a cluster-bootstrap után a registry üres volt és a refresh még nem futott,
|
|
83
|
+
* vagy egy átmeneti hiba miatt minden peer-en `connect_error` ragadt). Egy
|
|
84
|
+
* kattintás → friss kísérlet, peer-enként új socket.
|
|
85
|
+
*/
|
|
86
|
+
restart(params: {
|
|
87
|
+
sharedSecret: string;
|
|
88
|
+
}): Promise<{
|
|
89
|
+
wasRunning: boolean;
|
|
90
|
+
attemptedPeerCount: number;
|
|
91
|
+
connectedPeerCount: number;
|
|
92
|
+
}>;
|
|
93
|
+
/**
|
|
94
|
+
* REQ-CLUSTER-DEBUG-WS-001: Manuál egy-peer-szintű reconnect — egyetlen
|
|
95
|
+
* peer-kapcsolat bontása + új connect-kísérlet (ha a registry-ben szerepel).
|
|
96
|
+
*/
|
|
97
|
+
reconnectPeer(params: {
|
|
98
|
+
instanceKey: string;
|
|
99
|
+
}): Promise<{
|
|
100
|
+
found: boolean;
|
|
101
|
+
isWsConnectedAfter: boolean;
|
|
102
|
+
}>;
|
|
59
103
|
/**
|
|
60
104
|
* Peer connection-ök frissítése: registry-ből kiolvasott online peer-ekhez connect/disconnect.
|
|
61
105
|
*/
|
package/server/build/src/_modules/peer-instance/_services/pei-ws-client.control-service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pei-ws-client.control-service.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-ws-client.control-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAS/D;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,sBAAsB;IAErE,+CAA+C;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAsB;IAEtE;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAEjE,6DAA6D;IAC7D,OAAO,CAAC,eAAe,CAAwC;IAE/D,uBAAuB;IACvB,OAAO,CAAC,YAAY,CAAc;IAElC,+BAA+B;IAC/B,OAAO,CAAC,aAAa,CAA+C;IAEpE,OAAO,CAAC,SAAS,CAAkB;IAEnC,MAAM,CAAC,WAAW,IAAI,2BAA2B;IAIjD;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC5D;;OAEG;IACH,IAAI,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"pei-ws-client.control-service.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/peer-instance/_services/pei-ws-client.control-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAS/D;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,sBAAsB;IAErE,+CAA+C;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAsB;IAEtE;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAEjE,6DAA6D;IAC7D,OAAO,CAAC,eAAe,CAAwC;IAE/D,uBAAuB;IACvB,OAAO,CAAC,YAAY,CAAc;IAElC,+BAA+B;IAC/B,OAAO,CAAC,aAAa,CAA+C;IAEpE,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAA6D;IAEnF,MAAM,CAAC,WAAW,IAAI,2BAA2B;IAIjD,iEAAiE;IACjE,iBAAiB,IAAI,OAAO;IAI5B;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC5D;;OAEG;IACH,IAAI,IAAI,IAAI;IAsBZ;;;;;;;OAOG;IACH,UAAU,CAAC,MAAM,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI;IAoBrG;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI;IAgBnF;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAYhC;;;OAGG;IACH,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAInE;;;;;;;;;OASG;IACG,OAAO,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QACvD,UAAU,EAAE,OAAO,CAAC;QACpB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAkBF;;;OAGG;IACG,aAAa,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAC5D,KAAK,EAAE,OAAO,CAAC;QACf,kBAAkB,EAAE,OAAO,CAAC;KAC7B,CAAC;IAsCF;;OAEG;YACW,sBAAsB;IA+CpC;;OAEG;IACH,OAAO,CAAC,aAAa;CAuFtB"}
|
|
@@ -31,9 +31,20 @@ class PEI_WsClient_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
31
31
|
/** Refresh interval handle. */
|
|
32
32
|
refreshHandle = null;
|
|
33
33
|
isRunning = false;
|
|
34
|
+
/**
|
|
35
|
+
* REQ-CLUSTER-DEBUG-WS-001: Per-peer utolsó WS connect/disconnect hiba.
|
|
36
|
+
* `connect_error` és nem-server-disconnect `disconnect` event-en írjuk; sikeres
|
|
37
|
+
* `connect`-kor töröljük. A Settings → Cluster debug-panel innen olvassa, hogy
|
|
38
|
+
* a user lássa MIÉRT nem épül fel a kapcsolat (nem csak hogy 0 a WS-csatlakozott).
|
|
39
|
+
*/
|
|
40
|
+
peerLastErrors = new Map();
|
|
34
41
|
static getInstance() {
|
|
35
42
|
return PEI_WsClient_ControlService.getSingletonInstance();
|
|
36
43
|
}
|
|
44
|
+
/** PEI WS client futás-flag (Settings → Cluster diagnostics). */
|
|
45
|
+
isWsClientRunning() {
|
|
46
|
+
return this.isRunning;
|
|
47
|
+
}
|
|
37
48
|
/**
|
|
38
49
|
* Client indítása: connect to all known peers + periodic refresh.
|
|
39
50
|
*/
|
|
@@ -75,6 +86,10 @@ class PEI_WsClient_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
75
86
|
}
|
|
76
87
|
this.peerConnections.clear();
|
|
77
88
|
this.isRunning = false;
|
|
89
|
+
// REQ-CLUSTER-DEBUG-WS-001: stop-kor töröljük az error-snapshot-okat is, hogy
|
|
90
|
+
// a következő start friss lappal induljon — a hibák a futás során újra-
|
|
91
|
+
// populálódnak.
|
|
92
|
+
this.peerLastErrors.clear();
|
|
78
93
|
fsm_dynamo_1.DyFM_Log.info('PEI_WsClient | Stopped');
|
|
79
94
|
}
|
|
80
95
|
/**
|
|
@@ -128,6 +143,72 @@ class PEI_WsClient_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
128
143
|
}
|
|
129
144
|
return result;
|
|
130
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* REQ-CLUSTER-DEBUG-WS-001: Per-peer last WS error snapshot a Settings →
|
|
148
|
+
* Cluster debug-paneljéhez. Csak olvasott map-másolatot ad vissza.
|
|
149
|
+
*/
|
|
150
|
+
getPeerLastErrors() {
|
|
151
|
+
return new Map(this.peerLastErrors);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* REQ-CLUSTER-DEBUG-WS-001: Manuál PEI WS-client restart — minden peer-kapcsolat
|
|
155
|
+
* bontása + új connect-kísérlet a friss registry alapján. Idempotens: ha még nem
|
|
156
|
+
* fut, az `isRunning=false` mellett induló `start()`-ot hív; ha fut, stop+start.
|
|
157
|
+
*
|
|
158
|
+
* Hasznos amikor a peer-ek heartbeat-elnek (online ✓) de a WS-csatlakozott=0
|
|
159
|
+
* (pl. a cluster-bootstrap után a registry üres volt és a refresh még nem futott,
|
|
160
|
+
* vagy egy átmeneti hiba miatt minden peer-en `connect_error` ragadt). Egy
|
|
161
|
+
* kattintás → friss kísérlet, peer-enként új socket.
|
|
162
|
+
*/
|
|
163
|
+
async restart(params) {
|
|
164
|
+
const wasRunning = this.isRunning;
|
|
165
|
+
if (wasRunning) {
|
|
166
|
+
this.stop();
|
|
167
|
+
}
|
|
168
|
+
// Az error-snapshot megmarad — a felhasználó látja még az előző fail okát,
|
|
169
|
+
// amíg a friss kísérlet vissza nem írja vagy nem törli.
|
|
170
|
+
await this.start({ sharedSecret: params.sharedSecret });
|
|
171
|
+
const attemptedPeerCount = this.peerConnections.size;
|
|
172
|
+
const connectedPeerCount = this.getConnectedPeerKeys().length;
|
|
173
|
+
return {
|
|
174
|
+
wasRunning: wasRunning,
|
|
175
|
+
attemptedPeerCount: attemptedPeerCount,
|
|
176
|
+
connectedPeerCount: connectedPeerCount,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* REQ-CLUSTER-DEBUG-WS-001: Manuál egy-peer-szintű reconnect — egyetlen
|
|
181
|
+
* peer-kapcsolat bontása + új connect-kísérlet (ha a registry-ben szerepel).
|
|
182
|
+
*/
|
|
183
|
+
async reconnectPeer(params) {
|
|
184
|
+
const key = params.instanceKey;
|
|
185
|
+
const existing = this.peerConnections.get(key);
|
|
186
|
+
if (existing) {
|
|
187
|
+
existing.disconnect();
|
|
188
|
+
this.peerConnections.delete(key);
|
|
189
|
+
}
|
|
190
|
+
// Friss registry alapján próbálunk csatlakozni — lehet a peer eltűnt időközben
|
|
191
|
+
const ds = new exs_instance_registry_data_service_1.ExS_InstanceRegistry_DataService({
|
|
192
|
+
issuer: 'pei-ws-client-reconnect',
|
|
193
|
+
});
|
|
194
|
+
const allEntries = await ds.listAllForAdminDisplay();
|
|
195
|
+
const peer = allEntries.find((entry) => entry.instanceKey === key);
|
|
196
|
+
if (!peer || !peer.publicHost || !peer.httpPort) {
|
|
197
|
+
return { found: false, isWsConnectedAfter: false };
|
|
198
|
+
}
|
|
199
|
+
this.connectToPeer(peer);
|
|
200
|
+
// Socket.IO connect aszinkron — adunk neki rövid ablakot (max 1.5s) hogy a
|
|
201
|
+
// connect / connect_error event meghívódjon a UI azonnali visszajelzéséhez.
|
|
202
|
+
await new Promise((resolve) => {
|
|
203
|
+
const handle = setTimeout(resolve, 1500);
|
|
204
|
+
handle.unref?.();
|
|
205
|
+
});
|
|
206
|
+
const socket = this.peerConnections.get(key);
|
|
207
|
+
return {
|
|
208
|
+
found: true,
|
|
209
|
+
isWsConnectedAfter: !!socket?.connected,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
131
212
|
/**
|
|
132
213
|
* Peer connection-ök frissítése: registry-ből kiolvasott online peer-ekhez connect/disconnect.
|
|
133
214
|
*/
|
|
@@ -156,6 +237,8 @@ class PEI_WsClient_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
156
237
|
if (!knownKeys.has(key)) {
|
|
157
238
|
socket.disconnect();
|
|
158
239
|
this.peerConnections.delete(key);
|
|
240
|
+
// REQ-CLUSTER-DEBUG-WS-001: a stale peer error-snapshot-ot is takarítjuk
|
|
241
|
+
this.peerLastErrors.delete(key);
|
|
159
242
|
fsm_dynamo_1.DyFM_Log.info(`PEI_WsClient | Removed stale peer connection | key: ${key}`);
|
|
160
243
|
}
|
|
161
244
|
}
|
|
@@ -202,12 +285,23 @@ class PEI_WsClient_ControlService extends nts_dynamo_1.DyNTS_SingletonService {
|
|
|
202
285
|
});
|
|
203
286
|
// Event listener-ek
|
|
204
287
|
socket.on('connect', () => {
|
|
288
|
+
// REQ-CLUSTER-DEBUG-WS-001: sikeres connect törli a hiba-snapshot-ot — a
|
|
289
|
+
// Settings → Cluster panel azonnal tisztul.
|
|
290
|
+
this.peerLastErrors.delete(key);
|
|
205
291
|
fsm_dynamo_1.DyFM_Log.success(`PEI_WsClient | Connected to peer | key: ${key} | url: ${url}`);
|
|
206
292
|
});
|
|
207
293
|
socket.on('disconnect', (reason) => {
|
|
294
|
+
// REQ-CLUSTER-DEBUG-WS-001: nem-tisztább disconnect (server-side `io server
|
|
295
|
+
// disconnect` vagy `transport close` / `ping timeout`) hibaként rögzítjük,
|
|
296
|
+
// hogy a UI mutassa „WS hiba" oszlopban.
|
|
297
|
+
if (reason !== 'io client disconnect') {
|
|
298
|
+
this.peerLastErrors.set(key, { message: `disconnect: ${reason}`, atMs: Date.now() });
|
|
299
|
+
}
|
|
208
300
|
fsm_dynamo_1.DyFM_Log.warn(`PEI_WsClient | Disconnected from peer | key: ${key} | reason: ${reason}`);
|
|
209
301
|
});
|
|
210
302
|
socket.on('connect_error', (error) => {
|
|
303
|
+
// REQ-CLUSTER-DEBUG-WS-001: kapcsolódási hiba látható a debug-panelen.
|
|
304
|
+
this.peerLastErrors.set(key, { message: error.message, atMs: Date.now() });
|
|
211
305
|
fsm_dynamo_1.DyFM_Log.warn(`PEI_WsClient | Connection error | key: ${key} | ${error.message}`);
|
|
212
306
|
});
|
|
213
307
|
// Task channel event-ek (source oldalon fogadva a target-től)
|