opkg 0.9.0 → 0.9.2
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/bin/openpackage +1 -1
- package/dist/core/install/preprocessing/base-resolver.js +37 -17
- package/dist/core/install/preprocessing/base-resolver.js.map +1 -1
- package/dist/core/install/preprocessing/index.js +1 -1
- package/dist/core/install/preprocessing/index.js.map +1 -1
- package/dist/core/install/resolution/installation-planner.js +7 -22
- package/dist/core/install/resolution/installation-planner.js.map +1 -1
- package/dist/core/install/unified/context-builders.js +25 -5
- package/dist/core/install/unified/context-builders.js.map +1 -1
- package/dist/utils/git-clone.js +9 -3
- package/dist/utils/git-clone.js.map +1 -1
- package/package.json +10 -10
- package/packages/cli/bin/openpackage +5 -0
- package/packages/cli/dist/add-AFORN4DK.js +624 -0
- package/packages/cli/dist/add-AFORN4DK.js.map +7 -0
- package/packages/cli/dist/add-TASDXRAL.js +608 -0
- package/packages/cli/dist/add-TASDXRAL.js.map +7 -0
- package/packages/cli/dist/chunk-2NGVXUNT.js +108 -0
- package/packages/cli/dist/chunk-2NGVXUNT.js.map +7 -0
- package/packages/cli/dist/chunk-2PMMVTRN.js +44 -0
- package/packages/cli/dist/chunk-2PMMVTRN.js.map +7 -0
- package/packages/cli/dist/chunk-3RORRNJN.js +31 -0
- package/packages/cli/dist/chunk-3RORRNJN.js.map +7 -0
- package/packages/cli/dist/chunk-4TCVCEPB.js +274 -0
- package/packages/cli/dist/chunk-4TCVCEPB.js.map +7 -0
- package/packages/cli/dist/chunk-5EFWGD33.js +70 -0
- package/packages/cli/dist/chunk-5EFWGD33.js.map +7 -0
- package/packages/cli/dist/chunk-5HSDD3SL.js +100 -0
- package/packages/cli/dist/chunk-5HSDD3SL.js.map +7 -0
- package/packages/cli/dist/chunk-5XEDHH4X.js +371 -0
- package/packages/cli/dist/chunk-5XEDHH4X.js.map +7 -0
- package/packages/cli/dist/chunk-6HEBGHXK.js +302 -0
- package/packages/cli/dist/chunk-6HEBGHXK.js.map +7 -0
- package/packages/cli/dist/chunk-6YZNE3MU.js +29 -0
- package/packages/cli/dist/chunk-6YZNE3MU.js.map +7 -0
- package/packages/cli/dist/chunk-A6ISKBNM.js +48 -0
- package/packages/cli/dist/chunk-A6ISKBNM.js.map +7 -0
- package/packages/cli/dist/chunk-AMHDY5PC.js +31 -0
- package/packages/cli/dist/chunk-AMHDY5PC.js.map +7 -0
- package/packages/cli/dist/chunk-ATYT3SA6.js +172 -0
- package/packages/cli/dist/chunk-ATYT3SA6.js.map +7 -0
- package/packages/cli/dist/chunk-AUYRGQIJ.js +99 -0
- package/packages/cli/dist/chunk-AUYRGQIJ.js.map +7 -0
- package/packages/cli/dist/chunk-BCYZDID6.js +60 -0
- package/packages/cli/dist/chunk-BCYZDID6.js.map +7 -0
- package/packages/cli/dist/chunk-BGSNTCZP.js +172 -0
- package/packages/cli/dist/chunk-BGSNTCZP.js.map +7 -0
- package/packages/cli/dist/chunk-BM66UY63.js +413 -0
- package/packages/cli/dist/chunk-BM66UY63.js.map +7 -0
- package/packages/cli/dist/chunk-BN3JSWOU.js +371 -0
- package/packages/cli/dist/chunk-BN3JSWOU.js.map +7 -0
- package/packages/cli/dist/chunk-BRRTF7CU.js +99 -0
- package/packages/cli/dist/chunk-BRRTF7CU.js.map +7 -0
- package/packages/cli/dist/chunk-CBLKT6WA.js +48 -0
- package/packages/cli/dist/chunk-CBLKT6WA.js.map +7 -0
- package/packages/cli/dist/chunk-DFRQACQV.js +1168 -0
- package/packages/cli/dist/chunk-DFRQACQV.js.map +7 -0
- package/packages/cli/dist/chunk-DN7RINDJ.js +975 -0
- package/packages/cli/dist/chunk-DN7RINDJ.js.map +7 -0
- package/packages/cli/dist/chunk-E2DVTD75.js +196 -0
- package/packages/cli/dist/chunk-E2DVTD75.js.map +7 -0
- package/packages/cli/dist/chunk-E2HYZWNV.js +32 -0
- package/packages/cli/dist/chunk-E2HYZWNV.js.map +7 -0
- package/packages/cli/dist/chunk-EGAP6GNA.js +31 -0
- package/packages/cli/dist/chunk-EGAP6GNA.js.map +7 -0
- package/packages/cli/dist/chunk-ELCB4RC2.js +1121 -0
- package/packages/cli/dist/chunk-ELCB4RC2.js.map +7 -0
- package/packages/cli/dist/chunk-FRYA3JAQ.js +48 -0
- package/packages/cli/dist/chunk-FRYA3JAQ.js.map +7 -0
- package/packages/cli/dist/chunk-GJWX5XPU.js +274 -0
- package/packages/cli/dist/chunk-GJWX5XPU.js.map +7 -0
- package/packages/cli/dist/chunk-GKEHDSL4.js +732 -0
- package/packages/cli/dist/chunk-GKEHDSL4.js.map +7 -0
- package/packages/cli/dist/chunk-GP5FJYSS.js +186 -0
- package/packages/cli/dist/chunk-GP5FJYSS.js.map +7 -0
- package/packages/cli/dist/chunk-GXPSKN7J.js +538 -0
- package/packages/cli/dist/chunk-GXPSKN7J.js.map +7 -0
- package/packages/cli/dist/chunk-GZIV2HZM.js +195 -0
- package/packages/cli/dist/chunk-GZIV2HZM.js.map +7 -0
- package/packages/cli/dist/chunk-IBIYIU3K.js +23 -0
- package/packages/cli/dist/chunk-IBIYIU3K.js.map +7 -0
- package/packages/cli/dist/chunk-ID4SVDQZ.js +61 -0
- package/packages/cli/dist/chunk-ID4SVDQZ.js.map +7 -0
- package/packages/cli/dist/chunk-IVM4PQP4.js +568 -0
- package/packages/cli/dist/chunk-IVM4PQP4.js.map +7 -0
- package/packages/cli/dist/chunk-IXOEIRDT.js +1028 -0
- package/packages/cli/dist/chunk-IXOEIRDT.js.map +7 -0
- package/packages/cli/dist/chunk-J2OQQZFA.js +48 -0
- package/packages/cli/dist/chunk-J2OQQZFA.js.map +7 -0
- package/packages/cli/dist/chunk-J4IFFBLP.js +103 -0
- package/packages/cli/dist/chunk-J4IFFBLP.js.map +7 -0
- package/packages/cli/dist/chunk-K3FCWE4I.js +1168 -0
- package/packages/cli/dist/chunk-K3FCWE4I.js.map +7 -0
- package/packages/cli/dist/chunk-KGBDKY5V.js +113 -0
- package/packages/cli/dist/chunk-KGBDKY5V.js.map +7 -0
- package/packages/cli/dist/chunk-LVPD45D5.js +61 -0
- package/packages/cli/dist/chunk-LVPD45D5.js.map +7 -0
- package/packages/cli/dist/chunk-MLYYVOS3.js +498 -0
- package/packages/cli/dist/chunk-MLYYVOS3.js.map +7 -0
- package/packages/cli/dist/chunk-OFM3UWJJ.js +190 -0
- package/packages/cli/dist/chunk-OFM3UWJJ.js.map +7 -0
- package/packages/cli/dist/chunk-PXL2RUMX.js +14 -0
- package/packages/cli/dist/chunk-PXL2RUMX.js.map +7 -0
- package/packages/cli/dist/chunk-Q2N6OZJC.js +258 -0
- package/packages/cli/dist/chunk-Q2N6OZJC.js.map +7 -0
- package/packages/cli/dist/chunk-QQFDQPT3.js +86 -0
- package/packages/cli/dist/chunk-QQFDQPT3.js.map +7 -0
- package/packages/cli/dist/chunk-QTQYI4L5.js +155 -0
- package/packages/cli/dist/chunk-QTQYI4L5.js.map +7 -0
- package/packages/cli/dist/chunk-QURLGVA4.js +74 -0
- package/packages/cli/dist/chunk-QURLGVA4.js.map +7 -0
- package/packages/cli/dist/chunk-S47F4OG4.js +173 -0
- package/packages/cli/dist/chunk-S47F4OG4.js.map +7 -0
- package/packages/cli/dist/chunk-S6OARUVQ.js +376 -0
- package/packages/cli/dist/chunk-S6OARUVQ.js.map +7 -0
- package/packages/cli/dist/chunk-SHKYQQJJ.js +11 -0
- package/packages/cli/dist/chunk-SHKYQQJJ.js.map +7 -0
- package/packages/cli/dist/chunk-SSHWUJEG.js +788 -0
- package/packages/cli/dist/chunk-SSHWUJEG.js.map +7 -0
- package/packages/cli/dist/chunk-SVEFLCC2.js +25 -0
- package/packages/cli/dist/chunk-SVEFLCC2.js.map +7 -0
- package/packages/cli/dist/chunk-TFQ4JBVO.js +222 -0
- package/packages/cli/dist/chunk-TFQ4JBVO.js.map +7 -0
- package/packages/cli/dist/chunk-UDAWJRKD.js +63 -0
- package/packages/cli/dist/chunk-UDAWJRKD.js.map +7 -0
- package/packages/cli/dist/chunk-UR6VJWA3.js +108 -0
- package/packages/cli/dist/chunk-UR6VJWA3.js.map +7 -0
- package/packages/cli/dist/chunk-UVWARZQC.js +52 -0
- package/packages/cli/dist/chunk-UVWARZQC.js.map +7 -0
- package/packages/cli/dist/chunk-V2JKF46L.js +61 -0
- package/packages/cli/dist/chunk-V2JKF46L.js.map +7 -0
- package/packages/cli/dist/chunk-V5OW4YEB.js +92 -0
- package/packages/cli/dist/chunk-V5OW4YEB.js.map +7 -0
- package/packages/cli/dist/chunk-VN22A7NW.js +145 -0
- package/packages/cli/dist/chunk-VN22A7NW.js.map +7 -0
- package/packages/cli/dist/chunk-WQG6LPP3.js +190 -0
- package/packages/cli/dist/chunk-WQG6LPP3.js.map +7 -0
- package/packages/cli/dist/chunk-XEPVYZO3.js +130 -0
- package/packages/cli/dist/chunk-XEPVYZO3.js.map +7 -0
- package/packages/cli/dist/chunk-YMKK4XPN.js +38 -0
- package/packages/cli/dist/chunk-YMKK4XPN.js.map +7 -0
- package/packages/cli/dist/chunk-YXLKLL3V.js +253 -0
- package/packages/cli/dist/chunk-YXLKLL3V.js.map +7 -0
- package/packages/cli/dist/configure-CBKHH5ZC.js +107 -0
- package/packages/cli/dist/configure-CBKHH5ZC.js.map +7 -0
- package/packages/cli/dist/configure-IW22RQIX.js +107 -0
- package/packages/cli/dist/configure-IW22RQIX.js.map +7 -0
- package/packages/cli/dist/errors-X5KO3GTP.js +23 -0
- package/packages/cli/dist/errors-X5KO3GTP.js.map +7 -0
- package/packages/cli/dist/file-format-detector-DEAVQPAT.js +22 -0
- package/packages/cli/dist/file-format-detector-DEAVQPAT.js.map +7 -0
- package/packages/cli/dist/format-distribution-analyzer-MIFCFIAJ.js +91 -0
- package/packages/cli/dist/format-distribution-analyzer-MIFCFIAJ.js.map +7 -0
- package/packages/cli/dist/index.js +212 -0
- package/packages/cli/dist/index.js.map +7 -0
- package/packages/cli/dist/install-WS7D32ND.js +7694 -0
- package/packages/cli/dist/install-WS7D32ND.js.map +7 -0
- package/packages/cli/dist/install-ZR42VB5K.js +7770 -0
- package/packages/cli/dist/install-ZR42VB5K.js.map +7 -0
- package/packages/cli/dist/list-GSBJJXQT.js +327 -0
- package/packages/cli/dist/list-GSBJJXQT.js.map +7 -0
- package/packages/cli/dist/list-L7DYJYXO.js +126 -0
- package/packages/cli/dist/list-L7DYJYXO.js.map +7 -0
- package/packages/cli/dist/logger-WHZJRF6G.js +8 -0
- package/packages/cli/dist/logger-WHZJRF6G.js.map +7 -0
- package/packages/cli/dist/login-5KPCJJYE.js +121 -0
- package/packages/cli/dist/login-5KPCJJYE.js.map +7 -0
- package/packages/cli/dist/login-TUPFY4I2.js +151 -0
- package/packages/cli/dist/login-TUPFY4I2.js.map +7 -0
- package/packages/cli/dist/logout-FCOJT6KE.js +40 -0
- package/packages/cli/dist/logout-FCOJT6KE.js.map +7 -0
- package/packages/cli/dist/logout-GTYZM3NQ.js +40 -0
- package/packages/cli/dist/logout-GTYZM3NQ.js.map +7 -0
- package/packages/cli/dist/new-FMYTAQD2.js +277 -0
- package/packages/cli/dist/new-FMYTAQD2.js.map +7 -0
- package/packages/cli/dist/new-UJ3HI5MZ.js +275 -0
- package/packages/cli/dist/new-UJ3HI5MZ.js.map +7 -0
- package/packages/cli/dist/package-marker-detector-JELOHCL7.js +80 -0
- package/packages/cli/dist/package-marker-detector-JELOHCL7.js.map +7 -0
- package/packages/cli/dist/package-yml-33CZZC3T.js +16 -0
- package/packages/cli/dist/package-yml-33CZZC3T.js.map +7 -0
- package/packages/cli/dist/plugin-naming-Z2RD7XOF.js +29 -0
- package/packages/cli/dist/plugin-naming-Z2RD7XOF.js.map +7 -0
- package/packages/cli/dist/publish-NHZEF7NP.js +621 -0
- package/packages/cli/dist/publish-NHZEF7NP.js.map +7 -0
- package/packages/cli/dist/publish-VXEPM3TI.js +619 -0
- package/packages/cli/dist/publish-VXEPM3TI.js.map +7 -0
- package/packages/cli/dist/remove-S5DT4F7A.js +508 -0
- package/packages/cli/dist/remove-S5DT4F7A.js.map +7 -0
- package/packages/cli/dist/remove-Z5YY2PZZ.js +542 -0
- package/packages/cli/dist/remove-Z5YY2PZZ.js.map +7 -0
- package/packages/cli/dist/resource-discoverer-QF3Q4QAE.js +17 -0
- package/packages/cli/dist/resource-discoverer-QF3Q4QAE.js.map +7 -0
- package/packages/cli/dist/save-RRBXRROU.js +1726 -0
- package/packages/cli/dist/save-RRBXRROU.js.map +7 -0
- package/packages/cli/dist/save-YHCXQDLA.js +1728 -0
- package/packages/cli/dist/save-YHCXQDLA.js.map +7 -0
- package/packages/cli/dist/search-65S4VUKZ.js +157 -0
- package/packages/cli/dist/search-65S4VUKZ.js.map +7 -0
- package/packages/cli/dist/search-RW5EX76L.js +157 -0
- package/packages/cli/dist/search-RW5EX76L.js.map +7 -0
- package/packages/cli/dist/set-CGYGCM3C.js +251 -0
- package/packages/cli/dist/set-CGYGCM3C.js.map +7 -0
- package/packages/cli/dist/set-SGEPTBDB.js +251 -0
- package/packages/cli/dist/set-SGEPTBDB.js.map +7 -0
- package/packages/cli/dist/uninstall-7EJCVTLD.js +868 -0
- package/packages/cli/dist/uninstall-7EJCVTLD.js.map +7 -0
- package/packages/cli/dist/uninstall-UBZTRBEK.js +540 -0
- package/packages/cli/dist/uninstall-UBZTRBEK.js.map +7 -0
- package/packages/cli/dist/unpublish-V4PMWZVD.js +243 -0
- package/packages/cli/dist/unpublish-V4PMWZVD.js.map +7 -0
- package/packages/cli/dist/unpublish-YMHUZ4EZ.js +243 -0
- package/packages/cli/dist/unpublish-YMHUZ4EZ.js.map +7 -0
- package/packages/cli/dist/view-62MJAH7O.js +452 -0
- package/packages/cli/dist/view-62MJAH7O.js.map +7 -0
- package/packages/cli/dist/view-TVWVUS3B.js +488 -0
- package/packages/cli/dist/view-TVWVUS3B.js.map +7 -0
- package/packages/cli/package.json +45 -0
- package/packages/core/dist/constants/index.d.ts +151 -0
- package/packages/core/dist/constants/index.d.ts.map +1 -0
- package/packages/core/dist/constants/index.js +155 -0
- package/packages/core/dist/constants/index.js.map +1 -0
- package/packages/core/dist/constants/workspace.d.ts +3 -0
- package/packages/core/dist/constants/workspace.d.ts.map +1 -0
- package/packages/core/dist/constants/workspace.js +9 -0
- package/packages/core/dist/constants/workspace.js.map +1 -0
- package/packages/core/dist/core/add/add-conflict-handler.d.ts +17 -0
- package/packages/core/dist/core/add/add-conflict-handler.d.ts.map +1 -0
- package/packages/core/dist/core/add/add-conflict-handler.js +107 -0
- package/packages/core/dist/core/add/add-conflict-handler.js.map +1 -0
- package/packages/core/dist/core/add/add-dependency-flow.d.ts +14 -0
- package/packages/core/dist/core/add/add-dependency-flow.d.ts.map +1 -0
- package/packages/core/dist/core/add/add-dependency-flow.js +93 -0
- package/packages/core/dist/core/add/add-dependency-flow.js.map +1 -0
- package/packages/core/dist/core/add/add-input-classifier.d.ts +34 -0
- package/packages/core/dist/core/add/add-input-classifier.d.ts.map +1 -0
- package/packages/core/dist/core/add/add-input-classifier.js +159 -0
- package/packages/core/dist/core/add/add-input-classifier.js.map +1 -0
- package/packages/core/dist/core/add/add-orchestrator.d.ts +40 -0
- package/packages/core/dist/core/add/add-orchestrator.d.ts.map +1 -0
- package/packages/core/dist/core/add/add-orchestrator.js +81 -0
- package/packages/core/dist/core/add/add-orchestrator.js.map +1 -0
- package/packages/core/dist/core/add/add-to-source-pipeline.d.ts +22 -0
- package/packages/core/dist/core/add/add-to-source-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/add/add-to-source-pipeline.js +164 -0
- package/packages/core/dist/core/add/add-to-source-pipeline.js.map +1 -0
- package/packages/core/dist/core/add/package-index-updater.d.ts +24 -0
- package/packages/core/dist/core/add/package-index-updater.d.ts.map +1 -0
- package/packages/core/dist/core/add/package-index-updater.js +324 -0
- package/packages/core/dist/core/add/package-index-updater.js.map +1 -0
- package/packages/core/dist/core/add/platform-path-transformer.d.ts +7 -0
- package/packages/core/dist/core/add/platform-path-transformer.d.ts.map +1 -0
- package/packages/core/dist/core/add/platform-path-transformer.js +50 -0
- package/packages/core/dist/core/add/platform-path-transformer.js.map +1 -0
- package/packages/core/dist/core/add/source-collector.d.ts +12 -0
- package/packages/core/dist/core/add/source-collector.d.ts.map +1 -0
- package/packages/core/dist/core/add/source-collector.js +76 -0
- package/packages/core/dist/core/add/source-collector.js.map +1 -0
- package/packages/core/dist/core/api-keys.d.ts +21 -0
- package/packages/core/dist/core/api-keys.d.ts.map +1 -0
- package/packages/core/dist/core/api-keys.js +29 -0
- package/packages/core/dist/core/api-keys.js.map +1 -0
- package/packages/core/dist/core/auth.d.ts +32 -0
- package/packages/core/dist/core/auth.d.ts.map +1 -0
- package/packages/core/dist/core/auth.js +132 -0
- package/packages/core/dist/core/auth.js.map +1 -0
- package/packages/core/dist/core/cache-manager.d.ts +22 -0
- package/packages/core/dist/core/cache-manager.d.ts.map +1 -0
- package/packages/core/dist/core/cache-manager.js +104 -0
- package/packages/core/dist/core/cache-manager.js.map +1 -0
- package/packages/core/dist/core/config.d.ts +64 -0
- package/packages/core/dist/core/config.d.ts.map +1 -0
- package/packages/core/dist/core/config.js +189 -0
- package/packages/core/dist/core/config.js.map +1 -0
- package/packages/core/dist/core/conversion-context/creation.d.ts +50 -0
- package/packages/core/dist/core/conversion-context/creation.d.ts.map +1 -0
- package/packages/core/dist/core/conversion-context/creation.js +153 -0
- package/packages/core/dist/core/conversion-context/creation.js.map +1 -0
- package/packages/core/dist/core/conversion-context/index.d.ts +12 -0
- package/packages/core/dist/core/conversion-context/index.d.ts.map +1 -0
- package/packages/core/dist/core/conversion-context/index.js +13 -0
- package/packages/core/dist/core/conversion-context/index.js.map +1 -0
- package/packages/core/dist/core/conversion-context/serialization.d.ts +38 -0
- package/packages/core/dist/core/conversion-context/serialization.d.ts.map +1 -0
- package/packages/core/dist/core/conversion-context/serialization.js +129 -0
- package/packages/core/dist/core/conversion-context/serialization.js.map +1 -0
- package/packages/core/dist/core/conversion-context/validation.d.ts +49 -0
- package/packages/core/dist/core/conversion-context/validation.d.ts.map +1 -0
- package/packages/core/dist/core/conversion-context/validation.js +200 -0
- package/packages/core/dist/core/conversion-context/validation.js.map +1 -0
- package/packages/core/dist/core/dependency-resolver/display.d.ts +10 -0
- package/packages/core/dist/core/dependency-resolver/display.d.ts.map +1 -0
- package/packages/core/dist/core/dependency-resolver/display.js +32 -0
- package/packages/core/dist/core/dependency-resolver/display.js.map +1 -0
- package/packages/core/dist/core/dependency-resolver/index.d.ts +19 -0
- package/packages/core/dist/core/dependency-resolver/index.d.ts.map +1 -0
- package/packages/core/dist/core/dependency-resolver/index.js +22 -0
- package/packages/core/dist/core/dependency-resolver/index.js.map +1 -0
- package/packages/core/dist/core/dependency-resolver/prompts.d.ts +9 -0
- package/packages/core/dist/core/dependency-resolver/prompts.d.ts.map +1 -0
- package/packages/core/dist/core/dependency-resolver/prompts.js +12 -0
- package/packages/core/dist/core/dependency-resolver/prompts.js.map +1 -0
- package/packages/core/dist/core/dependency-resolver/resolver.d.ts +36 -0
- package/packages/core/dist/core/dependency-resolver/resolver.d.ts.map +1 -0
- package/packages/core/dist/core/dependency-resolver/resolver.js +672 -0
- package/packages/core/dist/core/dependency-resolver/resolver.js.map +1 -0
- package/packages/core/dist/core/dependency-resolver/tree-utils.d.ts +14 -0
- package/packages/core/dist/core/dependency-resolver/tree-utils.d.ts.map +1 -0
- package/packages/core/dist/core/dependency-resolver/tree-utils.js +96 -0
- package/packages/core/dist/core/dependency-resolver/tree-utils.js.map +1 -0
- package/packages/core/dist/core/dependency-resolver/types.d.ts +52 -0
- package/packages/core/dist/core/dependency-resolver/types.d.ts.map +1 -0
- package/packages/core/dist/core/dependency-resolver/types.js +2 -0
- package/packages/core/dist/core/dependency-resolver/types.js.map +1 -0
- package/packages/core/dist/core/dependency-resolver.d.ts +14 -0
- package/packages/core/dist/core/dependency-resolver.d.ts.map +1 -0
- package/packages/core/dist/core/dependency-resolver.js +15 -0
- package/packages/core/dist/core/dependency-resolver.js.map +1 -0
- package/packages/core/dist/core/device-auth.d.ts +25 -0
- package/packages/core/dist/core/device-auth.d.ts.map +1 -0
- package/packages/core/dist/core/device-auth.js +95 -0
- package/packages/core/dist/core/device-auth.js.map +1 -0
- package/packages/core/dist/core/directory.d.ts +74 -0
- package/packages/core/dist/core/directory.d.ts.map +1 -0
- package/packages/core/dist/core/directory.js +203 -0
- package/packages/core/dist/core/directory.js.map +1 -0
- package/packages/core/dist/core/discovery/file-discovery.d.ts +17 -0
- package/packages/core/dist/core/discovery/file-discovery.d.ts.map +1 -0
- package/packages/core/dist/core/discovery/file-discovery.js +61 -0
- package/packages/core/dist/core/discovery/file-discovery.js.map +1 -0
- package/packages/core/dist/core/discovery/platform-files-discovery.d.ts +3 -0
- package/packages/core/dist/core/discovery/platform-files-discovery.d.ts.map +1 -0
- package/packages/core/dist/core/discovery/platform-files-discovery.js +101 -0
- package/packages/core/dist/core/discovery/platform-files-discovery.js.map +1 -0
- package/packages/core/dist/core/execution-context.d.ts +47 -0
- package/packages/core/dist/core/execution-context.d.ts.map +1 -0
- package/packages/core/dist/core/execution-context.js +146 -0
- package/packages/core/dist/core/execution-context.js.map +1 -0
- package/packages/core/dist/core/flows/flow-execution-coordinator.d.ts +87 -0
- package/packages/core/dist/core/flows/flow-execution-coordinator.d.ts.map +1 -0
- package/packages/core/dist/core/flows/flow-execution-coordinator.js +294 -0
- package/packages/core/dist/core/flows/flow-execution-coordinator.js.map +1 -0
- package/packages/core/dist/core/flows/flow-executor.d.ts +190 -0
- package/packages/core/dist/core/flows/flow-executor.d.ts.map +1 -0
- package/packages/core/dist/core/flows/flow-executor.js +1138 -0
- package/packages/core/dist/core/flows/flow-executor.js.map +1 -0
- package/packages/core/dist/core/flows/flow-key-extractor.d.ts +40 -0
- package/packages/core/dist/core/flows/flow-key-extractor.d.ts.map +1 -0
- package/packages/core/dist/core/flows/flow-key-extractor.js +101 -0
- package/packages/core/dist/core/flows/flow-key-extractor.js.map +1 -0
- package/packages/core/dist/core/flows/flow-key-mapper.d.ts +27 -0
- package/packages/core/dist/core/flows/flow-key-mapper.d.ts.map +1 -0
- package/packages/core/dist/core/flows/flow-key-mapper.js +283 -0
- package/packages/core/dist/core/flows/flow-key-mapper.js.map +1 -0
- package/packages/core/dist/core/flows/flow-source-discovery.d.ts +106 -0
- package/packages/core/dist/core/flows/flow-source-discovery.d.ts.map +1 -0
- package/packages/core/dist/core/flows/flow-source-discovery.js +311 -0
- package/packages/core/dist/core/flows/flow-source-discovery.js.map +1 -0
- package/packages/core/dist/core/flows/flow-transforms.d.ts +129 -0
- package/packages/core/dist/core/flows/flow-transforms.d.ts.map +1 -0
- package/packages/core/dist/core/flows/flow-transforms.js +613 -0
- package/packages/core/dist/core/flows/flow-transforms.js.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/context.d.ts +30 -0
- package/packages/core/dist/core/flows/map-pipeline/context.d.ts.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/context.js +73 -0
- package/packages/core/dist/core/flows/map-pipeline/context.js.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/index.d.ts +48 -0
- package/packages/core/dist/core/flows/map-pipeline/index.d.ts.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/index.js +176 -0
- package/packages/core/dist/core/flows/map-pipeline/index.js.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/copy.d.ts +32 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/copy.d.ts.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/copy.js +104 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/copy.js.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/pipe.d.ts +37 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/pipe.d.ts.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/pipe.js +70 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/pipe.js.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/rename.d.ts +26 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/rename.d.ts.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/rename.js +102 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/rename.js.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/set.d.ts +24 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/set.d.ts.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/set.js +50 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/set.js.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/switch.d.ts +31 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/switch.d.ts.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/switch.js +84 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/switch.js.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/transform.d.ts +22 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/transform.d.ts.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/transform.js +576 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/transform.js.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/unset.d.ts +27 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/unset.d.ts.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/unset.js +65 -0
- package/packages/core/dist/core/flows/map-pipeline/operations/unset.js.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/types.d.ts +358 -0
- package/packages/core/dist/core/flows/map-pipeline/types.d.ts.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/types.js +8 -0
- package/packages/core/dist/core/flows/map-pipeline/types.js.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/utils.d.ts +104 -0
- package/packages/core/dist/core/flows/map-pipeline/utils.d.ts.map +1 -0
- package/packages/core/dist/core/flows/map-pipeline/utils.js +278 -0
- package/packages/core/dist/core/flows/map-pipeline/utils.js.map +1 -0
- package/packages/core/dist/core/flows/markdown.d.ts +22 -0
- package/packages/core/dist/core/flows/markdown.d.ts.map +1 -0
- package/packages/core/dist/core/flows/markdown.js +51 -0
- package/packages/core/dist/core/flows/markdown.js.map +1 -0
- package/packages/core/dist/core/flows/platform-converter.d.ts +90 -0
- package/packages/core/dist/core/flows/platform-converter.d.ts.map +1 -0
- package/packages/core/dist/core/flows/platform-converter.js +366 -0
- package/packages/core/dist/core/flows/platform-converter.js.map +1 -0
- package/packages/core/dist/core/flows/platform-suffix-handler.d.ts +97 -0
- package/packages/core/dist/core/flows/platform-suffix-handler.d.ts.map +1 -0
- package/packages/core/dist/core/flows/platform-suffix-handler.js +212 -0
- package/packages/core/dist/core/flows/platform-suffix-handler.js.map +1 -0
- package/packages/core/dist/core/flows/source-resolver.d.ts +99 -0
- package/packages/core/dist/core/flows/source-resolver.d.ts.map +1 -0
- package/packages/core/dist/core/flows/source-resolver.js +192 -0
- package/packages/core/dist/core/flows/source-resolver.js.map +1 -0
- package/packages/core/dist/core/flows/switch-resolver.d.ts +48 -0
- package/packages/core/dist/core/flows/switch-resolver.d.ts.map +1 -0
- package/packages/core/dist/core/flows/switch-resolver.js +205 -0
- package/packages/core/dist/core/flows/switch-resolver.js.map +1 -0
- package/packages/core/dist/core/git-clone-registry.d.ts +19 -0
- package/packages/core/dist/core/git-clone-registry.d.ts.map +1 -0
- package/packages/core/dist/core/git-clone-registry.js +88 -0
- package/packages/core/dist/core/git-clone-registry.js.map +1 -0
- package/packages/core/dist/core/git-clone.d.ts +27 -0
- package/packages/core/dist/core/git-clone.d.ts.map +1 -0
- package/packages/core/dist/core/git-clone.js +282 -0
- package/packages/core/dist/core/git-clone.js.map +1 -0
- package/packages/core/dist/core/glob-target-mapping.d.ts +18 -0
- package/packages/core/dist/core/glob-target-mapping.d.ts.map +1 -0
- package/packages/core/dist/core/glob-target-mapping.js +88 -0
- package/packages/core/dist/core/glob-target-mapping.js.map +1 -0
- package/packages/core/dist/core/http-client.d.ts +54 -0
- package/packages/core/dist/core/http-client.d.ts.map +1 -0
- package/packages/core/dist/core/http-client.js +235 -0
- package/packages/core/dist/core/http-client.js.map +1 -0
- package/packages/core/dist/core/install/ambiguity-prompts.d.ts +46 -0
- package/packages/core/dist/core/install/ambiguity-prompts.d.ts.map +1 -0
- package/packages/core/dist/core/install/ambiguity-prompts.js +108 -0
- package/packages/core/dist/core/install/ambiguity-prompts.js.map +1 -0
- package/packages/core/dist/core/install/base-detector.d.ts +50 -0
- package/packages/core/dist/core/install/base-detector.d.ts.map +1 -0
- package/packages/core/dist/core/install/base-detector.js +312 -0
- package/packages/core/dist/core/install/base-detector.js.map +1 -0
- package/packages/core/dist/core/install/conflicts/file-conflict-resolver.d.ts +215 -0
- package/packages/core/dist/core/install/conflicts/file-conflict-resolver.d.ts.map +1 -0
- package/packages/core/dist/core/install/conflicts/file-conflict-resolver.js +599 -0
- package/packages/core/dist/core/install/conflicts/file-conflict-resolver.js.map +1 -0
- package/packages/core/dist/core/install/convenience-matchers.d.ts +82 -0
- package/packages/core/dist/core/install/convenience-matchers.d.ts.map +1 -0
- package/packages/core/dist/core/install/convenience-matchers.js +355 -0
- package/packages/core/dist/core/install/convenience-matchers.js.map +1 -0
- package/packages/core/dist/core/install/conversion-context.d.ts +146 -0
- package/packages/core/dist/core/install/conversion-context.d.ts.map +1 -0
- package/packages/core/dist/core/install/conversion-context.js +163 -0
- package/packages/core/dist/core/install/conversion-context.js.map +1 -0
- package/packages/core/dist/core/install/conversion-coordinator.d.ts +91 -0
- package/packages/core/dist/core/install/conversion-coordinator.d.ts.map +1 -0
- package/packages/core/dist/core/install/conversion-coordinator.js +273 -0
- package/packages/core/dist/core/install/conversion-coordinator.js.map +1 -0
- package/packages/core/dist/core/install/detection-types.d.ts +216 -0
- package/packages/core/dist/core/install/detection-types.d.ts.map +1 -0
- package/packages/core/dist/core/install/detection-types.js +8 -0
- package/packages/core/dist/core/install/detection-types.js.map +1 -0
- package/packages/core/dist/core/install/download-keys.d.ts +10 -0
- package/packages/core/dist/core/install/download-keys.d.ts.map +1 -0
- package/packages/core/dist/core/install/download-keys.js +34 -0
- package/packages/core/dist/core/install/download-keys.js.map +1 -0
- package/packages/core/dist/core/install/file-format-detector.d.ts +52 -0
- package/packages/core/dist/core/install/file-format-detector.d.ts.map +1 -0
- package/packages/core/dist/core/install/file-format-detector.js +317 -0
- package/packages/core/dist/core/install/file-format-detector.js.map +1 -0
- package/packages/core/dist/core/install/file-updater.d.ts +7 -0
- package/packages/core/dist/core/install/file-updater.d.ts.map +1 -0
- package/packages/core/dist/core/install/file-updater.js +28 -0
- package/packages/core/dist/core/install/file-updater.js.map +1 -0
- package/packages/core/dist/core/install/flow-based-installer.d.ts +30 -0
- package/packages/core/dist/core/install/flow-based-installer.d.ts.map +1 -0
- package/packages/core/dist/core/install/flow-based-installer.js +85 -0
- package/packages/core/dist/core/install/flow-based-installer.js.map +1 -0
- package/packages/core/dist/core/install/flow-index-installer.d.ts +46 -0
- package/packages/core/dist/core/install/flow-index-installer.d.ts.map +1 -0
- package/packages/core/dist/core/install/flow-index-installer.js +319 -0
- package/packages/core/dist/core/install/flow-index-installer.js.map +1 -0
- package/packages/core/dist/core/install/format-detector.d.ts +85 -0
- package/packages/core/dist/core/install/format-detector.d.ts.map +1 -0
- package/packages/core/dist/core/install/format-detector.js +327 -0
- package/packages/core/dist/core/install/format-detector.js.map +1 -0
- package/packages/core/dist/core/install/format-distribution-analyzer.d.ts +98 -0
- package/packages/core/dist/core/install/format-distribution-analyzer.d.ts.map +1 -0
- package/packages/core/dist/core/install/format-distribution-analyzer.js +215 -0
- package/packages/core/dist/core/install/format-distribution-analyzer.js.map +1 -0
- package/packages/core/dist/core/install/format-group-merger.d.ts +66 -0
- package/packages/core/dist/core/install/format-group-merger.d.ts.map +1 -0
- package/packages/core/dist/core/install/format-group-merger.js +206 -0
- package/packages/core/dist/core/install/format-group-merger.js.map +1 -0
- package/packages/core/dist/core/install/git-package-loader.d.ts +17 -0
- package/packages/core/dist/core/install/git-package-loader.d.ts.map +1 -0
- package/packages/core/dist/core/install/git-package-loader.js +52 -0
- package/packages/core/dist/core/install/git-package-loader.js.map +1 -0
- package/packages/core/dist/core/install/handlers/index.d.ts +5 -0
- package/packages/core/dist/core/install/handlers/index.d.ts.map +1 -0
- package/packages/core/dist/core/install/handlers/index.js +6 -0
- package/packages/core/dist/core/install/handlers/index.js.map +1 -0
- package/packages/core/dist/core/install/helpers/conflict-detection.d.ts +41 -0
- package/packages/core/dist/core/install/helpers/conflict-detection.d.ts.map +1 -0
- package/packages/core/dist/core/install/helpers/conflict-detection.js +71 -0
- package/packages/core/dist/core/install/helpers/conflict-detection.js.map +1 -0
- package/packages/core/dist/core/install/helpers/file-discovery.d.ts +9 -0
- package/packages/core/dist/core/install/helpers/file-discovery.d.ts.map +1 -0
- package/packages/core/dist/core/install/helpers/file-discovery.js +63 -0
- package/packages/core/dist/core/install/helpers/file-discovery.js.map +1 -0
- package/packages/core/dist/core/install/helpers/format-detection.d.ts +42 -0
- package/packages/core/dist/core/install/helpers/format-detection.d.ts.map +1 -0
- package/packages/core/dist/core/install/helpers/format-detection.js +66 -0
- package/packages/core/dist/core/install/helpers/format-detection.js.map +1 -0
- package/packages/core/dist/core/install/helpers/index.d.ts +10 -0
- package/packages/core/dist/core/install/helpers/index.d.ts.map +1 -0
- package/packages/core/dist/core/install/helpers/index.js +14 -0
- package/packages/core/dist/core/install/helpers/index.js.map +1 -0
- package/packages/core/dist/core/install/helpers/result-aggregation.d.ts +58 -0
- package/packages/core/dist/core/install/helpers/result-aggregation.d.ts.map +1 -0
- package/packages/core/dist/core/install/helpers/result-aggregation.js +107 -0
- package/packages/core/dist/core/install/helpers/result-aggregation.js.map +1 -0
- package/packages/core/dist/core/install/helpers/result-logging.d.ts +47 -0
- package/packages/core/dist/core/install/helpers/result-logging.d.ts.map +1 -0
- package/packages/core/dist/core/install/helpers/result-logging.js +85 -0
- package/packages/core/dist/core/install/helpers/result-logging.js.map +1 -0
- package/packages/core/dist/core/install/import-flow-converter.d.ts +89 -0
- package/packages/core/dist/core/install/import-flow-converter.d.ts.map +1 -0
- package/packages/core/dist/core/install/import-flow-converter.js +436 -0
- package/packages/core/dist/core/install/import-flow-converter.js.map +1 -0
- package/packages/core/dist/core/install/index-based-installer.d.ts +35 -0
- package/packages/core/dist/core/install/index-based-installer.d.ts.map +1 -0
- package/packages/core/dist/core/install/index-based-installer.js +459 -0
- package/packages/core/dist/core/install/index-based-installer.js.map +1 -0
- package/packages/core/dist/core/install/input-classifier-base.d.ts +65 -0
- package/packages/core/dist/core/install/input-classifier-base.d.ts.map +1 -0
- package/packages/core/dist/core/install/input-classifier-base.js +173 -0
- package/packages/core/dist/core/install/input-classifier-base.js.map +1 -0
- package/packages/core/dist/core/install/install-errors.d.ts +6 -0
- package/packages/core/dist/core/install/install-errors.d.ts.map +1 -0
- package/packages/core/dist/core/install/install-errors.js +41 -0
- package/packages/core/dist/core/install/install-errors.js.map +1 -0
- package/packages/core/dist/core/install/install-helpers.d.ts +36 -0
- package/packages/core/dist/core/install/install-helpers.d.ts.map +1 -0
- package/packages/core/dist/core/install/install-helpers.js +89 -0
- package/packages/core/dist/core/install/install-helpers.js.map +1 -0
- package/packages/core/dist/core/install/install-reporting.d.ts +42 -0
- package/packages/core/dist/core/install/install-reporting.d.ts.map +1 -0
- package/packages/core/dist/core/install/install-reporting.js +182 -0
- package/packages/core/dist/core/install/install-reporting.js.map +1 -0
- package/packages/core/dist/core/install/list-handler.d.ts +18 -0
- package/packages/core/dist/core/install/list-handler.d.ts.map +1 -0
- package/packages/core/dist/core/install/list-handler.js +112 -0
- package/packages/core/dist/core/install/list-handler.js.map +1 -0
- package/packages/core/dist/core/install/local-source-resolution.d.ts +30 -0
- package/packages/core/dist/core/install/local-source-resolution.d.ts.map +1 -0
- package/packages/core/dist/core/install/local-source-resolution.js +103 -0
- package/packages/core/dist/core/install/local-source-resolution.js.map +1 -0
- package/packages/core/dist/core/install/marketplace-handler.d.ts +129 -0
- package/packages/core/dist/core/install/marketplace-handler.d.ts.map +1 -0
- package/packages/core/dist/core/install/marketplace-handler.js +631 -0
- package/packages/core/dist/core/install/marketplace-handler.js.map +1 -0
- package/packages/core/dist/core/install/operations/conflict-handler.d.ts +13 -0
- package/packages/core/dist/core/install/operations/conflict-handler.d.ts.map +1 -0
- package/packages/core/dist/core/install/operations/conflict-handler.js +73 -0
- package/packages/core/dist/core/install/operations/conflict-handler.js.map +1 -0
- package/packages/core/dist/core/install/operations/index.d.ts +8 -0
- package/packages/core/dist/core/install/operations/index.d.ts.map +1 -0
- package/packages/core/dist/core/install/operations/index.js +8 -0
- package/packages/core/dist/core/install/operations/index.js.map +1 -0
- package/packages/core/dist/core/install/operations/installation-executor.d.ts +48 -0
- package/packages/core/dist/core/install/operations/installation-executor.d.ts.map +1 -0
- package/packages/core/dist/core/install/operations/installation-executor.js +174 -0
- package/packages/core/dist/core/install/operations/installation-executor.js.map +1 -0
- package/packages/core/dist/core/install/operations/root-files.d.ts +37 -0
- package/packages/core/dist/core/install/operations/root-files.d.ts.map +1 -0
- package/packages/core/dist/core/install/operations/root-files.js +173 -0
- package/packages/core/dist/core/install/operations/root-files.js.map +1 -0
- package/packages/core/dist/core/install/orchestrator/index.d.ts +5 -0
- package/packages/core/dist/core/install/orchestrator/index.d.ts.map +1 -0
- package/packages/core/dist/core/install/orchestrator/index.js +4 -0
- package/packages/core/dist/core/install/orchestrator/index.js.map +1 -0
- package/packages/core/dist/core/install/orchestrator/orchestrator.d.ts +96 -0
- package/packages/core/dist/core/install/orchestrator/orchestrator.d.ts.map +1 -0
- package/packages/core/dist/core/install/orchestrator/orchestrator.js +684 -0
- package/packages/core/dist/core/install/orchestrator/orchestrator.js.map +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/base.d.ts +34 -0
- package/packages/core/dist/core/install/orchestrator/strategies/base.d.ts.map +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/base.js +43 -0
- package/packages/core/dist/core/install/orchestrator/strategies/base.js.map +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/bulk-strategy.d.ts +17 -0
- package/packages/core/dist/core/install/orchestrator/strategies/bulk-strategy.d.ts.map +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/bulk-strategy.js +52 -0
- package/packages/core/dist/core/install/orchestrator/strategies/bulk-strategy.js.map +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/git-strategy.d.ts +15 -0
- package/packages/core/dist/core/install/orchestrator/strategies/git-strategy.d.ts.map +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/git-strategy.js +112 -0
- package/packages/core/dist/core/install/orchestrator/strategies/git-strategy.js.map +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/index.d.ts +11 -0
- package/packages/core/dist/core/install/orchestrator/strategies/index.d.ts.map +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/index.js +21 -0
- package/packages/core/dist/core/install/orchestrator/strategies/index.js.map +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/path-strategy.d.ts +17 -0
- package/packages/core/dist/core/install/orchestrator/strategies/path-strategy.d.ts.map +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/path-strategy.js +61 -0
- package/packages/core/dist/core/install/orchestrator/strategies/path-strategy.js.map +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/registry-strategy.d.ts +17 -0
- package/packages/core/dist/core/install/orchestrator/strategies/registry-strategy.d.ts.map +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/registry-strategy.js +38 -0
- package/packages/core/dist/core/install/orchestrator/strategies/registry-strategy.js.map +1 -0
- package/packages/core/dist/core/install/orchestrator/subsumption-resolver.d.ts +75 -0
- package/packages/core/dist/core/install/orchestrator/subsumption-resolver.d.ts.map +1 -0
- package/packages/core/dist/core/install/orchestrator/subsumption-resolver.js +193 -0
- package/packages/core/dist/core/install/orchestrator/subsumption-resolver.js.map +1 -0
- package/packages/core/dist/core/install/orchestrator/types.d.ts +104 -0
- package/packages/core/dist/core/install/orchestrator/types.d.ts.map +1 -0
- package/packages/core/dist/core/install/orchestrator/types.js +2 -0
- package/packages/core/dist/core/install/orchestrator/types.js.map +1 -0
- package/packages/core/dist/core/install/package-input.d.ts +28 -0
- package/packages/core/dist/core/install/package-input.d.ts.map +1 -0
- package/packages/core/dist/core/install/package-input.js +99 -0
- package/packages/core/dist/core/install/package-input.js.map +1 -0
- package/packages/core/dist/core/install/package-installation.d.ts +13 -0
- package/packages/core/dist/core/install/package-installation.d.ts.map +1 -0
- package/packages/core/dist/core/install/package-installation.js +30 -0
- package/packages/core/dist/core/install/package-installation.js.map +1 -0
- package/packages/core/dist/core/install/package-marker-detector.d.ts +93 -0
- package/packages/core/dist/core/install/package-marker-detector.d.ts.map +1 -0
- package/packages/core/dist/core/install/package-marker-detector.js +185 -0
- package/packages/core/dist/core/install/package-marker-detector.js.map +1 -0
- package/packages/core/dist/core/install/path-package-loader.d.ts +42 -0
- package/packages/core/dist/core/install/path-package-loader.d.ts.map +1 -0
- package/packages/core/dist/core/install/path-package-loader.js +173 -0
- package/packages/core/dist/core/install/path-package-loader.js.map +1 -0
- package/packages/core/dist/core/install/platform-resolution.d.ts +15 -0
- package/packages/core/dist/core/install/platform-resolution.d.ts.map +1 -0
- package/packages/core/dist/core/install/platform-resolution.js +31 -0
- package/packages/core/dist/core/install/platform-resolution.js.map +1 -0
- package/packages/core/dist/core/install/plugin-detector.d.ts +46 -0
- package/packages/core/dist/core/install/plugin-detector.d.ts.map +1 -0
- package/packages/core/dist/core/install/plugin-detector.js +126 -0
- package/packages/core/dist/core/install/plugin-detector.js.map +1 -0
- package/packages/core/dist/core/install/plugin-metadata-resolver.d.ts +62 -0
- package/packages/core/dist/core/install/plugin-metadata-resolver.d.ts.map +1 -0
- package/packages/core/dist/core/install/plugin-metadata-resolver.js +125 -0
- package/packages/core/dist/core/install/plugin-metadata-resolver.js.map +1 -0
- package/packages/core/dist/core/install/plugin-sources.d.ts +59 -0
- package/packages/core/dist/core/install/plugin-sources.d.ts.map +1 -0
- package/packages/core/dist/core/install/plugin-sources.js +122 -0
- package/packages/core/dist/core/install/plugin-sources.js.map +1 -0
- package/packages/core/dist/core/install/plugin-transformer.d.ts +29 -0
- package/packages/core/dist/core/install/plugin-transformer.d.ts.map +1 -0
- package/packages/core/dist/core/install/plugin-transformer.js +159 -0
- package/packages/core/dist/core/install/plugin-transformer.js.map +1 -0
- package/packages/core/dist/core/install/preprocessing/base-resolver.d.ts +61 -0
- package/packages/core/dist/core/install/preprocessing/base-resolver.d.ts.map +1 -0
- package/packages/core/dist/core/install/preprocessing/base-resolver.js +135 -0
- package/packages/core/dist/core/install/preprocessing/base-resolver.js.map +1 -0
- package/packages/core/dist/core/install/preprocessing/convenience-preprocessor.d.ts +11 -0
- package/packages/core/dist/core/install/preprocessing/convenience-preprocessor.d.ts.map +1 -0
- package/packages/core/dist/core/install/preprocessing/convenience-preprocessor.js +22 -0
- package/packages/core/dist/core/install/preprocessing/convenience-preprocessor.js.map +1 -0
- package/packages/core/dist/core/install/preprocessing/index.d.ts +6 -0
- package/packages/core/dist/core/install/preprocessing/index.d.ts.map +1 -0
- package/packages/core/dist/core/install/preprocessing/index.js +5 -0
- package/packages/core/dist/core/install/preprocessing/index.js.map +1 -0
- package/packages/core/dist/core/install/preprocessing/input-classifier.d.ts +21 -0
- package/packages/core/dist/core/install/preprocessing/input-classifier.d.ts.map +1 -0
- package/packages/core/dist/core/install/preprocessing/input-classifier.js +66 -0
- package/packages/core/dist/core/install/preprocessing/input-classifier.js.map +1 -0
- package/packages/core/dist/core/install/preprocessing/options-normalizer.d.ts +19 -0
- package/packages/core/dist/core/install/preprocessing/options-normalizer.d.ts.map +1 -0
- package/packages/core/dist/core/install/preprocessing/options-normalizer.js +41 -0
- package/packages/core/dist/core/install/preprocessing/options-normalizer.js.map +1 -0
- package/packages/core/dist/core/install/remote-flow.d.ts +38 -0
- package/packages/core/dist/core/install/remote-flow.d.ts.map +1 -0
- package/packages/core/dist/core/install/remote-flow.js +180 -0
- package/packages/core/dist/core/install/remote-flow.js.map +1 -0
- package/packages/core/dist/core/install/remote-reporting.d.ts +11 -0
- package/packages/core/dist/core/install/remote-reporting.d.ts.map +1 -0
- package/packages/core/dist/core/install/remote-reporting.js +63 -0
- package/packages/core/dist/core/install/remote-reporting.js.map +1 -0
- package/packages/core/dist/core/install/resolution/content-root-cache.d.ts +32 -0
- package/packages/core/dist/core/install/resolution/content-root-cache.d.ts.map +1 -0
- package/packages/core/dist/core/install/resolution/content-root-cache.js +87 -0
- package/packages/core/dist/core/install/resolution/content-root-cache.js.map +1 -0
- package/packages/core/dist/core/install/resolution/executor.d.ts +23 -0
- package/packages/core/dist/core/install/resolution/executor.d.ts.map +1 -0
- package/packages/core/dist/core/install/resolution/executor.js +187 -0
- package/packages/core/dist/core/install/resolution/executor.js.map +1 -0
- package/packages/core/dist/core/install/resolution/graph-builder.d.ts +31 -0
- package/packages/core/dist/core/install/resolution/graph-builder.d.ts.map +1 -0
- package/packages/core/dist/core/install/resolution/graph-builder.js +299 -0
- package/packages/core/dist/core/install/resolution/graph-builder.js.map +1 -0
- package/packages/core/dist/core/install/resolution/id-generator.d.ts +19 -0
- package/packages/core/dist/core/install/resolution/id-generator.d.ts.map +1 -0
- package/packages/core/dist/core/install/resolution/id-generator.js +70 -0
- package/packages/core/dist/core/install/resolution/id-generator.js.map +1 -0
- package/packages/core/dist/core/install/resolution/index.d.ts +15 -0
- package/packages/core/dist/core/install/resolution/index.d.ts.map +1 -0
- package/packages/core/dist/core/install/resolution/index.js +13 -0
- package/packages/core/dist/core/install/resolution/index.js.map +1 -0
- package/packages/core/dist/core/install/resolution/installation-planner.d.ts +23 -0
- package/packages/core/dist/core/install/resolution/installation-planner.d.ts.map +1 -0
- package/packages/core/dist/core/install/resolution/installation-planner.js +158 -0
- package/packages/core/dist/core/install/resolution/installation-planner.js.map +1 -0
- package/packages/core/dist/core/install/resolution/manifest-reader.d.ts +34 -0
- package/packages/core/dist/core/install/resolution/manifest-reader.d.ts.map +1 -0
- package/packages/core/dist/core/install/resolution/manifest-reader.js +112 -0
- package/packages/core/dist/core/install/resolution/manifest-reader.js.map +1 -0
- package/packages/core/dist/core/install/resolution/package-loader.d.ts +22 -0
- package/packages/core/dist/core/install/resolution/package-loader.d.ts.map +1 -0
- package/packages/core/dist/core/install/resolution/package-loader.js +176 -0
- package/packages/core/dist/core/install/resolution/package-loader.js.map +1 -0
- package/packages/core/dist/core/install/resolution/types.d.ts +290 -0
- package/packages/core/dist/core/install/resolution/types.d.ts.map +1 -0
- package/packages/core/dist/core/install/resolution/types.js +6 -0
- package/packages/core/dist/core/install/resolution/types.js.map +1 -0
- package/packages/core/dist/core/install/resolution/version-solver.d.ts +43 -0
- package/packages/core/dist/core/install/resolution/version-solver.d.ts.map +1 -0
- package/packages/core/dist/core/install/resolution/version-solver.js +166 -0
- package/packages/core/dist/core/install/resolution/version-solver.js.map +1 -0
- package/packages/core/dist/core/install/resource-discoverer.d.ts +21 -0
- package/packages/core/dist/core/install/resource-discoverer.d.ts.map +1 -0
- package/packages/core/dist/core/install/resource-discoverer.js +233 -0
- package/packages/core/dist/core/install/resource-discoverer.js.map +1 -0
- package/packages/core/dist/core/install/resource-selection-menu.d.ts +25 -0
- package/packages/core/dist/core/install/resource-selection-menu.d.ts.map +1 -0
- package/packages/core/dist/core/install/resource-selection-menu.js +250 -0
- package/packages/core/dist/core/install/resource-selection-menu.js.map +1 -0
- package/packages/core/dist/core/install/resource-types.d.ts +62 -0
- package/packages/core/dist/core/install/resource-types.d.ts.map +1 -0
- package/packages/core/dist/core/install/resource-types.js +5 -0
- package/packages/core/dist/core/install/resource-types.js.map +1 -0
- package/packages/core/dist/core/install/schema-registry.d.ts +69 -0
- package/packages/core/dist/core/install/schema-registry.d.ts.map +1 -0
- package/packages/core/dist/core/install/schema-registry.js +219 -0
- package/packages/core/dist/core/install/schema-registry.js.map +1 -0
- package/packages/core/dist/core/install/sources/base.d.ts +77 -0
- package/packages/core/dist/core/install/sources/base.d.ts.map +1 -0
- package/packages/core/dist/core/install/sources/base.js +12 -0
- package/packages/core/dist/core/install/sources/base.js.map +1 -0
- package/packages/core/dist/core/install/sources/git-source.d.ts +11 -0
- package/packages/core/dist/core/install/sources/git-source.d.ts.map +1 -0
- package/packages/core/dist/core/install/sources/git-source.js +132 -0
- package/packages/core/dist/core/install/sources/git-source.js.map +1 -0
- package/packages/core/dist/core/install/sources/loader-factory.d.ts +7 -0
- package/packages/core/dist/core/install/sources/loader-factory.d.ts.map +1 -0
- package/packages/core/dist/core/install/sources/loader-factory.js +24 -0
- package/packages/core/dist/core/install/sources/loader-factory.js.map +1 -0
- package/packages/core/dist/core/install/sources/path-source.d.ts +11 -0
- package/packages/core/dist/core/install/sources/path-source.d.ts.map +1 -0
- package/packages/core/dist/core/install/sources/path-source.js +124 -0
- package/packages/core/dist/core/install/sources/path-source.js.map +1 -0
- package/packages/core/dist/core/install/sources/registry-source.d.ts +11 -0
- package/packages/core/dist/core/install/sources/registry-source.d.ts.map +1 -0
- package/packages/core/dist/core/install/sources/registry-source.js +85 -0
- package/packages/core/dist/core/install/sources/registry-source.js.map +1 -0
- package/packages/core/dist/core/install/sources/workspace-source.d.ts +11 -0
- package/packages/core/dist/core/install/sources/workspace-source.d.ts.map +1 -0
- package/packages/core/dist/core/install/sources/workspace-source.js +78 -0
- package/packages/core/dist/core/install/sources/workspace-source.js.map +1 -0
- package/packages/core/dist/core/install/strategies/base-strategy.d.ts +56 -0
- package/packages/core/dist/core/install/strategies/base-strategy.d.ts.map +1 -0
- package/packages/core/dist/core/install/strategies/base-strategy.js +128 -0
- package/packages/core/dist/core/install/strategies/base-strategy.js.map +1 -0
- package/packages/core/dist/core/install/strategies/conversion-strategy.d.ts +43 -0
- package/packages/core/dist/core/install/strategies/conversion-strategy.d.ts.map +1 -0
- package/packages/core/dist/core/install/strategies/conversion-strategy.js +146 -0
- package/packages/core/dist/core/install/strategies/conversion-strategy.js.map +1 -0
- package/packages/core/dist/core/install/strategies/flow-based-strategy.d.ts +50 -0
- package/packages/core/dist/core/install/strategies/flow-based-strategy.d.ts.map +1 -0
- package/packages/core/dist/core/install/strategies/flow-based-strategy.js +326 -0
- package/packages/core/dist/core/install/strategies/flow-based-strategy.js.map +1 -0
- package/packages/core/dist/core/install/strategies/helpers/flow-helpers.d.ts +12 -0
- package/packages/core/dist/core/install/strategies/helpers/flow-helpers.d.ts.map +1 -0
- package/packages/core/dist/core/install/strategies/helpers/flow-helpers.js +22 -0
- package/packages/core/dist/core/install/strategies/helpers/flow-helpers.js.map +1 -0
- package/packages/core/dist/core/install/strategies/helpers/platform-filtering.d.ts +21 -0
- package/packages/core/dist/core/install/strategies/helpers/platform-filtering.d.ts.map +1 -0
- package/packages/core/dist/core/install/strategies/helpers/platform-filtering.js +53 -0
- package/packages/core/dist/core/install/strategies/helpers/platform-filtering.js.map +1 -0
- package/packages/core/dist/core/install/strategies/helpers/result-converter.d.ts +22 -0
- package/packages/core/dist/core/install/strategies/helpers/result-converter.d.ts.map +1 -0
- package/packages/core/dist/core/install/strategies/helpers/result-converter.js +60 -0
- package/packages/core/dist/core/install/strategies/helpers/result-converter.js.map +1 -0
- package/packages/core/dist/core/install/strategies/helpers/temp-directory.d.ts +45 -0
- package/packages/core/dist/core/install/strategies/helpers/temp-directory.d.ts.map +1 -0
- package/packages/core/dist/core/install/strategies/helpers/temp-directory.js +77 -0
- package/packages/core/dist/core/install/strategies/helpers/temp-directory.js.map +1 -0
- package/packages/core/dist/core/install/strategies/index.d.ts +16 -0
- package/packages/core/dist/core/install/strategies/index.d.ts.map +1 -0
- package/packages/core/dist/core/install/strategies/index.js +18 -0
- package/packages/core/dist/core/install/strategies/index.js.map +1 -0
- package/packages/core/dist/core/install/strategies/strategy-selector.d.ts +20 -0
- package/packages/core/dist/core/install/strategies/strategy-selector.d.ts.map +1 -0
- package/packages/core/dist/core/install/strategies/strategy-selector.js +34 -0
- package/packages/core/dist/core/install/strategies/strategy-selector.js.map +1 -0
- package/packages/core/dist/core/install/strategies/types.d.ts +89 -0
- package/packages/core/dist/core/install/strategies/types.d.ts.map +1 -0
- package/packages/core/dist/core/install/strategies/types.js +7 -0
- package/packages/core/dist/core/install/strategies/types.js.map +1 -0
- package/packages/core/dist/core/install/types.d.ts +12 -0
- package/packages/core/dist/core/install/types.d.ts.map +1 -0
- package/packages/core/dist/core/install/types.js +5 -0
- package/packages/core/dist/core/install/types.js.map +1 -0
- package/packages/core/dist/core/install/unified/context-builders.d.ts +52 -0
- package/packages/core/dist/core/install/unified/context-builders.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/context-builders.js +396 -0
- package/packages/core/dist/core/install/unified/context-builders.js.map +1 -0
- package/packages/core/dist/core/install/unified/context-helpers.d.ts +22 -0
- package/packages/core/dist/core/install/unified/context-helpers.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/context-helpers.js +80 -0
- package/packages/core/dist/core/install/unified/context-helpers.js.map +1 -0
- package/packages/core/dist/core/install/unified/context.d.ts +124 -0
- package/packages/core/dist/core/install/unified/context.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/context.js +2 -0
- package/packages/core/dist/core/install/unified/context.js.map +1 -0
- package/packages/core/dist/core/install/unified/index.d.ts +12 -0
- package/packages/core/dist/core/install/unified/index.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/index.js +13 -0
- package/packages/core/dist/core/install/unified/index.js.map +1 -0
- package/packages/core/dist/core/install/unified/multi-context-pipeline.d.ts +10 -0
- package/packages/core/dist/core/install/unified/multi-context-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/multi-context-pipeline.js +86 -0
- package/packages/core/dist/core/install/unified/multi-context-pipeline.js.map +1 -0
- package/packages/core/dist/core/install/unified/phases/conflicts.d.ts +7 -0
- package/packages/core/dist/core/install/unified/phases/conflicts.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/phases/conflicts.js +17 -0
- package/packages/core/dist/core/install/unified/phases/conflicts.js.map +1 -0
- package/packages/core/dist/core/install/unified/phases/convert.d.ts +22 -0
- package/packages/core/dist/core/install/unified/phases/convert.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/phases/convert.js +228 -0
- package/packages/core/dist/core/install/unified/phases/convert.js.map +1 -0
- package/packages/core/dist/core/install/unified/phases/execute.d.ts +26 -0
- package/packages/core/dist/core/install/unified/phases/execute.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/phases/execute.js +82 -0
- package/packages/core/dist/core/install/unified/phases/execute.js.map +1 -0
- package/packages/core/dist/core/install/unified/phases/load-package.d.ts +11 -0
- package/packages/core/dist/core/install/unified/phases/load-package.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/phases/load-package.js +121 -0
- package/packages/core/dist/core/install/unified/phases/load-package.js.map +1 -0
- package/packages/core/dist/core/install/unified/phases/manifest.d.ts +6 -0
- package/packages/core/dist/core/install/unified/phases/manifest.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/phases/manifest.js +73 -0
- package/packages/core/dist/core/install/unified/phases/manifest.js.map +1 -0
- package/packages/core/dist/core/install/unified/phases/report.d.ts +11 -0
- package/packages/core/dist/core/install/unified/phases/report.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/phases/report.js +62 -0
- package/packages/core/dist/core/install/unified/phases/report.js.map +1 -0
- package/packages/core/dist/core/install/unified/phases/resolve-dependencies.d.ts +6 -0
- package/packages/core/dist/core/install/unified/phases/resolve-dependencies.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/phases/resolve-dependencies.js +122 -0
- package/packages/core/dist/core/install/unified/phases/resolve-dependencies.js.map +1 -0
- package/packages/core/dist/core/install/unified/pipeline.d.ts +13 -0
- package/packages/core/dist/core/install/unified/pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/install/unified/pipeline.js +114 -0
- package/packages/core/dist/core/install/unified/pipeline.js.map +1 -0
- package/packages/core/dist/core/install/validators/index.d.ts +3 -0
- package/packages/core/dist/core/install/validators/index.d.ts.map +1 -0
- package/packages/core/dist/core/install/validators/index.js +3 -0
- package/packages/core/dist/core/install/validators/index.js.map +1 -0
- package/packages/core/dist/core/install/validators/options-validator.d.ts +16 -0
- package/packages/core/dist/core/install/validators/options-validator.d.ts.map +1 -0
- package/packages/core/dist/core/install/validators/options-validator.js +28 -0
- package/packages/core/dist/core/install/validators/options-validator.js.map +1 -0
- package/packages/core/dist/core/install/validators/target-validator.d.ts +6 -0
- package/packages/core/dist/core/install/validators/target-validator.d.ts.map +1 -0
- package/packages/core/dist/core/install/validators/target-validator.js +19 -0
- package/packages/core/dist/core/install/validators/target-validator.js.map +1 -0
- package/packages/core/dist/core/install/version-selection.d.ts +51 -0
- package/packages/core/dist/core/install/version-selection.d.ts.map +1 -0
- package/packages/core/dist/core/install/version-selection.js +272 -0
- package/packages/core/dist/core/install/version-selection.js.map +1 -0
- package/packages/core/dist/core/interaction-policy.d.ts +40 -0
- package/packages/core/dist/core/interaction-policy.d.ts.map +1 -0
- package/packages/core/dist/core/interaction-policy.js +60 -0
- package/packages/core/dist/core/interaction-policy.js.map +1 -0
- package/packages/core/dist/core/list/list-pipeline.d.ts +80 -0
- package/packages/core/dist/core/list/list-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/list/list-pipeline.js +550 -0
- package/packages/core/dist/core/list/list-pipeline.js.map +1 -0
- package/packages/core/dist/core/list/list-printers.d.ts +16 -0
- package/packages/core/dist/core/list/list-printers.d.ts.map +1 -0
- package/packages/core/dist/core/list/list-printers.js +191 -0
- package/packages/core/dist/core/list/list-printers.js.map +1 -0
- package/packages/core/dist/core/list/list-tree-renderer.d.ts +95 -0
- package/packages/core/dist/core/list/list-tree-renderer.d.ts.map +1 -0
- package/packages/core/dist/core/list/list-tree-renderer.js +147 -0
- package/packages/core/dist/core/list/list-tree-renderer.js.map +1 -0
- package/packages/core/dist/core/list/remote-list-resolver.d.ts +22 -0
- package/packages/core/dist/core/list/remote-list-resolver.d.ts.map +1 -0
- package/packages/core/dist/core/list/remote-list-resolver.js +219 -0
- package/packages/core/dist/core/list/remote-list-resolver.js.map +1 -0
- package/packages/core/dist/core/list/scope-data-collector.d.ts +59 -0
- package/packages/core/dist/core/list/scope-data-collector.d.ts.map +1 -0
- package/packages/core/dist/core/list/scope-data-collector.js +307 -0
- package/packages/core/dist/core/list/scope-data-collector.js.map +1 -0
- package/packages/core/dist/core/list/untracked-files-scanner.d.ts +62 -0
- package/packages/core/dist/core/list/untracked-files-scanner.d.ts.map +1 -0
- package/packages/core/dist/core/list/untracked-files-scanner.js +471 -0
- package/packages/core/dist/core/list/untracked-files-scanner.js.map +1 -0
- package/packages/core/dist/core/list/view-metadata.d.ts +12 -0
- package/packages/core/dist/core/list/view-metadata.d.ts.map +1 -0
- package/packages/core/dist/core/list/view-metadata.js +31 -0
- package/packages/core/dist/core/list/view-metadata.js.map +1 -0
- package/packages/core/dist/core/markdown-frontmatter.d.ts +54 -0
- package/packages/core/dist/core/markdown-frontmatter.d.ts.map +1 -0
- package/packages/core/dist/core/markdown-frontmatter.js +224 -0
- package/packages/core/dist/core/markdown-frontmatter.js.map +1 -0
- package/packages/core/dist/core/openpackage.d.ts +46 -0
- package/packages/core/dist/core/openpackage.d.ts.map +1 -0
- package/packages/core/dist/core/openpackage.js +303 -0
- package/packages/core/dist/core/openpackage.js.map +1 -0
- package/packages/core/dist/core/package-context.d.ts +99 -0
- package/packages/core/dist/core/package-context.d.ts.map +1 -0
- package/packages/core/dist/core/package-context.js +220 -0
- package/packages/core/dist/core/package-context.js.map +1 -0
- package/packages/core/dist/core/package-creation.d.ts +45 -0
- package/packages/core/dist/core/package-creation.d.ts.map +1 -0
- package/packages/core/dist/core/package-creation.js +160 -0
- package/packages/core/dist/core/package-creation.js.map +1 -0
- package/packages/core/dist/core/package-management.d.ts +70 -0
- package/packages/core/dist/core/package-management.d.ts.map +1 -0
- package/packages/core/dist/core/package-management.js +416 -0
- package/packages/core/dist/core/package-management.js.map +1 -0
- package/packages/core/dist/core/package-name-resolution.d.ts +110 -0
- package/packages/core/dist/core/package-name-resolution.d.ts.map +1 -0
- package/packages/core/dist/core/package-name-resolution.js +327 -0
- package/packages/core/dist/core/package-name-resolution.js.map +1 -0
- package/packages/core/dist/core/package-versioning.d.ts +37 -0
- package/packages/core/dist/core/package-versioning.d.ts.map +1 -0
- package/packages/core/dist/core/package-versioning.js +107 -0
- package/packages/core/dist/core/package-versioning.js.map +1 -0
- package/packages/core/dist/core/package.d.ts +50 -0
- package/packages/core/dist/core/package.d.ts.map +1 -0
- package/packages/core/dist/core/package.js +243 -0
- package/packages/core/dist/core/package.js.map +1 -0
- package/packages/core/dist/core/platform/directory-preservation.d.ts +52 -0
- package/packages/core/dist/core/platform/directory-preservation.d.ts.map +1 -0
- package/packages/core/dist/core/platform/directory-preservation.js +101 -0
- package/packages/core/dist/core/platform/directory-preservation.js.map +1 -0
- package/packages/core/dist/core/platform/platform-file.d.ts +42 -0
- package/packages/core/dist/core/platform/platform-file.d.ts.map +1 -0
- package/packages/core/dist/core/platform/platform-file.js +133 -0
- package/packages/core/dist/core/platform/platform-file.js.map +1 -0
- package/packages/core/dist/core/platform/platform-mapper.d.ts +74 -0
- package/packages/core/dist/core/platform/platform-mapper.d.ts.map +1 -0
- package/packages/core/dist/core/platform/platform-mapper.js +541 -0
- package/packages/core/dist/core/platform/platform-mapper.js.map +1 -0
- package/packages/core/dist/core/platform/platform-root-files.d.ts +25 -0
- package/packages/core/dist/core/platform/platform-root-files.d.ts.map +1 -0
- package/packages/core/dist/core/platform/platform-root-files.js +44 -0
- package/packages/core/dist/core/platform/platform-root-files.js.map +1 -0
- package/packages/core/dist/core/platform/platform-specific-paths.d.ts +20 -0
- package/packages/core/dist/core/platform/platform-specific-paths.d.ts.map +1 -0
- package/packages/core/dist/core/platform/platform-specific-paths.js +81 -0
- package/packages/core/dist/core/platform/platform-specific-paths.js.map +1 -0
- package/packages/core/dist/core/platform/platform-utils.d.ts +23 -0
- package/packages/core/dist/core/platform/platform-utils.d.ts.map +1 -0
- package/packages/core/dist/core/platform/platform-utils.js +65 -0
- package/packages/core/dist/core/platform/platform-utils.js.map +1 -0
- package/packages/core/dist/core/platform/registry-entry-filter.d.ts +29 -0
- package/packages/core/dist/core/platform/registry-entry-filter.d.ts.map +1 -0
- package/packages/core/dist/core/platform/registry-entry-filter.js +91 -0
- package/packages/core/dist/core/platform/registry-entry-filter.js.map +1 -0
- package/packages/core/dist/core/platform/root-file-uninstaller.d.ts +15 -0
- package/packages/core/dist/core/platform/root-file-uninstaller.d.ts.map +1 -0
- package/packages/core/dist/core/platform/root-file-uninstaller.js +74 -0
- package/packages/core/dist/core/platform/root-file-uninstaller.js.map +1 -0
- package/packages/core/dist/core/platform-yaml-merge.d.ts +9 -0
- package/packages/core/dist/core/platform-yaml-merge.d.ts.map +1 -0
- package/packages/core/dist/core/platform-yaml-merge.js +35 -0
- package/packages/core/dist/core/platform-yaml-merge.js.map +1 -0
- package/packages/core/dist/core/platforms.d.ts +197 -0
- package/packages/core/dist/core/platforms.d.ts.map +1 -0
- package/packages/core/dist/core/platforms.js +939 -0
- package/packages/core/dist/core/platforms.js.map +1 -0
- package/packages/core/dist/core/ports/console-output.d.ts +10 -0
- package/packages/core/dist/core/ports/console-output.d.ts.map +1 -0
- package/packages/core/dist/core/ports/console-output.js +64 -0
- package/packages/core/dist/core/ports/console-output.js.map +1 -0
- package/packages/core/dist/core/ports/console-progress.d.ts +21 -0
- package/packages/core/dist/core/ports/console-progress.d.ts.map +1 -0
- package/packages/core/dist/core/ports/console-progress.js +101 -0
- package/packages/core/dist/core/ports/console-progress.js.map +1 -0
- package/packages/core/dist/core/ports/console-prompt.d.ts +13 -0
- package/packages/core/dist/core/ports/console-prompt.d.ts.map +1 -0
- package/packages/core/dist/core/ports/console-prompt.js +32 -0
- package/packages/core/dist/core/ports/console-prompt.js.map +1 -0
- package/packages/core/dist/core/ports/index.d.ts +15 -0
- package/packages/core/dist/core/ports/index.d.ts.map +1 -0
- package/packages/core/dist/core/ports/index.js +12 -0
- package/packages/core/dist/core/ports/index.js.map +1 -0
- package/packages/core/dist/core/ports/output.d.ts +50 -0
- package/packages/core/dist/core/ports/output.d.ts.map +1 -0
- package/packages/core/dist/core/ports/output.js +13 -0
- package/packages/core/dist/core/ports/output.js.map +1 -0
- package/packages/core/dist/core/ports/progress.d.ts +131 -0
- package/packages/core/dist/core/ports/progress.d.ts.map +1 -0
- package/packages/core/dist/core/ports/progress.js +19 -0
- package/packages/core/dist/core/ports/progress.js.map +1 -0
- package/packages/core/dist/core/ports/prompt.d.ts +64 -0
- package/packages/core/dist/core/ports/prompt.d.ts.map +1 -0
- package/packages/core/dist/core/ports/prompt.js +14 -0
- package/packages/core/dist/core/ports/prompt.js.map +1 -0
- package/packages/core/dist/core/ports/resolve.d.ts +50 -0
- package/packages/core/dist/core/ports/resolve.d.ts.map +1 -0
- package/packages/core/dist/core/ports/resolve.js +64 -0
- package/packages/core/dist/core/ports/resolve.js.map +1 -0
- package/packages/core/dist/core/profiles.d.ts +54 -0
- package/packages/core/dist/core/profiles.d.ts.map +1 -0
- package/packages/core/dist/core/profiles.js +230 -0
- package/packages/core/dist/core/profiles.js.map +1 -0
- package/packages/core/dist/core/publish/local-publish-pipeline.d.ts +17 -0
- package/packages/core/dist/core/publish/local-publish-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/publish/local-publish-pipeline.js +162 -0
- package/packages/core/dist/core/publish/local-publish-pipeline.js.map +1 -0
- package/packages/core/dist/core/publish/publish-errors.d.ts +8 -0
- package/packages/core/dist/core/publish/publish-errors.d.ts.map +1 -0
- package/packages/core/dist/core/publish/publish-errors.js +57 -0
- package/packages/core/dist/core/publish/publish-errors.js.map +1 -0
- package/packages/core/dist/core/publish/publish-output.d.ts +29 -0
- package/packages/core/dist/core/publish/publish-output.d.ts.map +1 -0
- package/packages/core/dist/core/publish/publish-output.js +62 -0
- package/packages/core/dist/core/publish/publish-output.js.map +1 -0
- package/packages/core/dist/core/publish/publish-pipeline.d.ts +7 -0
- package/packages/core/dist/core/publish/publish-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/publish/publish-pipeline.js +238 -0
- package/packages/core/dist/core/publish/publish-pipeline.js.map +1 -0
- package/packages/core/dist/core/publish/publish-types.d.ts +18 -0
- package/packages/core/dist/core/publish/publish-types.d.ts.map +1 -0
- package/packages/core/dist/core/publish/publish-types.js +2 -0
- package/packages/core/dist/core/publish/publish-types.js.map +1 -0
- package/packages/core/dist/core/publish/publish-upload.d.ts +9 -0
- package/packages/core/dist/core/publish/publish-upload.d.ts.map +1 -0
- package/packages/core/dist/core/publish/publish-upload.js +51 -0
- package/packages/core/dist/core/publish/publish-upload.js.map +1 -0
- package/packages/core/dist/core/registry-writer.d.ts +22 -0
- package/packages/core/dist/core/registry-writer.d.ts.map +1 -0
- package/packages/core/dist/core/registry-writer.js +93 -0
- package/packages/core/dist/core/registry-writer.js.map +1 -0
- package/packages/core/dist/core/remote-pull.d.ts +93 -0
- package/packages/core/dist/core/remote-pull.d.ts.map +1 -0
- package/packages/core/dist/core/remote-pull.js +514 -0
- package/packages/core/dist/core/remote-pull.js.map +1 -0
- package/packages/core/dist/core/remove/removal-collector.d.ts +13 -0
- package/packages/core/dist/core/remove/removal-collector.d.ts.map +1 -0
- package/packages/core/dist/core/remove/removal-collector.js +52 -0
- package/packages/core/dist/core/remove/removal-collector.js.map +1 -0
- package/packages/core/dist/core/remove/removal-confirmation.d.ts +26 -0
- package/packages/core/dist/core/remove/removal-confirmation.d.ts.map +1 -0
- package/packages/core/dist/core/remove/removal-confirmation.js +30 -0
- package/packages/core/dist/core/remove/removal-confirmation.js.map +1 -0
- package/packages/core/dist/core/remove/remove-dependency-flow.d.ts +18 -0
- package/packages/core/dist/core/remove/remove-dependency-flow.d.ts.map +1 -0
- package/packages/core/dist/core/remove/remove-dependency-flow.js +23 -0
- package/packages/core/dist/core/remove/remove-dependency-flow.js.map +1 -0
- package/packages/core/dist/core/remove/remove-from-source-pipeline.d.ts +32 -0
- package/packages/core/dist/core/remove/remove-from-source-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/remove/remove-from-source-pipeline.js +260 -0
- package/packages/core/dist/core/remove/remove-from-source-pipeline.js.map +1 -0
- package/packages/core/dist/core/remove/remove-input-classifier.d.ts +22 -0
- package/packages/core/dist/core/remove/remove-input-classifier.d.ts.map +1 -0
- package/packages/core/dist/core/remove/remove-input-classifier.js +53 -0
- package/packages/core/dist/core/remove/remove-input-classifier.js.map +1 -0
- package/packages/core/dist/core/resources/disambiguation-prompt.d.ts +38 -0
- package/packages/core/dist/core/resources/disambiguation-prompt.d.ts.map +1 -0
- package/packages/core/dist/core/resources/disambiguation-prompt.js +60 -0
- package/packages/core/dist/core/resources/disambiguation-prompt.js.map +1 -0
- package/packages/core/dist/core/resources/installed-resources.d.ts +4 -0
- package/packages/core/dist/core/resources/installed-resources.d.ts.map +1 -0
- package/packages/core/dist/core/resources/installed-resources.js +35 -0
- package/packages/core/dist/core/resources/installed-resources.js.map +1 -0
- package/packages/core/dist/core/resources/markdown-metadata.d.ts +7 -0
- package/packages/core/dist/core/resources/markdown-metadata.d.ts.map +1 -0
- package/packages/core/dist/core/resources/markdown-metadata.js +24 -0
- package/packages/core/dist/core/resources/markdown-metadata.js.map +1 -0
- package/packages/core/dist/core/resources/resource-builder.d.ts +52 -0
- package/packages/core/dist/core/resources/resource-builder.d.ts.map +1 -0
- package/packages/core/dist/core/resources/resource-builder.js +140 -0
- package/packages/core/dist/core/resources/resource-builder.js.map +1 -0
- package/packages/core/dist/core/resources/resource-catalog.d.ts +26 -0
- package/packages/core/dist/core/resources/resource-catalog.d.ts.map +1 -0
- package/packages/core/dist/core/resources/resource-catalog.js +20 -0
- package/packages/core/dist/core/resources/resource-catalog.js.map +1 -0
- package/packages/core/dist/core/resources/resource-namespace.d.ts +25 -0
- package/packages/core/dist/core/resources/resource-namespace.d.ts.map +1 -0
- package/packages/core/dist/core/resources/resource-namespace.js +84 -0
- package/packages/core/dist/core/resources/resource-namespace.js.map +1 -0
- package/packages/core/dist/core/resources/resource-naming.d.ts +11 -0
- package/packages/core/dist/core/resources/resource-naming.d.ts.map +1 -0
- package/packages/core/dist/core/resources/resource-naming.js +29 -0
- package/packages/core/dist/core/resources/resource-naming.js.map +1 -0
- package/packages/core/dist/core/resources/resource-registry.d.ts +14 -0
- package/packages/core/dist/core/resources/resource-registry.d.ts.map +1 -0
- package/packages/core/dist/core/resources/resource-registry.js +43 -0
- package/packages/core/dist/core/resources/resource-registry.js.map +1 -0
- package/packages/core/dist/core/resources/resource-resolver.d.ts +42 -0
- package/packages/core/dist/core/resources/resource-resolver.d.ts.map +1 -0
- package/packages/core/dist/core/resources/resource-resolver.js +67 -0
- package/packages/core/dist/core/resources/resource-resolver.js.map +1 -0
- package/packages/core/dist/core/resources/scope-traversal.d.ts +37 -0
- package/packages/core/dist/core/resources/scope-traversal.d.ts.map +1 -0
- package/packages/core/dist/core/resources/scope-traversal.js +52 -0
- package/packages/core/dist/core/resources/scope-traversal.js.map +1 -0
- package/packages/core/dist/core/resources/source-key-classifier.d.ts +6 -0
- package/packages/core/dist/core/resources/source-key-classifier.d.ts.map +1 -0
- package/packages/core/dist/core/resources/source-key-classifier.js +22 -0
- package/packages/core/dist/core/resources/source-key-classifier.js.map +1 -0
- package/packages/core/dist/core/save/save-candidate-builder.d.ts +57 -0
- package/packages/core/dist/core/save/save-candidate-builder.d.ts.map +1 -0
- package/packages/core/dist/core/save/save-candidate-builder.js +293 -0
- package/packages/core/dist/core/save/save-candidate-builder.js.map +1 -0
- package/packages/core/dist/core/save/save-conflict-analyzer.d.ts +120 -0
- package/packages/core/dist/core/save/save-conflict-analyzer.d.ts.map +1 -0
- package/packages/core/dist/core/save/save-conflict-analyzer.js +305 -0
- package/packages/core/dist/core/save/save-conflict-analyzer.js.map +1 -0
- package/packages/core/dist/core/save/save-conversion-helper.d.ts +84 -0
- package/packages/core/dist/core/save/save-conversion-helper.d.ts.map +1 -0
- package/packages/core/dist/core/save/save-conversion-helper.js +522 -0
- package/packages/core/dist/core/save/save-conversion-helper.js.map +1 -0
- package/packages/core/dist/core/save/save-group-builder.d.ts +49 -0
- package/packages/core/dist/core/save/save-group-builder.d.ts.map +1 -0
- package/packages/core/dist/core/save/save-group-builder.js +233 -0
- package/packages/core/dist/core/save/save-group-builder.js.map +1 -0
- package/packages/core/dist/core/save/save-interactive-resolver.d.ts +73 -0
- package/packages/core/dist/core/save/save-interactive-resolver.d.ts.map +1 -0
- package/packages/core/dist/core/save/save-interactive-resolver.js +300 -0
- package/packages/core/dist/core/save/save-interactive-resolver.js.map +1 -0
- package/packages/core/dist/core/save/save-merge-extractor.d.ts +61 -0
- package/packages/core/dist/core/save/save-merge-extractor.d.ts.map +1 -0
- package/packages/core/dist/core/save/save-merge-extractor.js +272 -0
- package/packages/core/dist/core/save/save-merge-extractor.js.map +1 -0
- package/packages/core/dist/core/save/save-platform-handler.d.ts +51 -0
- package/packages/core/dist/core/save/save-platform-handler.d.ts.map +1 -0
- package/packages/core/dist/core/save/save-platform-handler.js +93 -0
- package/packages/core/dist/core/save/save-platform-handler.js.map +1 -0
- package/packages/core/dist/core/save/save-resolution-executor.d.ts +40 -0
- package/packages/core/dist/core/save/save-resolution-executor.d.ts.map +1 -0
- package/packages/core/dist/core/save/save-resolution-executor.js +197 -0
- package/packages/core/dist/core/save/save-resolution-executor.js.map +1 -0
- package/packages/core/dist/core/save/save-result-reporter.d.ts +109 -0
- package/packages/core/dist/core/save/save-result-reporter.d.ts.map +1 -0
- package/packages/core/dist/core/save/save-result-reporter.js +176 -0
- package/packages/core/dist/core/save/save-result-reporter.js.map +1 -0
- package/packages/core/dist/core/save/save-to-source-pipeline.d.ts +45 -0
- package/packages/core/dist/core/save/save-to-source-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/save/save-to-source-pipeline.js +234 -0
- package/packages/core/dist/core/save/save-to-source-pipeline.js.map +1 -0
- package/packages/core/dist/core/save/save-types.d.ts +157 -0
- package/packages/core/dist/core/save/save-types.d.ts.map +1 -0
- package/packages/core/dist/core/save/save-types.js +8 -0
- package/packages/core/dist/core/save/save-types.js.map +1 -0
- package/packages/core/dist/core/save/save-write-coordinator.d.ts +36 -0
- package/packages/core/dist/core/save/save-write-coordinator.d.ts.map +1 -0
- package/packages/core/dist/core/save/save-write-coordinator.js +571 -0
- package/packages/core/dist/core/save/save-write-coordinator.js.map +1 -0
- package/packages/core/dist/core/scope-resolution.d.ts +64 -0
- package/packages/core/dist/core/scope-resolution.d.ts.map +1 -0
- package/packages/core/dist/core/scope-resolution.js +143 -0
- package/packages/core/dist/core/scope-resolution.js.map +1 -0
- package/packages/core/dist/core/scoping/package-scoping.d.ts +35 -0
- package/packages/core/dist/core/scoping/package-scoping.d.ts.map +1 -0
- package/packages/core/dist/core/scoping/package-scoping.js +234 -0
- package/packages/core/dist/core/scoping/package-scoping.js.map +1 -0
- package/packages/core/dist/core/search/search-pipeline.d.ts +55 -0
- package/packages/core/dist/core/search/search-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/search/search-pipeline.js +120 -0
- package/packages/core/dist/core/search/search-pipeline.js.map +1 -0
- package/packages/core/dist/core/set/set-output.d.ts +23 -0
- package/packages/core/dist/core/set/set-output.d.ts.map +1 -0
- package/packages/core/dist/core/set/set-output.js +77 -0
- package/packages/core/dist/core/set/set-output.js.map +1 -0
- package/packages/core/dist/core/set/set-pipeline.d.ts +13 -0
- package/packages/core/dist/core/set/set-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/set/set-pipeline.js +334 -0
- package/packages/core/dist/core/set/set-pipeline.js.map +1 -0
- package/packages/core/dist/core/set/set-types.d.ts +50 -0
- package/packages/core/dist/core/set/set-types.d.ts.map +1 -0
- package/packages/core/dist/core/set/set-types.js +5 -0
- package/packages/core/dist/core/set/set-types.js.map +1 -0
- package/packages/core/dist/core/source-mutability.d.ts +6 -0
- package/packages/core/dist/core/source-mutability.d.ts.map +1 -0
- package/packages/core/dist/core/source-mutability.js +15 -0
- package/packages/core/dist/core/source-mutability.js.map +1 -0
- package/packages/core/dist/core/source-resolution/dependency-graph.d.ts +8 -0
- package/packages/core/dist/core/source-resolution/dependency-graph.d.ts.map +1 -0
- package/packages/core/dist/core/source-resolution/dependency-graph.js +115 -0
- package/packages/core/dist/core/source-resolution/dependency-graph.js.map +1 -0
- package/packages/core/dist/core/source-resolution/resolve-mutable-source.d.ts +31 -0
- package/packages/core/dist/core/source-resolution/resolve-mutable-source.d.ts.map +1 -0
- package/packages/core/dist/core/source-resolution/resolve-mutable-source.js +110 -0
- package/packages/core/dist/core/source-resolution/resolve-mutable-source.js.map +1 -0
- package/packages/core/dist/core/source-resolution/resolve-package-source.d.ts +3 -0
- package/packages/core/dist/core/source-resolution/resolve-package-source.d.ts.map +1 -0
- package/packages/core/dist/core/source-resolution/resolve-package-source.js +29 -0
- package/packages/core/dist/core/source-resolution/resolve-package-source.js.map +1 -0
- package/packages/core/dist/core/source-resolution/resolve-registry-version.d.ts +31 -0
- package/packages/core/dist/core/source-resolution/resolve-registry-version.d.ts.map +1 -0
- package/packages/core/dist/core/source-resolution/resolve-registry-version.js +47 -0
- package/packages/core/dist/core/source-resolution/resolve-registry-version.js.map +1 -0
- package/packages/core/dist/core/source-resolution/types.d.ts +39 -0
- package/packages/core/dist/core/source-resolution/types.d.ts.map +1 -0
- package/packages/core/dist/core/source-resolution/types.js +2 -0
- package/packages/core/dist/core/source-resolution/types.js.map +1 -0
- package/packages/core/dist/core/telemetry.d.ts +59 -0
- package/packages/core/dist/core/telemetry.d.ts.map +1 -0
- package/packages/core/dist/core/telemetry.js +166 -0
- package/packages/core/dist/core/telemetry.js.map +1 -0
- package/packages/core/dist/core/uninstall/direct-uninstall-flow.d.ts +37 -0
- package/packages/core/dist/core/uninstall/direct-uninstall-flow.d.ts.map +1 -0
- package/packages/core/dist/core/uninstall/direct-uninstall-flow.js +88 -0
- package/packages/core/dist/core/uninstall/direct-uninstall-flow.js.map +1 -0
- package/packages/core/dist/core/uninstall/flow-aware-uninstaller.d.ts +34 -0
- package/packages/core/dist/core/uninstall/flow-aware-uninstaller.d.ts.map +1 -0
- package/packages/core/dist/core/uninstall/flow-aware-uninstaller.js +189 -0
- package/packages/core/dist/core/uninstall/flow-aware-uninstaller.js.map +1 -0
- package/packages/core/dist/core/uninstall/uninstall-executor.d.ts +15 -0
- package/packages/core/dist/core/uninstall/uninstall-executor.d.ts.map +1 -0
- package/packages/core/dist/core/uninstall/uninstall-executor.js +85 -0
- package/packages/core/dist/core/uninstall/uninstall-executor.js.map +1 -0
- package/packages/core/dist/core/uninstall/uninstall-pipeline.d.ts +8 -0
- package/packages/core/dist/core/uninstall/uninstall-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/uninstall/uninstall-pipeline.js +178 -0
- package/packages/core/dist/core/uninstall/uninstall-pipeline.js.map +1 -0
- package/packages/core/dist/core/uninstall/uninstall-reporter.d.ts +26 -0
- package/packages/core/dist/core/uninstall/uninstall-reporter.d.ts.map +1 -0
- package/packages/core/dist/core/uninstall/uninstall-reporter.js +76 -0
- package/packages/core/dist/core/uninstall/uninstall-reporter.js.map +1 -0
- package/packages/core/dist/core/uninstall/workspace-resource-collector.d.ts +68 -0
- package/packages/core/dist/core/uninstall/workspace-resource-collector.d.ts.map +1 -0
- package/packages/core/dist/core/uninstall/workspace-resource-collector.js +221 -0
- package/packages/core/dist/core/uninstall/workspace-resource-collector.js.map +1 -0
- package/packages/core/dist/core/universal-patterns.d.ts +26 -0
- package/packages/core/dist/core/universal-patterns.d.ts.map +1 -0
- package/packages/core/dist/core/universal-patterns.js +64 -0
- package/packages/core/dist/core/universal-patterns.js.map +1 -0
- package/packages/core/dist/core/unpublish/interactive-unpublish-flow.d.ts +33 -0
- package/packages/core/dist/core/unpublish/interactive-unpublish-flow.d.ts.map +1 -0
- package/packages/core/dist/core/unpublish/interactive-unpublish-flow.js +118 -0
- package/packages/core/dist/core/unpublish/interactive-unpublish-flow.js.map +1 -0
- package/packages/core/dist/core/unpublish/local-unpublish-pipeline.d.ts +8 -0
- package/packages/core/dist/core/unpublish/local-unpublish-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/unpublish/local-unpublish-pipeline.js +174 -0
- package/packages/core/dist/core/unpublish/local-unpublish-pipeline.js.map +1 -0
- package/packages/core/dist/core/unpublish/unpublish-output.d.ts +7 -0
- package/packages/core/dist/core/unpublish/unpublish-output.d.ts.map +1 -0
- package/packages/core/dist/core/unpublish/unpublish-output.js +27 -0
- package/packages/core/dist/core/unpublish/unpublish-output.js.map +1 -0
- package/packages/core/dist/core/unpublish/unpublish-pipeline.d.ts +6 -0
- package/packages/core/dist/core/unpublish/unpublish-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/unpublish/unpublish-pipeline.js +17 -0
- package/packages/core/dist/core/unpublish/unpublish-pipeline.js.map +1 -0
- package/packages/core/dist/core/unpublish/unpublish-types.d.ts +17 -0
- package/packages/core/dist/core/unpublish/unpublish-types.d.ts.map +1 -0
- package/packages/core/dist/core/unpublish/unpublish-types.js +2 -0
- package/packages/core/dist/core/unpublish/unpublish-types.js.map +1 -0
- package/packages/core/dist/core/view/view-helpers.d.ts +17 -0
- package/packages/core/dist/core/view/view-helpers.d.ts.map +1 -0
- package/packages/core/dist/core/view/view-helpers.js +32 -0
- package/packages/core/dist/core/view/view-helpers.js.map +1 -0
- package/packages/core/dist/core/view/view-pipeline.d.ts +71 -0
- package/packages/core/dist/core/view/view-pipeline.d.ts.map +1 -0
- package/packages/core/dist/core/view/view-pipeline.js +267 -0
- package/packages/core/dist/core/view/view-pipeline.js.map +1 -0
- package/packages/core/dist/core/view/view-printers.d.ts +21 -0
- package/packages/core/dist/core/view/view-printers.d.ts.map +1 -0
- package/packages/core/dist/core/view/view-printers.js +124 -0
- package/packages/core/dist/core/view/view-printers.js.map +1 -0
- package/packages/core/dist/core/workspace-package-context.d.ts +54 -0
- package/packages/core/dist/core/workspace-package-context.d.ts.map +1 -0
- package/packages/core/dist/core/workspace-package-context.js +68 -0
- package/packages/core/dist/core/workspace-package-context.js.map +1 -0
- package/packages/core/dist/generated/version.d.ts +2 -0
- package/packages/core/dist/generated/version.d.ts.map +1 -0
- package/packages/core/dist/generated/version.js +3 -0
- package/packages/core/dist/generated/version.js.map +1 -0
- package/packages/core/dist/index.d.ts +48 -0
- package/packages/core/dist/index.d.ts.map +1 -0
- package/packages/core/dist/index.js +72 -0
- package/packages/core/dist/index.js.map +1 -0
- package/packages/core/dist/types/api.d.ts +47 -0
- package/packages/core/dist/types/api.d.ts.map +1 -0
- package/packages/core/dist/types/api.js +5 -0
- package/packages/core/dist/types/api.js.map +1 -0
- package/packages/core/dist/types/conversion-context.d.ts +175 -0
- package/packages/core/dist/types/conversion-context.d.ts.map +1 -0
- package/packages/core/dist/types/conversion-context.js +11 -0
- package/packages/core/dist/types/conversion-context.js.map +1 -0
- package/packages/core/dist/types/execution-context.d.ts +122 -0
- package/packages/core/dist/types/execution-context.d.ts.map +1 -0
- package/packages/core/dist/types/execution-context.js +8 -0
- package/packages/core/dist/types/execution-context.js.map +1 -0
- package/packages/core/dist/types/flows.d.ts +360 -0
- package/packages/core/dist/types/flows.d.ts.map +1 -0
- package/packages/core/dist/types/flows.js +8 -0
- package/packages/core/dist/types/flows.js.map +1 -0
- package/packages/core/dist/types/index.d.ts +271 -0
- package/packages/core/dist/types/index.d.ts.map +1 -0
- package/packages/core/dist/types/index.js +36 -0
- package/packages/core/dist/types/index.js.map +1 -0
- package/packages/core/dist/types/install.d.ts +5 -0
- package/packages/core/dist/types/install.d.ts.map +1 -0
- package/packages/core/dist/types/install.js +5 -0
- package/packages/core/dist/types/install.js.map +1 -0
- package/packages/core/dist/types/platform-flows.d.ts +349 -0
- package/packages/core/dist/types/platform-flows.d.ts.map +1 -0
- package/packages/core/dist/types/platform-flows.js +8 -0
- package/packages/core/dist/types/platform-flows.js.map +1 -0
- package/packages/core/dist/types/platform.d.ts +32 -0
- package/packages/core/dist/types/platform.d.ts.map +1 -0
- package/packages/core/dist/types/platform.js +6 -0
- package/packages/core/dist/types/platform.js.map +1 -0
- package/packages/core/dist/types/resources.d.ts +14 -0
- package/packages/core/dist/types/resources.d.ts.map +1 -0
- package/packages/core/dist/types/resources.js +5 -0
- package/packages/core/dist/types/resources.js.map +1 -0
- package/packages/core/dist/types/workspace-index.d.ts +60 -0
- package/packages/core/dist/types/workspace-index.d.ts.map +1 -0
- package/packages/core/dist/types/workspace-index.js +6 -0
- package/packages/core/dist/types/workspace-index.js.map +1 -0
- package/packages/core/dist/utils/cleanup-empty-parents.d.ts +20 -0
- package/packages/core/dist/utils/cleanup-empty-parents.d.ts.map +1 -0
- package/packages/core/dist/utils/cleanup-empty-parents.js +56 -0
- package/packages/core/dist/utils/cleanup-empty-parents.js.map +1 -0
- package/packages/core/dist/utils/custom-path-resolution.d.ts +69 -0
- package/packages/core/dist/utils/custom-path-resolution.d.ts.map +1 -0
- package/packages/core/dist/utils/custom-path-resolution.js +160 -0
- package/packages/core/dist/utils/custom-path-resolution.js.map +1 -0
- package/packages/core/dist/utils/entity-detector.d.ts +33 -0
- package/packages/core/dist/utils/entity-detector.d.ts.map +1 -0
- package/packages/core/dist/utils/entity-detector.js +78 -0
- package/packages/core/dist/utils/entity-detector.js.map +1 -0
- package/packages/core/dist/utils/error-reasons.d.ts +9 -0
- package/packages/core/dist/utils/error-reasons.d.ts.map +1 -0
- package/packages/core/dist/utils/error-reasons.js +51 -0
- package/packages/core/dist/utils/error-reasons.js.map +1 -0
- package/packages/core/dist/utils/errors.d.ts +36 -0
- package/packages/core/dist/utils/errors.d.ts.map +1 -0
- package/packages/core/dist/utils/errors.js +73 -0
- package/packages/core/dist/utils/errors.js.map +1 -0
- package/packages/core/dist/utils/expand-directory-selections.d.ts +37 -0
- package/packages/core/dist/utils/expand-directory-selections.d.ts.map +1 -0
- package/packages/core/dist/utils/expand-directory-selections.js +101 -0
- package/packages/core/dist/utils/expand-directory-selections.js.map +1 -0
- package/packages/core/dist/utils/file-processing.d.ts +26 -0
- package/packages/core/dist/utils/file-processing.d.ts.map +1 -0
- package/packages/core/dist/utils/file-processing.js +91 -0
- package/packages/core/dist/utils/file-processing.js.map +1 -0
- package/packages/core/dist/utils/file-scanner.d.ts +62 -0
- package/packages/core/dist/utils/file-scanner.d.ts.map +1 -0
- package/packages/core/dist/utils/file-scanner.js +168 -0
- package/packages/core/dist/utils/file-scanner.js.map +1 -0
- package/packages/core/dist/utils/file-walker.d.ts +69 -0
- package/packages/core/dist/utils/file-walker.d.ts.map +1 -0
- package/packages/core/dist/utils/file-walker.js +144 -0
- package/packages/core/dist/utils/file-walker.js.map +1 -0
- package/packages/core/dist/utils/formatters.d.ts +93 -0
- package/packages/core/dist/utils/formatters.d.ts.map +1 -0
- package/packages/core/dist/utils/formatters.js +196 -0
- package/packages/core/dist/utils/formatters.js.map +1 -0
- package/packages/core/dist/utils/fs.d.ts +94 -0
- package/packages/core/dist/utils/fs.d.ts.map +1 -0
- package/packages/core/dist/utils/fs.js +362 -0
- package/packages/core/dist/utils/fs.js.map +1 -0
- package/packages/core/dist/utils/git-cache.d.ts +91 -0
- package/packages/core/dist/utils/git-cache.d.ts.map +1 -0
- package/packages/core/dist/utils/git-cache.js +196 -0
- package/packages/core/dist/utils/git-cache.js.map +1 -0
- package/packages/core/dist/utils/git-spec.d.ts +19 -0
- package/packages/core/dist/utils/git-spec.d.ts.map +1 -0
- package/packages/core/dist/utils/git-spec.js +96 -0
- package/packages/core/dist/utils/git-spec.js.map +1 -0
- package/packages/core/dist/utils/git-url-detection.d.ts +92 -0
- package/packages/core/dist/utils/git-url-detection.d.ts.map +1 -0
- package/packages/core/dist/utils/git-url-detection.js +327 -0
- package/packages/core/dist/utils/git-url-detection.js.map +1 -0
- package/packages/core/dist/utils/git-url-parser.d.ts +53 -0
- package/packages/core/dist/utils/git-url-parser.d.ts.map +1 -0
- package/packages/core/dist/utils/git-url-parser.js +113 -0
- package/packages/core/dist/utils/git-url-parser.js.map +1 -0
- package/packages/core/dist/utils/hash-utils.d.ts +14 -0
- package/packages/core/dist/utils/hash-utils.d.ts.map +1 -0
- package/packages/core/dist/utils/hash-utils.js +40 -0
- package/packages/core/dist/utils/hash-utils.js.map +1 -0
- package/packages/core/dist/utils/home-directory.d.ts +41 -0
- package/packages/core/dist/utils/home-directory.d.ts.map +1 -0
- package/packages/core/dist/utils/home-directory.js +71 -0
- package/packages/core/dist/utils/home-directory.js.map +1 -0
- package/packages/core/dist/utils/ini.d.ts +43 -0
- package/packages/core/dist/utils/ini.d.ts.map +1 -0
- package/packages/core/dist/utils/ini.js +120 -0
- package/packages/core/dist/utils/ini.js.map +1 -0
- package/packages/core/dist/utils/install-error-messages.d.ts +32 -0
- package/packages/core/dist/utils/install-error-messages.d.ts.map +1 -0
- package/packages/core/dist/utils/install-error-messages.js +176 -0
- package/packages/core/dist/utils/install-error-messages.js.map +1 -0
- package/packages/core/dist/utils/install-helpers.d.ts +6 -0
- package/packages/core/dist/utils/install-helpers.d.ts.map +1 -0
- package/packages/core/dist/utils/install-helpers.js +6 -0
- package/packages/core/dist/utils/install-helpers.js.map +1 -0
- package/packages/core/dist/utils/jsonc.d.ts +18 -0
- package/packages/core/dist/utils/jsonc.d.ts.map +1 -0
- package/packages/core/dist/utils/jsonc.js +79 -0
- package/packages/core/dist/utils/jsonc.js.map +1 -0
- package/packages/core/dist/utils/logger.d.ts +19 -0
- package/packages/core/dist/utils/logger.d.ts.map +1 -0
- package/packages/core/dist/utils/logger.js +78 -0
- package/packages/core/dist/utils/logger.js.map +1 -0
- package/packages/core/dist/utils/manifest-paths.d.ts +10 -0
- package/packages/core/dist/utils/manifest-paths.d.ts.map +1 -0
- package/packages/core/dist/utils/manifest-paths.js +19 -0
- package/packages/core/dist/utils/manifest-paths.js.map +1 -0
- package/packages/core/dist/utils/package-copy.d.ts +40 -0
- package/packages/core/dist/utils/package-copy.d.ts.map +1 -0
- package/packages/core/dist/utils/package-copy.js +101 -0
- package/packages/core/dist/utils/package-copy.js.map +1 -0
- package/packages/core/dist/utils/package-filters.d.ts +2 -0
- package/packages/core/dist/utils/package-filters.d.ts.map +1 -0
- package/packages/core/dist/utils/package-filters.js +29 -0
- package/packages/core/dist/utils/package-filters.js.map +1 -0
- package/packages/core/dist/utils/package-index-yml.d.ts +26 -0
- package/packages/core/dist/utils/package-index-yml.d.ts.map +1 -0
- package/packages/core/dist/utils/package-index-yml.js +172 -0
- package/packages/core/dist/utils/package-index-yml.js.map +1 -0
- package/packages/core/dist/utils/package-merge.d.ts +13 -0
- package/packages/core/dist/utils/package-merge.d.ts.map +1 -0
- package/packages/core/dist/utils/package-merge.js +48 -0
- package/packages/core/dist/utils/package-merge.js.map +1 -0
- package/packages/core/dist/utils/package-name.d.ts +84 -0
- package/packages/core/dist/utils/package-name.d.ts.map +1 -0
- package/packages/core/dist/utils/package-name.js +265 -0
- package/packages/core/dist/utils/package-name.js.map +1 -0
- package/packages/core/dist/utils/package-yml.d.ts +11 -0
- package/packages/core/dist/utils/package-yml.d.ts.map +1 -0
- package/packages/core/dist/utils/package-yml.js +280 -0
- package/packages/core/dist/utils/package-yml.js.map +1 -0
- package/packages/core/dist/utils/package.d.ts +5 -0
- package/packages/core/dist/utils/package.d.ts.map +1 -0
- package/packages/core/dist/utils/package.js +8 -0
- package/packages/core/dist/utils/package.js.map +1 -0
- package/packages/core/dist/utils/path-comparison.d.ts +52 -0
- package/packages/core/dist/utils/path-comparison.d.ts.map +1 -0
- package/packages/core/dist/utils/path-comparison.js +110 -0
- package/packages/core/dist/utils/path-comparison.js.map +1 -0
- package/packages/core/dist/utils/path-normalization.d.ts +54 -0
- package/packages/core/dist/utils/path-normalization.d.ts.map +1 -0
- package/packages/core/dist/utils/path-normalization.js +116 -0
- package/packages/core/dist/utils/path-normalization.js.map +1 -0
- package/packages/core/dist/utils/path-resolution.d.ts +36 -0
- package/packages/core/dist/utils/path-resolution.d.ts.map +1 -0
- package/packages/core/dist/utils/path-resolution.js +106 -0
- package/packages/core/dist/utils/path-resolution.js.map +1 -0
- package/packages/core/dist/utils/paths.d.ts +35 -0
- package/packages/core/dist/utils/paths.d.ts.map +1 -0
- package/packages/core/dist/utils/paths.js +70 -0
- package/packages/core/dist/utils/paths.js.map +1 -0
- package/packages/core/dist/utils/pattern-matcher.d.ts +66 -0
- package/packages/core/dist/utils/pattern-matcher.d.ts.map +1 -0
- package/packages/core/dist/utils/pattern-matcher.js +195 -0
- package/packages/core/dist/utils/pattern-matcher.js.map +1 -0
- package/packages/core/dist/utils/platform-yaml-merge.d.ts +6 -0
- package/packages/core/dist/utils/platform-yaml-merge.d.ts.map +1 -0
- package/packages/core/dist/utils/platform-yaml-merge.js +6 -0
- package/packages/core/dist/utils/platform-yaml-merge.js.map +1 -0
- package/packages/core/dist/utils/plugin-naming.d.ts +160 -0
- package/packages/core/dist/utils/plugin-naming.d.ts.map +1 -0
- package/packages/core/dist/utils/plugin-naming.js +401 -0
- package/packages/core/dist/utils/plugin-naming.js.map +1 -0
- package/packages/core/dist/utils/resolution-mode.d.ts +10 -0
- package/packages/core/dist/utils/resolution-mode.d.ts.map +1 -0
- package/packages/core/dist/utils/resolution-mode.js +16 -0
- package/packages/core/dist/utils/resolution-mode.js.map +1 -0
- package/packages/core/dist/utils/resource-arg-parser.d.ts +48 -0
- package/packages/core/dist/utils/resource-arg-parser.d.ts.map +1 -0
- package/packages/core/dist/utils/resource-arg-parser.js +231 -0
- package/packages/core/dist/utils/resource-arg-parser.js.map +1 -0
- package/packages/core/dist/utils/root-file-extractor.d.ts +55 -0
- package/packages/core/dist/utils/root-file-extractor.d.ts.map +1 -0
- package/packages/core/dist/utils/root-file-extractor.js +115 -0
- package/packages/core/dist/utils/root-file-extractor.js.map +1 -0
- package/packages/core/dist/utils/root-file-merger.d.ts +15 -0
- package/packages/core/dist/utils/root-file-merger.d.ts.map +1 -0
- package/packages/core/dist/utils/root-file-merger.js +57 -0
- package/packages/core/dist/utils/root-file-merger.js.map +1 -0
- package/packages/core/dist/utils/source-operation-arguments.d.ts +48 -0
- package/packages/core/dist/utils/source-operation-arguments.d.ts.map +1 -0
- package/packages/core/dist/utils/source-operation-arguments.js +66 -0
- package/packages/core/dist/utils/source-operation-arguments.js.map +1 -0
- package/packages/core/dist/utils/tarball.d.ts +30 -0
- package/packages/core/dist/utils/tarball.d.ts.map +1 -0
- package/packages/core/dist/utils/tarball.js +200 -0
- package/packages/core/dist/utils/tarball.js.map +1 -0
- package/packages/core/dist/utils/validation/index.d.ts +4 -0
- package/packages/core/dist/utils/validation/index.d.ts.map +1 -0
- package/packages/core/dist/utils/validation/index.js +5 -0
- package/packages/core/dist/utils/validation/index.js.map +1 -0
- package/packages/core/dist/utils/validation/manifest.d.ts +16 -0
- package/packages/core/dist/utils/validation/manifest.d.ts.map +1 -0
- package/packages/core/dist/utils/validation/manifest.js +27 -0
- package/packages/core/dist/utils/validation/manifest.js.map +1 -0
- package/packages/core/dist/utils/validation/package-files.d.ts +13 -0
- package/packages/core/dist/utils/validation/package-files.d.ts.map +1 -0
- package/packages/core/dist/utils/validation/package-files.js +15 -0
- package/packages/core/dist/utils/validation/package-files.js.map +1 -0
- package/packages/core/dist/utils/validation/version.d.ts +24 -0
- package/packages/core/dist/utils/validation/version.d.ts.map +1 -0
- package/packages/core/dist/utils/validation/version.js +42 -0
- package/packages/core/dist/utils/validation/version.js.map +1 -0
- package/packages/core/dist/utils/version-generator.d.ts +58 -0
- package/packages/core/dist/utils/version-generator.d.ts.map +1 -0
- package/packages/core/dist/utils/version-generator.js +132 -0
- package/packages/core/dist/utils/version-generator.js.map +1 -0
- package/packages/core/dist/utils/version-ranges.d.ts +88 -0
- package/packages/core/dist/utils/version-ranges.d.ts.map +1 -0
- package/packages/core/dist/utils/version-ranges.js +342 -0
- package/packages/core/dist/utils/version-ranges.js.map +1 -0
- package/packages/core/dist/utils/workspace-index-helpers.d.ts +17 -0
- package/packages/core/dist/utils/workspace-index-helpers.d.ts.map +1 -0
- package/packages/core/dist/utils/workspace-index-helpers.js +28 -0
- package/packages/core/dist/utils/workspace-index-helpers.js.map +1 -0
- package/packages/core/dist/utils/workspace-index-ownership.d.ts +32 -0
- package/packages/core/dist/utils/workspace-index-ownership.d.ts.map +1 -0
- package/packages/core/dist/utils/workspace-index-ownership.js +111 -0
- package/packages/core/dist/utils/workspace-index-ownership.js.map +1 -0
- package/packages/core/dist/utils/workspace-index-yml.d.ts +9 -0
- package/packages/core/dist/utils/workspace-index-yml.d.ts.map +1 -0
- package/packages/core/dist/utils/workspace-index-yml.js +300 -0
- package/packages/core/dist/utils/workspace-index-yml.js.map +1 -0
- package/packages/core/dist/utils/workspace-package-context.d.ts +6 -0
- package/packages/core/dist/utils/workspace-package-context.d.ts.map +1 -0
- package/packages/core/dist/utils/workspace-package-context.js +6 -0
- package/packages/core/dist/utils/workspace-package-context.js.map +1 -0
- package/packages/core/package.json +96 -0
- package/packages/gui/package.json +24 -0
- package/packages/gui/src-tauri/Cargo.toml +14 -0
- package/turbo.json +15 -0
|
@@ -0,0 +1,1726 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
assertMutableSourceOrThrow,
|
|
4
|
+
isRegistryPath
|
|
5
|
+
} from "./chunk-IBIYIU3K.js";
|
|
6
|
+
import {
|
|
7
|
+
calculateFileHash,
|
|
8
|
+
createFlowExecutor
|
|
9
|
+
} from "./chunk-ELCB4RC2.js";
|
|
10
|
+
import "./chunk-IXOEIRDT.js";
|
|
11
|
+
import "./chunk-QURLGVA4.js";
|
|
12
|
+
import {
|
|
13
|
+
getTargetPath
|
|
14
|
+
} from "./chunk-SHKYQQJJ.js";
|
|
15
|
+
import {
|
|
16
|
+
readWorkspaceIndex
|
|
17
|
+
} from "./chunk-GP5FJYSS.js";
|
|
18
|
+
import "./chunk-BCYZDID6.js";
|
|
19
|
+
import {
|
|
20
|
+
resolveDeclaredPath
|
|
21
|
+
} from "./chunk-FRYA3JAQ.js";
|
|
22
|
+
import {
|
|
23
|
+
createCliExecutionContext,
|
|
24
|
+
resolveOutput,
|
|
25
|
+
resolvePrompt
|
|
26
|
+
} from "./chunk-MLYYVOS3.js";
|
|
27
|
+
import "./chunk-XEPVYZO3.js";
|
|
28
|
+
import "./chunk-QTQYI4L5.js";
|
|
29
|
+
import {
|
|
30
|
+
arePackageNamesEquivalent,
|
|
31
|
+
normalizePackageName
|
|
32
|
+
} from "./chunk-VN22A7NW.js";
|
|
33
|
+
import "./chunk-UDAWJRKD.js";
|
|
34
|
+
import {
|
|
35
|
+
splitFrontmatter
|
|
36
|
+
} from "./chunk-KGBDKY5V.js";
|
|
37
|
+
import {
|
|
38
|
+
getGlobalExportFlows,
|
|
39
|
+
getGlobalImportFlows,
|
|
40
|
+
getPlatformDefinition,
|
|
41
|
+
inferPlatformFromWorkspaceFile
|
|
42
|
+
} from "./chunk-GKEHDSL4.js";
|
|
43
|
+
import {
|
|
44
|
+
normalizePathForProcessing
|
|
45
|
+
} from "./chunk-YMKK4XPN.js";
|
|
46
|
+
import {
|
|
47
|
+
FILE_PATTERNS,
|
|
48
|
+
MUTABILITY,
|
|
49
|
+
SOURCE_TYPES
|
|
50
|
+
} from "./chunk-J4IFFBLP.js";
|
|
51
|
+
import {
|
|
52
|
+
ensureDir,
|
|
53
|
+
exists,
|
|
54
|
+
getStats,
|
|
55
|
+
readTextFile,
|
|
56
|
+
walkFiles,
|
|
57
|
+
writeTextFile
|
|
58
|
+
} from "./chunk-S47F4OG4.js";
|
|
59
|
+
import "./chunk-ID4SVDQZ.js";
|
|
60
|
+
import {
|
|
61
|
+
logger
|
|
62
|
+
} from "./chunk-5EFWGD33.js";
|
|
63
|
+
|
|
64
|
+
// ../core/src/core/source-resolution/resolve-package-source.ts
|
|
65
|
+
import path from "path";
|
|
66
|
+
async function resolvePackageSource(workspaceRoot, packageName) {
|
|
67
|
+
let normalizedTarget = normalizePackageName(packageName), ws = await readWorkspaceIndex(workspaceRoot), entryKey = Object.keys(ws.index.packages ?? {}).find(
|
|
68
|
+
(k) => arePackageNamesEquivalent(k, normalizedTarget)
|
|
69
|
+
), entry = entryKey ? ws.index.packages?.[entryKey] : void 0;
|
|
70
|
+
if (!entry?.path)
|
|
71
|
+
throw new Error(
|
|
72
|
+
`Package '${packageName}' is not installed in this workspace.
|
|
73
|
+
Run 'opkg install ${packageName}' to install it first.`
|
|
74
|
+
);
|
|
75
|
+
let resolved = resolveDeclaredPath(entry.path, workspaceRoot), absolutePath = path.join(resolved.absolute, path.sep), mutability = isRegistryPath(absolutePath) ? MUTABILITY.IMMUTABLE : MUTABILITY.MUTABLE, sourceType = isRegistryPath(absolutePath) ? SOURCE_TYPES.REGISTRY : SOURCE_TYPES.PATH;
|
|
76
|
+
return {
|
|
77
|
+
packageName: normalizePackageName(entryKey ?? normalizedTarget),
|
|
78
|
+
absolutePath,
|
|
79
|
+
declaredPath: resolved.declared,
|
|
80
|
+
mutability,
|
|
81
|
+
version: entry.version,
|
|
82
|
+
sourceType
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// ../core/src/core/save/save-candidate-builder.ts
|
|
87
|
+
import { join, relative } from "path";
|
|
88
|
+
async function buildCandidates(options) {
|
|
89
|
+
let errors = [];
|
|
90
|
+
logger.debug("Building workspace candidates from workspace paths");
|
|
91
|
+
let { candidates: workspaceCandidates, errors: workspaceErrors } = await buildWorkspaceCandidates(
|
|
92
|
+
options.workspaceRoot,
|
|
93
|
+
options.packageRoot,
|
|
94
|
+
options.filesMapping
|
|
95
|
+
);
|
|
96
|
+
errors.push(...workspaceErrors), logger.debug("Building local source refs from package source (lazy mode)");
|
|
97
|
+
let localSourceRefs = await buildLocalSourceRefs(
|
|
98
|
+
options.packageRoot
|
|
99
|
+
);
|
|
100
|
+
return logger.debug(
|
|
101
|
+
`Built ${localSourceRefs.length} local source refs, ${workspaceCandidates.length} workspace candidates`
|
|
102
|
+
), {
|
|
103
|
+
localCandidates: [],
|
|
104
|
+
localSourceRefs,
|
|
105
|
+
workspaceCandidates,
|
|
106
|
+
errors
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
async function buildLocalSourceRefs(packageRoot) {
|
|
110
|
+
let refs = [];
|
|
111
|
+
for await (let absPath of walkFiles(packageRoot)) {
|
|
112
|
+
let relPath = relative(packageRoot, absPath), normalizedPath = normalizePathForProcessing(relPath);
|
|
113
|
+
normalizedPath && (normalizedPath.startsWith(".openpackage/") || normalizedPath === "openpackage.yml" || normalizedPath.startsWith(".") && !normalizedPath.match(/^\.(cursor|claude|opencode|windsurf|roo|factory|kilo|qwen|warp|codex|pi|kilocode|agent|augment)/) || (refs.push({ registryPath: normalizedPath, fullPath: absPath }), logger.debug(`Built local source ref: ${normalizedPath}`)));
|
|
114
|
+
}
|
|
115
|
+
return refs;
|
|
116
|
+
}
|
|
117
|
+
async function materializeLocalCandidate(ref, packageRoot) {
|
|
118
|
+
return buildCandidate("local", ref.fullPath, ref.registryPath, {
|
|
119
|
+
packageRoot,
|
|
120
|
+
workspaceRoot: packageRoot,
|
|
121
|
+
inferPlatform: !1,
|
|
122
|
+
parseMarkdown: !0
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
async function buildWorkspaceCandidates(workspaceRoot, packageRoot, filesMapping) {
|
|
126
|
+
let candidates = [], errors = [];
|
|
127
|
+
for (let [rawKey, targets] of Object.entries(filesMapping)) {
|
|
128
|
+
let registryKey = normalizePathForProcessing(rawKey);
|
|
129
|
+
if (!registryKey || !Array.isArray(targets)) continue;
|
|
130
|
+
let isDirectoryMapping = registryKey.endsWith("/");
|
|
131
|
+
for (let mapping of targets) {
|
|
132
|
+
let workspaceRel = getTargetPath(mapping), normalizedTargetPath = normalizePathForProcessing(workspaceRel);
|
|
133
|
+
if (!normalizedTargetPath) continue;
|
|
134
|
+
let absTargetPath = join(workspaceRoot, normalizedTargetPath), mergeMetadata = typeof mapping == "object" && mapping !== null ? { merge: mapping.merge, keys: mapping.keys } : void 0;
|
|
135
|
+
if (isDirectoryMapping) {
|
|
136
|
+
logger.debug(`Enumerating directory mapping: ${registryKey} -> ${normalizedTargetPath}`);
|
|
137
|
+
try {
|
|
138
|
+
let files = await collectFilesUnderDirectory(absTargetPath);
|
|
139
|
+
logger.debug(`Found ${files.length} files under directory ${normalizedTargetPath}`);
|
|
140
|
+
for (let relFile of files) {
|
|
141
|
+
let registryPath = normalizePathForProcessing(join(registryKey, relFile));
|
|
142
|
+
if (!registryPath) continue;
|
|
143
|
+
let absWorkspaceFile = join(absTargetPath, relFile), candidate = await buildCandidate("workspace", absWorkspaceFile, registryPath, {
|
|
144
|
+
packageRoot,
|
|
145
|
+
workspaceRoot,
|
|
146
|
+
inferPlatform: !0,
|
|
147
|
+
parseMarkdown: !0,
|
|
148
|
+
mergeStrategy: mergeMetadata?.merge,
|
|
149
|
+
mergeKeys: mergeMetadata?.keys
|
|
150
|
+
});
|
|
151
|
+
candidate && (candidates.push(candidate), logger.debug(`Built workspace candidate: ${registryPath} (from directory)`));
|
|
152
|
+
}
|
|
153
|
+
} catch (error) {
|
|
154
|
+
let errorMsg = error instanceof Error ? error.message : String(error);
|
|
155
|
+
errors.push({
|
|
156
|
+
path: absTargetPath,
|
|
157
|
+
registryPath: registryKey,
|
|
158
|
+
reason: `Failed to enumerate directory: ${errorMsg}`
|
|
159
|
+
}), logger.warn(`Failed to enumerate directory ${absTargetPath}: ${errorMsg}`);
|
|
160
|
+
}
|
|
161
|
+
} else {
|
|
162
|
+
if (!await exists(absTargetPath)) {
|
|
163
|
+
logger.debug(`Workspace file not found (skipping): ${normalizedTargetPath}`);
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
let candidate = await buildCandidate("workspace", absTargetPath, registryKey, {
|
|
167
|
+
packageRoot,
|
|
168
|
+
workspaceRoot,
|
|
169
|
+
inferPlatform: !0,
|
|
170
|
+
parseMarkdown: !0,
|
|
171
|
+
mergeStrategy: mergeMetadata?.merge,
|
|
172
|
+
mergeKeys: mergeMetadata?.keys
|
|
173
|
+
});
|
|
174
|
+
candidate && (candidates.push(candidate), logger.debug(`Built workspace candidate: ${registryKey}`));
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return { candidates, errors };
|
|
179
|
+
}
|
|
180
|
+
async function buildCandidate(source, absPath, registryPath, options) {
|
|
181
|
+
try {
|
|
182
|
+
let content = await readTextFile(absPath), contentHash = await calculateFileHash(content), stats = await getStats(absPath), rootPath = source === "workspace" ? options.workspaceRoot : options.packageRoot, relPath = absPath.slice(rootPath.length + 1), displayPath = normalizePathForProcessing(relPath) || registryPath, platform;
|
|
183
|
+
if (options.inferPlatform && source === "workspace") {
|
|
184
|
+
let sourceDir = deriveSourceDir(displayPath);
|
|
185
|
+
platform = inferPlatformFromWorkspaceFile(
|
|
186
|
+
absPath,
|
|
187
|
+
sourceDir,
|
|
188
|
+
registryPath,
|
|
189
|
+
options.workspaceRoot
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
let frontmatter, rawFrontmatter, markdownBody, isMarkdown = !1;
|
|
193
|
+
if (options.parseMarkdown && (absPath.endsWith(".md") || absPath.endsWith(".markdown"))) {
|
|
194
|
+
isMarkdown = !0;
|
|
195
|
+
try {
|
|
196
|
+
let parsed = splitFrontmatter(content);
|
|
197
|
+
parsed.frontmatter && Object.keys(parsed.frontmatter).length > 0 && (frontmatter = parsed.frontmatter, rawFrontmatter = parsed.rawFrontmatter, markdownBody = parsed.body);
|
|
198
|
+
} catch (error) {
|
|
199
|
+
logger.debug(`Failed to parse frontmatter for ${absPath}: ${error}`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return {
|
|
203
|
+
source,
|
|
204
|
+
registryPath,
|
|
205
|
+
fullPath: absPath,
|
|
206
|
+
content,
|
|
207
|
+
contentHash,
|
|
208
|
+
mtime: stats.mtime.getTime(),
|
|
209
|
+
displayPath,
|
|
210
|
+
platform,
|
|
211
|
+
frontmatter,
|
|
212
|
+
rawFrontmatter,
|
|
213
|
+
markdownBody,
|
|
214
|
+
isMarkdown,
|
|
215
|
+
mergeStrategy: options.mergeStrategy,
|
|
216
|
+
mergeKeys: options.mergeKeys
|
|
217
|
+
};
|
|
218
|
+
} catch (error) {
|
|
219
|
+
let errorMsg = error instanceof Error ? error.message : String(error);
|
|
220
|
+
return logger.warn(`Failed to build candidate for ${absPath}: ${errorMsg}`), null;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
async function collectFilesUnderDirectory(absDir) {
|
|
224
|
+
let collected = [];
|
|
225
|
+
if (!await exists(absDir))
|
|
226
|
+
return collected;
|
|
227
|
+
for await (let absFile of walkFiles(absDir)) {
|
|
228
|
+
let relPath = absFile.slice(absDir.length + 1).replace(/\\/g, "/");
|
|
229
|
+
collected.push(relPath);
|
|
230
|
+
}
|
|
231
|
+
return collected;
|
|
232
|
+
}
|
|
233
|
+
function deriveSourceDir(relPath) {
|
|
234
|
+
return relPath && relPath.split("/")[0] || "";
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// ../core/src/core/save/save-group-builder.ts
|
|
238
|
+
import { minimatch } from "minimatch";
|
|
239
|
+
function buildCandidateGroups(localRefs, workspaceCandidates, workspaceRoot = process.cwd()) {
|
|
240
|
+
let map = /* @__PURE__ */ new Map();
|
|
241
|
+
logger.debug(`Building groups from ${localRefs.length} local refs and ${workspaceCandidates.length} workspace candidates`);
|
|
242
|
+
for (let ref of localRefs) {
|
|
243
|
+
let group = ensureGroup(map, ref.registryPath);
|
|
244
|
+
group.localRef = ref, logger.debug(`Added local ref: ${ref.registryPath}`);
|
|
245
|
+
}
|
|
246
|
+
for (let candidate of workspaceCandidates) {
|
|
247
|
+
logger.debug(
|
|
248
|
+
`Processing workspace candidate: ${candidate.displayPath} (registryPath: ${candidate.registryPath}, platform: ${candidate.platform || "none"})`
|
|
249
|
+
);
|
|
250
|
+
let group = map.get(candidate.registryPath);
|
|
251
|
+
if (group && logger.debug(` Found exact match by registryPath: ${candidate.registryPath}`), !group) {
|
|
252
|
+
let sourceRegistryPath = findSourceFileForWorkspace(
|
|
253
|
+
candidate,
|
|
254
|
+
localRefs,
|
|
255
|
+
workspaceRoot
|
|
256
|
+
);
|
|
257
|
+
sourceRegistryPath || (sourceRegistryPath = findSourceFileByFallback(
|
|
258
|
+
candidate.registryPath,
|
|
259
|
+
localRefs
|
|
260
|
+
)), sourceRegistryPath ? (logger.debug(
|
|
261
|
+
` Matched to source: workspace ${candidate.displayPath} \u2192 source ${sourceRegistryPath}`
|
|
262
|
+
), group = ensureGroup(map, sourceRegistryPath)) : logger.debug(" No source match found");
|
|
263
|
+
}
|
|
264
|
+
group || (logger.debug(` Creating new group with workspace registryPath: ${candidate.registryPath}`), group = ensureGroup(map, candidate.registryPath)), group.workspace.push(candidate);
|
|
265
|
+
}
|
|
266
|
+
let allGroups = Array.from(map.values()), activeCount = allGroups.filter((g) => g.workspace.length > 0).length;
|
|
267
|
+
return logger.debug(`Built ${map.size} candidate groups (${activeCount} with workspace candidates)`), allGroups;
|
|
268
|
+
}
|
|
269
|
+
function findSourceFileByFallback(registryPath, localRefs) {
|
|
270
|
+
let baseName = registryPath.replace(/\.[^.]+$/, ""), candidates = localRefs.filter((c) => c.registryPath.replace(/\.[^.]+$/, "") === baseName);
|
|
271
|
+
if (candidates.length === 1)
|
|
272
|
+
return logger.debug(` Fallback match: ${registryPath} \u2192 ${candidates[0].registryPath} (same basename)`), candidates[0].registryPath;
|
|
273
|
+
let fileNameBase = (registryPath.split("/").pop() || "").replace(/\.[^.]+$/, "");
|
|
274
|
+
if (fileNameBase) {
|
|
275
|
+
let fileNameCandidates = localRefs.filter((c) => (c.registryPath.split("/").pop() || "").replace(/\.[^.]+$/, "") === fileNameBase);
|
|
276
|
+
if (fileNameCandidates.length === 1)
|
|
277
|
+
return logger.debug(
|
|
278
|
+
` Fallback match: ${registryPath} \u2192 ${fileNameCandidates[0].registryPath} (same filename)`
|
|
279
|
+
), fileNameCandidates[0].registryPath;
|
|
280
|
+
}
|
|
281
|
+
return null;
|
|
282
|
+
}
|
|
283
|
+
function findSourceFileForWorkspace(workspaceCandidate, localRefs, workspaceRoot) {
|
|
284
|
+
let platform = workspaceCandidate.platform;
|
|
285
|
+
if (!platform || platform === "ai")
|
|
286
|
+
return null;
|
|
287
|
+
try {
|
|
288
|
+
let platformExportFlows = getPlatformDefinition(platform, workspaceRoot).export || [], allExportFlows = [...getGlobalExportFlows(workspaceRoot) || [], ...platformExportFlows];
|
|
289
|
+
logger.debug(` Checking ${allExportFlows.length} export flows for platform ${platform}`);
|
|
290
|
+
let workspacePath = workspaceCandidate.displayPath;
|
|
291
|
+
for (let flow of allExportFlows) {
|
|
292
|
+
let toPattern = Array.isArray(flow.to) ? flow.to[0] : flow.to;
|
|
293
|
+
if (typeof toPattern == "object" && "$switch" in toPattern || typeof toPattern != "string" || !minimatch(workspacePath, toPattern, { dot: !0 }))
|
|
294
|
+
continue;
|
|
295
|
+
logger.debug(` Workspace path ${workspacePath} matches 'to' pattern: ${toPattern}`);
|
|
296
|
+
let fromPatterns = Array.isArray(flow.from) ? flow.from : [flow.from];
|
|
297
|
+
for (let fromPattern of fromPatterns)
|
|
298
|
+
if (!(typeof fromPattern == "object" && "$switch" in fromPattern) && typeof fromPattern == "string") {
|
|
299
|
+
logger.debug(` Checking 'from' pattern: ${fromPattern}`);
|
|
300
|
+
for (let ref of localRefs)
|
|
301
|
+
if (minimatch(ref.registryPath, fromPattern, { dot: !0 }))
|
|
302
|
+
return logger.debug(` Found matching source: ${ref.registryPath}`), ref.registryPath;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
logger.debug(" No matching source file found");
|
|
306
|
+
} catch (error) {
|
|
307
|
+
logger.warn(`Failed to find source file for workspace candidate: ${error}`);
|
|
308
|
+
}
|
|
309
|
+
return null;
|
|
310
|
+
}
|
|
311
|
+
function filterGroupsWithWorkspace(groups) {
|
|
312
|
+
return groups.filter((group) => group.workspace.length > 0);
|
|
313
|
+
}
|
|
314
|
+
function ensureGroup(map, registryPath) {
|
|
315
|
+
let group = map.get(registryPath);
|
|
316
|
+
return group || (group = {
|
|
317
|
+
registryPath,
|
|
318
|
+
workspace: []
|
|
319
|
+
}, map.set(registryPath, group)), group;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// ../core/src/core/save/save-conversion-helper.ts
|
|
323
|
+
import { join as join2 } from "path";
|
|
324
|
+
import { tmpdir } from "os";
|
|
325
|
+
import { mkdtemp, rm } from "fs/promises";
|
|
326
|
+
import { minimatch as minimatch2 } from "minimatch";
|
|
327
|
+
|
|
328
|
+
// ../core/src/core/save/save-merge-extractor.ts
|
|
329
|
+
async function extractPackageContribution(candidate) {
|
|
330
|
+
if (candidate.source !== "workspace")
|
|
331
|
+
return {
|
|
332
|
+
success: !1,
|
|
333
|
+
error: "Extract only applies to workspace candidates"
|
|
334
|
+
};
|
|
335
|
+
if (!candidate.mergeStrategy || !candidate.mergeKeys || candidate.mergeKeys.length === 0)
|
|
336
|
+
return {
|
|
337
|
+
success: !1,
|
|
338
|
+
error: "No merge metadata present"
|
|
339
|
+
};
|
|
340
|
+
let { mergeStrategy, mergeKeys, content } = candidate;
|
|
341
|
+
try {
|
|
342
|
+
switch (mergeStrategy) {
|
|
343
|
+
case "deep":
|
|
344
|
+
case "shallow":
|
|
345
|
+
let normalizedKeys = normalizeKeysToParent(mergeKeys);
|
|
346
|
+
return await extractFromJsonMerge(content, normalizedKeys);
|
|
347
|
+
case "composite":
|
|
348
|
+
return {
|
|
349
|
+
success: !1,
|
|
350
|
+
error: "Composite merge extraction not yet implemented"
|
|
351
|
+
};
|
|
352
|
+
case "replace":
|
|
353
|
+
return {
|
|
354
|
+
success: !1,
|
|
355
|
+
error: "Replace strategy does not require extraction"
|
|
356
|
+
};
|
|
357
|
+
default:
|
|
358
|
+
return {
|
|
359
|
+
success: !1,
|
|
360
|
+
error: `Unknown merge strategy: ${mergeStrategy}`
|
|
361
|
+
};
|
|
362
|
+
}
|
|
363
|
+
} catch (error) {
|
|
364
|
+
return logger.debug(`Failed to extract package contribution: ${error}`), {
|
|
365
|
+
success: !1,
|
|
366
|
+
error: error instanceof Error ? error.message : String(error)
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
async function extractContentByKeys(content, mergeKeys) {
|
|
371
|
+
try {
|
|
372
|
+
let normalizedKeys = normalizeKeysToParent(mergeKeys);
|
|
373
|
+
return await extractFromJsonMerge(content, normalizedKeys);
|
|
374
|
+
} catch (error) {
|
|
375
|
+
return {
|
|
376
|
+
success: !1,
|
|
377
|
+
error: error instanceof Error ? error.message : String(error)
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
function normalizeKeysToParent(keys) {
|
|
382
|
+
if (keys.length === 0) return [];
|
|
383
|
+
if (keys.every((key) => key.split(".").length <= 2))
|
|
384
|
+
return logger.debug(
|
|
385
|
+
"Keys already at parent level - using as-is",
|
|
386
|
+
{ keys }
|
|
387
|
+
), keys;
|
|
388
|
+
if (keys.length === 1) {
|
|
389
|
+
let parts = keys[0].split(".");
|
|
390
|
+
return parts.length >= 2 ? [parts.slice(0, 2).join(".")] : keys;
|
|
391
|
+
}
|
|
392
|
+
let firstParts = keys[0].split("."), commonDepth = 0;
|
|
393
|
+
for (let depth = 0; depth < firstParts.length; depth++) {
|
|
394
|
+
let segment = firstParts[depth];
|
|
395
|
+
if (keys.every((key) => {
|
|
396
|
+
let parts = key.split(".");
|
|
397
|
+
return parts.length > depth && parts[depth] === segment;
|
|
398
|
+
}))
|
|
399
|
+
commonDepth = depth + 1;
|
|
400
|
+
else
|
|
401
|
+
break;
|
|
402
|
+
}
|
|
403
|
+
let normalized = /* @__PURE__ */ new Set();
|
|
404
|
+
for (let key of keys) {
|
|
405
|
+
let parts = key.split("."), targetDepth = Math.max(2, commonDepth + 1), extractDepth = Math.min(targetDepth, parts.length);
|
|
406
|
+
extractDepth >= 2 ? normalized.add(parts.slice(0, extractDepth).join(".")) : parts.length > 0 && normalized.add(key);
|
|
407
|
+
}
|
|
408
|
+
let result = Array.from(normalized);
|
|
409
|
+
return logger.debug(
|
|
410
|
+
`Normalized ${keys.length} tracked keys to ${result.length} extraction key(s)`,
|
|
411
|
+
{ original: keys, normalized: result }
|
|
412
|
+
), result;
|
|
413
|
+
}
|
|
414
|
+
async function extractFromJsonMerge(content, mergeKeys) {
|
|
415
|
+
try {
|
|
416
|
+
let merged = JSON.parse(content), extracted = {};
|
|
417
|
+
for (let keyPath of mergeKeys) {
|
|
418
|
+
let value = getNestedValue(merged, keyPath);
|
|
419
|
+
value !== void 0 && setNestedValue(extracted, keyPath, value);
|
|
420
|
+
}
|
|
421
|
+
let extractedContent = JSON.stringify(extracted, null, 2) + `
|
|
422
|
+
`, extractedHash = await calculateFileHash(extractedContent);
|
|
423
|
+
return logger.debug(
|
|
424
|
+
`Extracted ${mergeKeys.length} key(s) from merged file`,
|
|
425
|
+
{ keys: mergeKeys }
|
|
426
|
+
), {
|
|
427
|
+
success: !0,
|
|
428
|
+
extractedContent,
|
|
429
|
+
extractedHash
|
|
430
|
+
};
|
|
431
|
+
} catch (error) {
|
|
432
|
+
return {
|
|
433
|
+
success: !1,
|
|
434
|
+
error: error instanceof Error ? error.message : String(error)
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
function getNestedValue(obj, keyPath) {
|
|
439
|
+
let keys = keyPath.split("."), current = obj;
|
|
440
|
+
for (let key of keys) {
|
|
441
|
+
if (current == null || typeof current != "object")
|
|
442
|
+
return;
|
|
443
|
+
current = current[key];
|
|
444
|
+
}
|
|
445
|
+
return current;
|
|
446
|
+
}
|
|
447
|
+
function setNestedValue(obj, keyPath, value) {
|
|
448
|
+
let keys = keyPath.split("."), current = obj;
|
|
449
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
450
|
+
let key = keys[i];
|
|
451
|
+
(!(key in current) || typeof current[key] != "object") && (current[key] = {}), current = current[key];
|
|
452
|
+
}
|
|
453
|
+
let lastKey = keys[keys.length - 1];
|
|
454
|
+
current[lastKey] = value;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
// ../core/src/core/save/save-conversion-helper.ts
|
|
458
|
+
var sharedTempDir = null, tempDirCounter = 0;
|
|
459
|
+
async function initSharedTempDir() {
|
|
460
|
+
sharedTempDir || (sharedTempDir = await mkdtemp(join2(tmpdir(), "opkg-save-")));
|
|
461
|
+
}
|
|
462
|
+
async function cleanupSharedTempDir() {
|
|
463
|
+
if (sharedTempDir) {
|
|
464
|
+
try {
|
|
465
|
+
await rm(sharedTempDir, { recursive: !0, force: !0 });
|
|
466
|
+
} catch (error) {
|
|
467
|
+
logger.debug("Failed to cleanup shared temp directory", { tempDir: sharedTempDir, error });
|
|
468
|
+
}
|
|
469
|
+
sharedTempDir = null, tempDirCounter = 0;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
async function allocateTempSubdir() {
|
|
473
|
+
if (!sharedTempDir)
|
|
474
|
+
return await mkdtemp(join2(tmpdir(), "opkg-save-standalone-"));
|
|
475
|
+
let subDir = join2(sharedTempDir, `op-${tempDirCounter++}`);
|
|
476
|
+
return await ensureDir(subDir), subDir;
|
|
477
|
+
}
|
|
478
|
+
var conversionCache = /* @__PURE__ */ new Map();
|
|
479
|
+
function getCacheKey(candidate) {
|
|
480
|
+
return `${candidate.fullPath}:${candidate.contentHash}:${candidate.platform || "none"}`;
|
|
481
|
+
}
|
|
482
|
+
async function calculateConvertedHash(candidate, workspaceRoot) {
|
|
483
|
+
if (!candidate.platform || candidate.platform === "ai")
|
|
484
|
+
return candidate.contentHash;
|
|
485
|
+
let cacheKey = getCacheKey(candidate), cached = conversionCache.get(cacheKey);
|
|
486
|
+
if (cached)
|
|
487
|
+
return logger.debug(`Cache hit for converted hash: ${candidate.displayPath}`), cached;
|
|
488
|
+
let result = await convertWorkspaceToUniversal(
|
|
489
|
+
candidate.content,
|
|
490
|
+
candidate.platform,
|
|
491
|
+
candidate.registryPath,
|
|
492
|
+
workspaceRoot
|
|
493
|
+
);
|
|
494
|
+
return !result.success || !result.convertedHash ? (logger.debug(
|
|
495
|
+
`Conversion not applicable or failed for ${candidate.displayPath}, using raw hash`,
|
|
496
|
+
{ reason: result.error }
|
|
497
|
+
), candidate.contentHash) : (conversionCache.set(cacheKey, result.convertedHash), result.convertedHash);
|
|
498
|
+
}
|
|
499
|
+
async function convertWorkspaceToUniversal(workspaceContent, platform, registryPath, workspaceRoot) {
|
|
500
|
+
try {
|
|
501
|
+
let platformImportFlows = getPlatformDefinition(platform, workspaceRoot).import || [], allImportFlows = [...getGlobalImportFlows(workspaceRoot) || [], ...platformImportFlows];
|
|
502
|
+
if (allImportFlows.length === 0)
|
|
503
|
+
return logger.debug(`No import flows defined for platform ${platform}`), {
|
|
504
|
+
success: !1,
|
|
505
|
+
error: "No import flows defined for platform"
|
|
506
|
+
};
|
|
507
|
+
let matchingFlow = findMatchingImportFlow(
|
|
508
|
+
allImportFlows,
|
|
509
|
+
registryPath,
|
|
510
|
+
platform,
|
|
511
|
+
workspaceRoot
|
|
512
|
+
);
|
|
513
|
+
if (!matchingFlow)
|
|
514
|
+
return logger.debug(`No matching import flow for ${registryPath} on platform ${platform}`), {
|
|
515
|
+
success: !1,
|
|
516
|
+
error: "No matching import flow found"
|
|
517
|
+
};
|
|
518
|
+
let tempDir = await allocateTempSubdir(), inputDir = join2(tempDir, "in"), outputDir = join2(tempDir, "out");
|
|
519
|
+
await ensureDir(inputDir), await ensureDir(outputDir);
|
|
520
|
+
let workspaceSourcePath = inferWorkspaceSourcePath(
|
|
521
|
+
matchingFlow,
|
|
522
|
+
registryPath,
|
|
523
|
+
platform
|
|
524
|
+
), inputFilePath = join2(inputDir, workspaceSourcePath);
|
|
525
|
+
await ensureDir(join2(inputFilePath, "..")), await writeTextFile(inputFilePath, workspaceContent);
|
|
526
|
+
let flowContext = {
|
|
527
|
+
workspaceRoot: outputDir,
|
|
528
|
+
// Output goes to outputDir
|
|
529
|
+
packageRoot: inputDir,
|
|
530
|
+
// Input comes from inputDir
|
|
531
|
+
platform,
|
|
532
|
+
// Source platform
|
|
533
|
+
packageName: "temp",
|
|
534
|
+
direction: "install",
|
|
535
|
+
// Import flows are used during "install" direction
|
|
536
|
+
variables: {
|
|
537
|
+
name: "temp",
|
|
538
|
+
version: "0.0.0",
|
|
539
|
+
platform,
|
|
540
|
+
// For conditionals: $$platform
|
|
541
|
+
source: platform,
|
|
542
|
+
// For conditionals: $$source
|
|
543
|
+
sourcePlatform: platform,
|
|
544
|
+
targetPlatform: "openpackage"
|
|
545
|
+
},
|
|
546
|
+
dryRun: !1
|
|
547
|
+
}, executor = createFlowExecutor(), concreteFlow = {
|
|
548
|
+
...matchingFlow,
|
|
549
|
+
from: workspaceSourcePath
|
|
550
|
+
// Use concrete file path
|
|
551
|
+
}, flowResult = await executor.executeFlow(concreteFlow, flowContext);
|
|
552
|
+
if (!flowResult.success)
|
|
553
|
+
return {
|
|
554
|
+
success: !1,
|
|
555
|
+
error: `Flow execution failed: ${flowResult.error?.message}`
|
|
556
|
+
};
|
|
557
|
+
if (typeof flowResult.target != "string")
|
|
558
|
+
return {
|
|
559
|
+
success: !1,
|
|
560
|
+
error: "Flow did not produce target path"
|
|
561
|
+
};
|
|
562
|
+
let outputFilePath = flowResult.target;
|
|
563
|
+
if (!await exists(outputFilePath))
|
|
564
|
+
return {
|
|
565
|
+
success: !1,
|
|
566
|
+
error: "Flow did not produce output file"
|
|
567
|
+
};
|
|
568
|
+
let convertedContent = await readTextFile(outputFilePath), convertedHash = await calculateFileHash(convertedContent);
|
|
569
|
+
return logger.debug(
|
|
570
|
+
`Successfully converted ${registryPath} from ${platform} format to universal`,
|
|
571
|
+
{
|
|
572
|
+
originalHash: await calculateFileHash(workspaceContent),
|
|
573
|
+
convertedHash
|
|
574
|
+
}
|
|
575
|
+
), {
|
|
576
|
+
success: !0,
|
|
577
|
+
convertedContent,
|
|
578
|
+
convertedHash
|
|
579
|
+
};
|
|
580
|
+
} catch (error) {
|
|
581
|
+
return logger.warn(
|
|
582
|
+
`Conversion failed for ${registryPath} (platform: ${platform})`,
|
|
583
|
+
{ error }
|
|
584
|
+
), {
|
|
585
|
+
success: !1,
|
|
586
|
+
error: error instanceof Error ? error.message : String(error)
|
|
587
|
+
};
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
function findMatchingImportFlow(flows, registryPath, platform, workspaceRoot) {
|
|
591
|
+
for (let flow of flows) {
|
|
592
|
+
let toPattern = Array.isArray(flow.to) ? flow.to[0] : flow.to;
|
|
593
|
+
if (typeof toPattern == "object" && "$switch" in toPattern) {
|
|
594
|
+
logger.debug("Skipping flow with switch expression in to field");
|
|
595
|
+
continue;
|
|
596
|
+
}
|
|
597
|
+
if (typeof toPattern == "string" && minimatch2(registryPath, toPattern, { dot: !0 })) {
|
|
598
|
+
if (flow.when && !evaluateWhenCondition(flow.when, platform, workspaceRoot)) {
|
|
599
|
+
logger.debug(`Flow condition not met for ${registryPath}`, { when: flow.when });
|
|
600
|
+
continue;
|
|
601
|
+
}
|
|
602
|
+
return flow;
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
function evaluateWhenCondition(when, platform, workspaceRoot) {
|
|
607
|
+
if (when.$eq && Array.isArray(when.$eq) && when.$eq.length === 2) {
|
|
608
|
+
let left = resolveVariable(when.$eq[0], platform), right = resolveVariable(when.$eq[1], platform);
|
|
609
|
+
return left === right;
|
|
610
|
+
}
|
|
611
|
+
if (when.$ne && Array.isArray(when.$ne) && when.$ne.length === 2) {
|
|
612
|
+
let left = resolveVariable(when.$ne[0], platform), right = resolveVariable(when.$ne[1], platform);
|
|
613
|
+
return left !== right;
|
|
614
|
+
}
|
|
615
|
+
return when.exists ? !0 : (logger.debug("Unknown condition type in when clause", { when }), !1);
|
|
616
|
+
}
|
|
617
|
+
function resolveVariable(value, platform) {
|
|
618
|
+
return typeof value == "string" && (value === "$$platform" || value === "$$source") ? platform : value;
|
|
619
|
+
}
|
|
620
|
+
function inferWorkspaceSourcePath(flow, registryPath, platform) {
|
|
621
|
+
let fromPattern = Array.isArray(flow.from) ? flow.from[0] : flow.from;
|
|
622
|
+
if (typeof fromPattern == "object" && "$switch" in fromPattern)
|
|
623
|
+
return logger.debug("Cannot infer source path from switch expression, using registry path"), registryPath;
|
|
624
|
+
if (typeof fromPattern != "string")
|
|
625
|
+
return registryPath;
|
|
626
|
+
if (fromPattern.includes("**") || fromPattern.includes("*")) {
|
|
627
|
+
let baseDir = fromPattern.split("**")[0].replace(/\*+/g, ""), toPattern = Array.isArray(flow.to) ? flow.to[0] : flow.to;
|
|
628
|
+
if (typeof toPattern == "string" && toPattern.includes("**")) {
|
|
629
|
+
let toBase = toPattern.split("**")[0], subPath = registryPath.startsWith(toBase) ? registryPath.slice(toBase.length) : registryPath;
|
|
630
|
+
return `${baseDir}${subPath}`;
|
|
631
|
+
}
|
|
632
|
+
return registryPath;
|
|
633
|
+
}
|
|
634
|
+
return fromPattern;
|
|
635
|
+
}
|
|
636
|
+
async function convertSourceToWorkspace(sourceContent, platform, sourceRegistryPath, workspacePath, workspaceRoot) {
|
|
637
|
+
try {
|
|
638
|
+
let platformExportFlows = getPlatformDefinition(platform, workspaceRoot).export || [], allExportFlows = [...getGlobalExportFlows(workspaceRoot) || [], ...platformExportFlows];
|
|
639
|
+
if (allExportFlows.length === 0)
|
|
640
|
+
return {
|
|
641
|
+
success: !1,
|
|
642
|
+
error: "No export flows defined for platform"
|
|
643
|
+
};
|
|
644
|
+
let matchingFlow = findMatchingExportFlow(
|
|
645
|
+
allExportFlows,
|
|
646
|
+
sourceRegistryPath,
|
|
647
|
+
workspacePath,
|
|
648
|
+
platform,
|
|
649
|
+
workspaceRoot
|
|
650
|
+
);
|
|
651
|
+
if (!matchingFlow)
|
|
652
|
+
return {
|
|
653
|
+
success: !1,
|
|
654
|
+
error: "No matching export flow found"
|
|
655
|
+
};
|
|
656
|
+
let tempDir = await allocateTempSubdir(), inputDir = join2(tempDir, "in"), outputDir = join2(tempDir, "out");
|
|
657
|
+
await ensureDir(inputDir), await ensureDir(outputDir);
|
|
658
|
+
let inputFilePath = join2(inputDir, sourceRegistryPath);
|
|
659
|
+
await ensureDir(join2(inputFilePath, "..")), await writeTextFile(inputFilePath, sourceContent);
|
|
660
|
+
let flowContext = {
|
|
661
|
+
workspaceRoot: outputDir,
|
|
662
|
+
// Output goes to outputDir
|
|
663
|
+
packageRoot: inputDir,
|
|
664
|
+
// Input comes from inputDir
|
|
665
|
+
platform,
|
|
666
|
+
packageName: "temp",
|
|
667
|
+
direction: "install",
|
|
668
|
+
// Export flows are used during "install" direction
|
|
669
|
+
variables: {
|
|
670
|
+
name: "temp",
|
|
671
|
+
version: "0.0.0",
|
|
672
|
+
platform,
|
|
673
|
+
source: "openpackage",
|
|
674
|
+
sourcePlatform: "openpackage",
|
|
675
|
+
targetPlatform: platform,
|
|
676
|
+
targetRoot: "./"
|
|
677
|
+
},
|
|
678
|
+
dryRun: !1
|
|
679
|
+
}, flowResult = await createFlowExecutor().executeFlow(matchingFlow, flowContext);
|
|
680
|
+
if (!flowResult.success)
|
|
681
|
+
return {
|
|
682
|
+
success: !1,
|
|
683
|
+
error: `Flow execution failed: ${flowResult.error?.message}`
|
|
684
|
+
};
|
|
685
|
+
if (typeof flowResult.target != "string")
|
|
686
|
+
return {
|
|
687
|
+
success: !1,
|
|
688
|
+
error: "Flow did not produce target path"
|
|
689
|
+
};
|
|
690
|
+
let outputFilePath = flowResult.target;
|
|
691
|
+
if (!await exists(outputFilePath))
|
|
692
|
+
return {
|
|
693
|
+
success: !1,
|
|
694
|
+
error: "Flow did not produce output file"
|
|
695
|
+
};
|
|
696
|
+
let convertedContent = await readTextFile(outputFilePath), convertedHash = await calculateFileHash(convertedContent);
|
|
697
|
+
return logger.debug(
|
|
698
|
+
`Successfully forward converted ${sourceRegistryPath} to ${platform} format`,
|
|
699
|
+
{
|
|
700
|
+
originalHash: await calculateFileHash(sourceContent),
|
|
701
|
+
convertedHash
|
|
702
|
+
}
|
|
703
|
+
), {
|
|
704
|
+
success: !0,
|
|
705
|
+
convertedContent,
|
|
706
|
+
convertedHash
|
|
707
|
+
};
|
|
708
|
+
} catch (error) {
|
|
709
|
+
return logger.warn(
|
|
710
|
+
`Forward conversion failed for ${sourceRegistryPath} (platform: ${platform})`,
|
|
711
|
+
{ error }
|
|
712
|
+
), {
|
|
713
|
+
success: !1,
|
|
714
|
+
error: error instanceof Error ? error.message : String(error)
|
|
715
|
+
};
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
function findMatchingExportFlow(flows, sourceRegistryPath, workspacePath, platform, workspaceRoot) {
|
|
719
|
+
for (let flow of flows) {
|
|
720
|
+
let fromPatterns = Array.isArray(flow.from) ? flow.from : [flow.from];
|
|
721
|
+
if (!(fromPatterns.some((p) => typeof p == "object" && "$switch" in p) || fromPatterns.some((p) => typeof p != "string") || !fromPatterns.some(
|
|
722
|
+
(p) => typeof p == "string" && minimatch2(sourceRegistryPath, p, { dot: !0 })
|
|
723
|
+
)) && !(flow.when && !evaluateWhenCondition(flow.when, platform, workspaceRoot)))
|
|
724
|
+
return flow;
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
async function ensureComparableHash(candidate, workspaceRoot) {
|
|
728
|
+
if (candidate.comparableHash !== void 0)
|
|
729
|
+
return candidate.comparableHash;
|
|
730
|
+
let hash = candidate.contentHash;
|
|
731
|
+
if (candidate.mergeStrategy && candidate.mergeKeys && candidate.mergeKeys.length > 0) {
|
|
732
|
+
let extractResult = await extractPackageContribution(candidate);
|
|
733
|
+
extractResult.success && extractResult.extractedHash ? (hash = extractResult.extractedHash, extractResult.extractedContent && (candidate.extractedContent = extractResult.extractedContent)) : hash = await calculateConvertedHash(candidate, workspaceRoot);
|
|
734
|
+
} else
|
|
735
|
+
hash = await calculateConvertedHash(candidate, workspaceRoot);
|
|
736
|
+
return candidate.comparableHash = hash, hash;
|
|
737
|
+
}
|
|
738
|
+
function clearConversionCache() {
|
|
739
|
+
conversionCache.clear();
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
// ../core/src/core/save/save-conflict-analyzer.ts
|
|
743
|
+
async function analyzeGroup(group, force, workspaceRoot) {
|
|
744
|
+
let registryPath = group.registryPath, hasLocal = !!group.local, workspaceCandidates = group.workspace, workspaceCandidateCount = workspaceCandidates.length, isRootFile = registryPath === FILE_PATTERNS.AGENTS_MD || registryPath === FILE_PATTERNS.CLAUDE_MD || registryPath === FILE_PATTERNS.GEMINI_MD || registryPath === FILE_PATTERNS.QWEN_MD || registryPath === FILE_PATTERNS.WARP_MD || workspaceCandidates.some((c) => c.isRootFile), hasPlatformCandidates = workspaceCandidates.some(
|
|
745
|
+
(c) => c.platform && c.platform !== "ai"
|
|
746
|
+
);
|
|
747
|
+
if (workspaceCandidateCount === 0)
|
|
748
|
+
return {
|
|
749
|
+
registryPath,
|
|
750
|
+
type: "no-action-needed",
|
|
751
|
+
workspaceCandidateCount: 0,
|
|
752
|
+
uniqueWorkspaceCandidates: [],
|
|
753
|
+
hasLocalCandidate: hasLocal,
|
|
754
|
+
localMatchesWorkspace: !1,
|
|
755
|
+
isRootFile,
|
|
756
|
+
hasPlatformCandidates: !1,
|
|
757
|
+
recommendedStrategy: "skip"
|
|
758
|
+
};
|
|
759
|
+
let uniqueWorkspace = await deduplicateCandidatesWithMerge(workspaceCandidates, workspaceRoot), localMatchesWorkspace = hasLocal && uniqueWorkspace.length === 1 ? await checkConvertedParity(uniqueWorkspace[0], group.local, workspaceRoot) : !1;
|
|
760
|
+
return hasLocal && uniqueWorkspace.length > 1 && (await Promise.all(
|
|
761
|
+
uniqueWorkspace.map(async (candidate) => ({
|
|
762
|
+
workspacePath: candidate.displayPath,
|
|
763
|
+
platform: candidate.platform || "none",
|
|
764
|
+
matchesLocal: await checkConvertedParity(candidate, group.local, workspaceRoot)
|
|
765
|
+
}))
|
|
766
|
+
)).every((result) => result.matchesLocal) ? {
|
|
767
|
+
registryPath,
|
|
768
|
+
type: "no-change-needed",
|
|
769
|
+
workspaceCandidateCount,
|
|
770
|
+
uniqueWorkspaceCandidates: uniqueWorkspace,
|
|
771
|
+
hasLocalCandidate: hasLocal,
|
|
772
|
+
localMatchesWorkspace: !0,
|
|
773
|
+
isRootFile,
|
|
774
|
+
hasPlatformCandidates,
|
|
775
|
+
recommendedStrategy: "skip"
|
|
776
|
+
} : localMatchesWorkspace ? {
|
|
777
|
+
registryPath,
|
|
778
|
+
type: "no-change-needed",
|
|
779
|
+
workspaceCandidateCount,
|
|
780
|
+
uniqueWorkspaceCandidates: uniqueWorkspace,
|
|
781
|
+
hasLocalCandidate: hasLocal,
|
|
782
|
+
localMatchesWorkspace: !0,
|
|
783
|
+
isRootFile,
|
|
784
|
+
hasPlatformCandidates,
|
|
785
|
+
recommendedStrategy: "skip"
|
|
786
|
+
} : uniqueWorkspace.length === 1 ? {
|
|
787
|
+
registryPath,
|
|
788
|
+
type: "auto-write",
|
|
789
|
+
workspaceCandidateCount,
|
|
790
|
+
uniqueWorkspaceCandidates: uniqueWorkspace,
|
|
791
|
+
hasLocalCandidate: hasLocal,
|
|
792
|
+
localMatchesWorkspace: !1,
|
|
793
|
+
isRootFile,
|
|
794
|
+
hasPlatformCandidates,
|
|
795
|
+
recommendedStrategy: "write-single"
|
|
796
|
+
} : {
|
|
797
|
+
registryPath,
|
|
798
|
+
type: "needs-resolution",
|
|
799
|
+
workspaceCandidateCount,
|
|
800
|
+
uniqueWorkspaceCandidates: uniqueWorkspace,
|
|
801
|
+
hasLocalCandidate: hasLocal,
|
|
802
|
+
localMatchesWorkspace: !1,
|
|
803
|
+
isRootFile,
|
|
804
|
+
hasPlatformCandidates,
|
|
805
|
+
recommendedStrategy: force ? "force-newest" : "interactive"
|
|
806
|
+
};
|
|
807
|
+
}
|
|
808
|
+
async function checkConvertedParity(workspace, local, workspaceRoot) {
|
|
809
|
+
let workspaceHash = await ensureComparableHash(workspace, workspaceRoot);
|
|
810
|
+
if (workspace.mergeStrategy && workspace.mergeKeys && workspace.mergeKeys.length > 0) {
|
|
811
|
+
if (workspace.platform && workspace.platform !== "ai") {
|
|
812
|
+
let forward = await convertSourceToWorkspace(
|
|
813
|
+
local.content,
|
|
814
|
+
workspace.platform,
|
|
815
|
+
local.registryPath,
|
|
816
|
+
workspace.displayPath,
|
|
817
|
+
workspaceRoot
|
|
818
|
+
);
|
|
819
|
+
if (forward.success && forward.convertedContent) {
|
|
820
|
+
let localConvertedExtract = await extractContentByKeys(
|
|
821
|
+
forward.convertedContent,
|
|
822
|
+
workspace.mergeKeys
|
|
823
|
+
);
|
|
824
|
+
if (localConvertedExtract.success && localConvertedExtract.extractedHash)
|
|
825
|
+
return workspaceHash === localConvertedExtract.extractedHash;
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
let localExtract = await extractContentByKeys(local.content, workspace.mergeKeys);
|
|
829
|
+
return localExtract.success && localExtract.extractedHash ? workspaceHash === localExtract.extractedHash : workspaceHash === local.contentHash;
|
|
830
|
+
}
|
|
831
|
+
return workspaceHash === local.contentHash;
|
|
832
|
+
}
|
|
833
|
+
async function deduplicateCandidatesWithMerge(candidates, workspaceRoot) {
|
|
834
|
+
let seen = /* @__PURE__ */ new Set(), unique = [];
|
|
835
|
+
for (let candidate of candidates) {
|
|
836
|
+
let hash = await ensureComparableHash(candidate, workspaceRoot);
|
|
837
|
+
if (logger.debug(
|
|
838
|
+
`Dedup check for ${candidate.displayPath}: hash=${hash}, rawHash=${candidate.contentHash}, seen=${seen.has(hash)}`
|
|
839
|
+
), seen.has(hash)) {
|
|
840
|
+
logger.debug(` Skipping duplicate: ${candidate.displayPath}`);
|
|
841
|
+
continue;
|
|
842
|
+
}
|
|
843
|
+
seen.add(hash), unique.push(candidate);
|
|
844
|
+
}
|
|
845
|
+
return logger.debug(`Deduplication: ${candidates.length} \u2192 ${unique.length} unique candidates`), unique;
|
|
846
|
+
}
|
|
847
|
+
function getNewestCandidate(candidates) {
|
|
848
|
+
if (candidates.length === 0)
|
|
849
|
+
throw new Error("Cannot get newest candidate from empty array");
|
|
850
|
+
if (candidates.length === 1)
|
|
851
|
+
return candidates[0];
|
|
852
|
+
let newest = candidates[0];
|
|
853
|
+
for (let i = 1; i < candidates.length; i++) {
|
|
854
|
+
let current = candidates[i];
|
|
855
|
+
(current.mtime > newest.mtime || current.mtime === newest.mtime && current.displayPath < newest.displayPath) && (newest = current);
|
|
856
|
+
}
|
|
857
|
+
return newest;
|
|
858
|
+
}
|
|
859
|
+
function sortCandidatesByMtime(candidates) {
|
|
860
|
+
return [...candidates].sort((a, b) => b.mtime !== a.mtime ? b.mtime - a.mtime : a.displayPath.localeCompare(b.displayPath));
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
// ../core/src/core/save/save-interactive-resolver.ts
|
|
864
|
+
import { join as join3 } from "path";
|
|
865
|
+
|
|
866
|
+
// ../core/src/core/platform/platform-specific-paths.ts
|
|
867
|
+
function joinSegments(segments) {
|
|
868
|
+
return segments.filter(Boolean).join("/");
|
|
869
|
+
}
|
|
870
|
+
function suffixFileBasename(registryPath, platform) {
|
|
871
|
+
let segments = registryPath.split("/"), fileName = segments.pop();
|
|
872
|
+
if (!fileName)
|
|
873
|
+
return registryPath;
|
|
874
|
+
let lastDotIndex = fileName.lastIndexOf(".");
|
|
875
|
+
if (lastDotIndex <= 0)
|
|
876
|
+
return fileName.endsWith(`.${platform}`) ? segments.push(fileName) : segments.push(`${fileName}.${platform}`), joinSegments(segments);
|
|
877
|
+
let name = fileName.slice(0, lastDotIndex), ext = fileName.slice(lastDotIndex);
|
|
878
|
+
return name.endsWith(`.${platform}`) ? (segments.push(fileName), joinSegments(segments)) : (segments.push(`${name}.${platform}${ext}`), joinSegments(segments));
|
|
879
|
+
}
|
|
880
|
+
function createPlatformSpecificRegistryPath(registryPath, platform) {
|
|
881
|
+
let segments = registryPath.split("/"), fileName = segments[segments.length - 1], isRoot = segments.length === 1;
|
|
882
|
+
if (!fileName)
|
|
883
|
+
return registryPath;
|
|
884
|
+
if (isRoot) {
|
|
885
|
+
let definition = getPlatformDefinition(platform);
|
|
886
|
+
return definition?.rootFile ? definition.rootFile : null;
|
|
887
|
+
}
|
|
888
|
+
return registryPath.endsWith(FILE_PATTERNS.MD_FILES), suffixFileBasename(registryPath, platform);
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
// ../core/src/core/save/save-interactive-resolver.ts
|
|
892
|
+
async function resolveInteractively(input, output, prompt) {
|
|
893
|
+
let { registryPath, workspaceCandidates, group, packageRoot, workspaceRoot } = input, out = output ?? resolveOutput(), prm = prompt ?? resolvePrompt(), sortedCandidates = sortCandidatesByMtime(workspaceCandidates);
|
|
894
|
+
displayConflictHeader(registryPath, sortedCandidates, out);
|
|
895
|
+
let universalSelected = null, platformSpecificCandidates = [], skippedCandidates = [];
|
|
896
|
+
for (let candidate of sortedCandidates) {
|
|
897
|
+
let parityCheck = await isAtParity(candidate, group, packageRoot, workspaceRoot);
|
|
898
|
+
if (parityCheck.atParity) {
|
|
899
|
+
out.info(`
|
|
900
|
+
\u2713 ${candidate.displayPath}`), out.info(` ${parityCheck.reason} - auto-skipping
|
|
901
|
+
`), skippedCandidates.push(candidate);
|
|
902
|
+
continue;
|
|
903
|
+
}
|
|
904
|
+
if (universalSelected) {
|
|
905
|
+
let universalHash = await ensureComparableHash(universalSelected, workspaceRoot);
|
|
906
|
+
if (await ensureComparableHash(candidate, workspaceRoot) === universalHash) {
|
|
907
|
+
out.info(`
|
|
908
|
+
\u2713 ${candidate.displayPath}`), out.info(` Identical to universal - auto-skipping
|
|
909
|
+
`), skippedCandidates.push(candidate);
|
|
910
|
+
continue;
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
switch (await promptCandidateAction(
|
|
914
|
+
candidate,
|
|
915
|
+
registryPath,
|
|
916
|
+
universalSelected !== null,
|
|
917
|
+
prm
|
|
918
|
+
)) {
|
|
919
|
+
case "universal":
|
|
920
|
+
universalSelected = candidate, out.success(`
|
|
921
|
+
\u2713 Selected as universal: ${candidate.displayPath}
|
|
922
|
+
`);
|
|
923
|
+
break;
|
|
924
|
+
case "platform-specific":
|
|
925
|
+
platformSpecificCandidates.push(candidate), out.success(`
|
|
926
|
+
\u2713 Marked as platform-specific: ${candidate.displayPath}
|
|
927
|
+
`);
|
|
928
|
+
break;
|
|
929
|
+
case "skip":
|
|
930
|
+
skippedCandidates.push(candidate), out.info(`
|
|
931
|
+
\u2713 Skipped: ${candidate.displayPath}
|
|
932
|
+
`);
|
|
933
|
+
break;
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
return displayResolutionSummary(universalSelected, platformSpecificCandidates, skippedCandidates, out), {
|
|
937
|
+
selectedCandidate: universalSelected,
|
|
938
|
+
platformSpecificCandidates
|
|
939
|
+
};
|
|
940
|
+
}
|
|
941
|
+
async function checkForwardParity(workspaceCandidate, localCandidate, packageRoot, workspaceRoot) {
|
|
942
|
+
try {
|
|
943
|
+
let result = await convertSourceToWorkspace(
|
|
944
|
+
localCandidate.content,
|
|
945
|
+
workspaceCandidate.platform,
|
|
946
|
+
localCandidate.registryPath,
|
|
947
|
+
workspaceCandidate.displayPath,
|
|
948
|
+
workspaceRoot
|
|
949
|
+
);
|
|
950
|
+
if (result.success && result.convertedHash && (logger.debug(
|
|
951
|
+
`Forward conversion check: converted source hash=${result.convertedHash}, workspace hash=${workspaceCandidate.contentHash}`
|
|
952
|
+
), result.convertedHash === workspaceCandidate.contentHash))
|
|
953
|
+
return {
|
|
954
|
+
atParity: !0,
|
|
955
|
+
reason: "Matches source after forward conversion (export flow)"
|
|
956
|
+
};
|
|
957
|
+
} catch (error) {
|
|
958
|
+
logger.debug(`Forward parity check failed: ${error}`);
|
|
959
|
+
}
|
|
960
|
+
return { atParity: !1 };
|
|
961
|
+
}
|
|
962
|
+
async function isAtParity(candidate, group, packageRoot, workspaceRoot) {
|
|
963
|
+
if (group.local) {
|
|
964
|
+
let comparisonHash = await ensureComparableHash(candidate, workspaceRoot);
|
|
965
|
+
if (logger.debug(
|
|
966
|
+
`Parity check for ${candidate.displayPath}: comparisonHash=${comparisonHash}, localHash=${group.local.contentHash}`
|
|
967
|
+
), comparisonHash === group.local.contentHash)
|
|
968
|
+
return {
|
|
969
|
+
atParity: !0,
|
|
970
|
+
reason: "Already matches universal (cached comparable hash)"
|
|
971
|
+
};
|
|
972
|
+
if (candidate.platform && candidate.platform !== "ai" && !(candidate.mergeStrategy && candidate.mergeKeys && candidate.mergeKeys.length > 0)) {
|
|
973
|
+
let forwardCheck = await checkForwardParity(
|
|
974
|
+
candidate,
|
|
975
|
+
group.local,
|
|
976
|
+
packageRoot,
|
|
977
|
+
workspaceRoot
|
|
978
|
+
);
|
|
979
|
+
if (forwardCheck.atParity)
|
|
980
|
+
return forwardCheck;
|
|
981
|
+
}
|
|
982
|
+
}
|
|
983
|
+
if (candidate.platform && candidate.platform !== "ai") {
|
|
984
|
+
let platformPath = createPlatformSpecificRegistryPath(
|
|
985
|
+
group.registryPath,
|
|
986
|
+
candidate.platform
|
|
987
|
+
);
|
|
988
|
+
if (platformPath) {
|
|
989
|
+
let platformFullPath = join3(packageRoot, platformPath);
|
|
990
|
+
if (await exists(platformFullPath))
|
|
991
|
+
try {
|
|
992
|
+
let platformContent = await readTextFile(platformFullPath), platformHash = await calculateFileHash(platformContent);
|
|
993
|
+
if (candidate.contentHash === platformHash)
|
|
994
|
+
return {
|
|
995
|
+
atParity: !0,
|
|
996
|
+
reason: "Already matches platform-specific file"
|
|
997
|
+
};
|
|
998
|
+
} catch (error) {
|
|
999
|
+
logger.debug(`Could not read platform file ${platformFullPath}: ${error}`);
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
return { atParity: !1 };
|
|
1004
|
+
}
|
|
1005
|
+
async function promptCandidateAction(candidate, registryPath, universalAlreadySelected, prm) {
|
|
1006
|
+
let candidateLabel = formatCandidateLabel(candidate, !0), choices = universalAlreadySelected ? [
|
|
1007
|
+
{ title: "Mark as platform-specific", value: "platform-specific" },
|
|
1008
|
+
{ title: "Skip", value: "skip" }
|
|
1009
|
+
] : [
|
|
1010
|
+
{ title: "Set as universal", value: "universal" },
|
|
1011
|
+
{ title: "Mark as platform-specific", value: "platform-specific" },
|
|
1012
|
+
{ title: "Skip", value: "skip" }
|
|
1013
|
+
];
|
|
1014
|
+
return await prm.select(
|
|
1015
|
+
` ${candidateLabel}
|
|
1016
|
+
What should we do with this file?`,
|
|
1017
|
+
choices,
|
|
1018
|
+
"Arrow keys to navigate, Enter to select"
|
|
1019
|
+
);
|
|
1020
|
+
}
|
|
1021
|
+
function displayConflictHeader(registryPath, candidates, out) {
|
|
1022
|
+
out.warn(`Multiple workspace versions found for ${registryPath}`), out.info(` Resolving conflicts for ${candidates.length} file(s)...
|
|
1023
|
+
`);
|
|
1024
|
+
}
|
|
1025
|
+
function displayResolutionSummary(universal, platformSpecific, skipped, out) {
|
|
1026
|
+
out.info("\u2500".repeat(60)), out.info("Resolution summary:"), universal ? out.success(` \u2713 Universal: ${universal.displayPath}`) : out.info(" \u2139 No universal content selected"), platformSpecific.length > 0 && (out.success(` \u2713 Platform-specific: ${platformSpecific.length} file(s)`), platformSpecific.forEach((c) => {
|
|
1027
|
+
let platform = c.platform ? `(${c.platform})` : "";
|
|
1028
|
+
out.info(` \u2022 ${c.displayPath} ${platform}`);
|
|
1029
|
+
})), skipped.length > 0 && out.info(` \u2022 Skipped: ${skipped.length} file(s)`), out.info("\u2500".repeat(60) + `
|
|
1030
|
+
`);
|
|
1031
|
+
}
|
|
1032
|
+
function formatCandidateLabel(candidate, includeTimestamp = !1) {
|
|
1033
|
+
let parts = [];
|
|
1034
|
+
if (parts.push(candidate.displayPath), candidate.platform && candidate.platform !== "ai" && parts.push(`(${candidate.platform})`), includeTimestamp) {
|
|
1035
|
+
let timestamp = new Date(candidate.mtime).toLocaleString();
|
|
1036
|
+
parts.push(`[${timestamp}]`);
|
|
1037
|
+
}
|
|
1038
|
+
return parts.join(" ");
|
|
1039
|
+
}
|
|
1040
|
+
|
|
1041
|
+
// ../core/src/core/save/save-resolution-executor.ts
|
|
1042
|
+
async function executeResolution(group, analysis, packageRoot, workspaceRoot) {
|
|
1043
|
+
let strategy = analysis.recommendedStrategy;
|
|
1044
|
+
if (strategy === "skip")
|
|
1045
|
+
return null;
|
|
1046
|
+
let sortedCandidates = sortCandidatesByMtime(analysis.uniqueWorkspaceCandidates);
|
|
1047
|
+
switch (strategy) {
|
|
1048
|
+
case "write-single":
|
|
1049
|
+
return resolveSingle(sortedCandidates[0]);
|
|
1050
|
+
case "write-newest":
|
|
1051
|
+
return resolveIdentical(sortedCandidates);
|
|
1052
|
+
case "force-newest":
|
|
1053
|
+
return resolveForce(sortedCandidates, group.registryPath);
|
|
1054
|
+
case "interactive":
|
|
1055
|
+
return resolveInteractive(
|
|
1056
|
+
group.registryPath,
|
|
1057
|
+
sortedCandidates,
|
|
1058
|
+
analysis.isRootFile,
|
|
1059
|
+
group,
|
|
1060
|
+
packageRoot,
|
|
1061
|
+
workspaceRoot
|
|
1062
|
+
);
|
|
1063
|
+
default:
|
|
1064
|
+
return logger.warn(`Unknown resolution strategy: ${strategy}`), null;
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1067
|
+
function resolveSingle(candidate) {
|
|
1068
|
+
return {
|
|
1069
|
+
selection: candidate,
|
|
1070
|
+
platformSpecific: [],
|
|
1071
|
+
strategy: "write-single",
|
|
1072
|
+
wasInteractive: !1
|
|
1073
|
+
};
|
|
1074
|
+
}
|
|
1075
|
+
function resolveIdentical(candidates) {
|
|
1076
|
+
return {
|
|
1077
|
+
selection: getNewestCandidate(candidates),
|
|
1078
|
+
platformSpecific: [],
|
|
1079
|
+
strategy: "write-newest",
|
|
1080
|
+
wasInteractive: !1
|
|
1081
|
+
};
|
|
1082
|
+
}
|
|
1083
|
+
function resolveForce(candidates, registryPath) {
|
|
1084
|
+
let newest = getNewestCandidate(candidates), maxMtime = newest.mtime, tiedCandidates = candidates.filter((c) => c.mtime === maxMtime);
|
|
1085
|
+
if (tiedCandidates.length > 1)
|
|
1086
|
+
logger.info(
|
|
1087
|
+
`Force mode: Multiple files have same modification time (${formatTimestamp(maxMtime)})`
|
|
1088
|
+
), logger.info(` Auto-selecting first alphabetically: ${newest.displayPath}`), logger.info(" Tied files:"), tiedCandidates.forEach((c) => {
|
|
1089
|
+
let marker = c === newest ? "\u2192" : " ";
|
|
1090
|
+
logger.info(` ${marker} ${c.displayPath}`);
|
|
1091
|
+
}), tiedCandidates.filter((c) => c !== newest).forEach((c) => {
|
|
1092
|
+
logger.info(` Skipping: ${c.displayPath} (tied, not alphabetically first)`);
|
|
1093
|
+
}), candidates.filter((c) => c.mtime < maxMtime).forEach((c) => {
|
|
1094
|
+
logger.info(` Skipping: ${c.displayPath} (older)`);
|
|
1095
|
+
});
|
|
1096
|
+
else {
|
|
1097
|
+
logger.info(`Force mode: Auto-selecting newest (${newest.displayPath})`);
|
|
1098
|
+
let skipped = candidates.filter((c) => c !== newest);
|
|
1099
|
+
skipped.length > 0 && skipped.forEach((c) => {
|
|
1100
|
+
logger.info(` Skipping: ${c.displayPath} (older)`);
|
|
1101
|
+
});
|
|
1102
|
+
}
|
|
1103
|
+
return {
|
|
1104
|
+
selection: newest,
|
|
1105
|
+
platformSpecific: [],
|
|
1106
|
+
// Force mode doesn't auto-create platform-specific variants
|
|
1107
|
+
strategy: "force-newest",
|
|
1108
|
+
wasInteractive: !1
|
|
1109
|
+
};
|
|
1110
|
+
}
|
|
1111
|
+
async function resolveInteractive(registryPath, candidates, isRootFile, group, packageRoot, workspaceRoot) {
|
|
1112
|
+
let result = await resolveInteractively({
|
|
1113
|
+
registryPath,
|
|
1114
|
+
workspaceCandidates: candidates,
|
|
1115
|
+
isRootFile,
|
|
1116
|
+
group,
|
|
1117
|
+
packageRoot,
|
|
1118
|
+
workspaceRoot
|
|
1119
|
+
});
|
|
1120
|
+
return {
|
|
1121
|
+
selection: result.selectedCandidate,
|
|
1122
|
+
platformSpecific: result.platformSpecificCandidates,
|
|
1123
|
+
strategy: "interactive",
|
|
1124
|
+
wasInteractive: !0
|
|
1125
|
+
};
|
|
1126
|
+
}
|
|
1127
|
+
function formatTimestamp(mtime) {
|
|
1128
|
+
return new Date(mtime).toLocaleString();
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
// ../core/src/core/save/save-platform-handler.ts
|
|
1132
|
+
import { join as join4 } from "path";
|
|
1133
|
+
async function pruneExistingPlatformCandidates(packageRoot, groups) {
|
|
1134
|
+
for (let group of groups) {
|
|
1135
|
+
if (!group.local && !group.localRef)
|
|
1136
|
+
continue;
|
|
1137
|
+
let filtered = [];
|
|
1138
|
+
for (let candidate of group.workspace) {
|
|
1139
|
+
let platform = candidate.platform;
|
|
1140
|
+
if (!platform || platform === "ai") {
|
|
1141
|
+
filtered.push(candidate);
|
|
1142
|
+
continue;
|
|
1143
|
+
}
|
|
1144
|
+
let platformPath = createPlatformSpecificRegistryPath(
|
|
1145
|
+
group.registryPath,
|
|
1146
|
+
platform
|
|
1147
|
+
);
|
|
1148
|
+
if (!platformPath) {
|
|
1149
|
+
filtered.push(candidate);
|
|
1150
|
+
continue;
|
|
1151
|
+
}
|
|
1152
|
+
let platformFullPath = join4(packageRoot, platformPath);
|
|
1153
|
+
if (await exists(platformFullPath)) {
|
|
1154
|
+
logger.debug(
|
|
1155
|
+
`Pruning workspace candidate ${candidate.displayPath} for ${group.registryPath} (platform file ${platformPath} exists in source)`
|
|
1156
|
+
);
|
|
1157
|
+
continue;
|
|
1158
|
+
}
|
|
1159
|
+
filtered.push(candidate);
|
|
1160
|
+
}
|
|
1161
|
+
group.workspace = filtered;
|
|
1162
|
+
}
|
|
1163
|
+
}
|
|
1164
|
+
|
|
1165
|
+
// ../core/src/core/save/save-write-coordinator.ts
|
|
1166
|
+
import { dirname, join as join5 } from "path";
|
|
1167
|
+
import { minimatch as minimatch3 } from "minimatch";
|
|
1168
|
+
async function writeResolution(packageRoot, registryPath, resolution, localCandidate, workspaceRoot) {
|
|
1169
|
+
let results = [];
|
|
1170
|
+
if (resolution.selection) {
|
|
1171
|
+
let universalResult = await writeUniversal(
|
|
1172
|
+
packageRoot,
|
|
1173
|
+
registryPath,
|
|
1174
|
+
resolution.selection,
|
|
1175
|
+
localCandidate,
|
|
1176
|
+
workspaceRoot
|
|
1177
|
+
);
|
|
1178
|
+
results.push(universalResult);
|
|
1179
|
+
} else
|
|
1180
|
+
logger.debug(`No universal content selected for ${registryPath} - keeping original untouched`);
|
|
1181
|
+
for (let platformCandidate of resolution.platformSpecific) {
|
|
1182
|
+
let platformResult = await writePlatformSpecific(
|
|
1183
|
+
packageRoot,
|
|
1184
|
+
registryPath,
|
|
1185
|
+
platformCandidate,
|
|
1186
|
+
workspaceRoot
|
|
1187
|
+
);
|
|
1188
|
+
results.push(platformResult);
|
|
1189
|
+
}
|
|
1190
|
+
return results;
|
|
1191
|
+
}
|
|
1192
|
+
async function writeUniversal(packageRoot, registryPath, candidate, localCandidate, workspaceRoot) {
|
|
1193
|
+
let targetPath = join5(packageRoot, registryPath), preparedContent = await prepareContentForWrite(candidate, registryPath, workspaceRoot), writeDecision = shouldWrite(candidate, localCandidate, preparedContent.content), operation = {
|
|
1194
|
+
registryPath,
|
|
1195
|
+
targetPath,
|
|
1196
|
+
content: preparedContent.content,
|
|
1197
|
+
operation: writeDecision.operation,
|
|
1198
|
+
isPlatformSpecific: !1
|
|
1199
|
+
};
|
|
1200
|
+
if (!writeDecision.needed)
|
|
1201
|
+
return logger.debug(`Skipping write for ${registryPath}: content identical to source`), {
|
|
1202
|
+
operation,
|
|
1203
|
+
success: !0
|
|
1204
|
+
};
|
|
1205
|
+
let writeResult = await safeWrite(targetPath, preparedContent.content);
|
|
1206
|
+
if (writeResult.success) {
|
|
1207
|
+
let action = operation.operation === "create" ? "Created" : "Updated";
|
|
1208
|
+
logger.debug(`${action} ${registryPath}${preparedContent.wasExtracted ? " (extracted package contribution)" : ""}`);
|
|
1209
|
+
}
|
|
1210
|
+
return {
|
|
1211
|
+
operation,
|
|
1212
|
+
success: writeResult.success,
|
|
1213
|
+
error: writeResult.error
|
|
1214
|
+
};
|
|
1215
|
+
}
|
|
1216
|
+
async function writePlatformSpecific(packageRoot, registryPath, candidate, workspaceRoot) {
|
|
1217
|
+
let platform = candidate.platform;
|
|
1218
|
+
if (!platform || platform === "ai")
|
|
1219
|
+
return {
|
|
1220
|
+
operation: {
|
|
1221
|
+
registryPath,
|
|
1222
|
+
targetPath: "",
|
|
1223
|
+
content: "",
|
|
1224
|
+
operation: "skip",
|
|
1225
|
+
isPlatformSpecific: !0
|
|
1226
|
+
},
|
|
1227
|
+
success: !1,
|
|
1228
|
+
error: new Error("Candidate has no platform association")
|
|
1229
|
+
};
|
|
1230
|
+
let platformRegistryPath = createPlatformSpecificRegistryPath(registryPath, platform);
|
|
1231
|
+
if (!platformRegistryPath)
|
|
1232
|
+
return {
|
|
1233
|
+
operation: {
|
|
1234
|
+
registryPath,
|
|
1235
|
+
targetPath: "",
|
|
1236
|
+
content: "",
|
|
1237
|
+
operation: "skip",
|
|
1238
|
+
isPlatformSpecific: !0,
|
|
1239
|
+
platform
|
|
1240
|
+
},
|
|
1241
|
+
success: !1,
|
|
1242
|
+
error: new Error(`Could not create platform-specific path for ${platform}`)
|
|
1243
|
+
};
|
|
1244
|
+
let targetPath = join5(packageRoot, platformRegistryPath), preparedContent = await prepareContentForWrite(candidate, platformRegistryPath, workspaceRoot), fileExists = await exists(targetPath), operationType = fileExists ? "update" : "create", operation = {
|
|
1245
|
+
registryPath: platformRegistryPath,
|
|
1246
|
+
targetPath,
|
|
1247
|
+
content: preparedContent.content,
|
|
1248
|
+
operation: operationType,
|
|
1249
|
+
isPlatformSpecific: !0,
|
|
1250
|
+
platform
|
|
1251
|
+
};
|
|
1252
|
+
if (fileExists)
|
|
1253
|
+
try {
|
|
1254
|
+
if (await readTextFile(targetPath) === preparedContent.content)
|
|
1255
|
+
return logger.debug(`Skipping write for ${platformRegistryPath}: content identical`), operation.operation = "skip", {
|
|
1256
|
+
operation,
|
|
1257
|
+
success: !0
|
|
1258
|
+
};
|
|
1259
|
+
} catch (error) {
|
|
1260
|
+
logger.debug(`Could not read existing file ${platformRegistryPath}: ${error}`);
|
|
1261
|
+
}
|
|
1262
|
+
let writeResult = await safeWrite(targetPath, preparedContent.content);
|
|
1263
|
+
if (writeResult.success) {
|
|
1264
|
+
let action = operationType === "create" ? "Created" : "Updated";
|
|
1265
|
+
logger.debug(
|
|
1266
|
+
`${action} platform-specific file: ${platformRegistryPath}${preparedContent.wasExtracted ? " (extracted package contribution)" : ""}`
|
|
1267
|
+
);
|
|
1268
|
+
}
|
|
1269
|
+
return {
|
|
1270
|
+
operation,
|
|
1271
|
+
success: writeResult.success,
|
|
1272
|
+
error: writeResult.error
|
|
1273
|
+
};
|
|
1274
|
+
}
|
|
1275
|
+
async function applyImportTransformation(content, platform, registryPath, workspacePath, workspaceRoot) {
|
|
1276
|
+
try {
|
|
1277
|
+
let platformImportFlows = getPlatformDefinition(platform, workspaceRoot).import || [], allImportFlows = [...getGlobalImportFlows(workspaceRoot) || [], ...platformImportFlows];
|
|
1278
|
+
if (allImportFlows.length === 0)
|
|
1279
|
+
return {
|
|
1280
|
+
success: !1,
|
|
1281
|
+
reason: "No import flows defined for platform"
|
|
1282
|
+
};
|
|
1283
|
+
let matchingFlow = findMatchingFlow(
|
|
1284
|
+
allImportFlows,
|
|
1285
|
+
workspacePath,
|
|
1286
|
+
registryPath,
|
|
1287
|
+
platform,
|
|
1288
|
+
workspaceRoot
|
|
1289
|
+
);
|
|
1290
|
+
if (!matchingFlow)
|
|
1291
|
+
return {
|
|
1292
|
+
success: !1,
|
|
1293
|
+
reason: "No matching import flow found"
|
|
1294
|
+
};
|
|
1295
|
+
if (!matchingFlow.map || matchingFlow.map.length === 0)
|
|
1296
|
+
return {
|
|
1297
|
+
success: !1,
|
|
1298
|
+
reason: "Flow has no map operations"
|
|
1299
|
+
};
|
|
1300
|
+
let tempDir = await allocateTempSubdir(), inputDir = join5(tempDir, "in"), outputDir = join5(tempDir, "out");
|
|
1301
|
+
await ensureDir(inputDir), await ensureDir(outputDir);
|
|
1302
|
+
let inputFileName = registryPath.split("/").pop() || "file.json", inputFilePath = join5(inputDir, inputFileName);
|
|
1303
|
+
await writeTextFile(inputFilePath, content);
|
|
1304
|
+
let flowContext = {
|
|
1305
|
+
workspaceRoot: outputDir,
|
|
1306
|
+
packageRoot: inputDir,
|
|
1307
|
+
platform,
|
|
1308
|
+
packageName: "temp",
|
|
1309
|
+
direction: "install",
|
|
1310
|
+
// Import flows run during install
|
|
1311
|
+
variables: {
|
|
1312
|
+
name: "temp",
|
|
1313
|
+
version: "0.0.0",
|
|
1314
|
+
platform,
|
|
1315
|
+
source: platform,
|
|
1316
|
+
sourcePlatform: platform,
|
|
1317
|
+
targetPlatform: "openpackage"
|
|
1318
|
+
},
|
|
1319
|
+
dryRun: !1
|
|
1320
|
+
}, executor = createFlowExecutor(), concreteFlow = {
|
|
1321
|
+
...matchingFlow,
|
|
1322
|
+
from: inputFileName
|
|
1323
|
+
}, flowResult = await executor.executeFlow(concreteFlow, flowContext);
|
|
1324
|
+
if (!flowResult.success)
|
|
1325
|
+
return {
|
|
1326
|
+
success: !1,
|
|
1327
|
+
reason: `Flow execution failed: ${flowResult.error?.message}`
|
|
1328
|
+
};
|
|
1329
|
+
if (typeof flowResult.target != "string")
|
|
1330
|
+
return {
|
|
1331
|
+
success: !1,
|
|
1332
|
+
reason: "Flow did not produce target path"
|
|
1333
|
+
};
|
|
1334
|
+
let outputFilePath = flowResult.target;
|
|
1335
|
+
if (!await exists(outputFilePath))
|
|
1336
|
+
return {
|
|
1337
|
+
success: !1,
|
|
1338
|
+
reason: "Flow did not produce output file"
|
|
1339
|
+
};
|
|
1340
|
+
let transformedContent = await readTextFile(outputFilePath);
|
|
1341
|
+
return logger.debug(
|
|
1342
|
+
`Successfully transformed extracted content from ${platform} format to universal`,
|
|
1343
|
+
{ registryPath }
|
|
1344
|
+
), {
|
|
1345
|
+
success: !0,
|
|
1346
|
+
transformedContent
|
|
1347
|
+
};
|
|
1348
|
+
} catch (error) {
|
|
1349
|
+
return logger.debug(
|
|
1350
|
+
`Import transformation failed for ${registryPath} (platform: ${platform})`,
|
|
1351
|
+
{ error }
|
|
1352
|
+
), {
|
|
1353
|
+
success: !1,
|
|
1354
|
+
reason: error instanceof Error ? error.message : String(error)
|
|
1355
|
+
};
|
|
1356
|
+
}
|
|
1357
|
+
}
|
|
1358
|
+
function findMatchingFlow(flows, workspacePath, registryPath, platform, workspaceRoot) {
|
|
1359
|
+
let registryPathCandidates = getRegistryPathCandidates(registryPath);
|
|
1360
|
+
for (let flow of flows) {
|
|
1361
|
+
let fromPatterns = Array.isArray(flow.from) ? flow.from : [flow.from], matchesFrom = !1;
|
|
1362
|
+
for (let fromPattern of fromPatterns) {
|
|
1363
|
+
if (typeof fromPattern == "object" && "$switch" in fromPattern) {
|
|
1364
|
+
let defaultValue = fromPattern.$switch?.default;
|
|
1365
|
+
if (typeof defaultValue == "string" && minimatch3(workspacePath, defaultValue, { dot: !0 })) {
|
|
1366
|
+
matchesFrom = !0;
|
|
1367
|
+
break;
|
|
1368
|
+
}
|
|
1369
|
+
continue;
|
|
1370
|
+
}
|
|
1371
|
+
if (typeof fromPattern == "string" && minimatch3(workspacePath, fromPattern, { dot: !0 })) {
|
|
1372
|
+
matchesFrom = !0;
|
|
1373
|
+
break;
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1376
|
+
if (!matchesFrom)
|
|
1377
|
+
continue;
|
|
1378
|
+
let toPattern = Array.isArray(flow.to) ? flow.to[0] : flow.to;
|
|
1379
|
+
if (typeof toPattern == "object" && "$switch" in toPattern) {
|
|
1380
|
+
logger.debug("Skipping flow with switch expression in to field");
|
|
1381
|
+
continue;
|
|
1382
|
+
}
|
|
1383
|
+
if (!(typeof toPattern != "string" || !registryPathCandidates.some(
|
|
1384
|
+
(candidatePath) => minimatch3(candidatePath, toPattern, { dot: !0 })
|
|
1385
|
+
))) {
|
|
1386
|
+
if (flow.when && !evaluateWhenCondition2(flow.when, platform)) {
|
|
1387
|
+
logger.debug(`Flow condition not met for ${registryPath}`, { when: flow.when });
|
|
1388
|
+
continue;
|
|
1389
|
+
}
|
|
1390
|
+
return logger.debug(
|
|
1391
|
+
`Matched import flow: from=${workspacePath} to=${registryPath}`,
|
|
1392
|
+
{ platform }
|
|
1393
|
+
), flow;
|
|
1394
|
+
}
|
|
1395
|
+
}
|
|
1396
|
+
logger.debug(
|
|
1397
|
+
"No matching import flow found",
|
|
1398
|
+
{ workspacePath, registryPath, platform, flowCount: flows.length }
|
|
1399
|
+
);
|
|
1400
|
+
}
|
|
1401
|
+
function getRegistryPathCandidates(registryPath) {
|
|
1402
|
+
let candidates = [registryPath];
|
|
1403
|
+
return registryPath.endsWith(".jsonc") ? candidates.push(registryPath.replace(/\.jsonc$/, ".json")) : registryPath.endsWith(".json") && candidates.push(registryPath.replace(/\.json$/, ".jsonc")), candidates;
|
|
1404
|
+
}
|
|
1405
|
+
function evaluateWhenCondition2(when, platform) {
|
|
1406
|
+
if (when.$eq && Array.isArray(when.$eq) && when.$eq.length === 2) {
|
|
1407
|
+
let left = resolveVariable2(when.$eq[0], platform), right = resolveVariable2(when.$eq[1], platform);
|
|
1408
|
+
return left === right;
|
|
1409
|
+
}
|
|
1410
|
+
if (when.$ne && Array.isArray(when.$ne) && when.$ne.length === 2) {
|
|
1411
|
+
let left = resolveVariable2(when.$ne[0], platform), right = resolveVariable2(when.$ne[1], platform);
|
|
1412
|
+
return left !== right;
|
|
1413
|
+
}
|
|
1414
|
+
return when.exists ? !0 : (logger.debug("Unknown condition type in when clause", { when }), !1);
|
|
1415
|
+
}
|
|
1416
|
+
function resolveVariable2(value, platform) {
|
|
1417
|
+
return typeof value == "string" && (value === "$$platform" || value === "$$source") ? platform : value;
|
|
1418
|
+
}
|
|
1419
|
+
async function prepareContentForWrite(candidate, registryPath, workspaceRoot) {
|
|
1420
|
+
if (!!!(candidate.source === "workspace" && candidate.mergeStrategy && candidate.mergeKeys && candidate.mergeKeys.length > 0))
|
|
1421
|
+
return { content: candidate.content, wasExtracted: !1 };
|
|
1422
|
+
logger.debug(
|
|
1423
|
+
`Extracting package contribution from merged file: ${registryPath}`,
|
|
1424
|
+
{
|
|
1425
|
+
strategy: candidate.mergeStrategy,
|
|
1426
|
+
keyCount: candidate.mergeKeys.length,
|
|
1427
|
+
platform: candidate.platform
|
|
1428
|
+
}
|
|
1429
|
+
);
|
|
1430
|
+
let extractResult = await extractPackageContribution(candidate);
|
|
1431
|
+
if (extractResult.success && extractResult.extractedContent) {
|
|
1432
|
+
logger.info(
|
|
1433
|
+
`Successfully extracted package contribution for ${registryPath} (${candidate.mergeKeys.length} key(s))`
|
|
1434
|
+
);
|
|
1435
|
+
let finalContent = extractResult.extractedContent;
|
|
1436
|
+
if (candidate.platform && candidate.platform !== "ai" && workspaceRoot) {
|
|
1437
|
+
logger.info(
|
|
1438
|
+
"Attempting import transformation for merged file",
|
|
1439
|
+
{
|
|
1440
|
+
platform: candidate.platform,
|
|
1441
|
+
registryPath,
|
|
1442
|
+
displayPath: candidate.displayPath,
|
|
1443
|
+
hasWorkspaceRoot: !!workspaceRoot
|
|
1444
|
+
}
|
|
1445
|
+
);
|
|
1446
|
+
let transformResult = await applyImportTransformation(
|
|
1447
|
+
extractResult.extractedContent,
|
|
1448
|
+
candidate.platform,
|
|
1449
|
+
registryPath,
|
|
1450
|
+
candidate.displayPath,
|
|
1451
|
+
workspaceRoot
|
|
1452
|
+
);
|
|
1453
|
+
transformResult.success && transformResult.transformedContent ? (logger.info(
|
|
1454
|
+
`Successfully applied import transformation for platform ${candidate.platform}`,
|
|
1455
|
+
{ registryPath }
|
|
1456
|
+
), finalContent = transformResult.transformedContent) : logger.warn(
|
|
1457
|
+
`Import transformation failed or not applicable: ${transformResult.reason}`,
|
|
1458
|
+
{ registryPath, platform: candidate.platform }
|
|
1459
|
+
);
|
|
1460
|
+
} else
|
|
1461
|
+
logger.debug(
|
|
1462
|
+
"Skipping import transformation",
|
|
1463
|
+
{
|
|
1464
|
+
hasPlatform: !!candidate.platform,
|
|
1465
|
+
platform: candidate.platform,
|
|
1466
|
+
hasWorkspaceRoot: !!workspaceRoot
|
|
1467
|
+
}
|
|
1468
|
+
);
|
|
1469
|
+
return {
|
|
1470
|
+
content: finalContent,
|
|
1471
|
+
wasExtracted: !0
|
|
1472
|
+
};
|
|
1473
|
+
}
|
|
1474
|
+
return logger.warn(
|
|
1475
|
+
`Failed to extract package contribution from merged file: ${registryPath}`,
|
|
1476
|
+
{
|
|
1477
|
+
reason: extractResult.error,
|
|
1478
|
+
fallback: "Using full content"
|
|
1479
|
+
}
|
|
1480
|
+
), logger.warn(
|
|
1481
|
+
`\u26A0\uFE0F Writing full merged content to ${registryPath} - this may include keys from other packages or base workspace content`
|
|
1482
|
+
), { content: candidate.content, wasExtracted: !1 };
|
|
1483
|
+
}
|
|
1484
|
+
function shouldWrite(candidate, localCandidate, preparedContent) {
|
|
1485
|
+
return localCandidate ? preparedContent && preparedContent !== candidate.content ? preparedContent === localCandidate.content ? { needed: !1, operation: "skip" } : { needed: !0, operation: "update" } : candidate.contentHash === localCandidate.contentHash ? { needed: !1, operation: "skip" } : { needed: !0, operation: "update" } : { needed: !0, operation: "create" };
|
|
1486
|
+
}
|
|
1487
|
+
async function safeWrite(targetPath, content) {
|
|
1488
|
+
try {
|
|
1489
|
+
return await ensureDir(dirname(targetPath)), await writeTextFile(targetPath, content), { success: !0 };
|
|
1490
|
+
} catch (error) {
|
|
1491
|
+
return logger.error(`Failed to write file ${targetPath}: ${error}`), {
|
|
1492
|
+
success: !1,
|
|
1493
|
+
error: error instanceof Error ? error : new Error(String(error))
|
|
1494
|
+
};
|
|
1495
|
+
}
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
// ../core/src/core/save/save-result-reporter.ts
|
|
1499
|
+
function buildSaveReport(packageName, analyses, allWriteResults) {
|
|
1500
|
+
let totalGroups = analyses.length, groupsWithAction = analyses.filter(
|
|
1501
|
+
(a) => a.type !== "no-action-needed" && a.type !== "no-change-needed"
|
|
1502
|
+
).length, flatResults = allWriteResults.flat(), successfulWrites = flatResults.filter((r) => r.success), filesSaved = successfulWrites.length, filesCreated = successfulWrites.filter(
|
|
1503
|
+
(r) => r.operation.operation === "create"
|
|
1504
|
+
).length, filesUpdated = successfulWrites.filter(
|
|
1505
|
+
(r) => r.operation.operation === "update"
|
|
1506
|
+
).length, platformSpecificFiles = successfulWrites.filter(
|
|
1507
|
+
(r) => r.operation.isPlatformSpecific
|
|
1508
|
+
).length, interactiveResolutions = analyses.filter(
|
|
1509
|
+
(a) => a.recommendedStrategy === "interactive" && a.type === "needs-resolution"
|
|
1510
|
+
).length, errors = flatResults.filter((r) => !r.success).map((r) => ({
|
|
1511
|
+
path: r.operation.registryPath,
|
|
1512
|
+
error: r.error || new Error("Unknown write error")
|
|
1513
|
+
}));
|
|
1514
|
+
return {
|
|
1515
|
+
packageName,
|
|
1516
|
+
totalGroups,
|
|
1517
|
+
groupsWithAction,
|
|
1518
|
+
filesSaved,
|
|
1519
|
+
filesCreated,
|
|
1520
|
+
filesUpdated,
|
|
1521
|
+
platformSpecificFiles,
|
|
1522
|
+
interactiveResolutions,
|
|
1523
|
+
errors,
|
|
1524
|
+
writeResults: flatResults
|
|
1525
|
+
};
|
|
1526
|
+
}
|
|
1527
|
+
function createCommandResult(report) {
|
|
1528
|
+
return {
|
|
1529
|
+
success: !0,
|
|
1530
|
+
data: {
|
|
1531
|
+
message: formatSaveMessage(report),
|
|
1532
|
+
report
|
|
1533
|
+
}
|
|
1534
|
+
};
|
|
1535
|
+
}
|
|
1536
|
+
function createSuccessResult(packageName, message) {
|
|
1537
|
+
return {
|
|
1538
|
+
success: !0,
|
|
1539
|
+
data: {
|
|
1540
|
+
message,
|
|
1541
|
+
packageName
|
|
1542
|
+
}
|
|
1543
|
+
};
|
|
1544
|
+
}
|
|
1545
|
+
function createErrorResult(error) {
|
|
1546
|
+
return {
|
|
1547
|
+
success: !1,
|
|
1548
|
+
error
|
|
1549
|
+
};
|
|
1550
|
+
}
|
|
1551
|
+
function formatSaveMessage(report) {
|
|
1552
|
+
let lines = [];
|
|
1553
|
+
if (report.filesSaved === 0 && report.errors.length === 0)
|
|
1554
|
+
return `\u2713 Saved ${report.packageName}
|
|
1555
|
+
No changes detected`;
|
|
1556
|
+
lines.push(`\u2713 Saved ${report.packageName}`), report.filesCreated > 0 && lines.push(` ${report.filesCreated} file(s) created`), report.filesUpdated > 0 && lines.push(` ${report.filesUpdated} file(s) updated`), report.platformSpecificFiles > 0 && lines.push(` ${report.platformSpecificFiles} platform-specific file(s)`), report.interactiveResolutions > 0 && lines.push(` ${report.interactiveResolutions} interactive resolution(s)`), report.errors.length > 0 && (lines.push(""), lines.push(`\u26A0\uFE0F ${report.errors.length} error(s) occurred:`), report.errors.forEach((err) => {
|
|
1557
|
+
lines.push(` \u2022 ${err.path}: ${err.error.message}`);
|
|
1558
|
+
}));
|
|
1559
|
+
let successfulWrites = report.writeResults.filter((r) => r.success);
|
|
1560
|
+
if (successfulWrites.length > 0) {
|
|
1561
|
+
lines.push(""), lines.push(" Files saved:");
|
|
1562
|
+
let sorted = [...successfulWrites].sort(
|
|
1563
|
+
(a, b) => a.operation.registryPath.localeCompare(b.operation.registryPath)
|
|
1564
|
+
);
|
|
1565
|
+
for (let result of sorted) {
|
|
1566
|
+
let { registryPath, isPlatformSpecific, platform } = result.operation, label = isPlatformSpecific && platform ? `${registryPath} (${platform})` : `${registryPath} (universal)`;
|
|
1567
|
+
lines.push(` \u251C\u2500\u2500 ${label}`);
|
|
1568
|
+
}
|
|
1569
|
+
}
|
|
1570
|
+
return report.filesSaved > 0 && (lines.push(""), lines.push("\u{1F4A1} Changes saved to package source."), lines.push(" To sync changes to workspace, run:"), lines.push(` opkg install ${report.packageName}`)), lines.join(`
|
|
1571
|
+
`);
|
|
1572
|
+
}
|
|
1573
|
+
|
|
1574
|
+
// ../core/src/core/save/save-to-source-pipeline.ts
|
|
1575
|
+
async function runSaveToSourcePipeline(packageName, options = {}) {
|
|
1576
|
+
try {
|
|
1577
|
+
await initSharedTempDir(), logger.debug(`Validating save preconditions for ${packageName}`);
|
|
1578
|
+
let validation = await validateSavePreconditions(packageName);
|
|
1579
|
+
if (!validation.valid)
|
|
1580
|
+
return createErrorResult(validation.error);
|
|
1581
|
+
let { cwd, packageRoot, filesMapping } = validation;
|
|
1582
|
+
logger.debug(`Building candidates for ${packageName}`);
|
|
1583
|
+
let candidateResult = await buildCandidates({
|
|
1584
|
+
packageRoot,
|
|
1585
|
+
workspaceRoot: cwd,
|
|
1586
|
+
filesMapping
|
|
1587
|
+
});
|
|
1588
|
+
candidateResult.errors.length > 0 && (logger.warn(`Encountered ${candidateResult.errors.length} error(s) building candidates`), candidateResult.errors.forEach(
|
|
1589
|
+
(err) => logger.warn(` ${err.path}: ${err.reason}`)
|
|
1590
|
+
)), logger.debug("Building candidate groups");
|
|
1591
|
+
let allGroups = buildCandidateGroups(
|
|
1592
|
+
candidateResult.localSourceRefs,
|
|
1593
|
+
candidateResult.workspaceCandidates,
|
|
1594
|
+
cwd
|
|
1595
|
+
), activeGroups = filterGroupsWithWorkspace(allGroups);
|
|
1596
|
+
if (activeGroups.length === 0)
|
|
1597
|
+
return logger.info(`No workspace changes detected for ${packageName}`), createSuccessResult(
|
|
1598
|
+
packageName,
|
|
1599
|
+
`\u2713 Saved ${packageName}
|
|
1600
|
+
No workspace changes detected`
|
|
1601
|
+
);
|
|
1602
|
+
logger.debug("Pruning existing platform-specific files"), await pruneExistingPlatformCandidates(packageRoot, activeGroups);
|
|
1603
|
+
let finalGroups = activeGroups.filter((g) => g.workspace.length > 0);
|
|
1604
|
+
if (finalGroups.length === 0)
|
|
1605
|
+
return logger.info(`No workspace changes detected for ${packageName}`), createSuccessResult(
|
|
1606
|
+
packageName,
|
|
1607
|
+
`\u2713 Saved ${packageName}
|
|
1608
|
+
No workspace changes detected`
|
|
1609
|
+
);
|
|
1610
|
+
for (let group of finalGroups)
|
|
1611
|
+
group.localRef && !group.local && (group.local = await materializeLocalCandidate(group.localRef, packageRoot) ?? void 0);
|
|
1612
|
+
logger.debug(`Processing ${finalGroups.length} group(s) with workspace candidates`);
|
|
1613
|
+
let groupAnalyses = await Promise.all(
|
|
1614
|
+
finalGroups.map(async (group) => ({
|
|
1615
|
+
group,
|
|
1616
|
+
analysis: await analyzeGroup(group, options.force ?? !1, cwd)
|
|
1617
|
+
}))
|
|
1618
|
+
), analyses = groupAnalyses.map((ga) => ga.analysis), allWriteResults = [], autoResolvable = [], interactive = [];
|
|
1619
|
+
for (let ga of groupAnalyses) {
|
|
1620
|
+
if (ga.analysis.type === "no-action-needed" || ga.analysis.type === "no-change-needed") {
|
|
1621
|
+
logger.debug(`Skipping ${ga.group.registryPath}: ${ga.analysis.type}`);
|
|
1622
|
+
continue;
|
|
1623
|
+
}
|
|
1624
|
+
ga.analysis.recommendedStrategy === "interactive" ? interactive.push(ga) : autoResolvable.push(ga);
|
|
1625
|
+
}
|
|
1626
|
+
if (autoResolvable.length > 0) {
|
|
1627
|
+
logger.debug(`Processing ${autoResolvable.length} auto-resolvable group(s) in parallel`);
|
|
1628
|
+
let autoResults = await Promise.all(
|
|
1629
|
+
autoResolvable.map(async ({ group, analysis }) => {
|
|
1630
|
+
let resolution = await executeResolution(group, analysis, packageRoot, cwd);
|
|
1631
|
+
return resolution ? writeResolution(packageRoot, group.registryPath, resolution, group.local, cwd) : null;
|
|
1632
|
+
})
|
|
1633
|
+
);
|
|
1634
|
+
for (let result of autoResults)
|
|
1635
|
+
result && allWriteResults.push(result);
|
|
1636
|
+
}
|
|
1637
|
+
for (let { group, analysis } of interactive) {
|
|
1638
|
+
let resolution = await executeResolution(group, analysis, packageRoot, cwd);
|
|
1639
|
+
if (!resolution) {
|
|
1640
|
+
logger.debug(`No resolution returned for ${group.registryPath}`);
|
|
1641
|
+
continue;
|
|
1642
|
+
}
|
|
1643
|
+
let writeResults = await writeResolution(
|
|
1644
|
+
packageRoot,
|
|
1645
|
+
group.registryPath,
|
|
1646
|
+
resolution,
|
|
1647
|
+
group.local,
|
|
1648
|
+
cwd
|
|
1649
|
+
);
|
|
1650
|
+
allWriteResults.push(writeResults);
|
|
1651
|
+
}
|
|
1652
|
+
logger.debug("Building save report");
|
|
1653
|
+
let report = buildSaveReport(packageName, analyses, allWriteResults);
|
|
1654
|
+
return createCommandResult(report);
|
|
1655
|
+
} finally {
|
|
1656
|
+
clearConversionCache(), await cleanupSharedTempDir();
|
|
1657
|
+
}
|
|
1658
|
+
}
|
|
1659
|
+
async function validateSavePreconditions(packageName) {
|
|
1660
|
+
let cwd = process.cwd();
|
|
1661
|
+
if (!packageName)
|
|
1662
|
+
return {
|
|
1663
|
+
valid: !1,
|
|
1664
|
+
error: "Package name is required for save."
|
|
1665
|
+
};
|
|
1666
|
+
let index;
|
|
1667
|
+
try {
|
|
1668
|
+
index = (await readWorkspaceIndex(cwd)).index;
|
|
1669
|
+
} catch (error) {
|
|
1670
|
+
return {
|
|
1671
|
+
valid: !1,
|
|
1672
|
+
error: `Failed to read workspace index: ${error}`
|
|
1673
|
+
};
|
|
1674
|
+
}
|
|
1675
|
+
let pkgIndex = index.packages?.[packageName];
|
|
1676
|
+
if (!pkgIndex)
|
|
1677
|
+
return {
|
|
1678
|
+
valid: !1,
|
|
1679
|
+
error: `Package '${packageName}' is not installed in this workspace.
|
|
1680
|
+
Run 'opkg install ${packageName}' to install it first.`
|
|
1681
|
+
};
|
|
1682
|
+
if (!pkgIndex.files || Object.keys(pkgIndex.files).length === 0)
|
|
1683
|
+
return {
|
|
1684
|
+
valid: !1,
|
|
1685
|
+
error: `Package '${packageName}' has no files installed.
|
|
1686
|
+
Nothing to save.`
|
|
1687
|
+
};
|
|
1688
|
+
let source;
|
|
1689
|
+
try {
|
|
1690
|
+
source = await resolvePackageSource(cwd, packageName);
|
|
1691
|
+
} catch (error) {
|
|
1692
|
+
return {
|
|
1693
|
+
valid: !1,
|
|
1694
|
+
error: `Failed to resolve package source: ${error}`
|
|
1695
|
+
};
|
|
1696
|
+
}
|
|
1697
|
+
try {
|
|
1698
|
+
assertMutableSourceOrThrow(source.absolutePath, {
|
|
1699
|
+
packageName: source.packageName,
|
|
1700
|
+
command: "save"
|
|
1701
|
+
});
|
|
1702
|
+
} catch (error) {
|
|
1703
|
+
return {
|
|
1704
|
+
valid: !1,
|
|
1705
|
+
error: error instanceof Error ? error.message : String(error)
|
|
1706
|
+
};
|
|
1707
|
+
}
|
|
1708
|
+
return {
|
|
1709
|
+
valid: !0,
|
|
1710
|
+
cwd,
|
|
1711
|
+
packageRoot: source.absolutePath,
|
|
1712
|
+
filesMapping: pkgIndex.files
|
|
1713
|
+
};
|
|
1714
|
+
}
|
|
1715
|
+
|
|
1716
|
+
// src/commands/save.ts
|
|
1717
|
+
async function setupSaveCommand(args) {
|
|
1718
|
+
let [packageName, options] = args, ctx = await createCliExecutionContext(), out = resolveOutput(ctx), result = await runSaveToSourcePipeline(packageName, options);
|
|
1719
|
+
if (!result.success)
|
|
1720
|
+
throw new Error(result.error || "Save operation failed");
|
|
1721
|
+
result.data?.message && out.success(result.data.message);
|
|
1722
|
+
}
|
|
1723
|
+
export {
|
|
1724
|
+
setupSaveCommand
|
|
1725
|
+
};
|
|
1726
|
+
//# sourceMappingURL=save-RRBXRROU.js.map
|