opkg 0.9.2 → 0.9.4
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/.claude/agents/code-reviewer.md +171 -0
- package/.claude/commands/commit-push-pr.md +20 -0
- package/.claude/commands/{specs/read.md → read-specs.md} +1 -1
- package/.claude/commands/{specs/update.md → update-specs.md} +4 -0
- package/.claude/skills/code-review-excellence/SKILL.md +538 -0
- package/README.md +2 -2
- package/package.json +3 -1
- package/packages/cli/dist/add-IJAPFHIX.js +624 -0
- package/packages/cli/dist/add-IJAPFHIX.js.map +7 -0
- package/packages/cli/dist/add-LLUNFLJI.js +624 -0
- package/packages/cli/dist/add-LLUNFLJI.js.map +7 -0
- package/packages/cli/dist/add-U44SL3OR.js +624 -0
- package/packages/cli/dist/add-U44SL3OR.js.map +7 -0
- package/packages/cli/dist/chunk-23VBP5L6.js +371 -0
- package/packages/cli/dist/chunk-23VBP5L6.js.map +7 -0
- package/packages/cli/dist/chunk-2SVHLF5C.js +1419 -0
- package/packages/cli/dist/chunk-2SVHLF5C.js.map +7 -0
- package/packages/cli/dist/chunk-37256POU.js +99 -0
- package/packages/cli/dist/chunk-37256POU.js.map +7 -0
- package/packages/cli/dist/chunk-3PZRVA6O.js +196 -0
- package/packages/cli/dist/chunk-3PZRVA6O.js.map +7 -0
- package/packages/cli/dist/chunk-427DCURL.js +155 -0
- package/packages/cli/dist/chunk-427DCURL.js.map +7 -0
- package/packages/cli/dist/chunk-4B5HJLP2.js +48 -0
- package/packages/cli/dist/chunk-4B5HJLP2.js.map +7 -0
- package/packages/cli/dist/chunk-4OWT3YEG.js +413 -0
- package/packages/cli/dist/chunk-4OWT3YEG.js.map +7 -0
- package/packages/cli/dist/chunk-4RIBTBXI.js +568 -0
- package/packages/cli/dist/chunk-4RIBTBXI.js.map +7 -0
- package/packages/cli/dist/chunk-4X2EJHJN.js +63 -0
- package/packages/cli/dist/chunk-4X2EJHJN.js.map +7 -0
- package/packages/cli/dist/chunk-6CYW66HD.js +1136 -0
- package/packages/cli/dist/chunk-6CYW66HD.js.map +7 -0
- package/packages/cli/dist/chunk-6DITYAFA.js +172 -0
- package/packages/cli/dist/chunk-6DITYAFA.js.map +7 -0
- package/packages/cli/dist/chunk-7KEAKEVZ.js +568 -0
- package/packages/cli/dist/chunk-7KEAKEVZ.js.map +7 -0
- package/packages/cli/dist/chunk-ABFUD25D.js +61 -0
- package/packages/cli/dist/chunk-ABFUD25D.js.map +7 -0
- package/packages/cli/dist/chunk-AR7GJCG6.js +274 -0
- package/packages/cli/dist/chunk-AR7GJCG6.js.map +7 -0
- package/packages/cli/dist/chunk-AYTGQCXH.js +86 -0
- package/packages/cli/dist/chunk-AYTGQCXH.js.map +7 -0
- package/packages/cli/dist/chunk-BROJ6OUT.js +631 -0
- package/packages/cli/dist/chunk-BROJ6OUT.js.map +7 -0
- package/packages/cli/dist/chunk-BVVSU7QD.js +23 -0
- package/packages/cli/dist/chunk-BVVSU7QD.js.map +7 -0
- package/packages/cli/dist/chunk-C6FY55UP.js +108 -0
- package/packages/cli/dist/chunk-C6FY55UP.js.map +7 -0
- package/packages/cli/dist/chunk-CVA64SXK.js +1136 -0
- package/packages/cli/dist/chunk-CVA64SXK.js.map +7 -0
- package/packages/cli/dist/chunk-D3O7LY2Q.js +1151 -0
- package/packages/cli/dist/chunk-D3O7LY2Q.js.map +7 -0
- package/packages/cli/dist/chunk-D6LEPODL.js +413 -0
- package/packages/cli/dist/chunk-D6LEPODL.js.map +7 -0
- package/packages/cli/dist/chunk-DEC24S7E.js +186 -0
- package/packages/cli/dist/chunk-DEC24S7E.js.map +7 -0
- package/packages/cli/dist/chunk-FMVVJH5M.js +371 -0
- package/packages/cli/dist/chunk-FMVVJH5M.js.map +7 -0
- package/packages/cli/dist/chunk-GDVFS3YP.js +130 -0
- package/packages/cli/dist/chunk-GDVFS3YP.js.map +7 -0
- package/packages/cli/dist/chunk-GEP2G5HF.js +31 -0
- package/packages/cli/dist/chunk-GEP2G5HF.js.map +7 -0
- package/packages/cli/dist/chunk-GSWHZBT2.js +62 -0
- package/packages/cli/dist/chunk-GSWHZBT2.js.map +7 -0
- package/packages/cli/dist/chunk-HTYHJA3B.js +61 -0
- package/packages/cli/dist/chunk-HTYHJA3B.js.map +7 -0
- package/packages/cli/dist/chunk-HYKYECAE.js +222 -0
- package/packages/cli/dist/chunk-HYKYECAE.js.map +7 -0
- package/packages/cli/dist/chunk-I7FEAHB4.js +100 -0
- package/packages/cli/dist/chunk-I7FEAHB4.js.map +7 -0
- package/packages/cli/dist/chunk-IHVZ5AUJ.js +107 -0
- package/packages/cli/dist/chunk-IHVZ5AUJ.js.map +7 -0
- package/packages/cli/dist/chunk-KI7FDU3H.js +99 -0
- package/packages/cli/dist/chunk-KI7FDU3H.js.map +7 -0
- package/packages/cli/dist/chunk-L5GRJQBS.js +32 -0
- package/packages/cli/dist/chunk-L5GRJQBS.js.map +7 -0
- package/packages/cli/dist/chunk-LHEAUDJL.js +302 -0
- package/packages/cli/dist/chunk-LHEAUDJL.js.map +7 -0
- package/packages/cli/dist/chunk-MIURCESJ.js +48 -0
- package/packages/cli/dist/chunk-MIURCESJ.js.map +7 -0
- package/packages/cli/dist/chunk-N43IXOND.js +732 -0
- package/packages/cli/dist/chunk-N43IXOND.js.map +7 -0
- package/packages/cli/dist/chunk-OUZRMGPV.js +274 -0
- package/packages/cli/dist/chunk-OUZRMGPV.js.map +7 -0
- package/packages/cli/dist/chunk-PSQXKAL4.js +371 -0
- package/packages/cli/dist/chunk-PSQXKAL4.js.map +7 -0
- package/packages/cli/dist/chunk-PUDRKDVZ.js +1419 -0
- package/packages/cli/dist/chunk-PUDRKDVZ.js.map +7 -0
- package/packages/cli/dist/chunk-RAKMX654.js +631 -0
- package/packages/cli/dist/chunk-RAKMX654.js.map +7 -0
- package/packages/cli/dist/chunk-RSFLK2TP.js +195 -0
- package/packages/cli/dist/chunk-RSFLK2TP.js.map +7 -0
- package/packages/cli/dist/chunk-S26PR2BS.js +99 -0
- package/packages/cli/dist/chunk-S26PR2BS.js.map +7 -0
- package/packages/cli/dist/chunk-U7FW7SXX.js +568 -0
- package/packages/cli/dist/chunk-U7FW7SXX.js.map +7 -0
- package/packages/cli/dist/chunk-VKM6K5TN.js +413 -0
- package/packages/cli/dist/chunk-VKM6K5TN.js.map +7 -0
- package/packages/cli/dist/chunk-VKNJG4JN.js +253 -0
- package/packages/cli/dist/chunk-VKNJG4JN.js.map +7 -0
- package/packages/cli/dist/chunk-VQ2KY6CK.js +113 -0
- package/packages/cli/dist/chunk-VQ2KY6CK.js.map +7 -0
- package/packages/cli/dist/chunk-VQDTXLOX.js +1312 -0
- package/packages/cli/dist/chunk-VQDTXLOX.js.map +7 -0
- package/packages/cli/dist/chunk-VXNS3X5O.js +60 -0
- package/packages/cli/dist/chunk-VXNS3X5O.js.map +7 -0
- package/packages/cli/dist/chunk-WF7H2YDU.js +376 -0
- package/packages/cli/dist/chunk-WF7H2YDU.js.map +7 -0
- package/packages/cli/dist/chunk-WNRXZLWW.js +266 -0
- package/packages/cli/dist/chunk-WNRXZLWW.js.map +7 -0
- package/packages/cli/dist/chunk-WT4VVCXM.js +1121 -0
- package/packages/cli/dist/chunk-WT4VVCXM.js.map +7 -0
- package/packages/cli/dist/configure-3AZUMDJZ.js +107 -0
- package/packages/cli/dist/configure-3AZUMDJZ.js.map +7 -0
- package/packages/cli/dist/configure-D722JQOD.js +107 -0
- package/packages/cli/dist/configure-D722JQOD.js.map +7 -0
- package/packages/cli/dist/configure-IU5H7XD6.js +107 -0
- package/packages/cli/dist/configure-IU5H7XD6.js.map +7 -0
- package/packages/cli/dist/file-format-detector-PXCIAKTK.js +22 -0
- package/packages/cli/dist/file-format-detector-PXCIAKTK.js.map +7 -0
- package/packages/cli/dist/index.js +17 -17
- package/packages/cli/dist/install-EZNWMLJR.js +7581 -0
- package/packages/cli/dist/install-EZNWMLJR.js.map +7 -0
- package/packages/cli/dist/install-F5ANFUBX.js +7577 -0
- package/packages/cli/dist/install-F5ANFUBX.js.map +7 -0
- package/packages/cli/dist/install-JSXEPPC2.js +7104 -0
- package/packages/cli/dist/install-JSXEPPC2.js.map +7 -0
- package/packages/cli/dist/install-QHEBX7JH.js +7101 -0
- package/packages/cli/dist/install-QHEBX7JH.js.map +7 -0
- package/packages/cli/dist/list-DMOUATYI.js +327 -0
- package/packages/cli/dist/list-DMOUATYI.js.map +7 -0
- package/packages/cli/dist/list-UESSCB7Y.js +327 -0
- package/packages/cli/dist/list-UESSCB7Y.js.map +7 -0
- package/packages/cli/dist/list-XR7RSJFS.js +327 -0
- package/packages/cli/dist/list-XR7RSJFS.js.map +7 -0
- package/packages/cli/dist/login-EYZ2SOYZ.js +150 -0
- package/packages/cli/dist/login-EYZ2SOYZ.js.map +7 -0
- package/packages/cli/dist/login-JWCSTAEU.js +150 -0
- package/packages/cli/dist/login-JWCSTAEU.js.map +7 -0
- package/packages/cli/dist/login-NRKHXZKM.js +150 -0
- package/packages/cli/dist/login-NRKHXZKM.js.map +7 -0
- package/packages/cli/dist/logout-HDMYRXIE.js +40 -0
- package/packages/cli/dist/logout-HDMYRXIE.js.map +7 -0
- package/packages/cli/dist/logout-SYHXCVCQ.js +40 -0
- package/packages/cli/dist/logout-SYHXCVCQ.js.map +7 -0
- package/packages/cli/dist/logout-X3XUUOH5.js +40 -0
- package/packages/cli/dist/logout-X3XUUOH5.js.map +7 -0
- package/packages/cli/dist/new-3LTFKDTQ.js +277 -0
- package/packages/cli/dist/new-3LTFKDTQ.js.map +7 -0
- package/packages/cli/dist/new-F46OSD72.js +277 -0
- package/packages/cli/dist/new-F46OSD72.js.map +7 -0
- package/packages/cli/dist/new-OPCCLNL2.js +277 -0
- package/packages/cli/dist/new-OPCCLNL2.js.map +7 -0
- package/packages/cli/dist/package-marker-detector-T5O5YD2E.js +80 -0
- package/packages/cli/dist/package-marker-detector-T5O5YD2E.js.map +7 -0
- package/packages/cli/dist/package-yml-QWZIJDYU.js +16 -0
- package/packages/cli/dist/package-yml-QWZIJDYU.js.map +7 -0
- package/packages/cli/dist/plugin-naming-YP2I4NPA.js +29 -0
- package/packages/cli/dist/plugin-naming-YP2I4NPA.js.map +7 -0
- package/packages/cli/dist/publish-4H43PCSG.js +619 -0
- package/packages/cli/dist/publish-4H43PCSG.js.map +7 -0
- package/packages/cli/dist/publish-RULKLNUX.js +619 -0
- package/packages/cli/dist/publish-RULKLNUX.js.map +7 -0
- package/packages/cli/dist/publish-URWY2P3E.js +619 -0
- package/packages/cli/dist/publish-URWY2P3E.js.map +7 -0
- package/packages/cli/dist/remove-BD52BHR2.js +542 -0
- package/packages/cli/dist/remove-BD52BHR2.js.map +7 -0
- package/packages/cli/dist/remove-G5NRC7LD.js +542 -0
- package/packages/cli/dist/remove-G5NRC7LD.js.map +7 -0
- package/packages/cli/dist/remove-TC3FQUYQ.js +542 -0
- package/packages/cli/dist/remove-TC3FQUYQ.js.map +7 -0
- package/packages/cli/dist/resource-discoverer-4X4RY43E.js +17 -0
- package/packages/cli/dist/resource-discoverer-4X4RY43E.js.map +7 -0
- package/packages/cli/dist/save-24TESYKI.js +1728 -0
- package/packages/cli/dist/save-24TESYKI.js.map +7 -0
- package/packages/cli/dist/save-N3QWF2WN.js +1728 -0
- package/packages/cli/dist/save-N3QWF2WN.js.map +7 -0
- package/packages/cli/dist/save-P2U67DTV.js +1728 -0
- package/packages/cli/dist/save-P2U67DTV.js.map +7 -0
- package/packages/cli/dist/search-ABROK3UO.js +157 -0
- package/packages/cli/dist/search-ABROK3UO.js.map +7 -0
- package/packages/cli/dist/search-WVFXFNAV.js +157 -0
- package/packages/cli/dist/search-WVFXFNAV.js.map +7 -0
- package/packages/cli/dist/search-YQN2Q2SO.js +157 -0
- package/packages/cli/dist/search-YQN2Q2SO.js.map +7 -0
- package/packages/cli/dist/set-DCWF73F6.js +251 -0
- package/packages/cli/dist/set-DCWF73F6.js.map +7 -0
- package/packages/cli/dist/set-GJEG2F6Y.js +251 -0
- package/packages/cli/dist/set-GJEG2F6Y.js.map +7 -0
- package/packages/cli/dist/set-NGM2FIKF.js +251 -0
- package/packages/cli/dist/set-NGM2FIKF.js.map +7 -0
- package/packages/cli/dist/uninstall-3CJQMTYH.js +539 -0
- package/packages/cli/dist/uninstall-3CJQMTYH.js.map +7 -0
- package/packages/cli/dist/uninstall-Q3CP4UN5.js +539 -0
- package/packages/cli/dist/uninstall-Q3CP4UN5.js.map +7 -0
- package/packages/cli/dist/uninstall-QU5OMEEC.js +539 -0
- package/packages/cli/dist/uninstall-QU5OMEEC.js.map +7 -0
- package/packages/cli/dist/unpublish-GHJQYC4S.js +245 -0
- package/packages/cli/dist/unpublish-GHJQYC4S.js.map +7 -0
- package/packages/cli/dist/unpublish-L2CYMK4B.js +245 -0
- package/packages/cli/dist/unpublish-L2CYMK4B.js.map +7 -0
- package/packages/cli/dist/unpublish-VBTNTMS5.js +245 -0
- package/packages/cli/dist/unpublish-VBTNTMS5.js.map +7 -0
- package/packages/cli/dist/view-MXRBMXOG.js +488 -0
- package/packages/cli/dist/view-MXRBMXOG.js.map +7 -0
- package/packages/cli/dist/view-NMND7SAW.js +488 -0
- package/packages/cli/dist/view-NMND7SAW.js.map +7 -0
- package/packages/cli/dist/view-RPQRDSYB.js +488 -0
- package/packages/cli/dist/view-RPQRDSYB.js.map +7 -0
- package/packages/cli/package.json +2 -0
- package/packages/core/dist/constants/index.d.ts +9 -0
- package/packages/core/dist/constants/index.d.ts.map +1 -1
- package/packages/core/dist/constants/index.js +12 -0
- package/packages/core/dist/constants/index.js.map +1 -1
- package/packages/core/dist/core/dependency-resolver/index.d.ts +2 -10
- package/packages/core/dist/core/dependency-resolver/index.d.ts.map +1 -1
- package/packages/core/dist/core/dependency-resolver/index.js +3 -14
- package/packages/core/dist/core/dependency-resolver/index.js.map +1 -1
- package/packages/core/dist/core/install/base-detector.d.ts +2 -1
- package/packages/core/dist/core/install/base-detector.d.ts.map +1 -1
- package/packages/core/dist/core/install/base-detector.js +54 -1
- package/packages/core/dist/core/install/base-detector.js.map +1 -1
- package/packages/core/dist/core/install/conflicts/file-conflict-resolver.d.ts +7 -5
- package/packages/core/dist/core/install/conflicts/file-conflict-resolver.d.ts.map +1 -1
- package/packages/core/dist/core/install/conflicts/file-conflict-resolver.js +25 -9
- package/packages/core/dist/core/install/conflicts/file-conflict-resolver.js.map +1 -1
- package/packages/core/dist/core/install/flow-index-installer.d.ts +2 -1
- package/packages/core/dist/core/install/flow-index-installer.d.ts.map +1 -1
- package/packages/core/dist/core/install/flow-index-installer.js +19 -4
- package/packages/core/dist/core/install/flow-index-installer.js.map +1 -1
- package/packages/core/dist/core/install/input-classifier-base.js +3 -3
- package/packages/core/dist/core/install/input-classifier-base.js.map +1 -1
- package/packages/core/dist/core/install/install-reporting.d.ts.map +1 -1
- package/packages/core/dist/core/install/install-reporting.js +7 -9
- package/packages/core/dist/core/install/install-reporting.js.map +1 -1
- package/packages/core/dist/core/install/list-handler.d.ts.map +1 -1
- package/packages/core/dist/core/install/list-handler.js +3 -0
- package/packages/core/dist/core/install/list-handler.js.map +1 -1
- package/packages/core/dist/core/install/marketplace-handler.d.ts.map +1 -1
- package/packages/core/dist/core/install/marketplace-handler.js.map +1 -1
- package/packages/core/dist/core/install/operations/conflict-handler.d.ts +2 -1
- package/packages/core/dist/core/install/operations/conflict-handler.d.ts.map +1 -1
- package/packages/core/dist/core/install/operations/conflict-handler.js +2 -2
- package/packages/core/dist/core/install/operations/conflict-handler.js.map +1 -1
- package/packages/core/dist/core/install/operations/installation-executor.d.ts +3 -0
- package/packages/core/dist/core/install/operations/installation-executor.d.ts.map +1 -1
- package/packages/core/dist/core/install/operations/installation-executor.js +39 -22
- package/packages/core/dist/core/install/operations/installation-executor.js.map +1 -1
- package/packages/core/dist/core/install/orchestrator/orchestrator.d.ts +7 -3
- package/packages/core/dist/core/install/orchestrator/orchestrator.d.ts.map +1 -1
- package/packages/core/dist/core/install/orchestrator/orchestrator.js +193 -93
- package/packages/core/dist/core/install/orchestrator/orchestrator.js.map +1 -1
- package/packages/core/dist/core/install/orchestrator/strategies/git-strategy.d.ts +1 -0
- package/packages/core/dist/core/install/orchestrator/strategies/git-strategy.d.ts.map +1 -1
- package/packages/core/dist/core/install/orchestrator/strategies/git-strategy.js +11 -24
- package/packages/core/dist/core/install/orchestrator/strategies/git-strategy.js.map +1 -1
- package/packages/core/dist/core/install/orchestrator/strategies/path-strategy.d.ts +2 -0
- package/packages/core/dist/core/install/orchestrator/strategies/path-strategy.d.ts.map +1 -1
- package/packages/core/dist/core/install/orchestrator/strategies/path-strategy.js +14 -14
- package/packages/core/dist/core/install/orchestrator/strategies/path-strategy.js.map +1 -1
- package/packages/core/dist/core/install/orchestrator/strategies/registry-strategy.d.ts +7 -0
- package/packages/core/dist/core/install/orchestrator/strategies/registry-strategy.d.ts.map +1 -1
- package/packages/core/dist/core/install/orchestrator/strategies/registry-strategy.js +28 -0
- package/packages/core/dist/core/install/orchestrator/strategies/registry-strategy.js.map +1 -1
- package/packages/core/dist/core/install/orchestrator/types.d.ts +2 -0
- package/packages/core/dist/core/install/orchestrator/types.d.ts.map +1 -1
- package/packages/core/dist/core/install/path-package-loader.d.ts.map +1 -1
- package/packages/core/dist/core/install/path-package-loader.js +20 -1
- package/packages/core/dist/core/install/path-package-loader.js.map +1 -1
- package/packages/core/dist/core/install/platform-resolution.d.ts +3 -0
- package/packages/core/dist/core/install/platform-resolution.d.ts.map +1 -1
- package/packages/core/dist/core/install/platform-resolution.js +5 -2
- package/packages/core/dist/core/install/platform-resolution.js.map +1 -1
- package/packages/core/dist/core/install/preprocessing/context-population.d.ts +18 -0
- package/packages/core/dist/core/install/preprocessing/context-population.d.ts.map +1 -0
- package/packages/core/dist/core/install/preprocessing/context-population.js +36 -0
- package/packages/core/dist/core/install/preprocessing/context-population.js.map +1 -0
- package/packages/core/dist/core/install/preprocessing/convenience-preprocessor.d.ts +23 -0
- package/packages/core/dist/core/install/preprocessing/convenience-preprocessor.d.ts.map +1 -1
- package/packages/core/dist/core/install/preprocessing/convenience-preprocessor.js +44 -0
- package/packages/core/dist/core/install/preprocessing/convenience-preprocessor.js.map +1 -1
- package/packages/core/dist/core/install/sources/git-source.d.ts.map +1 -1
- package/packages/core/dist/core/install/sources/git-source.js +67 -4
- package/packages/core/dist/core/install/sources/git-source.js.map +1 -1
- package/packages/core/dist/core/install/sources/path-source.d.ts.map +1 -1
- package/packages/core/dist/core/install/sources/path-source.js +8 -0
- package/packages/core/dist/core/install/sources/path-source.js.map +1 -1
- package/packages/core/dist/core/install/strategies/flow-based-strategy.d.ts.map +1 -1
- package/packages/core/dist/core/install/strategies/flow-based-strategy.js +12 -5
- package/packages/core/dist/core/install/strategies/flow-based-strategy.js.map +1 -1
- package/packages/core/dist/core/install/strategies/types.d.ts +11 -1
- package/packages/core/dist/core/install/strategies/types.d.ts.map +1 -1
- package/packages/core/dist/core/install/unified/context-builders.d.ts +5 -0
- package/packages/core/dist/core/install/unified/context-builders.d.ts.map +1 -1
- package/packages/core/dist/core/install/unified/context-builders.js +12 -0
- package/packages/core/dist/core/install/unified/context-builders.js.map +1 -1
- package/packages/core/dist/core/install/unified/context-helpers.d.ts +0 -4
- package/packages/core/dist/core/install/unified/context-helpers.d.ts.map +1 -1
- package/packages/core/dist/core/install/unified/context-helpers.js +0 -24
- package/packages/core/dist/core/install/unified/context-helpers.js.map +1 -1
- package/packages/core/dist/core/install/unified/index.d.ts +1 -1
- package/packages/core/dist/core/install/unified/index.d.ts.map +1 -1
- package/packages/core/dist/core/install/unified/index.js +1 -1
- package/packages/core/dist/core/install/unified/index.js.map +1 -1
- package/packages/core/dist/core/install/unified/multi-context-pipeline.d.ts +6 -0
- package/packages/core/dist/core/install/unified/multi-context-pipeline.d.ts.map +1 -1
- package/packages/core/dist/core/install/unified/multi-context-pipeline.js +11 -4
- package/packages/core/dist/core/install/unified/multi-context-pipeline.js.map +1 -1
- package/packages/core/dist/core/install/unified/phases/conflicts.d.ts.map +1 -1
- package/packages/core/dist/core/install/unified/phases/conflicts.js +1 -1
- package/packages/core/dist/core/install/unified/phases/conflicts.js.map +1 -1
- package/packages/core/dist/core/install/unified/phases/execute.d.ts.map +1 -1
- package/packages/core/dist/core/install/unified/phases/execute.js +5 -5
- package/packages/core/dist/core/install/unified/phases/execute.js.map +1 -1
- package/packages/core/dist/core/install/unified/phases/load-package.js +3 -3
- package/packages/core/dist/core/install/unified/phases/load-package.js.map +1 -1
- package/packages/core/dist/core/install/unified/phases/report.js +1 -1
- package/packages/core/dist/core/install/unified/phases/report.js.map +1 -1
- package/packages/core/dist/core/install/unified/pipeline.d.ts.map +1 -1
- package/packages/core/dist/core/install/unified/pipeline.js +7 -10
- package/packages/core/dist/core/install/unified/pipeline.js.map +1 -1
- package/packages/core/dist/core/install/wave-resolver/content-root-cache.d.ts +24 -0
- package/packages/core/dist/core/install/wave-resolver/content-root-cache.d.ts.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/content-root-cache.js +71 -0
- package/packages/core/dist/core/install/wave-resolver/content-root-cache.js.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/context-builder.d.ts +39 -0
- package/packages/core/dist/core/install/wave-resolver/context-builder.d.ts.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/context-builder.js +148 -0
- package/packages/core/dist/core/install/wave-resolver/context-builder.js.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/fetcher.d.ts +49 -0
- package/packages/core/dist/core/install/wave-resolver/fetcher.d.ts.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/fetcher.js +221 -0
- package/packages/core/dist/core/install/wave-resolver/fetcher.js.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/index-updater.d.ts +23 -0
- package/packages/core/dist/core/install/wave-resolver/index-updater.d.ts.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/index-updater.js +87 -0
- package/packages/core/dist/core/install/wave-resolver/index-updater.js.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/index-write-collector.d.ts +101 -0
- package/packages/core/dist/core/install/wave-resolver/index-write-collector.d.ts.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/index-write-collector.js +194 -0
- package/packages/core/dist/core/install/wave-resolver/index-write-collector.js.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/index.d.ts +17 -0
- package/packages/core/dist/core/install/wave-resolver/index.d.ts.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/index.js +16 -0
- package/packages/core/dist/core/install/wave-resolver/index.js.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/manifest-reader.d.ts +34 -0
- package/packages/core/dist/core/install/wave-resolver/manifest-reader.d.ts.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/manifest-reader.js +112 -0
- package/packages/core/dist/core/install/wave-resolver/manifest-reader.js.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/types.d.ts +210 -0
- package/packages/core/dist/core/install/wave-resolver/types.d.ts.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/types.js +6 -0
- package/packages/core/dist/core/install/wave-resolver/types.js.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/version-solver.d.ts +65 -0
- package/packages/core/dist/core/install/wave-resolver/version-solver.d.ts.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/version-solver.js +166 -0
- package/packages/core/dist/core/install/wave-resolver/version-solver.js.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/wave-engine.d.ts +16 -0
- package/packages/core/dist/core/install/wave-resolver/wave-engine.d.ts.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/wave-engine.js +337 -0
- package/packages/core/dist/core/install/wave-resolver/wave-engine.js.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/wave-installer.d.ts +50 -0
- package/packages/core/dist/core/install/wave-resolver/wave-installer.d.ts.map +1 -0
- package/packages/core/dist/core/install/wave-resolver/wave-installer.js +246 -0
- package/packages/core/dist/core/install/wave-resolver/wave-installer.js.map +1 -0
- package/packages/core/dist/core/ports/buffered-output.d.ts +36 -0
- package/packages/core/dist/core/ports/buffered-output.d.ts.map +1 -0
- package/packages/core/dist/core/ports/buffered-output.js +89 -0
- package/packages/core/dist/core/ports/buffered-output.js.map +1 -0
- package/packages/core/dist/core/ports/resolve.d.ts +0 -13
- package/packages/core/dist/core/ports/resolve.d.ts.map +1 -1
- package/packages/core/dist/core/ports/resolve.js +0 -28
- package/packages/core/dist/core/ports/resolve.js.map +1 -1
- package/packages/core/dist/core/remove/removal-confirmation.d.ts +4 -1
- package/packages/core/dist/core/remove/removal-confirmation.d.ts.map +1 -1
- package/packages/core/dist/core/remove/removal-confirmation.js +5 -4
- package/packages/core/dist/core/remove/removal-confirmation.js.map +1 -1
- package/packages/core/dist/core/remove/remove-from-source-pipeline.d.ts.map +1 -1
- package/packages/core/dist/core/remove/remove-from-source-pipeline.js +1 -10
- package/packages/core/dist/core/remove/remove-from-source-pipeline.js.map +1 -1
- package/packages/core/dist/core/uninstall/uninstall-executor.js +1 -1
- package/packages/core/dist/core/uninstall/uninstall-executor.js.map +1 -1
- package/packages/core/dist/core/uninstall/uninstall-reporter.d.ts +2 -2
- package/packages/core/dist/core/uninstall/uninstall-reporter.d.ts.map +1 -1
- package/packages/core/dist/core/uninstall/uninstall-reporter.js +4 -4
- package/packages/core/dist/core/uninstall/uninstall-reporter.js.map +1 -1
- package/packages/core/dist/index.d.ts +1 -1
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/types/execution-context.d.ts +40 -10
- package/packages/core/dist/types/execution-context.d.ts.map +1 -1
- package/packages/core/dist/utils/concurrency-pool.d.ts +34 -0
- package/packages/core/dist/utils/concurrency-pool.d.ts.map +1 -0
- package/packages/core/dist/utils/concurrency-pool.js +58 -0
- package/packages/core/dist/utils/concurrency-pool.js.map +1 -0
- package/packages/core/dist/utils/plugin-naming.d.ts +11 -3
- package/packages/core/dist/utils/plugin-naming.d.ts.map +1 -1
- package/packages/core/dist/utils/plugin-naming.js +27 -7
- package/packages/core/dist/utils/plugin-naming.js.map +1 -1
- package/plans/wave-resolver.md +254 -0
- package/.claude/agents/essentials/code-simplifier.md +0 -52
- package/.claude/commands/essentials/cleanup.md +0 -1
- package/.claude/commands/essentials/review.md +0 -8
- package/.claude/commands/git/commit.md +0 -5
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../core/src/core/publish/publish-pipeline.ts", "../../core/src/utils/package-copy.ts", "../../core/src/utils/package-filters.ts", "../../core/src/core/publish/publish-errors.ts", "../../core/src/core/publish/publish-output.ts", "../../core/src/core/publish/publish-upload.ts", "../../core/src/core/publish/local-publish-pipeline.ts", "../../core/src/utils/validation/version.ts", "../../core/src/utils/validation/package-files.ts", "../../core/src/core/registry-writer.ts", "../src/commands/publish.ts"],
|
|
4
|
+
"sourcesContent": ["import path from 'path';\nimport * as semver from 'semver';\n\nimport { FILE_PATTERNS } from '../../constants/index.js';\nimport { authManager } from '../auth.js';\nimport { getCurrentUsername } from '../api-keys.js';\nimport { resolveScopedNameForPushWithUserScope, isScopedName } from '../scoping/package-scoping.js';\nimport { parsePackageYml } from '../../utils/package-yml.js';\nimport { readPackageFilesForRegistry } from '../../utils/package-copy.js';\nimport { createHttpClient } from '../http-client.js';\nimport { exists } from '../../utils/fs.js';\nimport { logger } from '../../utils/logger.js';\nimport type { Package, PackageYml } from '../../types/index.js';\nimport { handlePublishError, PublishError } from './publish-errors.js';\nimport { logPublishSummary, printPublishSuccess } from './publish-output.js';\nimport { preparePackageForUpload, createPublishTarball, uploadPackage } from './publish-upload.js';\nimport type { PublishOptions, PublishResult } from './publish-types.js';\nimport { runLocalPublishPipeline } from './local-publish-pipeline.js';\nimport { classifyPackageInput } from '../install/package-input.js';\nimport { resolvePackageByName } from '../package-name-resolution.js';\nimport { ValidationError } from '../../utils/errors.js';\nimport { formatPathForDisplay } from '../../utils/formatters.js';\nimport type { OutputPort } from '../ports/output.js';\nimport type { PromptPort } from '../ports/prompt.js';\nimport type { ExecutionContext } from '../../types/execution-context.js';\nimport { resolveOutput, resolvePrompt } from '../ports/resolve.js';\n\n/**\n * Main publish pipeline - routes to local or remote based on options\n */\nexport async function runPublishPipeline(\n packageInput: string | undefined,\n options: PublishOptions,\n ctx?: ExecutionContext\n): Promise<PublishResult<any>> {\n const output = resolveOutput(ctx);\n const prompt = resolvePrompt(ctx);\n // Route to appropriate pipeline\n if (options.local) {\n return await runLocalPublishPipeline(packageInput, options, output, prompt);\n } else {\n return await runRemotePublishPipeline(packageInput, options, output, prompt);\n }\n}\n\ninterface ResolvedSource {\n name: string;\n version: string;\n packageRoot: string;\n manifest: PackageYml;\n}\n\n/**\n * Resolve the source package for publishing (adapted from pack-pipeline)\n * Supports: CWD (default), package names, and directory paths\n * Does NOT support: tarballs or git URLs (remote publish needs source files)\n */\nasync function resolveSource(\n cwd: string,\n packageInput?: string,\n output?: OutputPort\n): Promise<ResolvedSource> {\n // No package input provided - publish CWD as package\n if (!packageInput) {\n const manifestPath = path.join(cwd, FILE_PATTERNS.OPENPACKAGE_YML);\n if (!(await exists(manifestPath))) {\n throw new Error('No openpackage.yml found in current directory; specify a package name or run inside a package root.');\n }\n const manifest = await parsePackageYml(manifestPath);\n return {\n name: manifest.name,\n version: manifest.version ?? '',\n packageRoot: cwd,\n manifest\n };\n }\n\n // Classify the input to determine if it's a path, tarball, or package name\n const classification = await classifyPackageInput(packageInput, cwd);\n\n let packageRoot: string;\n\n // Handle different input types\n if (classification.type === 'directory') {\n // Direct path to package directory\n packageRoot = classification.resolvedPath!;\n logger.info('Resolved package input as directory path', { path: packageRoot });\n } else if (classification.type === 'tarball') {\n // Tarball input is not supported for remote publish\n throw new ValidationError(\n `Remote publish does not support tarball inputs.\\n` +\n `To publish from a tarball, first extract it to a directory, or use local publish mode.`\n );\n } else if (classification.type === 'git') {\n // Git input is not supported for remote publish\n throw new ValidationError(\n `Remote publish does not support git inputs.\\n` +\n `To publish from a git repository, first clone it to a directory.`\n );\n } else {\n // Registry type or package name - use name resolution\n // Priority: CWD (if name matches) \u2192 Workspace \u2192 Global\n // Skip registry (already immutable/published)\n const resolution = await resolvePackageByName({\n cwd,\n packageName: packageInput,\n checkCwd: true, // Check if CWD is the package (highest priority)\n searchWorkspace: true, // Search workspace packages\n searchGlobal: true, // Search global packages\n searchRegistry: false // Skip registry (already published/immutable)\n });\n\n if (!resolution.found || !resolution.path) {\n throw new Error(\n `Package '${packageInput}' not found.\\n` +\n `Searched: current directory, workspace packages (.openpackage/packages/), and global packages (~/.openpackage/packages/).\\n` +\n `Make sure the package exists in one of these locations.`\n );\n }\n\n packageRoot = resolution.path;\n\n // Log resolution info for debugging/transparency\n if (resolution.resolutionInfo) {\n const { selected, reason } = resolution.resolutionInfo;\n logger.info('Resolved package for publishing', {\n packageInput,\n selectedSource: selected.type,\n version: selected.version,\n path: selected.path,\n reason\n });\n\n // User-friendly message about where package was found\n const sourceLabel = selected.type === 'cwd' ? 'current directory' :\n selected.type === 'workspace' ? 'workspace packages' :\n selected.type === 'global' ? 'global packages' : selected.type;\n if (output) {\n output.success(`Found ${packageInput} in ${sourceLabel}`);\n }\n }\n }\n\n // Load manifest from resolved path\n const manifestPath = path.join(packageRoot, FILE_PATTERNS.OPENPACKAGE_YML);\n if (!(await exists(manifestPath))) {\n throw new Error(`openpackage.yml not found at ${manifestPath}`);\n }\n\n const manifest = await parsePackageYml(manifestPath);\n\n return {\n name: manifest.name,\n version: manifest.version ?? '',\n packageRoot,\n manifest\n };\n}\n\nasync function resolveUploadName(\n packageName: string,\n authOptions: PublishOptions,\n prompt?: PromptPort\n): Promise<string> {\n if (isScopedName(packageName)) {\n return packageName;\n }\n\n const username = await getCurrentUsername(authOptions);\n return await resolveScopedNameForPushWithUserScope(packageName, username, authOptions.profile, prompt);\n}\n\nfunction validateVersionIfPresent(version?: string): void {\n if (!version) {\n return; // Unversioned publish is allowed\n }\n\n if (!semver.valid(version)) {\n throw new PublishError(\n `Invalid version: ${version}. Provide a valid semver version.`,\n 'INVALID_VERSION'\n );\n }\n\n if (semver.prerelease(version)) {\n throw new PublishError(\n `Prerelease versions cannot be published: ${version}`,\n 'PRERELEASE_DISALLOWED'\n );\n }\n}\n\nasync function runRemotePublishPipeline(\n packageInput: string | undefined,\n options: PublishOptions,\n output?: OutputPort,\n prompt?: PromptPort\n): Promise<PublishResult> {\n const out = output ?? resolveOutput();\n const cwd = process.cwd();\n let uploadPackageName: string | undefined;\n let version: string | undefined;\n\n try {\n // Resolve source package (supports CWD, package names, and directory paths)\n const source = await resolveSource(cwd, packageInput, output);\n\n if (!source.name) {\n throw new PublishError(\n 'openpackage.yml must contain a name field',\n 'MISSING_NAME'\n );\n }\n\n // Validate version (if present; unversioned publish is allowed)\n validateVersionIfPresent(source.version);\n version = source.version || undefined;\n\n logger.info(`Publishing package '${source.name}' from ${source.packageRoot}`, { \n packageRoot: source.packageRoot, \n version \n });\n\n // Validate authentication\n await authManager.validateAuth(options);\n\n // Resolve upload name (add scope if needed)\n uploadPackageName = await resolveUploadName(source.name, options, prompt);\n\n // Collect package files from resolved package root\n const files = await readPackageFilesForRegistry(source.packageRoot);\n if (files.length === 0) {\n throw new PublishError('No package files found to publish', 'NO_FILES');\n }\n\n // Create package object\n const pkg: Package = {\n metadata: source.manifest,\n files\n };\n\n // Prepare package for upload (update name if scoped)\n const uploadPkg = preparePackageForUpload(pkg, uploadPackageName);\n\n // Get registry info\n const httpClient = await createHttpClient(options);\n const registryUrl = authManager.getRegistryUrl();\n const profile = authManager.getCurrentProfile(options);\n\n // Log summary\n logPublishSummary(uploadPackageName, profile, registryUrl, out);\n\n // Create tarball\n const tarballInfo = await createPublishTarball(uploadPkg, out);\n\n // Upload to registry\n const versionSuffix = version ? `@${version}` : '';\n const publishedMessage = `Published ${source.name}${versionSuffix} to remote registry`;\n const response = await uploadPackage(httpClient, uploadPackageName, version, tarballInfo, out, publishedMessage);\n\n // Print enhanced success message with pack-style formatting\n printPublishSuccessEnhanced(\n response,\n tarballInfo,\n registryUrl,\n profile,\n source,\n files.length,\n cwd,\n out\n );\n\n return {\n success: true,\n data: {\n packageName: response.package.name,\n version: response.version.version ?? version ?? '',\n size: tarballInfo.size,\n checksum: tarballInfo.checksum,\n registry: registryUrl,\n profile,\n message: response.message,\n },\n };\n } catch (error) {\n return handlePublishError(error, uploadPackageName, version);\n }\n}\n\n/**\n * Print enhanced success message combining pack-style formatting with remote publish info\n */\nfunction printPublishSuccessEnhanced(\n response: any,\n tarballInfo: any,\n registryUrl: string,\n profile: string,\n source: ResolvedSource,\n fileCount: number,\n cwd: string,\n out: OutputPort\n): void {\n // Package description if available\n if (source.manifest.description) {\n out.message(`Description: ${source.manifest.description}`);\n }\n \n // Source path\n const displaySource = formatPathForDisplay(source.packageRoot, cwd);\n out.message(`Source: ${displaySource}`);\n \n // Registry destination\n out.message(`Registry: ${registryUrl}`);\n out.message(`Profile: ${profile}`);\n \n // File count\n out.message(`Files: ${fileCount}`);\n \n // Size and checksum (remote-specific)\n const formatFileSize = (bytes: number): string => {\n const kb = bytes / 1024;\n if (kb < 1024) return `${kb.toFixed(1)} KB`;\n const mb = kb / 1024;\n return `${mb.toFixed(1)} MB`;\n };\n \n out.message(`Size: ${formatFileSize(tarballInfo.size)}`);\n out.message(`Checksum: ${tarballInfo.checksum.substring(0, 12)}...`);\n \n // Success message from server\n if (response.message) {\n out.message(`\\n${response.message}`);\n }\n}\n", "/**\n * Package file I/O utilities for reading from and writing to package directories.\n *\n * This module provides two main operations:\n * - readPackageFilesForRegistry: Collect files from a package directory into a\n * registry-ready payload, applying static exclusions (no manifest filters).\n * - writePackageFilesToDirectory: Write a set of PackageFile entries to disk,\n * syncing the directory contents (removing stale files).\n */\n\nimport { join, relative, dirname } from 'path';\n\nimport type { PackageFile } from '../types/index.js';\nimport { DIR_PATTERNS, FILE_PATTERNS } from '../constants/index.js';\nimport {\n exists,\n ensureDir,\n readTextFile,\n writeTextFile,\n walkFiles,\n remove\n} from './fs.js';\nimport { logger } from './logger.js';\nimport { normalizePathForProcessing } from './path-normalization.js';\nimport { isExcludedFromPackage } from './package-filters.js';\n\n// \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// Reading package files\n// \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n/**\n * Read package files from disk and return a registry-ready payload.\n *\n * Applies static exclusions (package index file, packages/** nested dirs).\n *\n * @param packageDir - Absolute path to the package root directory.\n * @returns Array of PackageFile entries representing the canonical payload.\n */\nexport async function readPackageFilesForRegistry(packageDir: string): Promise<PackageFile[]> {\n if (!(await exists(packageDir))) {\n return [];\n }\n\n const files: PackageFile[] = [];\n\n for await (const fullPath of walkFiles(packageDir)) {\n const relativePath = normalizePathForProcessing(relative(packageDir, fullPath));\n\n // Layer 1: static exclusions (always enforced)\n if (isExcludedFromPackage(relativePath)) {\n logger.debug(`Skipping static-excluded path: ${relativePath}`);\n continue;\n }\n\n const content = await readTextFile(fullPath);\n files.push({ path: relativePath, content, encoding: 'utf8' });\n }\n\n return files;\n}\n\n// \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// Writing package files\n// \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nexport interface WritePackageFilesOptions {\n /**\n * When true, preserve the package index file even if it's not in the\n * incoming file list. Useful when writing to the local cache where the\n * index should persist across updates.\n */\n preserveIndexFile?: boolean;\n}\n\n/**\n * Write package files to a directory, syncing its contents.\n *\n * - Creates the target directory if it doesn't exist.\n * - Removes files that are no longer part of the payload (except protected paths).\n * - Writes all incoming files, creating subdirectories as needed.\n *\n * @param targetDir - Absolute path to the destination directory.\n * @param files - Array of PackageFile entries to write.\n * @param options - Optional settings (e.g., preserveIndexFile).\n */\nexport async function writePackageFilesToDirectory(\n targetDir: string,\n files: PackageFile[],\n options: WritePackageFilesOptions = {}\n): Promise<void> {\n await ensureDir(targetDir);\n\n // Build the set of paths that should remain after the write\n const pathsToKeep = new Set<string>(files.map(f => normalizePathForProcessing(f.path)));\n\n if (options.preserveIndexFile) {\n pathsToKeep.add(FILE_PATTERNS.OPENPACKAGE_INDEX_YML);\n }\n\n // Remove stale files (but never touch protected paths like packages/**)\n await removeStaleFiles(targetDir, pathsToKeep);\n\n // Write all incoming files in parallel\n await Promise.all(files.map(file => writeFile(targetDir, file)));\n}\n\n/**\n * Remove files in targetDir that are not in pathsToKeep and are not protected.\n */\nasync function removeStaleFiles(targetDir: string, pathsToKeep: Set<string>): Promise<void> {\n if (!(await exists(targetDir))) {\n return;\n }\n\n for await (const fullPath of walkFiles(targetDir)) {\n const relPath = normalizePathForProcessing(relative(targetDir, fullPath));\n\n // Skip files we want to keep\n if (pathsToKeep.has(relPath)) {\n continue;\n }\n\n // Never delete protected paths (e.g., packages/**)\n if (isExcludedFromPackage(relPath)) {\n continue;\n }\n\n try {\n await remove(fullPath);\n logger.debug(`Removed stale file: ${relPath}`);\n } catch (error) {\n logger.warn(`Failed to remove stale file ${relPath}: ${error}`);\n }\n }\n}\n\n/**\n * Write a single PackageFile to disk under targetDir.\n */\nasync function writeFile(targetDir: string, file: PackageFile): Promise<void> {\n const targetPath = join(targetDir, file.path);\n await ensureDir(dirname(targetPath));\n await writeTextFile(targetPath, file.content, (file.encoding as BufferEncoding) ?? 'utf8');\n}\n\n\n", "import { normalizePathForProcessing } from './path-normalization.js';\nimport { DIR_PATTERNS, FILE_PATTERNS, OPENPACKAGE_DIRS } from '../constants/index.js';\n\nconst EXCLUDED_DIR_PREFIXES = [\n OPENPACKAGE_DIRS.PACKAGES, // Nested packages are independent units; never copy inline\n // Note: .openpackage/ is excluded separately in the function below (entire directory is workspace-local metadata)\n `${DIR_PATTERNS.OPENPACKAGE}/${OPENPACKAGE_DIRS.PACKAGES}` // Legacy: kept for completeness, but covered by .openpackage/ exclusion in function\n];\n\nconst EXCLUDED_FILES = new Set<string>([FILE_PATTERNS.OPENPACKAGE_INDEX_YML]);\n\nexport function isExcludedFromPackage(relativePath: string): boolean {\n const normalized = normalizePathForProcessing(relativePath);\n if (!normalized) {\n return true;\n }\n\n // Exclude entire .openpackage/ directory (workspace-local metadata; never part of payload)\n if (normalized === DIR_PATTERNS.OPENPACKAGE || \n normalized.startsWith(`${DIR_PATTERNS.OPENPACKAGE}/`)) {\n return true;\n }\n\n const baseName = normalized.split('/').pop();\n if (baseName && EXCLUDED_FILES.has(baseName)) {\n return true;\n }\n\n return EXCLUDED_DIR_PREFIXES.some(prefix => {\n const normalizedPrefix = normalizePathForProcessing(prefix);\n return (\n normalized === normalizedPrefix ||\n normalized.startsWith(`${normalizedPrefix}/`)\n );\n });\n}\n\n", "import { logger } from '../../utils/logger.js';\nimport type { PublishResult } from './publish-types.js';\nimport type { OutputPort } from '../ports/output.js';\nimport { resolveOutput } from '../ports/resolve.js';\n\nexport class PublishError extends Error {\n constructor(\n message: string,\n public code: string\n ) {\n super(message);\n this.name = 'PublishError';\n }\n}\n\nexport function handlePublishError(\n error: unknown,\n packageName?: string,\n version?: string,\n output?: OutputPort\n): PublishResult {\n const out = output ?? resolveOutput();\n logger.debug('Publish operation failed', { error, packageName, version });\n\n if (error instanceof PublishError) {\n out.error(error.message);\n return {\n success: false,\n error: error.message,\n };\n }\n\n if (error instanceof Error) {\n const message = error.message;\n \n // Handle common error patterns\n if (message.includes('ENOENT') || message.includes('not found')) {\n out.error('Package file not found');\n return {\n success: false,\n error: 'Package file not found',\n };\n }\n\n if (message.includes('authentication') || message.includes('unauthorized')) {\n out.error('Authentication failed. Run \"opkg login\" to configure credentials.');\n return {\n success: false,\n error: 'Authentication failed',\n };\n }\n\n if (message.includes('network') || message.includes('ECONNREFUSED')) {\n out.error('Network error: Unable to connect to registry');\n return {\n success: false,\n error: 'Network error',\n };\n }\n\n out.error(message);\n return {\n success: false,\n error: message,\n };\n }\n\n const errorMessage = String(error);\n out.error(`Unexpected error: ${errorMessage}`);\n return {\n success: false,\n error: errorMessage,\n };\n}\n", "import type { PushPackageResponse } from '../../types/api.js';\nimport type { TarballInfo } from '../../utils/tarball.js';\nimport { formatFileSize, formatPathForDisplay } from '../../utils/formatters.js';\nimport { formatVersionLabel } from '../package-versioning.js';\nimport type { PackageYml } from '../../types/index.js';\nimport type { OutputPort } from '../ports/output.js';\nimport { resolveOutput } from '../ports/resolve.js';\n\nexport function printPublishSuccess(\n response: PushPackageResponse,\n tarballInfo: TarballInfo,\n registryUrl: string,\n output?: OutputPort\n): void {\n const out = output ?? resolveOutput();\n out.success('Package published successfully!');\n out.info(`Package: ${response.package.name}`);\n \n if (response.version.version) {\n out.info(`Version: ${response.version.version}`);\n }\n \n out.info(`Size: ${formatFileSize(tarballInfo.size)}`);\n out.info(`Checksum: ${tarballInfo.checksum.substring(0, 12)}...`);\n out.info(`Registry: ${registryUrl}`);\n \n if (response.message) {\n out.info(`\\n${response.message}`);\n }\n}\n\nexport function logPublishSummary(packageName: string, profile: string, registryUrl: string, output?: OutputPort): void {\n const out = output ?? resolveOutput();\n out.step(`Publishing package '${packageName}'...`);\n out.message(`Profile: ${profile}`);\n out.message(`Registry: ${registryUrl}`);\n}\n\n/**\n * Result info for local publish operations\n */\nexport interface PublishResultInfo {\n packageName: string;\n version: string;\n description?: string;\n sourcePath: string;\n destinationPath: string;\n fileCount: number;\n isCustomOutput: boolean;\n destinationExists?: boolean;\n existingFileCount?: number;\n}\n\n/**\n * Display publish operation success (local publishing)\n */\nexport function displayPublishSuccess(\n info: PublishResultInfo,\n cwd: string,\n output?: OutputPort\n): void {\n const out = output ?? resolveOutput();\n const { packageName, version, description, sourcePath, destinationPath, fileCount, isCustomOutput } = info;\n \n // Success header\n out.success(`Published ${packageName}@${formatVersionLabel(version)}`);\n \n // Package details\n if (description) {\n out.success(`Description: ${description}`);\n }\n \n // Source information\n const displaySource = formatPathForDisplay(sourcePath, cwd);\n out.success(`Source: ${displaySource}`);\n \n // Destination information\n const displayDestination = formatPathForDisplay(destinationPath, cwd);\n const destinationType = isCustomOutput ? 'Custom output' : 'Registry';\n out.success(`${destinationType}: ${displayDestination}`);\n \n // File count\n out.success(`Files: ${fileCount}`);\n}\n\n/**\n * Create publish result info from pipeline data\n */\nexport function createPublishResultInfo(\n packageName: string,\n version: string,\n sourcePath: string,\n destinationPath: string,\n fileCount: number,\n manifest: PackageYml,\n isCustomOutput: boolean,\n destinationExists?: boolean,\n existingFileCount?: number\n): PublishResultInfo {\n return {\n packageName,\n version,\n description: manifest.description,\n sourcePath,\n destinationPath,\n fileCount,\n isCustomOutput,\n destinationExists,\n existingFileCount\n };\n}\n\n", "import { PACKAGE_PATHS } from '../../constants/index.js';\nimport type { PushPackageResponse } from '../../types/api.js';\nimport type { Package } from '../../types/index.js';\nimport { formatFileSize } from '../../utils/formatters.js';\nimport type { HttpClient } from '../http-client.js';\nimport { normalizePathForProcessing } from '../../utils/path-normalization.js';\nimport type { OutputPort } from '../ports/output.js';\nimport { resolveOutput } from '../ports/resolve.js';\nimport { createFormDataForUpload, createTarballFromPackage } from '../../utils/tarball.js';\nimport { serializePackageYml } from '../../utils/package-yml.js';\n\nexport function preparePackageForUpload(pkg: Package, uploadName: string): Package {\n if (pkg.metadata.name === uploadName) {\n return pkg;\n }\n\n const manifestPath = normalizePathForProcessing(PACKAGE_PATHS.MANIFEST_RELATIVE);\n const updatedMetadata = { ...pkg.metadata, name: uploadName };\n let manifestUpdated = false;\n\n const updatedFiles = pkg.files.map((file) => {\n if (normalizePathForProcessing(file.path) === manifestPath) {\n manifestUpdated = true;\n const content = serializePackageYml(updatedMetadata);\n return { ...file, content };\n }\n return file;\n });\n\n if (!manifestUpdated) {\n throw new Error('openpackage.yml not found in package files');\n }\n\n return {\n metadata: updatedMetadata,\n files: updatedFiles,\n };\n}\n\nexport async function createPublishTarball(pkg: Package, output?: OutputPort) {\n const out = output ?? resolveOutput();\n const tarballInfo = await createTarballFromPackage(pkg);\n out.success(`Created tarball (${pkg.files.length} files, ${formatFileSize(tarballInfo.size)})`);\n return tarballInfo;\n}\n\nexport async function uploadPackage(\n httpClient: HttpClient,\n packageName: string,\n uploadVersion: string | undefined,\n tarballInfo: Awaited<ReturnType<typeof createTarballFromPackage>>,\n output?: OutputPort,\n stopMessage?: string\n): Promise<PushPackageResponse> {\n const out = output ?? resolveOutput();\n const formData = createFormDataForUpload(packageName, uploadVersion, tarballInfo);\n const uploadSpinner = out.spinner();\n return withSpinner(uploadSpinner, 'Uploading to registry...', () =>\n httpClient.uploadFormData<PushPackageResponse>('/packages/push', formData),\n stopMessage\n );\n}\n\nasync function withSpinner<T>(spinner: ReturnType<OutputPort['spinner']>, message: string, fn: () => Promise<T>, stopMessage?: string): Promise<T> {\n spinner.start(message);\n try {\n return await fn();\n } finally {\n spinner.stop(stopMessage);\n }\n}\n", "import path from 'path';\nimport { assertValidVersion } from '../../utils/validation/version.js';\nimport { validateAndReadPackageFiles } from '../../utils/validation/package-files.js';\nimport { writePackageToRegistry } from '../registry-writer.js';\nimport { logger } from '../../utils/logger.js';\nimport { parsePackageYml } from '../../utils/package-yml.js';\nimport { exists } from '../../utils/fs.js';\nimport { resolvePackageByName } from '../package-name-resolution.js';\nimport { classifyPackageInput } from '../install/package-input.js';\nimport { ValidationError } from '../../utils/errors.js';\nimport { formatPathForDisplay } from '../../utils/formatters.js';\nimport { formatVersionLabel } from '../package-versioning.js';\nimport { createPublishResultInfo, displayPublishSuccess } from './publish-output.js';\nimport { FILE_PATTERNS } from '../../constants/index.js';\nimport type { PublishOptions, PublishResult } from './publish-types.js';\nimport type { PackageYml } from '../../types/index.js';\nimport type { OutputPort } from '../ports/output.js';\nimport type { PromptPort } from '../ports/prompt.js';\nimport { resolveOutput } from '../ports/resolve.js';\n\nexport interface LocalPublishData {\n packageName: string;\n version: string;\n sourcePath: string;\n destination: string;\n fileCount: number;\n overwritten: boolean;\n}\n\ninterface ResolvedSource {\n name: string;\n version: string;\n packageRoot: string;\n manifest: PackageYml;\n}\n\nasync function resolveSource(\n cwd: string,\n packageInput?: string,\n output?: OutputPort\n): Promise<ResolvedSource> {\n // No package input provided - publish from CWD\n if (!packageInput) {\n const manifestPath = path.join(cwd, FILE_PATTERNS.OPENPACKAGE_YML);\n if (!(await exists(manifestPath))) {\n throw new Error('No openpackage.yml found in current directory; specify a package name or run inside a package root.');\n }\n const manifest = await parsePackageYml(manifestPath);\n return {\n name: manifest.name,\n version: manifest.version ?? '',\n packageRoot: cwd,\n manifest\n };\n }\n\n // Classify the input to determine if it's a path, tarball, or package name\n const classification = await classifyPackageInput(packageInput, cwd);\n\n let packageRoot: string;\n\n // Handle different input types\n if (classification.type === 'directory') {\n // Direct path to package directory\n packageRoot = classification.resolvedPath!;\n logger.info('Resolved package input as directory path', { path: packageRoot });\n } else if (classification.type === 'tarball') {\n // Tarball input is not supported for local publish\n throw new ValidationError(\n `Local publish does not support tarball inputs.\\n` +\n `To publish from a tarball, first extract it to a directory.`\n );\n } else if (classification.type === 'git') {\n // Git input is not supported for local publish\n throw new ValidationError(\n `Local publish does not support git inputs.\\n` +\n `To publish from a git repository, first clone it to a directory.`\n );\n } else {\n // Registry type or package name - use name resolution\n // Priority: CWD (if name matches) \u2192 Workspace \u2192 Global\n // Skip registry (already immutable) and remote (not relevant)\n const resolution = await resolvePackageByName({\n cwd,\n packageName: packageInput,\n checkCwd: true, // Check if CWD is the package (highest priority)\n searchWorkspace: true, // Search workspace packages\n searchGlobal: true, // Search global packages\n searchRegistry: false // Skip registry (already packed/immutable)\n });\n\n if (!resolution.found || !resolution.path) {\n throw new Error(\n `Package '${packageInput}' not found.\\n` +\n `Searched: current directory, workspace packages (.openpackage/packages/), and global packages (~/.openpackage/packages/).\\n` +\n `Make sure the package exists in one of these locations.`\n );\n }\n\n packageRoot = resolution.path;\n\n // Log resolution info for debugging/transparency\n if (resolution.resolutionInfo) {\n const { selected, reason } = resolution.resolutionInfo;\n logger.info('Resolved package for publishing', {\n packageInput,\n selectedSource: selected.type,\n version: selected.version,\n path: selected.path,\n reason\n });\n\n // User-friendly message about where package was found\n const sourceLabel = selected.type === 'cwd' ? 'current directory' :\n selected.type === 'workspace' ? 'workspace packages' :\n selected.type === 'global' ? 'global packages' : selected.type;\n const out = output ?? resolveOutput();\n out.success(`Found ${packageInput} in ${sourceLabel}`);\n }\n }\n\n // Load manifest from resolved path\n const manifestPath = path.join(packageRoot, FILE_PATTERNS.OPENPACKAGE_YML);\n if (!(await exists(manifestPath))) {\n throw new Error(`openpackage.yml not found at ${manifestPath}`);\n }\n\n const manifest = await parsePackageYml(manifestPath);\n\n return {\n name: manifest.name,\n version: manifest.version ?? '',\n packageRoot,\n manifest\n };\n}\n\n/**\n * Publish package from CWD or specified source to local registry\n * This is the local publish behavior (requires --local flag after refactor)\n */\nexport async function runLocalPublishPipeline(\n packageInput: string | undefined,\n options: PublishOptions,\n output?: OutputPort,\n prompt?: PromptPort\n): Promise<PublishResult<LocalPublishData>> {\n const out = output ?? resolveOutput();\n const cwd = process.cwd();\n \n try {\n // Resolve package source (CWD, path, or package name)\n const source = await resolveSource(cwd, packageInput, output);\n \n const packageName = source.name;\n const version = source.version;\n \n // For local publish, allow unversioned packages (default to 0.0.0)\n let publishVersion = version;\n \n if (!version || version.trim() === '') {\n publishVersion = '0.0.0';\n out.info(`No version specified, using 0.0.0 for local publish`);\n logger.info('Auto-assigned version 0.0.0 for unversioned package', { packageName });\n } else {\n // Validate provided version (reject prereleases)\n assertValidVersion(version, {\n rejectPrerelease: true,\n context: 'local publish'\n });\n }\n \n logger.info(`Publishing package '${packageName}' to local registry`, {\n source: source.packageRoot,\n version: publishVersion\n });\n \n // Read and validate package files\n const files = await validateAndReadPackageFiles(source.packageRoot, {\n context: 'publish'\n });\n \n // Write to local registry (handles overwrite logic)\n const result = await writePackageToRegistry(\n packageName,\n publishVersion,\n files,\n {\n force: options.force,\n context: 'publish'\n },\n output,\n prompt\n );\n \n // Create result info for output display\n const resultInfo = createPublishResultInfo(\n packageName,\n publishVersion,\n source.packageRoot,\n result.destination,\n result.fileCount,\n source.manifest,\n false, // isCustomOutput\n result.overwritten,\n result.overwritten ? result.fileCount : 0\n );\n \n // Display success with rich formatting\n displayPublishSuccess(resultInfo, cwd);\n \n return {\n success: true,\n data: {\n packageName,\n version: publishVersion,\n sourcePath: source.packageRoot,\n destination: result.destination,\n fileCount: result.fileCount,\n overwritten: result.overwritten\n }\n };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n logger.debug('Local publish failed', { error: message, cwd });\n \n return {\n success: false,\n error: message\n };\n }\n}\n", "import * as semver from 'semver';\n\nexport interface VersionValidationOptions {\n /** Reject prerelease versions (e.g., 1.0.0-beta) */\n rejectPrerelease?: boolean;\n /** Context for error messages (e.g., \"publish\", \"pack\") */\n context?: string;\n}\n\nexport interface VersionValidationError {\n code: 'MISSING_VERSION' | 'INVALID_VERSION' | 'PRERELEASE_DISALLOWED';\n message: string;\n}\n\n/**\n * Validate version string against semver rules\n * Returns error object if invalid, null if valid\n */\nexport function validateVersion(\n version: string | undefined,\n options: VersionValidationOptions = {}\n): VersionValidationError | null {\n if (!version) {\n return {\n code: 'MISSING_VERSION',\n message: `Version field is required${options.context ? ` for ${options.context}` : ''}`\n };\n }\n \n if (!semver.valid(version)) {\n return {\n code: 'INVALID_VERSION',\n message: `Invalid version: ${version}. Must be valid semver (e.g., 1.0.0)`\n };\n }\n \n if (options.rejectPrerelease && semver.prerelease(version)) {\n return {\n code: 'PRERELEASE_DISALLOWED',\n message: `Prerelease versions are not allowed${options.context ? ` for ${options.context}` : ''}: ${version}`\n };\n }\n \n return null;\n}\n\n/**\n * Assert version is valid (throws if invalid)\n */\nexport function assertValidVersion(\n version: string | undefined,\n options?: VersionValidationOptions\n): asserts version is string {\n const error = validateVersion(version, options);\n if (error) {\n throw new Error(error.message);\n }\n}\n\n/**\n * Check if version is unversioned (0.0.0)\n */\nexport function isUnversionedPackage(version: string | undefined): boolean {\n return version === '0.0.0';\n}\n", "import { readPackageFilesForRegistry } from '../package-copy.js';\nimport type { PackageFile } from '../../types/index.js';\n\nexport interface PackageFilesValidationOptions {\n /** Context for error messages */\n context?: string;\n /** Throw error if no files found (default: true) */\n throwOnEmpty?: boolean;\n}\n\n/**\n * Read and validate package files from directory\n * Throws if no files found (unless throwOnEmpty: false)\n */\nexport async function validateAndReadPackageFiles(\n packageRoot: string,\n options: PackageFilesValidationOptions = {}\n): Promise<PackageFile[]> {\n const files = await readPackageFilesForRegistry(packageRoot);\n \n const throwOnEmpty = options.throwOnEmpty !== false;\n \n if (files.length === 0 && throwOnEmpty) {\n const context = options.context || 'package';\n throw new Error(`No files found to include in ${context}`);\n }\n \n return files;\n}\n", "import path from 'path';\nimport { \n ensureRegistryDirectories, \n getPackageVersionPath,\n} from './directory.js';\nimport { exists, remove, countFilesInDirectory } from '../utils/fs.js';\nimport { writePackageFilesToDirectory } from '../utils/package-copy.js';\nimport { formatPathForDisplay } from '../utils/formatters.js';\nimport { logger } from '../utils/logger.js';\nimport { isUnversionedPackage } from '../utils/validation/version.js';\nimport type { OutputPort } from './ports/output.js';\nimport type { PromptPort } from './ports/prompt.js';\nimport { resolveOutput, resolvePrompt } from './ports/resolve.js';\nimport type { PackageFile } from '../types/index.js';\n\nexport interface RegistryWriteOptions {\n /** Force overwrite without prompting */\n force?: boolean;\n /** Dry run mode - don't actually write */\n dryRun?: boolean;\n /** Context for logging/errors (e.g., \"pack\", \"publish\") */\n context?: string;\n}\n\nexport interface RegistryWriteResult {\n destination: string;\n fileCount: number;\n overwritten: boolean;\n}\n\n/**\n * Write package files to local registry\n * Handles overwrite confirmation, directory setup, and file writing\n */\nexport async function writePackageToRegistry(\n packageName: string,\n version: string,\n files: PackageFile[],\n options: RegistryWriteOptions = {},\n output?: OutputPort,\n prompt?: PromptPort\n): Promise<RegistryWriteResult> {\n const { force = false, dryRun = false, context = 'operation' } = options;\n const out = output ?? resolveOutput();\n const prm = prompt ?? resolvePrompt();\n \n // Get destination path\n const destination = getPackageVersionPath(packageName, version);\n \n // Check if destination exists\n const destinationExists = await exists(destination);\n const existingFileCount = destinationExists \n ? await countFilesInDirectory(destination)\n : 0;\n \n // Handle overwrite logic\n let shouldOverwrite = true;\n \n if (destinationExists) {\n const unversioned = isUnversionedPackage(version);\n \n if (unversioned) {\n // Unversioned packages: silent auto-overwrite with subtle message\n logger.debug(\n `Updating unversioned package ${packageName}@${version}`,\n { destination, existingFileCount }\n );\n out.success(`Updated ${packageName}@${version}`);\n } else if (force) {\n // Force mode: auto-approve with logging\n logger.info(\n `Force mode: Overwriting ${packageName}@${version}`,\n { destination, existingFileCount }\n );\n out.warn(\n `Force mode: Overwriting ${packageName}@${version} ` +\n `(${existingFileCount} existing file${existingFileCount !== 1 ? 's' : ''})`\n );\n } else {\n // Versioned packages: require confirmation via the prompt port\n // If the prompt port is nonInteractivePrompt (the default), it will\n // throw NonInteractivePromptError, which we catch below.\n \n try {\n // Interactive mode - prompt user with inline overwrite confirmation\n const displayPath = formatPathForDisplay(destination, process.cwd());\n out.info('');\n out.warn(`Package '${packageName}@${version}' already exists in registry`);\n out.info(` Location: ${displayPath}`);\n out.info(` Existing files: ${existingFileCount}`);\n out.info('');\n \n shouldOverwrite = await prm.confirm(\n `Overwrite '${packageName}@${version}'? This action cannot be undone.`,\n false\n );\n \n if (!shouldOverwrite) {\n throw new Error(`${context} cancelled by user`);\n }\n } catch (promptError: any) {\n // NonInteractivePromptError or similar -- non-interactive environment\n if (promptError.name === 'NonInteractivePromptError') {\n const displayPath = formatPathForDisplay(destination, process.cwd());\n throw new Error(\n `Package ${packageName}@${version} already exists in registry (${displayPath}).\\n` +\n `Use --force to overwrite, or update the version in openpackage.yml.`\n );\n }\n throw promptError;\n }\n }\n }\n \n // Dry run - return without writing\n if (dryRun) {\n return {\n destination,\n fileCount: files.length,\n overwritten: destinationExists\n };\n }\n \n // Ensure registry directories exist\n await ensureRegistryDirectories();\n \n // Remove existing destination if overwriting\n if (destinationExists) {\n await remove(destination);\n }\n \n // Write files to registry\n await writePackageFilesToDirectory(destination, files);\n \n logger.info(`Wrote ${packageName}@${version} to registry`, {\n destination,\n fileCount: files.length,\n context\n });\n \n return {\n destination,\n fileCount: files.length,\n overwritten: destinationExists\n };\n}\n", "import { runPublishPipeline } from '@opkg/core/core/publish/publish-pipeline.js';\nimport type { PublishOptions } from '@opkg/core/core/publish/publish-types.js';\nimport { createCliExecutionContext } from '../cli/context.js';\n\nexport async function setupPublishCommand(args: any[]): Promise<void> {\n const [packageInput, options] = args as [string | undefined, PublishOptions];\n const ctx = await createCliExecutionContext();\n const result = await runPublishPipeline(packageInput, options, ctx);\n if (!result.success) {\n throw new Error(result.error || 'Publish operation failed');\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["path", "semver", "manifestPath", "manifest", "resolveSource", "manifestPath", "path", "manifest", "formatFileSize"]
|
|
7
|
+
}
|