@uapkg/cli 1.3.0 → 1.3.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/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,42 +1,43 @@
|
|
|
1
|
+
//#region src/commands/OutdatedCommand.ts
|
|
1
2
|
/**
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
3
|
+
* `uapkg outdated` — emits one row per declared dependency with
|
|
4
|
+
* `current / wanted / latest / status` taken from
|
|
5
|
+
* {@link PackageManifest.checkOutdated}.
|
|
6
|
+
*
|
|
7
|
+
* Exit code 0 when all rows are `up-to-date`; otherwise 2 so CI gates can
|
|
8
|
+
* branch on it. JSON mode emits the full array on stdout in a single write.
|
|
9
|
+
*/
|
|
10
|
+
var OutdatedCommand = class {
|
|
11
|
+
root;
|
|
12
|
+
options;
|
|
13
|
+
constructor(root, options) {
|
|
14
|
+
this.root = root;
|
|
15
|
+
this.options = options;
|
|
16
|
+
}
|
|
17
|
+
async execute() {
|
|
18
|
+
const result = await this.root.packageManifest.checkOutdated();
|
|
19
|
+
if (this.options.outputFormat === "json") {
|
|
20
|
+
this.root.json.emit({
|
|
21
|
+
status: result.ok ? "ok" : "error",
|
|
22
|
+
command: "outdated",
|
|
23
|
+
data: result.ok ? result.value : void 0,
|
|
24
|
+
diagnostics: result.diagnostics
|
|
25
|
+
});
|
|
26
|
+
return result.ok ? result.value.some((r) => r.status !== "up-to-date") ? 2 : 0 : 1;
|
|
27
|
+
}
|
|
28
|
+
this.root.diagnostics.reportAll(result.diagnostics);
|
|
29
|
+
if (!result.ok) return 1;
|
|
30
|
+
const rows = result.value;
|
|
31
|
+
if (rows.length === 0) {
|
|
32
|
+
process.stdout.write("No declared dependencies.\n");
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
const outdated = rows.filter((r) => r.status !== "up-to-date");
|
|
36
|
+
for (const row of rows) process.stdout.write(`${row.status.padEnd(16)} ${row.name.padEnd(32)} ${row.current} → ${row.wanted} (latest ${row.latest})\n`);
|
|
37
|
+
return outdated.length > 0 ? 2 : 0;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
export { OutdatedCommand };
|
|
42
43
|
//# sourceMappingURL=OutdatedCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutdatedCommand.js","
|
|
1
|
+
{"version":3,"file":"OutdatedCommand.js","names":[],"sources":["../../src/commands/OutdatedCommand.ts"],"sourcesContent":["import type { CompositionRoot } from '../app/CompositionRoot.js';\nimport type { Command } from './Command.js';\n\nexport interface OutdatedCommandOptions {\n readonly outputFormat: 'text' | 'json';\n}\n\n/**\n * `uapkg outdated` — emits one row per declared dependency with\n * `current / wanted / latest / status` taken from\n * {@link PackageManifest.checkOutdated}.\n *\n * Exit code 0 when all rows are `up-to-date`; otherwise 2 so CI gates can\n * branch on it. JSON mode emits the full array on stdout in a single write.\n */\nexport class OutdatedCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: OutdatedCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n const result = await this.root.packageManifest.checkOutdated();\n\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({\n status: result.ok ? 'ok' : 'error',\n command: 'outdated',\n data: result.ok ? result.value : undefined,\n diagnostics: result.diagnostics,\n });\n return result.ok ? (result.value.some((r) => r.status !== 'up-to-date') ? 2 : 0) : 1;\n }\n\n this.root.diagnostics.reportAll(result.diagnostics);\n if (!result.ok) return 1;\n\n const rows = result.value;\n if (rows.length === 0) {\n process.stdout.write('No declared dependencies.\\n');\n return 0;\n }\n const outdated = rows.filter((r) => r.status !== 'up-to-date');\n for (const row of rows) {\n process.stdout.write(\n `${row.status.padEnd(16)} ${row.name.padEnd(32)} ${row.current} → ${row.wanted} (latest ${row.latest})\\n`,\n );\n }\n return outdated.length > 0 ? 2 : 0;\n }\n}\n"],"mappings":";;;;;;;;;AAeA,IAAa,kBAAb,MAAgD;CAE3B;CACA;CAFnB,AAAO,YACL,AAAiB,MACjB,AAAiB,SACjB;EAFiB;EACA;CAChB;CAEH,MAAa,UAA2B;EACtC,MAAM,SAAS,MAAM,KAAK,KAAK,gBAAgB,cAAc;EAE7D,IAAI,KAAK,QAAQ,iBAAiB,QAAQ;GACxC,KAAK,KAAK,KAAK,KAAK;IAClB,QAAQ,OAAO,KAAK,OAAO;IAC3B,SAAS;IACT,MAAM,OAAO,KAAK,OAAO,QAAQ;IACjC,aAAa,OAAO;GACtB,CAAC;GACD,OAAO,OAAO,KAAM,OAAO,MAAM,MAAM,MAAM,EAAE,WAAW,YAAY,IAAI,IAAI,IAAK;EACrF;EAEA,KAAK,KAAK,YAAY,UAAU,OAAO,WAAW;EAClD,IAAI,CAAC,OAAO,IAAI,OAAO;EAEvB,MAAM,OAAO,OAAO;EACpB,IAAI,KAAK,WAAW,GAAG;GACrB,QAAQ,OAAO,MAAM,6BAA6B;GAClD,OAAO;EACT;EACA,MAAM,WAAW,KAAK,QAAQ,MAAM,EAAE,WAAW,YAAY;EAC7D,KAAK,MAAM,OAAO,MAChB,QAAQ,OAAO,MACb,GAAG,IAAI,OAAO,OAAO,EAAE,EAAE,GAAG,IAAI,KAAK,OAAO,EAAE,EAAE,GAAG,IAAI,QAAQ,KAAK,IAAI,OAAO,WAAW,IAAI,OAAO,IACvG;EAEF,OAAO,SAAS,SAAS,IAAI,IAAI;CACnC;AACF"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { Command } from "./Command.js";
|
|
2
|
+
//#region src/commands/PackCommand.d.ts
|
|
3
|
+
interface PackCommandOptions {
|
|
4
|
+
cwd: string;
|
|
5
|
+
dryRun: boolean;
|
|
6
|
+
allowMissingLfs: boolean;
|
|
7
|
+
outFile?: string;
|
|
7
8
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
declare class PackCommand implements Command {
|
|
10
|
+
private readonly options;
|
|
11
|
+
constructor(options: PackCommandOptions);
|
|
12
|
+
execute(): Promise<0 | 1>;
|
|
12
13
|
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { PackCommand, PackCommandOptions };
|
|
13
16
|
//# sourceMappingURL=PackCommand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackCommand.d.ts","
|
|
1
|
+
{"version":3,"file":"PackCommand.d.ts","names":[],"sources":["../../src/commands/PackCommand.ts"],"mappings":";;UAIiB;EACf;EACA;EACA;EACA;;cAGW,uBAAuB;mBACL;EAA7B,YAA6B,SAAS;EAEhC,WAAO"}
|
|
@@ -1,22 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
import { DiagnosticReporter } from "../reporting/DiagnosticReporter.js";
|
|
2
|
+
import { pack } from "@uapkg/pack";
|
|
3
|
+
|
|
4
|
+
//#region src/commands/PackCommand.ts
|
|
5
|
+
var PackCommand = class {
|
|
6
|
+
options;
|
|
7
|
+
constructor(options) {
|
|
8
|
+
this.options = options;
|
|
9
|
+
}
|
|
10
|
+
async execute() {
|
|
11
|
+
const result = await pack({
|
|
12
|
+
cwd: this.options.cwd,
|
|
13
|
+
dryRun: this.options.dryRun,
|
|
14
|
+
allowMissingLfs: this.options.allowMissingLfs,
|
|
15
|
+
outFile: this.options.outFile
|
|
16
|
+
});
|
|
17
|
+
if (!result.ok) {
|
|
18
|
+
new DiagnosticReporter().reportAll(result.diagnostics);
|
|
19
|
+
return 1;
|
|
20
|
+
}
|
|
21
|
+
return 0;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
export { PackCommand };
|
|
22
27
|
//# sourceMappingURL=PackCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackCommand.js","
|
|
1
|
+
{"version":3,"file":"PackCommand.js","names":[],"sources":["../../src/commands/PackCommand.ts"],"sourcesContent":["import { pack } from '@uapkg/pack';\nimport { DiagnosticReporter } from '../reporting/DiagnosticReporter.js';\nimport type { Command } from './Command.js';\n\nexport interface PackCommandOptions {\n cwd: string;\n dryRun: boolean;\n allowMissingLfs: boolean;\n outFile?: string;\n}\n\nexport class PackCommand implements Command {\n constructor(private readonly options: PackCommandOptions) {}\n\n async execute() {\n const result = await pack({\n cwd: this.options.cwd,\n dryRun: this.options.dryRun,\n allowMissingLfs: this.options.allowMissingLfs,\n outFile: this.options.outFile,\n });\n\n if (!result.ok) {\n new DiagnosticReporter().reportAll(result.diagnostics);\n return 1;\n }\n\n return 0;\n }\n}\n"],"mappings":";;;;AAWA,IAAa,cAAb,MAA4C;CACb;CAA7B,YAAY,AAAiB,SAA6B;EAA7B;CAA8B;CAE3D,MAAM,UAAU;EACd,MAAM,SAAS,MAAM,KAAK;GACxB,KAAK,KAAK,QAAQ;GAClB,QAAQ,KAAK,QAAQ;GACrB,iBAAiB,KAAK,QAAQ;GAC9B,SAAS,KAAK,QAAQ;EACxB,CAAC;EAED,IAAI,CAAC,OAAO,IAAI;GACd,IAAI,mBAAmB,CAAC,CAAC,UAAU,OAAO,WAAW;GACrD,OAAO;EACT;EAEA,OAAO;CACT;AACF"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import { ControlPlaneAuthMode } from "../control-plane/ControlPlaneTypes.js";
|
|
2
|
+
import { CompositionRoot } from "../app/CompositionRoot.js";
|
|
3
|
+
import { UAPKGLifecycleCommandName, UAPKGOutputFormat } from "../cli/UAPKGCommandLine.js";
|
|
4
|
+
import { Command } from "./Command.js";
|
|
5
|
+
//#region src/commands/PackageLifecycleCommand.d.ts
|
|
6
|
+
interface PackageLifecycleCommandOptions {
|
|
7
|
+
readonly operation: UAPKGLifecycleCommandName;
|
|
8
|
+
readonly packageName: string;
|
|
9
|
+
readonly packageVersion: string;
|
|
10
|
+
readonly reason?: string;
|
|
11
|
+
readonly registry?: string;
|
|
12
|
+
readonly auth: ControlPlaneAuthMode;
|
|
13
|
+
readonly detach: boolean;
|
|
14
|
+
readonly outputFormat: UAPKGOutputFormat;
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* Shared implementation of the five route-derived package lifecycle
|
|
@@ -18,11 +19,14 @@ export interface PackageLifecycleCommandOptions {
|
|
|
18
19
|
* command posts to its dedicated submission route and watches the request
|
|
19
20
|
* to readiness unless detached.
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
declare class PackageLifecycleCommand implements Command {
|
|
23
|
+
private readonly root;
|
|
24
|
+
private readonly options;
|
|
25
|
+
constructor(root: CompositionRoot, options: PackageLifecycleCommandOptions);
|
|
26
|
+
execute(): Promise<number>;
|
|
27
|
+
private printCreated;
|
|
28
|
+
private printTerminal;
|
|
27
29
|
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { PackageLifecycleCommand, PackageLifecycleCommandOptions };
|
|
28
32
|
//# sourceMappingURL=PackageLifecycleCommand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageLifecycleCommand.d.ts","
|
|
1
|
+
{"version":3,"file":"PackageLifecycleCommand.d.ts","names":[],"sources":["../../src/commands/PackageLifecycleCommand.ts"],"mappings":";;;;;UAyBiB;WACN,WAAW;WACX;WACA;WACA;WACA;WACA,MAAM;WACN;WACA,cAAc;;;;;;;;cASZ,mCAAmC;mBAE3B;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW;UA0GhB;UAkBA"}
|
|
@@ -1,143 +1,149 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { ControlPlaneError } from "../control-plane/ControlPlaneTypes.js";
|
|
2
|
+
import { ControlPlaneClient } from "../control-plane/ControlPlaneClient.js";
|
|
3
|
+
import { describeControlPlaneError } from "../control-plane/AccountManager.js";
|
|
4
|
+
import { AuthenticationSelector } from "../control-plane/AuthenticationSelector.js";
|
|
5
|
+
import { PublishIdempotencyStore } from "../control-plane/PublishIdempotencyStore.js";
|
|
6
|
+
import { InkPromptService } from "../prompts/InkPromptService.js";
|
|
7
|
+
import { formatRegistryRequestTerminal, isRegistryRequestSuccessStatus, isRegistryRequestTerminalStatus } from "../reporting/RegistryRequestTerminalFormatter.js";
|
|
8
|
+
import { randomUUID } from "node:crypto";
|
|
9
|
+
|
|
10
|
+
//#region src/commands/PackageLifecycleCommand.ts
|
|
11
|
+
const WATCH_TIMEOUT_MS = 18e5;
|
|
12
|
+
const REASON_REQUIRED = /* @__PURE__ */ new Set([
|
|
13
|
+
"yank",
|
|
14
|
+
"unyank",
|
|
15
|
+
"unpublish",
|
|
16
|
+
"deprecate"
|
|
13
17
|
]);
|
|
14
|
-
const SUCCESS_STATUSES = new Set(['ready', 'ready_superseded']);
|
|
15
|
-
const WATCH_TIMEOUT_MS = 30 * 60 * 1000;
|
|
16
|
-
const REASON_REQUIRED = new Set(['yank', 'unyank', 'unpublish', 'deprecate']);
|
|
17
18
|
/**
|
|
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
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
19
|
+
* Shared implementation of the five route-derived package lifecycle
|
|
20
|
+
* operations (`uapkg yank|unyank|unpublish|deprecate|undeprecate`). Each
|
|
21
|
+
* command posts to its dedicated submission route and watches the request
|
|
22
|
+
* to readiness unless detached.
|
|
23
|
+
*/
|
|
24
|
+
var PackageLifecycleCommand = class {
|
|
25
|
+
root;
|
|
26
|
+
options;
|
|
27
|
+
constructor(root, options) {
|
|
28
|
+
this.root = root;
|
|
29
|
+
this.options = options;
|
|
30
|
+
}
|
|
31
|
+
async execute() {
|
|
32
|
+
try {
|
|
33
|
+
const { operation, packageName, packageVersion } = this.options;
|
|
34
|
+
if (!packageName.trim() || !packageVersion.trim()) throw new Error(`uapkg ${operation} requires a package name and an exact version.`);
|
|
35
|
+
const reason = this.options.reason?.trim();
|
|
36
|
+
if (REASON_REQUIRED.has(operation) && !reason) throw new Error(`uapkg ${operation} requires --reason describing why the version is changing state.`);
|
|
37
|
+
const trust = await this.root.registryTrustResolver.resolve(this.options.registry);
|
|
38
|
+
const selector = new AuthenticationSelector(this.root.accountManager, new InkPromptService());
|
|
39
|
+
const oidcTarget = {
|
|
40
|
+
registryId: trust.registryId,
|
|
41
|
+
packageName: packageName.trim()
|
|
42
|
+
};
|
|
43
|
+
const requestedScopes = this.options.detach ? ["publishing.request.create"] : ["publishing.request.create", "publishing.request.read.self"];
|
|
44
|
+
let authentication = await selector.select(this.options.auth, trust, requestedScopes, true, oidcTarget);
|
|
45
|
+
let requestOtp = authentication.otp;
|
|
46
|
+
authentication = {
|
|
47
|
+
kind: authentication.kind,
|
|
48
|
+
credential: authentication.credential
|
|
49
|
+
};
|
|
50
|
+
const submission = {
|
|
51
|
+
registryId: trust.registryId,
|
|
52
|
+
payload: {
|
|
53
|
+
packageName: packageName.trim(),
|
|
54
|
+
packageVersion: packageVersion.trim(),
|
|
55
|
+
...reason ? { reason } : {}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
const idempotencyStore = new PublishIdempotencyStore();
|
|
59
|
+
const submissionDigest = PublishIdempotencyStore.submissionDigest(operation, submission);
|
|
60
|
+
const idempotencyKey = idempotencyStore.getOrCreate(submissionDigest, () => randomUUID());
|
|
61
|
+
const client = new ControlPlaneClient(trust.apiBaseUrl);
|
|
62
|
+
let created;
|
|
63
|
+
try {
|
|
64
|
+
created = await client.submitRegistryRequest(authentication.credential, operation, submission, {
|
|
65
|
+
idempotencyKey,
|
|
66
|
+
otp: requestOtp
|
|
67
|
+
});
|
|
68
|
+
} finally {
|
|
69
|
+
requestOtp = void 0;
|
|
70
|
+
}
|
|
71
|
+
if (this.options.detach) {
|
|
72
|
+
this.printCreated(created.requestId, created.status, trust.alias);
|
|
73
|
+
return 0;
|
|
74
|
+
}
|
|
75
|
+
let detail = await client.getRegistryRequestDetail(authentication.credential, created.requestId);
|
|
76
|
+
let previousStatus = "";
|
|
77
|
+
const deadline = Date.now() + WATCH_TIMEOUT_MS;
|
|
78
|
+
while (!isRegistryRequestTerminalStatus(detail.request.status)) {
|
|
79
|
+
if (Date.now() >= deadline) throw new Error(`Timed out waiting for request ${detail.request.id}. Check it with \`uapkg requests status ${detail.request.id}\`.`);
|
|
80
|
+
if (this.options.outputFormat === "text" && detail.request.status !== previousStatus) {
|
|
81
|
+
process.stdout.write(`${detail.request.id}: ${detail.request.status}${detail.request.currentStep ? ` (${detail.request.currentStep})` : ""}\n`);
|
|
82
|
+
previousStatus = detail.request.status;
|
|
83
|
+
}
|
|
84
|
+
await delay(2e3);
|
|
85
|
+
try {
|
|
86
|
+
detail = await client.getRegistryRequestDetail(authentication.credential, created.requestId);
|
|
87
|
+
} catch (error) {
|
|
88
|
+
if (!(error instanceof ControlPlaneError) || error.status !== 401) throw error;
|
|
89
|
+
if (authentication.kind === "gat") throw error;
|
|
90
|
+
if (authentication.kind === "login") this.root.accountManager.invalidateAccessCredentials(trust);
|
|
91
|
+
authentication = await selector.select(authentication.kind, trust, ["publishing.request.read.self"], false, oidcTarget);
|
|
92
|
+
detail = await client.getRegistryRequestDetail(authentication.credential, created.requestId);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
idempotencyStore.clear(submissionDigest);
|
|
96
|
+
if (isRegistryRequestSuccessStatus(detail.request.status)) {
|
|
97
|
+
let refreshWarning;
|
|
98
|
+
try {
|
|
99
|
+
await this.root.registryTrustResolver.forceRefresh(trust);
|
|
100
|
+
} catch (error) {
|
|
101
|
+
refreshWarning = error instanceof Error ? error.message : String(error);
|
|
102
|
+
}
|
|
103
|
+
this.printTerminal(detail, trust.alias, refreshWarning);
|
|
104
|
+
return 0;
|
|
105
|
+
}
|
|
106
|
+
this.printTerminal(detail, trust.alias);
|
|
107
|
+
return 1;
|
|
108
|
+
} catch (error) {
|
|
109
|
+
process.stderr.write(`${describeControlPlaneError(error)}\n`);
|
|
110
|
+
return 1;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
printCreated(requestId, status, registryAlias) {
|
|
114
|
+
if (this.options.outputFormat === "json") {
|
|
115
|
+
process.stdout.write(`${JSON.stringify({
|
|
116
|
+
ok: true,
|
|
117
|
+
operation: this.options.operation,
|
|
118
|
+
registry: registryAlias,
|
|
119
|
+
requestId,
|
|
120
|
+
status
|
|
121
|
+
})}\n`);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
process.stdout.write(`${this.options.operation} request ${requestId} for ${this.options.packageName}@${this.options.packageVersion}: ${status}.\n`);
|
|
125
|
+
}
|
|
126
|
+
printTerminal(detail, registryAlias, refreshWarning) {
|
|
127
|
+
const output = formatRegistryRequestTerminal({
|
|
128
|
+
detail,
|
|
129
|
+
registryAlias,
|
|
130
|
+
outputFormat: this.options.outputFormat,
|
|
131
|
+
presentation: {
|
|
132
|
+
kind: "lifecycle",
|
|
133
|
+
operation: this.options.operation,
|
|
134
|
+
packageName: this.options.packageName,
|
|
135
|
+
packageVersion: this.options.packageVersion
|
|
136
|
+
},
|
|
137
|
+
...refreshWarning ? { registryRefreshWarning: refreshWarning } : {}
|
|
138
|
+
});
|
|
139
|
+
process.stdout.write(output.stdout);
|
|
140
|
+
if (output.stderr) process.stderr.write(output.stderr);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
140
143
|
function delay(milliseconds) {
|
|
141
|
-
|
|
144
|
+
return new Promise((resolve) => setTimeout(resolve, milliseconds));
|
|
142
145
|
}
|
|
146
|
+
|
|
147
|
+
//#endregion
|
|
148
|
+
export { PackageLifecycleCommand };
|
|
143
149
|
//# sourceMappingURL=PackageLifecycleCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageLifecycleCommand.js","sourceRoot":"","sources":["../../src/commands/PackageLifecycleCommand.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PackageLifecycleCommand.js","names":[],"sources":["../../src/commands/PackageLifecycleCommand.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport type { CompositionRoot } from '../app/CompositionRoot.js';\nimport type { UAPKGLifecycleCommandName, UAPKGOutputFormat } from '../cli/UAPKGCommandLine.js';\nimport { describeControlPlaneError } from '../control-plane/AccountManager.js';\nimport { AuthenticationSelector } from '../control-plane/AuthenticationSelector.js';\nimport { ControlPlaneClient } from '../control-plane/ControlPlaneClient.js';\nimport {\n type ControlPlaneAuthMode,\n ControlPlaneError,\n type RegistryRequestDetail,\n type RegistryRequestStatus,\n type RegistryRequestSubmission,\n} from '../control-plane/ControlPlaneTypes.js';\nimport { PublishIdempotencyStore } from '../control-plane/PublishIdempotencyStore.js';\nimport { InkPromptService } from '../prompts/InkPromptService.js';\nimport {\n formatRegistryRequestTerminal,\n isRegistryRequestSuccessStatus,\n isRegistryRequestTerminalStatus,\n} from '../reporting/RegistryRequestTerminalFormatter.js';\nimport type { Command } from './Command.js';\n\nconst WATCH_TIMEOUT_MS = 30 * 60 * 1000;\nconst REASON_REQUIRED: ReadonlySet<UAPKGLifecycleCommandName> = new Set(['yank', 'unyank', 'unpublish', 'deprecate']);\n\nexport interface PackageLifecycleCommandOptions {\n readonly operation: UAPKGLifecycleCommandName;\n readonly packageName: string;\n readonly packageVersion: string;\n readonly reason?: string;\n readonly registry?: string;\n readonly auth: ControlPlaneAuthMode;\n readonly detach: boolean;\n readonly outputFormat: UAPKGOutputFormat;\n}\n\n/**\n * Shared implementation of the five route-derived package lifecycle\n * operations (`uapkg yank|unyank|unpublish|deprecate|undeprecate`). Each\n * command posts to its dedicated submission route and watches the request\n * to readiness unless detached.\n */\nexport class PackageLifecycleCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: PackageLifecycleCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n try {\n const { operation, packageName, packageVersion } = this.options;\n if (!packageName.trim() || !packageVersion.trim()) {\n throw new Error(`uapkg ${operation} requires a package name and an exact version.`);\n }\n const reason = this.options.reason?.trim();\n if (REASON_REQUIRED.has(operation) && !reason) {\n throw new Error(`uapkg ${operation} requires --reason describing why the version is changing state.`);\n }\n\n const trust = await this.root.registryTrustResolver.resolve(this.options.registry);\n const selector = new AuthenticationSelector(this.root.accountManager, new InkPromptService());\n const oidcTarget = { registryId: trust.registryId, packageName: packageName.trim() };\n const requestedScopes = this.options.detach\n ? (['publishing.request.create'] as const)\n : (['publishing.request.create', 'publishing.request.read.self'] as const);\n let authentication = await selector.select(this.options.auth, trust, requestedScopes, true, oidcTarget);\n let requestOtp = authentication.otp;\n authentication = { kind: authentication.kind, credential: authentication.credential };\n\n const submission: RegistryRequestSubmission = {\n registryId: trust.registryId,\n payload: {\n packageName: packageName.trim(),\n packageVersion: packageVersion.trim(),\n ...(reason ? { reason } : {}),\n },\n };\n\n const idempotencyStore = new PublishIdempotencyStore();\n const submissionDigest = PublishIdempotencyStore.submissionDigest(operation, submission);\n const idempotencyKey = idempotencyStore.getOrCreate(submissionDigest, () => randomUUID());\n\n const client = new ControlPlaneClient(trust.apiBaseUrl);\n let created: Awaited<ReturnType<ControlPlaneClient['submitRegistryRequest']>>;\n try {\n created = await client.submitRegistryRequest(authentication.credential, operation, submission, {\n idempotencyKey,\n otp: requestOtp,\n });\n } finally {\n // Do not retain the request-bound code during status reads or watch.\n requestOtp = undefined;\n }\n if (this.options.detach) {\n this.printCreated(created.requestId, created.status, trust.alias);\n return 0;\n }\n\n let detail = await client.getRegistryRequestDetail(authentication.credential, created.requestId);\n let previousStatus = '';\n const deadline = Date.now() + WATCH_TIMEOUT_MS;\n while (!isRegistryRequestTerminalStatus(detail.request.status)) {\n if (Date.now() >= deadline) {\n throw new Error(\n `Timed out waiting for request ${detail.request.id}. Check it with \\`uapkg requests status ${detail.request.id}\\`.`,\n );\n }\n if (this.options.outputFormat === 'text' && detail.request.status !== previousStatus) {\n process.stdout.write(\n `${detail.request.id}: ${detail.request.status}${detail.request.currentStep ? ` (${detail.request.currentStep})` : ''}\\n`,\n );\n previousStatus = detail.request.status;\n }\n await delay(2_000);\n try {\n detail = await client.getRegistryRequestDetail(authentication.credential, created.requestId);\n } catch (error) {\n if (!(error instanceof ControlPlaneError) || error.status !== 401) throw error;\n if (authentication.kind === 'gat') throw error;\n if (authentication.kind === 'login') {\n this.root.accountManager.invalidateAccessCredentials(trust);\n }\n authentication = await selector.select(\n authentication.kind,\n trust,\n ['publishing.request.read.self'],\n false,\n oidcTarget,\n );\n detail = await client.getRegistryRequestDetail(authentication.credential, created.requestId);\n }\n }\n\n idempotencyStore.clear(submissionDigest);\n\n if (isRegistryRequestSuccessStatus(detail.request.status)) {\n let refreshWarning: string | undefined;\n try {\n await this.root.registryTrustResolver.forceRefresh(trust);\n } catch (error) {\n refreshWarning = error instanceof Error ? error.message : String(error);\n }\n this.printTerminal(detail, trust.alias, refreshWarning);\n return 0;\n }\n\n this.printTerminal(detail, trust.alias);\n return 1;\n } catch (error) {\n process.stderr.write(`${describeControlPlaneError(error)}\\n`);\n return 1;\n }\n }\n\n private printCreated(requestId: string, status: RegistryRequestStatus, registryAlias: string): void {\n if (this.options.outputFormat === 'json') {\n process.stdout.write(\n `${JSON.stringify({\n ok: true,\n operation: this.options.operation,\n registry: registryAlias,\n requestId,\n status,\n })}\\n`,\n );\n return;\n }\n process.stdout.write(\n `${this.options.operation} request ${requestId} for ${this.options.packageName}@${this.options.packageVersion}: ${status}.\\n`,\n );\n }\n\n private printTerminal(detail: RegistryRequestDetail, registryAlias: string, refreshWarning?: string): void {\n const output = formatRegistryRequestTerminal({\n detail,\n registryAlias,\n outputFormat: this.options.outputFormat,\n presentation: {\n kind: 'lifecycle',\n operation: this.options.operation,\n packageName: this.options.packageName,\n packageVersion: this.options.packageVersion,\n },\n ...(refreshWarning ? { registryRefreshWarning: refreshWarning } : {}),\n });\n process.stdout.write(output.stdout);\n if (output.stderr) process.stderr.write(output.stderr);\n }\n}\n\nfunction delay(milliseconds: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, milliseconds));\n}\n"],"mappings":"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"}
|