opkg 0.6.1 → 0.7.0
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/README.md +109 -186
- package/assets/openpackage_ascii_dark.png +0 -0
- package/assets/openpackage_ascii_light.png +0 -0
- package/dist/commands/add.js +34 -10
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/apply.js +16 -0
- package/dist/commands/apply.js.map +1 -0
- package/dist/commands/delete.js +1 -1
- package/dist/commands/delete.js.map +1 -1
- package/dist/commands/install.js +177 -8
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/list.js +2 -2
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/login.js +1 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.js +1 -1
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/new.js +125 -0
- package/dist/commands/new.js.map +1 -0
- package/dist/commands/pack.js +7 -13
- package/dist/commands/pack.js.map +1 -1
- package/dist/commands/pull.js +1 -1
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/push.js +1 -1
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/remove.js +63 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/commands/save.js +11 -17
- package/dist/commands/save.js.map +1 -1
- package/dist/commands/set.js +33 -0
- package/dist/commands/set.js.map +1 -0
- package/dist/commands/show.js +16 -94
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/status.js +26 -701
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/uninstall.js +14 -427
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/constants/index.js +72 -16
- package/dist/constants/index.js.map +1 -1
- package/dist/core/add/add-conflict-handler.js +1 -8
- package/dist/core/add/add-conflict-handler.js.map +1 -1
- package/dist/core/add/add-pipeline.js +12 -10
- package/dist/core/add/add-pipeline.js.map +1 -1
- package/dist/core/add/add-to-source-pipeline.js +123 -0
- package/dist/core/add/add-to-source-pipeline.js.map +1 -0
- package/dist/core/add/package-index-updater.js +77 -78
- package/dist/core/add/package-index-updater.js.map +1 -1
- package/dist/core/add/platform-path-transformer.js +6 -4
- package/dist/core/add/platform-path-transformer.js.map +1 -1
- package/dist/core/add/source-collector.js +2 -3
- package/dist/core/add/source-collector.js.map +1 -1
- package/dist/core/apply/apply-pipeline.js +110 -0
- package/dist/core/apply/apply-pipeline.js.map +1 -0
- package/dist/core/dependency-resolver.js +263 -21
- package/dist/core/dependency-resolver.js.map +1 -1
- package/dist/core/discovery/file-discovery.js +1 -2
- package/dist/core/discovery/file-discovery.js.map +1 -1
- package/dist/core/discovery/platform-files-discovery.js +33 -18
- package/dist/core/discovery/platform-files-discovery.js.map +1 -1
- package/dist/core/flows/flow-executor.js +974 -0
- package/dist/core/flows/flow-executor.js.map +1 -0
- package/dist/core/flows/flow-inverter.js +442 -0
- package/dist/core/flows/flow-inverter.js.map +1 -0
- package/dist/core/flows/flow-key-extractor.js +101 -0
- package/dist/core/flows/flow-key-extractor.js.map +1 -0
- package/dist/core/flows/flow-key-mapper.js +382 -0
- package/dist/core/flows/flow-key-mapper.js.map +1 -0
- package/dist/core/flows/flow-transforms.js +632 -0
- package/dist/core/flows/flow-transforms.js.map +1 -0
- package/dist/core/flows/map-pipeline/context.js +73 -0
- package/dist/core/flows/map-pipeline/context.js.map +1 -0
- package/dist/core/flows/map-pipeline/index.js +156 -0
- package/dist/core/flows/map-pipeline/index.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/copy.js +104 -0
- package/dist/core/flows/map-pipeline/operations/copy.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/pipe.js +70 -0
- package/dist/core/flows/map-pipeline/operations/pipe.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/rename.js +102 -0
- package/dist/core/flows/map-pipeline/operations/rename.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/set.js +50 -0
- package/dist/core/flows/map-pipeline/operations/set.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/switch.js +79 -0
- package/dist/core/flows/map-pipeline/operations/switch.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/transform.js +543 -0
- package/dist/core/flows/map-pipeline/operations/transform.js.map +1 -0
- package/dist/core/flows/map-pipeline/operations/unset.js +65 -0
- package/dist/core/flows/map-pipeline/operations/unset.js.map +1 -0
- package/dist/core/flows/map-pipeline/types.js +8 -0
- package/dist/core/flows/map-pipeline/types.js.map +1 -0
- package/dist/core/flows/map-pipeline/utils.js +278 -0
- package/dist/core/flows/map-pipeline/utils.js.map +1 -0
- package/dist/core/flows/platform-converter.js +328 -0
- package/dist/core/flows/platform-converter.js.map +1 -0
- package/dist/core/flows/source-resolver.js +192 -0
- package/dist/core/flows/source-resolver.js.map +1 -0
- package/dist/core/flows/toml-domain-transforms.js +23 -0
- package/dist/core/flows/toml-domain-transforms.js.map +1 -0
- package/dist/core/install/bulk-install-pipeline.js +68 -7
- package/dist/core/install/bulk-install-pipeline.js.map +1 -1
- package/dist/core/install/canonical-plan.js +3 -3
- package/dist/core/install/canonical-plan.js.map +1 -1
- package/dist/core/install/dry-run.js +3 -3
- package/dist/core/install/dry-run.js.map +1 -1
- package/dist/core/install/flow-based-installer.js +1158 -0
- package/dist/core/install/flow-based-installer.js.map +1 -0
- package/dist/core/install/flow-workspace-tracker.js +111 -0
- package/dist/core/install/flow-workspace-tracker.js.map +1 -0
- package/dist/core/install/format-detector.js +228 -0
- package/dist/core/install/format-detector.js.map +1 -0
- package/dist/core/install/git-package-loader.js +20 -0
- package/dist/core/install/git-package-loader.js.map +1 -0
- package/dist/core/install/install-errors.js +1 -1
- package/dist/core/install/install-errors.js.map +1 -1
- package/dist/core/install/install-flow.js +34 -14
- package/dist/core/install/install-flow.js.map +1 -1
- package/dist/core/install/install-pipeline.js +52 -17
- package/dist/core/install/install-pipeline.js.map +1 -1
- package/dist/core/install/install-reporting.js +26 -8
- package/dist/core/install/install-reporting.js.map +1 -1
- package/dist/core/install/local-source-resolution.js +103 -0
- package/dist/core/install/local-source-resolution.js.map +1 -0
- package/dist/core/install/marketplace-handler.js +221 -0
- package/dist/core/install/marketplace-handler.js.map +1 -0
- package/dist/core/install/path-install-pipeline.js +241 -0
- package/dist/core/install/path-install-pipeline.js.map +1 -0
- package/dist/core/install/path-package-loader.js +116 -0
- package/dist/core/install/path-package-loader.js.map +1 -0
- package/dist/core/install/plugin-detector.js +72 -0
- package/dist/core/install/plugin-detector.js.map +1 -0
- package/dist/core/install/plugin-to-universal-converter.js +218 -0
- package/dist/core/install/plugin-to-universal-converter.js.map +1 -0
- package/dist/core/install/plugin-transformer.js +191 -0
- package/dist/core/install/plugin-transformer.js.map +1 -0
- package/dist/core/install/version-selection.js +1 -1
- package/dist/core/install/version-selection.js.map +1 -1
- package/dist/core/openpackage.js +40 -22
- package/dist/core/openpackage.js.map +1 -1
- package/dist/core/pack/pack-output.js +62 -0
- package/dist/core/pack/pack-output.js.map +1 -0
- package/dist/core/pack/pack-pipeline.js +186 -0
- package/dist/core/pack/pack-pipeline.js.map +1 -0
- package/dist/core/package-context.js +45 -70
- package/dist/core/package-context.js.map +1 -1
- package/dist/core/package-creation.js +203 -0
- package/dist/core/package-creation.js.map +1 -0
- package/dist/core/package.js +20 -6
- package/dist/core/package.js.map +1 -1
- package/dist/core/platforms.js +665 -209
- package/dist/core/platforms.js.map +1 -1
- package/dist/core/push/push-context.js +1 -1
- package/dist/core/push/push-context.js.map +1 -1
- package/dist/core/push/push-upload.js +2 -2
- package/dist/core/push/push-upload.js.map +1 -1
- package/dist/core/registry.js +6 -6
- package/dist/core/registry.js.map +1 -1
- package/dist/core/remote-pull.js +2 -2
- package/dist/core/remote-pull.js.map +1 -1
- package/dist/core/remove/removal-collector.js +52 -0
- package/dist/core/remove/removal-collector.js.map +1 -0
- package/dist/core/remove/removal-confirmation.js +39 -0
- package/dist/core/remove/removal-confirmation.js.map +1 -0
- package/dist/core/remove/remove-from-source-pipeline.js +173 -0
- package/dist/core/remove/remove-from-source-pipeline.js.map +1 -0
- package/dist/core/save/constants.js +3 -3
- package/dist/core/save/constants.js.map +1 -1
- package/dist/core/save/flow-based-saver.js +270 -0
- package/dist/core/save/flow-based-saver.js.map +1 -0
- package/dist/core/save/name-resolution.js +1 -1
- package/dist/core/save/name-resolution.js.map +1 -1
- package/dist/core/save/package-yml-generator.js +4 -5
- package/dist/core/save/package-yml-generator.js.map +1 -1
- package/dist/core/save/save-candidate-builder.js +215 -0
- package/dist/core/save/save-candidate-builder.js.map +1 -0
- package/dist/core/save/save-candidate-loader.js +12 -11
- package/dist/core/save/save-candidate-loader.js.map +1 -1
- package/dist/core/save/save-conflict-analyzer.js +150 -0
- package/dist/core/save/save-conflict-analyzer.js.map +1 -0
- package/dist/core/save/save-conflict-resolution.js +28 -14
- package/dist/core/save/save-conflict-resolution.js.map +1 -1
- package/dist/core/save/save-conflict-resolver.js +31 -275
- package/dist/core/save/save-conflict-resolver.js.map +1 -1
- package/dist/core/save/save-group-builder.js +52 -0
- package/dist/core/save/save-group-builder.js.map +1 -0
- package/dist/core/save/save-interactive-resolver.js +190 -0
- package/dist/core/save/save-interactive-resolver.js.map +1 -0
- package/dist/core/save/save-pipeline.js +58 -34
- package/dist/core/save/save-pipeline.js.map +1 -1
- package/dist/core/save/save-platform-handler.js +53 -0
- package/dist/core/save/save-platform-handler.js.map +1 -0
- package/dist/core/save/save-resolution-executor.js +145 -0
- package/dist/core/save/save-resolution-executor.js.map +1 -0
- package/dist/core/save/save-result-reporter.js +167 -0
- package/dist/core/save/save-result-reporter.js.map +1 -0
- package/dist/core/save/save-to-source-pipeline.js +154 -0
- package/dist/core/save/save-to-source-pipeline.js.map +1 -0
- package/dist/core/save/save-versioning.js +4 -4
- package/dist/core/save/save-versioning.js.map +1 -1
- package/dist/core/save/save-write-coordinator.js +204 -0
- package/dist/core/save/save-write-coordinator.js.map +1 -0
- package/dist/core/save/save-yml-resolution.js +28 -216
- package/dist/core/save/save-yml-resolution.js.map +1 -1
- package/dist/core/save/workspace-rename.js +7 -8
- package/dist/core/save/workspace-rename.js.map +1 -1
- package/dist/core/set/set-output.js +72 -0
- package/dist/core/set/set-output.js.map +1 -0
- package/dist/core/set/set-pipeline.js +361 -0
- package/dist/core/set/set-pipeline.js.map +1 -0
- package/dist/core/set/set-types.js +5 -0
- package/dist/core/set/set-types.js.map +1 -0
- package/dist/core/show/package-resolver.js +257 -0
- package/dist/core/show/package-resolver.js.map +1 -0
- package/dist/core/show/scope-discovery.js +165 -0
- package/dist/core/show/scope-discovery.js.map +1 -0
- package/dist/core/show/show-output.js +168 -0
- package/dist/core/show/show-output.js.map +1 -0
- package/dist/core/show/show-pipeline.js +113 -0
- package/dist/core/show/show-pipeline.js.map +1 -0
- package/dist/core/show/show-types.js +5 -0
- package/dist/core/show/show-types.js.map +1 -0
- package/dist/core/source-resolution/dependency-graph.js +104 -0
- package/dist/core/source-resolution/dependency-graph.js.map +1 -0
- package/dist/core/source-resolution/resolve-mutable-source.js +109 -0
- package/dist/core/source-resolution/resolve-mutable-source.js.map +1 -0
- package/dist/core/source-resolution/resolve-package-source.js +29 -0
- package/dist/core/source-resolution/resolve-package-source.js.map +1 -0
- package/dist/core/source-resolution/resolve-registry-version.js +35 -0
- package/dist/core/source-resolution/resolve-registry-version.js.map +1 -0
- package/dist/core/source-resolution/types.js.map +1 -0
- package/dist/core/status/status-file-discovery.js +23 -12
- package/dist/core/status/status-file-discovery.js.map +1 -1
- package/dist/core/status/status-pipeline.js +134 -0
- package/dist/core/status/status-pipeline.js.map +1 -0
- package/dist/core/sync/platform-sync-summary.js +27 -0
- package/dist/core/sync/platform-sync-summary.js.map +1 -0
- package/dist/core/uninstall/flow-aware-uninstaller.js +189 -0
- package/dist/core/uninstall/flow-aware-uninstaller.js.map +1 -0
- package/dist/core/uninstall/uninstall-file-discovery.js +11 -6
- package/dist/core/uninstall/uninstall-file-discovery.js.map +1 -1
- package/dist/core/uninstall/uninstall-pipeline.js +141 -0
- package/dist/core/uninstall/uninstall-pipeline.js.map +1 -0
- package/dist/core/universal-patterns.js +64 -0
- package/dist/core/universal-patterns.js.map +1 -0
- package/dist/index.js +99 -6
- package/dist/index.js.map +1 -1
- package/dist/types/flows.js +8 -0
- package/dist/types/flows.js.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/platform-flows.js +8 -0
- package/dist/types/platform-flows.js.map +1 -0
- package/dist/types/workspace-index.js +6 -0
- package/dist/types/workspace-index.js.map +1 -0
- package/dist/utils/custom-path-resolution.js +160 -0
- package/dist/utils/custom-path-resolution.js.map +1 -0
- package/dist/utils/dependency-coverage.js +1 -1
- package/dist/utils/dependency-coverage.js.map +1 -1
- package/dist/utils/file-processing.js +1 -1
- package/dist/utils/flow-index-installer.js +209 -0
- package/dist/utils/flow-index-installer.js.map +1 -0
- package/dist/utils/formatters.js +47 -1
- package/dist/utils/formatters.js.map +1 -1
- package/dist/utils/fs.js +17 -0
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/git-clone-registry.js +88 -0
- package/dist/utils/git-clone-registry.js.map +1 -0
- package/dist/utils/git-clone.js +69 -0
- package/dist/utils/git-clone.js.map +1 -0
- package/dist/utils/git-spec.js +96 -0
- package/dist/utils/git-spec.js.map +1 -0
- package/dist/utils/http-client.js +7 -0
- package/dist/utils/http-client.js.map +1 -1
- package/dist/utils/index-based-installer.js +356 -163
- package/dist/utils/index-based-installer.js.map +1 -1
- package/dist/utils/install-conflict-handler.js +2 -2
- package/dist/utils/install-conflict-handler.js.map +1 -1
- package/dist/utils/install-file-discovery.js +18 -13
- package/dist/utils/install-file-discovery.js.map +1 -1
- package/dist/utils/install-helpers.js +43 -20
- package/dist/utils/install-helpers.js.map +1 -1
- package/dist/utils/jsonc.js +23 -1
- package/dist/utils/jsonc.js.map +1 -1
- package/dist/utils/manifest-paths.js +1 -1
- package/dist/utils/manifest-paths.js.map +1 -1
- package/dist/utils/markdown-frontmatter.js +46 -0
- package/dist/utils/markdown-frontmatter.js.map +1 -1
- package/dist/utils/package-copy.js +5 -103
- package/dist/utils/package-copy.js.map +1 -1
- package/dist/utils/package-filters.js +9 -105
- package/dist/utils/package-filters.js.map +1 -1
- package/dist/utils/package-index-yml.js +27 -6
- package/dist/utils/package-index-yml.js.map +1 -1
- package/dist/utils/package-input.js +98 -0
- package/dist/utils/package-input.js.map +1 -0
- package/dist/utils/package-management.js +80 -28
- package/dist/utils/package-management.js.map +1 -1
- package/dist/utils/package-name-resolution.js +327 -0
- package/dist/utils/package-name-resolution.js.map +1 -0
- package/dist/utils/package-name.js +18 -16
- package/dist/utils/package-name.js.map +1 -1
- package/dist/utils/package-versioning.js +2 -33
- package/dist/utils/package-versioning.js.map +1 -1
- package/dist/utils/package-yml.js +19 -28
- package/dist/utils/package-yml.js.map +1 -1
- package/dist/utils/path-resolution.js +102 -0
- package/dist/utils/path-resolution.js.map +1 -0
- package/dist/utils/paths.js +6 -6
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/platform-file.js +36 -24
- package/dist/utils/platform-file.js.map +1 -1
- package/dist/utils/platform-mapper.js +222 -68
- package/dist/utils/platform-mapper.js.map +1 -1
- package/dist/utils/platform-root-files.js +44 -0
- package/dist/utils/platform-root-files.js.map +1 -0
- package/dist/utils/platform-utils.js +35 -54
- package/dist/utils/platform-utils.js.map +1 -1
- package/dist/utils/platform-yaml-merge.js +20 -140
- package/dist/utils/platform-yaml-merge.js.map +1 -1
- package/dist/utils/prompts.js +92 -7
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/registry-entry-filter.js +50 -27
- package/dist/utils/registry-entry-filter.js.map +1 -1
- package/dist/utils/registry-paths.js +5 -4
- package/dist/utils/registry-paths.js.map +1 -1
- package/dist/utils/scope-resolution.js +156 -0
- package/dist/utils/scope-resolution.js.map +1 -0
- package/dist/utils/source-mutability.js +15 -0
- package/dist/utils/source-mutability.js.map +1 -0
- package/dist/utils/tarball.js +29 -4
- package/dist/utils/tarball.js.map +1 -1
- package/dist/utils/version-ranges.js +1 -32
- package/dist/utils/version-ranges.js.map +1 -1
- package/dist/utils/workspace-index-helpers.js +28 -0
- package/dist/utils/workspace-index-helpers.js.map +1 -0
- package/dist/utils/workspace-index-ownership.js +100 -0
- package/dist/utils/workspace-index-ownership.js.map +1 -0
- package/dist/utils/workspace-index-yml.js +173 -0
- package/dist/utils/workspace-index-yml.js.map +1 -0
- package/examples/custom-subdirs-platform.jsonc +157 -0
- package/package.json +7 -2
- package/platforms.jsonc +531 -84
- package/schemas/map-pipeline-v1.json +256 -0
- package/schemas/platforms-v1.json +400 -0
- package/specs/README.md +88 -0
- package/specs/add/README.md +166 -0
- package/specs/agents-claude.md +570 -0
- package/specs/agents-opencode.md +622 -0
- package/specs/apply/README.md +21 -0
- package/specs/apply/apply-behavior.md +58 -0
- package/specs/apply/apply-command.md +51 -0
- package/specs/apply/conflicts.md +41 -0
- package/specs/apply/index-effects.md +81 -0
- package/specs/architecture.md +107 -0
- package/specs/auth/README.md +17 -0
- package/specs/auth/auth-http-contract.md +25 -0
- package/specs/auth/cli/credentials.md +39 -0
- package/specs/auth/cli/login.md +32 -0
- package/specs/auth/cli/logout.md +16 -0
- package/specs/claude-mcp.md +1065 -0
- package/specs/claude-plugins-marketplace.md +363 -0
- package/specs/claude-plugins.md +413 -0
- package/specs/cli-options.md +52 -0
- package/specs/codex-mcp.md +114 -0
- package/specs/commands-overview.md +175 -0
- package/specs/directory-layout.md +95 -0
- package/specs/install/README.md +12 -4
- package/specs/install/git-sources.md +230 -0
- package/specs/install/install-behavior.md +483 -73
- package/specs/install/package-yml-canonical.md +67 -35
- package/specs/install/version-resolution.md +69 -115
- package/specs/new/README.md +769 -0
- package/specs/new/SUMMARY.md +310 -0
- package/specs/new/scope-behavior.md +793 -0
- package/specs/pack/README.md +77 -0
- package/specs/pack/package-name-resolution.md +330 -0
- package/specs/package/README.md +18 -17
- package/specs/package/nested-packages-and-parent-packages.md +32 -31
- package/specs/package/package-index-yml.md +95 -101
- package/specs/package/package-root-layout.md +64 -46
- package/specs/package/registry-payload-and-copy.md +50 -44
- package/specs/package/universal-content.md +33 -56
- package/specs/package-sources.md +248 -0
- package/specs/platforms/README.md +52 -0
- package/specs/platforms/configuration.md +571 -0
- package/specs/platforms/detection.md +552 -0
- package/specs/platforms/directory-layout.md +599 -0
- package/specs/platforms/examples.md +1146 -0
- package/specs/platforms/flow-reference.md +1240 -0
- package/specs/platforms/flows.md +1488 -0
- package/specs/platforms/map-pipeline.md +801 -0
- package/specs/platforms/overview.md +349 -0
- package/specs/platforms/specification.md +700 -0
- package/specs/platforms/troubleshooting.md +697 -0
- package/specs/platforms/universal-converter.md +520 -0
- package/specs/push/README.md +1 -0
- package/specs/push/push-behavior.md +11 -3
- package/specs/push/push-remote-upload.md +1 -1
- package/specs/push/push-scoping.md +1 -1
- package/specs/push/push-version-selection.md +1 -1
- package/specs/registry.md +111 -0
- package/specs/remove/README.md +257 -0
- package/specs/save/README.md +21 -17
- package/specs/save/save-conflict-resolution.md +205 -83
- package/specs/save/save-file-discovery.md +6 -4
- package/specs/save/save-frontmatter-overrides.md +11 -15
- package/specs/save/save-modes-inputs.md +9 -39
- package/specs/save/save-naming-scoping.md +4 -4
- package/specs/save/save-package-detection.md +13 -13
- package/specs/save/save-registry-sync.md +16 -106
- package/specs/save/save-versioning.md +80 -0
- package/specs/scope-management.md +92 -0
- package/specs/set/README.md +520 -0
- package/specs/set/set-behavior.md +563 -0
- package/specs/show/README.md +483 -0
- package/specs/show/show-remote.md +494 -0
- package/specs/status/README.md +38 -0
- package/specs/uninstall/README.md +231 -0
- package/dist/commands/duplicate.js +0 -69
- package/dist/commands/duplicate.js.map +0 -1
- package/dist/commands/init.js +0 -117
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/prune.js +0 -357
- package/dist/commands/prune.js.map +0 -1
- package/dist/commands/tui.js +0 -61
- package/dist/commands/tui.js.map +0 -1
- package/dist/core/install/index.js +0 -3
- package/dist/core/install/index.js.map +0 -1
- package/dist/core/push/push-single-file.js +0 -56
- package/dist/core/push/push-single-file.js.map +0 -1
- package/dist/core/save/package-detection.js +0 -147
- package/dist/core/save/package-detection.js.map +0 -1
- package/dist/core/save/save-single-file.js +0 -124
- package/dist/core/save/save-single-file.js.map +0 -1
- package/dist/core/token-store.js +0 -73
- package/dist/core/token-store.js.map +0 -1
- package/dist/tui/app.js +0 -95
- package/dist/tui/app.js.map +0 -1
- package/dist/tui/components/package-list.js +0 -73
- package/dist/tui/components/package-list.js.map +0 -1
- package/dist/tui/controller.js +0 -365
- package/dist/tui/controller.js.map +0 -1
- package/dist/tui/index.js +0 -12
- package/dist/tui/index.js.map +0 -1
- package/dist/tui/services/file-index.js +0 -64
- package/dist/tui/services/file-index.js.map +0 -1
- package/dist/tui/services/packages.js +0 -18
- package/dist/tui/services/packages.js.map +0 -1
- package/dist/tui/services/save.js +0 -21
- package/dist/tui/services/save.js.map +0 -1
- package/dist/tui/state/app-state.js +0 -15
- package/dist/tui/state/app-state.js.map +0 -1
- package/dist/tui/state.js +0 -17
- package/dist/tui/state.js.map +0 -1
- package/dist/tui/types.js.map +0 -1
- package/dist/tui/views/add-file-modal.js +0 -129
- package/dist/tui/views/add-file-modal.js.map +0 -1
- package/dist/tui/views/file-preview.js +0 -44
- package/dist/tui/views/file-preview.js.map +0 -1
- package/dist/tui/views/list-packages.js +0 -73
- package/dist/tui/views/list-packages.js.map +0 -1
- package/dist/tui/views/main-menu.js +0 -29
- package/dist/tui/views/main-menu.js.map +0 -1
- package/dist/tui/views/manage-view.js +0 -81
- package/dist/tui/views/manage-view.js.map +0 -1
- package/dist/tui/views/package-hub.js +0 -120
- package/dist/tui/views/package-hub.js.map +0 -1
- package/dist/tui/views/placeholder.js +0 -24
- package/dist/tui/views/placeholder.js.map +0 -1
- package/dist/utils/bun-bootstrap.js +0 -72
- package/dist/utils/bun-bootstrap.js.map +0 -1
- package/dist/utils/entity-id.js +0 -19
- package/dist/utils/entity-id.js.map +0 -1
- package/dist/utils/package-local-files.js +0 -5
- package/dist/utils/package-local-files.js.map +0 -1
- package/dist/utils/path-matching.js +0 -74
- package/dist/utils/path-matching.js.map +0 -1
- package/dist/utils/root-file-operations.js +0 -39
- package/dist/utils/root-file-operations.js.map +0 -1
- package/dist/utils/root-file-transformer.js +0 -27
- package/dist/utils/root-file-transformer.js.map +0 -1
- package/dist/utils/yaml-frontmatter.js +0 -25
- package/dist/utils/yaml-frontmatter.js.map +0 -1
- package/specs/auth/auth-device-flow.md +0 -70
- package/specs/login/login-device-flow.md +0 -70
- package/specs/platforms.md +0 -193
- package/specs/save-pack-versioning.md +0 -224
- package/specs/save-pack.md +0 -68
- /package/dist/{tui → core/source-resolution}/types.js +0 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { join, basename, dirname } from 'path';
|
|
2
|
-
import { getPlatformDefinition, getDetectedPlatforms, getAllPlatforms,
|
|
1
|
+
import { join, basename, dirname, extname } from 'path';
|
|
2
|
+
import { getPlatformDefinition, getDetectedPlatforms, getAllPlatforms, getPlatformDirectoryPathsForPlatform } from '../core/platforms.js';
|
|
3
3
|
import { logger } from './logger.js';
|
|
4
|
-
import { UNIVERSAL_SUBDIRS } from '../constants/index.js';
|
|
5
4
|
import { normalizePathForProcessing, findSubpathIndex } from './path-normalization.js';
|
|
6
5
|
/**
|
|
7
6
|
* Normalize platform names from command line input
|
|
@@ -15,62 +14,75 @@ export function normalizePlatforms(platforms) {
|
|
|
15
14
|
/**
|
|
16
15
|
* Platform Mapper Module
|
|
17
16
|
* Unified functions for mapping between universal subdirs and platform-specific paths
|
|
17
|
+
*
|
|
18
|
+
* Note: This module currently uses subdirs-based mapping. Flow-based path resolution
|
|
19
|
+
* will be added in a future update (Section 6.4 of platform-flows implementation).
|
|
18
20
|
*/
|
|
19
21
|
/**
|
|
20
22
|
* Map a universal file path to platform-specific directory and file paths
|
|
23
|
+
*
|
|
24
|
+
* TODO (Section 6.4): Update to support flow-based path resolution when flows are defined
|
|
21
25
|
*/
|
|
22
|
-
export function mapUniversalToPlatform(platform, subdir, relPath) {
|
|
23
|
-
const definition = getPlatformDefinition(platform);
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
|
|
26
|
+
export function mapUniversalToPlatform(platform, subdir, relPath, cwd) {
|
|
27
|
+
const definition = getPlatformDefinition(platform, cwd);
|
|
28
|
+
// Use export flow-based resolution (package → workspace)
|
|
29
|
+
if (definition.export && definition.export.length > 0) {
|
|
30
|
+
return mapUniversalToPlatformWithFlows(definition, subdir, relPath);
|
|
27
31
|
}
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
const packageExtMatch = relPath.match(/\.[^.]+$/);
|
|
31
|
-
const packageExt = packageExtMatch?.[0] ?? '';
|
|
32
|
-
const baseName = packageExt ? relPath.slice(0, -packageExt.length) : relPath;
|
|
33
|
-
const targetExt = packageExt ? getWorkspaceExt(subdirDef, packageExt) : '';
|
|
34
|
-
if (targetExt && !isExtAllowed(subdirDef, targetExt)) {
|
|
35
|
-
logger.warn(`Skipped ${relPath} for platform ${platform}: extension ${targetExt} is not allowed in ${subdir}`);
|
|
36
|
-
throw new Error(`Extension ${targetExt} is not allowed for subdir ${subdir} on platform ${platform}`);
|
|
37
|
-
}
|
|
38
|
-
const targetFileName = packageExt ? `${baseName}${targetExt}` : relPath;
|
|
39
|
-
const absFile = join(absDir, targetFileName);
|
|
40
|
-
return { absDir, absFile };
|
|
32
|
+
// No export flows defined - should not happen with flows-only system
|
|
33
|
+
throw new Error(`Platform ${platform} does not have export flows defined for subdir ${subdir}`);
|
|
41
34
|
}
|
|
42
35
|
/**
|
|
43
36
|
* Map a platform-specific file path back to universal subdir and relative path
|
|
37
|
+
* Supports local platform configs via cwd.
|
|
44
38
|
*/
|
|
45
|
-
export function mapPlatformFileToUniversal(absPath) {
|
|
39
|
+
export function mapPlatformFileToUniversal(absPath, cwd = process.cwd()) {
|
|
46
40
|
const normalizedPath = normalizePathForProcessing(absPath);
|
|
47
|
-
// Check each platform
|
|
48
|
-
for (const platform of getAllPlatforms({ includeDisabled: true })) {
|
|
49
|
-
const definition = getPlatformDefinition(platform);
|
|
50
|
-
//
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
// Extract
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
41
|
+
// Check each platform using flows
|
|
42
|
+
for (const platform of getAllPlatforms({ includeDisabled: true }, cwd)) {
|
|
43
|
+
const definition = getPlatformDefinition(platform, cwd);
|
|
44
|
+
// TODO: Implement full flow-based reverse mapping
|
|
45
|
+
// For now, extract subdirs from export flows and do basic mapping (package → workspace)
|
|
46
|
+
if (definition.export && definition.export.length > 0) {
|
|
47
|
+
for (const flow of definition.export) {
|
|
48
|
+
const toPattern = typeof flow.to === 'string' ? flow.to : Object.keys(flow.to)[0];
|
|
49
|
+
if (!toPattern)
|
|
50
|
+
continue;
|
|
51
|
+
// Extract directory from 'to' pattern (e.g., ".cursor/rules/{name}.mdc" -> ".cursor/rules")
|
|
52
|
+
const parts = toPattern.split('/');
|
|
53
|
+
const platformSubdirPath = parts.slice(0, -1).join('/');
|
|
54
|
+
// Check if the path contains this platform subdir
|
|
55
|
+
const subdirIndex = findSubpathIndex(normalizedPath, platformSubdirPath);
|
|
56
|
+
if (subdirIndex !== -1) {
|
|
57
|
+
// Extract universal subdir from 'from' pattern
|
|
58
|
+
// For array patterns, use the first pattern
|
|
59
|
+
const fromPattern = Array.isArray(flow.from) ? flow.from[0] : flow.from;
|
|
60
|
+
const fromParts = fromPattern.split('/');
|
|
61
|
+
const subdir = fromParts[0];
|
|
62
|
+
// Extract the relative path within the subdir
|
|
63
|
+
const absPattern = `/${platformSubdirPath}/`;
|
|
64
|
+
const relPattern = `${platformSubdirPath}/`;
|
|
65
|
+
const isAbsPattern = normalizedPath.indexOf(absPattern) !== -1;
|
|
66
|
+
const patternLength = isAbsPattern ? absPattern.length : relPattern.length;
|
|
67
|
+
const relPathStart = subdirIndex + patternLength;
|
|
68
|
+
let relPath = normalizedPath.substring(relPathStart);
|
|
69
|
+
// Handle extension transformations from flow
|
|
70
|
+
const workspaceExtMatch = relPath.match(/\.[^.]+$/);
|
|
71
|
+
const toExtMatch = toPattern.match(/\.[^./]+$/);
|
|
72
|
+
// For array patterns, use the first pattern
|
|
73
|
+
const fromPatternStr = Array.isArray(flow.from) ? flow.from[0] : flow.from;
|
|
74
|
+
const fromExtMatch = fromPatternStr.match(/\.[^./]+$/);
|
|
75
|
+
if (workspaceExtMatch && toExtMatch && fromExtMatch) {
|
|
76
|
+
const workspaceExt = workspaceExtMatch[0];
|
|
77
|
+
const toExt = toExtMatch[0];
|
|
78
|
+
const fromExt = fromExtMatch[0];
|
|
79
|
+
if (workspaceExt === toExt && toExt !== fromExt) {
|
|
80
|
+
// Transform back to package extension
|
|
81
|
+
relPath = relPath.slice(0, -workspaceExt.length) + fromExt;
|
|
82
|
+
}
|
|
71
83
|
}
|
|
84
|
+
return { platform, subdir, relPath };
|
|
72
85
|
}
|
|
73
|
-
return { platform, subdir, relPath };
|
|
74
86
|
}
|
|
75
87
|
}
|
|
76
88
|
}
|
|
@@ -84,11 +96,11 @@ export async function resolveInstallTargets(cwd, file) {
|
|
|
84
96
|
const targets = [];
|
|
85
97
|
for (const platform of detectedPlatforms) {
|
|
86
98
|
try {
|
|
87
|
-
const {
|
|
99
|
+
const { relDir, relFile } = mapUniversalToPlatform(platform, file.universalSubdir, file.relPath, cwd);
|
|
88
100
|
targets.push({
|
|
89
101
|
platform,
|
|
90
|
-
absDir: join(cwd,
|
|
91
|
-
absFile: join(cwd,
|
|
102
|
+
absDir: join(cwd, relDir),
|
|
103
|
+
absFile: join(cwd, relFile)
|
|
92
104
|
});
|
|
93
105
|
}
|
|
94
106
|
catch (error) {
|
|
@@ -100,26 +112,10 @@ export async function resolveInstallTargets(cwd, file) {
|
|
|
100
112
|
}
|
|
101
113
|
/**
|
|
102
114
|
* Get all platform subdirectories for a given platform and working directory
|
|
115
|
+
* Returns dynamic subdirs map for extensibility with custom universal subdirs
|
|
103
116
|
*/
|
|
104
117
|
export function getAllPlatformSubdirs(platform, cwd) {
|
|
105
|
-
|
|
106
|
-
const rulesSubdir = definition.subdirs[UNIVERSAL_SUBDIRS.RULES];
|
|
107
|
-
const result = {
|
|
108
|
-
rootDir: join(cwd, definition.rootDir),
|
|
109
|
-
rulesDir: join(cwd, definition.rootDir, rulesSubdir?.path || '')
|
|
110
|
-
};
|
|
111
|
-
if (definition.rootFile) {
|
|
112
|
-
result.rootFile = join(cwd, definition.rootFile);
|
|
113
|
-
}
|
|
114
|
-
const commandsSubdir = definition.subdirs[UNIVERSAL_SUBDIRS.COMMANDS];
|
|
115
|
-
if (commandsSubdir) {
|
|
116
|
-
result.commandsDir = join(cwd, definition.rootDir, commandsSubdir.path);
|
|
117
|
-
}
|
|
118
|
-
const agentsSubdir = definition.subdirs[UNIVERSAL_SUBDIRS.AGENTS];
|
|
119
|
-
if (agentsSubdir) {
|
|
120
|
-
result.agentsDir = join(cwd, definition.rootDir, agentsSubdir.path);
|
|
121
|
-
}
|
|
122
|
-
return result;
|
|
118
|
+
return getPlatformDirectoryPathsForPlatform(platform, cwd);
|
|
123
119
|
}
|
|
124
120
|
/**
|
|
125
121
|
* Get the appropriate target directory for saving a file based on its registry path
|
|
@@ -133,6 +129,164 @@ export function resolveTargetDirectory(targetPath, registryPath) {
|
|
|
133
129
|
}
|
|
134
130
|
return join(targetPath, dir);
|
|
135
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Map universal path to platform-specific path using flows configuration.
|
|
134
|
+
* Handles glob patterns correctly by resolving them to concrete file paths.
|
|
135
|
+
*/
|
|
136
|
+
function mapUniversalToPlatformWithFlows(definition, subdir, relPath) {
|
|
137
|
+
const flows = definition.export || [];
|
|
138
|
+
// Construct the full source path for matching
|
|
139
|
+
const sourcePath = `${subdir}/${relPath}`;
|
|
140
|
+
const candidateFlows = flows.filter((flow) => {
|
|
141
|
+
const fromPattern = Array.isArray(flow.from) ? flow.from[0] : flow.from;
|
|
142
|
+
return fromPattern.startsWith(`${subdir}/`);
|
|
143
|
+
});
|
|
144
|
+
if (candidateFlows.length === 0) {
|
|
145
|
+
throw new Error(`Platform ${definition.id} does not support subdir ${subdir}`);
|
|
146
|
+
}
|
|
147
|
+
// Find a flow that matches this source path
|
|
148
|
+
const matchingFlow = candidateFlows.find((flow) => {
|
|
149
|
+
const fromPattern = Array.isArray(flow.from) ? flow.from[0] : flow.from;
|
|
150
|
+
// Check if the source path matches the pattern
|
|
151
|
+
// Handle glob patterns with ** and *
|
|
152
|
+
if (fromPattern.includes('*')) {
|
|
153
|
+
// Convert glob pattern to regex for matching
|
|
154
|
+
// Use placeholders to prevent replacement interference
|
|
155
|
+
const regexPattern = fromPattern
|
|
156
|
+
.replace(/\./g, '\\.')
|
|
157
|
+
.replace(/\*\*\//g, '___DOUBLESTAR_SLASH___') // **/ matches zero or more segments
|
|
158
|
+
.replace(/\/\*\*/g, '___SLASH_DOUBLESTAR___') // /** matches zero or more segments
|
|
159
|
+
.replace(/\*\*/g, '___DOUBLESTAR___') // ** alone matches anything
|
|
160
|
+
.replace(/\*/g, '[^/]+') // * matches filename characters
|
|
161
|
+
.replace(/___DOUBLESTAR_SLASH___/g, '(?:.*/)?') // Replace placeholders
|
|
162
|
+
.replace(/___SLASH_DOUBLESTAR___/g, '(?:/.*)?')
|
|
163
|
+
.replace(/___DOUBLESTAR___/g, '.*');
|
|
164
|
+
const regex = new RegExp(`^${regexPattern}$`);
|
|
165
|
+
return regex.test(sourcePath);
|
|
166
|
+
}
|
|
167
|
+
// Exact match
|
|
168
|
+
return fromPattern === sourcePath;
|
|
169
|
+
});
|
|
170
|
+
if (!matchingFlow) {
|
|
171
|
+
const sourceExt = extname(sourcePath);
|
|
172
|
+
const expectedExts = Array.from(new Set(candidateFlows
|
|
173
|
+
.map((flow) => {
|
|
174
|
+
const fromPattern = Array.isArray(flow.from) ? flow.from[0] : flow.from;
|
|
175
|
+
return extname(fromPattern);
|
|
176
|
+
})
|
|
177
|
+
.filter((ext) => typeof ext === 'string' && ext.length > 0)));
|
|
178
|
+
if (sourceExt && expectedExts.length > 0 && !expectedExts.includes(sourceExt)) {
|
|
179
|
+
logger.warn(`Skipped ${relPath} for platform ${definition.id}: extension ${sourceExt} does not match flow pattern`, { subdir, expectedExts });
|
|
180
|
+
throw new Error(`File extension ${sourceExt} is not allowed for subdir ${subdir} on platform ${definition.id}`);
|
|
181
|
+
}
|
|
182
|
+
throw new Error(`Platform ${definition.id} does not support path ${sourcePath}`);
|
|
183
|
+
}
|
|
184
|
+
const fromPattern = matchingFlow.from;
|
|
185
|
+
const toPattern = matchingFlow.to;
|
|
186
|
+
// Get the target path string (handle multi-target by taking first)
|
|
187
|
+
let targetPathPattern;
|
|
188
|
+
if (typeof toPattern === 'string') {
|
|
189
|
+
targetPathPattern = toPattern;
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
// Multi-target flow - use first target
|
|
193
|
+
const targets = toPattern;
|
|
194
|
+
const firstTargetConfig = Object.values(targets)[0];
|
|
195
|
+
targetPathPattern = typeof firstTargetConfig === 'string' ? firstTargetConfig : firstTargetConfig.to;
|
|
196
|
+
if (typeof targetPathPattern !== 'string') {
|
|
197
|
+
throw new Error(`Invalid multi-target flow configuration for platform ${definition.id}`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// Resolve the target path from the glob pattern
|
|
201
|
+
// For array patterns, use the first pattern
|
|
202
|
+
const fromPatternStr = Array.isArray(fromPattern) ? fromPattern[0] : fromPattern;
|
|
203
|
+
const targetPath = resolveTargetPathFromGlob(sourcePath, fromPatternStr, targetPathPattern);
|
|
204
|
+
// Normalize: callers expect workspace-relative paths and will join them with `cwd`.
|
|
205
|
+
const workspaceRoot = normalizePathForProcessing(process.cwd());
|
|
206
|
+
let relTarget = normalizePathForProcessing(targetPath);
|
|
207
|
+
const workspaceRootNoLeading = workspaceRoot.replace(/^\/+/, '');
|
|
208
|
+
// If targetPath accidentally includes the workspace root, strip it back to a workspace-relative path.
|
|
209
|
+
if (relTarget === workspaceRoot) {
|
|
210
|
+
relTarget = '';
|
|
211
|
+
}
|
|
212
|
+
else if (relTarget.startsWith(`${workspaceRoot}/`)) {
|
|
213
|
+
relTarget = relTarget.slice(workspaceRoot.length + 1);
|
|
214
|
+
}
|
|
215
|
+
else if (workspaceRootNoLeading && relTarget.startsWith(`${workspaceRootNoLeading}/`)) {
|
|
216
|
+
relTarget = relTarget.slice(workspaceRootNoLeading.length + 1);
|
|
217
|
+
}
|
|
218
|
+
// Ensure it's relative (no leading slash), but keep leading dot dirs like ".claude".
|
|
219
|
+
relTarget = relTarget.replace(/^\/+/, '');
|
|
220
|
+
const relFile = relTarget;
|
|
221
|
+
const relDir = dirname(relFile);
|
|
222
|
+
return { relDir, relFile };
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Resolve target path from glob patterns
|
|
226
|
+
* This implements the same logic as flow-executor's resolveTargetFromGlob
|
|
227
|
+
*/
|
|
228
|
+
function resolveTargetPathFromGlob(sourcePath, fromPattern, toPattern) {
|
|
229
|
+
// If 'to' pattern has glob, map the structure
|
|
230
|
+
if (toPattern.includes('*')) {
|
|
231
|
+
// Handle ** recursive patterns
|
|
232
|
+
if (fromPattern.includes('**') && toPattern.includes('**')) {
|
|
233
|
+
// Extract the base directories before **
|
|
234
|
+
const fromParts = fromPattern.split('**');
|
|
235
|
+
const toParts = toPattern.split('**');
|
|
236
|
+
const fromBase = fromParts[0].replace(/\/$/, '');
|
|
237
|
+
const toBase = toParts[0].replace(/\/$/, '');
|
|
238
|
+
// Get the file pattern after **
|
|
239
|
+
const fromSuffix = fromParts[1] || '';
|
|
240
|
+
const toSuffix = toParts[1] || '';
|
|
241
|
+
// Extract the relative path after the base directory
|
|
242
|
+
let relativeSubpath = sourcePath;
|
|
243
|
+
if (fromBase) {
|
|
244
|
+
relativeSubpath = sourcePath.startsWith(fromBase + '/')
|
|
245
|
+
? sourcePath.slice(fromBase.length + 1)
|
|
246
|
+
: sourcePath;
|
|
247
|
+
}
|
|
248
|
+
// Handle extension mapping if suffixes specify extensions
|
|
249
|
+
// e.g., /**/*.md -> /**/*.mdc
|
|
250
|
+
if (fromSuffix && toSuffix) {
|
|
251
|
+
const fromExt = fromSuffix.replace(/^\/?\*+/, '');
|
|
252
|
+
const toExt = toSuffix.replace(/^\/?\*+/, '');
|
|
253
|
+
if (fromExt && toExt && fromExt !== toExt) {
|
|
254
|
+
relativeSubpath = relativeSubpath.replace(new RegExp(fromExt.replace('.', '\\.') + '$'), toExt);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
// Build target path
|
|
258
|
+
const targetPath = toBase ? join(toBase, relativeSubpath) : relativeSubpath;
|
|
259
|
+
return targetPath;
|
|
260
|
+
}
|
|
261
|
+
// Handle single-level * patterns
|
|
262
|
+
const sourceFileName = basename(sourcePath);
|
|
263
|
+
const sourceExt = extname(sourcePath);
|
|
264
|
+
const sourceBase = basename(sourcePath, sourceExt);
|
|
265
|
+
const toParts = toPattern.split('*');
|
|
266
|
+
const toPrefix = toParts[0];
|
|
267
|
+
const toSuffix = toParts[1] || '';
|
|
268
|
+
const targetExt = toSuffix.startsWith('.') ? toSuffix : (sourceExt + toSuffix);
|
|
269
|
+
const targetFileName = sourceBase + targetExt;
|
|
270
|
+
const resolvedTo = toPrefix + targetFileName;
|
|
271
|
+
return resolvedTo;
|
|
272
|
+
}
|
|
273
|
+
// Handle {name} placeholder pattern
|
|
274
|
+
if (toPattern.includes('{name}')) {
|
|
275
|
+
const fileName = basename(sourcePath);
|
|
276
|
+
const fileExt = extname(sourcePath);
|
|
277
|
+
const baseName = fileName.slice(0, -fileExt.length);
|
|
278
|
+
let targetPath = toPattern.replace('{name}', baseName);
|
|
279
|
+
// Check if the target pattern changes the extension
|
|
280
|
+
const targetExt = extname(targetPath);
|
|
281
|
+
// If no extension in pattern, preserve original extension
|
|
282
|
+
if (!targetExt && fileExt) {
|
|
283
|
+
targetPath += fileExt;
|
|
284
|
+
}
|
|
285
|
+
return targetPath;
|
|
286
|
+
}
|
|
287
|
+
// No glob or placeholder in target - use as-is
|
|
288
|
+
return toPattern;
|
|
289
|
+
}
|
|
136
290
|
/**
|
|
137
291
|
* Get the appropriate target file path for saving
|
|
138
292
|
* Handles platform-specific file naming conventions using platform definitions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-mapper.js","sourceRoot":"","sources":["../../src/utils/platform-mapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform-mapper.js","sourceRoot":"","sources":["../../src/utils/platform-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform Root Files Utilities
|
|
3
|
+
* Shared utilities for collecting and working with platform root file names
|
|
4
|
+
*/
|
|
5
|
+
import { FILE_PATTERNS, PACKAGE_ROOT_DIRS } from '../constants/index.js';
|
|
6
|
+
import { getPlatformDefinition } from '../core/platforms.js';
|
|
7
|
+
/**
|
|
8
|
+
* Get all platform root file names (including universal AGENTS.md) for the given platforms.
|
|
9
|
+
* @param platforms - Array of platforms to collect root files from
|
|
10
|
+
* @param cwd - Optional cwd for platform config overrides
|
|
11
|
+
* @returns Set of root file names
|
|
12
|
+
*/
|
|
13
|
+
export function getPlatformRootFileNames(platforms, cwd) {
|
|
14
|
+
const names = new Set([FILE_PATTERNS.AGENTS_MD]);
|
|
15
|
+
for (const platform of platforms) {
|
|
16
|
+
const def = getPlatformDefinition(platform, cwd);
|
|
17
|
+
if (def.rootFile) {
|
|
18
|
+
names.add(def.rootFile);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return names;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Strip the root copy prefix from a path if it starts with `root/`.
|
|
25
|
+
* @param path - Path that may start with `root/`
|
|
26
|
+
* @returns Path with `root/` prefix stripped, or original path if it doesn't start with `root/`
|
|
27
|
+
*/
|
|
28
|
+
export function stripRootCopyPrefix(path) {
|
|
29
|
+
const prefix = `${PACKAGE_ROOT_DIRS.ROOT_COPY}/`;
|
|
30
|
+
if (path.startsWith(prefix)) {
|
|
31
|
+
const stripped = path.slice(prefix.length);
|
|
32
|
+
return stripped.length > 0 ? stripped : null;
|
|
33
|
+
}
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Check if a path is a root copy path (starts with `root/`).
|
|
38
|
+
* @param path - Path to check
|
|
39
|
+
* @returns True if path starts with `root/`
|
|
40
|
+
*/
|
|
41
|
+
export function isRootCopyPath(path) {
|
|
42
|
+
return path.startsWith(`${PACKAGE_ROOT_DIRS.ROOT_COPY}/`);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=platform-root-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-root-files.js","sourceRoot":"","sources":["../../src/utils/platform-root-files.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAiB,MAAM,sBAAsB,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAqB,EAAE,GAAY;IAC1E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,GAAG,CAAC;IACjD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC,SAAS,GAAG,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -2,43 +2,36 @@
|
|
|
2
2
|
* Platform Utilities Module
|
|
3
3
|
* Utility functions for platform management, detection, and file operations
|
|
4
4
|
*/
|
|
5
|
-
import { join } from 'path';
|
|
6
5
|
import { getPathLeaf } from './path-normalization.js';
|
|
7
6
|
import { FILE_PATTERNS } from '../constants/index.js';
|
|
8
|
-
import { getAllPlatforms,
|
|
9
|
-
|
|
10
|
-
* Enhanced platform detection with detailed information
|
|
11
|
-
*/
|
|
12
|
-
export async function detectPlatformsWithDetails(cwd) {
|
|
13
|
-
const allResults = await detectAllPlatforms(cwd);
|
|
14
|
-
const detected = allResults.filter(result => result.detected).map(result => result.name);
|
|
15
|
-
// Group by category - simplified since we removed categories
|
|
16
|
-
const byCategory = allResults.reduce((acc, result) => {
|
|
17
|
-
if (result.detected) {
|
|
18
|
-
acc['detected'] = acc['detected'] || [];
|
|
19
|
-
acc['detected'].push(result.name);
|
|
20
|
-
}
|
|
21
|
-
return acc;
|
|
22
|
-
}, {});
|
|
23
|
-
return { detected, allResults, byCategory };
|
|
24
|
-
}
|
|
7
|
+
import { getAllPlatforms, getPlatformRootFiles as getPlatformRootFileNames, getPlatformDefinition, getPlatformDirLookup } from '../core/platforms.js';
|
|
8
|
+
/* Removed unused detectPlatformsWithDetails - use detectAllPlatforms directly for details */
|
|
25
9
|
/**
|
|
26
10
|
* Extract platform name from source directory path
|
|
27
11
|
* Uses platform definitions for scalable platform detection
|
|
12
|
+
* @param cwd - Optional cwd for local platform config overrides
|
|
28
13
|
*/
|
|
29
|
-
export function getPlatformNameFromSource(sourceDir) {
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
14
|
+
export function getPlatformNameFromSource(sourceDir, cwd) {
|
|
15
|
+
// Quick lookup via dir map first
|
|
16
|
+
const dirLookup = getPlatformDirLookup(cwd);
|
|
17
|
+
const fromDir = dirLookup[sourceDir];
|
|
18
|
+
if (fromDir)
|
|
19
|
+
return fromDir;
|
|
20
|
+
// Full scan for flow-based matches
|
|
21
|
+
for (const platform of getAllPlatforms({ includeDisabled: true }, cwd)) {
|
|
22
|
+
const definition = getPlatformDefinition(platform, cwd);
|
|
23
|
+
// Check if sourceDir matches any export flow 'to' pattern directory (package → workspace)
|
|
24
|
+
if (definition.export && definition.export.length > 0) {
|
|
25
|
+
for (const flow of definition.export) {
|
|
26
|
+
const toPattern = typeof flow.to === 'string' ? flow.to : Object.keys(flow.to)[0];
|
|
27
|
+
if (toPattern) {
|
|
28
|
+
// Extract directory from 'to' pattern
|
|
29
|
+
const parts = toPattern.split('/');
|
|
30
|
+
const subdirPath = parts.slice(0, -1).join('/');
|
|
31
|
+
if (sourceDir.includes(subdirPath)) {
|
|
32
|
+
return platform;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
42
35
|
}
|
|
43
36
|
}
|
|
44
37
|
}
|
|
@@ -48,33 +41,21 @@ export function getPlatformNameFromSource(sourceDir) {
|
|
|
48
41
|
/**
|
|
49
42
|
* Get all platform directory names
|
|
50
43
|
* Returns an array of all supported platform directory names
|
|
44
|
+
* @param cwd - Optional cwd for local overrides
|
|
51
45
|
*/
|
|
52
|
-
export function getAllPlatformDirs() {
|
|
53
|
-
|
|
54
|
-
for (const platform of getAllPlatforms({ includeDisabled: true })) {
|
|
55
|
-
dirs.add(PLATFORM_DEFINITIONS[platform].rootDir);
|
|
56
|
-
}
|
|
57
|
-
return Array.from(dirs);
|
|
46
|
+
export function getAllPlatformDirs(cwd) {
|
|
47
|
+
return Object.keys(getPlatformDirLookup(cwd));
|
|
58
48
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
rootFiles.add(def.rootFile);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
49
|
+
/**
|
|
50
|
+
* Get all platform root files as a Set, including AGENTS.md universal file.
|
|
51
|
+
* @param cwd - Optional cwd for local overrides
|
|
52
|
+
*/
|
|
53
|
+
export function getPlatformRootFiles(cwd) {
|
|
54
|
+
const rootFiles = new Set(getPlatformRootFileNames(cwd)); // from platforms.ts, excludes AGENTS.md
|
|
68
55
|
rootFiles.add(FILE_PATTERNS.AGENTS_MD);
|
|
69
56
|
return rootFiles;
|
|
70
57
|
}
|
|
71
|
-
export function
|
|
72
|
-
|
|
73
|
-
platformRootFilesCache = buildPlatformRootFiles();
|
|
74
|
-
}
|
|
75
|
-
return platformRootFilesCache;
|
|
76
|
-
}
|
|
77
|
-
export function isPlatformRootFile(fileName) {
|
|
78
|
-
return getPlatformRootFiles().has(fileName);
|
|
58
|
+
export function isPlatformRootFile(fileName, cwd) {
|
|
59
|
+
return getPlatformRootFiles(cwd).has(fileName);
|
|
79
60
|
}
|
|
80
61
|
//# sourceMappingURL=platform-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-utils.js","sourceRoot":"","sources":["../../src/utils/platform-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"platform-utils.js","sourceRoot":"","sources":["../../src/utils/platform-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,eAAe,EACf,oBAAoB,IAAI,wBAAwB,EAChD,qBAAqB,EACrB,oBAAoB,EAIrB,MAAM,sBAAsB,CAAC;AAE9B,6FAA6F;AAE7F;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAiB,EAAE,GAAY;IACvE,iCAAiC;IACjC,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,mCAAmC;IACnC,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QACvE,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAExD,0FAA0F;QAC1F,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClF,IAAI,SAAS,EAAE,CAAC;oBACd,sCAAsC;oBACtC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACnC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEhD,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACnC,OAAO,QAAQ,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,wCAAwC;IACnG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,GAAY;IAC/D,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC"}
|