@futdevpro/ccap 1.1.3371 → 1.1.3447
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-TPKOBI3N.js → agent-instances.module-W3REXD56.js} +2 -2
- package/client-dist/{ca.module-I5N6QWSU.js → ca.module-TQ4WHOMF.js} +2 -2
- package/client-dist/{cc-usage-dashboard.component-7SPVADUQ.js → cc-usage-dashboard.component-TGLYNCLF.js} +2 -2
- package/client-dist/{cc.module-7IL3QO5Q.js → cc.module-YMTBVD35.js} +2 -2
- package/client-dist/{chunk-XWYXBY7S.js → chunk-2EBLV6GJ.js} +2 -2
- package/client-dist/{chunk-7VY64KMU.js → chunk-4GTK6NMH.js} +2 -2
- package/client-dist/{chunk-44TWBJUK.js → chunk-5HNAJSRW.js} +2 -2
- package/client-dist/{chunk-77YTUUCR.js → chunk-6AFPKEHZ.js} +2 -2
- package/client-dist/{chunk-RUSAMFGS.js → chunk-6TE4LLRT.js} +2 -2
- package/client-dist/{chunk-RUSAMFGS.js.map → chunk-6TE4LLRT.js.map} +1 -1
- package/client-dist/{chunk-OKUYYDGV.js → chunk-6XSACJBG.js} +2 -2
- package/client-dist/{chunk-UM7AS2IW.js → chunk-77JJATPE.js} +2 -2
- package/client-dist/{chunk-RYD462IO.js → chunk-7GEAKPVD.js} +2 -2
- package/client-dist/{chunk-4FK2D2PX.js → chunk-A3CDBCDP.js} +2 -2
- package/client-dist/{chunk-3G2ZGV66.js → chunk-ACWNNQIT.js} +2 -2
- package/client-dist/{chunk-J5INQQ5M.js → chunk-AGMHTMQA.js} +2 -2
- package/client-dist/{chunk-U3Y5GO6O.js → chunk-BFYF3IU4.js} +2 -2
- package/client-dist/{chunk-U64N3LCA.js → chunk-BNU5THES.js} +2 -2
- package/client-dist/{chunk-4PBNHSRW.js → chunk-BQAILW64.js} +2 -2
- package/client-dist/{chunk-TFB7ULAV.js → chunk-C6J25IMQ.js} +2 -2
- package/client-dist/{chunk-PW5BAINL.js → chunk-CZLRKXDU.js} +2 -2
- package/client-dist/{chunk-CU5YQ2M4.js → chunk-DEAFTFFH.js} +2 -2
- package/client-dist/{chunk-PMJP2N4K.js → chunk-E6C6MLAE.js} +2 -2
- package/client-dist/{chunk-6BYNIFJY.js → chunk-F455BZKF.js} +2 -2
- package/client-dist/chunk-FOLWKVUD.js +2 -0
- package/client-dist/chunk-FOLWKVUD.js.map +7 -0
- package/client-dist/{chunk-CAMM4S7P.js → chunk-GIEG6TTL.js} +3 -3
- package/client-dist/chunk-GIEG6TTL.js.map +1 -0
- package/client-dist/{chunk-4JL2Q6FO.js → chunk-GYSREL5Z.js} +2 -2
- package/client-dist/{chunk-IHNAAEA2.js → chunk-HFDLUJ4U.js} +2 -2
- package/client-dist/{chunk-XFXMWTQS.js → chunk-HS5KMAZC.js} +2 -2
- package/client-dist/{chunk-C2BQQRVH.js → chunk-HZ3SDWNT.js} +2 -2
- package/client-dist/{chunk-5RLDT3NY.js → chunk-I7XAQJ7K.js} +2 -2
- package/client-dist/{chunk-SK3XGSYF.js → chunk-ITSH6RYG.js} +2 -2
- package/client-dist/{chunk-BJ4I73WC.js → chunk-K3UWZKRD.js} +2 -2
- package/client-dist/{chunk-25KTNALK.js → chunk-KDPOJH6B.js} +2 -2
- package/client-dist/{chunk-OS5KCUZD.js → chunk-KKDWUDRS.js} +2 -2
- package/client-dist/{chunk-LIGODF4I.js → chunk-LUV3FOSG.js} +2 -2
- package/client-dist/{chunk-26YUXPZI.js → chunk-MY244SUO.js} +2 -2
- package/client-dist/{chunk-QQ2GRU2N.js → chunk-O3CN5GI3.js} +2 -2
- package/client-dist/{chunk-UVVGFHUG.js → chunk-O4EWDG7M.js} +2 -2
- package/client-dist/{chunk-LMK3IOKN.js → chunk-P7TYGGJE.js} +2 -2
- package/client-dist/{chunk-VOFDBT5T.js → chunk-PG4M4ZHN.js} +2 -2
- package/client-dist/{chunk-EDMLVG72.js → chunk-PIQK6O5O.js} +2 -2
- package/client-dist/{chunk-LCKABD2M.js → chunk-PQEIFO6Y.js} +2 -2
- package/client-dist/{chunk-7CMPZXAO.js → chunk-QSN7KY5M.js} +2 -2
- package/client-dist/{chunk-GG2WP2KM.js → chunk-QTOWXHVD.js} +2 -2
- package/client-dist/{chunk-BH3GMEZZ.js → chunk-ROLHXND4.js} +2 -2
- package/client-dist/{chunk-A33MCHYC.js → chunk-RPTXBYC4.js} +14 -14
- package/client-dist/{chunk-A33MCHYC.js.map → chunk-RPTXBYC4.js.map} +3 -3
- package/client-dist/{chunk-KX2KGHQZ.js → chunk-RZBXT5HF.js} +2 -2
- package/client-dist/{chunk-657E66YR.js → chunk-SDRBFR4F.js} +2 -2
- package/client-dist/{chunk-W7HIS2QA.js → chunk-T4OXQXNG.js} +2 -2
- package/client-dist/{chunk-C4FOSX27.js → chunk-UFASD7B2.js} +2 -2
- package/client-dist/{chunk-E6WOJOGT.js → chunk-UKRECFE4.js} +2 -2
- package/client-dist/{chunk-VRG74DKK.js → chunk-VJ343CWZ.js} +2 -2
- package/client-dist/{chunk-5YDHEFSD.js → chunk-VOEXOXIB.js} +2 -2
- package/client-dist/{chunk-L42Z7YNK.js → chunk-VPHQR3SZ.js} +2 -2
- package/client-dist/{chunk-DXF2FJLD.js → chunk-WDUO4IJE.js} +2 -2
- package/client-dist/chunk-WJCSS2XZ.js +2 -0
- package/client-dist/chunk-WJCSS2XZ.js.map +7 -0
- package/client-dist/{chunk-OLLHHMTV.js → chunk-WW4VCBEU.js} +2 -2
- package/client-dist/{chunk-L2XJGYW4.js → chunk-XLKBCO5O.js} +2 -2
- package/client-dist/{chunk-UD4PV7CD.js → chunk-XZRD3UM5.js} +2 -2
- package/client-dist/{chunk-4EOSKDXN.js → chunk-YWVKQVNA.js} +2 -2
- package/client-dist/{chunk-OCNDLQG5.js → chunk-Z3OBNB3J.js} +2 -2
- package/client-dist/{consultant.module-HHTHUWRL.js → consultant.module-2SDJBVP3.js} +2 -2
- package/client-dist/{crd.module-ER6AHSX5.js → crd.module-IWMW2SSQ.js} +2 -2
- package/client-dist/{dashboard.module-TSNGGBCI.js → dashboard.module-AIDMW46S.js} +2 -2
- package/client-dist/{do.module-NMZD5VSM.js → do.module-X7OAX4DD.js} +2 -2
- package/client-dist/{document-library.module-GHDNXP3T.js → document-library.module-IOCM265I.js} +2 -2
- package/client-dist/{embedding-eval.module-XPXBOIP5.js → embedding-eval.module-KCJREZY3.js} +2 -2
- package/client-dist/{embedding-registry.module-45TQGZI2.js → embedding-registry.module-XQXYNVGG.js} +2 -2
- package/client-dist/err.module-VWGZT7Z4.js +6 -0
- package/client-dist/err.module-VWGZT7Z4.js.map +7 -0
- package/client-dist/{feedback.module-TLKZ4B4N.js → feedback.module-P4XLXCPD.js} +2 -2
- package/client-dist/{host-runtime-mcp.module-HVJZN5R5.js → host-runtime-mcp.module-JBSXKARK.js} +2 -2
- package/client-dist/index.html +2 -2
- package/client-dist/{live-dev-pipeline.module-5PE4ZFFW.js → live-dev-pipeline.module-B66G4DQO.js} +2 -2
- package/client-dist/{logs.module-335EXKCD.js → logs.module-F7SAEBD3.js} +2 -2
- package/client-dist/{main-FRD6VXVH.js → main-FD4U5Q57.js} +3 -3
- package/client-dist/{master-control-remote-poc.module-ORHRUCZH.js → master-control-remote-poc.module-M66UBNEO.js} +2 -2
- package/client-dist/{mobile-app.module-BYYNVKQR.js → mobile-app.module-Z22J4W6C.js} +2 -2
- package/client-dist/{model-registry.module-KIHIJ2Z6.js → model-registry.module-CWMA4CT5.js} +2 -2
- package/client-dist/{oc.module-DAGIRW3Z.js → oc.module-HIXCQOOF.js} +2 -2
- package/client-dist/orc.module-YEZN4Q7U.js +2 -0
- package/client-dist/orc.module-YEZN4Q7U.js.map +7 -0
- package/client-dist/{project-management.module-IJNPSUQZ.js → project-management.module-CB6D2EUD.js} +2 -2
- package/client-dist/project-source-routed.module-CYG342BA.js +2 -0
- package/client-dist/{scheduler.module-S3IKZCLL.js → scheduler.module-V5JCK6QF.js} +2 -2
- package/client-dist/{session.module-FZC22UUN.js → session.module-QZLOBMOL.js} +9 -9
- package/client-dist/{session.module-FZC22UUN.js.map → session.module-QZLOBMOL.js.map} +3 -3
- package/client-dist/{set.module-Y2RHKW7A.js → set.module-EVAQ6TXH.js} +2 -2
- package/client-dist/{setup.module-VTI5EZ3Q.js → setup.module-D2TCNKBN.js} +2 -2
- package/client-dist/styles-CTUT42AQ.css +2 -0
- package/client-dist/{styles-MX7ZZMTH.css.map → styles-CTUT42AQ.css.map} +1 -1
- package/client-dist/{terminals.module-KHEDY6QN.js → terminals.module-LABJDNT5.js} +2 -2
- package/client-dist/{voice-notes-poc.module-EMDLJJIT.js → voice-notes-poc.module-IST3HNZW.js} +2 -2
- package/client-dist/{wfs.module-LUTFNQG5.js → wfs.module-ETTOPBME.js} +2 -2
- package/package.json +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/agent-core/_modules/run/_services/control-services/run-flow.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/agent-core/_modules/run/_services/control-services/run-flow.control-service.js +8 -1
- package/server/build/src/_modules/ccap-agent/_modules/agent-core/_modules/run/_services/control-services/run-flow.control-service.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.d.ts +47 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.d.ts.map +1 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.js +100 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.js.map +1 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.spec.d.ts +2 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.spec.d.ts.map +1 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.spec.js +162 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.spec.js.map +1 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_services/control-services/tts/voc-tts.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_services/control-services/tts/voc-tts.control-service.js +22 -4
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_services/control-services/tts/voc-tts.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.d.ts +40 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.js +174 -8
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.spec.d.ts +9 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.spec.js +213 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.spec.js.map +1 -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 +8 -0
- 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-adapter.interface.d.ts +10 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.interface.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.d.ts +22 -42
- 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 +75 -58
- 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/status/cc-status-transition.control-service.d.ts +13 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.js +39 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js +9 -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/notification/_collections/utils/ntf-system-event.util.d.ts +10 -0
- package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.d.ts.map +1 -1
- package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.js +18 -0
- package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.js.map +1 -1
- package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.spec.js +32 -3
- package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.spec.js.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-event-relay.control-service.spec.d.ts +15 -0
- package/server/build/src/_modules/peer-instance/_services/pei-event-relay.control-service.spec.d.ts.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-event-relay.control-service.spec.js +122 -0
- package/server/build/src/_modules/peer-instance/_services/pei-event-relay.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.js +19 -32
- package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.js.map +1 -1
- package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.spec.js +32 -79
- package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.spec.js.map +1 -1
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache-entry.interface.d.ts +14 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache-entry.interface.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache-entry.interface.js +3 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache-entry.interface.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.d.ts +59 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.js +166 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.d.ts +6 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.js +135 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.d.ts +18 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.js +3 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.d.ts +37 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.js +135 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.d.ts +8 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.js +109 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.d.ts +6 -0
- package/server/build/src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.js +12 -0
- package/server/build/src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.js.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.d.ts +13 -17
- package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.js +44 -50
- package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.js.map +1 -1
- package/server/build/src/app.server.d.ts.map +1 -1
- package/server/build/src/app.server.js +4 -9
- package/server/build/src/app.server.js.map +1 -1
- package/client-dist/chunk-3AG5X2MY.js +0 -2
- package/client-dist/chunk-3AG5X2MY.js.map +0 -7
- package/client-dist/chunk-CAMM4S7P.js.map +0 -1
- package/client-dist/chunk-CDNAFC73.js +0 -2
- package/client-dist/chunk-CDNAFC73.js.map +0 -7
- package/client-dist/err.module-GCKYDYCK.js +0 -6
- package/client-dist/err.module-GCKYDYCK.js.map +0 -7
- package/client-dist/orc.module-KZELL6XR.js +0 -2
- package/client-dist/orc.module-KZELL6XR.js.map +0 -7
- package/client-dist/project-source-routed.module-DP3RD454.js +0 -2
- package/client-dist/styles-MX7ZZMTH.css +0 -2
- /package/client-dist/{agent-instances.module-TPKOBI3N.js.map → agent-instances.module-W3REXD56.js.map} +0 -0
- /package/client-dist/{ca.module-I5N6QWSU.js.map → ca.module-TQ4WHOMF.js.map} +0 -0
- /package/client-dist/{cc-usage-dashboard.component-7SPVADUQ.js.map → cc-usage-dashboard.component-TGLYNCLF.js.map} +0 -0
- /package/client-dist/{cc.module-7IL3QO5Q.js.map → cc.module-YMTBVD35.js.map} +0 -0
- /package/client-dist/{chunk-XWYXBY7S.js.map → chunk-2EBLV6GJ.js.map} +0 -0
- /package/client-dist/{chunk-7VY64KMU.js.map → chunk-4GTK6NMH.js.map} +0 -0
- /package/client-dist/{chunk-44TWBJUK.js.map → chunk-5HNAJSRW.js.map} +0 -0
- /package/client-dist/{chunk-77YTUUCR.js.map → chunk-6AFPKEHZ.js.map} +0 -0
- /package/client-dist/{chunk-OKUYYDGV.js.map → chunk-6XSACJBG.js.map} +0 -0
- /package/client-dist/{chunk-UM7AS2IW.js.map → chunk-77JJATPE.js.map} +0 -0
- /package/client-dist/{chunk-RYD462IO.js.map → chunk-7GEAKPVD.js.map} +0 -0
- /package/client-dist/{chunk-4FK2D2PX.js.map → chunk-A3CDBCDP.js.map} +0 -0
- /package/client-dist/{chunk-3G2ZGV66.js.map → chunk-ACWNNQIT.js.map} +0 -0
- /package/client-dist/{chunk-J5INQQ5M.js.map → chunk-AGMHTMQA.js.map} +0 -0
- /package/client-dist/{chunk-U3Y5GO6O.js.map → chunk-BFYF3IU4.js.map} +0 -0
- /package/client-dist/{chunk-U64N3LCA.js.map → chunk-BNU5THES.js.map} +0 -0
- /package/client-dist/{chunk-4PBNHSRW.js.map → chunk-BQAILW64.js.map} +0 -0
- /package/client-dist/{chunk-TFB7ULAV.js.map → chunk-C6J25IMQ.js.map} +0 -0
- /package/client-dist/{chunk-PW5BAINL.js.map → chunk-CZLRKXDU.js.map} +0 -0
- /package/client-dist/{chunk-CU5YQ2M4.js.map → chunk-DEAFTFFH.js.map} +0 -0
- /package/client-dist/{chunk-PMJP2N4K.js.map → chunk-E6C6MLAE.js.map} +0 -0
- /package/client-dist/{chunk-6BYNIFJY.js.map → chunk-F455BZKF.js.map} +0 -0
- /package/client-dist/{chunk-4JL2Q6FO.js.map → chunk-GYSREL5Z.js.map} +0 -0
- /package/client-dist/{chunk-IHNAAEA2.js.map → chunk-HFDLUJ4U.js.map} +0 -0
- /package/client-dist/{chunk-XFXMWTQS.js.map → chunk-HS5KMAZC.js.map} +0 -0
- /package/client-dist/{chunk-C2BQQRVH.js.map → chunk-HZ3SDWNT.js.map} +0 -0
- /package/client-dist/{chunk-5RLDT3NY.js.map → chunk-I7XAQJ7K.js.map} +0 -0
- /package/client-dist/{chunk-SK3XGSYF.js.map → chunk-ITSH6RYG.js.map} +0 -0
- /package/client-dist/{chunk-BJ4I73WC.js.map → chunk-K3UWZKRD.js.map} +0 -0
- /package/client-dist/{chunk-25KTNALK.js.map → chunk-KDPOJH6B.js.map} +0 -0
- /package/client-dist/{chunk-OS5KCUZD.js.map → chunk-KKDWUDRS.js.map} +0 -0
- /package/client-dist/{chunk-LIGODF4I.js.map → chunk-LUV3FOSG.js.map} +0 -0
- /package/client-dist/{chunk-26YUXPZI.js.map → chunk-MY244SUO.js.map} +0 -0
- /package/client-dist/{chunk-QQ2GRU2N.js.map → chunk-O3CN5GI3.js.map} +0 -0
- /package/client-dist/{chunk-UVVGFHUG.js.map → chunk-O4EWDG7M.js.map} +0 -0
- /package/client-dist/{chunk-LMK3IOKN.js.map → chunk-P7TYGGJE.js.map} +0 -0
- /package/client-dist/{chunk-VOFDBT5T.js.map → chunk-PG4M4ZHN.js.map} +0 -0
- /package/client-dist/{chunk-EDMLVG72.js.map → chunk-PIQK6O5O.js.map} +0 -0
- /package/client-dist/{chunk-LCKABD2M.js.map → chunk-PQEIFO6Y.js.map} +0 -0
- /package/client-dist/{chunk-7CMPZXAO.js.map → chunk-QSN7KY5M.js.map} +0 -0
- /package/client-dist/{chunk-GG2WP2KM.js.map → chunk-QTOWXHVD.js.map} +0 -0
- /package/client-dist/{chunk-BH3GMEZZ.js.map → chunk-ROLHXND4.js.map} +0 -0
- /package/client-dist/{chunk-KX2KGHQZ.js.map → chunk-RZBXT5HF.js.map} +0 -0
- /package/client-dist/{chunk-657E66YR.js.map → chunk-SDRBFR4F.js.map} +0 -0
- /package/client-dist/{chunk-W7HIS2QA.js.map → chunk-T4OXQXNG.js.map} +0 -0
- /package/client-dist/{chunk-C4FOSX27.js.map → chunk-UFASD7B2.js.map} +0 -0
- /package/client-dist/{chunk-E6WOJOGT.js.map → chunk-UKRECFE4.js.map} +0 -0
- /package/client-dist/{chunk-VRG74DKK.js.map → chunk-VJ343CWZ.js.map} +0 -0
- /package/client-dist/{chunk-5YDHEFSD.js.map → chunk-VOEXOXIB.js.map} +0 -0
- /package/client-dist/{chunk-L42Z7YNK.js.map → chunk-VPHQR3SZ.js.map} +0 -0
- /package/client-dist/{chunk-DXF2FJLD.js.map → chunk-WDUO4IJE.js.map} +0 -0
- /package/client-dist/{chunk-OLLHHMTV.js.map → chunk-WW4VCBEU.js.map} +0 -0
- /package/client-dist/{chunk-L2XJGYW4.js.map → chunk-XLKBCO5O.js.map} +0 -0
- /package/client-dist/{chunk-UD4PV7CD.js.map → chunk-XZRD3UM5.js.map} +0 -0
- /package/client-dist/{chunk-4EOSKDXN.js.map → chunk-YWVKQVNA.js.map} +0 -0
- /package/client-dist/{chunk-OCNDLQG5.js.map → chunk-Z3OBNB3J.js.map} +0 -0
- /package/client-dist/{consultant.module-HHTHUWRL.js.map → consultant.module-2SDJBVP3.js.map} +0 -0
- /package/client-dist/{crd.module-ER6AHSX5.js.map → crd.module-IWMW2SSQ.js.map} +0 -0
- /package/client-dist/{dashboard.module-TSNGGBCI.js.map → dashboard.module-AIDMW46S.js.map} +0 -0
- /package/client-dist/{do.module-NMZD5VSM.js.map → do.module-X7OAX4DD.js.map} +0 -0
- /package/client-dist/{document-library.module-GHDNXP3T.js.map → document-library.module-IOCM265I.js.map} +0 -0
- /package/client-dist/{embedding-eval.module-XPXBOIP5.js.map → embedding-eval.module-KCJREZY3.js.map} +0 -0
- /package/client-dist/{embedding-registry.module-45TQGZI2.js.map → embedding-registry.module-XQXYNVGG.js.map} +0 -0
- /package/client-dist/{feedback.module-TLKZ4B4N.js.map → feedback.module-P4XLXCPD.js.map} +0 -0
- /package/client-dist/{host-runtime-mcp.module-HVJZN5R5.js.map → host-runtime-mcp.module-JBSXKARK.js.map} +0 -0
- /package/client-dist/{live-dev-pipeline.module-5PE4ZFFW.js.map → live-dev-pipeline.module-B66G4DQO.js.map} +0 -0
- /package/client-dist/{logs.module-335EXKCD.js.map → logs.module-F7SAEBD3.js.map} +0 -0
- /package/client-dist/{main-FRD6VXVH.js.map → main-FD4U5Q57.js.map} +0 -0
- /package/client-dist/{master-control-remote-poc.module-ORHRUCZH.js.map → master-control-remote-poc.module-M66UBNEO.js.map} +0 -0
- /package/client-dist/{mobile-app.module-BYYNVKQR.js.map → mobile-app.module-Z22J4W6C.js.map} +0 -0
- /package/client-dist/{model-registry.module-KIHIJ2Z6.js.map → model-registry.module-CWMA4CT5.js.map} +0 -0
- /package/client-dist/{oc.module-DAGIRW3Z.js.map → oc.module-HIXCQOOF.js.map} +0 -0
- /package/client-dist/{project-management.module-IJNPSUQZ.js.map → project-management.module-CB6D2EUD.js.map} +0 -0
- /package/client-dist/{project-source-routed.module-DP3RD454.js.map → project-source-routed.module-CYG342BA.js.map} +0 -0
- /package/client-dist/{scheduler.module-S3IKZCLL.js.map → scheduler.module-V5JCK6QF.js.map} +0 -0
- /package/client-dist/{set.module-Y2RHKW7A.js.map → set.module-EVAQ6TXH.js.map} +0 -0
- /package/client-dist/{setup.module-VTI5EZ3Q.js.map → setup.module-D2TCNKBN.js.map} +0 -0
- /package/client-dist/{terminals.module-KHEDY6QN.js.map → terminals.module-LABJDNT5.js.map} +0 -0
- /package/client-dist/{voice-notes-poc.module-EMDLJJIT.js.map → voice-notes-poc.module-IST3HNZW.js.map} +0 -0
- /package/client-dist/{wfs.module-LUTFNQG5.js.map → wfs.module-ETTOPBME.js.map} +0 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* REQ-SYS-NPM-CACHE-001 — `SC_NpmLatestCache_Util` unit-tesztek.
|
|
4
|
+
* A `SLF_Self_Util.getLatestNpmVersion`-t spyOn-nal stub-oljuk; nem hívunk valódi npm view-t.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const self_util_1 = require("../../../../ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/utils/self.util");
|
|
8
|
+
const sc_npm_latest_cache_util_1 = require("./sc-npm-latest-cache.util");
|
|
9
|
+
describe('SC_NpmLatestCache_Util', () => {
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.shutdown();
|
|
12
|
+
sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.resetCacheForTest();
|
|
13
|
+
});
|
|
14
|
+
afterEach(() => {
|
|
15
|
+
sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.shutdown();
|
|
16
|
+
sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.resetCacheForTest();
|
|
17
|
+
});
|
|
18
|
+
describe('initial state', () => {
|
|
19
|
+
it('| friss state — getCached() null', () => {
|
|
20
|
+
expect(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.getCached()).toBeNull();
|
|
21
|
+
});
|
|
22
|
+
it('| friss state — getCacheAgeMs() null', () => {
|
|
23
|
+
expect(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.getCacheAgeMs()).toBeNull();
|
|
24
|
+
});
|
|
25
|
+
it('| friss state — isCacheFresh() false', () => {
|
|
26
|
+
expect(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.isCacheFresh()).toBeFalse();
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
describe('refresh()', () => {
|
|
30
|
+
it('| sikeres fetch → cache feltöltve, version+fetchedAtMs', async () => {
|
|
31
|
+
spyOn(self_util_1.SLF_Self_Util, 'getLatestNpmVersion').and.returnValue({ version: '1.2.3' });
|
|
32
|
+
const before = Date.now();
|
|
33
|
+
await sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.refresh();
|
|
34
|
+
const after = Date.now();
|
|
35
|
+
const cached = sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.getCached();
|
|
36
|
+
expect(cached).not.toBeNull();
|
|
37
|
+
expect(cached.version).toBe('1.2.3');
|
|
38
|
+
expect(cached.error).toBeUndefined();
|
|
39
|
+
expect(cached.fetchedAtMs).toBeGreaterThanOrEqual(before);
|
|
40
|
+
expect(cached.fetchedAtMs).toBeLessThanOrEqual(after);
|
|
41
|
+
});
|
|
42
|
+
it('| fetch error (registry-fail) → cache.error feltöltve', async () => {
|
|
43
|
+
spyOn(self_util_1.SLF_Self_Util, 'getLatestNpmVersion').and.returnValue({
|
|
44
|
+
version: '',
|
|
45
|
+
error: 'registry timeout',
|
|
46
|
+
});
|
|
47
|
+
await sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.refresh();
|
|
48
|
+
const cached = sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.getCached();
|
|
49
|
+
expect(cached?.error).toBe('registry timeout');
|
|
50
|
+
expect(cached?.version).toBe('');
|
|
51
|
+
});
|
|
52
|
+
it('| re-entrancy: ha már fut egy refresh, az új hívás skip', async () => {
|
|
53
|
+
const spy = spyOn(self_util_1.SLF_Self_Util, 'getLatestNpmVersion').and.returnValue({ version: '1.0.0' });
|
|
54
|
+
// Manuálisan beállítjuk a re-entrancy flag-et
|
|
55
|
+
Reflect.set(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util, 'isRefreshing', true);
|
|
56
|
+
await sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.refresh();
|
|
57
|
+
expect(spy).not.toHaveBeenCalled();
|
|
58
|
+
Reflect.set(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util, 'isRefreshing', false);
|
|
59
|
+
});
|
|
60
|
+
it('| SLF dob → cache.error fallback (defenzív)', async () => {
|
|
61
|
+
spyOn(self_util_1.SLF_Self_Util, 'getLatestNpmVersion').and.throwError(new Error('unexpected SLF crash'));
|
|
62
|
+
await sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.refresh();
|
|
63
|
+
const cached = sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.getCached();
|
|
64
|
+
expect(cached?.error).toContain('unexpected SLF crash');
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
describe('getCacheAgeMs() és isCacheFresh()', () => {
|
|
68
|
+
it('| cache feltöltve → getCacheAgeMs() értelmes szám', async () => {
|
|
69
|
+
spyOn(self_util_1.SLF_Self_Util, 'getLatestNpmVersion').and.returnValue({ version: '1.0.0' });
|
|
70
|
+
await sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.refresh();
|
|
71
|
+
const age = sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.getCacheAgeMs();
|
|
72
|
+
expect(age).not.toBeNull();
|
|
73
|
+
expect(age).toBeGreaterThanOrEqual(0);
|
|
74
|
+
expect(age).toBeLessThan(1000); // friss
|
|
75
|
+
});
|
|
76
|
+
it('| friss cache → isCacheFresh() true', async () => {
|
|
77
|
+
spyOn(self_util_1.SLF_Self_Util, 'getLatestNpmVersion').and.returnValue({ version: '1.0.0' });
|
|
78
|
+
await sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.refresh();
|
|
79
|
+
expect(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.isCacheFresh()).toBeTrue();
|
|
80
|
+
});
|
|
81
|
+
it('| 3h régi cache → isCacheFresh() false (2h threshold)', async () => {
|
|
82
|
+
spyOn(self_util_1.SLF_Self_Util, 'getLatestNpmVersion').and.returnValue({ version: '1.0.0' });
|
|
83
|
+
await sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.refresh();
|
|
84
|
+
// 3h-val régebbi időbélyegre állítjuk
|
|
85
|
+
const cached = sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.getCached();
|
|
86
|
+
if (cached) {
|
|
87
|
+
cached.fetchedAtMs = Date.now() - (3 * 60 * 60 * 1000);
|
|
88
|
+
}
|
|
89
|
+
expect(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.isCacheFresh()).toBeFalse();
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
describe('getOrInlineRefresh()', () => {
|
|
93
|
+
it('| cache létezik → NEM hív refresh-t, cache-t adja', async () => {
|
|
94
|
+
const spy = spyOn(self_util_1.SLF_Self_Util, 'getLatestNpmVersion').and.returnValue({ version: '1.0.0' });
|
|
95
|
+
await sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.refresh();
|
|
96
|
+
expect(spy).toHaveBeenCalledTimes(1);
|
|
97
|
+
const result = await sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.getOrInlineRefresh();
|
|
98
|
+
expect(result?.version).toBe('1.0.0');
|
|
99
|
+
// Spy még mindig csak 1× (a második hívás cache-ből jött)
|
|
100
|
+
expect(spy).toHaveBeenCalledTimes(1);
|
|
101
|
+
});
|
|
102
|
+
it('| cache hiányzik → inline refresh hívódik, és a cache feltöltve', async () => {
|
|
103
|
+
const spy = spyOn(self_util_1.SLF_Self_Util, 'getLatestNpmVersion').and.returnValue({ version: '2.5.0' });
|
|
104
|
+
expect(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.getCached()).toBeNull();
|
|
105
|
+
const result = await sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.getOrInlineRefresh();
|
|
106
|
+
expect(spy).toHaveBeenCalledTimes(1);
|
|
107
|
+
expect(result?.version).toBe('2.5.0');
|
|
108
|
+
expect(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.getCached()?.version).toBe('2.5.0');
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
describe('initialize() / shutdown()', () => {
|
|
112
|
+
it('| initialize → timer set + initial refresh trigger', () => {
|
|
113
|
+
const spy = spyOn(self_util_1.SLF_Self_Util, 'getLatestNpmVersion').and.returnValue({ version: '1.0.0' });
|
|
114
|
+
sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.initialize();
|
|
115
|
+
// Immediate fetch fires synchronously (refresh body előtt nincs await SLF_Self_Util hívás)
|
|
116
|
+
expect(spy).toHaveBeenCalled();
|
|
117
|
+
expect(Reflect.get(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util, 'intervalHandle')).not.toBeNull();
|
|
118
|
+
});
|
|
119
|
+
it('| shutdown → timer null', () => {
|
|
120
|
+
spyOn(self_util_1.SLF_Self_Util, 'getLatestNpmVersion').and.returnValue({ version: '1.0.0' });
|
|
121
|
+
sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.initialize();
|
|
122
|
+
sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.shutdown();
|
|
123
|
+
expect(Reflect.get(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util, 'intervalHandle')).toBeNull();
|
|
124
|
+
});
|
|
125
|
+
it('| idempotent: második initialize előbb shutdown-ol, majd új timer', () => {
|
|
126
|
+
spyOn(self_util_1.SLF_Self_Util, 'getLatestNpmVersion').and.returnValue({ version: '1.0.0' });
|
|
127
|
+
sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.initialize();
|
|
128
|
+
const first = Reflect.get(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util, 'intervalHandle');
|
|
129
|
+
sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util.initialize();
|
|
130
|
+
const second = Reflect.get(sc_npm_latest_cache_util_1.SC_NpmLatestCache_Util, 'intervalHandle');
|
|
131
|
+
expect(second).not.toBe(first);
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
//# sourceMappingURL=sc-npm-latest-cache.util.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sc-npm-latest-cache.util.spec.js","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* REQ-SYS-UPDATE-SSOT-001 — `ccap update` subprocess spawn eredmény.
|
|
3
|
+
* A spawn ELŐTT és UTÁN megfogja a state-et (success / error). A subprocess
|
|
4
|
+
* önmaga aszinkron — a server csak elindította, az eredményről nem kap
|
|
5
|
+
* direkt visszajelzést (a kliens a `/health/pid` polling-gal detektálja
|
|
6
|
+
* a server visszajövetelét).
|
|
7
|
+
*/
|
|
8
|
+
export interface SC_SpawnCcapUpdateResult_Interface {
|
|
9
|
+
/** True ha a subprocess fork-olása sikerült (a folyamat fut). */
|
|
10
|
+
spawned: boolean;
|
|
11
|
+
/** Subprocess PID-je, ha spawned=true. */
|
|
12
|
+
pid?: number;
|
|
13
|
+
/** A log fájl path-ja, ahova a subprocess stdout/stderr-je ír. */
|
|
14
|
+
logFilePath?: string;
|
|
15
|
+
/** Hibaüzenet, ha spawned=false. */
|
|
16
|
+
error?: string;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=sc-spawn-ccap-update-result.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sc-spawn-ccap-update-result.interface.d.ts","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,kCAAkC;IACjD,iEAAiE;IACjE,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sc-spawn-ccap-update-result.interface.js","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ChildProcess } from 'child_process';
|
|
2
|
+
import { SC_SpawnCcapUpdateResult_Interface } from './sc-spawn-ccap-update-result.interface';
|
|
3
|
+
/**
|
|
4
|
+
* `ccap update` subprocess spawn util.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SC_SpawnCcapUpdate_Util {
|
|
7
|
+
/**
|
|
8
|
+
* Detached `ccap update` subprocess spawn-ja. A server-process bukásával
|
|
9
|
+
* (a `ccap update` stop-ja a server-PID-fájlból olvas és SIGTERM-et küld)
|
|
10
|
+
* a subprocess túléli az `unref()` + `detached: true` miatt.
|
|
11
|
+
*
|
|
12
|
+
* stdout/stderr egy log fájlba redirektálva (`~/.ccap/last-update.log`),
|
|
13
|
+
* hogy a subprocess kimenete diagnosztizálható maradjon a server újraindulása
|
|
14
|
+
* után.
|
|
15
|
+
*
|
|
16
|
+
* Hibát NEM dob — minden ág defenzív, a return objektum jelzi az állapotot.
|
|
17
|
+
*/
|
|
18
|
+
static spawnCcapUpdate(issuer: string): SC_SpawnCcapUpdateResult_Interface;
|
|
19
|
+
/**
|
|
20
|
+
* `ccap` binary név platform szerint. Linux/macOS: `ccap` (PATH-en symlink).
|
|
21
|
+
* Windows-on a `shell: true`-val a `ccap` is feloldódik a `ccap.cmd`-re,
|
|
22
|
+
* de explicit-ben sem ártalmas.
|
|
23
|
+
*/
|
|
24
|
+
static resolveCcapBinaryName(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Tesztelhetőségi seam: a tényleges `child_process.spawn` hívás külön static
|
|
27
|
+
* metódusban, hogy a spec `spyOn(SC_SpawnCcapUpdate_Util, 'doSpawn')`-nal
|
|
28
|
+
* stubolhassa (Node 24+ az importált `spawn`-t nem engedi spyOn-olni).
|
|
29
|
+
*/
|
|
30
|
+
static doSpawn(binary: string, args: string[], logFd: number): ChildProcess;
|
|
31
|
+
/**
|
|
32
|
+
* A subprocess log fájl path-ja (a `ccap update` kimenete oda kerül).
|
|
33
|
+
* Diagnosztikához bárhol használható.
|
|
34
|
+
*/
|
|
35
|
+
static getLastUpdateLogPath(): string;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=sc-spawn-ccap-update.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sc-spawn-ccap-update.util.d.ts","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAS,MAAM,eAAe,CAAC;AAMpD,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAgC7F;;GAEG;AACH,qBAAa,uBAAuB;IAElC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,kCAAkC;IA+D1E;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM;IAItC;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY;IAQ3E;;;OAGG;IACH,MAAM,CAAC,oBAAoB,IAAI,MAAM;CAGtC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SC_SpawnCcapUpdate_Util = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
6
|
+
const fs = tslib_1.__importStar(require("fs"));
|
|
7
|
+
const path = tslib_1.__importStar(require("path"));
|
|
8
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
9
|
+
/**
|
|
10
|
+
* REQ-SYS-UPDATE-SSOT-001 — a server-oldali update-trigger pontok
|
|
11
|
+
* (`POST /server/health/trigger-update` user-trigger + `SC_ServerAutoUpdate`
|
|
12
|
+
* időzített check) NEM hívják közvetlenül a `SLF_Self_Util.performGlobalUpdate`-et,
|
|
13
|
+
* hanem **`ccap update` subprocess-t indítanak**. A `ccap update` az SSOT a
|
|
14
|
+
* frissítési flow-ra: stop → pre-install staging cleanup → `npm install -g
|
|
15
|
+
* @futdevpro/ccap@latest` (heartbeat) → post-install verify → start.
|
|
16
|
+
*
|
|
17
|
+
* Indok: két párhuzamos implementáció (server-oldali `performGlobalUpdate` +
|
|
18
|
+
* `scheduleRestart` és CLI `c_ccapUpdate`) drift-elt; a user explicit kérése
|
|
19
|
+
* volt az SSOT-építés.
|
|
20
|
+
*
|
|
21
|
+
* Subprocess detached + log fájlba (`~/.ccap/last-update.log`) redirektálva,
|
|
22
|
+
* hogy a server bukása után is folytatódjon az install + restart, és az
|
|
23
|
+
* eredmény a log fájlban diagnosztizálható maradjon.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Path-helperek lazy resolve-szel (per-hívás) — env-változás tesztelhető
|
|
27
|
+
* `process.env.HOME` override-dal anélkül, hogy require-cache-purge kelljen.
|
|
28
|
+
*/
|
|
29
|
+
function computeCcapDir() {
|
|
30
|
+
const home = process.env.HOME ?? process.env.USERPROFILE ?? '.';
|
|
31
|
+
return path.join(home, '.ccap');
|
|
32
|
+
}
|
|
33
|
+
function computeLastUpdateLogPath() {
|
|
34
|
+
return path.join(computeCcapDir(), 'last-update.log');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* `ccap update` subprocess spawn util.
|
|
38
|
+
*/
|
|
39
|
+
class SC_SpawnCcapUpdate_Util {
|
|
40
|
+
/**
|
|
41
|
+
* Detached `ccap update` subprocess spawn-ja. A server-process bukásával
|
|
42
|
+
* (a `ccap update` stop-ja a server-PID-fájlból olvas és SIGTERM-et küld)
|
|
43
|
+
* a subprocess túléli az `unref()` + `detached: true` miatt.
|
|
44
|
+
*
|
|
45
|
+
* stdout/stderr egy log fájlba redirektálva (`~/.ccap/last-update.log`),
|
|
46
|
+
* hogy a subprocess kimenete diagnosztizálható maradjon a server újraindulása
|
|
47
|
+
* után.
|
|
48
|
+
*
|
|
49
|
+
* Hibát NEM dob — minden ág defenzív, a return objektum jelzi az állapotot.
|
|
50
|
+
*/
|
|
51
|
+
static spawnCcapUpdate(issuer) {
|
|
52
|
+
try {
|
|
53
|
+
// 1. Biztosítjuk a ~/.ccap dir létezését (log fájlhoz)
|
|
54
|
+
if (!fs.existsSync(computeCcapDir())) {
|
|
55
|
+
fs.mkdirSync(computeCcapDir(), { recursive: true });
|
|
56
|
+
}
|
|
57
|
+
// 2. Log fájl megnyitása write módban (overwrite előző tartalom)
|
|
58
|
+
const logHeader = `\n${'='.repeat(80)}\n`
|
|
59
|
+
+ `[${new Date().toISOString()}] ccap update spawn (issuer: ${issuer})\n`
|
|
60
|
+
+ `${'='.repeat(80)}\n`;
|
|
61
|
+
fs.writeFileSync(computeLastUpdateLogPath(), logHeader, 'utf-8');
|
|
62
|
+
const logFd = fs.openSync(computeLastUpdateLogPath(), 'a');
|
|
63
|
+
// 3. Spawn `ccap update` detached a `doSpawn` seam-en keresztül
|
|
64
|
+
// - shell: true Windows-on a `.cmd` shim feloldásához
|
|
65
|
+
// - stdio: [ignore, logFd, logFd] — stdout/stderr a log fájlba
|
|
66
|
+
// - detached: true + unref() — a subprocess túléli a parent-et
|
|
67
|
+
let child;
|
|
68
|
+
try {
|
|
69
|
+
child = SC_SpawnCcapUpdate_Util.doSpawn(SC_SpawnCcapUpdate_Util.resolveCcapBinaryName(), ['update'], logFd);
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
// Node `spawn` duplikálja az fd-t a child-nek. A parent saját másolata
|
|
73
|
+
// bezárható (sőt KELL — különben a fd a server process élettartamáig
|
|
74
|
+
// foglalva marad). A subprocess a saját dup-jával ír tovább.
|
|
75
|
+
try {
|
|
76
|
+
fs.closeSync(logFd);
|
|
77
|
+
}
|
|
78
|
+
catch { /* best-effort */ }
|
|
79
|
+
}
|
|
80
|
+
if (!child.pid) {
|
|
81
|
+
fsm_dynamo_1.DyFM_Log.warn(`${issuer} | ccap update spawn no PID (child exited immediately?)`);
|
|
82
|
+
return {
|
|
83
|
+
spawned: false,
|
|
84
|
+
error: 'ccap update subprocess no PID',
|
|
85
|
+
logFilePath: computeLastUpdateLogPath(),
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
child.unref();
|
|
89
|
+
fsm_dynamo_1.DyFM_Log.info(`${issuer} | ccap update subprocess spawned (PID: ${child.pid}, log: ${computeLastUpdateLogPath()})`);
|
|
90
|
+
return {
|
|
91
|
+
spawned: true,
|
|
92
|
+
pid: child.pid,
|
|
93
|
+
logFilePath: computeLastUpdateLogPath(),
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
98
|
+
fsm_dynamo_1.DyFM_Log.warn(`${issuer} | ccap update spawn failed: ${msg}`);
|
|
99
|
+
return {
|
|
100
|
+
spawned: false,
|
|
101
|
+
error: msg,
|
|
102
|
+
logFilePath: computeLastUpdateLogPath(),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* `ccap` binary név platform szerint. Linux/macOS: `ccap` (PATH-en symlink).
|
|
108
|
+
* Windows-on a `shell: true`-val a `ccap` is feloldódik a `ccap.cmd`-re,
|
|
109
|
+
* de explicit-ben sem ártalmas.
|
|
110
|
+
*/
|
|
111
|
+
static resolveCcapBinaryName() {
|
|
112
|
+
return 'ccap';
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Tesztelhetőségi seam: a tényleges `child_process.spawn` hívás külön static
|
|
116
|
+
* metódusban, hogy a spec `spyOn(SC_SpawnCcapUpdate_Util, 'doSpawn')`-nal
|
|
117
|
+
* stubolhassa (Node 24+ az importált `spawn`-t nem engedi spyOn-olni).
|
|
118
|
+
*/
|
|
119
|
+
static doSpawn(binary, args, logFd) {
|
|
120
|
+
return (0, child_process_1.spawn)(binary, args, {
|
|
121
|
+
detached: true,
|
|
122
|
+
stdio: ['ignore', logFd, logFd],
|
|
123
|
+
shell: process.platform === 'win32',
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* A subprocess log fájl path-ja (a `ccap update` kimenete oda kerül).
|
|
128
|
+
* Diagnosztikához bárhol használható.
|
|
129
|
+
*/
|
|
130
|
+
static getLastUpdateLogPath() {
|
|
131
|
+
return computeLastUpdateLogPath();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
exports.SC_SpawnCcapUpdate_Util = SC_SpawnCcapUpdate_Util;
|
|
135
|
+
//# sourceMappingURL=sc-spawn-ccap-update.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sc-spawn-ccap-update.util.js","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* REQ-SYS-UPDATE-SSOT-001 — `SC_SpawnCcapUpdate_Util.spawnCcapUpdate`
|
|
3
|
+
* unit-tesztek. A `doSpawn` static seam-et spyOn-nal stub-oljuk; nem indítunk
|
|
4
|
+
* valódi process-t. Temp-HOME-ra állítjuk át a log fájl path-ot — a util
|
|
5
|
+
* lazy `computeLastUpdateLogPath`-szel resolve-ol, így env-override elegendő.
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=sc-spawn-ccap-update.util.spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sc-spawn-ccap-update.util.spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* REQ-SYS-UPDATE-SSOT-001 — `SC_SpawnCcapUpdate_Util.spawnCcapUpdate`
|
|
4
|
+
* unit-tesztek. A `doSpawn` static seam-et spyOn-nal stub-oljuk; nem indítunk
|
|
5
|
+
* valódi process-t. Temp-HOME-ra állítjuk át a log fájl path-ot — a util
|
|
6
|
+
* lazy `computeLastUpdateLogPath`-szel resolve-ol, így env-override elegendő.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const tslib_1 = require("tslib");
|
|
10
|
+
const events_1 = require("events");
|
|
11
|
+
const fs = tslib_1.__importStar(require("fs"));
|
|
12
|
+
const os = tslib_1.__importStar(require("os"));
|
|
13
|
+
const path = tslib_1.__importStar(require("path"));
|
|
14
|
+
const sc_spawn_ccap_update_util_1 = require("./sc-spawn-ccap-update.util");
|
|
15
|
+
function buildFakeChild(pid) {
|
|
16
|
+
const fake = new events_1.EventEmitter();
|
|
17
|
+
fake.pid = pid;
|
|
18
|
+
fake.unref = () => { };
|
|
19
|
+
return fake;
|
|
20
|
+
}
|
|
21
|
+
describe('SC_SpawnCcapUpdate_Util.spawnCcapUpdate', () => {
|
|
22
|
+
let tempHome;
|
|
23
|
+
let originalHome;
|
|
24
|
+
let originalUserProfile;
|
|
25
|
+
beforeEach(() => {
|
|
26
|
+
tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'sc-spawn-ccap-update-spec-'));
|
|
27
|
+
originalHome = process.env.HOME;
|
|
28
|
+
originalUserProfile = process.env.USERPROFILE;
|
|
29
|
+
process.env.HOME = tempHome;
|
|
30
|
+
process.env.USERPROFILE = tempHome;
|
|
31
|
+
});
|
|
32
|
+
afterEach(() => {
|
|
33
|
+
if (fs.existsSync(tempHome)) {
|
|
34
|
+
fs.rmSync(tempHome, { recursive: true, force: true });
|
|
35
|
+
}
|
|
36
|
+
if (originalHome === undefined) {
|
|
37
|
+
delete process.env.HOME;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
process.env.HOME = originalHome;
|
|
41
|
+
}
|
|
42
|
+
if (originalUserProfile === undefined) {
|
|
43
|
+
delete process.env.USERPROFILE;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
process.env.USERPROFILE = originalUserProfile;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
it('| spawn success → spawned=true, pid + logFilePath visszatér', () => {
|
|
50
|
+
const fake = buildFakeChild(12345);
|
|
51
|
+
spyOn(sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util, 'doSpawn').and.returnValue(fake);
|
|
52
|
+
const result = sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util.spawnCcapUpdate('test-issuer');
|
|
53
|
+
expect(result.spawned).toBeTrue();
|
|
54
|
+
expect(result.pid).toBe(12345);
|
|
55
|
+
expect(result.logFilePath).toBeDefined();
|
|
56
|
+
expect(result.logFilePath?.startsWith(tempHome)).toBeTrue();
|
|
57
|
+
// Log fájlnak léteznie kell — a header már bele lett írva
|
|
58
|
+
expect(fs.existsSync(result.logFilePath)).toBeTrue();
|
|
59
|
+
});
|
|
60
|
+
it('| spawn args: `ccap update` parancs, detached + log-fd redirect', () => {
|
|
61
|
+
const fake = buildFakeChild(99);
|
|
62
|
+
const doSpawnSpy = spyOn(sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util, 'doSpawn').and.returnValue(fake);
|
|
63
|
+
sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util.spawnCcapUpdate('test-issuer');
|
|
64
|
+
expect(doSpawnSpy).toHaveBeenCalled();
|
|
65
|
+
const args = doSpawnSpy.calls.mostRecent().args;
|
|
66
|
+
expect(args[0]).toBe('ccap');
|
|
67
|
+
expect(args[1]).toEqual(['update']);
|
|
68
|
+
expect(typeof args[2]).toBe('number'); // logFd
|
|
69
|
+
});
|
|
70
|
+
it('| doSpawn dob (pl. ENOENT) → spawned=false + error message', () => {
|
|
71
|
+
spyOn(sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util, 'doSpawn').and.throwError('spawn ccap ENOENT');
|
|
72
|
+
const result = sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util.spawnCcapUpdate('test-issuer');
|
|
73
|
+
expect(result.spawned).toBeFalse();
|
|
74
|
+
expect(result.error).toContain('ENOENT');
|
|
75
|
+
});
|
|
76
|
+
it('| spawn no PID (immediate exit) → spawned=false', () => {
|
|
77
|
+
const fake = buildFakeChild(undefined);
|
|
78
|
+
spyOn(sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util, 'doSpawn').and.returnValue(fake);
|
|
79
|
+
const result = sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util.spawnCcapUpdate('test-issuer');
|
|
80
|
+
expect(result.spawned).toBeFalse();
|
|
81
|
+
expect(result.error).toContain('no PID');
|
|
82
|
+
});
|
|
83
|
+
it('| log fájl header tartalmazza az issuer-t és ISO timestamp-et', () => {
|
|
84
|
+
const fake = buildFakeChild(777);
|
|
85
|
+
spyOn(sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util, 'doSpawn').and.returnValue(fake);
|
|
86
|
+
sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util.spawnCcapUpdate('test-issuer-XYZ');
|
|
87
|
+
const logPath = sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util.getLastUpdateLogPath();
|
|
88
|
+
const content = fs.readFileSync(logPath, 'utf-8');
|
|
89
|
+
expect(content).toContain('test-issuer-XYZ');
|
|
90
|
+
expect(content).toMatch(/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/);
|
|
91
|
+
});
|
|
92
|
+
it('| `~/.ccap/` auto-mkdir ha nem létezik', () => {
|
|
93
|
+
// Friss tempHome, nincs .ccap dir
|
|
94
|
+
const ccapDir = path.join(tempHome, '.ccap');
|
|
95
|
+
expect(fs.existsSync(ccapDir)).toBeFalse();
|
|
96
|
+
const fake = buildFakeChild(101);
|
|
97
|
+
spyOn(sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util, 'doSpawn').and.returnValue(fake);
|
|
98
|
+
sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util.spawnCcapUpdate('test-issuer');
|
|
99
|
+
expect(fs.existsSync(ccapDir)).toBeTrue();
|
|
100
|
+
});
|
|
101
|
+
it('| `getLastUpdateLogPath` HOME-alatti `~/.ccap/last-update.log`-ot ad', () => {
|
|
102
|
+
expect(sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util.getLastUpdateLogPath())
|
|
103
|
+
.toBe(path.join(tempHome, '.ccap', 'last-update.log'));
|
|
104
|
+
});
|
|
105
|
+
it('| `resolveCcapBinaryName` → "ccap"', () => {
|
|
106
|
+
expect(sc_spawn_ccap_update_util_1.SC_SpawnCcapUpdate_Util.resolveCcapBinaryName()).toBe('ccap');
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=sc-spawn-ccap-update.util.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sc-spawn-ccap-update.util.spec.js","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,mCAAsC;AACtC,+CAAyB;AACzB,+CAAyB;AACzB,mDAA6B;AAE7B,2EAAsE;AAUtE,SAAS,cAAc,CAAC,GAAuB;IAC7C,MAAM,IAAI,GAAqB,IAAI,qBAAY,EAAsB,CAAC;IACtE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACf,IAAI,CAAC,KAAK,GAAG,GAAS,EAAE,GAAwB,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,QAAQ,CAAC,yCAAyC,EAAE,GAAS,EAAE;IAE7D,IAAI,QAAgB,CAAC;IACrB,IAAI,YAAgC,CAAC;IACrC,IAAI,mBAAuC,CAAC;IAE5C,UAAU,CAAC,GAAS,EAAE;QACpB,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;QAChF,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAChC,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAS,EAAE;QACnB,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;QAClC,CAAC;QACD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,mBAAmB,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAS,EAAE;QAC3E,MAAM,IAAI,GAAqB,cAAc,CAAC,KAAK,CAAC,CAAC;QACrD,KAAK,CAAC,mDAAuB,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAA+B,CAAC,CAAC;QAE3F,MAAM,MAAM,GAAG,mDAAuB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAEtE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5D,0DAA0D;QAC1D,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,WAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAS,EAAE;QAC/E,MAAM,IAAI,GAAqB,cAAc,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,UAAU,GAAgB,KAAK,CAAC,mDAAuB,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,WAAW,CACvF,IAA+B,CAChC,CAAC;QAEF,mDAAuB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAEvD,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACtC,MAAM,IAAI,GAAc,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAiB,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAS,EAAE;QAC1E,KAAK,CAAC,mDAAuB,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,mDAAuB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAEtE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAS,EAAE;QAC/D,MAAM,IAAI,GAAqB,cAAc,CAAC,SAAS,CAAC,CAAC;QACzD,KAAK,CAAC,mDAAuB,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAA+B,CAAC,CAAC;QAE3F,MAAM,MAAM,GAAG,mDAAuB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAEtE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAS,EAAE;QAC7E,MAAM,IAAI,GAAqB,cAAc,CAAC,GAAG,CAAC,CAAC;QACnD,KAAK,CAAC,mDAAuB,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAA+B,CAAC,CAAC;QAE3F,mDAAuB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAE3D,MAAM,OAAO,GAAW,mDAAuB,CAAC,oBAAoB,EAAE,CAAC;QACvE,MAAM,OAAO,GAAW,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAS,EAAE;QACtD,kCAAkC;QAClC,MAAM,OAAO,GAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAE3C,MAAM,IAAI,GAAqB,cAAc,CAAC,GAAG,CAAC,CAAC;QACnD,KAAK,CAAC,mDAAuB,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAA+B,CAAC,CAAC;QAE3F,mDAAuB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAEvD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAS,EAAE;QACpF,MAAM,CAAC,mDAAuB,CAAC,oBAAoB,EAAE,CAAC;aACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,CAAC,mDAAuB,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -8,6 +8,12 @@ export declare class SC_UpdateErrorBufferReplay_Util {
|
|
|
8
8
|
* Buffer fájl path-ja (egyezik a CLI util `getBufferPath`-jával).
|
|
9
9
|
*/
|
|
10
10
|
static getBufferPath(): string;
|
|
11
|
+
/**
|
|
12
|
+
* Bootstrap-helper: fire-and-forget replay catch-wrap-pel, hogy az
|
|
13
|
+
* app.server.ts egyetlen sor-os hívással intézhesse. Best-effort —
|
|
14
|
+
* a bootstrap-ot SOHA nem akadályozza.
|
|
15
|
+
*/
|
|
16
|
+
static bootstrap(): void;
|
|
11
17
|
/**
|
|
12
18
|
* Tesztelhetőségi seam: a `ErrorHandling_DataService` instantiate-jét
|
|
13
19
|
* static metódusban tartjuk, hogy a spec spyOn-nal stubolhassa (a base
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sc-update-error-buffer-replay.util.d.ts","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sFAAsF,CAAC;AAEjI,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AAsCpG;;GAEG;AACH,qBAAa,+BAA+B;IAE1C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,MAAM;IAI9B;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB;IAIvE;;;;;;OAMG;WACU,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAiI9E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;CAW3B"}
|
|
1
|
+
{"version":3,"file":"sc-update-error-buffer-replay.util.d.ts","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sFAAsF,CAAC;AAEjI,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AAsCpG;;GAEG;AACH,qBAAa,+BAA+B;IAE1C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,MAAM;IAI9B;;;;OAIG;IACH,MAAM,CAAC,SAAS,IAAI,IAAI;IAUxB;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB;IAIvE;;;;;;OAMG;WACU,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAiI9E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;CAW3B"}
|
|
@@ -40,6 +40,18 @@ class SC_UpdateErrorBufferReplay_Util {
|
|
|
40
40
|
static getBufferPath() {
|
|
41
41
|
return computeBufferFilePath();
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Bootstrap-helper: fire-and-forget replay catch-wrap-pel, hogy az
|
|
45
|
+
* app.server.ts egyetlen sor-os hívással intézhesse. Best-effort —
|
|
46
|
+
* a bootstrap-ot SOHA nem akadályozza.
|
|
47
|
+
*/
|
|
48
|
+
static bootstrap() {
|
|
49
|
+
void SC_UpdateErrorBufferReplay_Util.replay('bootstrap-update-error-replay')
|
|
50
|
+
.catch((err) => {
|
|
51
|
+
fsm_dynamo_1.DyFM_Log.warn('SC_UpdateErrorBufferReplay | bootstrap replay failed (non-blocking): '
|
|
52
|
+
+ (err instanceof Error ? err.message : String(err)));
|
|
53
|
+
});
|
|
54
|
+
}
|
|
43
55
|
/**
|
|
44
56
|
* Tesztelhetőségi seam: a `ErrorHandling_DataService` instantiate-jét
|
|
45
57
|
* static metódusban tartjuk, hogy a spec spyOn-nal stubolhassa (a base
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sc-update-error-buffer-replay.util.js","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sc-update-error-buffer-replay.util.js","sourceRoot":"","sources":["../../../../../../../src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,mDAA6B;AAE7B,sDAAiD;AAEjD,sIAAiI;AACjI,gIAAkH;AAGlH;;;;;;;;;;;;;GAaG;AAEH;;;;GAIG;AACH,SAAS,qBAAqB;IAC5B,MAAM,IAAI,GAAW,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;IACxE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;AACzD,CAAC;AAaD;;GAEG;AACH,MAAa,+BAA+B;IAE1C;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,OAAO,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS;QACd,KAAK,+BAA+B,CAAC,MAAM,CAAC,+BAA+B,CAAC;aACzE,KAAK,CAAC,CAAC,GAAY,EAAQ,EAAE;YAC5B,qBAAQ,CAAC,IAAI,CACX,uEAAuE;kBACrE,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CACrD,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,MAAc;QACzC,OAAO,IAAI,uDAAyB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAc;QAChC,MAAM,cAAc,GAAW,qBAAqB,EAAE,CAAC;QACvD,MAAM,MAAM,GAAqC;YAC/C,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,CAAC;YACT,gBAAgB,EAAE,CAAC;YACnB,SAAS,EAAE,KAAK;YAChB,cAAc,EAAE,cAAc;SAC/B,CAAC;QAEF,0CAA0C;QAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,wEAAwE;QACxE,wDAAwD;QACxD,IAAI,GAAG,GAAW,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,qBAAQ,CAAC,IAAI,CACX,kEAAkE;kBAChE,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CACrD,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,2CAA2C;YAC3C,+BAA+B,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YACpE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,uEAAuE;QACvE,sEAAsE;QACtE,0EAA0E;QAC1E,gBAAgB;QAChB,IAAI,EAA6B,CAAC;QAClC,IAAI,CAAC;YACH,EAAE,GAAG,+BAA+B,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,qBAAQ,CAAC,IAAI,CACX,qEAAqE;kBACnE,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI;kBAC9E,kEAAkE,CACrE,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,iCAAiC;QACjC,MAAM,KAAK,GAAa,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAW,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YACD,IAAI,MAAmB,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;gBAC7B,qBAAQ,CAAC,IAAI,CACX,6EAA6E;sBAC3E,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAC3B,CAAC;gBACF,SAAS;YACX,CAAC;YAED,mFAAmF;YACnF,MAAM,SAAS,GAAW,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC;YAC9G,MAAM,OAAO,GAAW,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC,CAAC;YACjH,MAAM,MAAM,GAAW,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;YACxF,MAAM,UAAU,GAA4B,CAAC,MAAM,CAAC,iBAAiB,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC;gBACpH,CAAC,CAAC,MAAM,CAAC,iBAAiB;gBAC1B,CAAC,CAAC,EAAE,CAAC;YAEP,2EAA2E;YAC3E,2EAA2E;YAC3E,sEAAsE;YACtE,MAAM,kBAAkB,GAA4B;gBAClD,GAAG,UAAU;gBACb,SAAS,EAAE,SAAS;gBACpB,eAAe,EAAE,MAAM,CAAC,SAAS;gBACjC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAe,IAAI,kCAAU,CAAC;oBACxC,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;oBACd,MAAM,EAAE,MAAM;oBACd,iBAAiB,EAAE,kBAAkB;iBACtC,CAAC,CAAC;gBACH,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACrC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,UAAmB,EAAE,CAAC;gBAC7B,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;gBACnB,qBAAQ,CAAC,IAAI,CACX,oDAAoD,SAAS,KAAK;sBAChE,CAAC,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAC1E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,wEAAwE;QACxE,sEAAsE;QACtE,oBAAoB;QACpB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,+BAA+B,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,qBAAQ,CAAC,IAAI,CACX,gCAAgC,MAAM,CAAC,MAAM,uDAAuD;kBAClG,mCAAmC,CACtC,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YAC5E,qBAAQ,CAAC,IAAI,CACX,iDAAiD,MAAM,CAAC,QAAQ,IAAI;kBAClE,WAAW,MAAM,CAAC,MAAM,uBAAuB,MAAM,CAAC,gBAAgB,IAAI;kBAC1E,cAAc,MAAM,CAAC,SAAS,EAAE,CACnC,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,WAAW,CAAC,cAAsB,EAAE,MAAwC;QACzF,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,qBAAQ,CAAC,IAAI,CACX,mEAAmE;kBACjE,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CACrD,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAxLD,0EAwLC"}
|
|
@@ -49,31 +49,27 @@ export declare class SC_ServerStatus_ControlService extends DyNTS_ServerStatus_C
|
|
|
49
49
|
/**
|
|
50
50
|
* POST `/server/health/trigger-update` — user-triggered npm-global frissítés
|
|
51
51
|
* indítása a UI Update Banner / Settings „Frissítés most" gombból
|
|
52
|
-
* (REQ-SYS-UPDATE-TRIGGER-001
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
52
|
+
* (REQ-SYS-UPDATE-TRIGGER-001 + REQ-SYS-UPDATE-SSOT-001).
|
|
53
|
+
*
|
|
54
|
+
* SSOT: a server NEM hívja közvetlenül a `SLF_Self_Util.performGlobalUpdate`-et,
|
|
55
|
+
* hanem detached **`ccap update` subprocess-t** indít. A `ccap update` az
|
|
56
|
+
* egyetlen forrás a frissítési flow-ra: stop → pre-install staging cleanup →
|
|
57
|
+
* `npm install -g @futdevpro/ccap@latest` → post-install verify → start.
|
|
58
|
+
* Ezzel kerüljük el a server-oldali + CLI-oldali implementáció drift-jét.
|
|
56
59
|
*
|
|
57
60
|
* Guard:
|
|
58
61
|
* - `installationType !== npmGlobal` → 400 (local-dev install nem támogatott:
|
|
59
62
|
* a dev a `pnpm start`-ot használja, nem npm-global update-et)
|
|
60
63
|
* - `force !== true` és nincs elérhető update (`!isUpdateAvailable`) → 200
|
|
61
|
-
* `{ status: 'already-latest', currentVersion, latestVersion }` (
|
|
64
|
+
* `{ status: 'already-latest', currentVersion, latestVersion }` (gyors
|
|
65
|
+
* early-return — a `ccap update` skip-if-latest guard-ja amúgy is itt
|
|
66
|
+
* áll meg, csak így megspóroljuk a subprocess spawn-t)
|
|
62
67
|
*
|
|
63
|
-
* Response
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* server visszajöveteléig. (A install + verify ~30-60s, a végén a
|
|
67
|
-
* `scheduleRestart` kill-eli a process-t.)
|
|
68
|
+
* Response: 202 Accepted MIELŐTT a subprocess spawn-olódna. A kliens tudja
|
|
69
|
+
* hogy „elindult", a `ccap update` aszinkron fut (stop → install → start),
|
|
70
|
+
* a kliens a `/health/pid` polling-gal detektálja a server visszajövetelét.
|
|
68
71
|
*/
|
|
69
72
|
handleTriggerUpdate(req: Request, res: Response, issuer: string): Promise<void>;
|
|
70
|
-
/**
|
|
71
|
-
* Aszinkron update + restart — a `handleTriggerUpdate` 202 response flush UTÁN
|
|
72
|
-
* hívódik `setImmediate`-ből. Mirror-a az `SC_ServerAutoUpdate_Util.performCheck`
|
|
73
|
-
* install + restart fázisának (csak version-check guard nélkül, azt már a
|
|
74
|
-
* controller elvégezte).
|
|
75
|
-
*/
|
|
76
|
-
private static runUpdateAndRestartAsync;
|
|
77
73
|
/**
|
|
78
74
|
* GET `/server/live-dev-pipeline-status` — Live Development Pipeline meta
|
|
79
75
|
* (`server/logs/live-dev-pipeline/status.json`); query `previous=true` → `status-previous.json`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sc-server-status.control-service.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/setup-config/_services/control-services/sc-server-status.control-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAkD,MAAM,uBAAuB,CAAC;AAChH,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"sc-server-status.control-service.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/setup-config/_services/control-services/sc-server-status.control-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAkD,MAAM,uBAAuB,CAAC;AAChH,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AAyBjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mFAAmF,CAAC;AAI9H,OAAO,EAAE,iBAAiB,EAAE,MAAM,qEAAqE,CAAC;AAExG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAMhG;;;GAGG;AACH,qBAAa,8BAA+B,SAAQ,iCAAiC,CACnF,iBAAiB,EACjB,UAAU,EACV,WAAW,CAAC,UAAU,CAAC,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,mCAAmC,CACpC;IAEC,MAAM,CAAC,WAAW,IAAI,8BAA8B;cAIjC,sBAAsB,CACvC,GAAG,EAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GACtD,yBAAyB;cAIT,qCAAqC,CACtD,GAAG,EAAE;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAChD,mCAAmC;IAItC,SAAS,CAAC,QAAQ,CAAC,yBAAyB,UAAM;IAElD;;;;;;;;;OASG;IACG,wBAAwB,CAC5B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;;;;;;;;;OAcG;IACG,gCAAgC,CACpC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAkEhB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,mBAAmB,CACvB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAuEhB;;;OAGG;IACG,8BAA8B,CAClC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;OAKG;mBACkB,qBAAqB;IAiB1C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mCAAmC;IAkBlD;;;OAGG;IACY,eAAe,CAC5B,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,CAAC;IAyJ7B;;OAEG;IACY,uBAAuB,CACpC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC;CAqB9B"}
|