opkg 0.5.0 → 0.6.1
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 +82 -21
- package/dist/commands/add.js +11 -276
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/duplicate.js +5 -2
- package/dist/commands/duplicate.js.map +1 -1
- package/dist/commands/init.js +76 -145
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.js +30 -671
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/list.js +9 -3
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/login.js +58 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.js +28 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/pack.js +10 -137
- package/dist/commands/pack.js.map +1 -1
- package/dist/commands/pull.js +5 -299
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/push.js +5 -239
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/save.js +29 -168
- package/dist/commands/save.js.map +1 -1
- package/dist/commands/show.js +18 -5
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/status.js +21 -8
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/tui.js +61 -0
- package/dist/commands/tui.js.map +1 -0
- package/dist/commands/uninstall.js +5 -5
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/constants/index.js +19 -45
- package/dist/constants/index.js.map +1 -1
- package/dist/constants/workspace.js +9 -0
- package/dist/constants/workspace.js.map +1 -0
- package/dist/core/add/add-conflict-handler.js +68 -0
- package/dist/core/add/add-conflict-handler.js.map +1 -0
- package/dist/core/add/add-pipeline.js +137 -0
- package/dist/core/add/add-pipeline.js.map +1 -0
- package/dist/core/add/package-index-updater.js +66 -36
- package/dist/core/add/package-index-updater.js.map +1 -1
- package/dist/core/add/platform-path-transformer.js +47 -0
- package/dist/core/add/platform-path-transformer.js.map +1 -0
- package/dist/core/add/source-collector.js +57 -0
- package/dist/core/add/source-collector.js.map +1 -0
- package/dist/core/api-keys.js +6 -2
- package/dist/core/api-keys.js.map +1 -1
- package/dist/core/auth.js +25 -40
- package/dist/core/auth.js.map +1 -1
- package/dist/core/config.js +11 -3
- package/dist/core/config.js.map +1 -1
- package/dist/core/dependency-resolver.js +24 -11
- package/dist/core/dependency-resolver.js.map +1 -1
- package/dist/core/device-auth.js +81 -0
- package/dist/core/device-auth.js.map +1 -0
- package/dist/core/directory.js +15 -9
- package/dist/core/directory.js.map +1 -1
- package/dist/core/discovery/file-discovery.js +55 -54
- package/dist/core/discovery/file-discovery.js.map +1 -1
- package/dist/core/discovery/platform-files-discovery.js +32 -17
- package/dist/core/discovery/platform-files-discovery.js.map +1 -1
- package/dist/core/install/bulk-install-pipeline.js +200 -0
- package/dist/core/install/bulk-install-pipeline.js.map +1 -0
- package/dist/core/install/canonical-plan.js +129 -0
- package/dist/core/install/canonical-plan.js.map +1 -0
- package/dist/core/install/download-keys.js +2 -2
- package/dist/core/install/download-keys.js.map +1 -1
- package/dist/core/install/dry-run.js +2 -2
- package/dist/core/install/dry-run.js.map +1 -1
- package/dist/core/install/index.js +3 -0
- package/dist/core/install/index.js.map +1 -0
- package/dist/core/install/install-errors.js +41 -0
- package/dist/core/install/install-errors.js.map +1 -0
- package/dist/core/install/install-flow.js +8 -9
- package/dist/core/install/install-flow.js.map +1 -1
- package/dist/core/install/install-pipeline.js +296 -0
- package/dist/core/install/install-pipeline.js.map +1 -0
- package/dist/core/install/install-reporting.js +99 -0
- package/dist/core/install/install-reporting.js.map +1 -0
- package/dist/core/install/platform-resolution.js +6 -6
- package/dist/core/install/platform-resolution.js.map +1 -1
- package/dist/core/install/remote-flow.js +84 -7
- package/dist/core/install/remote-flow.js.map +1 -1
- package/dist/core/install/version-selection.js +25 -8
- package/dist/core/install/version-selection.js.map +1 -1
- package/dist/core/openpackage.js +22 -14
- package/dist/core/openpackage.js.map +1 -1
- package/dist/core/package-context.js +246 -0
- package/dist/core/package-context.js.map +1 -0
- package/dist/core/package.js +73 -9
- package/dist/core/package.js.map +1 -1
- package/dist/core/platforms.js +126 -217
- package/dist/core/platforms.js.map +1 -1
- package/dist/core/profiles.js +60 -3
- package/dist/core/profiles.js.map +1 -1
- package/dist/core/pull/pull-errors.js +62 -0
- package/dist/core/pull/pull-errors.js.map +1 -0
- package/dist/core/pull/pull-options.js +2 -0
- package/dist/core/pull/pull-options.js.map +1 -0
- package/dist/core/pull/pull-output.js +50 -0
- package/dist/core/pull/pull-output.js.map +1 -0
- package/dist/core/pull/pull-pipeline.js +141 -0
- package/dist/core/pull/pull-pipeline.js.map +1 -0
- package/dist/core/pull/pull-strategies.js +103 -0
- package/dist/core/pull/pull-strategies.js.map +1 -0
- package/dist/core/pull/pull-types.js +2 -0
- package/dist/core/pull/pull-types.js.map +1 -0
- package/dist/core/push/push-context.js +95 -0
- package/dist/core/push/push-context.js.map +1 -0
- package/dist/core/push/push-errors.js +133 -0
- package/dist/core/push/push-errors.js.map +1 -0
- package/dist/core/push/push-output.js +44 -0
- package/dist/core/push/push-output.js.map +1 -0
- package/dist/core/push/push-pipeline.js +74 -0
- package/dist/core/push/push-pipeline.js.map +1 -0
- package/dist/core/push/push-single-file.js +56 -0
- package/dist/core/push/push-single-file.js.map +1 -0
- package/dist/core/push/push-types.js +2 -0
- package/dist/core/push/push-types.js.map +1 -0
- package/dist/core/push/push-upload.js +68 -0
- package/dist/core/push/push-upload.js.map +1 -0
- package/dist/core/registry/registry-rename.js +2 -1
- package/dist/core/registry/registry-rename.js.map +1 -1
- package/dist/core/registry.js +14 -5
- package/dist/core/registry.js.map +1 -1
- package/dist/core/remote-pull.js +165 -36
- package/dist/core/remote-pull.js.map +1 -1
- package/dist/core/save/constants.js +4 -0
- package/dist/core/save/constants.js.map +1 -1
- package/dist/core/save/name-resolution.js +31 -0
- package/dist/core/save/name-resolution.js.map +1 -0
- package/dist/core/save/package-detection.js +147 -0
- package/dist/core/save/package-detection.js.map +1 -0
- package/dist/core/save/package-saver.js +82 -43
- package/dist/core/save/package-saver.js.map +1 -1
- package/dist/core/save/package-yml-generator.js +51 -71
- package/dist/core/save/package-yml-generator.js.map +1 -1
- package/dist/core/save/root-save-candidates.js.map +1 -1
- package/dist/core/save/save-candidate-loader.js +89 -0
- package/dist/core/save/save-candidate-loader.js.map +1 -0
- package/dist/core/save/save-conflict-resolution.js +72 -410
- package/dist/core/save/save-conflict-resolution.js.map +1 -1
- package/dist/core/save/save-conflict-resolver.js +277 -0
- package/dist/core/save/save-conflict-resolver.js.map +1 -0
- package/dist/core/save/save-pipeline.js +162 -0
- package/dist/core/save/save-pipeline.js.map +1 -0
- package/dist/core/save/save-single-file.js +124 -0
- package/dist/core/save/save-single-file.js.map +1 -0
- package/dist/core/save/save-types.js +2 -0
- package/dist/core/save/save-types.js.map +1 -0
- package/dist/core/save/save-yml-resolution.js +77 -39
- package/dist/core/save/save-yml-resolution.js.map +1 -1
- package/dist/core/save/workspace-rename.js +6 -6
- package/dist/core/save/workspace-rename.js.map +1 -1
- package/dist/core/scoping/package-scoping.js +14 -2
- package/dist/core/scoping/package-scoping.js.map +1 -1
- package/dist/core/status/status-file-discovery.js +12 -30
- package/dist/core/status/status-file-discovery.js.map +1 -1
- package/dist/core/sync/platform-sync.js +7 -4
- package/dist/core/sync/platform-sync.js.map +1 -1
- package/dist/core/sync/root-files-sync.js +59 -1
- package/dist/core/sync/root-files-sync.js.map +1 -1
- package/dist/core/token-store.js +73 -0
- package/dist/core/token-store.js.map +1 -0
- package/dist/core/uninstall/uninstall-file-discovery.js +1 -2
- package/dist/core/uninstall/uninstall-file-discovery.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/tui/app.js +95 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/components/package-list.js +73 -0
- package/dist/tui/components/package-list.js.map +1 -0
- package/dist/tui/controller.js +365 -0
- package/dist/tui/controller.js.map +1 -0
- package/dist/tui/index.js +12 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/services/file-index.js +64 -0
- package/dist/tui/services/file-index.js.map +1 -0
- package/dist/tui/services/packages.js +18 -0
- package/dist/tui/services/packages.js.map +1 -0
- package/dist/tui/services/save.js +21 -0
- package/dist/tui/services/save.js.map +1 -0
- package/dist/tui/state/app-state.js +15 -0
- package/dist/tui/state/app-state.js.map +1 -0
- package/dist/tui/state.js +17 -0
- package/dist/tui/state.js.map +1 -0
- package/dist/tui/types.js +2 -0
- package/dist/tui/types.js.map +1 -0
- package/dist/tui/views/add-file-modal.js +129 -0
- package/dist/tui/views/add-file-modal.js.map +1 -0
- package/dist/tui/views/file-preview.js +44 -0
- package/dist/tui/views/file-preview.js.map +1 -0
- package/dist/tui/views/list-packages.js +73 -0
- package/dist/tui/views/list-packages.js.map +1 -0
- package/dist/tui/views/main-menu.js +29 -0
- package/dist/tui/views/main-menu.js.map +1 -0
- package/dist/tui/views/manage-view.js +81 -0
- package/dist/tui/views/manage-view.js.map +1 -0
- package/dist/tui/views/package-hub.js +120 -0
- package/dist/tui/views/package-hub.js.map +1 -0
- package/dist/tui/views/placeholder.js +24 -0
- package/dist/tui/views/placeholder.js.map +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/bun-bootstrap.js +72 -0
- package/dist/utils/bun-bootstrap.js.map +1 -0
- package/dist/utils/file-processing.js +5 -58
- package/dist/utils/file-processing.js.map +1 -1
- package/dist/utils/formatters.js +3 -1
- package/dist/utils/formatters.js.map +1 -1
- package/dist/utils/http-client.js +27 -5
- package/dist/utils/http-client.js.map +1 -1
- package/dist/utils/index-based-installer.js +40 -35
- package/dist/utils/index-based-installer.js.map +1 -1
- package/dist/utils/install-file-discovery.js +18 -24
- package/dist/utils/install-file-discovery.js.map +1 -1
- package/dist/utils/install-orchestrator.js +21 -21
- package/dist/utils/install-orchestrator.js.map +1 -1
- package/dist/utils/jsonc.js +44 -0
- package/dist/utils/jsonc.js.map +1 -0
- package/dist/utils/manifest-paths.js +27 -0
- package/dist/utils/manifest-paths.js.map +1 -0
- package/dist/utils/package-copy.js +199 -0
- package/dist/utils/package-copy.js.map +1 -0
- package/dist/utils/package-filters.js +125 -0
- package/dist/utils/package-filters.js.map +1 -0
- package/dist/utils/package-index-yml.js +15 -10
- package/dist/utils/package-index-yml.js.map +1 -1
- package/dist/utils/package-installation.js +4 -113
- package/dist/utils/package-installation.js.map +1 -1
- package/dist/utils/package-local-files.js +2 -35
- package/dist/utils/package-local-files.js.map +1 -1
- package/dist/utils/package-management.js +191 -75
- package/dist/utils/package-management.js.map +1 -1
- package/dist/utils/package-merge.js +48 -0
- package/dist/utils/package-merge.js.map +1 -0
- package/dist/utils/package-name.js +29 -0
- package/dist/utils/package-name.js.map +1 -1
- package/dist/utils/package-versioning.js +16 -4
- package/dist/utils/package-versioning.js.map +1 -1
- package/dist/utils/package-yml.js +41 -12
- package/dist/utils/package-yml.js.map +1 -1
- package/dist/utils/path-normalization.js +8 -53
- package/dist/utils/path-normalization.js.map +1 -1
- package/dist/utils/paths.js +17 -9
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/platform-file.js +16 -59
- package/dist/utils/platform-file.js.map +1 -1
- package/dist/utils/platform-mapper.js +29 -41
- package/dist/utils/platform-mapper.js.map +1 -1
- package/dist/utils/platform-specific-paths.js.map +1 -1
- package/dist/utils/platform-utils.js +28 -139
- package/dist/utils/platform-utils.js.map +1 -1
- package/dist/utils/platform-yaml-merge.js +13 -6
- package/dist/utils/platform-yaml-merge.js.map +1 -1
- package/dist/utils/prompts.js +0 -31
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/registry-entry-filter.js +38 -24
- package/dist/utils/registry-entry-filter.js.map +1 -1
- package/dist/utils/registry-paths.js +48 -0
- package/dist/utils/registry-paths.js.map +1 -0
- package/dist/utils/root-file-installer.js +19 -0
- package/dist/utils/root-file-installer.js.map +1 -1
- package/dist/utils/root-file-registry.js.map +1 -1
- package/dist/utils/tarball.js +6 -2
- package/dist/utils/tarball.js.map +1 -1
- package/dist/utils/version-ranges.js +11 -8
- package/dist/utils/version-ranges.js.map +1 -1
- package/package.json +3 -2
- package/platforms.jsonc +178 -0
- package/specs/auth/auth-device-flow.md +70 -0
- package/specs/install/install-behavior.md +30 -0
- package/specs/install/package-yml-canonical.md +21 -1
- package/specs/install/version-resolution.md +9 -7
- package/specs/login/login-device-flow.md +70 -0
- package/specs/package/README.md +60 -0
- package/specs/package/nested-packages-and-parent-packages.md +79 -0
- package/specs/package/package-index-yml.md +171 -0
- package/specs/package/package-root-layout.md +78 -0
- package/specs/package/registry-payload-and-copy.md +77 -0
- package/specs/package/universal-content.md +144 -0
- package/specs/platforms.md +193 -0
- package/specs/push/push-behavior.md +38 -10
- package/specs/push/push-errors-and-hints.md +19 -6
- package/specs/push/push-remote-upload.md +3 -0
- package/specs/push/push-scoping.md +14 -22
- package/specs/push/push-version-selection.md +18 -16
- package/specs/save/README.md +40 -0
- package/specs/save/save-conflict-resolution.md +146 -0
- package/specs/save/save-file-discovery.md +101 -0
- package/specs/save/save-frontmatter-overrides.md +81 -0
- package/specs/save/save-modes-inputs.md +55 -0
- package/specs/save/save-naming-scoping.md +93 -0
- package/specs/save/save-package-detection.md +60 -0
- package/specs/save/save-registry-sync.md +126 -0
- package/specs/save-pack.md +1 -0
- package/dist/commands/release.js +0 -33
- package/dist/commands/release.js.map +0 -1
- package/dist/commands/tag.js +0 -311
- package/dist/commands/tag.js.map +0 -1
- package/dist/commands/update.js +0 -30
- package/dist/commands/update.js.map +0 -1
- package/dist/core/add/formula-index-updater.js +0 -290
- package/dist/core/add/formula-index-updater.js.map +0 -1
- package/dist/core/discovery/ai-files-discovery.js +0 -2
- package/dist/core/discovery/ai-files-discovery.js.map +0 -1
- package/dist/core/discovery/formula-files-discovery.js +0 -14
- package/dist/core/discovery/formula-files-discovery.js.map +0 -1
- package/dist/core/discovery/index-files-discovery.js +0 -91
- package/dist/core/discovery/index-files-discovery.js.map +0 -1
- package/dist/core/discovery/md-files-discovery.js +0 -82
- package/dist/core/discovery/md-files-discovery.js.map +0 -1
- package/dist/core/discovery/package-files-discovery.js +0 -14
- package/dist/core/discovery/package-files-discovery.js.map +0 -1
- package/dist/core/discovery/platform-discovery.js +0 -84
- package/dist/core/discovery/platform-discovery.js.map +0 -1
- package/dist/core/discovery/root-files-discovery.js +0 -2
- package/dist/core/discovery/root-files-discovery.js.map +0 -1
- package/dist/core/formula.js +0 -170
- package/dist/core/formula.js.map +0 -1
- package/dist/core/git-registry.js +0 -46
- package/dist/core/git-registry.js.map +0 -1
- package/dist/core/groundzero.js +0 -277
- package/dist/core/groundzero.js.map +0 -1
- package/dist/core/install/scenario.js +0 -11
- package/dist/core/install/scenario.js.map +0 -1
- package/dist/core/package-sync.js +0 -219
- package/dist/core/package-sync.js.map +0 -1
- package/dist/core/save/formula-file-generator.js +0 -167
- package/dist/core/save/formula-file-generator.js.map +0 -1
- package/dist/core/save/formula-saver.js +0 -52
- package/dist/core/save/formula-saver.js.map +0 -1
- package/dist/core/save/formula-yml-generator.js +0 -89
- package/dist/core/save/formula-yml-generator.js.map +0 -1
- package/dist/core/save/formula-yml-versioning.js +0 -108
- package/dist/core/save/formula-yml-versioning.js.map +0 -1
- package/dist/core/save/generic-file-sync.js +0 -38
- package/dist/core/save/generic-file-sync.js.map +0 -1
- package/dist/core/save/md-files-sync.js +0 -33
- package/dist/core/save/md-files-sync.js.map +0 -1
- package/dist/core/save/package-yml-versioning.js +0 -108
- package/dist/core/save/package-yml-versioning.js.map +0 -1
- package/dist/core/save/platform-sync.js +0 -95
- package/dist/core/save/platform-sync.js.map +0 -1
- package/dist/core/save/root-files-sync.js +0 -140
- package/dist/core/save/root-files-sync.js.map +0 -1
- package/dist/core/save/save-candidate-types.js +0 -2
- package/dist/core/save/save-candidate-types.js.map +0 -1
- package/dist/core/save/save-conflict-types.js +0 -2
- package/dist/core/save/save-conflict-types.js.map +0 -1
- package/dist/core/save/save-file-discovery.js +0 -5
- package/dist/core/save/save-file-discovery.js.map +0 -1
- package/dist/core/status-file-discovery.js +0 -175
- package/dist/core/status-file-discovery.js.map +0 -1
- package/dist/utils/discovery/file-processing.js +0 -156
- package/dist/utils/discovery/file-processing.js.map +0 -1
- package/dist/utils/discovery/formula-discovery.js +0 -211
- package/dist/utils/discovery/formula-discovery.js.map +0 -1
- package/dist/utils/discovery/platform-discovery.js +0 -2
- package/dist/utils/discovery/platform-discovery.js.map +0 -1
- package/dist/utils/formula-discovery.js +0 -102
- package/dist/utils/formula-discovery.js.map +0 -1
- package/dist/utils/formula-index-yml.js +0 -122
- package/dist/utils/formula-index-yml.js.map +0 -1
- package/dist/utils/formula-installation.js +0 -110
- package/dist/utils/formula-installation.js.map +0 -1
- package/dist/utils/formula-local-files.js +0 -38
- package/dist/utils/formula-local-files.js.map +0 -1
- package/dist/utils/formula-management.js +0 -191
- package/dist/utils/formula-management.js.map +0 -1
- package/dist/utils/formula-name.js +0 -97
- package/dist/utils/formula-name.js.map +0 -1
- package/dist/utils/formula-versioning.js +0 -109
- package/dist/utils/formula-versioning.js.map +0 -1
- package/dist/utils/formula-yml.js +0 -82
- package/dist/utils/formula-yml.js.map +0 -1
- package/dist/utils/git.js +0 -54
- package/dist/utils/git.js.map +0 -1
- package/dist/utils/id-based-discovery.js +0 -126
- package/dist/utils/id-based-discovery.js.map +0 -1
- package/dist/utils/id-based-installer.js +0 -249
- package/dist/utils/id-based-installer.js.map +0 -1
- package/dist/utils/index-yml-based-installer.js +0 -375
- package/dist/utils/index-yml-based-installer.js.map +0 -1
- package/dist/utils/index-yml.js +0 -124
- package/dist/utils/index-yml.js.map +0 -1
- package/dist/utils/md-frontmatter.js +0 -3
- package/dist/utils/md-frontmatter.js.map +0 -1
- package/dist/utils/package-link-yml.js +0 -92
- package/dist/utils/package-link-yml.js.map +0 -1
- package/dist/utils/platform-discovery.js +0 -2
- package/dist/utils/platform-discovery.js.map +0 -1
- package/dist/utils/platform-frontmatter-split.js +0 -15
- package/dist/utils/platform-frontmatter-split.js.map +0 -1
- package/dist/utils/timestamp-encoder.js +0 -13
- package/dist/utils/timestamp-encoder.js.map +0 -1
- package/dist/utils/wip-versioning.js +0 -24
- package/dist/utils/wip-versioning.js.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { dirname, join } from 'path';
|
|
2
|
+
import { FILE_PATTERNS } from '../../constants/index.js';
|
|
2
3
|
import { exists } from '../../utils/fs.js';
|
|
3
4
|
import { logger } from '../../utils/logger.js';
|
|
4
5
|
import { parsePackageYml } from '../../utils/package-yml.js';
|
|
5
6
|
import { getPackageIndexPath, readPackageIndex, writePackageIndex, sortMapping, pruneNestedDirectories } from '../../utils/package-index-yml.js';
|
|
6
7
|
import { buildIndexMappingForPackageFiles, loadOtherPackageIndexes } from '../../utils/index-based-installer.js';
|
|
7
|
-
import {
|
|
8
|
-
import { PLATFORM_DIRS } from '../../constants/index.js';
|
|
8
|
+
import { UNVERSIONED } from '../../constants/index.js';
|
|
9
9
|
import { parseUniversalPath } from '../../utils/platform-file.js';
|
|
10
10
|
import { mapUniversalToPlatform } from '../../utils/platform-mapper.js';
|
|
11
11
|
import { isPlatformId } from '../platforms.js';
|
|
@@ -59,13 +59,22 @@ function pruneStaleKeysByCurrentFiles(previous, currentFiles) {
|
|
|
59
59
|
return result;
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
|
-
* Merge new mapping updates with existing index
|
|
63
|
-
*
|
|
64
|
-
*
|
|
62
|
+
* Merge new mapping updates with existing index.
|
|
63
|
+
*
|
|
64
|
+
* @param previous - Previous index mapping
|
|
65
|
+
* @param updates - New mapping updates
|
|
66
|
+
* @param replaceExact - When true, replace values entirely for exact file keys instead of merging.
|
|
67
|
+
* This ensures the index reflects current state, not accumulated history.
|
|
65
68
|
*/
|
|
66
|
-
function mergeMappingsRespectingExisting(previous, updates) {
|
|
69
|
+
function mergeMappingsRespectingExisting(previous, updates, replaceExact = false) {
|
|
67
70
|
const merged = { ...previous };
|
|
68
71
|
for (const [key, newVals] of Object.entries(updates)) {
|
|
72
|
+
// For exact file keys (not directory keys), replace values when replaceExact is true
|
|
73
|
+
// This prevents stale paths from being preserved when files are re-indexed
|
|
74
|
+
if (replaceExact && !key.endsWith('/')) {
|
|
75
|
+
merged[key] = newVals.sort();
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
69
78
|
const prevVals = merged[key] || [];
|
|
70
79
|
// Union + de-dupe
|
|
71
80
|
const union = Array.from(new Set([...prevVals, ...newVals]));
|
|
@@ -134,17 +143,21 @@ function collapseFileEntriesToDirKeys(mapping) {
|
|
|
134
143
|
}
|
|
135
144
|
/**
|
|
136
145
|
* Build a mapping that preserves exact file keys for the provided packageFiles.
|
|
137
|
-
* For universal subdirs, maps to platform-specific installed paths
|
|
146
|
+
* For universal subdirs, maps to platform-specific installed paths that ACTUALLY EXIST.
|
|
138
147
|
* For platform-specific paths (with .platform suffix), only maps to that specific platform.
|
|
139
148
|
* For ai/ paths and other non-universal paths, keeps the value as the same path.
|
|
140
149
|
*
|
|
150
|
+
* Only includes workspace paths where the file actually exists - this ensures the index
|
|
151
|
+
* reflects reality rather than hypothetical future installations. Sync operations will
|
|
152
|
+
* expand the index as files are actually created.
|
|
153
|
+
*
|
|
141
154
|
* Filters files using the same logic as install/save: excludes root files, skippable paths,
|
|
142
155
|
* and non-allowed registry paths to match the index building behavior.
|
|
143
156
|
*
|
|
144
157
|
* Prunes redundant mappings: if platform-specific keys exist (e.g., setup.claude.md),
|
|
145
158
|
* their target files are excluded from the universal key (e.g., setup.md) to avoid duplication.
|
|
146
159
|
*/
|
|
147
|
-
function buildExactFileMapping(packageFiles, platforms) {
|
|
160
|
+
async function buildExactFileMapping(cwd, packageFiles, platforms) {
|
|
148
161
|
const mapping = {};
|
|
149
162
|
// Collect platform-specific targets per base universal key (e.g., commands/nestjs/setup.md)
|
|
150
163
|
// so we can prune duplicates from the universal key later.
|
|
@@ -154,6 +167,11 @@ function buildExactFileMapping(packageFiles, platforms) {
|
|
|
154
167
|
mapping[key] = Array.from(values).sort();
|
|
155
168
|
}
|
|
156
169
|
};
|
|
170
|
+
// Helper to check if a workspace path exists
|
|
171
|
+
const checkExists = async (relPath) => {
|
|
172
|
+
const absPath = join(cwd, relPath);
|
|
173
|
+
return await exists(absPath);
|
|
174
|
+
};
|
|
157
175
|
// First pass: record platform-specific target files keyed by base universal key
|
|
158
176
|
for (const file of packageFiles) {
|
|
159
177
|
const normalized = normalizeRegistryPath(file.path);
|
|
@@ -177,7 +195,7 @@ function buildExactFileMapping(packageFiles, platforms) {
|
|
|
177
195
|
}
|
|
178
196
|
}
|
|
179
197
|
}
|
|
180
|
-
// Second pass: build exact mappings
|
|
198
|
+
// Second pass: build exact mappings, only including paths that actually exist
|
|
181
199
|
for (const file of packageFiles) {
|
|
182
200
|
const normalized = normalizeRegistryPath(file.path);
|
|
183
201
|
if (isRootRegistryPath(normalized))
|
|
@@ -188,30 +206,30 @@ function buildExactFileMapping(packageFiles, platforms) {
|
|
|
188
206
|
continue;
|
|
189
207
|
const key = normalized.replace(/\\/g, '/');
|
|
190
208
|
const values = new Set();
|
|
191
|
-
if (key.startsWith(`${PLATFORM_DIRS.AI}/`)) {
|
|
192
|
-
// ai/ paths: keep as-is
|
|
193
|
-
values.add(key);
|
|
194
|
-
addTargets(key, values);
|
|
195
|
-
continue;
|
|
196
|
-
}
|
|
197
209
|
const parsed = parseUniversalPath(key);
|
|
198
210
|
if (parsed) {
|
|
199
211
|
if (parsed.platformSuffix && isPlatformId(parsed.platformSuffix)) {
|
|
200
|
-
// Platform-specific registry key → only that platform target
|
|
212
|
+
// Platform-specific registry key → only that platform target if it exists
|
|
201
213
|
try {
|
|
202
214
|
const { absFile } = mapUniversalToPlatform(parsed.platformSuffix, parsed.universalSubdir, parsed.relPath);
|
|
203
|
-
|
|
215
|
+
const relPath = absFile.replace(/\\/g, '/');
|
|
216
|
+
if (await checkExists(relPath)) {
|
|
217
|
+
values.add(relPath);
|
|
218
|
+
}
|
|
204
219
|
}
|
|
205
220
|
catch {
|
|
206
221
|
// Ignore unsupported subdir/platform combinations
|
|
207
222
|
}
|
|
208
223
|
}
|
|
209
224
|
else {
|
|
210
|
-
// Universal registry key →
|
|
225
|
+
// Universal registry key → only include platform paths that actually exist
|
|
211
226
|
for (const platform of platforms) {
|
|
212
227
|
try {
|
|
213
228
|
const { absFile } = mapUniversalToPlatform(platform, parsed.universalSubdir, parsed.relPath);
|
|
214
|
-
|
|
229
|
+
const relPath = absFile.replace(/\\/g, '/');
|
|
230
|
+
if (await checkExists(relPath)) {
|
|
231
|
+
values.add(relPath);
|
|
232
|
+
}
|
|
215
233
|
}
|
|
216
234
|
catch {
|
|
217
235
|
// Ignore unsupported platforms
|
|
@@ -228,23 +246,32 @@ function buildExactFileMapping(packageFiles, platforms) {
|
|
|
228
246
|
}
|
|
229
247
|
}
|
|
230
248
|
else {
|
|
231
|
-
// Fallback: keep value as the same path
|
|
232
|
-
|
|
249
|
+
// Fallback: keep value as the same path if it exists
|
|
250
|
+
if (await checkExists(key)) {
|
|
251
|
+
values.add(key);
|
|
252
|
+
}
|
|
233
253
|
}
|
|
234
254
|
addTargets(key, values);
|
|
235
255
|
}
|
|
236
256
|
return mapping;
|
|
237
257
|
}
|
|
238
|
-
export async function buildMappingAndWriteIndex(cwd,
|
|
258
|
+
export async function buildMappingAndWriteIndex(cwd, packageContext, packageFiles, platforms, options = {}) {
|
|
259
|
+
const packageName = packageContext.name;
|
|
260
|
+
const packageLocation = packageContext.location;
|
|
239
261
|
try {
|
|
262
|
+
// Filter to index-eligible files only (excludes package.yml, package index file, etc.)
|
|
263
|
+
// These are manifest/metadata files that are NOT synced to workspace locations
|
|
264
|
+
const indexEligibleFiles = packageFiles.filter(f => {
|
|
265
|
+
const normalized = normalizeRegistryPath(f.path);
|
|
266
|
+
return isAllowedRegistryPath(normalized) && !isSkippableRegistryPath(normalized);
|
|
267
|
+
});
|
|
240
268
|
// Read existing index and other indexes for conflict context
|
|
241
|
-
const previousIndex = await readPackageIndex(cwd, packageName);
|
|
269
|
+
const previousIndex = await readPackageIndex(cwd, packageName, packageLocation);
|
|
242
270
|
const otherIndexes = await loadOtherPackageIndexes(cwd, packageName);
|
|
243
271
|
// Resolve version (prefer previous index; otherwise read from package.yml)
|
|
244
|
-
let version = options.versionOverride || previousIndex?.workspace?.version ||
|
|
272
|
+
let version = options.versionOverride || previousIndex?.workspace?.version || undefined;
|
|
245
273
|
if (!version) {
|
|
246
|
-
const
|
|
247
|
-
const packageYmlPath = join(packageDir, 'package.yml');
|
|
274
|
+
const packageYmlPath = packageContext.packageYmlPath;
|
|
248
275
|
if (await exists(packageYmlPath)) {
|
|
249
276
|
try {
|
|
250
277
|
const packageYml = await parsePackageYml(packageYmlPath);
|
|
@@ -257,26 +284,29 @@ export async function buildMappingAndWriteIndex(cwd, packageName, packageFiles,
|
|
|
257
284
|
}
|
|
258
285
|
}
|
|
259
286
|
if (!version) {
|
|
260
|
-
|
|
261
|
-
|
|
287
|
+
version = UNVERSIONED;
|
|
288
|
+
logger.debug(`No version found for ${packageName}, defaulting to ${UNVERSIONED} for index update`);
|
|
262
289
|
}
|
|
263
290
|
// Build mapping using same flow as install
|
|
264
|
-
let newMapping = await buildIndexMappingForPackageFiles(cwd,
|
|
291
|
+
let newMapping = await buildIndexMappingForPackageFiles(cwd, indexEligibleFiles, platforms, previousIndex, otherIndexes);
|
|
265
292
|
// Optionally transform mapping:
|
|
266
293
|
// - If preserveExactPaths is true: force exact file keys and strip dir keys
|
|
267
294
|
// - Otherwise: preserve the planner's dir/file decisions (already respects workspace occupancy)
|
|
268
295
|
if (options.preserveExactPaths) {
|
|
269
|
-
newMapping = buildExactFileMapping(
|
|
296
|
+
newMapping = await buildExactFileMapping(cwd, indexEligibleFiles, platforms);
|
|
270
297
|
}
|
|
271
298
|
// Prune stale keys from previous index based on current files in .openpackage
|
|
272
299
|
// This ensures keys are updated when files/directories are moved or renamed
|
|
273
|
-
const currentPaths =
|
|
300
|
+
const currentPaths = indexEligibleFiles.map(f => f.path);
|
|
274
301
|
const prunedPreviousFiles = pruneStaleKeysByCurrentFiles(previousIndex?.files || {}, currentPaths);
|
|
275
302
|
const previousFilesWithoutDirKeys = Object.fromEntries(Object.entries(prunedPreviousFiles).filter(([key]) => !key.endsWith('/')));
|
|
276
|
-
// Merge and write index
|
|
277
|
-
|
|
303
|
+
// Merge and write index
|
|
304
|
+
// When preserveExactPaths is true, replace values entirely to reflect current state
|
|
305
|
+
// (prevents stale platform paths from being preserved)
|
|
306
|
+
const mergedFiles = mergeMappingsRespectingExisting(previousFilesWithoutDirKeys, newMapping, options.preserveExactPaths ?? false);
|
|
307
|
+
const canonicalIndexPath = getPackageIndexPath(cwd, packageName, packageLocation);
|
|
278
308
|
const indexRecord = {
|
|
279
|
-
path:
|
|
309
|
+
path: canonicalIndexPath,
|
|
280
310
|
packageName,
|
|
281
311
|
workspace: {
|
|
282
312
|
hash: createWorkspaceHash(cwd),
|
|
@@ -285,10 +315,10 @@ export async function buildMappingAndWriteIndex(cwd, packageName, packageFiles,
|
|
|
285
315
|
files: mergedFiles
|
|
286
316
|
};
|
|
287
317
|
await writePackageIndex(indexRecord);
|
|
288
|
-
logger.debug(`Updated
|
|
318
|
+
logger.debug(`Updated ${FILE_PATTERNS.PACKAGE_INDEX_YML} for ${packageName}@${version}`);
|
|
289
319
|
}
|
|
290
320
|
catch (error) {
|
|
291
|
-
logger.warn(`Failed to update
|
|
321
|
+
logger.warn(`Failed to update ${FILE_PATTERNS.PACKAGE_INDEX_YML} for ${packageName}: ${error}`);
|
|
292
322
|
}
|
|
293
323
|
}
|
|
294
324
|
//# sourceMappingURL=package-index-updater.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-index-updater.js","sourceRoot":"","sources":["../../../src/core/add/package-index-updater.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"package-index-updater.js","sourceRoot":"","sources":["../../../src/core/add/package-index-updater.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { join, resolve } from 'path';
|
|
2
|
+
import { getPlatformDefinition } from '../platforms.js';
|
|
3
|
+
import { mapPlatformFileToUniversal } from '../../utils/platform-mapper.js';
|
|
4
|
+
import { suffixFileBasename, suffixFirstContentDir } from '../../utils/platform-specific-paths.js';
|
|
5
|
+
import { isWithinDirectory } from '../../utils/path-normalization.js';
|
|
6
|
+
import { isPlatformRootFile } from '../../utils/platform-utils.js';
|
|
7
|
+
export function applyPlatformSpecificPaths(cwd, entries, resolvedInputPath, options) {
|
|
8
|
+
const normalizedInput = resolve(resolvedInputPath);
|
|
9
|
+
for (const entry of entries) {
|
|
10
|
+
const { registryPath, sourcePath } = entry;
|
|
11
|
+
const fileName = registryPath.split('/').pop();
|
|
12
|
+
if (fileName && isPlatformRootFile(fileName)) {
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
const mapping = mapPlatformFileToUniversal(sourcePath);
|
|
16
|
+
if (!mapping) {
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
const definition = getPlatformDefinition(mapping.platform);
|
|
20
|
+
const subdirDef = definition.subdirs[mapping.subdir];
|
|
21
|
+
if (!subdirDef?.path) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
const subdirAbs = resolve(join(cwd, definition.rootDir, subdirDef.path));
|
|
25
|
+
const sourceAbs = resolve(sourcePath);
|
|
26
|
+
const withinSubdir = sourceAbs === subdirAbs || isWithinDirectory(subdirAbs, sourceAbs);
|
|
27
|
+
if (!withinSubdir) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
if (options.inputIsFile && sourceAbs === normalizedInput) {
|
|
31
|
+
entry.registryPath = suffixFileBasename(registryPath, mapping.platform);
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (!options.inputIsDirectory) {
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (normalizedInput === subdirAbs) {
|
|
38
|
+
entry.registryPath = suffixFileBasename(registryPath, mapping.platform);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (isWithinDirectory(normalizedInput, sourceAbs)) {
|
|
42
|
+
entry.registryPath = suffixFirstContentDir(registryPath, mapping.platform);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return entries;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=platform-path-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-path-transformer.js","sourceRoot":"","sources":["../../../src/core/add/platform-path-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAQnE,MAAM,UAAU,0BAA0B,CACxC,GAAW,EACX,OAAsB,EACtB,iBAAyB,EACzB,OAAqC;IAErC,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEnD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAE3C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/C,IAAI,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,SAAS,KAAK,SAAS,IAAI,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;YACzD,KAAK,CAAC,YAAY,GAAG,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,YAAY,GAAG,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QAED,IAAI,iBAAiB,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,YAAY,GAAG,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { relative } from 'path';
|
|
2
|
+
import { DIR_PATTERNS } from '../../constants/index.js';
|
|
3
|
+
import { isDirectory, isFile, walkFiles } from '../../utils/fs.js';
|
|
4
|
+
import { normalizePathForProcessing } from '../../utils/path-normalization.js';
|
|
5
|
+
import { mapPlatformFileToUniversal } from '../../utils/platform-mapper.js';
|
|
6
|
+
import { isPlatformRootFile } from '../../utils/platform-utils.js';
|
|
7
|
+
export async function collectSourceEntries(resolvedPath, cwd) {
|
|
8
|
+
const entries = [];
|
|
9
|
+
if (await isDirectory(resolvedPath)) {
|
|
10
|
+
for await (const filePath of walkFiles(resolvedPath)) {
|
|
11
|
+
const entry = deriveSourceEntry(filePath, cwd);
|
|
12
|
+
if (!entry) {
|
|
13
|
+
throw new Error(`Unsupported file inside directory: ${relative(cwd, filePath)}`);
|
|
14
|
+
}
|
|
15
|
+
entries.push(entry);
|
|
16
|
+
}
|
|
17
|
+
return entries;
|
|
18
|
+
}
|
|
19
|
+
if (await isFile(resolvedPath)) {
|
|
20
|
+
const entry = deriveSourceEntry(resolvedPath, cwd);
|
|
21
|
+
if (!entry) {
|
|
22
|
+
throw new Error(`Unsupported file: ${relative(cwd, resolvedPath)}`);
|
|
23
|
+
}
|
|
24
|
+
entries.push(entry);
|
|
25
|
+
return entries;
|
|
26
|
+
}
|
|
27
|
+
throw new Error(`Unsupported path type: ${resolvedPath}`);
|
|
28
|
+
}
|
|
29
|
+
function deriveSourceEntry(absFilePath, cwd) {
|
|
30
|
+
const relativePath = relative(cwd, absFilePath);
|
|
31
|
+
const normalizedRelPath = normalizePathForProcessing(relativePath);
|
|
32
|
+
// Check if this is a platform-specific file (e.g., .cursor/commands/test.md)
|
|
33
|
+
const mapping = mapPlatformFileToUniversal(absFilePath);
|
|
34
|
+
if (mapping) {
|
|
35
|
+
// Universal content: prefix with .openpackage/
|
|
36
|
+
return {
|
|
37
|
+
sourcePath: absFilePath,
|
|
38
|
+
registryPath: [DIR_PATTERNS.OPENPACKAGE, mapping.subdir, mapping.relPath].filter(Boolean).join('/')
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
// Check if this is a platform root file (e.g., AGENTS.md, CLAUDE.md)
|
|
42
|
+
const fileName = normalizedRelPath.split('/').pop();
|
|
43
|
+
if (fileName && isPlatformRootFile(fileName) && !normalizedRelPath.includes('/')) {
|
|
44
|
+
// Root files: no prefix, stored at package root
|
|
45
|
+
return {
|
|
46
|
+
sourcePath: absFilePath,
|
|
47
|
+
registryPath: fileName
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
// All other files: root-level content, no .openpackage/ prefix
|
|
51
|
+
// Stored at package root, outside .openpackage/
|
|
52
|
+
return {
|
|
53
|
+
sourcePath: absFilePath,
|
|
54
|
+
registryPath: normalizedRelPath
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=source-collector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-collector.js","sourceRoot":"","sources":["../../../src/core/add/source-collector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAOnE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,YAAoB,EAAE,GAAW;IAC1E,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,IAAI,MAAM,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,iBAAiB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB,EAAE,GAAW;IACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAEnE,6EAA6E;IAC7E,MAAM,OAAO,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,OAAO,EAAE,CAAC;QACZ,+CAA+C;QAC/C,OAAO;YACL,UAAU,EAAE,WAAW;YACvB,YAAY,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SACpG,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACpD,IAAI,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjF,gDAAgD;QAChD,OAAO;YACL,UAAU,EAAE,WAAW;YACvB,YAAY,EAAE,QAAQ;SACvB,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,gDAAgD;IAChD,OAAO;QACL,UAAU,EAAE,WAAW;QACvB,YAAY,EAAE,iBAAiB;KAChC,CAAC;AACJ,CAAC"}
|
package/dist/core/api-keys.js
CHANGED
|
@@ -4,12 +4,16 @@ import { createHttpClient } from '../utils/http-client.js';
|
|
|
4
4
|
* Fetch metadata about the currently authenticated API key.
|
|
5
5
|
*/
|
|
6
6
|
export async function getCurrentApiKeyInfo(authOptions = {}) {
|
|
7
|
-
const
|
|
7
|
+
const apiKey = await authManager.getApiKey(authOptions);
|
|
8
|
+
if (!apiKey) {
|
|
9
|
+
throw new Error('No API key found. Configure a profile API key or use --api-key.');
|
|
10
|
+
}
|
|
8
11
|
const httpClient = await createHttpClient(authOptions);
|
|
9
12
|
return await httpClient.get('/api-keys/me', {
|
|
10
13
|
headers: {
|
|
11
14
|
'X-API-Key': apiKey
|
|
12
|
-
}
|
|
15
|
+
},
|
|
16
|
+
skipAuth: true
|
|
13
17
|
});
|
|
14
18
|
}
|
|
15
19
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../../src/core/api-keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAc3D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,cAA2B,EAAE;IAE7B,MAAM,
|
|
1
|
+
{"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../../src/core/api-keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAc3D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,cAA2B,EAAE;IAE7B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAEvD,OAAO,MAAM,UAAU,CAAC,GAAG,CAAa,cAAc,EAAE;QACtD,OAAO,EAAE;YACP,WAAW,EAAE,MAAM;SACpB;QACD,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,cAA2B,EAAE;IACpE,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAE3D,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClC,CAAC"}
|
package/dist/core/auth.js
CHANGED
|
@@ -17,8 +17,6 @@ class AuthManager {
|
|
|
17
17
|
*/
|
|
18
18
|
async getApiKey(options = {}) {
|
|
19
19
|
try {
|
|
20
|
-
// 1. Command line API key override
|
|
21
|
-
// Check if apiKey was explicitly provided (not undefined)
|
|
22
20
|
if (options.apiKey !== undefined) {
|
|
23
21
|
if (!options.apiKey || options.apiKey.trim() === '') {
|
|
24
22
|
throw new ConfigError('API key provided via --api-key is empty. Please provide a valid API key.');
|
|
@@ -26,16 +24,14 @@ class AuthManager {
|
|
|
26
24
|
logger.debug('Using API key from command line options');
|
|
27
25
|
return options.apiKey;
|
|
28
26
|
}
|
|
29
|
-
// 2. Profile-based authentication
|
|
30
27
|
const profileName = options.profile || process.env.OPENPACKAGEPROFILE || 'default';
|
|
31
|
-
const isExplicitProfile = !!options.profile;
|
|
28
|
+
const isExplicitProfile = !!options.profile;
|
|
32
29
|
logger.debug(`Using profile: ${profileName}${isExplicitProfile ? ' (explicit)' : ''}`);
|
|
33
30
|
const profile = await profileManager.getProfile(profileName);
|
|
34
31
|
if (profile?.credentials?.api_key) {
|
|
35
32
|
logger.debug(`Using API key from profile: ${profileName}`);
|
|
36
33
|
return profile.credentials.api_key;
|
|
37
34
|
}
|
|
38
|
-
// 3. If explicit profile was requested but doesn't exist or has no credentials, error
|
|
39
35
|
if (isExplicitProfile) {
|
|
40
36
|
if (!profile) {
|
|
41
37
|
throw new ConfigError(`Profile '${profileName}' not found. Please configure it with "opkg configure --profile ${profileName}"`);
|
|
@@ -44,7 +40,6 @@ class AuthManager {
|
|
|
44
40
|
throw new ConfigError(`Profile '${profileName}' has no API key configured. Please configure it with "opkg configure --profile ${profileName}"`);
|
|
45
41
|
}
|
|
46
42
|
}
|
|
47
|
-
// 4. Try default profile if not already tried (only for non-explicit profiles)
|
|
48
43
|
if (profileName !== 'default') {
|
|
49
44
|
const defaultProfile = await profileManager.getProfile('default');
|
|
50
45
|
if (defaultProfile?.credentials?.api_key) {
|
|
@@ -58,69 +53,59 @@ class AuthManager {
|
|
|
58
53
|
catch (error) {
|
|
59
54
|
logger.error('Failed to get API key', { error });
|
|
60
55
|
if (error instanceof ConfigError) {
|
|
61
|
-
throw error;
|
|
56
|
+
throw error;
|
|
62
57
|
}
|
|
63
58
|
throw new ConfigError(`Failed to get API key: ${error}`);
|
|
64
59
|
}
|
|
65
60
|
}
|
|
66
|
-
/**
|
|
67
|
-
* Get registry URL
|
|
68
|
-
*/
|
|
69
61
|
getRegistryUrl() {
|
|
70
|
-
const registryUrl =
|
|
71
|
-
// const registryUrl =
|
|
62
|
+
const registryUrl = 'https://backend.openpackage.dev/v1';
|
|
63
|
+
// const registryUrl = 'http://localhost:3000/v1'
|
|
72
64
|
logger.debug(`Using registry URL: ${registryUrl}`);
|
|
73
65
|
return registryUrl;
|
|
74
66
|
}
|
|
75
|
-
/**
|
|
76
|
-
* Validate that required authentication is available
|
|
77
|
-
*/
|
|
78
67
|
async validateAuth(options = {}) {
|
|
79
|
-
const apiKey = await this.getApiKey(options);
|
|
80
68
|
const registryUrl = this.getRegistryUrl();
|
|
69
|
+
const apiKey = await this.getApiKey(options);
|
|
81
70
|
if (!apiKey) {
|
|
82
|
-
throw new ConfigError('No
|
|
71
|
+
throw new ConfigError('No authentication found. Run "opkg login" to configure a profile API key.');
|
|
83
72
|
}
|
|
84
|
-
return {
|
|
73
|
+
return { registryUrl };
|
|
85
74
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Get current profile name being used
|
|
88
|
-
* Returns 'api-key' when API key is provided directly via command line
|
|
89
|
-
*/
|
|
90
75
|
getCurrentProfile(options = {}) {
|
|
91
|
-
// If API key is provided directly, it takes precedence over profile
|
|
92
76
|
if (options.apiKey !== undefined && options.apiKey) {
|
|
93
77
|
return '<api-key>';
|
|
94
78
|
}
|
|
95
79
|
return options.profile || process.env.OPENPACKAGEPROFILE || 'default';
|
|
96
80
|
}
|
|
97
|
-
/**
|
|
98
|
-
* Check if authentication is configured
|
|
99
|
-
*/
|
|
100
81
|
async isAuthenticated(options = {}) {
|
|
101
82
|
try {
|
|
102
|
-
const apiKey = await this.getApiKey(options);
|
|
103
83
|
const registryUrl = this.getRegistryUrl();
|
|
104
|
-
|
|
84
|
+
if (!registryUrl) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
const apiKey = await this.getApiKey(options);
|
|
88
|
+
return !!apiKey;
|
|
105
89
|
}
|
|
106
90
|
catch (error) {
|
|
107
91
|
logger.debug('Authentication check failed', { error });
|
|
108
92
|
return false;
|
|
109
93
|
}
|
|
110
94
|
}
|
|
111
|
-
/**
|
|
112
|
-
* Get authentication headers for HTTP requests
|
|
113
|
-
*/
|
|
114
95
|
async getAuthHeaders(options = {}) {
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
'
|
|
118
|
-
|
|
119
|
-
|
|
96
|
+
const registryUrl = this.getRegistryUrl();
|
|
97
|
+
if (!registryUrl) {
|
|
98
|
+
throw new ConfigError('Registry URL is not configured');
|
|
99
|
+
}
|
|
100
|
+
const apiKey = await this.getApiKey(options);
|
|
101
|
+
if (apiKey) {
|
|
102
|
+
return {
|
|
103
|
+
'X-API-Key': apiKey,
|
|
104
|
+
'User-Agent': `openpackage-cli/${getVersion()}`,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
throw new ConfigError('No authentication found. Run "opkg login" to configure a profile API key.');
|
|
120
108
|
}
|
|
121
|
-
/**
|
|
122
|
-
* Get authentication info for debugging/logging (without exposing sensitive data)
|
|
123
|
-
*/
|
|
124
109
|
async getAuthInfo(options = {}) {
|
|
125
110
|
const profile = this.getCurrentProfile(options);
|
|
126
111
|
const apiKey = await this.getApiKey(options);
|
|
@@ -136,7 +121,7 @@ class AuthManager {
|
|
|
136
121
|
profile,
|
|
137
122
|
hasApiKey: !!apiKey,
|
|
138
123
|
hasRegistryUrl: !!registryUrl,
|
|
139
|
-
source
|
|
124
|
+
source,
|
|
140
125
|
};
|
|
141
126
|
}
|
|
142
127
|
}
|
package/dist/core/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;GAGG;AAGH,MAAM,WAAW;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/core/config.js
CHANGED
|
@@ -9,8 +9,9 @@ import { getOpenPackageDirectories } from './directory.js';
|
|
|
9
9
|
const CONFIG_FILE_NAME = 'config.json';
|
|
10
10
|
// Default configuration values
|
|
11
11
|
const DEFAULT_CONFIG = {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
defaults: {
|
|
13
|
+
license: 'MIT'
|
|
14
|
+
}
|
|
14
15
|
};
|
|
15
16
|
class ConfigManager {
|
|
16
17
|
constructor() {
|
|
@@ -29,7 +30,14 @@ class ConfigManager {
|
|
|
29
30
|
if (await exists(this.configPath)) {
|
|
30
31
|
logger.debug(`Loading config from: ${this.configPath}`);
|
|
31
32
|
const fileConfig = await readJsonFile(this.configPath);
|
|
32
|
-
this.config = {
|
|
33
|
+
this.config = {
|
|
34
|
+
...DEFAULT_CONFIG,
|
|
35
|
+
...fileConfig,
|
|
36
|
+
defaults: {
|
|
37
|
+
...DEFAULT_CONFIG.defaults,
|
|
38
|
+
...(fileConfig.defaults ?? {})
|
|
39
|
+
}
|
|
40
|
+
};
|
|
33
41
|
}
|
|
34
42
|
else {
|
|
35
43
|
logger.debug('Config file not found, using defaults');
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D;;GAEG;AAEH,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,+BAA+B;AAC/B,MAAM,cAAc,GAAsB;IACxC,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|