@uapkg/cli 1.3.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/CompositionRoot.d.ts +36 -33
- package/dist/app/CompositionRoot.d.ts.map +1 -1
- package/dist/app/CompositionRoot.js +91 -109
- package/dist/app/CompositionRoot.js.map +1 -1
- package/dist/app/UAPKGApplication.d.ts +6 -3
- package/dist/app/UAPKGApplication.d.ts.map +1 -1
- package/dist/app/UAPKGApplication.js +155 -169
- package/dist/app/UAPKGApplication.js.map +1 -1
- package/dist/build/BuildMetadata.d.ts +9 -6
- package/dist/build/BuildMetadata.d.ts.map +1 -1
- package/dist/build/BuildMetadata.js +2 -2
- package/dist/cli/UAPKGCommandLine.d.ts +259 -257
- package/dist/cli/UAPKGCommandLine.d.ts.map +1 -1
- package/dist/cli/UAPKGCommandLine.js +248 -239
- package/dist/cli/UAPKGCommandLine.js.map +1 -1
- package/dist/cli/parseCommandLine.d.ts +5 -1
- package/dist/cli/parseCommandLine.d.ts.map +1 -1
- package/dist/cli/parseCommandLine.js +8 -3
- package/dist/cli/parseCommandLine.js.map +1 -1
- package/dist/cli/parsing/UAPKGCommandLineParser.d.ts +9 -6
- package/dist/cli/parsing/UAPKGCommandLineParser.d.ts.map +1 -1
- package/dist/cli/parsing/UAPKGCommandLineParser.js +23 -31
- package/dist/cli/parsing/UAPKGCommandLineParser.js.map +1 -1
- package/dist/cli/parsing/UAPKGParserRegistry.d.ts +12 -9
- package/dist/cli/parsing/UAPKGParserRegistry.d.ts.map +1 -1
- package/dist/cli/parsing/UAPKGParserRegistry.js +53 -50
- package/dist/cli/parsing/UAPKGParserRegistry.js.map +1 -1
- package/dist/cli/parsing/contracts/UAPKGCommandModule.d.ts +9 -6
- package/dist/cli/parsing/contracts/UAPKGCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/contracts/UAPKGCommandModule.js +1 -2
- package/dist/cli/parsing/modules/AddCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/AddCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/AddCommandModule.js +49 -36
- package/dist/cli/parsing/modules/AddCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/ConfigCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/ConfigCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/ConfigCommandModule.js +87 -83
- package/dist/cli/parsing/modules/ConfigCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/InitCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/InitCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/InitCommandModule.js +25 -22
- package/dist/cli/parsing/modules/InitCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/InstallCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/InstallCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/InstallCommandModule.js +36 -28
- package/dist/cli/parsing/modules/InstallCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/LifecycleCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/LifecycleCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/LifecycleCommandModule.js +78 -50
- package/dist/cli/parsing/modules/LifecycleCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/ListCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/ListCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/ListCommandModule.js +26 -15
- package/dist/cli/parsing/modules/ListCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/LoginCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/LoginCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/LoginCommandModule.js +34 -33
- package/dist/cli/parsing/modules/LoginCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/LogoutCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/LogoutCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/LogoutCommandModule.js +30 -28
- package/dist/cli/parsing/modules/LogoutCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/OutdatedCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/OutdatedCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/OutdatedCommandModule.js +21 -16
- package/dist/cli/parsing/modules/OutdatedCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/PackCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/PackCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/PackCommandModule.js +30 -28
- package/dist/cli/parsing/modules/PackCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/ProjectGetNameCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/ProjectGetNameCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js +14 -11
- package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/PublishCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/PublishCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/PublishCommandModule.js +63 -47
- package/dist/cli/parsing/modules/PublishCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/RegistryCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/RegistryCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/RegistryCommandModule.js +117 -120
- package/dist/cli/parsing/modules/RegistryCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/RemoveCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/RemoveCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/RemoveCommandModule.js +25 -14
- package/dist/cli/parsing/modules/RemoveCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/RequestsCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/RequestsCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/RequestsCommandModule.js +56 -60
- package/dist/cli/parsing/modules/RequestsCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/UpdateCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/UpdateCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/UpdateCommandModule.js +38 -25
- package/dist/cli/parsing/modules/UpdateCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/WhoamiCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/WhoamiCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/WhoamiCommandModule.js +30 -28
- package/dist/cli/parsing/modules/WhoamiCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/WhyCommandModule.d.ts +8 -5
- package/dist/cli/parsing/modules/WhyCommandModule.d.ts.map +1 -1
- package/dist/cli/parsing/modules/WhyCommandModule.js +25 -14
- package/dist/cli/parsing/modules/WhyCommandModule.js.map +1 -1
- package/dist/cli/parsing/modules/sharedOptions.d.ts +8 -5
- package/dist/cli/parsing/modules/sharedOptions.d.ts.map +1 -1
- package/dist/cli/parsing/modules/sharedOptions.js +18 -23
- package/dist/cli/parsing/modules/sharedOptions.js.map +1 -1
- package/dist/cli/runUAPKGCLI.d.ts +4 -1
- package/dist/cli/runUAPKGCLI.d.ts.map +1 -1
- package/dist/cli/runUAPKGCLI.js +10 -5
- package/dist/cli/runUAPKGCLI.js.map +1 -1
- package/dist/cli-bootstrap.d.ts +1 -2
- package/dist/cli-bootstrap.js +15 -12
- package/dist/cli-bootstrap.js.map +1 -1
- package/dist/commands/AddCommand.d.ts +19 -16
- package/dist/commands/AddCommand.d.ts.map +1 -1
- package/dist/commands/AddCommand.js +49 -53
- package/dist/commands/AddCommand.js.map +1 -1
- package/dist/commands/Command.d.ts +5 -2
- package/dist/commands/Command.d.ts.map +1 -1
- package/dist/commands/Command.js +1 -2
- package/dist/commands/ConfigCommand.d.ts +28 -25
- package/dist/commands/ConfigCommand.d.ts.map +1 -1
- package/dist/commands/ConfigCommand.js +165 -186
- package/dist/commands/ConfigCommand.js.map +1 -1
- package/dist/commands/InitCommand.d.ts +19 -16
- package/dist/commands/InitCommand.d.ts.map +1 -1
- package/dist/commands/InitCommand.js +65 -60
- package/dist/commands/InitCommand.js.map +1 -1
- package/dist/commands/InstallCommand.d.ts +16 -13
- package/dist/commands/InstallCommand.d.ts.map +1 -1
- package/dist/commands/InstallCommand.js +118 -110
- package/dist/commands/InstallCommand.js.map +1 -1
- package/dist/commands/ListCommand.d.ts +13 -10
- package/dist/commands/ListCommand.d.ts.map +1 -1
- package/dist/commands/ListCommand.js +76 -81
- package/dist/commands/ListCommand.js.map +1 -1
- package/dist/commands/LoginCommand.d.ts +17 -14
- package/dist/commands/LoginCommand.d.ts.map +1 -1
- package/dist/commands/LoginCommand.js +66 -72
- package/dist/commands/LoginCommand.js.map +1 -1
- package/dist/commands/LogoutCommand.d.ts +15 -12
- package/dist/commands/LogoutCommand.d.ts.map +1 -1
- package/dist/commands/LogoutCommand.js +36 -37
- package/dist/commands/LogoutCommand.js.map +1 -1
- package/dist/commands/OutdatedCommand.d.ts +12 -9
- package/dist/commands/OutdatedCommand.d.ts.map +1 -1
- package/dist/commands/OutdatedCommand.js +41 -40
- package/dist/commands/OutdatedCommand.js.map +1 -1
- package/dist/commands/PackCommand.d.ts +13 -10
- package/dist/commands/PackCommand.d.ts.map +1 -1
- package/dist/commands/PackCommand.js +26 -21
- package/dist/commands/PackCommand.js.map +1 -1
- package/dist/commands/PackageLifecycleCommand.d.ts +23 -19
- package/dist/commands/PackageLifecycleCommand.d.ts.map +1 -1
- package/dist/commands/PackageLifecycleCommand.js +144 -138
- package/dist/commands/PackageLifecycleCommand.js.map +1 -1
- package/dist/commands/PostinstallCandidateBuilder.d.ts +11 -8
- package/dist/commands/PostinstallCandidateBuilder.d.ts.map +1 -1
- package/dist/commands/PostinstallCandidateBuilder.js +42 -42
- package/dist/commands/PostinstallCandidateBuilder.js.map +1 -1
- package/dist/commands/ProjectGetNameCommand.d.ts +10 -7
- package/dist/commands/ProjectGetNameCommand.d.ts.map +1 -1
- package/dist/commands/ProjectGetNameCommand.js +25 -25
- package/dist/commands/ProjectGetNameCommand.js.map +1 -1
- package/dist/commands/PublishCommand.d.ts +29 -23
- package/dist/commands/PublishCommand.d.ts.map +1 -1
- package/dist/commands/PublishCommand.js +243 -254
- package/dist/commands/PublishCommand.js.map +1 -1
- package/dist/commands/RegistryCommand.d.ts +38 -35
- package/dist/commands/RegistryCommand.d.ts.map +1 -1
- package/dist/commands/RegistryCommand.js +195 -223
- package/dist/commands/RegistryCommand.js.map +1 -1
- package/dist/commands/RemoveCommand.d.ts +14 -11
- package/dist/commands/RemoveCommand.d.ts.map +1 -1
- package/dist/commands/RemoveCommand.js +47 -54
- package/dist/commands/RemoveCommand.js.map +1 -1
- package/dist/commands/RequestsCommand.d.ts +21 -18
- package/dist/commands/RequestsCommand.d.ts.map +1 -1
- package/dist/commands/RequestsCommand.js +82 -95
- package/dist/commands/RequestsCommand.js.map +1 -1
- package/dist/commands/UpdateCommand.d.ts +29 -26
- package/dist/commands/UpdateCommand.d.ts.map +1 -1
- package/dist/commands/UpdateCommand.js +111 -111
- package/dist/commands/UpdateCommand.js.map +1 -1
- package/dist/commands/WhoamiCommand.d.ts +30 -27
- package/dist/commands/WhoamiCommand.d.ts.map +1 -1
- package/dist/commands/WhoamiCommand.js +63 -72
- package/dist/commands/WhoamiCommand.js.map +1 -1
- package/dist/commands/WhyCommand.d.ts +13 -10
- package/dist/commands/WhyCommand.d.ts.map +1 -1
- package/dist/commands/WhyCommand.js +45 -44
- package/dist/commands/WhyCommand.js.map +1 -1
- package/dist/commands/add/DependencyAddResolver.d.ts +14 -11
- package/dist/commands/add/DependencyAddResolver.d.ts.map +1 -1
- package/dist/commands/add/DependencyAddResolver.js +36 -36
- package/dist/commands/add/DependencyAddResolver.js.map +1 -1
- package/dist/control-plane/AccountManager.d.ts +96 -94
- package/dist/control-plane/AccountManager.d.ts.map +1 -1
- package/dist/control-plane/AccountManager.js +775 -967
- package/dist/control-plane/AccountManager.js.map +1 -1
- package/dist/control-plane/ArtifactObserver.d.ts +19 -16
- package/dist/control-plane/ArtifactObserver.d.ts.map +1 -1
- package/dist/control-plane/ArtifactObserver.js +73 -59
- package/dist/control-plane/ArtifactObserver.js.map +1 -1
- package/dist/control-plane/AuthMetadataStore.d.ts +16 -13
- package/dist/control-plane/AuthMetadataStore.d.ts.map +1 -1
- package/dist/control-plane/AuthMetadataStore.js +111 -113
- package/dist/control-plane/AuthMetadataStore.js.map +1 -1
- package/dist/control-plane/AuthStoragePaths.d.ts +7 -4
- package/dist/control-plane/AuthStoragePaths.d.ts.map +1 -1
- package/dist/control-plane/AuthStoragePaths.js +19 -14
- package/dist/control-plane/AuthStoragePaths.js.map +1 -1
- package/dist/control-plane/AuthenticationSelector.d.ts +21 -18
- package/dist/control-plane/AuthenticationSelector.d.ts.map +1 -1
- package/dist/control-plane/AuthenticationSelector.js +69 -63
- package/dist/control-plane/AuthenticationSelector.js.map +1 -1
- package/dist/control-plane/ControlPlaneClient.d.ts +37 -28
- package/dist/control-plane/ControlPlaneClient.d.ts.map +1 -1
- package/dist/control-plane/ControlPlaneClient.js +265 -254
- package/dist/control-plane/ControlPlaneClient.js.map +1 -1
- package/dist/control-plane/ControlPlaneEndpoints.d.ts +9 -6
- package/dist/control-plane/ControlPlaneEndpoints.d.ts.map +1 -1
- package/dist/control-plane/ControlPlaneEndpoints.js +17 -12
- package/dist/control-plane/ControlPlaneEndpoints.js.map +1 -1
- package/dist/control-plane/ControlPlaneTypes.d.ts +176 -152
- package/dist/control-plane/ControlPlaneTypes.d.ts.map +1 -1
- package/dist/control-plane/ControlPlaneTypes.js +88 -81
- package/dist/control-plane/ControlPlaneTypes.js.map +1 -1
- package/dist/control-plane/CredentialStore.d.ts +20 -18
- package/dist/control-plane/CredentialStore.d.ts.map +1 -1
- package/dist/control-plane/CredentialStore.js +66 -83
- package/dist/control-plane/CredentialStore.js.map +1 -1
- package/dist/control-plane/DPoPKeyStore.d.ts +12 -9
- package/dist/control-plane/DPoPKeyStore.d.ts.map +1 -1
- package/dist/control-plane/DPoPKeyStore.js +57 -53
- package/dist/control-plane/DPoPKeyStore.js.map +1 -1
- package/dist/control-plane/GitHubActionsOidcCredentialProvider.d.ts +37 -4
- package/dist/control-plane/GitHubActionsOidcCredentialProvider.d.ts.map +1 -1
- package/dist/control-plane/GitHubActionsOidcCredentialProvider.js +197 -63
- package/dist/control-plane/GitHubActionsOidcCredentialProvider.js.map +1 -1
- package/dist/control-plane/PublishIdempotencyStore.d.ts +25 -9
- package/dist/control-plane/PublishIdempotencyStore.d.ts.map +1 -1
- package/dist/control-plane/PublishIdempotencyStore.js +97 -68
- package/dist/control-plane/PublishIdempotencyStore.js.map +1 -1
- package/dist/control-plane/PublishRequestErrorMapper.d.ts +155 -0
- package/dist/control-plane/PublishRequestErrorMapper.d.ts.map +1 -0
- package/dist/control-plane/PublishRequestErrorMapper.js +597 -0
- package/dist/control-plane/PublishRequestErrorMapper.js.map +1 -0
- package/dist/control-plane/RegistryGrantLock.d.ts +29 -26
- package/dist/control-plane/RegistryGrantLock.d.ts.map +1 -1
- package/dist/control-plane/RegistryGrantLock.js +149 -185
- package/dist/control-plane/RegistryGrantLock.js.map +1 -1
- package/dist/control-plane/RegistryTrustResolver.d.ts +13 -10
- package/dist/control-plane/RegistryTrustResolver.d.ts.map +1 -1
- package/dist/control-plane/RegistryTrustResolver.js +97 -132
- package/dist/control-plane/RegistryTrustResolver.js.map +1 -1
- package/dist/index.d.ts +62 -39
- package/dist/index.js +60 -53
- package/dist/postinstall/api/PostinstallDsl.d.ts +24 -21
- package/dist/postinstall/api/PostinstallDsl.d.ts.map +1 -1
- package/dist/postinstall/api/PostinstallDsl.js +32 -35
- package/dist/postinstall/api/PostinstallDsl.js.map +1 -1
- package/dist/postinstall/api/definePostinstall.d.ts +5 -2
- package/dist/postinstall/api/definePostinstall.d.ts.map +1 -1
- package/dist/postinstall/api/definePostinstall.js +20 -16
- package/dist/postinstall/api/definePostinstall.js.map +1 -1
- package/dist/postinstall/index.d.ts +25 -26
- package/dist/postinstall/index.js +25 -37
- package/dist/postinstall/loader/EntryResolver.d.ts +11 -9
- package/dist/postinstall/loader/EntryResolver.d.ts.map +1 -1
- package/dist/postinstall/loader/EntryResolver.js +36 -32
- package/dist/postinstall/loader/EntryResolver.js.map +1 -1
- package/dist/postinstall/loader/EsbuildTranspiler.d.ts +6 -3
- package/dist/postinstall/loader/EsbuildTranspiler.d.ts.map +1 -1
- package/dist/postinstall/loader/EsbuildTranspiler.js +52 -56
- package/dist/postinstall/loader/EsbuildTranspiler.js.map +1 -1
- package/dist/postinstall/loader/ExportValidator.d.ts +8 -5
- package/dist/postinstall/loader/ExportValidator.d.ts.map +1 -1
- package/dist/postinstall/loader/ExportValidator.js +36 -32
- package/dist/postinstall/loader/ExportValidator.js.map +1 -1
- package/dist/postinstall/loader/ModuleImporter.d.ts +17 -14
- package/dist/postinstall/loader/ModuleImporter.d.ts.map +1 -1
- package/dist/postinstall/loader/ModuleImporter.js +50 -58
- package/dist/postinstall/loader/ModuleImporter.js.map +1 -1
- package/dist/postinstall/loader/PostinstallLoader.d.ts +22 -19
- package/dist/postinstall/loader/PostinstallLoader.d.ts.map +1 -1
- package/dist/postinstall/loader/PostinstallLoader.js +62 -58
- package/dist/postinstall/loader/PostinstallLoader.js.map +1 -1
- package/dist/postinstall/markers/MarkerBlockEditor.d.ts +19 -16
- package/dist/postinstall/markers/MarkerBlockEditor.d.ts.map +1 -1
- package/dist/postinstall/markers/MarkerBlockEditor.js +48 -44
- package/dist/postinstall/markers/MarkerBlockEditor.js.map +1 -1
- package/dist/postinstall/markers/MarkerBlockService.d.ts +10 -7
- package/dist/postinstall/markers/MarkerBlockService.d.ts.map +1 -1
- package/dist/postinstall/markers/MarkerBlockService.js +44 -44
- package/dist/postinstall/markers/MarkerBlockService.js.map +1 -1
- package/dist/postinstall/markers/MarkerIntegrityValidator.d.ts +12 -9
- package/dist/postinstall/markers/MarkerIntegrityValidator.d.ts.map +1 -1
- package/dist/postinstall/markers/MarkerIntegrityValidator.js +47 -52
- package/dist/postinstall/markers/MarkerIntegrityValidator.js.map +1 -1
- package/dist/postinstall/policy/PostinstallPolicyGate.d.ts +25 -23
- package/dist/postinstall/policy/PostinstallPolicyGate.d.ts.map +1 -1
- package/dist/postinstall/policy/PostinstallPolicyGate.js +63 -52
- package/dist/postinstall/policy/PostinstallPolicyGate.js.map +1 -1
- package/dist/postinstall/runner/PostinstallOrchestrator.d.ts +48 -45
- package/dist/postinstall/runner/PostinstallOrchestrator.d.ts.map +1 -1
- package/dist/postinstall/runner/PostinstallOrchestrator.js +172 -170
- package/dist/postinstall/runner/PostinstallOrchestrator.js.map +1 -1
- package/dist/postinstall/unreal/BuildCsInjector.d.ts +16 -13
- package/dist/postinstall/unreal/BuildCsInjector.d.ts.map +1 -1
- package/dist/postinstall/unreal/BuildCsInjector.js +58 -53
- package/dist/postinstall/unreal/BuildCsInjector.js.map +1 -1
- package/dist/postinstall/unreal/CSharpInjectionEngine.d.ts +13 -10
- package/dist/postinstall/unreal/CSharpInjectionEngine.d.ts.map +1 -1
- package/dist/postinstall/unreal/CSharpInjectionEngine.js +56 -59
- package/dist/postinstall/unreal/CSharpInjectionEngine.js.map +1 -1
- package/dist/postinstall/unreal/CSharpStructureAnalyzer.d.ts +11 -8
- package/dist/postinstall/unreal/CSharpStructureAnalyzer.d.ts.map +1 -1
- package/dist/postinstall/unreal/CSharpStructureAnalyzer.js +123 -127
- package/dist/postinstall/unreal/CSharpStructureAnalyzer.js.map +1 -1
- package/dist/postinstall/unreal/CSharpStructures.d.ts +18 -15
- package/dist/postinstall/unreal/CSharpStructures.d.ts.map +1 -1
- package/dist/postinstall/unreal/CSharpStructures.js +1 -2
- package/dist/postinstall/unreal/CSharpWrapperFactory.d.ts +7 -4
- package/dist/postinstall/unreal/CSharpWrapperFactory.d.ts.map +1 -1
- package/dist/postinstall/unreal/CSharpWrapperFactory.js +54 -58
- package/dist/postinstall/unreal/CSharpWrapperFactory.js.map +1 -1
- package/dist/postinstall/unreal/PluginHash.d.ts +5 -2
- package/dist/postinstall/unreal/PluginHash.d.ts.map +1 -1
- package/dist/postinstall/unreal/PluginHash.js +13 -8
- package/dist/postinstall/unreal/PluginHash.js.map +1 -1
- package/dist/postinstall/unreal/PrettyParseError.d.ts +8 -5
- package/dist/postinstall/unreal/PrettyParseError.d.ts.map +1 -1
- package/dist/postinstall/unreal/PrettyParseError.js +37 -37
- package/dist/postinstall/unreal/PrettyParseError.js.map +1 -1
- package/dist/postinstall/unreal/ProjectFileLocator.d.ts +12 -9
- package/dist/postinstall/unreal/ProjectFileLocator.d.ts.map +1 -1
- package/dist/postinstall/unreal/ProjectFileLocator.js +49 -51
- package/dist/postinstall/unreal/ProjectFileLocator.js.map +1 -1
- package/dist/postinstall/unreal/TargetCsInjector.d.ts +16 -13
- package/dist/postinstall/unreal/TargetCsInjector.d.ts.map +1 -1
- package/dist/postinstall/unreal/TargetCsInjector.js +58 -53
- package/dist/postinstall/unreal/TargetCsInjector.js.map +1 -1
- package/dist/postinstall/unreal/UProjectInjector.d.ts +6 -3
- package/dist/postinstall/unreal/UProjectInjector.d.ts.map +1 -1
- package/dist/postinstall/unreal/UProjectInjector.js +56 -52
- package/dist/postinstall/unreal/UProjectInjector.js.map +1 -1
- package/dist/postinstall/unreal/UProjectMetadataReader.d.ts +5 -2
- package/dist/postinstall/unreal/UProjectMetadataReader.d.ts.map +1 -1
- package/dist/postinstall/unreal/UProjectMetadataReader.js +22 -18
- package/dist/postinstall/unreal/UProjectMetadataReader.js.map +1 -1
- package/dist/postinstall/unreal/UnrealSourceCatalog.d.ts +17 -14
- package/dist/postinstall/unreal/UnrealSourceCatalog.d.ts.map +1 -1
- package/dist/postinstall/unreal/UnrealSourceCatalog.js +50 -50
- package/dist/postinstall/unreal/UnrealSourceCatalog.js.map +1 -1
- package/dist/prompts/InkPromptService.d.ts +10 -7
- package/dist/prompts/InkPromptService.d.ts.map +1 -1
- package/dist/prompts/InkPromptService.js +100 -71
- package/dist/prompts/InkPromptService.js.map +1 -1
- package/dist/prompts/ProjectContextDetector.d.ts +10 -7
- package/dist/prompts/ProjectContextDetector.d.ts.map +1 -1
- package/dist/prompts/ProjectContextDetector.js +32 -26
- package/dist/prompts/ProjectContextDetector.js.map +1 -1
- package/dist/prompts/PromptService.d.ts +11 -8
- package/dist/prompts/PromptService.d.ts.map +1 -1
- package/dist/prompts/PromptService.js +1 -8
- package/dist/reporting/DiagnosticDeduplicator.d.ts +8 -5
- package/dist/reporting/DiagnosticDeduplicator.d.ts.map +1 -1
- package/dist/reporting/DiagnosticDeduplicator.js +36 -35
- package/dist/reporting/DiagnosticDeduplicator.js.map +1 -1
- package/dist/reporting/DiagnosticRenderer.d.ts +11 -8
- package/dist/reporting/DiagnosticRenderer.d.ts.map +1 -1
- package/dist/reporting/DiagnosticRenderer.js +1 -2
- package/dist/reporting/DiagnosticReporter.d.ts +12 -9
- package/dist/reporting/DiagnosticReporter.d.ts.map +1 -1
- package/dist/reporting/DiagnosticReporter.js +40 -39
- package/dist/reporting/DiagnosticReporter.js.map +1 -1
- package/dist/reporting/InkDiagnosticRenderer.d.ts +12 -9
- package/dist/reporting/InkDiagnosticRenderer.d.ts.map +1 -1
- package/dist/reporting/InkDiagnosticRenderer.js +50 -42
- package/dist/reporting/InkDiagnosticRenderer.js.map +1 -1
- package/dist/reporting/InstallProgressReporter.d.ts +23 -20
- package/dist/reporting/InstallProgressReporter.d.ts.map +1 -1
- package/dist/reporting/InstallProgressReporter.js +48 -47
- package/dist/reporting/InstallProgressReporter.js.map +1 -1
- package/dist/reporting/JsonReporter.d.ts +16 -13
- package/dist/reporting/JsonReporter.d.ts.map +1 -1
- package/dist/reporting/JsonReporter.js +34 -20
- package/dist/reporting/JsonReporter.js.map +1 -1
- package/dist/reporting/RegistryRequestTerminalFormatter.d.ts +36 -0
- package/dist/reporting/RegistryRequestTerminalFormatter.d.ts.map +1 -0
- package/dist/reporting/RegistryRequestTerminalFormatter.js +90 -0
- package/dist/reporting/RegistryRequestTerminalFormatter.js.map +1 -0
- package/dist/reporting/TextDiagnosticRenderer.d.ts +11 -8
- package/dist/reporting/TextDiagnosticRenderer.d.ts.map +1 -1
- package/dist/reporting/TextDiagnosticRenderer.js +36 -28
- package/dist/reporting/TextDiagnosticRenderer.js.map +1 -1
- package/dist/reporting/TextSink.d.ts +14 -11
- package/dist/reporting/TextSink.d.ts.map +1 -1
- package/dist/reporting/TextSink.js +24 -20
- package/dist/reporting/TextSink.js.map +1 -1
- package/package.json +31 -32
- package/dist/cli/parsing/contracts/UAPKGCommandModule.js.map +0 -1
- package/dist/cli-bootstrap.d.ts.map +0 -1
- package/dist/commands/Command.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/postinstall/index.d.ts.map +0 -1
- package/dist/postinstall/index.js.map +0 -1
- package/dist/postinstall/unreal/CSharpStructures.js.map +0 -1
- package/dist/prompts/PromptService.js.map +0 -1
- package/dist/reporting/DiagnosticRenderer.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistryGrantLock.js","sourceRoot":"","sources":["../../src/control-plane/RegistryGrantLock.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RegistryGrantLock.js","names":[],"sources":["../../src/control-plane/RegistryGrantLock.ts"],"sourcesContent":["import { createHash, randomUUID } from 'node:crypto';\nimport { mkdir, open, readFile, rename, stat, unlink, utimes } from 'node:fs/promises';\nimport { join } from 'node:path';\n\nconst LOCK_FILE_VERSION = 1;\nconst DEFAULT_WAIT_TIMEOUT_MS = 30_000;\nconst DEFAULT_STALE_AFTER_MS = 120_000;\nconst DEFAULT_POLL_INTERVAL_MS = 50;\nconst DEFAULT_HEARTBEAT_INTERVAL_MS = 5_000;\n\ninterface LockOwner {\n readonly version: typeof LOCK_FILE_VERSION;\n readonly ownerId: string;\n readonly pid: number;\n readonly acquiredAt: number;\n}\n\nexport interface RegistryGrantLock {\n withLock<T>(issuer: string, registryId: string, operation: () => Promise<T>): Promise<T>;\n}\n\nexport interface FileRegistryGrantLockOptions {\n readonly waitTimeoutMs?: number;\n readonly staleAfterMs?: number;\n readonly pollIntervalMs?: number;\n readonly heartbeatIntervalMs?: number;\n readonly now?: () => number;\n readonly sleep?: (milliseconds: number) => Promise<void>;\n readonly isProcessAlive?: (pid: number) => boolean;\n}\n\n/**\n * Cross-process serialization for a registry grant's rotating refresh-token\n * family. Lock file names contain only a SHA-256 digest of the issuer and\n * registry ID; lock contents contain only an opaque owner ID, PID, and time.\n */\nexport class FileRegistryGrantLock implements RegistryGrantLock {\n private readonly waitTimeoutMs: number;\n private readonly staleAfterMs: number;\n private readonly pollIntervalMs: number;\n private readonly heartbeatIntervalMs: number;\n private readonly now: () => number;\n private readonly sleep: (milliseconds: number) => Promise<void>;\n private readonly isProcessAlive: (pid: number) => boolean;\n\n public constructor(\n private readonly directory: string,\n options: FileRegistryGrantLockOptions = {},\n ) {\n this.waitTimeoutMs = positiveMilliseconds(options.waitTimeoutMs, DEFAULT_WAIT_TIMEOUT_MS);\n this.staleAfterMs = positiveMilliseconds(options.staleAfterMs, DEFAULT_STALE_AFTER_MS);\n this.pollIntervalMs = positiveMilliseconds(options.pollIntervalMs, DEFAULT_POLL_INTERVAL_MS);\n this.heartbeatIntervalMs = positiveMilliseconds(\n options.heartbeatIntervalMs,\n Math.min(DEFAULT_HEARTBEAT_INTERVAL_MS, Math.max(1, Math.floor(this.staleAfterMs / 3))),\n );\n this.now = options.now ?? Date.now;\n this.sleep = options.sleep ?? delay;\n this.isProcessAlive = options.isProcessAlive ?? processIsAlive;\n }\n\n public pathFor(issuer: string, registryId: string): string {\n const digest = createHash('sha256')\n .update(`${issuer.replace(/\\/+$/, '')}\\0${registryId.toLowerCase()}`)\n .digest('hex');\n return join(this.directory, `${digest}.lock`);\n }\n\n public async withLock<T>(issuer: string, registryId: string, operation: () => Promise<T>): Promise<T> {\n await mkdir(this.directory, { recursive: true, mode: 0o700 });\n const lockPath = this.pathFor(issuer, registryId);\n const owner: LockOwner = {\n version: LOCK_FILE_VERSION,\n ownerId: randomUUID(),\n pid: process.pid,\n acquiredAt: this.now(),\n };\n const deadline = this.now() + this.waitTimeoutMs;\n\n while (!(await this.tryAcquire(lockPath, owner))) {\n if (await this.reclaimIfStale(lockPath)) continue;\n const remaining = deadline - this.now();\n if (remaining <= 0) {\n throw new Error(\n 'Timed out waiting for another UAPKG process to finish using the saved login for this registry.',\n );\n }\n await this.sleep(Math.min(this.pollIntervalMs, remaining));\n }\n\n const heartbeat = setInterval(() => {\n void this.touchIfOwned(lockPath, owner.ownerId);\n }, this.heartbeatIntervalMs);\n heartbeat.unref?.();\n\n try {\n return await operation();\n } finally {\n clearInterval(heartbeat);\n await this.releaseIfOwned(lockPath, owner.ownerId);\n }\n }\n\n private async tryAcquire(lockPath: string, owner: LockOwner): Promise<boolean> {\n let handle: Awaited<ReturnType<typeof open>>;\n try {\n handle = await open(lockPath, 'wx', 0o600);\n } catch (error) {\n if (errorCode(error) === 'EEXIST') return false;\n throw new Error('Unable to create the UAPKG registry-grant lock.', { cause: error });\n }\n\n try {\n await handle.writeFile(JSON.stringify(owner), { encoding: 'utf8' });\n return true;\n } catch (error) {\n await unlink(lockPath).catch(() => undefined);\n throw new Error('Unable to initialize the UAPKG registry-grant lock.', { cause: error });\n } finally {\n await handle.close();\n }\n }\n\n private async reclaimIfStale(lockPath: string): Promise<boolean> {\n let lockStat: Awaited<ReturnType<typeof stat>>;\n try {\n lockStat = await stat(lockPath);\n } catch (error) {\n if (errorCode(error) === 'ENOENT') return true;\n throw new Error('Unable to inspect the UAPKG registry-grant lock.', { cause: error });\n }\n\n const observedOwner = await readOwner(lockPath);\n if (observedOwner) {\n // A valid owner record with a definitely dead PID is safe to reclaim\n // immediately. Waiting for the general stale threshold would make a\n // refresh retry miss the authorization server's bounded predecessor\n // grace after a process dies between rotation and local persistence.\n if (this.isProcessAlive(observedOwner.pid)) return false;\n } else if (this.now() - lockStat.mtimeMs <= this.staleAfterMs) {\n // A just-created lock can briefly be empty while its owner record is\n // written. Malformed or unreadable ownership therefore remains subject\n // to the conservative stale threshold.\n return false;\n }\n\n const quarantinePath = `${lockPath}.stale-${randomUUID()}`;\n try {\n await rename(lockPath, quarantinePath);\n } catch (error) {\n if (errorCode(error) === 'ENOENT') return true;\n throw new Error('Unable to quarantine a stale UAPKG registry-grant lock.', { cause: error });\n }\n\n const movedOwner = await readOwner(quarantinePath);\n if (observedOwner && movedOwner?.ownerId !== observedOwner.ownerId) {\n await rename(quarantinePath, lockPath).catch(() => undefined);\n return false;\n }\n\n await unlink(quarantinePath).catch((error: unknown) => {\n throw new Error('Unable to remove a stale UAPKG registry-grant lock.', { cause: error });\n });\n return true;\n }\n\n private async touchIfOwned(lockPath: string, ownerId: string): Promise<void> {\n const owner = await readOwner(lockPath);\n if (owner?.ownerId !== ownerId) return;\n const now = new Date(this.now());\n await utimes(lockPath, now, now).catch(() => undefined);\n }\n\n private async releaseIfOwned(lockPath: string, ownerId: string): Promise<void> {\n const owner = await readOwner(lockPath);\n if (!owner) return;\n if (owner.ownerId !== ownerId) {\n throw new Error('The UAPKG registry-grant lock changed ownership before it could be released.');\n }\n try {\n await unlink(lockPath);\n } catch (error) {\n if (errorCode(error) === 'ENOENT') return;\n throw new Error('Unable to release the UAPKG registry-grant lock.', { cause: error });\n }\n }\n}\n\nasync function readOwner(lockPath: string): Promise<LockOwner | undefined> {\n try {\n const value = JSON.parse(await readFile(lockPath, 'utf8')) as unknown;\n if (\n typeof value !== 'object' ||\n value === null ||\n (value as Partial<LockOwner>).version !== LOCK_FILE_VERSION ||\n typeof (value as Partial<LockOwner>).ownerId !== 'string' ||\n !Number.isInteger((value as Partial<LockOwner>).pid) ||\n typeof (value as Partial<LockOwner>).acquiredAt !== 'number'\n ) {\n return undefined;\n }\n return value as LockOwner;\n } catch {\n return undefined;\n }\n}\n\nfunction processIsAlive(pid: number): boolean {\n if (pid === process.pid) return true;\n try {\n process.kill(pid, 0);\n return true;\n } catch (error) {\n return errorCode(error) !== 'ESRCH';\n }\n}\n\nfunction positiveMilliseconds(value: number | undefined, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) && value > 0 ? value : fallback;\n}\n\nfunction errorCode(error: unknown): string | undefined {\n return typeof error === 'object' && error !== null && 'code' in error\n ? String((error as { readonly code?: unknown }).code)\n : undefined;\n}\n\nfunction delay(milliseconds: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, milliseconds));\n}\n"],"mappings":"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"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { RegistryTrust } from "./ControlPlaneTypes.js";
|
|
2
|
+
import { CompositionRoot } from "../app/CompositionRoot.js";
|
|
3
|
+
//#region src/control-plane/RegistryTrustResolver.d.ts
|
|
4
|
+
declare class RegistryTrustResolver {
|
|
5
|
+
private readonly root;
|
|
6
|
+
constructor(root: CompositionRoot);
|
|
7
|
+
resolve(requestedAlias?: string): Promise<RegistryTrust>;
|
|
8
|
+
forceRefresh(trust: RegistryTrust): Promise<void>;
|
|
9
|
+
private selectedAlias;
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
11
12
|
* GitHub accepts HTTPS, SSH URL, and SCP-like clone coordinates for the same
|
|
12
13
|
* repository. Control-plane authorization must bind all three spellings to one
|
|
13
14
|
* stable source identity.
|
|
14
15
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
declare function canonicalizeRegistryGitOrigin(origin: string): string;
|
|
17
|
+
declare function fingerprintRegistryGitOrigin(origin: string): string;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { RegistryTrustResolver, canonicalizeRegistryGitOrigin, fingerprintRegistryGitOrigin };
|
|
17
20
|
//# sourceMappingURL=RegistryTrustResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistryTrustResolver.d.ts","
|
|
1
|
+
{"version":3,"file":"RegistryTrustResolver.d.ts","names":[],"sources":["../../src/control-plane/RegistryTrustResolver.ts"],"mappings":";;;cAca;mBACyB;EAApC,YAAoC,MAAM;EAE7B,QAAQ,0BAA0B,QAAQ;EAoD1C,aAAa,OAAO,gBAAgB;UAczC;;;;;;;iBAcM,8BAA8B;iBAyB9B,6BAA6B"}
|
|
@@ -1,140 +1,105 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { join } from
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
apiBaseUrl: UAPKG_CONTROL_PLANE_API,
|
|
69
|
-
resource: registryAudience(parsed.data.registry.id),
|
|
70
|
-
cacheShortId: registry.shortId,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
async forceRefresh(trust) {
|
|
74
|
-
const result = this.root.registryCore.getOrCreateRegistry(trust.alias);
|
|
75
|
-
if (!result.ok) {
|
|
76
|
-
throw new Error(firstDiagnostic(result.diagnostics, `Registry "${trust.alias}" is not configured.`));
|
|
77
|
-
}
|
|
78
|
-
const updated = await result.value.ensureUpToDate({
|
|
79
|
-
logicalRegistryName: trust.alias,
|
|
80
|
-
bypassFreshnessCheck: true,
|
|
81
|
-
});
|
|
82
|
-
if (!updated.ok || updated.value === 'Failed') {
|
|
83
|
-
throw new Error(firstDiagnostic(updated.diagnostics, `Unable to refresh registry "${trust.alias}".`));
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
selectedAlias() {
|
|
87
|
-
const selected = this.root.config.get('registry');
|
|
88
|
-
if (typeof selected !== 'string' || selected.trim().length === 0) {
|
|
89
|
-
throw new Error('No registry is selected. Configure one with `uapkg registry use <name>`.');
|
|
90
|
-
}
|
|
91
|
-
return selected;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
1
|
+
import { UAPKG_AUTHORIZATION_ISSUER, UAPKG_CONTROL_PLANE_API, registryAudience } from "./ControlPlaneTypes.js";
|
|
2
|
+
import { normalizeUrl } from "@uapkg/common";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { createHash } from "node:crypto";
|
|
5
|
+
import { readFile } from "node:fs/promises";
|
|
6
|
+
import { getRegistryRepoPath } from "@uapkg/registry-core";
|
|
7
|
+
import { RegistryMetaSchema } from "@uapkg/registry-schema";
|
|
8
|
+
|
|
9
|
+
//#region src/control-plane/RegistryTrustResolver.ts
|
|
10
|
+
var RegistryTrustResolver = class {
|
|
11
|
+
root;
|
|
12
|
+
constructor(root) {
|
|
13
|
+
this.root = root;
|
|
14
|
+
}
|
|
15
|
+
async resolve(requestedAlias) {
|
|
16
|
+
const alias = requestedAlias ?? this.selectedAlias();
|
|
17
|
+
const result = this.root.registryCore.getOrCreateRegistry(alias);
|
|
18
|
+
if (!result.ok) throw new Error(firstDiagnostic(result.diagnostics, `Registry "${alias}" is not configured.`));
|
|
19
|
+
const registry = result.value;
|
|
20
|
+
const updated = await registry.ensureUpToDate({
|
|
21
|
+
logicalRegistryName: alias,
|
|
22
|
+
bypassFreshnessCheck: true
|
|
23
|
+
});
|
|
24
|
+
if (!updated.ok || updated.value === "Failed") throw new Error(firstDiagnostic(updated.diagnostics, `Unable to update registry "${alias}".`));
|
|
25
|
+
const metadataPath = join(getRegistryRepoPath(registry.shortId), ".uapkg", "registry.meta.json");
|
|
26
|
+
let raw;
|
|
27
|
+
try {
|
|
28
|
+
raw = await readFile(metadataPath, "utf8");
|
|
29
|
+
} catch (error) {
|
|
30
|
+
throw new Error(`Registry "${alias}" does not contain .uapkg/registry.meta.json. It cannot be used for authenticated control-plane commands.`, { cause: error });
|
|
31
|
+
}
|
|
32
|
+
let json;
|
|
33
|
+
try {
|
|
34
|
+
json = JSON.parse(raw);
|
|
35
|
+
} catch (error) {
|
|
36
|
+
throw new Error(`Registry metadata for "${alias}" is not valid JSON.`, { cause: error });
|
|
37
|
+
}
|
|
38
|
+
const parsed = RegistryMetaSchema.safeParse(json);
|
|
39
|
+
if (!parsed.success) throw new Error(`Registry metadata for "${alias}" does not match the supported schema.`);
|
|
40
|
+
const repositoryUrl = canonicalizeRegistryGitOrigin(registry.descriptor.url);
|
|
41
|
+
return {
|
|
42
|
+
alias,
|
|
43
|
+
registryId: parsed.data.registry.id,
|
|
44
|
+
registryName: parsed.data.registry.name,
|
|
45
|
+
repositoryUrl,
|
|
46
|
+
repositoryFingerprint: fingerprintRegistryGitOrigin(repositoryUrl),
|
|
47
|
+
issuer: UAPKG_AUTHORIZATION_ISSUER,
|
|
48
|
+
apiBaseUrl: UAPKG_CONTROL_PLANE_API,
|
|
49
|
+
resource: registryAudience(parsed.data.registry.id),
|
|
50
|
+
cacheShortId: registry.shortId
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
async forceRefresh(trust) {
|
|
54
|
+
const result = this.root.registryCore.getOrCreateRegistry(trust.alias);
|
|
55
|
+
if (!result.ok) throw new Error(firstDiagnostic(result.diagnostics, `Registry "${trust.alias}" is not configured.`));
|
|
56
|
+
const updated = await result.value.ensureUpToDate({
|
|
57
|
+
logicalRegistryName: trust.alias,
|
|
58
|
+
bypassFreshnessCheck: true
|
|
59
|
+
});
|
|
60
|
+
if (!updated.ok || updated.value === "Failed") throw new Error(firstDiagnostic(updated.diagnostics, `Unable to refresh registry "${trust.alias}".`));
|
|
61
|
+
}
|
|
62
|
+
selectedAlias() {
|
|
63
|
+
const selected = this.root.config.get("registry");
|
|
64
|
+
if (typeof selected !== "string" || selected.trim().length === 0) throw new Error("No registry is selected. Configure one with `uapkg registry use <name>`.");
|
|
65
|
+
return selected;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
94
68
|
/**
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
catch (error) {
|
|
116
|
-
if (error instanceof Error && error.message.startsWith('A GitHub registry origin')) {
|
|
117
|
-
throw error;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return normalizeUrl(value);
|
|
69
|
+
* GitHub accepts HTTPS, SSH URL, and SCP-like clone coordinates for the same
|
|
70
|
+
* repository. Control-plane authorization must bind all three spellings to one
|
|
71
|
+
* stable source identity.
|
|
72
|
+
*/
|
|
73
|
+
function canonicalizeRegistryGitOrigin(origin) {
|
|
74
|
+
const value = origin.trim();
|
|
75
|
+
const scpLike = /^(?:git@)?github\.com:([^/\s]+)\/([^/\s]+?)\/?$/i.exec(value);
|
|
76
|
+
if (scpLike) return canonicalGitHubRepository(scpLike[1], scpLike[2]);
|
|
77
|
+
try {
|
|
78
|
+
const parsed = new URL(value);
|
|
79
|
+
if (parsed.hostname.toLowerCase() === "github.com") {
|
|
80
|
+
const path = parsed.pathname.replace(/^\/+|\/+$/g, "").split("/");
|
|
81
|
+
if (path.length !== 2) throw new Error("A GitHub registry origin must identify exactly one owner and repository.");
|
|
82
|
+
return canonicalGitHubRepository(path[0], path[1]);
|
|
83
|
+
}
|
|
84
|
+
} catch (error) {
|
|
85
|
+
if (error instanceof Error && error.message.startsWith("A GitHub registry origin")) throw error;
|
|
86
|
+
}
|
|
87
|
+
return normalizeUrl(value);
|
|
121
88
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
89
|
+
function fingerprintRegistryGitOrigin(origin) {
|
|
90
|
+
const canonical = canonicalizeRegistryGitOrigin(origin);
|
|
91
|
+
return `sha256:${createHash("sha256").update(canonical).digest("hex")}`;
|
|
125
92
|
}
|
|
126
93
|
function canonicalGitHubRepository(owner, repository) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
.toLowerCase();
|
|
132
|
-
if (!normalizedOwner || !normalizedRepository) {
|
|
133
|
-
throw new Error('A GitHub registry origin must include an owner and repository.');
|
|
134
|
-
}
|
|
135
|
-
return `https://github.com/${normalizedOwner}/${normalizedRepository}.git`;
|
|
94
|
+
const normalizedOwner = owner.trim().toLowerCase();
|
|
95
|
+
const normalizedRepository = repository.trim().replace(/\.git$/i, "").toLowerCase();
|
|
96
|
+
if (!normalizedOwner || !normalizedRepository) throw new Error("A GitHub registry origin must include an owner and repository.");
|
|
97
|
+
return `https://github.com/${normalizedOwner}/${normalizedRepository}.git`;
|
|
136
98
|
}
|
|
137
99
|
function firstDiagnostic(diagnostics, fallback) {
|
|
138
|
-
|
|
100
|
+
return diagnostics[0]?.message ?? fallback;
|
|
139
101
|
}
|
|
102
|
+
|
|
103
|
+
//#endregion
|
|
104
|
+
export { RegistryTrustResolver, canonicalizeRegistryGitOrigin, fingerprintRegistryGitOrigin };
|
|
140
105
|
//# sourceMappingURL=RegistryTrustResolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistryTrustResolver.js","
|
|
1
|
+
{"version":3,"file":"RegistryTrustResolver.js","names":[],"sources":["../../src/control-plane/RegistryTrustResolver.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\nimport { readFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { normalizeUrl } from '@uapkg/common';\nimport { getRegistryRepoPath } from '@uapkg/registry-core';\nimport { RegistryMetaSchema } from '@uapkg/registry-schema';\nimport type { CompositionRoot } from '../app/CompositionRoot.js';\nimport {\n type RegistryTrust,\n registryAudience,\n UAPKG_AUTHORIZATION_ISSUER,\n UAPKG_CONTROL_PLANE_API,\n} from './ControlPlaneTypes.js';\n\nexport class RegistryTrustResolver {\n public constructor(private readonly root: CompositionRoot) {}\n\n public async resolve(requestedAlias?: string): Promise<RegistryTrust> {\n const alias = requestedAlias ?? this.selectedAlias();\n const result = this.root.registryCore.getOrCreateRegistry(alias);\n if (!result.ok) {\n throw new Error(firstDiagnostic(result.diagnostics, `Registry \"${alias}\" is not configured.`));\n }\n\n const registry = result.value;\n const updated = await registry.ensureUpToDate({\n logicalRegistryName: alias,\n bypassFreshnessCheck: true,\n });\n if (!updated.ok || updated.value === 'Failed') {\n throw new Error(firstDiagnostic(updated.diagnostics, `Unable to update registry \"${alias}\".`));\n }\n\n const metadataPath = join(getRegistryRepoPath(registry.shortId), '.uapkg', 'registry.meta.json');\n let raw: string;\n try {\n raw = await readFile(metadataPath, 'utf8');\n } catch (error) {\n throw new Error(\n `Registry \"${alias}\" does not contain .uapkg/registry.meta.json. It cannot be used for authenticated control-plane commands.`,\n { cause: error },\n );\n }\n\n let json: unknown;\n try {\n json = JSON.parse(raw) as unknown;\n } catch (error) {\n throw new Error(`Registry metadata for \"${alias}\" is not valid JSON.`, { cause: error });\n }\n const parsed = RegistryMetaSchema.safeParse(json);\n if (!parsed.success) {\n throw new Error(`Registry metadata for \"${alias}\" does not match the supported schema.`);\n }\n\n const repositoryUrl = canonicalizeRegistryGitOrigin(registry.descriptor.url);\n return {\n alias,\n registryId: parsed.data.registry.id,\n registryName: parsed.data.registry.name,\n repositoryUrl,\n repositoryFingerprint: fingerprintRegistryGitOrigin(repositoryUrl),\n issuer: UAPKG_AUTHORIZATION_ISSUER,\n apiBaseUrl: UAPKG_CONTROL_PLANE_API,\n resource: registryAudience(parsed.data.registry.id),\n cacheShortId: registry.shortId,\n };\n }\n\n public async forceRefresh(trust: RegistryTrust): Promise<void> {\n const result = this.root.registryCore.getOrCreateRegistry(trust.alias);\n if (!result.ok) {\n throw new Error(firstDiagnostic(result.diagnostics, `Registry \"${trust.alias}\" is not configured.`));\n }\n const updated = await result.value.ensureUpToDate({\n logicalRegistryName: trust.alias,\n bypassFreshnessCheck: true,\n });\n if (!updated.ok || updated.value === 'Failed') {\n throw new Error(firstDiagnostic(updated.diagnostics, `Unable to refresh registry \"${trust.alias}\".`));\n }\n }\n\n private selectedAlias(): string {\n const selected = this.root.config.get('registry');\n if (typeof selected !== 'string' || selected.trim().length === 0) {\n throw new Error('No registry is selected. Configure one with `uapkg registry use <name>`.');\n }\n return selected;\n }\n}\n\n/**\n * GitHub accepts HTTPS, SSH URL, and SCP-like clone coordinates for the same\n * repository. Control-plane authorization must bind all three spellings to one\n * stable source identity.\n */\nexport function canonicalizeRegistryGitOrigin(origin: string): string {\n const value = origin.trim();\n const scpLike = /^(?:git@)?github\\.com:([^/\\s]+)\\/([^/\\s]+?)\\/?$/i.exec(value);\n if (scpLike) {\n return canonicalGitHubRepository(scpLike[1], scpLike[2]);\n }\n\n try {\n const parsed = new URL(value);\n if (parsed.hostname.toLowerCase() === 'github.com') {\n const path = parsed.pathname.replace(/^\\/+|\\/+$/g, '').split('/');\n if (path.length !== 2) {\n throw new Error('A GitHub registry origin must identify exactly one owner and repository.');\n }\n return canonicalGitHubRepository(path[0], path[1]);\n }\n } catch (error) {\n if (error instanceof Error && error.message.startsWith('A GitHub registry origin')) {\n throw error;\n }\n }\n\n return normalizeUrl(value);\n}\n\nexport function fingerprintRegistryGitOrigin(origin: string): string {\n const canonical = canonicalizeRegistryGitOrigin(origin);\n return `sha256:${createHash('sha256').update(canonical).digest('hex')}`;\n}\n\nfunction canonicalGitHubRepository(owner: string, repository: string): string {\n const normalizedOwner = owner.trim().toLowerCase();\n const normalizedRepository = repository\n .trim()\n .replace(/\\.git$/i, '')\n .toLowerCase();\n if (!normalizedOwner || !normalizedRepository) {\n throw new Error('A GitHub registry origin must include an owner and repository.');\n }\n return `https://github.com/${normalizedOwner}/${normalizedRepository}.git`;\n}\n\nfunction firstDiagnostic(diagnostics: readonly { readonly message: string }[], fallback: string): string {\n return diagnostics[0]?.message ?? fallback;\n}\n"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,39 +1,62 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
1
|
+
import { AccountDisplayMetadata, AccountSelf, ActivatedCliLoginGrant, AuthMetadataFile, CliLoginConfirmation, ControlPlaneApiErrorBody, ControlPlaneAuthMode, ControlPlaneError, OAuthScopeInsufficientError, OAuthScopeUnsupportedError, ObservedArtifactIntegrity, RegistryGrantMetadata, RegistryOperation, RegistryRequestCheck, RegistryRequestCheckConclusion, RegistryRequestCheckExecutionState, RegistryRequestDetail, RegistryRequestSource, RegistryRequestStatus, RegistryRequestSubmission, RegistryRequestSummary, RegistryRequestTerminalFailure, RegistryTrust, SubmittedPackageClaims, UAPKGCliScope, UAPKG_AUTHORIZATION_ISSUER, UAPKG_CLI_CLIENT_ID, UAPKG_CLI_SCOPES, UAPKG_CONTROL_PLANE_API, UAPKG_GITHUB_OIDC_AUDIENCE, isOAuthScopeToken, isUAPKGCliScope, knownUAPKGCliScopes, parseOAuthScopeTokens, parseUAPKGCliScopeString, registryAudience } from "./control-plane/ControlPlaneTypes.js";
|
|
2
|
+
import { FileRegistryGrantLock, FileRegistryGrantLockOptions, RegistryGrantLock } from "./control-plane/RegistryGrantLock.js";
|
|
3
|
+
import { AuthMetadataStore } from "./control-plane/AuthMetadataStore.js";
|
|
4
|
+
import { ControlPlaneClient, ControlPlaneCredential } from "./control-plane/ControlPlaneClient.js";
|
|
5
|
+
import { CredentialStore, KeyringLoader } from "./control-plane/CredentialStore.js";
|
|
6
|
+
import { AccessCredential, AccountManager, BrowserOpener, LoginError, LoginOptions, LoginProgressEvent, LoginResult, controlPlaneDiagnosticForError, describeControlPlaneError, loginDiagnosticForError } from "./control-plane/AccountManager.js";
|
|
7
|
+
import { RegistryTrustResolver, canonicalizeRegistryGitOrigin, fingerprintRegistryGitOrigin } from "./control-plane/RegistryTrustResolver.js";
|
|
8
|
+
import { PostinstallDefinition, PostinstallDefinitionSchema, ProjectSetupDefinition, ProjectSetupSchema, ZoneDefinition, ZoneSchema } from "./postinstall/api/PostinstallDsl.js";
|
|
9
|
+
import { EntryResolver, PostinstallEntryKind, ResolvedEntry } from "./postinstall/loader/EntryResolver.js";
|
|
10
|
+
import { EsbuildTranspiler } from "./postinstall/loader/EsbuildTranspiler.js";
|
|
11
|
+
import { ExportValidator } from "./postinstall/loader/ExportValidator.js";
|
|
12
|
+
import { ModuleImporter, ModuleSource } from "./postinstall/loader/ModuleImporter.js";
|
|
13
|
+
import { LoadedPostinstall, PostinstallLoader } from "./postinstall/loader/PostinstallLoader.js";
|
|
14
|
+
import { PolicyConfigReader, PolicyDecision, PostinstallPolicyGate } from "./postinstall/policy/PostinstallPolicyGate.js";
|
|
15
|
+
import { MarkerBlockService } from "./postinstall/markers/MarkerBlockService.js";
|
|
16
|
+
import { MarkerIntegrityFail, MarkerIntegrityOk, MarkerIntegrityResult, MarkerIntegrityValidator } from "./postinstall/markers/MarkerIntegrityValidator.js";
|
|
17
|
+
import { MarkerBlockEditor } from "./postinstall/markers/MarkerBlockEditor.js";
|
|
18
|
+
import { CSharpFileKind, ParsedCSharpFile, ParsedClass, ParsedConstructor } from "./postinstall/unreal/CSharpStructures.js";
|
|
19
|
+
import { CSharpInjectionEngine } from "./postinstall/unreal/CSharpInjectionEngine.js";
|
|
20
|
+
import { CSharpStructureAnalyzer } from "./postinstall/unreal/CSharpStructureAnalyzer.js";
|
|
21
|
+
import { CSharpWrapperFactory, WrapperContextType } from "./postinstall/unreal/CSharpWrapperFactory.js";
|
|
22
|
+
import { BuildCsInjector } from "./postinstall/unreal/BuildCsInjector.js";
|
|
23
|
+
import { ProjectFileLocator } from "./postinstall/unreal/ProjectFileLocator.js";
|
|
24
|
+
import { TargetCsInjector } from "./postinstall/unreal/TargetCsInjector.js";
|
|
25
|
+
import { SourceCatalog, UnrealSourceCatalogBuilder } from "./postinstall/unreal/UnrealSourceCatalog.js";
|
|
26
|
+
import { UProjectInjector } from "./postinstall/unreal/UProjectInjector.js";
|
|
27
|
+
import { UProjectMetadataReader } from "./postinstall/unreal/UProjectMetadataReader.js";
|
|
28
|
+
import { PostinstallCandidate, PostinstallOrchestrator, PostinstallOrchestratorInput, PostinstallReport } from "./postinstall/runner/PostinstallOrchestrator.js";
|
|
29
|
+
import { DiagnosticReporter } from "./reporting/DiagnosticReporter.js";
|
|
30
|
+
import { JsonEnvelope, JsonReporter } from "./reporting/JsonReporter.js";
|
|
31
|
+
import { CompositionRoot, CompositionRootOptions } from "./app/CompositionRoot.js";
|
|
32
|
+
import { UAPKGCommandLine, UAPKGCommandLineFactory, UAPKGWhoamiField, UAPKG_WHOAMI_FIELDS, createUAPKGCommandLineFactory } from "./cli/UAPKGCommandLine.js";
|
|
33
|
+
import { UAPKGApplication } from "./app/UAPKGApplication.js";
|
|
34
|
+
import { parseUAPKGCommandLine } from "./cli/parseCommandLine.js";
|
|
35
|
+
import { runUAPKGCLI } from "./cli/runUAPKGCLI.js";
|
|
36
|
+
import { AddCommand, AddCommandOptions } from "./commands/AddCommand.js";
|
|
37
|
+
import { ConfigCommand } from "./commands/ConfigCommand.js";
|
|
38
|
+
import { ProjectContextDetection, ProjectContextDetector } from "./prompts/ProjectContextDetector.js";
|
|
39
|
+
import { PromptService, SelectOption } from "./prompts/PromptService.js";
|
|
40
|
+
import { InitCommand, InitCommandOptions } from "./commands/InitCommand.js";
|
|
41
|
+
import { InstallCommand, InstallCommandOptions } from "./commands/InstallCommand.js";
|
|
42
|
+
import { ListCommand, ListCommandOptions } from "./commands/ListCommand.js";
|
|
43
|
+
import { LoginCommand, LoginCommandOptions } from "./commands/LoginCommand.js";
|
|
44
|
+
import { LogoutCommand, LogoutCommandOptions } from "./commands/LogoutCommand.js";
|
|
45
|
+
import { OutdatedCommand, OutdatedCommandOptions } from "./commands/OutdatedCommand.js";
|
|
46
|
+
import { PackCommand } from "./commands/PackCommand.js";
|
|
47
|
+
import { ProjectGetNameCommand, ProjectGetNameCommandOptions } from "./commands/ProjectGetNameCommand.js";
|
|
48
|
+
import { PublishCommand, PublishCommandOptions } from "./commands/PublishCommand.js";
|
|
49
|
+
import { RegistryCommand, RegistryCommandOptions, RegistryCommandRuntime } from "./commands/RegistryCommand.js";
|
|
50
|
+
import { RemoveCommand, RemoveCommandOptions } from "./commands/RemoveCommand.js";
|
|
51
|
+
import { RequestsCommand, RequestsCommandOptions } from "./commands/RequestsCommand.js";
|
|
52
|
+
import { UpdateCommand, UpdateCommandOptions } from "./commands/UpdateCommand.js";
|
|
53
|
+
import { WhoamiCommand, WhoamiCommandData, WhoamiCommandOptions, WhoamiFieldData } from "./commands/WhoamiCommand.js";
|
|
54
|
+
import { WhyCommand, WhyCommandOptions } from "./commands/WhyCommand.js";
|
|
55
|
+
import { DPoPKeyStore } from "./control-plane/DPoPKeyStore.js";
|
|
56
|
+
import { definePostinstall } from "./postinstall/api/definePostinstall.js";
|
|
57
|
+
import { getPluginHash, getWrapperClassName } from "./postinstall/unreal/PluginHash.js";
|
|
58
|
+
import { PrettyParseError } from "./postinstall/unreal/PrettyParseError.js";
|
|
59
|
+
import "./postinstall/index.js";
|
|
60
|
+
import { InkPromptService } from "./prompts/InkPromptService.js";
|
|
61
|
+
import { InstallProgressReporter } from "./reporting/InstallProgressReporter.js";
|
|
62
|
+
export { type AccessCredential, AccountDisplayMetadata, AccountManager, AccountSelf, ActivatedCliLoginGrant, AddCommand, type AddCommandOptions, AuthMetadataFile, AuthMetadataStore, type BrowserOpener, BuildCsInjector, type CSharpFileKind, CSharpInjectionEngine, CSharpStructureAnalyzer, CSharpWrapperFactory, CliLoginConfirmation, CompositionRoot, type CompositionRootOptions, ConfigCommand, ControlPlaneApiErrorBody, ControlPlaneAuthMode, ControlPlaneClient, type ControlPlaneCredential, ControlPlaneError, CredentialStore, DPoPKeyStore, DiagnosticReporter, EntryResolver, EsbuildTranspiler, ExportValidator, FileRegistryGrantLock, type FileRegistryGrantLockOptions, InitCommand, type InitCommandOptions, InkPromptService, InstallCommand, type InstallCommandOptions, InstallProgressReporter, type JsonEnvelope, JsonReporter, type KeyringLoader, ListCommand, type ListCommandOptions, type LoadedPostinstall, LoginCommand, type LoginCommandOptions, LoginError, type LoginOptions, type LoginProgressEvent, type LoginResult, LogoutCommand, type LogoutCommandOptions, MarkerBlockEditor, MarkerBlockService, type MarkerIntegrityFail, type MarkerIntegrityOk, type MarkerIntegrityResult, MarkerIntegrityValidator, ModuleImporter, type ModuleSource, OAuthScopeInsufficientError, OAuthScopeUnsupportedError, ObservedArtifactIntegrity, OutdatedCommand, type OutdatedCommandOptions, PackCommand, type ParsedCSharpFile, type ParsedClass, type ParsedConstructor, type PolicyConfigReader, type PolicyDecision, type PostinstallCandidate, type PostinstallDefinition, PostinstallDefinitionSchema, type PostinstallEntryKind, PostinstallLoader, PostinstallOrchestrator, type PostinstallOrchestratorInput, PostinstallPolicyGate, type PostinstallReport, PrettyParseError, type ProjectContextDetection, ProjectContextDetector, ProjectFileLocator, ProjectGetNameCommand, type ProjectGetNameCommandOptions, type ProjectSetupDefinition, ProjectSetupSchema, type PromptService, PublishCommand, type PublishCommandOptions, RegistryCommand, type RegistryCommandOptions, type RegistryCommandRuntime, type RegistryGrantLock, RegistryGrantMetadata, RegistryOperation, RegistryRequestCheck, RegistryRequestCheckConclusion, RegistryRequestCheckExecutionState, RegistryRequestDetail, RegistryRequestSource, RegistryRequestStatus, RegistryRequestSubmission, RegistryRequestSummary, RegistryRequestTerminalFailure, RegistryTrust, RegistryTrustResolver, RemoveCommand, type RemoveCommandOptions, RequestsCommand, type RequestsCommandOptions, type ResolvedEntry, type SelectOption, type SourceCatalog, SubmittedPackageClaims, TargetCsInjector, UAPKGApplication, UAPKGCliScope, type UAPKGCommandLine, UAPKGCommandLineFactory, type UAPKGWhoamiField, UAPKG_AUTHORIZATION_ISSUER, UAPKG_CLI_CLIENT_ID, UAPKG_CLI_SCOPES, UAPKG_CONTROL_PLANE_API, UAPKG_GITHUB_OIDC_AUDIENCE, UAPKG_WHOAMI_FIELDS, UProjectInjector, UProjectMetadataReader, UnrealSourceCatalogBuilder, UpdateCommand, type UpdateCommandOptions, WhoamiCommand, type WhoamiCommandData, type WhoamiCommandOptions, type WhoamiFieldData, WhyCommand, type WhyCommandOptions, type WrapperContextType, type ZoneDefinition, ZoneSchema, canonicalizeRegistryGitOrigin, controlPlaneDiagnosticForError, createUAPKGCommandLineFactory, definePostinstall, describeControlPlaneError, fingerprintRegistryGitOrigin, getPluginHash, getWrapperClassName, isOAuthScopeToken, isUAPKGCliScope, knownUAPKGCliScopes, loginDiagnosticForError, parseOAuthScopeTokens, parseUAPKGCliScopeString, parseUAPKGCommandLine, registryAudience, runUAPKGCLI };
|