@uapkg/cli 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/README.md +3 -0
  2. package/dist/build/BuildMetadata.js +2 -2
  3. package/dist/cli-bootstrap.js +19846 -13
  4. package/dist/cli.js +1 -1
  5. package/dist/index.js +19980 -60
  6. package/dist/licenses/semver-LICENSE +15 -0
  7. package/dist/profile.js +25 -0
  8. package/dist/runtime-lock.json +2142 -0
  9. package/dist/{app → types/uapkg/app}/CompositionRoot.d.ts +4 -5
  10. package/dist/{app → types/uapkg/app}/UAPKGApplication.d.ts +0 -1
  11. package/dist/{build → types/uapkg/build}/BuildMetadata.d.ts +1 -2
  12. package/dist/types/uapkg/cli/DebugEnvironment.d.ts +15 -0
  13. package/dist/types/uapkg/cli/DebugInfo.d.ts +15 -0
  14. package/dist/{cli → types/uapkg/cli}/UAPKGCommandLine.d.ts +0 -1
  15. package/dist/{cli → types/uapkg/cli}/parseCommandLine.d.ts +0 -1
  16. package/dist/{cli → types/uapkg/cli}/parsing/UAPKGCommandLineParser.d.ts +0 -1
  17. package/dist/{cli → types/uapkg/cli}/parsing/UAPKGParserRegistry.d.ts +0 -1
  18. package/dist/{cli → types/uapkg/cli}/parsing/contracts/UAPKGCommandModule.d.ts +0 -1
  19. package/dist/{cli → types/uapkg/cli}/parsing/modules/AddCommandModule.d.ts +0 -1
  20. package/dist/{cli → types/uapkg/cli}/parsing/modules/ConfigCommandModule.d.ts +0 -1
  21. package/dist/{cli → types/uapkg/cli}/parsing/modules/InitCommandModule.d.ts +0 -1
  22. package/dist/{cli → types/uapkg/cli}/parsing/modules/InstallCommandModule.d.ts +0 -1
  23. package/dist/{cli → types/uapkg/cli}/parsing/modules/LifecycleCommandModule.d.ts +0 -1
  24. package/dist/{cli → types/uapkg/cli}/parsing/modules/ListCommandModule.d.ts +0 -1
  25. package/dist/{cli → types/uapkg/cli}/parsing/modules/LoginCommandModule.d.ts +0 -1
  26. package/dist/{cli → types/uapkg/cli}/parsing/modules/LogoutCommandModule.d.ts +0 -1
  27. package/dist/{cli → types/uapkg/cli}/parsing/modules/OutdatedCommandModule.d.ts +0 -1
  28. package/dist/{cli → types/uapkg/cli}/parsing/modules/PackCommandModule.d.ts +0 -1
  29. package/dist/{cli → types/uapkg/cli}/parsing/modules/ProjectGetNameCommandModule.d.ts +0 -1
  30. package/dist/{cli → types/uapkg/cli}/parsing/modules/PublishCommandModule.d.ts +0 -1
  31. package/dist/{cli → types/uapkg/cli}/parsing/modules/RegistryCommandModule.d.ts +0 -1
  32. package/dist/{cli → types/uapkg/cli}/parsing/modules/RemoveCommandModule.d.ts +0 -1
  33. package/dist/{cli → types/uapkg/cli}/parsing/modules/RequestsCommandModule.d.ts +0 -1
  34. package/dist/{cli → types/uapkg/cli}/parsing/modules/UpdateCommandModule.d.ts +0 -1
  35. package/dist/{cli → types/uapkg/cli}/parsing/modules/WhoamiCommandModule.d.ts +0 -1
  36. package/dist/{cli → types/uapkg/cli}/parsing/modules/WhyCommandModule.d.ts +0 -1
  37. package/dist/{cli → types/uapkg/cli}/parsing/modules/sharedOptions.d.ts +0 -1
  38. package/dist/{cli → types/uapkg/cli}/runUAPKGCLI.d.ts +0 -1
  39. package/dist/{commands → types/uapkg/commands}/AddCommand.d.ts +0 -1
  40. package/dist/{commands → types/uapkg/commands}/Command.d.ts +0 -1
  41. package/dist/{commands → types/uapkg/commands}/ConfigCommand.d.ts +0 -1
  42. package/dist/{commands → types/uapkg/commands}/InitCommand.d.ts +1 -2
  43. package/dist/{commands → types/uapkg/commands}/InstallCommand.d.ts +0 -1
  44. package/dist/{commands → types/uapkg/commands}/ListCommand.d.ts +0 -1
  45. package/dist/{commands → types/uapkg/commands}/LoginCommand.d.ts +0 -1
  46. package/dist/{commands → types/uapkg/commands}/LogoutCommand.d.ts +0 -1
  47. package/dist/{commands → types/uapkg/commands}/OutdatedCommand.d.ts +0 -1
  48. package/dist/{commands → types/uapkg/commands}/PackCommand.d.ts +0 -1
  49. package/dist/{commands → types/uapkg/commands}/PackageLifecycleCommand.d.ts +0 -1
  50. package/dist/{commands → types/uapkg/commands}/PostinstallCandidateBuilder.d.ts +2 -3
  51. package/dist/{commands → types/uapkg/commands}/ProjectGetNameCommand.d.ts +0 -1
  52. package/dist/{commands → types/uapkg/commands}/PublishCommand.d.ts +1 -2
  53. package/dist/{commands → types/uapkg/commands}/RegistryCommand.d.ts +0 -1
  54. package/dist/{commands → types/uapkg/commands}/RemoveCommand.d.ts +0 -1
  55. package/dist/{commands → types/uapkg/commands}/RequestsCommand.d.ts +0 -1
  56. package/dist/{commands → types/uapkg/commands}/UpdateCommand.d.ts +0 -1
  57. package/dist/{commands → types/uapkg/commands}/WhoamiCommand.d.ts +0 -1
  58. package/dist/{commands → types/uapkg/commands}/WhyCommand.d.ts +0 -1
  59. package/dist/{commands → types/uapkg/commands}/add/DependencyAddResolver.d.ts +3 -4
  60. package/dist/{control-plane → types/uapkg/control-plane}/AccountManager.d.ts +1 -2
  61. package/dist/{control-plane → types/uapkg/control-plane}/ArtifactObserver.d.ts +0 -1
  62. package/dist/{control-plane → types/uapkg/control-plane}/AuthMetadataStore.d.ts +0 -1
  63. package/dist/{control-plane → types/uapkg/control-plane}/AuthStoragePaths.d.ts +0 -1
  64. package/dist/{control-plane → types/uapkg/control-plane}/AuthenticationSelector.d.ts +0 -1
  65. package/dist/{control-plane → types/uapkg/control-plane}/ControlPlaneClient.d.ts +1 -2
  66. package/dist/{control-plane → types/uapkg/control-plane}/ControlPlaneEndpoints.d.ts +1 -2
  67. package/dist/{control-plane → types/uapkg/control-plane}/ControlPlaneTypes.d.ts +4 -2
  68. package/dist/{control-plane → types/uapkg/control-plane}/CredentialStore.d.ts +0 -1
  69. package/dist/{control-plane → types/uapkg/control-plane}/DPoPKeyStore.d.ts +0 -1
  70. package/dist/{control-plane → types/uapkg/control-plane}/GitHubActionsOidcCredentialProvider.d.ts +4 -3
  71. package/dist/{control-plane → types/uapkg/control-plane}/PublishIdempotencyStore.d.ts +0 -1
  72. package/dist/{control-plane → types/uapkg/control-plane}/PublishRequestErrorMapper.d.ts +1 -2
  73. package/dist/{control-plane → types/uapkg/control-plane}/RegistryGrantLock.d.ts +0 -1
  74. package/dist/{control-plane → types/uapkg/control-plane}/RegistryTrustResolver.d.ts +0 -1
  75. package/dist/types/uapkg/control-plane/RequestWatch.d.ts +15 -0
  76. package/dist/types/uapkg/control-plane/RetryAfter.d.ts +6 -0
  77. package/dist/{postinstall → types/uapkg/postinstall}/api/PostinstallDsl.d.ts +0 -1
  78. package/dist/{postinstall → types/uapkg/postinstall}/api/definePostinstall.d.ts +0 -1
  79. package/dist/{postinstall → types/uapkg/postinstall}/loader/EntryResolver.d.ts +1 -2
  80. package/dist/{postinstall → types/uapkg/postinstall}/loader/EsbuildTranspiler.d.ts +1 -2
  81. package/dist/{postinstall → types/uapkg/postinstall}/loader/ExportValidator.d.ts +1 -2
  82. package/dist/{postinstall → types/uapkg/postinstall}/loader/ModuleImporter.d.ts +1 -2
  83. package/dist/{postinstall → types/uapkg/postinstall}/loader/PostinstallLoader.d.ts +1 -2
  84. package/dist/{postinstall → types/uapkg/postinstall}/markers/MarkerBlockEditor.d.ts +1 -2
  85. package/dist/{postinstall → types/uapkg/postinstall}/markers/MarkerBlockService.d.ts +0 -1
  86. package/dist/{postinstall → types/uapkg/postinstall}/markers/MarkerIntegrityValidator.d.ts +0 -1
  87. package/dist/{postinstall → types/uapkg/postinstall}/policy/PostinstallPolicyGate.d.ts +2 -3
  88. package/dist/{postinstall → types/uapkg/postinstall}/runner/PostinstallOrchestrator.d.ts +1 -2
  89. package/dist/{postinstall → types/uapkg/postinstall}/unreal/BuildCsInjector.d.ts +1 -2
  90. package/dist/{postinstall → types/uapkg/postinstall}/unreal/CSharpInjectionEngine.d.ts +0 -1
  91. package/dist/{postinstall → types/uapkg/postinstall}/unreal/CSharpStructureAnalyzer.d.ts +0 -1
  92. package/dist/{postinstall → types/uapkg/postinstall}/unreal/CSharpStructures.d.ts +0 -1
  93. package/dist/{postinstall → types/uapkg/postinstall}/unreal/CSharpWrapperFactory.d.ts +0 -1
  94. package/dist/{postinstall → types/uapkg/postinstall}/unreal/PluginHash.d.ts +0 -1
  95. package/dist/{postinstall → types/uapkg/postinstall}/unreal/PrettyParseError.d.ts +0 -1
  96. package/dist/{postinstall → types/uapkg/postinstall}/unreal/ProjectFileLocator.d.ts +0 -1
  97. package/dist/{postinstall → types/uapkg/postinstall}/unreal/TargetCsInjector.d.ts +1 -2
  98. package/dist/{postinstall → types/uapkg/postinstall}/unreal/UProjectInjector.d.ts +1 -2
  99. package/dist/{postinstall → types/uapkg/postinstall}/unreal/UProjectMetadataReader.d.ts +0 -1
  100. package/dist/{postinstall → types/uapkg/postinstall}/unreal/UnrealSourceCatalog.d.ts +0 -1
  101. package/dist/{prompts → types/uapkg/prompts}/InkPromptService.d.ts +0 -1
  102. package/dist/{prompts → types/uapkg/prompts}/ProjectContextDetector.d.ts +1 -2
  103. package/dist/{prompts → types/uapkg/prompts}/PromptService.d.ts +0 -1
  104. package/dist/{reporting → types/uapkg/reporting}/DiagnosticDeduplicator.d.ts +1 -2
  105. package/dist/{reporting → types/uapkg/reporting}/DiagnosticRenderer.d.ts +1 -2
  106. package/dist/{reporting → types/uapkg/reporting}/DiagnosticReporter.d.ts +1 -2
  107. package/dist/{reporting → types/uapkg/reporting}/InkDiagnosticRenderer.d.ts +2 -3
  108. package/dist/{reporting → types/uapkg/reporting}/InstallProgressReporter.d.ts +1 -2
  109. package/dist/{reporting → types/uapkg/reporting}/JsonReporter.d.ts +1 -2
  110. package/dist/{reporting → types/uapkg/reporting}/RegistryRequestTerminalFormatter.d.ts +0 -1
  111. package/dist/{reporting → types/uapkg/reporting}/TextDiagnosticRenderer.d.ts +1 -2
  112. package/dist/{reporting → types/uapkg/reporting}/TextSink.d.ts +1 -2
  113. package/dist/types/uapkg-common/format/prettyBytes.d.ts +19 -0
  114. package/dist/types/uapkg-common/hash/registryIdentifier.d.ts +28 -0
  115. package/dist/types/uapkg-common/hash/sha256.d.ts +12 -0
  116. package/dist/types/uapkg-common/index.d.ts +10 -0
  117. package/dist/types/uapkg-common/json/safeJsonParse.d.ts +9 -0
  118. package/dist/types/uapkg-common/json/stableStringify.d.ts +9 -0
  119. package/dist/types/uapkg-common/normalize/normalizeUrl.d.ts +11 -0
  120. package/dist/types/uapkg-common/paths/forwardSlash.d.ts +12 -0
  121. package/dist/types/uapkg-common/runtime/UapkgRuntimeProfile.d.ts +19 -0
  122. package/dist/types/uapkg-common/spec/parsePackageSpec.d.ts +21 -0
  123. package/dist/types/uapkg-common-schema/brand/Brand.d.ts +15 -0
  124. package/dist/types/uapkg-common-schema/index.d.ts +17 -0
  125. package/dist/types/uapkg-common-schema/primitives/AssetHash.d.ts +11 -0
  126. package/dist/types/uapkg-common-schema/primitives/ConcurrencyCount.d.ts +11 -0
  127. package/dist/types/uapkg-common-schema/primitives/DurationSeconds.d.ts +11 -0
  128. package/dist/types/uapkg-common-schema/primitives/GitTree.d.ts +10 -0
  129. package/dist/types/uapkg-common-schema/primitives/InstallPath.d.ts +18 -0
  130. package/dist/types/uapkg-common-schema/primitives/OrgName.d.ts +12 -0
  131. package/dist/types/uapkg-common-schema/primitives/PackageName.d.ts +14 -0
  132. package/dist/types/uapkg-common-schema/primitives/PackageSpec.d.ts +21 -0
  133. package/dist/types/uapkg-common-schema/primitives/PackageVersion.d.ts +10 -0
  134. package/dist/types/uapkg-common-schema/primitives/PostInstallPolicy.d.ts +21 -0
  135. package/dist/types/uapkg-common-schema/primitives/RegistryIdentifier.d.ts +15 -0
  136. package/dist/types/uapkg-common-schema/primitives/RegistryName.d.ts +18 -0
  137. package/dist/types/uapkg-common-schema/primitives/RegistryURL.d.ts +10 -0
  138. package/dist/types/uapkg-common-schema/primitives/UnixTimestamp.d.ts +10 -0
  139. package/dist/types/uapkg-common-schema/primitives/VersionRange.d.ts +10 -0
  140. package/dist/types/uapkg-config/contracts/ConfigTypes.d.ts +58 -0
  141. package/dist/types/uapkg-config/core/ConfigInstance.d.ts +43 -0
  142. package/dist/types/uapkg-config/core/ConfigLayerBuilder.d.ts +13 -0
  143. package/dist/types/uapkg-config/core/ConfigResolver.d.ts +19 -0
  144. package/dist/types/uapkg-config/core/ConfigSemanticValidator.d.ts +13 -0
  145. package/dist/types/uapkg-config/core/ConfigWriter.d.ts +25 -0
  146. package/dist/types/uapkg-config/core/PostInstallPolicyResolver.d.ts +22 -0
  147. package/dist/types/uapkg-config/factory/createConfig.d.ts +6 -0
  148. package/dist/types/uapkg-config/files/ConfigFileRepository.d.ts +11 -0
  149. package/dist/types/uapkg-config/files/ConfigPathResolver.d.ts +14 -0
  150. package/dist/types/uapkg-config/index.d.ts +127 -0
  151. package/dist/types/uapkg-config/merge/ConfigMerger.d.ts +10 -0
  152. package/dist/types/uapkg-config/merge/ConfigSchemaMergeEngine.d.ts +26 -0
  153. package/dist/types/uapkg-config/schema/configSchema.d.ts +114 -0
  154. package/dist/types/uapkg-config/schema/pathSchema.d.ts +12 -0
  155. package/dist/types/uapkg-config/schema/runtime/ConfigCliValueParser.d.ts +18 -0
  156. package/dist/types/uapkg-config/schema/runtime/ConfigSchemaIntrospection.d.ts +13 -0
  157. package/dist/types/uapkg-config/schema/runtime/ConfigSchemaRuntime.d.ts +26 -0
  158. package/dist/types/uapkg-config/schema/runtime/ConfigSchemaRuntimeProvider.d.ts +7 -0
  159. package/dist/types/uapkg-diagnostics/base/Diagnostic.d.ts +32 -0
  160. package/dist/types/uapkg-diagnostics/base/DiagnosticBag.d.ts +44 -0
  161. package/dist/types/uapkg-diagnostics/base/DiagnosticFingerprint.d.ts +12 -0
  162. package/dist/types/uapkg-diagnostics/base/DiagnosticLevel.d.ts +11 -0
  163. package/dist/types/uapkg-diagnostics/base/Result.d.ts +26 -0
  164. package/dist/types/uapkg-diagnostics/config/ConfigDiagnostics.d.ts +49 -0
  165. package/dist/types/uapkg-diagnostics/controlPlane/ControlPlaneDiagnostics.d.ts +25 -0
  166. package/dist/types/uapkg-diagnostics/general/GeneralDiagnostics.d.ts +23 -0
  167. package/dist/types/uapkg-diagnostics/index.d.ts +20 -0
  168. package/dist/types/uapkg-diagnostics/installer/InstallerDiagnostics.d.ts +55 -0
  169. package/dist/types/uapkg-diagnostics/manifest/ManifestDiagnostics.d.ts +70 -0
  170. package/dist/types/uapkg-diagnostics/pack/PackDiagnostics.d.ts +49 -0
  171. package/dist/types/uapkg-diagnostics/postinstall/PostinstallDiagnostics.d.ts +47 -0
  172. package/dist/types/uapkg-diagnostics/publishing/PublishingDiagnostics.d.ts +77 -0
  173. package/dist/types/uapkg-diagnostics/registry/RegistryDiagnostics.d.ts +71 -0
  174. package/dist/types/uapkg-diagnostics/registryTools/RegistryToolsDiagnostics.d.ts +130 -0
  175. package/dist/types/uapkg-diagnostics/resolver/ResolverDiagnostics.d.ts +38 -0
  176. package/dist/types/uapkg-diagnostics/safety/SafetyDiagnostics.d.ts +33 -0
  177. package/dist/types/uapkg-diagnostics/spec/SpecDiagnostics.d.ts +23 -0
  178. package/dist/types/uapkg-diagnostics/types.d.ts +37 -0
  179. package/dist/types/uapkg-diagnostics-format/contracts/FormatterTypes.d.ts +23 -0
  180. package/dist/types/uapkg-diagnostics-format/defaults/defaultFormatters.d.ts +8 -0
  181. package/dist/types/uapkg-diagnostics-format/formatters/PlainTextFormatter.d.ts +11 -0
  182. package/dist/types/uapkg-diagnostics-format/formatters/config/configFormatters.d.ts +5 -0
  183. package/dist/types/uapkg-diagnostics-format/formatters/installer/installerFormatters.d.ts +5 -0
  184. package/dist/types/uapkg-diagnostics-format/formatters/manifest/manifestFormatters.d.ts +5 -0
  185. package/dist/types/uapkg-diagnostics-format/formatters/pack/packFormatters.d.ts +5 -0
  186. package/dist/types/uapkg-diagnostics-format/formatters/postinstall/postinstallFormatters.d.ts +5 -0
  187. package/dist/types/uapkg-diagnostics-format/formatters/publishing/publishingFormatters.d.ts +13 -0
  188. package/dist/types/uapkg-diagnostics-format/formatters/registry/registryFormatters.d.ts +5 -0
  189. package/dist/types/uapkg-diagnostics-format/formatters/registryTools/registryToolsFormatters.d.ts +5 -0
  190. package/dist/types/uapkg-diagnostics-format/formatters/resolver/resolverFormatters.d.ts +5 -0
  191. package/dist/types/uapkg-diagnostics-format/formatters/safety/safetyFormatters.d.ts +5 -0
  192. package/dist/types/uapkg-diagnostics-format/formatters/spec/specFormatters.d.ts +5 -0
  193. package/dist/types/uapkg-diagnostics-format/index.d.ts +15 -0
  194. package/dist/types/uapkg-diagnostics-format/ink/components/configInkComponents.d.ts +5 -0
  195. package/dist/types/uapkg-diagnostics-format/ink/components/installerInkComponents.d.ts +5 -0
  196. package/dist/types/uapkg-diagnostics-format/ink/components/manifestInkComponents.d.ts +5 -0
  197. package/dist/types/uapkg-diagnostics-format/ink/components/packInkComponents.d.ts +5 -0
  198. package/dist/types/uapkg-diagnostics-format/ink/components/postinstallInkComponents.d.ts +5 -0
  199. package/dist/types/uapkg-diagnostics-format/ink/components/publishingInkComponents.d.ts +5 -0
  200. package/dist/types/uapkg-diagnostics-format/ink/components/registryInkComponents.d.ts +5 -0
  201. package/dist/types/uapkg-diagnostics-format/ink/components/resolverInkComponents.d.ts +5 -0
  202. package/dist/types/uapkg-diagnostics-format/ink/components/safetyInkComponents.d.ts +5 -0
  203. package/dist/types/uapkg-diagnostics-format/ink/components/specInkComponents.d.ts +5 -0
  204. package/dist/types/uapkg-diagnostics-format/ink/contracts/InkTypes.d.ts +35 -0
  205. package/dist/types/uapkg-diagnostics-format/ink/defaults/defaultInkComponents.d.ts +15 -0
  206. package/dist/types/uapkg-diagnostics-format/ink/index.d.ts +17 -0
  207. package/dist/types/uapkg-diagnostics-format/ink/primitives/HintLine.d.ts +12 -0
  208. package/dist/types/uapkg-diagnostics-format/ink/primitives/PlainTextBody.d.ts +11 -0
  209. package/dist/types/uapkg-diagnostics-format/ink/primitives/SeverityBadge.d.ts +13 -0
  210. package/dist/types/uapkg-diagnostics-format/ink/registry/DiagnosticInkRegistry.d.ts +24 -0
  211. package/dist/types/uapkg-diagnostics-format/ink/views/DiagnosticView.d.ts +21 -0
  212. package/dist/types/uapkg-diagnostics-format/ink/views/DiagnosticsListView.d.ts +16 -0
  213. package/dist/types/uapkg-diagnostics-format/registry/FormatterRegistry.d.ts +26 -0
  214. package/dist/types/uapkg-diagnostics-format/utils/indent.d.ts +7 -0
  215. package/dist/types/uapkg-installer/contracts/InstallerTypes.d.ts +91 -0
  216. package/dist/types/uapkg-installer/contracts/SafetyPolicyTypes.d.ts +43 -0
  217. package/dist/types/uapkg-installer/contracts/StatusStreamTypes.d.ts +42 -0
  218. package/dist/types/uapkg-installer/core/ClaimsVerifier.d.ts +22 -0
  219. package/dist/types/uapkg-installer/core/DiskStateInspector.d.ts +29 -0
  220. package/dist/types/uapkg-installer/core/InstallPlanner.d.ts +35 -0
  221. package/dist/types/uapkg-installer/core/Installer.d.ts +61 -0
  222. package/dist/types/uapkg-installer/core/IntegrityVerifier.d.ts +16 -0
  223. package/dist/types/uapkg-installer/core/PackageDownloader.d.ts +40 -0
  224. package/dist/types/uapkg-installer/core/PackageExtractor.d.ts +20 -0
  225. package/dist/types/uapkg-installer/core/PackageRemover.d.ts +14 -0
  226. package/dist/types/uapkg-installer/index.d.ts +16 -0
  227. package/dist/types/uapkg-installer/safety/NoMarkerPolicy.d.ts +17 -0
  228. package/dist/types/uapkg-installer/safety/SafetyPolicyRegistry.d.ts +32 -0
  229. package/dist/types/uapkg-installer/status/SlotTable.d.ts +36 -0
  230. package/dist/types/uapkg-installer/status/StatusStream.d.ts +25 -0
  231. package/dist/types/uapkg-log/contracts/LoggerTypes.d.ts +22 -0
  232. package/dist/types/uapkg-log/core/LogLevelPolicy.d.ts +15 -0
  233. package/dist/types/uapkg-log/core/LoggerFactory.d.ts +11 -0
  234. package/dist/types/uapkg-log/core/LoggerInstance.d.ts +17 -0
  235. package/dist/types/uapkg-log/core/WinstonLoggerAdapter.d.ts +8 -0
  236. package/dist/types/uapkg-log/index.d.ts +8 -0
  237. package/dist/types/uapkg-pack/contracts/PackTypes.d.ts +29 -0
  238. package/dist/types/uapkg-pack/core/FileCrawler.d.ts +12 -0
  239. package/dist/types/uapkg-pack/core/IgnoreEvaluator.d.ts +7 -0
  240. package/dist/types/uapkg-pack/core/IgnoreRuleLoader.d.ts +14 -0
  241. package/dist/types/uapkg-pack/core/IntegrityWriter.d.ts +6 -0
  242. package/dist/types/uapkg-pack/core/LFSPointerDetector.d.ts +6 -0
  243. package/dist/types/uapkg-pack/core/PackArtifactExcluder.d.ts +11 -0
  244. package/dist/types/uapkg-pack/core/PackManifestReader.d.ts +8 -0
  245. package/dist/types/uapkg-pack/core/PackService.d.ts +32 -0
  246. package/dist/types/uapkg-pack/core/PluginDescriptorGuard.d.ts +11 -0
  247. package/dist/types/uapkg-pack/core/PluginRootResolver.d.ts +14 -0
  248. package/dist/types/uapkg-pack/core/TarArchiveWriter.d.ts +11 -0
  249. package/dist/types/uapkg-pack/index.d.ts +7 -0
  250. package/dist/types/uapkg-package-claims/archive/PackagedManifestReader.d.ts +28 -0
  251. package/dist/types/uapkg-package-claims/claims/ClaimsComparison.d.ts +44 -0
  252. package/dist/types/uapkg-package-claims/claims/PackageClaims.d.ts +9 -0
  253. package/dist/types/uapkg-package-claims/index.d.ts +7 -0
  254. package/dist/types/uapkg-package-claims/json/CanonicalJson.d.ts +17 -0
  255. package/dist/types/uapkg-package-claims/schema/PackageClaimsSchema.d.ts +27 -0
  256. package/dist/types/uapkg-package-claims/schema/index.d.ts +2 -0
  257. package/dist/types/uapkg-package-manifest/contracts/ManifestTypes.d.ts +37 -0
  258. package/dist/types/uapkg-package-manifest/core/DependencyMutator.d.ts +48 -0
  259. package/dist/types/uapkg-package-manifest/core/DevDependencyPolicy.d.ts +30 -0
  260. package/dist/types/uapkg-package-manifest/core/InstallPathResolver.d.ts +35 -0
  261. package/dist/types/uapkg-package-manifest/core/LockfileDiffer.d.ts +40 -0
  262. package/dist/types/uapkg-package-manifest/core/LockfileSyncIssue.d.ts +11 -0
  263. package/dist/types/uapkg-package-manifest/core/LockfileSyncValidator.d.ts +26 -0
  264. package/dist/types/uapkg-package-manifest/core/OutdatedChecker.d.ts +36 -0
  265. package/dist/types/uapkg-package-manifest/core/PackageManifest.d.ts +63 -0
  266. package/dist/types/uapkg-package-manifest/core/WhyGraph.d.ts +31 -0
  267. package/dist/types/uapkg-package-manifest/index.d.ts +18 -0
  268. package/dist/types/uapkg-package-manifest/io/LockfileReader.d.ts +12 -0
  269. package/dist/types/uapkg-package-manifest/io/LockfileSyncIssueWriter.d.ts +12 -0
  270. package/dist/types/uapkg-package-manifest/io/LockfileWriter.d.ts +11 -0
  271. package/dist/types/uapkg-package-manifest/io/ManifestReader.d.ts +12 -0
  272. package/dist/types/uapkg-package-manifest/io/ManifestWriter.d.ts +13 -0
  273. package/dist/types/uapkg-package-manifest/resolver/LockfileSync.d.ts +13 -0
  274. package/dist/types/uapkg-package-manifest/resolver/Resolver.d.ts +16 -0
  275. package/dist/types/uapkg-package-manifest-schema/index.d.ts +10 -0
  276. package/dist/types/uapkg-package-manifest-schema/lockfile/LockDependencySchema.d.ts +15 -0
  277. package/dist/types/uapkg-package-manifest-schema/lockfile/LockfileSchema.d.ts +22 -0
  278. package/dist/types/uapkg-package-manifest-schema/manifest/BaseManifestSchema.d.ts +56 -0
  279. package/dist/types/uapkg-package-manifest-schema/manifest/DependencySchema.d.ts +57 -0
  280. package/dist/types/uapkg-package-manifest-schema/manifest/ManifestKind.d.ts +17 -0
  281. package/dist/types/uapkg-package-manifest-schema/manifest/ManifestSchema.d.ts +106 -0
  282. package/dist/types/uapkg-package-manifest-schema/manifest/PluginManifestSchema.d.ts +52 -0
  283. package/dist/types/uapkg-package-manifest-schema/manifest/ProjectManifestSchema.d.ts +80 -0
  284. package/dist/types/uapkg-package-manifest-schema/manifest/PublishSchema.d.ts +15 -0
  285. package/dist/types/uapkg-registry-core/contracts/RegistryCoreTypes.d.ts +54 -0
  286. package/dist/types/uapkg-registry-core/core/RegistryCore.d.ts +26 -0
  287. package/dist/types/uapkg-registry-core/index.d.ts +14 -0
  288. package/dist/types/uapkg-registry-core/paths/RegistryPaths.d.ts +15 -0
  289. package/dist/types/uapkg-registry-core/registry/GitRunner.d.ts +31 -0
  290. package/dist/types/uapkg-registry-core/registry/Registry.d.ts +46 -0
  291. package/dist/types/uapkg-registry-core/registry/RegistryCacheValidator.d.ts +21 -0
  292. package/dist/types/uapkg-registry-core/registry/RegistryLock.d.ts +27 -0
  293. package/dist/types/uapkg-registry-core/registry/RegistryMetadataReader.d.ts +18 -0
  294. package/dist/types/uapkg-registry-core/registry/RegistryPackageReader.d.ts +24 -0
  295. package/dist/types/uapkg-registry-core/registry/RegistrySyncPolicy.d.ts +14 -0
  296. package/dist/types/uapkg-registry-core/registry/RegistryUpdater.d.ts +23 -0
  297. package/dist/types/uapkg-registry-core/registry/RegistryUrlSanitizer.d.ts +10 -0
  298. package/dist/types/uapkg-registry-core/resolution/PackageResolver.d.ts +21 -0
  299. package/dist/types/uapkg-registry-core/resolution/SemverSelectionPolicy.d.ts +36 -0
  300. package/dist/types/uapkg-registry-schema/index.d.ts +9 -0
  301. package/dist/types/uapkg-registry-schema/paths/RegistryPackagePath.d.ts +15 -0
  302. package/dist/types/uapkg-registry-schema/schemas/IntegritySchema.d.ts +12 -0
  303. package/dist/types/uapkg-registry-schema/schemas/PackageRegistryManifestSchema.d.ts +108 -0
  304. package/dist/types/uapkg-registry-schema/schemas/PackageSourceSchema.d.ts +12 -0
  305. package/dist/types/uapkg-registry-schema/schemas/RegistryAssetSchema.d.ts +15 -0
  306. package/dist/types/uapkg-registry-schema/schemas/RegistryDependencySchema.d.ts +36 -0
  307. package/dist/types/uapkg-registry-schema/schemas/RegistryMetaSchema.d.ts +29 -0
  308. package/dist/types/uapkg-registry-schema/schemas/RegistryVersionSchema.d.ts +71 -0
  309. package/dist/types/uapkg-registry-tools/aggregator/RegistryToolsAggregator.d.ts +45 -0
  310. package/dist/types/uapkg-registry-tools/contracts/RegistryToolsTypes.d.ts +116 -0
  311. package/dist/types/uapkg-registry-tools/index.d.ts +18 -0
  312. package/dist/types/uapkg-registry-tools/io/IntegrityCalculator.d.ts +20 -0
  313. package/dist/types/uapkg-registry-tools/io/ManifestStore.d.ts +41 -0
  314. package/dist/types/uapkg-registry-tools/listing/PackageLister.d.ts +22 -0
  315. package/dist/types/uapkg-registry-tools/mutation/AddPackageVersionPlanner.d.ts +25 -0
  316. package/dist/types/uapkg-registry-tools/mutation/RemovePackagePlanner.d.ts +22 -0
  317. package/dist/types/uapkg-registry-tools/mutation/RemovePackageVersionPlanner.d.ts +21 -0
  318. package/dist/types/uapkg-registry-tools/mutation/VersionSorter.d.ts +10 -0
  319. package/dist/types/uapkg-registry-tools/paths/RegistryRepoPaths.d.ts +23 -0
  320. package/dist/types/uapkg-registry-tools/tools/RegistryTools.d.ts +64 -0
  321. package/dist/types/uapkg-registry-tools/validation/DependencyReachabilityValidator.d.ts +24 -0
  322. package/dist/types/uapkg-registry-tools/validation/ExternalRegistryPolicyValidator.d.ts +22 -0
  323. package/dist/types/uapkg-registry-tools/validation/ManifestValidator.d.ts +16 -0
  324. package/dist/types/uapkg-registry-tools/validation/OfficialRegistryPolicyValidator.d.ts +34 -0
  325. package/dist/types/uapkg-registry-tools/validation/RegistryValidator.d.ts +31 -0
  326. package/dist/types/uapkg-registry-tools/validation/ReleaseFileNameValidator.d.ts +21 -0
  327. package/package.json +21 -48
  328. package/dist/app/CompositionRoot.d.ts.map +0 -1
  329. package/dist/app/CompositionRoot.js +0 -93
  330. package/dist/app/CompositionRoot.js.map +0 -1
  331. package/dist/app/UAPKGApplication.d.ts.map +0 -1
  332. package/dist/app/UAPKGApplication.js +0 -157
  333. package/dist/app/UAPKGApplication.js.map +0 -1
  334. package/dist/build/BuildMetadata.d.ts.map +0 -1
  335. package/dist/cli/UAPKGCommandLine.d.ts.map +0 -1
  336. package/dist/cli/UAPKGCommandLine.js +0 -250
  337. package/dist/cli/UAPKGCommandLine.js.map +0 -1
  338. package/dist/cli/parseCommandLine.d.ts.map +0 -1
  339. package/dist/cli/parseCommandLine.js +0 -11
  340. package/dist/cli/parseCommandLine.js.map +0 -1
  341. package/dist/cli/parsing/UAPKGCommandLineParser.d.ts.map +0 -1
  342. package/dist/cli/parsing/UAPKGCommandLineParser.js +0 -24
  343. package/dist/cli/parsing/UAPKGCommandLineParser.js.map +0 -1
  344. package/dist/cli/parsing/UAPKGParserRegistry.d.ts.map +0 -1
  345. package/dist/cli/parsing/UAPKGParserRegistry.js +0 -54
  346. package/dist/cli/parsing/UAPKGParserRegistry.js.map +0 -1
  347. package/dist/cli/parsing/contracts/UAPKGCommandModule.d.ts.map +0 -1
  348. package/dist/cli/parsing/contracts/UAPKGCommandModule.js +0 -1
  349. package/dist/cli/parsing/modules/AddCommandModule.d.ts.map +0 -1
  350. package/dist/cli/parsing/modules/AddCommandModule.js +0 -50
  351. package/dist/cli/parsing/modules/AddCommandModule.js.map +0 -1
  352. package/dist/cli/parsing/modules/ConfigCommandModule.d.ts.map +0 -1
  353. package/dist/cli/parsing/modules/ConfigCommandModule.js +0 -88
  354. package/dist/cli/parsing/modules/ConfigCommandModule.js.map +0 -1
  355. package/dist/cli/parsing/modules/InitCommandModule.d.ts.map +0 -1
  356. package/dist/cli/parsing/modules/InitCommandModule.js +0 -26
  357. package/dist/cli/parsing/modules/InitCommandModule.js.map +0 -1
  358. package/dist/cli/parsing/modules/InstallCommandModule.d.ts.map +0 -1
  359. package/dist/cli/parsing/modules/InstallCommandModule.js +0 -37
  360. package/dist/cli/parsing/modules/InstallCommandModule.js.map +0 -1
  361. package/dist/cli/parsing/modules/LifecycleCommandModule.d.ts.map +0 -1
  362. package/dist/cli/parsing/modules/LifecycleCommandModule.js +0 -84
  363. package/dist/cli/parsing/modules/LifecycleCommandModule.js.map +0 -1
  364. package/dist/cli/parsing/modules/ListCommandModule.d.ts.map +0 -1
  365. package/dist/cli/parsing/modules/ListCommandModule.js +0 -27
  366. package/dist/cli/parsing/modules/ListCommandModule.js.map +0 -1
  367. package/dist/cli/parsing/modules/LoginCommandModule.d.ts.map +0 -1
  368. package/dist/cli/parsing/modules/LoginCommandModule.js +0 -35
  369. package/dist/cli/parsing/modules/LoginCommandModule.js.map +0 -1
  370. package/dist/cli/parsing/modules/LogoutCommandModule.d.ts.map +0 -1
  371. package/dist/cli/parsing/modules/LogoutCommandModule.js +0 -31
  372. package/dist/cli/parsing/modules/LogoutCommandModule.js.map +0 -1
  373. package/dist/cli/parsing/modules/OutdatedCommandModule.d.ts.map +0 -1
  374. package/dist/cli/parsing/modules/OutdatedCommandModule.js +0 -22
  375. package/dist/cli/parsing/modules/OutdatedCommandModule.js.map +0 -1
  376. package/dist/cli/parsing/modules/PackCommandModule.d.ts.map +0 -1
  377. package/dist/cli/parsing/modules/PackCommandModule.js +0 -31
  378. package/dist/cli/parsing/modules/PackCommandModule.js.map +0 -1
  379. package/dist/cli/parsing/modules/ProjectGetNameCommandModule.d.ts.map +0 -1
  380. package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js +0 -15
  381. package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js.map +0 -1
  382. package/dist/cli/parsing/modules/PublishCommandModule.d.ts.map +0 -1
  383. package/dist/cli/parsing/modules/PublishCommandModule.js +0 -66
  384. package/dist/cli/parsing/modules/PublishCommandModule.js.map +0 -1
  385. package/dist/cli/parsing/modules/RegistryCommandModule.d.ts.map +0 -1
  386. package/dist/cli/parsing/modules/RegistryCommandModule.js +0 -118
  387. package/dist/cli/parsing/modules/RegistryCommandModule.js.map +0 -1
  388. package/dist/cli/parsing/modules/RemoveCommandModule.d.ts.map +0 -1
  389. package/dist/cli/parsing/modules/RemoveCommandModule.js +0 -26
  390. package/dist/cli/parsing/modules/RemoveCommandModule.js.map +0 -1
  391. package/dist/cli/parsing/modules/RequestsCommandModule.d.ts.map +0 -1
  392. package/dist/cli/parsing/modules/RequestsCommandModule.js +0 -59
  393. package/dist/cli/parsing/modules/RequestsCommandModule.js.map +0 -1
  394. package/dist/cli/parsing/modules/UpdateCommandModule.d.ts.map +0 -1
  395. package/dist/cli/parsing/modules/UpdateCommandModule.js +0 -39
  396. package/dist/cli/parsing/modules/UpdateCommandModule.js.map +0 -1
  397. package/dist/cli/parsing/modules/WhoamiCommandModule.d.ts.map +0 -1
  398. package/dist/cli/parsing/modules/WhoamiCommandModule.js +0 -31
  399. package/dist/cli/parsing/modules/WhoamiCommandModule.js.map +0 -1
  400. package/dist/cli/parsing/modules/WhyCommandModule.d.ts.map +0 -1
  401. package/dist/cli/parsing/modules/WhyCommandModule.js +0 -26
  402. package/dist/cli/parsing/modules/WhyCommandModule.js.map +0 -1
  403. package/dist/cli/parsing/modules/sharedOptions.d.ts.map +0 -1
  404. package/dist/cli/parsing/modules/sharedOptions.js +0 -21
  405. package/dist/cli/parsing/modules/sharedOptions.js.map +0 -1
  406. package/dist/cli/runUAPKGCLI.d.ts.map +0 -1
  407. package/dist/cli/runUAPKGCLI.js +0 -12
  408. package/dist/cli/runUAPKGCLI.js.map +0 -1
  409. package/dist/cli-bootstrap.js.map +0 -1
  410. package/dist/commands/AddCommand.d.ts.map +0 -1
  411. package/dist/commands/AddCommand.js +0 -51
  412. package/dist/commands/AddCommand.js.map +0 -1
  413. package/dist/commands/Command.d.ts.map +0 -1
  414. package/dist/commands/Command.js +0 -1
  415. package/dist/commands/ConfigCommand.d.ts.map +0 -1
  416. package/dist/commands/ConfigCommand.js +0 -166
  417. package/dist/commands/ConfigCommand.js.map +0 -1
  418. package/dist/commands/InitCommand.d.ts.map +0 -1
  419. package/dist/commands/InitCommand.js +0 -66
  420. package/dist/commands/InitCommand.js.map +0 -1
  421. package/dist/commands/InstallCommand.d.ts.map +0 -1
  422. package/dist/commands/InstallCommand.js +0 -120
  423. package/dist/commands/InstallCommand.js.map +0 -1
  424. package/dist/commands/ListCommand.d.ts.map +0 -1
  425. package/dist/commands/ListCommand.js +0 -78
  426. package/dist/commands/ListCommand.js.map +0 -1
  427. package/dist/commands/LoginCommand.d.ts.map +0 -1
  428. package/dist/commands/LoginCommand.js +0 -67
  429. package/dist/commands/LoginCommand.js.map +0 -1
  430. package/dist/commands/LogoutCommand.d.ts.map +0 -1
  431. package/dist/commands/LogoutCommand.js +0 -37
  432. package/dist/commands/LogoutCommand.js.map +0 -1
  433. package/dist/commands/OutdatedCommand.d.ts.map +0 -1
  434. package/dist/commands/OutdatedCommand.js +0 -43
  435. package/dist/commands/OutdatedCommand.js.map +0 -1
  436. package/dist/commands/PackCommand.d.ts.map +0 -1
  437. package/dist/commands/PackCommand.js +0 -27
  438. package/dist/commands/PackCommand.js.map +0 -1
  439. package/dist/commands/PackageLifecycleCommand.d.ts.map +0 -1
  440. package/dist/commands/PackageLifecycleCommand.js +0 -149
  441. package/dist/commands/PackageLifecycleCommand.js.map +0 -1
  442. package/dist/commands/PostinstallCandidateBuilder.d.ts.map +0 -1
  443. package/dist/commands/PostinstallCandidateBuilder.js +0 -44
  444. package/dist/commands/PostinstallCandidateBuilder.js.map +0 -1
  445. package/dist/commands/ProjectGetNameCommand.d.ts.map +0 -1
  446. package/dist/commands/ProjectGetNameCommand.js +0 -26
  447. package/dist/commands/ProjectGetNameCommand.js.map +0 -1
  448. package/dist/commands/PublishCommand.d.ts.map +0 -1
  449. package/dist/commands/PublishCommand.js +0 -259
  450. package/dist/commands/PublishCommand.js.map +0 -1
  451. package/dist/commands/RegistryCommand.d.ts.map +0 -1
  452. package/dist/commands/RegistryCommand.js +0 -197
  453. package/dist/commands/RegistryCommand.js.map +0 -1
  454. package/dist/commands/RemoveCommand.d.ts.map +0 -1
  455. package/dist/commands/RemoveCommand.js +0 -48
  456. package/dist/commands/RemoveCommand.js.map +0 -1
  457. package/dist/commands/RequestsCommand.d.ts.map +0 -1
  458. package/dist/commands/RequestsCommand.js +0 -85
  459. package/dist/commands/RequestsCommand.js.map +0 -1
  460. package/dist/commands/UpdateCommand.d.ts.map +0 -1
  461. package/dist/commands/UpdateCommand.js +0 -113
  462. package/dist/commands/UpdateCommand.js.map +0 -1
  463. package/dist/commands/WhoamiCommand.d.ts.map +0 -1
  464. package/dist/commands/WhoamiCommand.js +0 -66
  465. package/dist/commands/WhoamiCommand.js.map +0 -1
  466. package/dist/commands/WhyCommand.d.ts.map +0 -1
  467. package/dist/commands/WhyCommand.js +0 -47
  468. package/dist/commands/WhyCommand.js.map +0 -1
  469. package/dist/commands/add/DependencyAddResolver.d.ts.map +0 -1
  470. package/dist/commands/add/DependencyAddResolver.js +0 -38
  471. package/dist/commands/add/DependencyAddResolver.js.map +0 -1
  472. package/dist/control-plane/AccountManager.d.ts.map +0 -1
  473. package/dist/control-plane/AccountManager.js +0 -822
  474. package/dist/control-plane/AccountManager.js.map +0 -1
  475. package/dist/control-plane/ArtifactObserver.d.ts.map +0 -1
  476. package/dist/control-plane/ArtifactObserver.js +0 -77
  477. package/dist/control-plane/ArtifactObserver.js.map +0 -1
  478. package/dist/control-plane/AuthMetadataStore.d.ts.map +0 -1
  479. package/dist/control-plane/AuthMetadataStore.js +0 -114
  480. package/dist/control-plane/AuthMetadataStore.js.map +0 -1
  481. package/dist/control-plane/AuthStoragePaths.d.ts.map +0 -1
  482. package/dist/control-plane/AuthStoragePaths.js +0 -22
  483. package/dist/control-plane/AuthStoragePaths.js.map +0 -1
  484. package/dist/control-plane/AuthenticationSelector.d.ts.map +0 -1
  485. package/dist/control-plane/AuthenticationSelector.js +0 -70
  486. package/dist/control-plane/AuthenticationSelector.js.map +0 -1
  487. package/dist/control-plane/ControlPlaneClient.d.ts.map +0 -1
  488. package/dist/control-plane/ControlPlaneClient.js +0 -291
  489. package/dist/control-plane/ControlPlaneClient.js.map +0 -1
  490. package/dist/control-plane/ControlPlaneEndpoints.d.ts.map +0 -1
  491. package/dist/control-plane/ControlPlaneEndpoints.js +0 -24
  492. package/dist/control-plane/ControlPlaneEndpoints.js.map +0 -1
  493. package/dist/control-plane/ControlPlaneTypes.d.ts.map +0 -1
  494. package/dist/control-plane/ControlPlaneTypes.js +0 -100
  495. package/dist/control-plane/ControlPlaneTypes.js.map +0 -1
  496. package/dist/control-plane/CredentialStore.d.ts.map +0 -1
  497. package/dist/control-plane/CredentialStore.js +0 -70
  498. package/dist/control-plane/CredentialStore.js.map +0 -1
  499. package/dist/control-plane/DPoPKeyStore.d.ts.map +0 -1
  500. package/dist/control-plane/DPoPKeyStore.js +0 -58
  501. package/dist/control-plane/DPoPKeyStore.js.map +0 -1
  502. package/dist/control-plane/GitHubActionsOidcCredentialProvider.d.ts.map +0 -1
  503. package/dist/control-plane/GitHubActionsOidcCredentialProvider.js +0 -201
  504. package/dist/control-plane/GitHubActionsOidcCredentialProvider.js.map +0 -1
  505. package/dist/control-plane/PublishIdempotencyStore.d.ts.map +0 -1
  506. package/dist/control-plane/PublishIdempotencyStore.js +0 -100
  507. package/dist/control-plane/PublishIdempotencyStore.js.map +0 -1
  508. package/dist/control-plane/PublishRequestErrorMapper.d.ts.map +0 -1
  509. package/dist/control-plane/PublishRequestErrorMapper.js +0 -597
  510. package/dist/control-plane/PublishRequestErrorMapper.js.map +0 -1
  511. package/dist/control-plane/RegistryGrantLock.d.ts.map +0 -1
  512. package/dist/control-plane/RegistryGrantLock.js +0 -163
  513. package/dist/control-plane/RegistryGrantLock.js.map +0 -1
  514. package/dist/control-plane/RegistryTrustResolver.d.ts.map +0 -1
  515. package/dist/control-plane/RegistryTrustResolver.js +0 -105
  516. package/dist/control-plane/RegistryTrustResolver.js.map +0 -1
  517. package/dist/postinstall/api/PostinstallDsl.d.ts.map +0 -1
  518. package/dist/postinstall/api/PostinstallDsl.js +0 -36
  519. package/dist/postinstall/api/PostinstallDsl.js.map +0 -1
  520. package/dist/postinstall/api/definePostinstall.d.ts.map +0 -1
  521. package/dist/postinstall/api/definePostinstall.js +0 -23
  522. package/dist/postinstall/api/definePostinstall.js.map +0 -1
  523. package/dist/postinstall/index.js +0 -25
  524. package/dist/postinstall/loader/EntryResolver.d.ts.map +0 -1
  525. package/dist/postinstall/loader/EntryResolver.js +0 -39
  526. package/dist/postinstall/loader/EntryResolver.js.map +0 -1
  527. package/dist/postinstall/loader/EsbuildTranspiler.d.ts.map +0 -1
  528. package/dist/postinstall/loader/EsbuildTranspiler.js +0 -54
  529. package/dist/postinstall/loader/EsbuildTranspiler.js.map +0 -1
  530. package/dist/postinstall/loader/ExportValidator.d.ts.map +0 -1
  531. package/dist/postinstall/loader/ExportValidator.js +0 -38
  532. package/dist/postinstall/loader/ExportValidator.js.map +0 -1
  533. package/dist/postinstall/loader/ModuleImporter.d.ts.map +0 -1
  534. package/dist/postinstall/loader/ModuleImporter.js +0 -52
  535. package/dist/postinstall/loader/ModuleImporter.js.map +0 -1
  536. package/dist/postinstall/loader/PostinstallLoader.d.ts.map +0 -1
  537. package/dist/postinstall/loader/PostinstallLoader.js +0 -64
  538. package/dist/postinstall/loader/PostinstallLoader.js.map +0 -1
  539. package/dist/postinstall/markers/MarkerBlockEditor.d.ts.map +0 -1
  540. package/dist/postinstall/markers/MarkerBlockEditor.js +0 -50
  541. package/dist/postinstall/markers/MarkerBlockEditor.js.map +0 -1
  542. package/dist/postinstall/markers/MarkerBlockService.d.ts.map +0 -1
  543. package/dist/postinstall/markers/MarkerBlockService.js +0 -46
  544. package/dist/postinstall/markers/MarkerBlockService.js.map +0 -1
  545. package/dist/postinstall/markers/MarkerIntegrityValidator.d.ts.map +0 -1
  546. package/dist/postinstall/markers/MarkerIntegrityValidator.js +0 -48
  547. package/dist/postinstall/markers/MarkerIntegrityValidator.js.map +0 -1
  548. package/dist/postinstall/policy/PostinstallPolicyGate.d.ts.map +0 -1
  549. package/dist/postinstall/policy/PostinstallPolicyGate.js +0 -68
  550. package/dist/postinstall/policy/PostinstallPolicyGate.js.map +0 -1
  551. package/dist/postinstall/runner/PostinstallOrchestrator.d.ts.map +0 -1
  552. package/dist/postinstall/runner/PostinstallOrchestrator.js +0 -174
  553. package/dist/postinstall/runner/PostinstallOrchestrator.js.map +0 -1
  554. package/dist/postinstall/unreal/BuildCsInjector.d.ts.map +0 -1
  555. package/dist/postinstall/unreal/BuildCsInjector.js +0 -60
  556. package/dist/postinstall/unreal/BuildCsInjector.js.map +0 -1
  557. package/dist/postinstall/unreal/CSharpInjectionEngine.d.ts.map +0 -1
  558. package/dist/postinstall/unreal/CSharpInjectionEngine.js +0 -58
  559. package/dist/postinstall/unreal/CSharpInjectionEngine.js.map +0 -1
  560. package/dist/postinstall/unreal/CSharpStructureAnalyzer.d.ts.map +0 -1
  561. package/dist/postinstall/unreal/CSharpStructureAnalyzer.js +0 -126
  562. package/dist/postinstall/unreal/CSharpStructureAnalyzer.js.map +0 -1
  563. package/dist/postinstall/unreal/CSharpStructures.d.ts.map +0 -1
  564. package/dist/postinstall/unreal/CSharpStructures.js +0 -1
  565. package/dist/postinstall/unreal/CSharpWrapperFactory.d.ts.map +0 -1
  566. package/dist/postinstall/unreal/CSharpWrapperFactory.js +0 -56
  567. package/dist/postinstall/unreal/CSharpWrapperFactory.js.map +0 -1
  568. package/dist/postinstall/unreal/PluginHash.d.ts.map +0 -1
  569. package/dist/postinstall/unreal/PluginHash.js +0 -18
  570. package/dist/postinstall/unreal/PluginHash.js.map +0 -1
  571. package/dist/postinstall/unreal/PrettyParseError.d.ts.map +0 -1
  572. package/dist/postinstall/unreal/PrettyParseError.js +0 -43
  573. package/dist/postinstall/unreal/PrettyParseError.js.map +0 -1
  574. package/dist/postinstall/unreal/ProjectFileLocator.d.ts.map +0 -1
  575. package/dist/postinstall/unreal/ProjectFileLocator.js +0 -51
  576. package/dist/postinstall/unreal/ProjectFileLocator.js.map +0 -1
  577. package/dist/postinstall/unreal/TargetCsInjector.d.ts.map +0 -1
  578. package/dist/postinstall/unreal/TargetCsInjector.js +0 -60
  579. package/dist/postinstall/unreal/TargetCsInjector.js.map +0 -1
  580. package/dist/postinstall/unreal/UProjectInjector.d.ts.map +0 -1
  581. package/dist/postinstall/unreal/UProjectInjector.js +0 -58
  582. package/dist/postinstall/unreal/UProjectInjector.js.map +0 -1
  583. package/dist/postinstall/unreal/UProjectMetadataReader.d.ts.map +0 -1
  584. package/dist/postinstall/unreal/UProjectMetadataReader.js +0 -24
  585. package/dist/postinstall/unreal/UProjectMetadataReader.js.map +0 -1
  586. package/dist/postinstall/unreal/UnrealSourceCatalog.d.ts.map +0 -1
  587. package/dist/postinstall/unreal/UnrealSourceCatalog.js +0 -52
  588. package/dist/postinstall/unreal/UnrealSourceCatalog.js.map +0 -1
  589. package/dist/prompts/InkPromptService.d.ts.map +0 -1
  590. package/dist/prompts/InkPromptService.js +0 -105
  591. package/dist/prompts/InkPromptService.js.map +0 -1
  592. package/dist/prompts/ProjectContextDetector.d.ts.map +0 -1
  593. package/dist/prompts/ProjectContextDetector.js +0 -33
  594. package/dist/prompts/ProjectContextDetector.js.map +0 -1
  595. package/dist/prompts/PromptService.d.ts.map +0 -1
  596. package/dist/prompts/PromptService.js +0 -1
  597. package/dist/reporting/DiagnosticDeduplicator.d.ts.map +0 -1
  598. package/dist/reporting/DiagnosticDeduplicator.js +0 -38
  599. package/dist/reporting/DiagnosticDeduplicator.js.map +0 -1
  600. package/dist/reporting/DiagnosticRenderer.d.ts.map +0 -1
  601. package/dist/reporting/DiagnosticRenderer.js +0 -1
  602. package/dist/reporting/DiagnosticReporter.d.ts.map +0 -1
  603. package/dist/reporting/DiagnosticReporter.js +0 -42
  604. package/dist/reporting/DiagnosticReporter.js.map +0 -1
  605. package/dist/reporting/InkDiagnosticRenderer.d.ts.map +0 -1
  606. package/dist/reporting/InkDiagnosticRenderer.js +0 -52
  607. package/dist/reporting/InkDiagnosticRenderer.js.map +0 -1
  608. package/dist/reporting/InstallProgressReporter.d.ts.map +0 -1
  609. package/dist/reporting/InstallProgressReporter.js +0 -50
  610. package/dist/reporting/InstallProgressReporter.js.map +0 -1
  611. package/dist/reporting/JsonReporter.d.ts.map +0 -1
  612. package/dist/reporting/JsonReporter.js +0 -36
  613. package/dist/reporting/JsonReporter.js.map +0 -1
  614. package/dist/reporting/RegistryRequestTerminalFormatter.d.ts.map +0 -1
  615. package/dist/reporting/RegistryRequestTerminalFormatter.js +0 -90
  616. package/dist/reporting/RegistryRequestTerminalFormatter.js.map +0 -1
  617. package/dist/reporting/TextDiagnosticRenderer.d.ts.map +0 -1
  618. package/dist/reporting/TextDiagnosticRenderer.js +0 -38
  619. package/dist/reporting/TextDiagnosticRenderer.js.map +0 -1
  620. package/dist/reporting/TextSink.d.ts.map +0 -1
  621. package/dist/reporting/TextSink.js +0 -29
  622. package/dist/reporting/TextSink.js.map +0 -1
  623. /package/dist/{cli-bootstrap.d.ts → types/uapkg/cli-bootstrap.d.ts} +0 -0
  624. /package/dist/{index.d.ts → types/uapkg/index.d.ts} +0 -0
  625. /package/dist/{postinstall → types/uapkg/postinstall}/index.d.ts +0 -0
@@ -1,166 +0,0 @@
1
- import { DiagnosticReporter } from "../reporting/DiagnosticReporter.js";
2
- import { createConfig, isLeafConfigPath, parseConfigCliValue, validateConfigPath } from "@uapkg/config";
3
- import Log from "@uapkg/log";
4
- import { createParseErrorDiagnostic } from "@uapkg/diagnostics";
5
- import path from "node:path";
6
- import { spawnSync } from "node:child_process";
7
- import fs from "node:fs";
8
-
9
- //#region src/commands/ConfigCommand.ts
10
- var ConfigCommand = class {
11
- options;
12
- reporter = new DiagnosticReporter();
13
- constructor(options) {
14
- this.options = options;
15
- }
16
- async execute() {
17
- const flagError = this.validateFlags();
18
- if (flagError) return this.fail([flagError]);
19
- const config = createConfig({ cwd: this.options.cwd });
20
- this.reportIfText(config.getDiagnostics());
21
- const action = this.options.action;
22
- switch (action) {
23
- case "get": return this.executeGet(config);
24
- case "list": return this.executeList(config);
25
- case "set": return this.executeSet(config);
26
- case "delete": return this.executeDelete(config);
27
- case "edit": return this.executeEdit(config);
28
- default: return this.fail([createParseErrorDiagnostic(`Unsupported config action: ${String(action)}`)]);
29
- }
30
- }
31
- executeGet(config) {
32
- const pathToProperty = this.options.pathToProperty;
33
- if (!pathToProperty) return this.fail([createParseErrorDiagnostic("config get requires path_to_property")]);
34
- if (this.options.trace) {
35
- const trace = config.trace(pathToProperty).map((entry) => ({
36
- ...entry,
37
- file: entry.file ? config.toDisplayPath(entry.file) : void 0
38
- }));
39
- this.print(trace);
40
- return 0;
41
- }
42
- if (this.options.showOrigin) {
43
- if (this.options.scope === "global") {
44
- const value = config.get(pathToProperty, { scope: "global" });
45
- this.print({
46
- value,
47
- source: "global",
48
- file: value === null ? void 0 : config.toDisplayPath(config.getEditTarget({ scope: "global" }))
49
- });
50
- return 0;
51
- }
52
- if (this.options.scope === "local") {
53
- const value = config.get(pathToProperty, { scope: "local" });
54
- const localFile = config.getEditTarget({ scope: "local" });
55
- this.print({
56
- value,
57
- source: "local",
58
- file: value === null ? void 0 : config.toDisplayPath(localFile)
59
- });
60
- return 0;
61
- }
62
- const result = config.getWithOrigin(pathToProperty);
63
- if (!result) {
64
- this.print({
65
- value: null,
66
- source: "default"
67
- });
68
- return 0;
69
- }
70
- this.print({
71
- ...result,
72
- file: result.file ? config.toDisplayPath(result.file) : void 0
73
- });
74
- return 0;
75
- }
76
- if (this.options.scope === "global") {
77
- this.print(config.get(pathToProperty, { scope: "global" }));
78
- return 0;
79
- }
80
- if (this.options.scope === "local") {
81
- this.print(config.get(pathToProperty, { scope: "local" }));
82
- return 0;
83
- }
84
- this.print(config.get(pathToProperty));
85
- return 0;
86
- }
87
- executeList(config) {
88
- if (this.options.scope === "global") {
89
- this.print(config.getAll({ scope: "global" }));
90
- return 0;
91
- }
92
- if (this.options.scope === "local") {
93
- this.print(config.getAll({ scope: "local" }));
94
- return 0;
95
- }
96
- this.print(config.getAll());
97
- return 0;
98
- }
99
- executeSet(config) {
100
- const pathToProperty = this.options.pathToProperty;
101
- const rawValue = this.options.rawValue;
102
- if (!pathToProperty || rawValue === void 0) return this.fail([createParseErrorDiagnostic("config set requires path_to_property and value")]);
103
- const pathValidation = validateConfigPath(pathToProperty);
104
- if (!pathValidation.ok) return this.fail(pathValidation.diagnostics);
105
- if (!isLeafConfigPath(pathToProperty)) return this.fail([createParseErrorDiagnostic(`config set only supports leaf properties. Use a concrete path like "${pathToProperty}.<field>".`)]);
106
- const parsedValue = parseConfigCliValue(pathToProperty, rawValue);
107
- if (!parsedValue.ok) return this.fail(parsedValue.diagnostics);
108
- const plan = config.set(pathToProperty, parsedValue.value, this.options.scope ? { scope: this.options.scope } : {});
109
- if (!plan.ok) return this.fail(plan.diagnostics);
110
- fs.mkdirSync(path.dirname(plan.value.file), { recursive: true });
111
- fs.writeFileSync(plan.value.file, `${JSON.stringify(plan.value.values, null, 2)}\n`, "utf8");
112
- config.reload({ cwd: this.options.cwd });
113
- this.reportIfText(config.getDiagnostics());
114
- return 0;
115
- }
116
- executeDelete(config) {
117
- const pathToProperty = this.options.pathToProperty;
118
- if (!pathToProperty) return this.fail([createParseErrorDiagnostic("config delete requires path_to_property")]);
119
- const plan = config.delete(pathToProperty, this.options.scope ? { scope: this.options.scope } : {});
120
- if (!plan.ok) return this.fail(plan.diagnostics);
121
- fs.mkdirSync(path.dirname(plan.value.file), { recursive: true });
122
- fs.writeFileSync(plan.value.file, `${JSON.stringify(plan.value.values, null, 2)}\n`, "utf8");
123
- config.reload({ cwd: this.options.cwd });
124
- this.reportIfText(config.getDiagnostics());
125
- return 0;
126
- }
127
- executeEdit(config) {
128
- const filePath = config.getEditTarget(this.options.scope ? { scope: this.options.scope } : {});
129
- if (!fs.existsSync(filePath)) {
130
- fs.mkdirSync(path.dirname(filePath), { recursive: true });
131
- fs.writeFileSync(filePath, "{}\n", "utf8");
132
- }
133
- const editorValue = config.get("editor");
134
- const editor = typeof editorValue === "string" ? editorValue : process.platform === "win32" ? "notepad.exe" : "vi";
135
- const result = spawnSync(editor, [filePath], {
136
- cwd: this.options.cwd,
137
- shell: true,
138
- stdio: "inherit"
139
- });
140
- if (result.error) return this.fail([createParseErrorDiagnostic(`Failed to open editor '${editor}': ${result.error.message}`)]);
141
- if ((result.status ?? 0) !== 0) return this.fail([createParseErrorDiagnostic(`Editor exited with status ${result.status}`)]);
142
- return 0;
143
- }
144
- validateFlags() {
145
- if (this.options.showOrigin && this.options.trace) return createParseErrorDiagnostic("--show-origin and --trace cannot be used together");
146
- return null;
147
- }
148
- fail(diagnostics) {
149
- this.reporter.reportAll(diagnostics);
150
- return 1;
151
- }
152
- reportIfText(diagnostics) {
153
- if (this.options.output === "text") this.reporter.reportAll(diagnostics);
154
- }
155
- print(value) {
156
- if (this.options.output === "json" || typeof value === "object") {
157
- Log.info(JSON.stringify(value, null, 2));
158
- return;
159
- }
160
- Log.info(JSON.stringify(value));
161
- }
162
- };
163
-
164
- //#endregion
165
- export { ConfigCommand };
166
- //# sourceMappingURL=ConfigCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigCommand.js","names":[],"sources":["../../src/commands/ConfigCommand.ts"],"sourcesContent":["import { spawnSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport {\n type ConfigInstance,\n createConfig,\n isLeafConfigPath,\n parseConfigCliValue,\n validateConfigPath,\n} from '@uapkg/config';\nimport { createParseErrorDiagnostic, type Diagnostic } from '@uapkg/diagnostics';\nimport Log from '@uapkg/log';\nimport type { UAPKGConfigAction, UAPKGConfigScope, UAPKGOutputFormat } from '#cli/cli/UAPKGCommandLine.ts';\nimport { DiagnosticReporter } from '#cli/reporting/DiagnosticReporter.ts';\nimport type { Command } from '#cli/commands/Command.ts';\n\nexport interface ConfigCommandOptions {\n cwd: string;\n action: UAPKGConfigAction;\n pathToProperty?: string;\n rawValue?: string;\n scope?: UAPKGConfigScope;\n output: UAPKGOutputFormat;\n showOrigin: boolean;\n trace: boolean;\n}\n\nexport class ConfigCommand implements Command {\n private readonly reporter = new DiagnosticReporter();\n\n constructor(private readonly options: ConfigCommandOptions) {}\n\n async execute() {\n const flagError = this.validateFlags();\n if (flagError) return this.fail([flagError]);\n\n const config = createConfig({ cwd: this.options.cwd });\n this.reportIfText(config.getDiagnostics());\n\n const action = this.options.action;\n switch (action) {\n case 'get':\n return this.executeGet(config);\n case 'list':\n return this.executeList(config);\n case 'set':\n return this.executeSet(config);\n case 'delete':\n return this.executeDelete(config);\n case 'edit':\n return this.executeEdit(config);\n default:\n return this.fail([createParseErrorDiagnostic(`Unsupported config action: ${String(action satisfies never)}`)]);\n }\n }\n\n private executeGet(config: ConfigInstance) {\n const pathToProperty = this.options.pathToProperty;\n if (!pathToProperty) {\n return this.fail([createParseErrorDiagnostic('config get requires path_to_property')]);\n }\n\n if (this.options.trace) {\n const trace = config.trace(pathToProperty).map((entry) => ({\n ...entry,\n file: entry.file ? config.toDisplayPath(entry.file) : undefined,\n }));\n this.print(trace);\n return 0;\n }\n\n if (this.options.showOrigin) {\n if (this.options.scope === 'global') {\n const value = config.get(pathToProperty, { scope: 'global' });\n this.print({\n value,\n source: 'global',\n file: value === null ? undefined : config.toDisplayPath(config.getEditTarget({ scope: 'global' })),\n });\n return 0;\n }\n\n if (this.options.scope === 'local') {\n const value = config.get(pathToProperty, { scope: 'local' });\n const localFile = config.getEditTarget({ scope: 'local' });\n this.print({\n value,\n source: 'local',\n file: value === null ? undefined : config.toDisplayPath(localFile),\n });\n return 0;\n }\n\n const result = config.getWithOrigin(pathToProperty);\n if (!result) {\n this.print({ value: null, source: 'default' });\n return 0;\n }\n this.print({\n ...result,\n file: result.file ? config.toDisplayPath(result.file) : undefined,\n });\n return 0;\n }\n\n if (this.options.scope === 'global') {\n this.print(config.get(pathToProperty, { scope: 'global' }));\n return 0;\n }\n\n if (this.options.scope === 'local') {\n this.print(config.get(pathToProperty, { scope: 'local' }));\n return 0;\n }\n\n this.print(config.get(pathToProperty));\n return 0;\n }\n\n private executeList(config: ConfigInstance) {\n if (this.options.scope === 'global') {\n this.print(config.getAll({ scope: 'global' }));\n return 0;\n }\n\n if (this.options.scope === 'local') {\n this.print(config.getAll({ scope: 'local' }));\n return 0;\n }\n\n this.print(config.getAll());\n return 0;\n }\n\n private executeSet(config: ConfigInstance) {\n const pathToProperty = this.options.pathToProperty;\n const rawValue = this.options.rawValue;\n\n if (!pathToProperty || rawValue === undefined) {\n return this.fail([createParseErrorDiagnostic('config set requires path_to_property and value')]);\n }\n\n const pathValidation = validateConfigPath(pathToProperty);\n if (!pathValidation.ok) return this.fail(pathValidation.diagnostics);\n\n if (!isLeafConfigPath(pathToProperty)) {\n return this.fail([\n createParseErrorDiagnostic(\n `config set only supports leaf properties. Use a concrete path like \"${pathToProperty}.<field>\".`,\n ),\n ]);\n }\n\n const parsedValue = parseConfigCliValue(pathToProperty, rawValue);\n if (!parsedValue.ok) return this.fail(parsedValue.diagnostics);\n\n const plan = config.set(pathToProperty, parsedValue.value, this.options.scope ? { scope: this.options.scope } : {});\n if (!plan.ok) return this.fail(plan.diagnostics);\n\n fs.mkdirSync(path.dirname(plan.value.file), { recursive: true });\n fs.writeFileSync(plan.value.file, `${JSON.stringify(plan.value.values, null, 2)}\\n`, 'utf8');\n config.reload({ cwd: this.options.cwd });\n this.reportIfText(config.getDiagnostics());\n return 0;\n }\n\n private executeDelete(config: ConfigInstance) {\n const pathToProperty = this.options.pathToProperty;\n if (!pathToProperty) {\n return this.fail([createParseErrorDiagnostic('config delete requires path_to_property')]);\n }\n\n const plan = config.delete(pathToProperty, this.options.scope ? { scope: this.options.scope } : {});\n if (!plan.ok) return this.fail(plan.diagnostics);\n\n fs.mkdirSync(path.dirname(plan.value.file), { recursive: true });\n fs.writeFileSync(plan.value.file, `${JSON.stringify(plan.value.values, null, 2)}\\n`, 'utf8');\n config.reload({ cwd: this.options.cwd });\n this.reportIfText(config.getDiagnostics());\n return 0;\n }\n\n private executeEdit(config: ConfigInstance) {\n const filePath = config.getEditTarget(this.options.scope ? { scope: this.options.scope } : {});\n\n if (!fs.existsSync(filePath)) {\n fs.mkdirSync(path.dirname(filePath), { recursive: true });\n fs.writeFileSync(filePath, '{}\\n', 'utf8');\n }\n\n const editorValue = config.get('editor');\n const editor = typeof editorValue === 'string' ? editorValue : process.platform === 'win32' ? 'notepad.exe' : 'vi';\n\n const result = spawnSync(editor, [filePath], {\n cwd: this.options.cwd,\n shell: true,\n stdio: 'inherit',\n });\n\n if (result.error) {\n return this.fail([createParseErrorDiagnostic(`Failed to open editor '${editor}': ${result.error.message}`)]);\n }\n\n if ((result.status ?? 0) !== 0) {\n return this.fail([createParseErrorDiagnostic(`Editor exited with status ${result.status}`)]);\n }\n\n return 0;\n }\n\n private validateFlags(): Diagnostic | null {\n if (this.options.showOrigin && this.options.trace) {\n return createParseErrorDiagnostic('--show-origin and --trace cannot be used together');\n }\n return null;\n }\n\n private fail(diagnostics: readonly Diagnostic[]): number {\n this.reporter.reportAll(diagnostics);\n return 1;\n }\n\n private reportIfText(diagnostics: readonly Diagnostic[]): void {\n if (this.options.output === 'text') {\n this.reporter.reportAll(diagnostics);\n }\n }\n\n private print(value: unknown) {\n if (this.options.output === 'json' || typeof value === 'object') {\n Log.info(JSON.stringify(value, null, 2));\n return;\n }\n\n Log.info(JSON.stringify(value));\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"InitCommand.d.ts","names":[],"sources":["../../src/commands/InitCommand.ts"],"mappings":";;;;;;UASiB;WACN,eAAe;WACf;;cAaE,uBAAuB;mBAEf;mBACA;mBACA;mBACA;EAJnB,YACmB,MAAM,iBACN,SAAS,oBACT,UAAU,wBACV,SAAS;EAGf,WAAW;UA6ChB"}
@@ -1,66 +0,0 @@
1
- import { PackageNameSchema, PackageVersionSchema } from "@uapkg/common-schema";
2
- import { ManifestReader, ManifestWriter } from "@uapkg/package-manifest";
3
-
4
- //#region src/commands/InitCommand.ts
5
- const DEFAULT_INITIAL_VERSION = "0.1.0";
6
- var InitCommand = class {
7
- root;
8
- options;
9
- detector;
10
- prompts;
11
- constructor(root, options, detector, prompts) {
12
- this.root = root;
13
- this.options = options;
14
- this.detector = detector;
15
- this.prompts = prompts;
16
- }
17
- async execute() {
18
- if ((await new ManifestReader().read(this.root.cwd)).ok) {
19
- process.stderr.write("[uapkg] uapkg.json already exists in current directory\n");
20
- return 1;
21
- }
22
- const detected = this.detector.detect(this.root.cwd);
23
- const kind = this.options.explicitKind ?? await this.prompts.select("Manifest type", [{
24
- label: "Project",
25
- value: "project"
26
- }, {
27
- label: "Plugin",
28
- value: "plugin"
29
- }], detected.suggestedKind);
30
- const rawName = this.options.explicitName ?? await this.prompts.text("Package name", detected.suggestedName);
31
- const nameResult = PackageNameSchema.safeParse(rawName.trim());
32
- if (!nameResult.success) {
33
- process.stderr.write(`[uapkg] Invalid package name "${rawName}": use lowercase letters, digits, and hyphens, optionally scoped as @owner/package (214 characters maximum)\n`);
34
- return 1;
35
- }
36
- const versionResult = PackageVersionSchema.safeParse(DEFAULT_INITIAL_VERSION);
37
- if (!versionResult.success) {
38
- process.stderr.write(`[uapkg] Internal error: default version "${DEFAULT_INITIAL_VERSION}" rejected by schema\n`);
39
- return 1;
40
- }
41
- const manifest = this.buildManifest(kind, nameResult.data, versionResult.data);
42
- const writeResult = await new ManifestWriter().write(this.root.cwd, manifest);
43
- if (!writeResult.ok) {
44
- this.root.diagnostics.reportAll(writeResult.diagnostics);
45
- return 1;
46
- }
47
- process.stdout.write(`[uapkg] Created uapkg.json (${kind}) for ${String(nameResult.data)}\n`);
48
- return 0;
49
- }
50
- buildManifest(kind, name, version) {
51
- if (kind === "plugin") return {
52
- name,
53
- version,
54
- kind: "plugin"
55
- };
56
- return {
57
- name,
58
- version,
59
- kind: "project"
60
- };
61
- }
62
- };
63
-
64
- //#endregion
65
- export { InitCommand };
66
- //# sourceMappingURL=InitCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InitCommand.js","names":[],"sources":["../../src/commands/InitCommand.ts"],"sourcesContent":["import type { PackageName, PackageVersion } from '@uapkg/common-schema';\nimport { PackageNameSchema, PackageVersionSchema } from '@uapkg/common-schema';\nimport { ManifestReader, ManifestWriter } from '@uapkg/package-manifest';\nimport type { Manifest, ManifestKind } from '@uapkg/package-manifest-schema';\nimport type { CompositionRoot } from '#cli/app/CompositionRoot.ts';\nimport type { ProjectContextDetector } from '#cli/prompts/ProjectContextDetector.ts';\nimport type { PromptService } from '#cli/prompts/PromptService.ts';\nimport type { Command } from '#cli/commands/Command.ts';\n\nexport interface InitCommandOptions {\n readonly explicitKind?: ManifestKind;\n readonly explicitName?: string;\n}\n\n// ---------------------------------------------------------------------------\n// InitCommand — creates a minimal `uapkg.json` (new schema) for the current\n// working directory, interactively selecting `kind` + `name` when missing.\n//\n// - Writes via `@uapkg/package-manifest` ManifestWriter.\n// - Pre-check uses ManifestReader (fails fast if manifest already present).\n// ---------------------------------------------------------------------------\n\nconst DEFAULT_INITIAL_VERSION = '0.1.0';\n\nexport class InitCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: InitCommandOptions,\n private readonly detector: ProjectContextDetector,\n private readonly prompts: PromptService,\n ) {}\n\n public async execute(): Promise<number> {\n const existing = await new ManifestReader().read(this.root.cwd);\n if (existing.ok) {\n process.stderr.write('[uapkg] uapkg.json already exists in current directory\\n');\n return 1;\n }\n\n const detected = this.detector.detect(this.root.cwd);\n const kind =\n this.options.explicitKind ??\n ((await this.prompts.select(\n 'Manifest type',\n [\n { label: 'Project', value: 'project' },\n { label: 'Plugin', value: 'plugin' },\n ],\n detected.suggestedKind,\n )) as ManifestKind);\n\n const rawName = this.options.explicitName ?? (await this.prompts.text('Package name', detected.suggestedName));\n\n const nameResult = PackageNameSchema.safeParse(rawName.trim());\n if (!nameResult.success) {\n process.stderr.write(\n `[uapkg] Invalid package name \"${rawName}\": use lowercase letters, digits, and hyphens, optionally scoped as @owner/package (214 characters maximum)\\n`,\n );\n return 1;\n }\n const versionResult = PackageVersionSchema.safeParse(DEFAULT_INITIAL_VERSION);\n if (!versionResult.success) {\n process.stderr.write(`[uapkg] Internal error: default version \"${DEFAULT_INITIAL_VERSION}\" rejected by schema\\n`);\n return 1;\n }\n\n const manifest: Manifest = this.buildManifest(kind, nameResult.data, versionResult.data);\n const writeResult = await new ManifestWriter().write(this.root.cwd, manifest);\n if (!writeResult.ok) {\n this.root.diagnostics.reportAll(writeResult.diagnostics);\n return 1;\n }\n\n process.stdout.write(`[uapkg] Created uapkg.json (${kind}) for ${String(nameResult.data)}\\n`);\n return 0;\n }\n\n private buildManifest(kind: ManifestKind, name: PackageName, version: PackageVersion): Manifest {\n if (kind === 'plugin') {\n return { name, version, kind: 'plugin' };\n }\n return { name, version, kind: 'project' };\n }\n}\n"],"mappings":";;;;AAsBA,MAAM,0BAA0B;AAEhC,IAAa,cAAb,MAA4C;CAEvB;CACA;CACA;CACA;CAJnB,AAAO,YACL,AAAiB,MACjB,AAAiB,SACjB,AAAiB,UACjB,AAAiB,SACjB;EAJiB;EACA;EACA;EACA;CAChB;CAEH,MAAa,UAA2B;EAEtC,KAAI,MADmB,IAAI,eAAe,CAAC,CAAC,KAAK,KAAK,KAAK,GAAG,EAClD,CAAC,IAAI;GACf,QAAQ,OAAO,MAAM,0DAA0D;GAC/E,OAAO;EACT;EAEA,MAAM,WAAW,KAAK,SAAS,OAAO,KAAK,KAAK,GAAG;EACnD,MAAM,OACJ,KAAK,QAAQ,gBACX,MAAM,KAAK,QAAQ,OACnB,iBACA,CACE;GAAE,OAAO;GAAW,OAAO;EAAU,GACrC;GAAE,OAAO;GAAU,OAAO;EAAS,CACrC,GACA,SAAS,aACX;EAEF,MAAM,UAAU,KAAK,QAAQ,gBAAiB,MAAM,KAAK,QAAQ,KAAK,gBAAgB,SAAS,aAAa;EAE5G,MAAM,aAAa,kBAAkB,UAAU,QAAQ,KAAK,CAAC;EAC7D,IAAI,CAAC,WAAW,SAAS;GACvB,QAAQ,OAAO,MACb,iCAAiC,QAAQ,8GAC3C;GACA,OAAO;EACT;EACA,MAAM,gBAAgB,qBAAqB,UAAU,uBAAuB;EAC5E,IAAI,CAAC,cAAc,SAAS;GAC1B,QAAQ,OAAO,MAAM,4CAA4C,wBAAwB,uBAAuB;GAChH,OAAO;EACT;EAEA,MAAM,WAAqB,KAAK,cAAc,MAAM,WAAW,MAAM,cAAc,IAAI;EACvF,MAAM,cAAc,MAAM,IAAI,eAAe,CAAC,CAAC,MAAM,KAAK,KAAK,KAAK,QAAQ;EAC5E,IAAI,CAAC,YAAY,IAAI;GACnB,KAAK,KAAK,YAAY,UAAU,YAAY,WAAW;GACvD,OAAO;EACT;EAEA,QAAQ,OAAO,MAAM,+BAA+B,KAAK,QAAQ,OAAO,WAAW,IAAI,EAAE,GAAG;EAC5F,OAAO;CACT;CAEA,AAAQ,cAAc,MAAoB,MAAmB,SAAmC;EAC9F,IAAI,SAAS,UACX,OAAO;GAAE;GAAM;GAAS,MAAM;EAAS;EAEzC,OAAO;GAAE;GAAM;GAAS,MAAM;EAAU;CAC1C;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"InstallCommand.d.ts","names":[],"sources":["../../src/commands/InstallCommand.ts"],"mappings":";;;UAOiB;WACN;WACA;WACA;WACA;;;;;;;;;;;;;;;;cAiBE,0BAA0B;mBAElB;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW;UAsFhB"}
@@ -1,120 +0,0 @@
1
- import { InstallProgressReporter } from "../reporting/InstallProgressReporter.js";
2
- import { PostinstallCandidateBuilder } from "./PostinstallCandidateBuilder.js";
3
-
4
- //#region src/commands/InstallCommand.ts
5
- /**
6
- * `uapkg install` — resolve → plan → download/extract/remove → postinstall.
7
- *
8
- * Pipeline (never throws; errors become diagnostics):
9
- *
10
- * 1. Read manifest + previous lockfile (best-effort).
11
- * 2. `PackageManifest.install({ frozen })` → writes a fresh lockfile.
12
- * 3. `Installer.execute(...)` → executes the install plan.
13
- * 4. Consume installer's status stream in parallel via `InstallProgressReporter`.
14
- * 5. On success (non-dryRun), `PostinstallOrchestrator.run()` for added/updated plugins.
15
- * 6. Report summary + diagnostics.
16
- *
17
- * `--force` and `--frozen` are mutually exclusive; the parser layer enforces this.
18
- */
19
- var InstallCommand = class {
20
- root;
21
- options;
22
- constructor(root, options) {
23
- this.root = root;
24
- this.options = options;
25
- }
26
- async execute() {
27
- const pm = this.root.packageManifest;
28
- const commandDiagnostics = [];
29
- const manifestResult = await pm.readManifest();
30
- if (!manifestResult.ok) return this.fail(manifestResult.diagnostics);
31
- const manifest = manifestResult.value;
32
- let previousLockfile = null;
33
- if (!this.options.frozen) {
34
- const previousLockfileResult = await pm.readLockfileOptional();
35
- if (!previousLockfileResult.ok) return this.fail(previousLockfileResult.diagnostics);
36
- previousLockfile = previousLockfileResult.value;
37
- }
38
- const installResult = await pm.install({ frozen: this.options.frozen });
39
- if (!installResult.ok) return this.fail([...commandDiagnostics, ...installResult.diagnostics]);
40
- commandDiagnostics.push(...installResult.diagnostics);
41
- const lockfile = installResult.value;
42
- if (this.options.frozen) previousLockfile = lockfile;
43
- const progress = new InstallProgressReporter();
44
- const consumer = progress.consume(this.root.installer.getStatusStream());
45
- const rootDependencies = [
46
- ...Object.keys(manifest.dependencies ?? {}),
47
- ...Object.keys(manifest.devDependencies ?? {}),
48
- ...Object.keys(manifest.peerDependencies ?? {})
49
- ];
50
- const executeResult = await this.root.installer.execute(lockfile, previousLockfile, {
51
- manifestRoot: this.root.cwd,
52
- force: this.options.force,
53
- dryRun: this.options.dryRun,
54
- rootDependencies
55
- });
56
- await consumer;
57
- if (!executeResult.ok) return this.fail([...commandDiagnostics, ...executeResult.diagnostics]);
58
- const report = executeResult.value;
59
- const plan = report.plan;
60
- const hasBranchFailures = report.failed.length > 0 || report.skipped.length > 0;
61
- const builder = new PostinstallCandidateBuilder();
62
- const candidates = builder.build(this.root, plan, lockfile, new Set(report.installed));
63
- const manifestType = builder.resolveManifestType(manifest);
64
- let postDiagnostics = [];
65
- if (!this.options.dryRun && candidates.length > 0) {
66
- const moduleNameOverride = manifest.kind === "project" ? manifest.postinstall?.modules : void 0;
67
- const postResult = await this.root.postinstall.run({
68
- projectRoot: this.root.cwd,
69
- manifestType,
70
- candidates,
71
- moduleNameOverride
72
- });
73
- postDiagnostics = postResult.diagnostics;
74
- if (!postResult.ok) return this.fail([
75
- ...commandDiagnostics,
76
- ...executeResult.diagnostics,
77
- ...postResult.diagnostics
78
- ]);
79
- }
80
- if (this.options.outputFormat === "json") {
81
- this.root.json.emit({
82
- status: hasBranchFailures ? "error" : "ok",
83
- command: "install",
84
- data: {
85
- plan: plan.summary,
86
- installed: report.installed,
87
- failed: report.failed,
88
- skipped: report.skipped,
89
- incompleteClosure: report.incompleteClosure
90
- },
91
- diagnostics: [
92
- ...commandDiagnostics,
93
- ...executeResult.diagnostics,
94
- ...postDiagnostics
95
- ]
96
- });
97
- return hasBranchFailures ? 1 : 0;
98
- }
99
- this.root.diagnostics.reportAll([
100
- ...commandDiagnostics,
101
- ...executeResult.diagnostics,
102
- ...postDiagnostics
103
- ]);
104
- progress.renderSummary(plan.summary);
105
- return hasBranchFailures ? 1 : 0;
106
- }
107
- fail(diagnostics) {
108
- if (this.options.outputFormat === "json") this.root.json.emit({
109
- status: "error",
110
- command: "install",
111
- diagnostics
112
- });
113
- else this.root.diagnostics.reportAll(diagnostics);
114
- return 1;
115
- }
116
- };
117
-
118
- //#endregion
119
- export { InstallCommand };
120
- //# sourceMappingURL=InstallCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InstallCommand.js","names":[],"sources":["../../src/commands/InstallCommand.ts"],"sourcesContent":["import type { Diagnostic } from '@uapkg/diagnostics';\nimport type { Lockfile } from '@uapkg/package-manifest-schema';\nimport type { CompositionRoot } from '#cli/app/CompositionRoot.ts';\nimport { InstallProgressReporter } from '#cli/reporting/InstallProgressReporter.ts';\nimport type { Command } from '#cli/commands/Command.ts';\nimport { PostinstallCandidateBuilder } from '#cli/commands/PostinstallCandidateBuilder.ts';\n\nexport interface InstallCommandOptions {\n readonly force: boolean;\n readonly frozen: boolean;\n readonly dryRun: boolean;\n readonly outputFormat: 'text' | 'json';\n}\n\n/**\n * `uapkg install` — resolve → plan → download/extract/remove → postinstall.\n *\n * Pipeline (never throws; errors become diagnostics):\n *\n * 1. Read manifest + previous lockfile (best-effort).\n * 2. `PackageManifest.install({ frozen })` → writes a fresh lockfile.\n * 3. `Installer.execute(...)` → executes the install plan.\n * 4. Consume installer's status stream in parallel via `InstallProgressReporter`.\n * 5. On success (non-dryRun), `PostinstallOrchestrator.run()` for added/updated plugins.\n * 6. Report summary + diagnostics.\n *\n * `--force` and `--frozen` are mutually exclusive; the parser layer enforces this.\n */\nexport class InstallCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: InstallCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n const pm = this.root.packageManifest;\n const commandDiagnostics: Diagnostic[] = [];\n\n const manifestResult = await pm.readManifest();\n if (!manifestResult.ok) return this.fail(manifestResult.diagnostics);\n const manifest = manifestResult.value;\n\n let previousLockfile: Lockfile | null = null;\n if (!this.options.frozen) {\n const previousLockfileResult = await pm.readLockfileOptional();\n if (!previousLockfileResult.ok) return this.fail(previousLockfileResult.diagnostics);\n previousLockfile = previousLockfileResult.value;\n }\n\n const installResult = await pm.install({ frozen: this.options.frozen });\n if (!installResult.ok) return this.fail([...commandDiagnostics, ...installResult.diagnostics]);\n commandDiagnostics.push(...installResult.diagnostics);\n const lockfile = installResult.value;\n if (this.options.frozen) {\n previousLockfile = lockfile;\n }\n\n const progress = new InstallProgressReporter();\n const consumer = progress.consume(this.root.installer.getStatusStream());\n\n // Trusted roots for verification-gated traversal: the manifest's declared buckets.\n const rootDependencies = [\n ...Object.keys(manifest.dependencies ?? {}),\n ...Object.keys(manifest.devDependencies ?? {}),\n ...Object.keys(manifest.peerDependencies ?? {}),\n ];\n\n const executeResult = await this.root.installer.execute(lockfile, previousLockfile, {\n manifestRoot: this.root.cwd,\n force: this.options.force,\n dryRun: this.options.dryRun,\n rootDependencies,\n });\n await consumer;\n\n if (!executeResult.ok) return this.fail([...commandDiagnostics, ...executeResult.diagnostics]);\n const report = executeResult.value;\n const plan = report.plan;\n const hasBranchFailures = report.failed.length > 0 || report.skipped.length > 0;\n\n const builder = new PostinstallCandidateBuilder();\n const candidates = builder.build(this.root, plan, lockfile, new Set(report.installed));\n const manifestType = builder.resolveManifestType(manifest);\n\n let postDiagnostics: readonly Diagnostic[] = [];\n if (!this.options.dryRun && candidates.length > 0) {\n const moduleNameOverride = manifest.kind === 'project' ? manifest.postinstall?.modules : undefined;\n const postResult = await this.root.postinstall.run({\n projectRoot: this.root.cwd,\n manifestType,\n candidates,\n moduleNameOverride,\n });\n postDiagnostics = postResult.diagnostics;\n if (!postResult.ok) {\n return this.fail([...commandDiagnostics, ...executeResult.diagnostics, ...postResult.diagnostics]);\n }\n }\n\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({\n status: hasBranchFailures ? 'error' : 'ok',\n command: 'install',\n data: {\n plan: plan.summary,\n installed: report.installed,\n failed: report.failed,\n skipped: report.skipped,\n incompleteClosure: report.incompleteClosure,\n },\n diagnostics: [...commandDiagnostics, ...executeResult.diagnostics, ...postDiagnostics],\n });\n return hasBranchFailures ? 1 : 0;\n }\n\n this.root.diagnostics.reportAll([...commandDiagnostics, ...executeResult.diagnostics, ...postDiagnostics]);\n progress.renderSummary(plan.summary);\n return hasBranchFailures ? 1 : 0;\n }\n\n private fail(diagnostics: readonly Diagnostic[]): number {\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({ status: 'error', command: 'install', diagnostics });\n } else {\n this.root.diagnostics.reportAll(diagnostics);\n }\n return 1;\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListCommand.d.ts","names":[],"sources":["../../src/commands/ListCommand.ts"],"mappings":";;;UAGiB;WACN;WACA;;;;;;;;;cAUE,uBAAuB;mBAEf;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW"}
@@ -1,78 +0,0 @@
1
- //#region src/commands/ListCommand.ts
2
- /**
3
- * `uapkg list [--depth N]` — renders the resolved dependency tree.
4
- *
5
- * Pulls the lockfile via {@link PackageManifest.readLockfile}. A depth of 0
6
- * prints only root declarations; `Infinity` prints everything (duplicates
7
- * guarded so cycles can't loop forever).
8
- */
9
- var ListCommand = class {
10
- root;
11
- options;
12
- constructor(root, options) {
13
- this.root = root;
14
- this.options = options;
15
- }
16
- async execute() {
17
- const manifestResult = await this.root.packageManifest.readManifest();
18
- const lockfileResult = await this.root.packageManifest.getLockfileForReadOnly();
19
- if (!manifestResult.ok) {
20
- if (this.options.outputFormat === "json") this.root.json.emit({
21
- status: "error",
22
- command: "list",
23
- diagnostics: [...manifestResult.diagnostics ?? []]
24
- });
25
- else this.root.diagnostics.reportAll(manifestResult.diagnostics);
26
- return 1;
27
- }
28
- if (!lockfileResult.ok) {
29
- if (this.options.outputFormat === "json") this.root.json.emit({
30
- status: "error",
31
- command: "list",
32
- diagnostics: [...lockfileResult.diagnostics ?? []]
33
- });
34
- else this.root.diagnostics.reportAll(lockfileResult.diagnostics);
35
- return 1;
36
- }
37
- if (this.options.outputFormat === "text") this.root.diagnostics.reportAll(lockfileResult.diagnostics);
38
- const lockfile = lockfileResult.value;
39
- const manifest = manifestResult.value;
40
- const declared = Object.keys({
41
- ...manifest.dependencies,
42
- ...manifest.devDependencies
43
- });
44
- if (this.options.outputFormat === "json") {
45
- this.root.json.emit({
46
- status: "ok",
47
- command: "list",
48
- data: {
49
- declared,
50
- packages: lockfile.packages
51
- },
52
- diagnostics: lockfileResult.diagnostics
53
- });
54
- return 0;
55
- }
56
- process.stdout.write(`${this.root.cwd}\n`);
57
- for (const name of declared) {
58
- const locked = lockfile.packages[name];
59
- if (!locked) {
60
- process.stdout.write(` ${name} (not in lockfile)\n`);
61
- continue;
62
- }
63
- process.stdout.write(` ${name}@${locked.version} [${locked.registry}]\n`);
64
- }
65
- if (this.options.depth > 0) {
66
- const remaining = Object.entries(lockfile.packages).filter(([name]) => !declared.includes(name));
67
- if (remaining.length > 0) {
68
- process.stdout.write(" --- transitive ---\n");
69
- for (const [name, locked] of remaining) process.stdout.write(` ${name}@${locked.version} [${locked.registry}]\n`);
70
- }
71
- }
72
- return 0;
73
- }
74
- };
75
-
76
- //#endregion
77
- export { ListCommand };
78
- //# sourceMappingURL=ListCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListCommand.js","names":[],"sources":["../../src/commands/ListCommand.ts"],"sourcesContent":["import type { CompositionRoot } from '#cli/app/CompositionRoot.ts';\nimport type { Command } from '#cli/commands/Command.ts';\n\nexport interface ListCommandOptions {\n readonly depth: number;\n readonly outputFormat: 'text' | 'json';\n}\n\n/**\n * `uapkg list [--depth N]` — renders the resolved dependency tree.\n *\n * Pulls the lockfile via {@link PackageManifest.readLockfile}. A depth of 0\n * prints only root declarations; `Infinity` prints everything (duplicates\n * guarded so cycles can't loop forever).\n */\nexport class ListCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: ListCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n const manifestResult = await this.root.packageManifest.readManifest();\n const lockfileResult = await this.root.packageManifest.getLockfileForReadOnly();\n\n if (!manifestResult.ok) {\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({\n status: 'error',\n command: 'list',\n diagnostics: [...(manifestResult.diagnostics ?? [])],\n });\n } else {\n this.root.diagnostics.reportAll(manifestResult.diagnostics);\n }\n return 1;\n }\n\n if (!lockfileResult.ok) {\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({\n status: 'error',\n command: 'list',\n diagnostics: [...(lockfileResult.diagnostics ?? [])],\n });\n } else {\n this.root.diagnostics.reportAll(lockfileResult.diagnostics);\n }\n return 1;\n }\n\n if (this.options.outputFormat === 'text') {\n this.root.diagnostics.reportAll(lockfileResult.diagnostics);\n }\n\n const lockfile = lockfileResult.value;\n const manifest = manifestResult.value;\n const declared = Object.keys({\n ...manifest.dependencies,\n ...manifest.devDependencies,\n });\n\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({\n status: 'ok',\n command: 'list',\n data: { declared, packages: lockfile.packages },\n diagnostics: lockfileResult.diagnostics,\n });\n return 0;\n }\n\n process.stdout.write(`${this.root.cwd}\\n`);\n for (const name of declared) {\n const locked = (lockfile.packages as Record<string, { version: string; registry: string }>)[name];\n if (!locked) {\n process.stdout.write(` ${name} (not in lockfile)\\n`);\n continue;\n }\n process.stdout.write(` ${name}@${locked.version} [${locked.registry}]\\n`);\n }\n if (this.options.depth > 0) {\n const remaining = Object.entries(\n lockfile.packages as Record<string, { version: string; registry: string }>,\n ).filter(([name]) => !declared.includes(name));\n if (remaining.length > 0) {\n process.stdout.write(' --- transitive ---\\n');\n for (const [name, locked] of remaining) {\n process.stdout.write(` ${name}@${locked.version} [${locked.registry}]\\n`);\n }\n }\n }\n return 0;\n }\n}\n"],"mappings":";;;;;;;;AAeA,IAAa,cAAb,MAA4C;CAEvB;CACA;CAFnB,AAAO,YACL,AAAiB,MACjB,AAAiB,SACjB;EAFiB;EACA;CAChB;CAEH,MAAa,UAA2B;EACtC,MAAM,iBAAiB,MAAM,KAAK,KAAK,gBAAgB,aAAa;EACpE,MAAM,iBAAiB,MAAM,KAAK,KAAK,gBAAgB,uBAAuB;EAE9E,IAAI,CAAC,eAAe,IAAI;GACtB,IAAI,KAAK,QAAQ,iBAAiB,QAChC,KAAK,KAAK,KAAK,KAAK;IAClB,QAAQ;IACR,SAAS;IACT,aAAa,CAAC,GAAI,eAAe,eAAe,CAAC,CAAE;GACrD,CAAC;QAED,KAAK,KAAK,YAAY,UAAU,eAAe,WAAW;GAE5D,OAAO;EACT;EAEA,IAAI,CAAC,eAAe,IAAI;GACtB,IAAI,KAAK,QAAQ,iBAAiB,QAChC,KAAK,KAAK,KAAK,KAAK;IAClB,QAAQ;IACR,SAAS;IACT,aAAa,CAAC,GAAI,eAAe,eAAe,CAAC,CAAE;GACrD,CAAC;QAED,KAAK,KAAK,YAAY,UAAU,eAAe,WAAW;GAE5D,OAAO;EACT;EAEA,IAAI,KAAK,QAAQ,iBAAiB,QAChC,KAAK,KAAK,YAAY,UAAU,eAAe,WAAW;EAG5D,MAAM,WAAW,eAAe;EAChC,MAAM,WAAW,eAAe;EAChC,MAAM,WAAW,OAAO,KAAK;GAC3B,GAAG,SAAS;GACZ,GAAG,SAAS;EACd,CAAC;EAED,IAAI,KAAK,QAAQ,iBAAiB,QAAQ;GACxC,KAAK,KAAK,KAAK,KAAK;IAClB,QAAQ;IACR,SAAS;IACT,MAAM;KAAE;KAAU,UAAU,SAAS;IAAS;IAC9C,aAAa,eAAe;GAC9B,CAAC;GACD,OAAO;EACT;EAEA,QAAQ,OAAO,MAAM,GAAG,KAAK,KAAK,IAAI,GAAG;EACzC,KAAK,MAAM,QAAQ,UAAU;GAC3B,MAAM,SAAU,SAAS,SAAmE;GAC5F,IAAI,CAAC,QAAQ;IACX,QAAQ,OAAO,MAAM,KAAK,KAAK,qBAAqB;IACpD;GACF;GACA,QAAQ,OAAO,MAAM,KAAK,KAAK,GAAG,OAAO,QAAQ,KAAK,OAAO,SAAS,IAAI;EAC5E;EACA,IAAI,KAAK,QAAQ,QAAQ,GAAG;GAC1B,MAAM,YAAY,OAAO,QACvB,SAAS,QACX,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,SAAS,IAAI,CAAC;GAC7C,IAAI,UAAU,SAAS,GAAG;IACxB,QAAQ,OAAO,MAAM,wBAAwB;IAC7C,KAAK,MAAM,CAAC,MAAM,WAAW,WAC3B,QAAQ,OAAO,MAAM,KAAK,KAAK,GAAG,OAAO,QAAQ,KAAK,OAAO,SAAS,IAAI;GAE9E;EACF;EACA,OAAO;CACT;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoginCommand.d.ts","names":[],"sources":["../../src/commands/LoginCommand.ts"],"mappings":";;;;UAKiB;WACN;WACA;WACA;WACA,cAAc;;cAGZ,wBAAwB;mBAEhB;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW;UAoChB"}
@@ -1,67 +0,0 @@
1
- import { loginDiagnosticForError } from "../control-plane/AccountManager.js";
2
-
3
- //#region src/commands/LoginCommand.ts
4
- var LoginCommand = class {
5
- root;
6
- options;
7
- constructor(root, options) {
8
- this.root = root;
9
- this.options = options;
10
- }
11
- async execute() {
12
- try {
13
- const trust = await this.root.registryTrustResolver.resolve(this.options.registry);
14
- const result = await this.root.accountManager.login(trust, {
15
- deviceName: this.options.deviceName,
16
- reauthorize: this.options.reauthorize,
17
- onProgress: (event) => this.reportProgress(event)
18
- });
19
- if (this.options.outputFormat === "json") this.root.json.emitSuccess("login", {
20
- registry: {
21
- alias: trust.alias,
22
- id: trust.registryId,
23
- name: trust.registryName
24
- },
25
- account: result.grant.account,
26
- deviceName: result.grant.deviceName,
27
- expiresAt: result.grant.expiresAt,
28
- warnings: result.warnings
29
- });
30
- else process.stdout.write(`Logged in to "${trust.alias}" as ${result.grant.account.username} on ${result.grant.deviceName}.\n`);
31
- for (const warning of result.warnings) process.stderr.write(`Warning: ${warning}\n`);
32
- return 0;
33
- } catch (error) {
34
- const diagnostic = loginDiagnosticForError(error);
35
- if (this.options.outputFormat === "json") this.root.json.emitError("login", [diagnostic]);
36
- else process.stderr.write(`${diagnostic.message}\n`);
37
- return 1;
38
- }
39
- }
40
- reportProgress(event) {
41
- switch (event.type) {
42
- case "preparing":
43
- process.stderr.write(`Preparing browser authorization for "${event.registryAlias}"…\n`);
44
- break;
45
- case "opening-browser":
46
- process.stderr.write("Opening the UAPKG account page…\n");
47
- break;
48
- case "browser-open-failed":
49
- process.stderr.write(`Unable to open the browser automatically. Open this one-time URL to continue:\n${event.authorizationUrl}\n`);
50
- break;
51
- case "waiting-for-decision":
52
- process.stderr.write("Waiting for you to approve or deny access in the browser…\n");
53
- break;
54
- case "approval-received":
55
- process.stderr.write("Approval received. Verifying the account…\n");
56
- break;
57
- case "saving-local-credentials":
58
- process.stderr.write("Saving credentials in this device's protected credential store…\n");
59
- break;
60
- case "confirming-with-service": process.stderr.write("Local credentials saved. Confirming the login with UAPKG…\n");
61
- }
62
- }
63
- };
64
-
65
- //#endregion
66
- export { LoginCommand };
67
- //# sourceMappingURL=LoginCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoginCommand.js","names":[],"sources":["../../src/commands/LoginCommand.ts"],"sourcesContent":["import type { CompositionRoot } from '#cli/app/CompositionRoot.ts';\nimport type { UAPKGOutputFormat } from '#cli/cli/UAPKGCommandLine.ts';\nimport { type LoginProgressEvent, loginDiagnosticForError } from '#cli/control-plane/AccountManager.ts';\nimport type { Command } from '#cli/commands/Command.ts';\n\nexport interface LoginCommandOptions {\n readonly registry?: string;\n readonly deviceName?: string;\n readonly reauthorize: boolean;\n readonly outputFormat: UAPKGOutputFormat;\n}\n\nexport class LoginCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: LoginCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n try {\n const trust = await this.root.registryTrustResolver.resolve(this.options.registry);\n const result = await this.root.accountManager.login(trust, {\n deviceName: this.options.deviceName,\n reauthorize: this.options.reauthorize,\n onProgress: (event) => this.reportProgress(event),\n });\n if (this.options.outputFormat === 'json') {\n this.root.json.emitSuccess('login', {\n registry: { alias: trust.alias, id: trust.registryId, name: trust.registryName },\n account: result.grant.account,\n deviceName: result.grant.deviceName,\n expiresAt: result.grant.expiresAt,\n warnings: result.warnings,\n });\n } else {\n process.stdout.write(\n `Logged in to \"${trust.alias}\" as ${result.grant.account.username} on ${result.grant.deviceName}.\\n`,\n );\n }\n for (const warning of result.warnings) {\n process.stderr.write(`Warning: ${warning}\\n`);\n }\n return 0;\n } catch (error) {\n const diagnostic = loginDiagnosticForError(error);\n if (this.options.outputFormat === 'json') {\n this.root.json.emitError('login', [diagnostic]);\n } else {\n process.stderr.write(`${diagnostic.message}\\n`);\n }\n return 1;\n }\n }\n\n private reportProgress(event: LoginProgressEvent): void {\n switch (event.type) {\n case 'preparing':\n process.stderr.write(`Preparing browser authorization for \"${event.registryAlias}\"…\\n`);\n break;\n case 'opening-browser':\n process.stderr.write('Opening the UAPKG account page…\\n');\n break;\n case 'browser-open-failed':\n process.stderr.write(\n `Unable to open the browser automatically. Open this one-time URL to continue:\\n${event.authorizationUrl}\\n`,\n );\n break;\n case 'waiting-for-decision':\n process.stderr.write('Waiting for you to approve or deny access in the browser…\\n');\n break;\n case 'approval-received':\n process.stderr.write('Approval received. Verifying the account…\\n');\n break;\n case 'saving-local-credentials':\n process.stderr.write(\"Saving credentials in this device's protected credential store…\\n\");\n break;\n case 'confirming-with-service':\n process.stderr.write('Local credentials saved. Confirming the login with UAPKG…\\n');\n break;\n default:\n event satisfies never;\n }\n }\n}\n"],"mappings":";;;AAYA,IAAa,eAAb,MAA6C;CAExB;CACA;CAFnB,AAAO,YACL,AAAiB,MACjB,AAAiB,SACjB;EAFiB;EACA;CAChB;CAEH,MAAa,UAA2B;EACtC,IAAI;GACF,MAAM,QAAQ,MAAM,KAAK,KAAK,sBAAsB,QAAQ,KAAK,QAAQ,QAAQ;GACjF,MAAM,SAAS,MAAM,KAAK,KAAK,eAAe,MAAM,OAAO;IACzD,YAAY,KAAK,QAAQ;IACzB,aAAa,KAAK,QAAQ;IAC1B,aAAa,UAAU,KAAK,eAAe,KAAK;GAClD,CAAC;GACD,IAAI,KAAK,QAAQ,iBAAiB,QAChC,KAAK,KAAK,KAAK,YAAY,SAAS;IAClC,UAAU;KAAE,OAAO,MAAM;KAAO,IAAI,MAAM;KAAY,MAAM,MAAM;IAAa;IAC/E,SAAS,OAAO,MAAM;IACtB,YAAY,OAAO,MAAM;IACzB,WAAW,OAAO,MAAM;IACxB,UAAU,OAAO;GACnB,CAAC;QAED,QAAQ,OAAO,MACb,iBAAiB,MAAM,MAAM,OAAO,OAAO,MAAM,QAAQ,SAAS,MAAM,OAAO,MAAM,WAAW,IAClG;GAEF,KAAK,MAAM,WAAW,OAAO,UAC3B,QAAQ,OAAO,MAAM,YAAY,QAAQ,GAAG;GAE9C,OAAO;EACT,SAAS,OAAO;GACd,MAAM,aAAa,wBAAwB,KAAK;GAChD,IAAI,KAAK,QAAQ,iBAAiB,QAChC,KAAK,KAAK,KAAK,UAAU,SAAS,CAAC,UAAU,CAAC;QAE9C,QAAQ,OAAO,MAAM,GAAG,WAAW,QAAQ,GAAG;GAEhD,OAAO;EACT;CACF;CAEA,AAAQ,eAAe,OAAiC;EACtD,QAAQ,MAAM,MAAd;GACE,KAAK;IACH,QAAQ,OAAO,MAAM,wCAAwC,MAAM,cAAc,KAAK;IACtF;GACF,KAAK;IACH,QAAQ,OAAO,MAAM,mCAAmC;IACxD;GACF,KAAK;IACH,QAAQ,OAAO,MACb,kFAAkF,MAAM,iBAAiB,GAC3G;IACA;GACF,KAAK;IACH,QAAQ,OAAO,MAAM,6DAA6D;IAClF;GACF,KAAK;IACH,QAAQ,OAAO,MAAM,6CAA6C;IAClE;GACF,KAAK;IACH,QAAQ,OAAO,MAAM,mEAAmE;IACxF;GACF,KAAK,2BACH,QAAQ,OAAO,MAAM,6DAA6D;EAItF;CACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LogoutCommand.d.ts","names":[],"sources":["../../src/commands/LogoutCommand.ts"],"mappings":";;;;UAKiB;WACN;WACA;WACA,cAAc;;cAGZ,yBAAyB;mBAEjB;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW"}
@@ -1,37 +0,0 @@
1
- import { describeControlPlaneError } from "../control-plane/AccountManager.js";
2
-
3
- //#region src/commands/LogoutCommand.ts
4
- var LogoutCommand = class {
5
- root;
6
- options;
7
- constructor(root, options) {
8
- this.root = root;
9
- this.options = options;
10
- }
11
- async execute() {
12
- try {
13
- const trust = await this.root.registryTrustResolver.resolve(this.options.registry);
14
- const result = await this.root.accountManager.logout(trust, this.options.localOnly);
15
- if (this.options.outputFormat === "json") process.stdout.write(`${JSON.stringify({
16
- ok: true,
17
- registry: {
18
- alias: trust.alias,
19
- id: trust.registryId
20
- },
21
- removed: result === "removed",
22
- serverRevoked: result === "removed" && !this.options.localOnly
23
- })}\n`);
24
- else if (result === "not-logged-in") process.stdout.write(`No saved login exists for "${trust.alias}".\n`);
25
- else if (this.options.localOnly) process.stdout.write(`Removed the local login for "${trust.alias}". The remote grant may remain active; revoke it from the account website.\n`);
26
- else process.stdout.write(`Revoked and removed the saved login for "${trust.alias}".\n`);
27
- return 0;
28
- } catch (error) {
29
- process.stderr.write(`${describeControlPlaneError(error)}\n`);
30
- return 1;
31
- }
32
- }
33
- };
34
-
35
- //#endregion
36
- export { LogoutCommand };
37
- //# sourceMappingURL=LogoutCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LogoutCommand.js","names":[],"sources":["../../src/commands/LogoutCommand.ts"],"sourcesContent":["import type { CompositionRoot } from '#cli/app/CompositionRoot.ts';\nimport type { UAPKGOutputFormat } from '#cli/cli/UAPKGCommandLine.ts';\nimport { describeControlPlaneError } from '#cli/control-plane/AccountManager.ts';\nimport type { Command } from '#cli/commands/Command.ts';\n\nexport interface LogoutCommandOptions {\n readonly registry?: string;\n readonly localOnly: boolean;\n readonly outputFormat: UAPKGOutputFormat;\n}\n\nexport class LogoutCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: LogoutCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n try {\n const trust = await this.root.registryTrustResolver.resolve(this.options.registry);\n const result = await this.root.accountManager.logout(trust, this.options.localOnly);\n if (this.options.outputFormat === 'json') {\n process.stdout.write(\n `${JSON.stringify({\n ok: true,\n registry: { alias: trust.alias, id: trust.registryId },\n removed: result === 'removed',\n serverRevoked: result === 'removed' && !this.options.localOnly,\n })}\\n`,\n );\n } else if (result === 'not-logged-in') {\n process.stdout.write(`No saved login exists for \"${trust.alias}\".\\n`);\n } else if (this.options.localOnly) {\n process.stdout.write(\n `Removed the local login for \"${trust.alias}\". The remote grant may remain active; revoke it from the account website.\\n`,\n );\n } else {\n process.stdout.write(`Revoked and removed the saved login for \"${trust.alias}\".\\n`);\n }\n return 0;\n } catch (error) {\n process.stderr.write(`${describeControlPlaneError(error)}\\n`);\n return 1;\n }\n }\n}\n"],"mappings":";;;AAWA,IAAa,gBAAb,MAA8C;CAEzB;CACA;CAFnB,AAAO,YACL,AAAiB,MACjB,AAAiB,SACjB;EAFiB;EACA;CAChB;CAEH,MAAa,UAA2B;EACtC,IAAI;GACF,MAAM,QAAQ,MAAM,KAAK,KAAK,sBAAsB,QAAQ,KAAK,QAAQ,QAAQ;GACjF,MAAM,SAAS,MAAM,KAAK,KAAK,eAAe,OAAO,OAAO,KAAK,QAAQ,SAAS;GAClF,IAAI,KAAK,QAAQ,iBAAiB,QAChC,QAAQ,OAAO,MACb,GAAG,KAAK,UAAU;IAChB,IAAI;IACJ,UAAU;KAAE,OAAO,MAAM;KAAO,IAAI,MAAM;IAAW;IACrD,SAAS,WAAW;IACpB,eAAe,WAAW,aAAa,CAAC,KAAK,QAAQ;GACvD,CAAC,EAAE,GACL;QACK,IAAI,WAAW,iBACpB,QAAQ,OAAO,MAAM,8BAA8B,MAAM,MAAM,KAAK;QAC/D,IAAI,KAAK,QAAQ,WACtB,QAAQ,OAAO,MACb,gCAAgC,MAAM,MAAM,6EAC9C;QAEA,QAAQ,OAAO,MAAM,4CAA4C,MAAM,MAAM,KAAK;GAEpF,OAAO;EACT,SAAS,OAAO;GACd,QAAQ,OAAO,MAAM,GAAG,0BAA0B,KAAK,EAAE,GAAG;GAC5D,OAAO;EACT;CACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OutdatedCommand.d.ts","names":[],"sources":["../../src/commands/OutdatedCommand.ts"],"mappings":";;;UAGiB;WACN;;;;;;;;;;cAWE,2BAA2B;mBAEnB;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW"}