@futdevpro/ccap 1.1.3549 → 1.1.3557
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/cli/build/_collections/npm-global/npm-global-paths.interface.d.ts +28 -0
- package/cli/build/_collections/npm-global/npm-global-paths.interface.d.ts.map +1 -0
- package/cli/build/_collections/npm-global/npm-global-paths.interface.js +3 -0
- package/cli/build/_collections/npm-global/npm-global-paths.interface.js.map +1 -0
- package/cli/build/_collections/npm-global/npm-global-paths.util.d.ts +30 -0
- package/cli/build/_collections/npm-global/npm-global-paths.util.d.ts.map +1 -0
- package/cli/build/_collections/npm-global/npm-global-paths.util.js +124 -0
- package/cli/build/_collections/npm-global/npm-global-paths.util.js.map +1 -0
- package/cli/build/_collections/npm-global/npm-global-paths.util.spec.d.ts +8 -0
- package/cli/build/_collections/npm-global/npm-global-paths.util.spec.d.ts.map +1 -0
- package/cli/build/_collections/npm-global/npm-global-paths.util.spec.js +107 -0
- package/cli/build/_collections/npm-global/npm-global-paths.util.spec.js.map +1 -0
- package/cli/build/_collections/staging/staging-cleanup.util.d.ts +5 -2
- package/cli/build/_collections/staging/staging-cleanup.util.d.ts.map +1 -1
- package/cli/build/_collections/staging/staging-cleanup.util.js +10 -18
- package/cli/build/_collections/staging/staging-cleanup.util.js.map +1 -1
- package/cli/build/_collections/update/update-verify-install.util.d.ts +13 -17
- package/cli/build/_collections/update/update-verify-install.util.d.ts.map +1 -1
- package/cli/build/_collections/update/update-verify-install.util.js +55 -83
- package/cli/build/_collections/update/update-verify-install.util.js.map +1 -1
- package/cli/build/_collections/update/update-verify-install.util.spec.d.ts +3 -0
- package/cli/build/_collections/update/update-verify-install.util.spec.d.ts.map +1 -1
- package/cli/build/_collections/update/update-verify-install.util.spec.js +82 -22
- package/cli/build/_collections/update/update-verify-install.util.spec.js.map +1 -1
- package/cli/build/_collections/update/update-version-check.util.d.ts +6 -4
- package/cli/build/_collections/update/update-version-check.util.d.ts.map +1 -1
- package/cli/build/_collections/update/update-version-check.util.js +10 -20
- package/cli/build/_collections/update/update-version-check.util.js.map +1 -1
- package/client-dist/{agent-instances.module-DWR2F2SX.js → agent-instances.module-NDNG4HC6.js} +2 -2
- package/client-dist/{ca.module-SHO3XHJY.js → ca.module-Y5FJIVDH.js} +2 -2
- package/client-dist/{cc-usage-dashboard.component-K6ZYT3E5.js → cc-usage-dashboard.component-DAJMNYQD.js} +2 -2
- package/client-dist/{cc.module-MXID2Q2C.js → cc.module-IHZXPJ3G.js} +2 -2
- package/client-dist/{chunk-2AWEOJRY.js → chunk-2EGN5OIA.js} +2 -2
- package/client-dist/{chunk-VCNC5IA2.js → chunk-2P5XNKSU.js} +2 -2
- package/client-dist/{chunk-56PZOPA6.js → chunk-2XSAWMFD.js} +2 -2
- package/client-dist/{chunk-FRQKNRI2.js → chunk-3EQBM3NI.js} +2 -2
- package/client-dist/chunk-3KUKN53F.js +73 -0
- package/client-dist/chunk-3KUKN53F.js.map +1 -0
- package/client-dist/{chunk-AYMRJ7AZ.js → chunk-3NI6EUGP.js} +2 -2
- package/client-dist/{chunk-DJS45ECM.js → chunk-5F77NGYL.js} +2 -2
- package/client-dist/{chunk-C3CWZ3ET.js → chunk-5UV722GH.js} +2 -2
- package/client-dist/{chunk-UOGFFZKL.js → chunk-65R5RLWC.js} +2 -2
- package/client-dist/{chunk-ZCG3AKDF.js → chunk-73EAXEDI.js} +2 -2
- package/client-dist/{chunk-GQDZYTG3.js → chunk-7XUJIV75.js} +2 -2
- package/client-dist/{chunk-E472WLLR.js → chunk-ALKI4J2W.js} +2 -2
- package/client-dist/{chunk-QHWX453Q.js → chunk-C7746ZDD.js} +2 -2
- package/client-dist/{chunk-BG3WIGFL.js → chunk-CEXJQIOB.js} +2 -2
- package/client-dist/{chunk-NDIG65MB.js → chunk-CVIA6GIV.js} +2 -2
- package/client-dist/{chunk-AXJ7Z7SO.js → chunk-CVSG4HQU.js} +2 -2
- package/client-dist/{chunk-HEG437UD.js → chunk-D4C3OD6J.js} +2 -2
- package/client-dist/{chunk-C2XOGAVB.js → chunk-EAFI4YMD.js} +2 -2
- package/client-dist/{chunk-CVBKWPQV.js → chunk-EGAUOFDI.js} +2 -2
- package/client-dist/{chunk-HCAALFTE.js → chunk-EHT2HQDT.js} +2 -2
- package/client-dist/{chunk-JXPPQJAC.js → chunk-ER7KIQXW.js} +2 -2
- package/client-dist/{chunk-7NTV4TP4.js → chunk-EZ2OC4CA.js} +2 -2
- package/client-dist/{chunk-A4R2BIZ7.js → chunk-F3NE5SNS.js} +2 -2
- package/client-dist/{chunk-SFXGSRSX.js → chunk-FCYMPE2S.js} +2 -2
- package/client-dist/{chunk-BASFCAFS.js → chunk-FHGZ3DH7.js} +2 -2
- package/client-dist/{chunk-2MMVFGZV.js → chunk-FHOK7MOR.js} +2 -2
- package/client-dist/{chunk-7Z6ITKVN.js → chunk-GLY7XIEO.js} +2 -2
- package/client-dist/{chunk-7Z6ITKVN.js.map → chunk-GLY7XIEO.js.map} +1 -1
- package/client-dist/{chunk-TCYNH7IT.js → chunk-GWT4NLC6.js} +2 -2
- package/client-dist/{chunk-2G3K2OS3.js → chunk-HBDXPQIC.js} +2 -2
- package/client-dist/{chunk-IRODWFVY.js → chunk-HIRPZSS5.js} +2 -2
- package/client-dist/{chunk-XLXWUHKZ.js → chunk-HO6SWXO3.js} +2 -2
- package/client-dist/{chunk-JOREJJVW.js → chunk-I5DLHGUT.js} +2 -2
- package/client-dist/{chunk-W2NSBTZM.js → chunk-IB5B5H24.js} +2 -2
- package/client-dist/{chunk-STFHGBA6.js → chunk-IMILT6U5.js} +2 -2
- package/client-dist/{chunk-ZDAW457Z.js → chunk-IN2UAFFX.js} +2 -2
- package/client-dist/{chunk-D4UUQLG6.js → chunk-IRITCLVX.js} +2 -2
- package/client-dist/{chunk-K6OTKJ3M.js → chunk-J66SGQQK.js} +2 -2
- package/client-dist/{chunk-WSH7NBCG.js → chunk-KRSUKF3L.js} +2 -2
- package/client-dist/{chunk-7JOPB46E.js → chunk-MN6YUX6R.js} +2 -2
- package/client-dist/{chunk-YBBIR62C.js → chunk-O2QGLI7P.js} +2 -2
- package/client-dist/{chunk-STLSPPII.js → chunk-ODQXZPME.js} +2 -2
- package/client-dist/{chunk-274CFFZL.js → chunk-PB5GJJMR.js} +2 -2
- package/client-dist/{chunk-7KBLHYTF.js → chunk-QBRVPAZB.js} +2 -2
- package/client-dist/{chunk-ETSJMBGY.js → chunk-QZVMUDW7.js} +2 -2
- package/client-dist/{chunk-XDNBCTHN.js → chunk-R77S4JY5.js} +2 -2
- package/client-dist/{chunk-PR7IKYCO.js → chunk-RNENIOVE.js} +2 -2
- package/client-dist/{chunk-DHLEX5YE.js → chunk-TGBNDSOS.js} +2 -2
- package/client-dist/{chunk-L6P3RBO6.js → chunk-UUJ5VF4E.js} +2 -2
- package/client-dist/{chunk-EZWBZ7ZX.js → chunk-UV7YDW6X.js} +2 -2
- package/client-dist/{chunk-EJCBQGKR.js → chunk-UXTS2HWD.js} +2 -2
- package/client-dist/{chunk-VHMXOPKN.js → chunk-VSY6ABSB.js} +2 -2
- package/client-dist/{chunk-5PJXCLKA.js → chunk-WB44FME2.js} +2 -2
- package/client-dist/{chunk-KATO6ESP.js → chunk-WHJDIPTM.js} +2 -2
- package/client-dist/{chunk-4N5O2KUM.js → chunk-YBKSPRVS.js} +2 -2
- package/client-dist/{chunk-BJOPT3GE.js → chunk-YD7R724R.js} +2 -2
- package/client-dist/{chunk-GN7NCHYV.js → chunk-YD7T74SA.js} +2 -2
- package/client-dist/{chunk-4BXQQ6NA.js → chunk-YTJ626F2.js} +2 -2
- package/client-dist/{consultant.module-6AZVLCHA.js → consultant.module-OCAX7KQT.js} +2 -2
- package/client-dist/{crd.module-MECHHWEK.js → crd.module-LO6GCSNU.js} +2 -2
- package/client-dist/{dashboard.module-KWAFBB3L.js → dashboard.module-SPGBUCMD.js} +2 -2
- package/client-dist/{do.module-RHPM7CJC.js → do.module-KALYZEB6.js} +2 -2
- package/client-dist/{document-library.module-5VQ5OTIN.js → document-library.module-HX5BXVZ2.js} +2 -2
- package/client-dist/{embedding-eval.module-6BDLT5MR.js → embedding-eval.module-BZ7QMCT5.js} +2 -2
- package/client-dist/{embedding-registry.module-DBMU7AGE.js → embedding-registry.module-4KH7QGE5.js} +2 -2
- package/client-dist/{err.module-6WD7OXQ6.js → err.module-M4E27OWR.js} +2 -2
- package/client-dist/{feedback.module-WWWVQKGE.js → feedback.module-E7FYACM4.js} +2 -2
- package/client-dist/{host-runtime-mcp.module-4OMEFIRP.js → host-runtime-mcp.module-AV3EO5I3.js} +2 -2
- package/client-dist/index.html +1 -1
- package/client-dist/{live-dev-pipeline.module-D4MWJOX6.js → live-dev-pipeline.module-EAH5255G.js} +2 -2
- package/client-dist/{logs.module-GRTNFGBS.js → logs.module-KONMW55W.js} +2 -2
- package/client-dist/main-4IV3NJMV.js +7 -0
- package/client-dist/main-4IV3NJMV.js.map +7 -0
- package/client-dist/{master-control-remote-poc.module-6JD5MFJB.js → master-control-remote-poc.module-3KAKM6EL.js} +2 -2
- package/client-dist/{mobile-app.module-EP2FMCTK.js → mobile-app.module-C7IMUTOE.js} +2 -2
- package/client-dist/{model-registry.module-LFR7PLTA.js → model-registry.module-A35YFVEE.js} +2 -2
- package/client-dist/{oc.module-U7EC3N7I.js → oc.module-XT7VDCSU.js} +2 -2
- package/client-dist/{orc.module-TGRJ4TDD.js → orc.module-4YGRTRV6.js} +2 -2
- package/client-dist/{project-management.module-YRRWULFG.js → project-management.module-LI3L4WCD.js} +2 -2
- package/client-dist/project-source-routed.module-CJB4YJND.js +2 -0
- package/client-dist/{scheduler.module-4IVEMSGR.js → scheduler.module-HEG5JCVO.js} +2 -2
- package/client-dist/{session.module-4K5QTFYU.js → session.module-DEIGFE2V.js} +2 -2
- package/client-dist/{set.module-BGRQCUIL.js → set.module-DSD6PIYI.js} +2 -2
- package/client-dist/{setup.module-ZUCKDANS.js → setup.module-WDIRWV32.js} +2 -2
- package/client-dist/{terminals.module-CIDUTLMD.js → terminals.module-4KEH5NED.js} +2 -2
- package/client-dist/{voice-notes-poc.module-77G4MPPJ.js → voice-notes-poc.module-UWGARHN5.js} +2 -2
- package/client-dist/{wfs.module-7FHSY34D.js → wfs.module-XAEMCUIF.js} +2 -2
- package/package.json +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/elevenlabs-tts.util.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/elevenlabs-tts.util.js +17 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/elevenlabs-tts.util.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/code-search/_collections/consts/code-search-tool-schema.const.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/code-search/_collections/consts/code-search-tool-schema.const.js +3 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/code-search/_collections/consts/code-search-tool-schema.const.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/environment-readiness/_collections/consts/environment-readiness-tool-definition.const.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/environment-readiness/_collections/consts/environment-readiness-tool-definition.const.js +3 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/environment-readiness/_collections/consts/environment-readiness-tool-definition.const.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/file-tools/_modules/file-explore/_collections/consts/ffe-explore-tool-usage-rules.const.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/file-tools/_modules/file-explore/_collections/consts/ffe-explore-tool-usage-rules.const.js +6 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/file-tools/_modules/file-explore/_collections/consts/ffe-explore-tool-usage-rules.const.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/file-tools/_modules/file-search/_collections/consts/fs-search-tool-usage-rules.const.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/file-tools/_modules/file-search/_collections/consts/fs-search-tool-usage-rules.const.js +6 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/file-tools/_modules/file-search/_collections/consts/fs-search-tool-usage-rules.const.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/file-tools/_modules/received-files/_collections/consts/save-received-files-tool-definition.const.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/file-tools/_modules/received-files/_collections/consts/save-received-files-tool-definition.const.js +3 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/file-tools/_modules/received-files/_collections/consts/save-received-files-tool-definition.const.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/consts/self-tool-definition.const.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/consts/self-tool-definition.const.js +14 -12
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/consts/self-tool-definition.const.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/consts/self-tool-definition.const.spec.js +19 -15
- package/server/build/src/_modules/ccap-agent/_modules/tools/_modules/fixed-tools/_modules/self/_collections/consts/self-tool-definition.const.spec.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/ext-message/_collections/utils/cc-assembly.util.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/ext-message/_collections/utils/cc-assembly.util.js +20 -1
- package/server/build/src/_modules/external-sessions/_modules/ext-message/_collections/utils/cc-assembly.util.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/ext-message/_collections/utils/cc-assembly.util.spec.js +89 -0
- package/server/build/src/_modules/external-sessions/_modules/ext-message/_collections/utils/cc-assembly.util.spec.js.map +1 -1
- package/client-dist/chunk-5EK2KVKJ.js +0 -73
- package/client-dist/chunk-5EK2KVKJ.js.map +0 -1
- package/client-dist/main-FMFXEH3I.js +0 -7
- package/client-dist/main-FMFXEH3I.js.map +0 -7
- package/client-dist/project-source-routed.module-HXRS5MTX.js +0 -2
- /package/client-dist/{agent-instances.module-DWR2F2SX.js.map → agent-instances.module-NDNG4HC6.js.map} +0 -0
- /package/client-dist/{ca.module-SHO3XHJY.js.map → ca.module-Y5FJIVDH.js.map} +0 -0
- /package/client-dist/{cc-usage-dashboard.component-K6ZYT3E5.js.map → cc-usage-dashboard.component-DAJMNYQD.js.map} +0 -0
- /package/client-dist/{cc.module-MXID2Q2C.js.map → cc.module-IHZXPJ3G.js.map} +0 -0
- /package/client-dist/{chunk-2AWEOJRY.js.map → chunk-2EGN5OIA.js.map} +0 -0
- /package/client-dist/{chunk-VCNC5IA2.js.map → chunk-2P5XNKSU.js.map} +0 -0
- /package/client-dist/{chunk-56PZOPA6.js.map → chunk-2XSAWMFD.js.map} +0 -0
- /package/client-dist/{chunk-FRQKNRI2.js.map → chunk-3EQBM3NI.js.map} +0 -0
- /package/client-dist/{chunk-AYMRJ7AZ.js.map → chunk-3NI6EUGP.js.map} +0 -0
- /package/client-dist/{chunk-DJS45ECM.js.map → chunk-5F77NGYL.js.map} +0 -0
- /package/client-dist/{chunk-C3CWZ3ET.js.map → chunk-5UV722GH.js.map} +0 -0
- /package/client-dist/{chunk-UOGFFZKL.js.map → chunk-65R5RLWC.js.map} +0 -0
- /package/client-dist/{chunk-ZCG3AKDF.js.map → chunk-73EAXEDI.js.map} +0 -0
- /package/client-dist/{chunk-GQDZYTG3.js.map → chunk-7XUJIV75.js.map} +0 -0
- /package/client-dist/{chunk-E472WLLR.js.map → chunk-ALKI4J2W.js.map} +0 -0
- /package/client-dist/{chunk-QHWX453Q.js.map → chunk-C7746ZDD.js.map} +0 -0
- /package/client-dist/{chunk-BG3WIGFL.js.map → chunk-CEXJQIOB.js.map} +0 -0
- /package/client-dist/{chunk-NDIG65MB.js.map → chunk-CVIA6GIV.js.map} +0 -0
- /package/client-dist/{chunk-AXJ7Z7SO.js.map → chunk-CVSG4HQU.js.map} +0 -0
- /package/client-dist/{chunk-HEG437UD.js.map → chunk-D4C3OD6J.js.map} +0 -0
- /package/client-dist/{chunk-C2XOGAVB.js.map → chunk-EAFI4YMD.js.map} +0 -0
- /package/client-dist/{chunk-CVBKWPQV.js.map → chunk-EGAUOFDI.js.map} +0 -0
- /package/client-dist/{chunk-HCAALFTE.js.map → chunk-EHT2HQDT.js.map} +0 -0
- /package/client-dist/{chunk-JXPPQJAC.js.map → chunk-ER7KIQXW.js.map} +0 -0
- /package/client-dist/{chunk-7NTV4TP4.js.map → chunk-EZ2OC4CA.js.map} +0 -0
- /package/client-dist/{chunk-A4R2BIZ7.js.map → chunk-F3NE5SNS.js.map} +0 -0
- /package/client-dist/{chunk-SFXGSRSX.js.map → chunk-FCYMPE2S.js.map} +0 -0
- /package/client-dist/{chunk-BASFCAFS.js.map → chunk-FHGZ3DH7.js.map} +0 -0
- /package/client-dist/{chunk-2MMVFGZV.js.map → chunk-FHOK7MOR.js.map} +0 -0
- /package/client-dist/{chunk-TCYNH7IT.js.map → chunk-GWT4NLC6.js.map} +0 -0
- /package/client-dist/{chunk-2G3K2OS3.js.map → chunk-HBDXPQIC.js.map} +0 -0
- /package/client-dist/{chunk-IRODWFVY.js.map → chunk-HIRPZSS5.js.map} +0 -0
- /package/client-dist/{chunk-XLXWUHKZ.js.map → chunk-HO6SWXO3.js.map} +0 -0
- /package/client-dist/{chunk-JOREJJVW.js.map → chunk-I5DLHGUT.js.map} +0 -0
- /package/client-dist/{chunk-W2NSBTZM.js.map → chunk-IB5B5H24.js.map} +0 -0
- /package/client-dist/{chunk-STFHGBA6.js.map → chunk-IMILT6U5.js.map} +0 -0
- /package/client-dist/{chunk-ZDAW457Z.js.map → chunk-IN2UAFFX.js.map} +0 -0
- /package/client-dist/{chunk-D4UUQLG6.js.map → chunk-IRITCLVX.js.map} +0 -0
- /package/client-dist/{chunk-K6OTKJ3M.js.map → chunk-J66SGQQK.js.map} +0 -0
- /package/client-dist/{chunk-WSH7NBCG.js.map → chunk-KRSUKF3L.js.map} +0 -0
- /package/client-dist/{chunk-7JOPB46E.js.map → chunk-MN6YUX6R.js.map} +0 -0
- /package/client-dist/{chunk-YBBIR62C.js.map → chunk-O2QGLI7P.js.map} +0 -0
- /package/client-dist/{chunk-STLSPPII.js.map → chunk-ODQXZPME.js.map} +0 -0
- /package/client-dist/{chunk-274CFFZL.js.map → chunk-PB5GJJMR.js.map} +0 -0
- /package/client-dist/{chunk-7KBLHYTF.js.map → chunk-QBRVPAZB.js.map} +0 -0
- /package/client-dist/{chunk-ETSJMBGY.js.map → chunk-QZVMUDW7.js.map} +0 -0
- /package/client-dist/{chunk-XDNBCTHN.js.map → chunk-R77S4JY5.js.map} +0 -0
- /package/client-dist/{chunk-PR7IKYCO.js.map → chunk-RNENIOVE.js.map} +0 -0
- /package/client-dist/{chunk-DHLEX5YE.js.map → chunk-TGBNDSOS.js.map} +0 -0
- /package/client-dist/{chunk-L6P3RBO6.js.map → chunk-UUJ5VF4E.js.map} +0 -0
- /package/client-dist/{chunk-EZWBZ7ZX.js.map → chunk-UV7YDW6X.js.map} +0 -0
- /package/client-dist/{chunk-EJCBQGKR.js.map → chunk-UXTS2HWD.js.map} +0 -0
- /package/client-dist/{chunk-VHMXOPKN.js.map → chunk-VSY6ABSB.js.map} +0 -0
- /package/client-dist/{chunk-5PJXCLKA.js.map → chunk-WB44FME2.js.map} +0 -0
- /package/client-dist/{chunk-KATO6ESP.js.map → chunk-WHJDIPTM.js.map} +0 -0
- /package/client-dist/{chunk-4N5O2KUM.js.map → chunk-YBKSPRVS.js.map} +0 -0
- /package/client-dist/{chunk-BJOPT3GE.js.map → chunk-YD7R724R.js.map} +0 -0
- /package/client-dist/{chunk-GN7NCHYV.js.map → chunk-YD7T74SA.js.map} +0 -0
- /package/client-dist/{chunk-4BXQQ6NA.js.map → chunk-YTJ626F2.js.map} +0 -0
- /package/client-dist/{consultant.module-6AZVLCHA.js.map → consultant.module-OCAX7KQT.js.map} +0 -0
- /package/client-dist/{crd.module-MECHHWEK.js.map → crd.module-LO6GCSNU.js.map} +0 -0
- /package/client-dist/{dashboard.module-KWAFBB3L.js.map → dashboard.module-SPGBUCMD.js.map} +0 -0
- /package/client-dist/{do.module-RHPM7CJC.js.map → do.module-KALYZEB6.js.map} +0 -0
- /package/client-dist/{document-library.module-5VQ5OTIN.js.map → document-library.module-HX5BXVZ2.js.map} +0 -0
- /package/client-dist/{embedding-eval.module-6BDLT5MR.js.map → embedding-eval.module-BZ7QMCT5.js.map} +0 -0
- /package/client-dist/{embedding-registry.module-DBMU7AGE.js.map → embedding-registry.module-4KH7QGE5.js.map} +0 -0
- /package/client-dist/{err.module-6WD7OXQ6.js.map → err.module-M4E27OWR.js.map} +0 -0
- /package/client-dist/{feedback.module-WWWVQKGE.js.map → feedback.module-E7FYACM4.js.map} +0 -0
- /package/client-dist/{host-runtime-mcp.module-4OMEFIRP.js.map → host-runtime-mcp.module-AV3EO5I3.js.map} +0 -0
- /package/client-dist/{live-dev-pipeline.module-D4MWJOX6.js.map → live-dev-pipeline.module-EAH5255G.js.map} +0 -0
- /package/client-dist/{logs.module-GRTNFGBS.js.map → logs.module-KONMW55W.js.map} +0 -0
- /package/client-dist/{master-control-remote-poc.module-6JD5MFJB.js.map → master-control-remote-poc.module-3KAKM6EL.js.map} +0 -0
- /package/client-dist/{mobile-app.module-EP2FMCTK.js.map → mobile-app.module-C7IMUTOE.js.map} +0 -0
- /package/client-dist/{model-registry.module-LFR7PLTA.js.map → model-registry.module-A35YFVEE.js.map} +0 -0
- /package/client-dist/{oc.module-U7EC3N7I.js.map → oc.module-XT7VDCSU.js.map} +0 -0
- /package/client-dist/{orc.module-TGRJ4TDD.js.map → orc.module-4YGRTRV6.js.map} +0 -0
- /package/client-dist/{project-management.module-YRRWULFG.js.map → project-management.module-LI3L4WCD.js.map} +0 -0
- /package/client-dist/{project-source-routed.module-HXRS5MTX.js.map → project-source-routed.module-CJB4YJND.js.map} +0 -0
- /package/client-dist/{scheduler.module-4IVEMSGR.js.map → scheduler.module-HEG5JCVO.js.map} +0 -0
- /package/client-dist/{session.module-4K5QTFYU.js.map → session.module-DEIGFE2V.js.map} +0 -0
- /package/client-dist/{set.module-BGRQCUIL.js.map → set.module-DSD6PIYI.js.map} +0 -0
- /package/client-dist/{setup.module-ZUCKDANS.js.map → setup.module-WDIRWV32.js.map} +0 -0
- /package/client-dist/{terminals.module-CIDUTLMD.js.map → terminals.module-4KEH5NED.js.map} +0 -0
- /package/client-dist/{voice-notes-poc.module-77G4MPPJ.js.map → voice-notes-poc.module-UWGARHN5.js.map} +0 -0
- /package/client-dist/{wfs.module-7FHSY34D.js.map → wfs.module-XAEMCUIF.js.map} +0 -0
|
@@ -8,6 +8,13 @@
|
|
|
8
8
|
* a user catch-22-be került: `ccap` nem futott, `ccap repair` se. Csak manuális
|
|
9
9
|
* `rm -rf + npm i -g` mentette ki.
|
|
10
10
|
*
|
|
11
|
+
* BUG-CLI-VERIFY-WINDOWS-PATH-001 (2026-05-11 follow-up): Windows PowerShell-en
|
|
12
|
+
* az eredeti verify hardcoded Linux layout-tal (`${prefix}/lib/node_modules/`)
|
|
13
|
+
* 6 hiányzó path-t jelölt, MIKÖZBEN a Windows-flat layout-on
|
|
14
|
+
* (`${prefix}\node_modules\`) a fájlok ott voltak — a UI-on a friss verzió
|
|
15
|
+
* látszott. Mostantól a platform-aware `CCAP_NpmGlobalPaths_Util.detectLayout`
|
|
16
|
+
* ad SSOT path-okat.
|
|
17
|
+
*
|
|
11
18
|
* Ez a util a `c_ccapUpdate` flow-ban posztoplásra fut, az npm install sikere
|
|
12
19
|
* után. Ellenőrzi a kötelező path-okat (mirror-a a server-oldali
|
|
13
20
|
* `SLF_Self_Util.REQUIRED_INSTALLED_PATHS`-ának), és strukturált eredményt
|
|
@@ -20,14 +27,9 @@
|
|
|
20
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
28
|
exports.CCAP_UpdateVerifyInstall_Util = void 0;
|
|
22
29
|
const tslib_1 = require("tslib");
|
|
23
|
-
const child_process_1 = require("child_process");
|
|
24
30
|
const fs = tslib_1.__importStar(require("fs"));
|
|
25
31
|
const path = tslib_1.__importStar(require("path"));
|
|
26
|
-
|
|
27
|
-
const PACKAGE_SCOPE = '@futdevpro';
|
|
28
|
-
const PACKAGE_NAME = 'ccap';
|
|
29
|
-
/** `npm config get prefix` timeout. */
|
|
30
|
-
const NPM_CONFIG_TIMEOUT_MS = 5000;
|
|
32
|
+
const npm_global_paths_util_1 = require("../npm-global/npm-global-paths.util");
|
|
31
33
|
/**
|
|
32
34
|
* Kötelező csomagrelatív path-ok a friss install-on. Bármelyik hiányzik →
|
|
33
35
|
* törött install. (Egyezés a server-oldali `REQUIRED_INSTALLED_PATHS`-szal —
|
|
@@ -40,68 +42,18 @@ const REQUIRED_PACKAGE_PATHS = [
|
|
|
40
42
|
'server/build/src/index.js',
|
|
41
43
|
'client-dist/index.html',
|
|
42
44
|
];
|
|
43
|
-
/** A futtatható bin path-ja az npm-prefix-en (`<prefix>/bin/ccap` Linux/macOS). */
|
|
44
|
-
const BIN_RELATIVE_PATH = path.join('bin', 'ccap');
|
|
45
|
-
/** Windows-on `.cmd` shim is létezhet. */
|
|
46
|
-
const BIN_RELATIVE_PATH_WINDOWS = path.join('bin', 'ccap.cmd');
|
|
47
45
|
/**
|
|
48
46
|
* Post-install globális install integritás-verifikáció.
|
|
49
47
|
*/
|
|
50
48
|
class CCAP_UpdateVerifyInstall_Util {
|
|
51
|
-
/**
|
|
52
|
-
* Az npm globális prefix lekérdezése. `npm config get prefix` synchrón hívás
|
|
53
|
-
* 5s timeout-tal; ha az npm nem elérhető, üres stringet ad.
|
|
54
|
-
*/
|
|
55
|
-
static getNpmGlobalPrefix() {
|
|
56
|
-
try {
|
|
57
|
-
return (0, child_process_1.execSync)('npm config get prefix', {
|
|
58
|
-
encoding: 'utf-8',
|
|
59
|
-
timeout: NPM_CONFIG_TIMEOUT_MS,
|
|
60
|
-
stdio: ['ignore', 'pipe', 'ignore'],
|
|
61
|
-
}).trim();
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
return '';
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Csomag-relatív path absolútja az npm-global prefix alatt.
|
|
69
|
-
*/
|
|
70
|
-
static resolvePackageRoot(npmGlobalPrefix) {
|
|
71
|
-
return path.join(npmGlobalPrefix, 'lib', 'node_modules', PACKAGE_SCOPE, PACKAGE_NAME);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* A `${prefix}/bin/ccap` (Linux/macOS) VAGY `${prefix}/bin/ccap.cmd` (Windows)
|
|
75
|
-
* létezésének ellenőrzése. Bármelyik elég.
|
|
76
|
-
*/
|
|
77
|
-
static checkBinExists(npmGlobalPrefix) {
|
|
78
|
-
if (!npmGlobalPrefix) {
|
|
79
|
-
return false;
|
|
80
|
-
}
|
|
81
|
-
const candidates = [
|
|
82
|
-
path.join(npmGlobalPrefix, BIN_RELATIVE_PATH),
|
|
83
|
-
path.join(npmGlobalPrefix, BIN_RELATIVE_PATH_WINDOWS),
|
|
84
|
-
];
|
|
85
|
-
for (const candidate of candidates) {
|
|
86
|
-
try {
|
|
87
|
-
if (fs.existsSync(candidate)) {
|
|
88
|
-
return true;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
catch {
|
|
92
|
-
// best-effort, single candidate failure won't tank check
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
49
|
/**
|
|
98
50
|
* Teljes integritás-check. Ha `prefixOverride` van, azt használja
|
|
99
|
-
* (tesztelhetőségi seam); különben `
|
|
51
|
+
* (tesztelhetőségi seam); különben `CCAP_NpmGlobalPaths_Util.detectLayout`
|
|
52
|
+
* detektál.
|
|
100
53
|
*/
|
|
101
54
|
static verify(prefixOverride) {
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
if (!npmGlobalPrefix) {
|
|
55
|
+
const layout = npm_global_paths_util_1.CCAP_NpmGlobalPaths_Util.detectLayout(prefixOverride);
|
|
56
|
+
if (!layout.npmGlobalPrefix) {
|
|
105
57
|
return {
|
|
106
58
|
ok: false,
|
|
107
59
|
npmGlobalPrefix: '',
|
|
@@ -110,11 +62,10 @@ class CCAP_UpdateVerifyInstall_Util {
|
|
|
110
62
|
missing: ['npm-prefix-not-resolvable'],
|
|
111
63
|
};
|
|
112
64
|
}
|
|
113
|
-
const packageRoot = CCAP_UpdateVerifyInstall_Util.resolvePackageRoot(npmGlobalPrefix);
|
|
114
65
|
const pathChecks = [];
|
|
115
66
|
const missing = [];
|
|
116
67
|
for (const relPath of REQUIRED_PACKAGE_PATHS) {
|
|
117
|
-
const absPath = path.join(
|
|
68
|
+
const absPath = path.join(layout.packageDir, relPath);
|
|
118
69
|
let exists = false;
|
|
119
70
|
try {
|
|
120
71
|
exists = fs.existsSync(absPath);
|
|
@@ -127,13 +78,15 @@ class CCAP_UpdateVerifyInstall_Util {
|
|
|
127
78
|
missing.push(relPath);
|
|
128
79
|
}
|
|
129
80
|
}
|
|
130
|
-
|
|
81
|
+
// Bin létezés (az ELSŐ candidate-en) — a layout `binPath` mezője már a
|
|
82
|
+
// detektált létező-VAGY-platform-default kandidátus.
|
|
83
|
+
const binExists = npm_global_paths_util_1.CCAP_NpmGlobalPaths_Util.dirOrFileExists(layout.binPath);
|
|
131
84
|
if (!binExists) {
|
|
132
|
-
missing.push(
|
|
85
|
+
missing.push(path.relative(layout.npmGlobalPrefix, layout.binPath) || 'bin/ccap');
|
|
133
86
|
}
|
|
134
87
|
return {
|
|
135
88
|
ok: binExists && missing.length === 0,
|
|
136
|
-
npmGlobalPrefix: npmGlobalPrefix,
|
|
89
|
+
npmGlobalPrefix: layout.npmGlobalPrefix,
|
|
137
90
|
binExists: binExists,
|
|
138
91
|
pathChecks: pathChecks,
|
|
139
92
|
missing: missing,
|
|
@@ -141,36 +94,55 @@ class CCAP_UpdateVerifyInstall_Util {
|
|
|
141
94
|
}
|
|
142
95
|
/**
|
|
143
96
|
* User-readable recovery-instrukció string a hibaüzenethez. A pontos
|
|
144
|
-
*
|
|
145
|
-
*
|
|
97
|
+
* delete-parancsokat tartalmazza, hogy a user copy-paste-elhesse — a `ccap`
|
|
98
|
+
* binary elvesztése esetén ez az egyetlen megmenekülési mód. Platform-aware:
|
|
99
|
+
* Windows PowerShell-en `Remove-Item -Recurse -Force`-ot ad, Linux/macOS-on
|
|
100
|
+
* `rm -rf`-et.
|
|
146
101
|
*/
|
|
147
102
|
static buildRecoveryInstructions(result) {
|
|
148
|
-
const
|
|
149
|
-
const
|
|
150
|
-
const
|
|
103
|
+
const layout = npm_global_paths_util_1.CCAP_NpmGlobalPaths_Util.detectLayout(result.npmGlobalPrefix);
|
|
104
|
+
const isWin = npm_global_paths_util_1.CCAP_NpmGlobalPaths_Util.isWindows();
|
|
105
|
+
const stagingGlob = path.join(layout.scopeDir, '.ccap-*');
|
|
106
|
+
const packageDir = layout.packageDir;
|
|
151
107
|
const lines = [
|
|
152
108
|
'╔══════════════════════════════════════════════════════════════',
|
|
153
109
|
'║ CCAP GLOBAL INSTALL INTEGRITY CHECK FAILED',
|
|
154
110
|
'╠══════════════════════════════════════════════════════════════',
|
|
111
|
+
`║ Layout: ${layout.layout} (${result.npmGlobalPrefix})`,
|
|
155
112
|
`║ Hiányzó path-ok (${result.missing.length}):`,
|
|
156
113
|
];
|
|
157
114
|
for (const m of result.missing) {
|
|
158
115
|
lines.push(`║ - ${m}`);
|
|
159
116
|
}
|
|
160
117
|
lines.push('║');
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
118
|
+
if (isWin) {
|
|
119
|
+
lines.push('║ Manuális recovery (PowerShell, copy-paste):');
|
|
120
|
+
lines.push('║');
|
|
121
|
+
lines.push('║ # 1) Töröld a staging leftover (.ccap-*) dirs-eket:');
|
|
122
|
+
lines.push(`║ Get-ChildItem -Path '${layout.scopeDir}' -Filter '.ccap-*' -Directory \`
|
|
123
|
+
║ | ForEach-Object { Remove-Item -Path $_.FullName -Recurse -Force }`);
|
|
124
|
+
lines.push('║');
|
|
125
|
+
lines.push('║ # 2) Töröld a törött package dir-t:');
|
|
126
|
+
lines.push(`║ Remove-Item -Path '${packageDir}' -Recurse -Force`);
|
|
127
|
+
lines.push('║');
|
|
128
|
+
lines.push('║ # 3) Friss telepítés:');
|
|
129
|
+
lines.push('║ npm install -g @futdevpro/ccap');
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
lines.push('║ Manuális recovery (bash/zsh, copy-paste):');
|
|
133
|
+
lines.push('║');
|
|
134
|
+
lines.push('║ # 1) Töröld a staging leftover (.ccap-*) dirs-eket:');
|
|
135
|
+
lines.push(`║ rm -rf ${stagingGlob}`);
|
|
136
|
+
lines.push('║');
|
|
137
|
+
lines.push('║ # 2) Töröld a törött package dir-t:');
|
|
138
|
+
lines.push(`║ rm -rf ${packageDir}`);
|
|
139
|
+
lines.push('║');
|
|
140
|
+
lines.push('║ # 3) Friss telepítés:');
|
|
141
|
+
lines.push('║ npm install -g @futdevpro/ccap');
|
|
142
|
+
lines.push('║');
|
|
143
|
+
lines.push('║ Megjegyzés: `sudo` szükséges lehet, ha a globális prefix');
|
|
144
|
+
lines.push('║ root-tulajdonban van (pl. `/usr/local/...`).');
|
|
145
|
+
}
|
|
174
146
|
lines.push('╚══════════════════════════════════════════════════════════════');
|
|
175
147
|
return lines.join('\n');
|
|
176
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-verify-install.util.js","sourceRoot":"","sources":["../../../src/_collections/update/update-verify-install.util.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"update-verify-install.util.js","sourceRoot":"","sources":["../../../src/_collections/update/update-verify-install.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* BUG-CLI-UPDATE-VERIFY-001 — `CCAP_UpdateVerifyInstall_Util.verify`
|
|
3
3
|
* unit-tesztek. Temp prefix-dir-rel szimuláljuk a friss vs törött install-t.
|
|
4
|
+
*
|
|
5
|
+
* BUG-CLI-VERIFY-WINDOWS-PATH-001: Windows-flat layout-tesztek
|
|
6
|
+
* (`${prefix}\node_modules\...` + `${prefix}\ccap.cmd`) is.
|
|
4
7
|
*/
|
|
5
8
|
export {};
|
|
6
9
|
//# sourceMappingURL=update-verify-install.util.spec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-verify-install.util.spec.d.ts","sourceRoot":"","sources":["../../../src/_collections/update/update-verify-install.util.spec.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"update-verify-install.util.spec.d.ts","sourceRoot":"","sources":["../../../src/_collections/update/update-verify-install.util.spec.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* BUG-CLI-UPDATE-VERIFY-001 — `CCAP_UpdateVerifyInstall_Util.verify`
|
|
4
4
|
* unit-tesztek. Temp prefix-dir-rel szimuláljuk a friss vs törött install-t.
|
|
5
|
+
*
|
|
6
|
+
* BUG-CLI-VERIFY-WINDOWS-PATH-001: Windows-flat layout-tesztek
|
|
7
|
+
* (`${prefix}\node_modules\...` + `${prefix}\ccap.cmd`) is.
|
|
5
8
|
*/
|
|
6
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
10
|
const tslib_1 = require("tslib");
|
|
@@ -9,32 +12,46 @@ const fs = tslib_1.__importStar(require("fs"));
|
|
|
9
12
|
const os = tslib_1.__importStar(require("os"));
|
|
10
13
|
const path = tslib_1.__importStar(require("path"));
|
|
11
14
|
const update_verify_install_util_1 = require("./update-verify-install.util");
|
|
12
|
-
/**
|
|
13
|
-
function
|
|
15
|
+
/** Unix-lib layout: `${prefix}/lib/node_modules/@futdevpro/ccap/` + `${prefix}/bin/ccap`. */
|
|
16
|
+
function buildFreshInstallUnixLib(tempPrefix) {
|
|
14
17
|
const packageDir = path.join(tempPrefix, 'lib', 'node_modules', '@futdevpro', 'ccap');
|
|
15
18
|
fs.mkdirSync(path.join(packageDir, 'bin'), { recursive: true });
|
|
16
19
|
fs.mkdirSync(path.join(packageDir, 'cli', 'build'), { recursive: true });
|
|
17
20
|
fs.mkdirSync(path.join(packageDir, 'server', 'build', 'src'), { recursive: true });
|
|
18
21
|
fs.mkdirSync(path.join(packageDir, 'client-dist'), { recursive: true });
|
|
19
22
|
fs.writeFileSync(path.join(packageDir, 'package.json'), '{"name":"@futdevpro/ccap","version":"1.0.0"}');
|
|
20
|
-
fs.writeFileSync(path.join(packageDir, 'bin', 'ccap.js'), '#!/usr/bin/env node\
|
|
23
|
+
fs.writeFileSync(path.join(packageDir, 'bin', 'ccap.js'), '#!/usr/bin/env node\n');
|
|
21
24
|
fs.writeFileSync(path.join(packageDir, 'cli', 'build', 'program.js'), '// stub');
|
|
22
25
|
fs.writeFileSync(path.join(packageDir, 'server', 'build', 'src', 'index.js'), '// stub');
|
|
23
26
|
fs.writeFileSync(path.join(packageDir, 'client-dist', 'index.html'), '<html/>');
|
|
24
|
-
// Bin symlink-helyettesítés: csak fájlnak léte kell, nem kell symlink
|
|
25
27
|
fs.mkdirSync(path.join(tempPrefix, 'bin'), { recursive: true });
|
|
26
28
|
fs.writeFileSync(path.join(tempPrefix, 'bin', 'ccap'), '#!/usr/bin/env node\n');
|
|
27
29
|
}
|
|
28
|
-
|
|
30
|
+
/** Windows-flat layout: `${prefix}\node_modules\@futdevpro\ccap\` + `${prefix}\ccap.cmd`. */
|
|
31
|
+
function buildFreshInstallWindowsFlat(tempPrefix) {
|
|
32
|
+
const packageDir = path.join(tempPrefix, 'node_modules', '@futdevpro', 'ccap');
|
|
33
|
+
fs.mkdirSync(path.join(packageDir, 'bin'), { recursive: true });
|
|
34
|
+
fs.mkdirSync(path.join(packageDir, 'cli', 'build'), { recursive: true });
|
|
35
|
+
fs.mkdirSync(path.join(packageDir, 'server', 'build', 'src'), { recursive: true });
|
|
36
|
+
fs.mkdirSync(path.join(packageDir, 'client-dist'), { recursive: true });
|
|
37
|
+
fs.writeFileSync(path.join(packageDir, 'package.json'), '{"name":"@futdevpro/ccap","version":"1.0.0"}');
|
|
38
|
+
fs.writeFileSync(path.join(packageDir, 'bin', 'ccap.js'), '#!/usr/bin/env node\n');
|
|
39
|
+
fs.writeFileSync(path.join(packageDir, 'cli', 'build', 'program.js'), '// stub');
|
|
40
|
+
fs.writeFileSync(path.join(packageDir, 'server', 'build', 'src', 'index.js'), '// stub');
|
|
41
|
+
fs.writeFileSync(path.join(packageDir, 'client-dist', 'index.html'), '<html/>');
|
|
42
|
+
// Windows-stílusú flat bin (NEM bin/ alatt)
|
|
43
|
+
fs.writeFileSync(path.join(tempPrefix, 'ccap.cmd'), '@node ccap.js %*');
|
|
44
|
+
}
|
|
45
|
+
describe('CCAP_UpdateVerifyInstall_Util.verify (Unix-lib layout)', () => {
|
|
29
46
|
let tempPrefix;
|
|
30
47
|
beforeEach(() => {
|
|
31
|
-
tempPrefix = fs.mkdtempSync(path.join(os.tmpdir(), 'ccap-verify-install-spec-'));
|
|
48
|
+
tempPrefix = fs.mkdtempSync(path.join(os.tmpdir(), 'ccap-verify-install-spec-unix-'));
|
|
32
49
|
});
|
|
33
50
|
afterEach(() => {
|
|
34
51
|
fs.rmSync(tempPrefix, { recursive: true, force: true });
|
|
35
52
|
});
|
|
36
|
-
it('| friss install
|
|
37
|
-
|
|
53
|
+
it('| friss Unix-lib install → ok=true, missing üres', () => {
|
|
54
|
+
buildFreshInstallUnixLib(tempPrefix);
|
|
38
55
|
const result = update_verify_install_util_1.CCAP_UpdateVerifyInstall_Util.verify(tempPrefix);
|
|
39
56
|
expect(result.ok).toBeTrue();
|
|
40
57
|
expect(result.missing).toEqual([]);
|
|
@@ -47,23 +64,22 @@ describe('CCAP_UpdateVerifyInstall_Util.verify', () => {
|
|
|
47
64
|
expect(result.ok).toBeFalse();
|
|
48
65
|
expect(result.missing).toContain('npm-prefix-not-resolvable');
|
|
49
66
|
});
|
|
50
|
-
it('| friss install de bin törölt → ok=false, missing tartalmazza a bin
|
|
51
|
-
|
|
67
|
+
it('| friss Unix-lib install de bin törölt → ok=false, missing tartalmazza a bin-t', () => {
|
|
68
|
+
buildFreshInstallUnixLib(tempPrefix);
|
|
52
69
|
fs.unlinkSync(path.join(tempPrefix, 'bin', 'ccap'));
|
|
53
70
|
const result = update_verify_install_util_1.CCAP_UpdateVerifyInstall_Util.verify(tempPrefix);
|
|
54
71
|
expect(result.ok).toBeFalse();
|
|
55
72
|
expect(result.binExists).toBeFalse();
|
|
56
|
-
expect(result.missing).toContain(path.join('bin', 'ccap'));
|
|
57
73
|
});
|
|
58
74
|
it('| friss install de package.json hiányzik → ok=false, missing tartalmazza', () => {
|
|
59
|
-
|
|
75
|
+
buildFreshInstallUnixLib(tempPrefix);
|
|
60
76
|
fs.unlinkSync(path.join(tempPrefix, 'lib', 'node_modules', '@futdevpro', 'ccap', 'package.json'));
|
|
61
77
|
const result = update_verify_install_util_1.CCAP_UpdateVerifyInstall_Util.verify(tempPrefix);
|
|
62
78
|
expect(result.ok).toBeFalse();
|
|
63
79
|
expect(result.missing).toContain('package.json');
|
|
64
80
|
});
|
|
65
81
|
it('| friss install de client-dist/index.html hiányzik → ok=false', () => {
|
|
66
|
-
|
|
82
|
+
buildFreshInstallUnixLib(tempPrefix);
|
|
67
83
|
fs.unlinkSync(path.join(tempPrefix, 'lib', 'node_modules', '@futdevpro', 'ccap', 'client-dist', 'index.html'));
|
|
68
84
|
const result = update_verify_install_util_1.CCAP_UpdateVerifyInstall_Util.verify(tempPrefix);
|
|
69
85
|
expect(result.ok).toBeFalse();
|
|
@@ -76,35 +92,77 @@ describe('CCAP_UpdateVerifyInstall_Util.verify', () => {
|
|
|
76
92
|
// 5 path + bin = 6 missing entry
|
|
77
93
|
expect(result.missing.length).toBe(6);
|
|
78
94
|
});
|
|
79
|
-
it('|
|
|
80
|
-
|
|
95
|
+
it('| Unix-lib + bin/ccap.cmd alternative — binExists=true', () => {
|
|
96
|
+
buildFreshInstallUnixLib(tempPrefix);
|
|
81
97
|
fs.unlinkSync(path.join(tempPrefix, 'bin', 'ccap'));
|
|
82
|
-
fs.writeFileSync(path.join(tempPrefix, 'bin', 'ccap.cmd'), '@node "%~dp0
|
|
98
|
+
fs.writeFileSync(path.join(tempPrefix, 'bin', 'ccap.cmd'), '@node "%~dp0\\..\\lib\\node_modules\\@futdevpro\\ccap\\bin\\ccap.js" %*');
|
|
99
|
+
const result = update_verify_install_util_1.CCAP_UpdateVerifyInstall_Util.verify(tempPrefix);
|
|
100
|
+
expect(result.binExists).toBeTrue();
|
|
101
|
+
expect(result.ok).toBeTrue();
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
describe('CCAP_UpdateVerifyInstall_Util.verify (Windows-flat layout)', () => {
|
|
105
|
+
let tempPrefix;
|
|
106
|
+
beforeEach(() => {
|
|
107
|
+
tempPrefix = fs.mkdtempSync(path.join(os.tmpdir(), 'ccap-verify-install-spec-win-'));
|
|
108
|
+
});
|
|
109
|
+
afterEach(() => {
|
|
110
|
+
fs.rmSync(tempPrefix, { recursive: true, force: true });
|
|
111
|
+
});
|
|
112
|
+
it('| friss Windows-flat install → ok=true, missing üres', () => {
|
|
113
|
+
buildFreshInstallWindowsFlat(tempPrefix);
|
|
114
|
+
const result = update_verify_install_util_1.CCAP_UpdateVerifyInstall_Util.verify(tempPrefix);
|
|
115
|
+
expect(result.ok).toBeTrue();
|
|
116
|
+
expect(result.missing).toEqual([]);
|
|
117
|
+
expect(result.binExists).toBeTrue();
|
|
118
|
+
});
|
|
119
|
+
it('| friss Windows-flat install de ccap.cmd törölt → ok=false, binExists=false', () => {
|
|
120
|
+
buildFreshInstallWindowsFlat(tempPrefix);
|
|
121
|
+
fs.unlinkSync(path.join(tempPrefix, 'ccap.cmd'));
|
|
122
|
+
const result = update_verify_install_util_1.CCAP_UpdateVerifyInstall_Util.verify(tempPrefix);
|
|
123
|
+
expect(result.ok).toBeFalse();
|
|
124
|
+
expect(result.binExists).toBeFalse();
|
|
125
|
+
});
|
|
126
|
+
it('| Windows-flat + ccap.ps1 alternative — binExists=true', () => {
|
|
127
|
+
buildFreshInstallWindowsFlat(tempPrefix);
|
|
128
|
+
fs.unlinkSync(path.join(tempPrefix, 'ccap.cmd'));
|
|
129
|
+
fs.writeFileSync(path.join(tempPrefix, 'ccap.ps1'), '& node "ccap.js" @args');
|
|
83
130
|
const result = update_verify_install_util_1.CCAP_UpdateVerifyInstall_Util.verify(tempPrefix);
|
|
84
131
|
expect(result.binExists).toBeTrue();
|
|
85
132
|
expect(result.ok).toBeTrue();
|
|
86
133
|
});
|
|
87
134
|
});
|
|
88
135
|
describe('CCAP_UpdateVerifyInstall_Util.buildRecoveryInstructions', () => {
|
|
89
|
-
|
|
136
|
+
let tempPrefix;
|
|
137
|
+
beforeEach(() => {
|
|
138
|
+
tempPrefix = fs.mkdtempSync(path.join(os.tmpdir(), 'ccap-verify-recovery-spec-'));
|
|
139
|
+
});
|
|
140
|
+
afterEach(() => {
|
|
141
|
+
fs.rmSync(tempPrefix, { recursive: true, force: true });
|
|
142
|
+
});
|
|
143
|
+
it('| Linux/macOS-on `rm -rf`-et tartalmaz', () => {
|
|
144
|
+
if (process.platform === 'win32') {
|
|
145
|
+
pending('skipped on Windows — checking Linux/macOS branch');
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
90
148
|
const result = {
|
|
91
149
|
ok: false,
|
|
92
|
-
npmGlobalPrefix:
|
|
150
|
+
npmGlobalPrefix: tempPrefix,
|
|
93
151
|
binExists: false,
|
|
94
152
|
pathChecks: [],
|
|
95
|
-
missing: [
|
|
153
|
+
missing: ['bin/ccap', 'package.json'],
|
|
96
154
|
};
|
|
97
155
|
const text = update_verify_install_util_1.CCAP_UpdateVerifyInstall_Util.buildRecoveryInstructions(result);
|
|
98
156
|
expect(text).toContain('rm -rf');
|
|
99
157
|
expect(text).toContain('.ccap-*');
|
|
100
158
|
expect(text).toContain('npm install -g @futdevpro/ccap');
|
|
101
|
-
expect(text).toContain(
|
|
159
|
+
expect(text).toContain(tempPrefix);
|
|
102
160
|
expect(text).toContain('CCAP GLOBAL INSTALL INTEGRITY CHECK FAILED');
|
|
103
161
|
});
|
|
104
|
-
it('| listázza a hiányzó path-okat', () => {
|
|
162
|
+
it('| listázza a hiányzó path-okat + a detektált layout-ot', () => {
|
|
105
163
|
const result = {
|
|
106
164
|
ok: false,
|
|
107
|
-
npmGlobalPrefix:
|
|
165
|
+
npmGlobalPrefix: tempPrefix,
|
|
108
166
|
binExists: false,
|
|
109
167
|
pathChecks: [],
|
|
110
168
|
missing: ['package.json', 'bin/ccap'],
|
|
@@ -112,6 +170,8 @@ describe('CCAP_UpdateVerifyInstall_Util.buildRecoveryInstructions', () => {
|
|
|
112
170
|
const text = update_verify_install_util_1.CCAP_UpdateVerifyInstall_Util.buildRecoveryInstructions(result);
|
|
113
171
|
expect(text).toContain('package.json');
|
|
114
172
|
expect(text).toContain('bin/ccap');
|
|
173
|
+
// A layout-szöveg vagy 'unix-lib' vagy 'windows-flat'
|
|
174
|
+
expect(text).toMatch(/Layout: (unix-lib|windows-flat)/);
|
|
115
175
|
});
|
|
116
176
|
});
|
|
117
177
|
//# sourceMappingURL=update-verify-install.util.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-verify-install.util.spec.js","sourceRoot":"","sources":["../../../src/_collections/update/update-verify-install.util.spec.ts"],"names":[],"mappings":";AAAA;;;
|
|
1
|
+
{"version":3,"file":"update-verify-install.util.spec.js","sourceRoot":"","sources":["../../../src/_collections/update/update-verify-install.util.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,14 +11,16 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export declare class CCAP_UpdateVersionCheck_Util {
|
|
13
13
|
/**
|
|
14
|
-
* Az npm globális prefix lekérdezése.
|
|
15
|
-
* 5s timeout-tal; ha az npm nem elérhető, üres stringet ad. (Egyezően a
|
|
16
|
-
* `staging-cleanup.util.ts`-szel — szándékosan duplikál a coupling-mentesség
|
|
17
|
-
* miatt.)
|
|
14
|
+
* Az npm globális prefix lekérdezése. Reuse: `CCAP_NpmGlobalPaths_Util` SSOT.
|
|
18
15
|
*/
|
|
19
16
|
static getNpmGlobalPrefix(): string;
|
|
20
17
|
/**
|
|
21
18
|
* A `@futdevpro/ccap` globális install package.json path-ja. Üres prefix → üres.
|
|
19
|
+
*
|
|
20
|
+
* BUG-CLI-VERIFY-WINDOWS-PATH-001: a platform-aware
|
|
21
|
+
* `CCAP_NpmGlobalPaths_Util.detectLayout`-ot használja, hogy Windows-flat
|
|
22
|
+
* layout-on is helyes path-ot adjon (Linux: `${prefix}/lib/node_modules/...`,
|
|
23
|
+
* Windows: `${prefix}\node_modules\...`).
|
|
22
24
|
*/
|
|
23
25
|
static resolveGlobalPackageJsonPath(npmGlobalPrefix: string): string;
|
|
24
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-version-check.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/update/update-version-check.util.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"update-version-check.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/update/update-version-check.util.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH;;GAEG;AACH,qBAAa,4BAA4B;IAEvC;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,MAAM;IAInC;;;;;;;OAOG;IACH,MAAM,CAAC,4BAA4B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IASpE;;;;OAIG;IACH,MAAM,CAAC,0BAA0B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAoBlE;;;;OAIG;IACH,MAAM,CAAC,yBAAyB,IAAI,MAAM;IAS1C;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAcrD"}
|
|
@@ -13,11 +13,7 @@ const tslib_1 = require("tslib");
|
|
|
13
13
|
const child_process_1 = require("child_process");
|
|
14
14
|
const fs = tslib_1.__importStar(require("fs"));
|
|
15
15
|
const path = tslib_1.__importStar(require("path"));
|
|
16
|
-
|
|
17
|
-
const PACKAGE_SCOPE = '@futdevpro';
|
|
18
|
-
const PACKAGE_NAME = 'ccap';
|
|
19
|
-
/** `npm config get prefix` timeout. */
|
|
20
|
-
const NPM_CONFIG_TIMEOUT_MS = 5000;
|
|
16
|
+
const npm_global_paths_util_1 = require("../npm-global/npm-global-paths.util");
|
|
21
17
|
/** `npm view <pkg> version` timeout — registry network call. */
|
|
22
18
|
const NPM_VIEW_TIMEOUT_MS = 10000;
|
|
23
19
|
/**
|
|
@@ -25,31 +21,25 @@ const NPM_VIEW_TIMEOUT_MS = 10000;
|
|
|
25
21
|
*/
|
|
26
22
|
class CCAP_UpdateVersionCheck_Util {
|
|
27
23
|
/**
|
|
28
|
-
* Az npm globális prefix lekérdezése.
|
|
29
|
-
* 5s timeout-tal; ha az npm nem elérhető, üres stringet ad. (Egyezően a
|
|
30
|
-
* `staging-cleanup.util.ts`-szel — szándékosan duplikál a coupling-mentesség
|
|
31
|
-
* miatt.)
|
|
24
|
+
* Az npm globális prefix lekérdezése. Reuse: `CCAP_NpmGlobalPaths_Util` SSOT.
|
|
32
25
|
*/
|
|
33
26
|
static getNpmGlobalPrefix() {
|
|
34
|
-
|
|
35
|
-
return (0, child_process_1.execSync)('npm config get prefix', {
|
|
36
|
-
encoding: 'utf-8',
|
|
37
|
-
timeout: NPM_CONFIG_TIMEOUT_MS,
|
|
38
|
-
stdio: ['ignore', 'pipe', 'ignore'],
|
|
39
|
-
}).trim();
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
return '';
|
|
43
|
-
}
|
|
27
|
+
return npm_global_paths_util_1.CCAP_NpmGlobalPaths_Util.getNpmGlobalPrefix();
|
|
44
28
|
}
|
|
45
29
|
/**
|
|
46
30
|
* A `@futdevpro/ccap` globális install package.json path-ja. Üres prefix → üres.
|
|
31
|
+
*
|
|
32
|
+
* BUG-CLI-VERIFY-WINDOWS-PATH-001: a platform-aware
|
|
33
|
+
* `CCAP_NpmGlobalPaths_Util.detectLayout`-ot használja, hogy Windows-flat
|
|
34
|
+
* layout-on is helyes path-ot adjon (Linux: `${prefix}/lib/node_modules/...`,
|
|
35
|
+
* Windows: `${prefix}\node_modules\...`).
|
|
47
36
|
*/
|
|
48
37
|
static resolveGlobalPackageJsonPath(npmGlobalPrefix) {
|
|
49
38
|
if (!npmGlobalPrefix) {
|
|
50
39
|
return '';
|
|
51
40
|
}
|
|
52
|
-
|
|
41
|
+
const layout = npm_global_paths_util_1.CCAP_NpmGlobalPaths_Util.detectLayout(npmGlobalPrefix);
|
|
42
|
+
return path.join(layout.packageDir, 'package.json');
|
|
53
43
|
}
|
|
54
44
|
/**
|
|
55
45
|
* package.json `version` mezőjének olvasása. Hibát NEM dob — fájl-hiány,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-version-check.util.js","sourceRoot":"","sources":["../../../src/_collections/update/update-version-check.util.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;AAEH,iDAAyC;AACzC,+CAAyB;AACzB,mDAA6B;AAE7B
|
|
1
|
+
{"version":3,"file":"update-version-check.util.js","sourceRoot":"","sources":["../../../src/_collections/update/update-version-check.util.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;AAEH,iDAAyC;AACzC,+CAAyB;AACzB,mDAA6B;AAE7B,+EAA+E;AAG/E,gEAAgE;AAChE,MAAM,mBAAmB,GAAW,KAAK,CAAC;AAE1C;;GAEG;AACH,MAAa,4BAA4B;IAEvC;;OAEG;IACH,MAAM,CAAC,kBAAkB;QACvB,OAAO,gDAAwB,CAAC,kBAAkB,EAAE,CAAC;IACvD,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,4BAA4B,CAAC,eAAuB;QACzD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GACV,gDAAwB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,0BAA0B,CAAC,eAAuB;QACvD,IAAI,CAAC;YACH,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxD,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,GAAG,GAAW,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1C,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,YAAY,GAAa,MAAkC,CAAC,OAAO,CAAC;YAC1E,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrC,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,yBAAyB;QAC9B,MAAM,MAAM,GAAW,4BAA4B,CAAC,kBAAkB,EAAE,CAAC;QACzE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,OAAO,GAAW,4BAA4B,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAC1F,OAAO,4BAA4B,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,WAAmB;QACzC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAA,wBAAQ,EAAC,YAAY,WAAW,UAAU,EAAE;gBACjD,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,mBAAmB;gBAC5B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;aACpC,CAAC,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AApFD,oEAoFC"}
|