@uapkg/cli 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (412) hide show
  1. package/dist/app/CompositionRoot.d.ts +36 -33
  2. package/dist/app/CompositionRoot.d.ts.map +1 -1
  3. package/dist/app/CompositionRoot.js +91 -109
  4. package/dist/app/CompositionRoot.js.map +1 -1
  5. package/dist/app/UAPKGApplication.d.ts +6 -3
  6. package/dist/app/UAPKGApplication.d.ts.map +1 -1
  7. package/dist/app/UAPKGApplication.js +155 -169
  8. package/dist/app/UAPKGApplication.js.map +1 -1
  9. package/dist/build/BuildMetadata.d.ts +9 -6
  10. package/dist/build/BuildMetadata.d.ts.map +1 -1
  11. package/dist/build/BuildMetadata.js +2 -2
  12. package/dist/cli/UAPKGCommandLine.d.ts +259 -257
  13. package/dist/cli/UAPKGCommandLine.d.ts.map +1 -1
  14. package/dist/cli/UAPKGCommandLine.js +248 -239
  15. package/dist/cli/UAPKGCommandLine.js.map +1 -1
  16. package/dist/cli/parseCommandLine.d.ts +5 -1
  17. package/dist/cli/parseCommandLine.d.ts.map +1 -1
  18. package/dist/cli/parseCommandLine.js +8 -3
  19. package/dist/cli/parseCommandLine.js.map +1 -1
  20. package/dist/cli/parsing/UAPKGCommandLineParser.d.ts +9 -6
  21. package/dist/cli/parsing/UAPKGCommandLineParser.d.ts.map +1 -1
  22. package/dist/cli/parsing/UAPKGCommandLineParser.js +23 -31
  23. package/dist/cli/parsing/UAPKGCommandLineParser.js.map +1 -1
  24. package/dist/cli/parsing/UAPKGParserRegistry.d.ts +12 -9
  25. package/dist/cli/parsing/UAPKGParserRegistry.d.ts.map +1 -1
  26. package/dist/cli/parsing/UAPKGParserRegistry.js +53 -50
  27. package/dist/cli/parsing/UAPKGParserRegistry.js.map +1 -1
  28. package/dist/cli/parsing/contracts/UAPKGCommandModule.d.ts +9 -6
  29. package/dist/cli/parsing/contracts/UAPKGCommandModule.d.ts.map +1 -1
  30. package/dist/cli/parsing/contracts/UAPKGCommandModule.js +1 -2
  31. package/dist/cli/parsing/modules/AddCommandModule.d.ts +8 -5
  32. package/dist/cli/parsing/modules/AddCommandModule.d.ts.map +1 -1
  33. package/dist/cli/parsing/modules/AddCommandModule.js +49 -36
  34. package/dist/cli/parsing/modules/AddCommandModule.js.map +1 -1
  35. package/dist/cli/parsing/modules/ConfigCommandModule.d.ts +8 -5
  36. package/dist/cli/parsing/modules/ConfigCommandModule.d.ts.map +1 -1
  37. package/dist/cli/parsing/modules/ConfigCommandModule.js +87 -83
  38. package/dist/cli/parsing/modules/ConfigCommandModule.js.map +1 -1
  39. package/dist/cli/parsing/modules/InitCommandModule.d.ts +8 -5
  40. package/dist/cli/parsing/modules/InitCommandModule.d.ts.map +1 -1
  41. package/dist/cli/parsing/modules/InitCommandModule.js +25 -22
  42. package/dist/cli/parsing/modules/InitCommandModule.js.map +1 -1
  43. package/dist/cli/parsing/modules/InstallCommandModule.d.ts +8 -5
  44. package/dist/cli/parsing/modules/InstallCommandModule.d.ts.map +1 -1
  45. package/dist/cli/parsing/modules/InstallCommandModule.js +36 -28
  46. package/dist/cli/parsing/modules/InstallCommandModule.js.map +1 -1
  47. package/dist/cli/parsing/modules/LifecycleCommandModule.d.ts +8 -5
  48. package/dist/cli/parsing/modules/LifecycleCommandModule.d.ts.map +1 -1
  49. package/dist/cli/parsing/modules/LifecycleCommandModule.js +78 -50
  50. package/dist/cli/parsing/modules/LifecycleCommandModule.js.map +1 -1
  51. package/dist/cli/parsing/modules/ListCommandModule.d.ts +8 -5
  52. package/dist/cli/parsing/modules/ListCommandModule.d.ts.map +1 -1
  53. package/dist/cli/parsing/modules/ListCommandModule.js +26 -15
  54. package/dist/cli/parsing/modules/ListCommandModule.js.map +1 -1
  55. package/dist/cli/parsing/modules/LoginCommandModule.d.ts +8 -5
  56. package/dist/cli/parsing/modules/LoginCommandModule.d.ts.map +1 -1
  57. package/dist/cli/parsing/modules/LoginCommandModule.js +34 -33
  58. package/dist/cli/parsing/modules/LoginCommandModule.js.map +1 -1
  59. package/dist/cli/parsing/modules/LogoutCommandModule.d.ts +8 -5
  60. package/dist/cli/parsing/modules/LogoutCommandModule.d.ts.map +1 -1
  61. package/dist/cli/parsing/modules/LogoutCommandModule.js +30 -28
  62. package/dist/cli/parsing/modules/LogoutCommandModule.js.map +1 -1
  63. package/dist/cli/parsing/modules/OutdatedCommandModule.d.ts +8 -5
  64. package/dist/cli/parsing/modules/OutdatedCommandModule.d.ts.map +1 -1
  65. package/dist/cli/parsing/modules/OutdatedCommandModule.js +21 -16
  66. package/dist/cli/parsing/modules/OutdatedCommandModule.js.map +1 -1
  67. package/dist/cli/parsing/modules/PackCommandModule.d.ts +8 -5
  68. package/dist/cli/parsing/modules/PackCommandModule.d.ts.map +1 -1
  69. package/dist/cli/parsing/modules/PackCommandModule.js +30 -28
  70. package/dist/cli/parsing/modules/PackCommandModule.js.map +1 -1
  71. package/dist/cli/parsing/modules/ProjectGetNameCommandModule.d.ts +8 -5
  72. package/dist/cli/parsing/modules/ProjectGetNameCommandModule.d.ts.map +1 -1
  73. package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js +14 -11
  74. package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js.map +1 -1
  75. package/dist/cli/parsing/modules/PublishCommandModule.d.ts +8 -5
  76. package/dist/cli/parsing/modules/PublishCommandModule.d.ts.map +1 -1
  77. package/dist/cli/parsing/modules/PublishCommandModule.js +63 -47
  78. package/dist/cli/parsing/modules/PublishCommandModule.js.map +1 -1
  79. package/dist/cli/parsing/modules/RegistryCommandModule.d.ts +8 -5
  80. package/dist/cli/parsing/modules/RegistryCommandModule.d.ts.map +1 -1
  81. package/dist/cli/parsing/modules/RegistryCommandModule.js +117 -120
  82. package/dist/cli/parsing/modules/RegistryCommandModule.js.map +1 -1
  83. package/dist/cli/parsing/modules/RemoveCommandModule.d.ts +8 -5
  84. package/dist/cli/parsing/modules/RemoveCommandModule.d.ts.map +1 -1
  85. package/dist/cli/parsing/modules/RemoveCommandModule.js +25 -14
  86. package/dist/cli/parsing/modules/RemoveCommandModule.js.map +1 -1
  87. package/dist/cli/parsing/modules/RequestsCommandModule.d.ts +8 -5
  88. package/dist/cli/parsing/modules/RequestsCommandModule.d.ts.map +1 -1
  89. package/dist/cli/parsing/modules/RequestsCommandModule.js +56 -60
  90. package/dist/cli/parsing/modules/RequestsCommandModule.js.map +1 -1
  91. package/dist/cli/parsing/modules/UpdateCommandModule.d.ts +8 -5
  92. package/dist/cli/parsing/modules/UpdateCommandModule.d.ts.map +1 -1
  93. package/dist/cli/parsing/modules/UpdateCommandModule.js +38 -25
  94. package/dist/cli/parsing/modules/UpdateCommandModule.js.map +1 -1
  95. package/dist/cli/parsing/modules/WhoamiCommandModule.d.ts +8 -5
  96. package/dist/cli/parsing/modules/WhoamiCommandModule.d.ts.map +1 -1
  97. package/dist/cli/parsing/modules/WhoamiCommandModule.js +30 -28
  98. package/dist/cli/parsing/modules/WhoamiCommandModule.js.map +1 -1
  99. package/dist/cli/parsing/modules/WhyCommandModule.d.ts +8 -5
  100. package/dist/cli/parsing/modules/WhyCommandModule.d.ts.map +1 -1
  101. package/dist/cli/parsing/modules/WhyCommandModule.js +25 -14
  102. package/dist/cli/parsing/modules/WhyCommandModule.js.map +1 -1
  103. package/dist/cli/parsing/modules/sharedOptions.d.ts +8 -5
  104. package/dist/cli/parsing/modules/sharedOptions.d.ts.map +1 -1
  105. package/dist/cli/parsing/modules/sharedOptions.js +18 -23
  106. package/dist/cli/parsing/modules/sharedOptions.js.map +1 -1
  107. package/dist/cli/runUAPKGCLI.d.ts +4 -1
  108. package/dist/cli/runUAPKGCLI.d.ts.map +1 -1
  109. package/dist/cli/runUAPKGCLI.js +10 -5
  110. package/dist/cli/runUAPKGCLI.js.map +1 -1
  111. package/dist/cli-bootstrap.d.ts +1 -2
  112. package/dist/cli-bootstrap.js +15 -12
  113. package/dist/cli-bootstrap.js.map +1 -1
  114. package/dist/commands/AddCommand.d.ts +19 -16
  115. package/dist/commands/AddCommand.d.ts.map +1 -1
  116. package/dist/commands/AddCommand.js +49 -53
  117. package/dist/commands/AddCommand.js.map +1 -1
  118. package/dist/commands/Command.d.ts +5 -2
  119. package/dist/commands/Command.d.ts.map +1 -1
  120. package/dist/commands/Command.js +1 -2
  121. package/dist/commands/ConfigCommand.d.ts +28 -25
  122. package/dist/commands/ConfigCommand.d.ts.map +1 -1
  123. package/dist/commands/ConfigCommand.js +165 -186
  124. package/dist/commands/ConfigCommand.js.map +1 -1
  125. package/dist/commands/InitCommand.d.ts +19 -16
  126. package/dist/commands/InitCommand.d.ts.map +1 -1
  127. package/dist/commands/InitCommand.js +65 -60
  128. package/dist/commands/InitCommand.js.map +1 -1
  129. package/dist/commands/InstallCommand.d.ts +16 -13
  130. package/dist/commands/InstallCommand.d.ts.map +1 -1
  131. package/dist/commands/InstallCommand.js +118 -110
  132. package/dist/commands/InstallCommand.js.map +1 -1
  133. package/dist/commands/ListCommand.d.ts +13 -10
  134. package/dist/commands/ListCommand.d.ts.map +1 -1
  135. package/dist/commands/ListCommand.js +76 -81
  136. package/dist/commands/ListCommand.js.map +1 -1
  137. package/dist/commands/LoginCommand.d.ts +17 -14
  138. package/dist/commands/LoginCommand.d.ts.map +1 -1
  139. package/dist/commands/LoginCommand.js +66 -72
  140. package/dist/commands/LoginCommand.js.map +1 -1
  141. package/dist/commands/LogoutCommand.d.ts +15 -12
  142. package/dist/commands/LogoutCommand.d.ts.map +1 -1
  143. package/dist/commands/LogoutCommand.js +36 -37
  144. package/dist/commands/LogoutCommand.js.map +1 -1
  145. package/dist/commands/OutdatedCommand.d.ts +12 -9
  146. package/dist/commands/OutdatedCommand.d.ts.map +1 -1
  147. package/dist/commands/OutdatedCommand.js +41 -40
  148. package/dist/commands/OutdatedCommand.js.map +1 -1
  149. package/dist/commands/PackCommand.d.ts +13 -10
  150. package/dist/commands/PackCommand.d.ts.map +1 -1
  151. package/dist/commands/PackCommand.js +26 -21
  152. package/dist/commands/PackCommand.js.map +1 -1
  153. package/dist/commands/PackageLifecycleCommand.d.ts +23 -19
  154. package/dist/commands/PackageLifecycleCommand.d.ts.map +1 -1
  155. package/dist/commands/PackageLifecycleCommand.js +144 -138
  156. package/dist/commands/PackageLifecycleCommand.js.map +1 -1
  157. package/dist/commands/PostinstallCandidateBuilder.d.ts +11 -8
  158. package/dist/commands/PostinstallCandidateBuilder.d.ts.map +1 -1
  159. package/dist/commands/PostinstallCandidateBuilder.js +42 -42
  160. package/dist/commands/PostinstallCandidateBuilder.js.map +1 -1
  161. package/dist/commands/ProjectGetNameCommand.d.ts +10 -7
  162. package/dist/commands/ProjectGetNameCommand.d.ts.map +1 -1
  163. package/dist/commands/ProjectGetNameCommand.js +25 -25
  164. package/dist/commands/ProjectGetNameCommand.js.map +1 -1
  165. package/dist/commands/PublishCommand.d.ts +29 -23
  166. package/dist/commands/PublishCommand.d.ts.map +1 -1
  167. package/dist/commands/PublishCommand.js +243 -254
  168. package/dist/commands/PublishCommand.js.map +1 -1
  169. package/dist/commands/RegistryCommand.d.ts +38 -35
  170. package/dist/commands/RegistryCommand.d.ts.map +1 -1
  171. package/dist/commands/RegistryCommand.js +195 -223
  172. package/dist/commands/RegistryCommand.js.map +1 -1
  173. package/dist/commands/RemoveCommand.d.ts +14 -11
  174. package/dist/commands/RemoveCommand.d.ts.map +1 -1
  175. package/dist/commands/RemoveCommand.js +47 -54
  176. package/dist/commands/RemoveCommand.js.map +1 -1
  177. package/dist/commands/RequestsCommand.d.ts +21 -18
  178. package/dist/commands/RequestsCommand.d.ts.map +1 -1
  179. package/dist/commands/RequestsCommand.js +82 -95
  180. package/dist/commands/RequestsCommand.js.map +1 -1
  181. package/dist/commands/UpdateCommand.d.ts +29 -26
  182. package/dist/commands/UpdateCommand.d.ts.map +1 -1
  183. package/dist/commands/UpdateCommand.js +111 -111
  184. package/dist/commands/UpdateCommand.js.map +1 -1
  185. package/dist/commands/WhoamiCommand.d.ts +30 -27
  186. package/dist/commands/WhoamiCommand.d.ts.map +1 -1
  187. package/dist/commands/WhoamiCommand.js +63 -72
  188. package/dist/commands/WhoamiCommand.js.map +1 -1
  189. package/dist/commands/WhyCommand.d.ts +13 -10
  190. package/dist/commands/WhyCommand.d.ts.map +1 -1
  191. package/dist/commands/WhyCommand.js +45 -44
  192. package/dist/commands/WhyCommand.js.map +1 -1
  193. package/dist/commands/add/DependencyAddResolver.d.ts +14 -11
  194. package/dist/commands/add/DependencyAddResolver.d.ts.map +1 -1
  195. package/dist/commands/add/DependencyAddResolver.js +36 -36
  196. package/dist/commands/add/DependencyAddResolver.js.map +1 -1
  197. package/dist/control-plane/AccountManager.d.ts +96 -94
  198. package/dist/control-plane/AccountManager.d.ts.map +1 -1
  199. package/dist/control-plane/AccountManager.js +775 -967
  200. package/dist/control-plane/AccountManager.js.map +1 -1
  201. package/dist/control-plane/ArtifactObserver.d.ts +19 -16
  202. package/dist/control-plane/ArtifactObserver.d.ts.map +1 -1
  203. package/dist/control-plane/ArtifactObserver.js +73 -59
  204. package/dist/control-plane/ArtifactObserver.js.map +1 -1
  205. package/dist/control-plane/AuthMetadataStore.d.ts +16 -13
  206. package/dist/control-plane/AuthMetadataStore.d.ts.map +1 -1
  207. package/dist/control-plane/AuthMetadataStore.js +111 -113
  208. package/dist/control-plane/AuthMetadataStore.js.map +1 -1
  209. package/dist/control-plane/AuthStoragePaths.d.ts +7 -4
  210. package/dist/control-plane/AuthStoragePaths.d.ts.map +1 -1
  211. package/dist/control-plane/AuthStoragePaths.js +19 -14
  212. package/dist/control-plane/AuthStoragePaths.js.map +1 -1
  213. package/dist/control-plane/AuthenticationSelector.d.ts +21 -18
  214. package/dist/control-plane/AuthenticationSelector.d.ts.map +1 -1
  215. package/dist/control-plane/AuthenticationSelector.js +69 -63
  216. package/dist/control-plane/AuthenticationSelector.js.map +1 -1
  217. package/dist/control-plane/ControlPlaneClient.d.ts +37 -28
  218. package/dist/control-plane/ControlPlaneClient.d.ts.map +1 -1
  219. package/dist/control-plane/ControlPlaneClient.js +265 -254
  220. package/dist/control-plane/ControlPlaneClient.js.map +1 -1
  221. package/dist/control-plane/ControlPlaneEndpoints.d.ts +9 -6
  222. package/dist/control-plane/ControlPlaneEndpoints.d.ts.map +1 -1
  223. package/dist/control-plane/ControlPlaneEndpoints.js +17 -12
  224. package/dist/control-plane/ControlPlaneEndpoints.js.map +1 -1
  225. package/dist/control-plane/ControlPlaneTypes.d.ts +176 -152
  226. package/dist/control-plane/ControlPlaneTypes.d.ts.map +1 -1
  227. package/dist/control-plane/ControlPlaneTypes.js +88 -81
  228. package/dist/control-plane/ControlPlaneTypes.js.map +1 -1
  229. package/dist/control-plane/CredentialStore.d.ts +20 -18
  230. package/dist/control-plane/CredentialStore.d.ts.map +1 -1
  231. package/dist/control-plane/CredentialStore.js +66 -83
  232. package/dist/control-plane/CredentialStore.js.map +1 -1
  233. package/dist/control-plane/DPoPKeyStore.d.ts +12 -9
  234. package/dist/control-plane/DPoPKeyStore.d.ts.map +1 -1
  235. package/dist/control-plane/DPoPKeyStore.js +57 -53
  236. package/dist/control-plane/DPoPKeyStore.js.map +1 -1
  237. package/dist/control-plane/GitHubActionsOidcCredentialProvider.d.ts +37 -4
  238. package/dist/control-plane/GitHubActionsOidcCredentialProvider.d.ts.map +1 -1
  239. package/dist/control-plane/GitHubActionsOidcCredentialProvider.js +197 -63
  240. package/dist/control-plane/GitHubActionsOidcCredentialProvider.js.map +1 -1
  241. package/dist/control-plane/PublishIdempotencyStore.d.ts +25 -9
  242. package/dist/control-plane/PublishIdempotencyStore.d.ts.map +1 -1
  243. package/dist/control-plane/PublishIdempotencyStore.js +97 -68
  244. package/dist/control-plane/PublishIdempotencyStore.js.map +1 -1
  245. package/dist/control-plane/PublishRequestErrorMapper.d.ts +155 -0
  246. package/dist/control-plane/PublishRequestErrorMapper.d.ts.map +1 -0
  247. package/dist/control-plane/PublishRequestErrorMapper.js +597 -0
  248. package/dist/control-plane/PublishRequestErrorMapper.js.map +1 -0
  249. package/dist/control-plane/RegistryGrantLock.d.ts +29 -26
  250. package/dist/control-plane/RegistryGrantLock.d.ts.map +1 -1
  251. package/dist/control-plane/RegistryGrantLock.js +149 -185
  252. package/dist/control-plane/RegistryGrantLock.js.map +1 -1
  253. package/dist/control-plane/RegistryTrustResolver.d.ts +13 -10
  254. package/dist/control-plane/RegistryTrustResolver.d.ts.map +1 -1
  255. package/dist/control-plane/RegistryTrustResolver.js +97 -132
  256. package/dist/control-plane/RegistryTrustResolver.js.map +1 -1
  257. package/dist/index.d.ts +62 -39
  258. package/dist/index.js +60 -53
  259. package/dist/postinstall/api/PostinstallDsl.d.ts +24 -21
  260. package/dist/postinstall/api/PostinstallDsl.d.ts.map +1 -1
  261. package/dist/postinstall/api/PostinstallDsl.js +32 -35
  262. package/dist/postinstall/api/PostinstallDsl.js.map +1 -1
  263. package/dist/postinstall/api/definePostinstall.d.ts +5 -2
  264. package/dist/postinstall/api/definePostinstall.d.ts.map +1 -1
  265. package/dist/postinstall/api/definePostinstall.js +20 -16
  266. package/dist/postinstall/api/definePostinstall.js.map +1 -1
  267. package/dist/postinstall/index.d.ts +25 -26
  268. package/dist/postinstall/index.js +25 -37
  269. package/dist/postinstall/loader/EntryResolver.d.ts +11 -9
  270. package/dist/postinstall/loader/EntryResolver.d.ts.map +1 -1
  271. package/dist/postinstall/loader/EntryResolver.js +36 -32
  272. package/dist/postinstall/loader/EntryResolver.js.map +1 -1
  273. package/dist/postinstall/loader/EsbuildTranspiler.d.ts +6 -3
  274. package/dist/postinstall/loader/EsbuildTranspiler.d.ts.map +1 -1
  275. package/dist/postinstall/loader/EsbuildTranspiler.js +52 -56
  276. package/dist/postinstall/loader/EsbuildTranspiler.js.map +1 -1
  277. package/dist/postinstall/loader/ExportValidator.d.ts +8 -5
  278. package/dist/postinstall/loader/ExportValidator.d.ts.map +1 -1
  279. package/dist/postinstall/loader/ExportValidator.js +36 -32
  280. package/dist/postinstall/loader/ExportValidator.js.map +1 -1
  281. package/dist/postinstall/loader/ModuleImporter.d.ts +17 -14
  282. package/dist/postinstall/loader/ModuleImporter.d.ts.map +1 -1
  283. package/dist/postinstall/loader/ModuleImporter.js +50 -58
  284. package/dist/postinstall/loader/ModuleImporter.js.map +1 -1
  285. package/dist/postinstall/loader/PostinstallLoader.d.ts +22 -19
  286. package/dist/postinstall/loader/PostinstallLoader.d.ts.map +1 -1
  287. package/dist/postinstall/loader/PostinstallLoader.js +62 -58
  288. package/dist/postinstall/loader/PostinstallLoader.js.map +1 -1
  289. package/dist/postinstall/markers/MarkerBlockEditor.d.ts +19 -16
  290. package/dist/postinstall/markers/MarkerBlockEditor.d.ts.map +1 -1
  291. package/dist/postinstall/markers/MarkerBlockEditor.js +48 -44
  292. package/dist/postinstall/markers/MarkerBlockEditor.js.map +1 -1
  293. package/dist/postinstall/markers/MarkerBlockService.d.ts +10 -7
  294. package/dist/postinstall/markers/MarkerBlockService.d.ts.map +1 -1
  295. package/dist/postinstall/markers/MarkerBlockService.js +44 -44
  296. package/dist/postinstall/markers/MarkerBlockService.js.map +1 -1
  297. package/dist/postinstall/markers/MarkerIntegrityValidator.d.ts +12 -9
  298. package/dist/postinstall/markers/MarkerIntegrityValidator.d.ts.map +1 -1
  299. package/dist/postinstall/markers/MarkerIntegrityValidator.js +47 -52
  300. package/dist/postinstall/markers/MarkerIntegrityValidator.js.map +1 -1
  301. package/dist/postinstall/policy/PostinstallPolicyGate.d.ts +25 -23
  302. package/dist/postinstall/policy/PostinstallPolicyGate.d.ts.map +1 -1
  303. package/dist/postinstall/policy/PostinstallPolicyGate.js +63 -52
  304. package/dist/postinstall/policy/PostinstallPolicyGate.js.map +1 -1
  305. package/dist/postinstall/runner/PostinstallOrchestrator.d.ts +48 -45
  306. package/dist/postinstall/runner/PostinstallOrchestrator.d.ts.map +1 -1
  307. package/dist/postinstall/runner/PostinstallOrchestrator.js +172 -170
  308. package/dist/postinstall/runner/PostinstallOrchestrator.js.map +1 -1
  309. package/dist/postinstall/unreal/BuildCsInjector.d.ts +16 -13
  310. package/dist/postinstall/unreal/BuildCsInjector.d.ts.map +1 -1
  311. package/dist/postinstall/unreal/BuildCsInjector.js +58 -53
  312. package/dist/postinstall/unreal/BuildCsInjector.js.map +1 -1
  313. package/dist/postinstall/unreal/CSharpInjectionEngine.d.ts +13 -10
  314. package/dist/postinstall/unreal/CSharpInjectionEngine.d.ts.map +1 -1
  315. package/dist/postinstall/unreal/CSharpInjectionEngine.js +56 -59
  316. package/dist/postinstall/unreal/CSharpInjectionEngine.js.map +1 -1
  317. package/dist/postinstall/unreal/CSharpStructureAnalyzer.d.ts +11 -8
  318. package/dist/postinstall/unreal/CSharpStructureAnalyzer.d.ts.map +1 -1
  319. package/dist/postinstall/unreal/CSharpStructureAnalyzer.js +123 -127
  320. package/dist/postinstall/unreal/CSharpStructureAnalyzer.js.map +1 -1
  321. package/dist/postinstall/unreal/CSharpStructures.d.ts +18 -15
  322. package/dist/postinstall/unreal/CSharpStructures.d.ts.map +1 -1
  323. package/dist/postinstall/unreal/CSharpStructures.js +1 -2
  324. package/dist/postinstall/unreal/CSharpWrapperFactory.d.ts +7 -4
  325. package/dist/postinstall/unreal/CSharpWrapperFactory.d.ts.map +1 -1
  326. package/dist/postinstall/unreal/CSharpWrapperFactory.js +54 -58
  327. package/dist/postinstall/unreal/CSharpWrapperFactory.js.map +1 -1
  328. package/dist/postinstall/unreal/PluginHash.d.ts +5 -2
  329. package/dist/postinstall/unreal/PluginHash.d.ts.map +1 -1
  330. package/dist/postinstall/unreal/PluginHash.js +13 -8
  331. package/dist/postinstall/unreal/PluginHash.js.map +1 -1
  332. package/dist/postinstall/unreal/PrettyParseError.d.ts +8 -5
  333. package/dist/postinstall/unreal/PrettyParseError.d.ts.map +1 -1
  334. package/dist/postinstall/unreal/PrettyParseError.js +37 -37
  335. package/dist/postinstall/unreal/PrettyParseError.js.map +1 -1
  336. package/dist/postinstall/unreal/ProjectFileLocator.d.ts +12 -9
  337. package/dist/postinstall/unreal/ProjectFileLocator.d.ts.map +1 -1
  338. package/dist/postinstall/unreal/ProjectFileLocator.js +49 -51
  339. package/dist/postinstall/unreal/ProjectFileLocator.js.map +1 -1
  340. package/dist/postinstall/unreal/TargetCsInjector.d.ts +16 -13
  341. package/dist/postinstall/unreal/TargetCsInjector.d.ts.map +1 -1
  342. package/dist/postinstall/unreal/TargetCsInjector.js +58 -53
  343. package/dist/postinstall/unreal/TargetCsInjector.js.map +1 -1
  344. package/dist/postinstall/unreal/UProjectInjector.d.ts +6 -3
  345. package/dist/postinstall/unreal/UProjectInjector.d.ts.map +1 -1
  346. package/dist/postinstall/unreal/UProjectInjector.js +56 -52
  347. package/dist/postinstall/unreal/UProjectInjector.js.map +1 -1
  348. package/dist/postinstall/unreal/UProjectMetadataReader.d.ts +5 -2
  349. package/dist/postinstall/unreal/UProjectMetadataReader.d.ts.map +1 -1
  350. package/dist/postinstall/unreal/UProjectMetadataReader.js +22 -18
  351. package/dist/postinstall/unreal/UProjectMetadataReader.js.map +1 -1
  352. package/dist/postinstall/unreal/UnrealSourceCatalog.d.ts +17 -14
  353. package/dist/postinstall/unreal/UnrealSourceCatalog.d.ts.map +1 -1
  354. package/dist/postinstall/unreal/UnrealSourceCatalog.js +50 -50
  355. package/dist/postinstall/unreal/UnrealSourceCatalog.js.map +1 -1
  356. package/dist/prompts/InkPromptService.d.ts +10 -7
  357. package/dist/prompts/InkPromptService.d.ts.map +1 -1
  358. package/dist/prompts/InkPromptService.js +100 -71
  359. package/dist/prompts/InkPromptService.js.map +1 -1
  360. package/dist/prompts/ProjectContextDetector.d.ts +10 -7
  361. package/dist/prompts/ProjectContextDetector.d.ts.map +1 -1
  362. package/dist/prompts/ProjectContextDetector.js +32 -26
  363. package/dist/prompts/ProjectContextDetector.js.map +1 -1
  364. package/dist/prompts/PromptService.d.ts +11 -8
  365. package/dist/prompts/PromptService.d.ts.map +1 -1
  366. package/dist/prompts/PromptService.js +1 -8
  367. package/dist/reporting/DiagnosticDeduplicator.d.ts +8 -5
  368. package/dist/reporting/DiagnosticDeduplicator.d.ts.map +1 -1
  369. package/dist/reporting/DiagnosticDeduplicator.js +36 -35
  370. package/dist/reporting/DiagnosticDeduplicator.js.map +1 -1
  371. package/dist/reporting/DiagnosticRenderer.d.ts +11 -8
  372. package/dist/reporting/DiagnosticRenderer.d.ts.map +1 -1
  373. package/dist/reporting/DiagnosticRenderer.js +1 -2
  374. package/dist/reporting/DiagnosticReporter.d.ts +12 -9
  375. package/dist/reporting/DiagnosticReporter.d.ts.map +1 -1
  376. package/dist/reporting/DiagnosticReporter.js +40 -39
  377. package/dist/reporting/DiagnosticReporter.js.map +1 -1
  378. package/dist/reporting/InkDiagnosticRenderer.d.ts +12 -9
  379. package/dist/reporting/InkDiagnosticRenderer.d.ts.map +1 -1
  380. package/dist/reporting/InkDiagnosticRenderer.js +50 -42
  381. package/dist/reporting/InkDiagnosticRenderer.js.map +1 -1
  382. package/dist/reporting/InstallProgressReporter.d.ts +23 -20
  383. package/dist/reporting/InstallProgressReporter.d.ts.map +1 -1
  384. package/dist/reporting/InstallProgressReporter.js +48 -47
  385. package/dist/reporting/InstallProgressReporter.js.map +1 -1
  386. package/dist/reporting/JsonReporter.d.ts +16 -13
  387. package/dist/reporting/JsonReporter.d.ts.map +1 -1
  388. package/dist/reporting/JsonReporter.js +34 -20
  389. package/dist/reporting/JsonReporter.js.map +1 -1
  390. package/dist/reporting/RegistryRequestTerminalFormatter.d.ts +36 -0
  391. package/dist/reporting/RegistryRequestTerminalFormatter.d.ts.map +1 -0
  392. package/dist/reporting/RegistryRequestTerminalFormatter.js +90 -0
  393. package/dist/reporting/RegistryRequestTerminalFormatter.js.map +1 -0
  394. package/dist/reporting/TextDiagnosticRenderer.d.ts +11 -8
  395. package/dist/reporting/TextDiagnosticRenderer.d.ts.map +1 -1
  396. package/dist/reporting/TextDiagnosticRenderer.js +36 -28
  397. package/dist/reporting/TextDiagnosticRenderer.js.map +1 -1
  398. package/dist/reporting/TextSink.d.ts +14 -11
  399. package/dist/reporting/TextSink.d.ts.map +1 -1
  400. package/dist/reporting/TextSink.js +24 -20
  401. package/dist/reporting/TextSink.js.map +1 -1
  402. package/package.json +31 -32
  403. package/dist/cli/parsing/contracts/UAPKGCommandModule.js.map +0 -1
  404. package/dist/cli-bootstrap.d.ts.map +0 -1
  405. package/dist/commands/Command.js.map +0 -1
  406. package/dist/index.d.ts.map +0 -1
  407. package/dist/index.js.map +0 -1
  408. package/dist/postinstall/index.d.ts.map +0 -1
  409. package/dist/postinstall/index.js.map +0 -1
  410. package/dist/postinstall/unreal/CSharpStructures.js.map +0 -1
  411. package/dist/prompts/PromptService.js.map +0 -1
  412. package/dist/reporting/DiagnosticRenderer.js.map +0 -1
@@ -1,42 +1,43 @@
1
+ //#region src/commands/OutdatedCommand.ts
1
2
  /**
2
- * `uapkg outdated` — emits one row per declared dependency with
3
- * `current / wanted / latest / status` taken from
4
- * {@link PackageManifest.checkOutdated}.
5
- *
6
- * Exit code 0 when all rows are `up-to-date`; otherwise 2 so CI gates can
7
- * branch on it. JSON mode emits the full array on stdout in a single write.
8
- */
9
- export class OutdatedCommand {
10
- root;
11
- options;
12
- constructor(root, options) {
13
- this.root = root;
14
- this.options = options;
15
- }
16
- async execute() {
17
- const result = await this.root.packageManifest.checkOutdated();
18
- if (this.options.outputFormat === 'json') {
19
- this.root.json.emit({
20
- status: result.ok ? 'ok' : 'error',
21
- command: 'outdated',
22
- data: result.ok ? result.value : undefined,
23
- diagnostics: result.diagnostics,
24
- });
25
- return result.ok ? (result.value.some((r) => r.status !== 'up-to-date') ? 2 : 0) : 1;
26
- }
27
- this.root.diagnostics.reportAll(result.diagnostics);
28
- if (!result.ok)
29
- return 1;
30
- const rows = result.value;
31
- if (rows.length === 0) {
32
- process.stdout.write('No declared dependencies.\n');
33
- return 0;
34
- }
35
- const outdated = rows.filter((r) => r.status !== 'up-to-date');
36
- for (const row of rows) {
37
- process.stdout.write(`${row.status.padEnd(16)} ${row.name.padEnd(32)} ${row.current} → ${row.wanted} (latest ${row.latest})\n`);
38
- }
39
- return outdated.length > 0 ? 2 : 0;
40
- }
41
- }
3
+ * `uapkg outdated` — emits one row per declared dependency with
4
+ * `current / wanted / latest / status` taken from
5
+ * {@link PackageManifest.checkOutdated}.
6
+ *
7
+ * Exit code 0 when all rows are `up-to-date`; otherwise 2 so CI gates can
8
+ * branch on it. JSON mode emits the full array on stdout in a single write.
9
+ */
10
+ var OutdatedCommand = class {
11
+ root;
12
+ options;
13
+ constructor(root, options) {
14
+ this.root = root;
15
+ this.options = options;
16
+ }
17
+ async execute() {
18
+ const result = await this.root.packageManifest.checkOutdated();
19
+ if (this.options.outputFormat === "json") {
20
+ this.root.json.emit({
21
+ status: result.ok ? "ok" : "error",
22
+ command: "outdated",
23
+ data: result.ok ? result.value : void 0,
24
+ diagnostics: result.diagnostics
25
+ });
26
+ return result.ok ? result.value.some((r) => r.status !== "up-to-date") ? 2 : 0 : 1;
27
+ }
28
+ this.root.diagnostics.reportAll(result.diagnostics);
29
+ if (!result.ok) return 1;
30
+ const rows = result.value;
31
+ if (rows.length === 0) {
32
+ process.stdout.write("No declared dependencies.\n");
33
+ return 0;
34
+ }
35
+ const outdated = rows.filter((r) => r.status !== "up-to-date");
36
+ for (const row of rows) process.stdout.write(`${row.status.padEnd(16)} ${row.name.padEnd(32)} ${row.current} → ${row.wanted} (latest ${row.latest})\n`);
37
+ return outdated.length > 0 ? 2 : 0;
38
+ }
39
+ };
40
+
41
+ //#endregion
42
+ export { OutdatedCommand };
42
43
  //# sourceMappingURL=OutdatedCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OutdatedCommand.js","sourceRoot":"","sources":["../../src/commands/OutdatedCommand.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,MAAM,OAAO,eAAe;IAEP;IACA;IAFnB,YACmB,IAAqB,EACrB,OAA+B;QAD/B,SAAI,GAAJ,IAAI,CAAiB;QACrB,YAAO,GAAP,OAAO,CAAwB;IAC/C,CAAC;IAEG,KAAK,CAAC,OAAO;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;QAE/D,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;gBAClC,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC1C,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,CAAC;QAEzB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACpD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;QAC/D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,GAAG,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,KAAK,CAC1G,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"OutdatedCommand.js","names":[],"sources":["../../src/commands/OutdatedCommand.ts"],"sourcesContent":["import type { CompositionRoot } from '../app/CompositionRoot.js';\nimport type { Command } from './Command.js';\n\nexport interface OutdatedCommandOptions {\n readonly outputFormat: 'text' | 'json';\n}\n\n/**\n * `uapkg outdated` — emits one row per declared dependency with\n * `current / wanted / latest / status` taken from\n * {@link PackageManifest.checkOutdated}.\n *\n * Exit code 0 when all rows are `up-to-date`; otherwise 2 so CI gates can\n * branch on it. JSON mode emits the full array on stdout in a single write.\n */\nexport class OutdatedCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: OutdatedCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n const result = await this.root.packageManifest.checkOutdated();\n\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({\n status: result.ok ? 'ok' : 'error',\n command: 'outdated',\n data: result.ok ? result.value : undefined,\n diagnostics: result.diagnostics,\n });\n return result.ok ? (result.value.some((r) => r.status !== 'up-to-date') ? 2 : 0) : 1;\n }\n\n this.root.diagnostics.reportAll(result.diagnostics);\n if (!result.ok) return 1;\n\n const rows = result.value;\n if (rows.length === 0) {\n process.stdout.write('No declared dependencies.\\n');\n return 0;\n }\n const outdated = rows.filter((r) => r.status !== 'up-to-date');\n for (const row of rows) {\n process.stdout.write(\n `${row.status.padEnd(16)} ${row.name.padEnd(32)} ${row.current} → ${row.wanted} (latest ${row.latest})\\n`,\n );\n }\n return outdated.length > 0 ? 2 : 0;\n }\n}\n"],"mappings":";;;;;;;;;AAeA,IAAa,kBAAb,MAAgD;CAE3B;CACA;CAFnB,AAAO,YACL,AAAiB,MACjB,AAAiB,SACjB;EAFiB;EACA;CAChB;CAEH,MAAa,UAA2B;EACtC,MAAM,SAAS,MAAM,KAAK,KAAK,gBAAgB,cAAc;EAE7D,IAAI,KAAK,QAAQ,iBAAiB,QAAQ;GACxC,KAAK,KAAK,KAAK,KAAK;IAClB,QAAQ,OAAO,KAAK,OAAO;IAC3B,SAAS;IACT,MAAM,OAAO,KAAK,OAAO,QAAQ;IACjC,aAAa,OAAO;GACtB,CAAC;GACD,OAAO,OAAO,KAAM,OAAO,MAAM,MAAM,MAAM,EAAE,WAAW,YAAY,IAAI,IAAI,IAAK;EACrF;EAEA,KAAK,KAAK,YAAY,UAAU,OAAO,WAAW;EAClD,IAAI,CAAC,OAAO,IAAI,OAAO;EAEvB,MAAM,OAAO,OAAO;EACpB,IAAI,KAAK,WAAW,GAAG;GACrB,QAAQ,OAAO,MAAM,6BAA6B;GAClD,OAAO;EACT;EACA,MAAM,WAAW,KAAK,QAAQ,MAAM,EAAE,WAAW,YAAY;EAC7D,KAAK,MAAM,OAAO,MAChB,QAAQ,OAAO,MACb,GAAG,IAAI,OAAO,OAAO,EAAE,EAAE,GAAG,IAAI,KAAK,OAAO,EAAE,EAAE,GAAG,IAAI,QAAQ,KAAK,IAAI,OAAO,WAAW,IAAI,OAAO,IACvG;EAEF,OAAO,SAAS,SAAS,IAAI,IAAI;CACnC;AACF"}
@@ -1,13 +1,16 @@
1
- import type { Command } from './Command.js';
2
- export interface PackCommandOptions {
3
- cwd: string;
4
- dryRun: boolean;
5
- allowMissingLfs: boolean;
6
- outFile?: string;
1
+ import { Command } from "./Command.js";
2
+ //#region src/commands/PackCommand.d.ts
3
+ interface PackCommandOptions {
4
+ cwd: string;
5
+ dryRun: boolean;
6
+ allowMissingLfs: boolean;
7
+ outFile?: string;
7
8
  }
8
- export declare class PackCommand implements Command {
9
- private readonly options;
10
- constructor(options: PackCommandOptions);
11
- execute(): Promise<0 | 1>;
9
+ declare class PackCommand implements Command {
10
+ private readonly options;
11
+ constructor(options: PackCommandOptions);
12
+ execute(): Promise<0 | 1>;
12
13
  }
14
+ //#endregion
15
+ export { PackCommand, PackCommandOptions };
13
16
  //# sourceMappingURL=PackCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PackCommand.d.ts","sourceRoot":"","sources":["../../src/commands/PackCommand.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,WAAY,YAAW,OAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,kBAAkB;IAElD,OAAO;CAed"}
1
+ {"version":3,"file":"PackCommand.d.ts","names":[],"sources":["../../src/commands/PackCommand.ts"],"mappings":";;UAIiB;EACf;EACA;EACA;EACA;;cAGW,uBAAuB;mBACL;EAA7B,YAA6B,SAAS;EAEhC,WAAO"}
@@ -1,22 +1,27 @@
1
- import { pack } from '@uapkg/pack';
2
- import { DiagnosticReporter } from '../reporting/DiagnosticReporter.js';
3
- export class PackCommand {
4
- options;
5
- constructor(options) {
6
- this.options = options;
7
- }
8
- async execute() {
9
- const result = await pack({
10
- cwd: this.options.cwd,
11
- dryRun: this.options.dryRun,
12
- allowMissingLfs: this.options.allowMissingLfs,
13
- outFile: this.options.outFile,
14
- });
15
- if (!result.ok) {
16
- new DiagnosticReporter().reportAll(result.diagnostics);
17
- return 1;
18
- }
19
- return 0;
20
- }
21
- }
1
+ import { DiagnosticReporter } from "../reporting/DiagnosticReporter.js";
2
+ import { pack } from "@uapkg/pack";
3
+
4
+ //#region src/commands/PackCommand.ts
5
+ var PackCommand = class {
6
+ options;
7
+ constructor(options) {
8
+ this.options = options;
9
+ }
10
+ async execute() {
11
+ const result = await pack({
12
+ cwd: this.options.cwd,
13
+ dryRun: this.options.dryRun,
14
+ allowMissingLfs: this.options.allowMissingLfs,
15
+ outFile: this.options.outFile
16
+ });
17
+ if (!result.ok) {
18
+ new DiagnosticReporter().reportAll(result.diagnostics);
19
+ return 1;
20
+ }
21
+ return 0;
22
+ }
23
+ };
24
+
25
+ //#endregion
26
+ export { PackCommand };
22
27
  //# sourceMappingURL=PackCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PackCommand.js","sourceRoot":"","sources":["../../src/commands/PackCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAUxE,MAAM,OAAO,WAAW;IACO;IAA7B,YAA6B,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;IAAG,CAAC;IAE5D,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;YACxB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;YACrB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;YAC7C,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACvD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
1
+ {"version":3,"file":"PackCommand.js","names":[],"sources":["../../src/commands/PackCommand.ts"],"sourcesContent":["import { pack } from '@uapkg/pack';\nimport { DiagnosticReporter } from '../reporting/DiagnosticReporter.js';\nimport type { Command } from './Command.js';\n\nexport interface PackCommandOptions {\n cwd: string;\n dryRun: boolean;\n allowMissingLfs: boolean;\n outFile?: string;\n}\n\nexport class PackCommand implements Command {\n constructor(private readonly options: PackCommandOptions) {}\n\n async execute() {\n const result = await pack({\n cwd: this.options.cwd,\n dryRun: this.options.dryRun,\n allowMissingLfs: this.options.allowMissingLfs,\n outFile: this.options.outFile,\n });\n\n if (!result.ok) {\n new DiagnosticReporter().reportAll(result.diagnostics);\n return 1;\n }\n\n return 0;\n }\n}\n"],"mappings":";;;;AAWA,IAAa,cAAb,MAA4C;CACb;CAA7B,YAAY,AAAiB,SAA6B;EAA7B;CAA8B;CAE3D,MAAM,UAAU;EACd,MAAM,SAAS,MAAM,KAAK;GACxB,KAAK,KAAK,QAAQ;GAClB,QAAQ,KAAK,QAAQ;GACrB,iBAAiB,KAAK,QAAQ;GAC9B,SAAS,KAAK,QAAQ;EACxB,CAAC;EAED,IAAI,CAAC,OAAO,IAAI;GACd,IAAI,mBAAmB,CAAC,CAAC,UAAU,OAAO,WAAW;GACrD,OAAO;EACT;EAEA,OAAO;CACT;AACF"}
@@ -1,16 +1,17 @@
1
- import type { CompositionRoot } from '../app/CompositionRoot.js';
2
- import type { UAPKGLifecycleCommandName, UAPKGOutputFormat } from '../cli/UAPKGCommandLine.js';
3
- import { type ControlPlaneAuthMode } from '../control-plane/ControlPlaneTypes.js';
4
- import type { Command } from './Command.js';
5
- export interface PackageLifecycleCommandOptions {
6
- readonly operation: UAPKGLifecycleCommandName;
7
- readonly packageName: string;
8
- readonly packageVersion: string;
9
- readonly reason?: string;
10
- readonly registry?: string;
11
- readonly auth: ControlPlaneAuthMode;
12
- readonly detach: boolean;
13
- readonly outputFormat: UAPKGOutputFormat;
1
+ import { ControlPlaneAuthMode } from "../control-plane/ControlPlaneTypes.js";
2
+ import { CompositionRoot } from "../app/CompositionRoot.js";
3
+ import { UAPKGLifecycleCommandName, UAPKGOutputFormat } from "../cli/UAPKGCommandLine.js";
4
+ import { Command } from "./Command.js";
5
+ //#region src/commands/PackageLifecycleCommand.d.ts
6
+ interface PackageLifecycleCommandOptions {
7
+ readonly operation: UAPKGLifecycleCommandName;
8
+ readonly packageName: string;
9
+ readonly packageVersion: string;
10
+ readonly reason?: string;
11
+ readonly registry?: string;
12
+ readonly auth: ControlPlaneAuthMode;
13
+ readonly detach: boolean;
14
+ readonly outputFormat: UAPKGOutputFormat;
14
15
  }
15
16
  /**
16
17
  * Shared implementation of the five route-derived package lifecycle
@@ -18,11 +19,14 @@ export interface PackageLifecycleCommandOptions {
18
19
  * command posts to its dedicated submission route and watches the request
19
20
  * to readiness unless detached.
20
21
  */
21
- export declare class PackageLifecycleCommand implements Command {
22
- private readonly root;
23
- private readonly options;
24
- constructor(root: CompositionRoot, options: PackageLifecycleCommandOptions);
25
- execute(): Promise<number>;
26
- private print;
22
+ declare class PackageLifecycleCommand implements Command {
23
+ private readonly root;
24
+ private readonly options;
25
+ constructor(root: CompositionRoot, options: PackageLifecycleCommandOptions);
26
+ execute(): Promise<number>;
27
+ private printCreated;
28
+ private printTerminal;
27
29
  }
30
+ //#endregion
31
+ export { PackageLifecycleCommand, PackageLifecycleCommandOptions };
28
32
  //# sourceMappingURL=PackageLifecycleCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PackageLifecycleCommand.d.ts","sourceRoot":"","sources":["../../src/commands/PackageLifecycleCommand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAI/F,OAAO,EACL,KAAK,oBAAoB,EAI1B,MAAM,uCAAuC,CAAC;AAG/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAY5C,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;CAC1C;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,YAAW,OAAO;IAEnD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,8BAA8B;IAG7C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAmGvC,OAAO,CAAC,KAAK;CA0Bd"}
1
+ {"version":3,"file":"PackageLifecycleCommand.d.ts","names":[],"sources":["../../src/commands/PackageLifecycleCommand.ts"],"mappings":";;;;;UAyBiB;WACN,WAAW;WACX;WACA;WACA;WACA;WACA,MAAM;WACN;WACA,cAAc;;;;;;;;cASZ,mCAAmC;mBAE3B;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW;UA0GhB;UAkBA"}
@@ -1,143 +1,149 @@
1
- import { randomUUID } from 'node:crypto';
2
- import { describeControlPlaneError } from '../control-plane/AccountManager.js';
3
- import { AuthenticationSelector } from '../control-plane/AuthenticationSelector.js';
4
- import { ControlPlaneClient } from '../control-plane/ControlPlaneClient.js';
5
- import { ControlPlaneError, } from '../control-plane/ControlPlaneTypes.js';
6
- import { PublishIdempotencyStore } from '../control-plane/PublishIdempotencyStore.js';
7
- import { InkPromptService } from '../prompts/InkPromptService.js';
8
- const TERMINAL_STATUSES = new Set([
9
- 'ready',
10
- 'ready_superseded',
11
- 'rejected',
12
- 'operationally_failed',
1
+ import { ControlPlaneError } from "../control-plane/ControlPlaneTypes.js";
2
+ import { ControlPlaneClient } from "../control-plane/ControlPlaneClient.js";
3
+ import { describeControlPlaneError } from "../control-plane/AccountManager.js";
4
+ import { AuthenticationSelector } from "../control-plane/AuthenticationSelector.js";
5
+ import { PublishIdempotencyStore } from "../control-plane/PublishIdempotencyStore.js";
6
+ import { InkPromptService } from "../prompts/InkPromptService.js";
7
+ import { formatRegistryRequestTerminal, isRegistryRequestSuccessStatus, isRegistryRequestTerminalStatus } from "../reporting/RegistryRequestTerminalFormatter.js";
8
+ import { randomUUID } from "node:crypto";
9
+
10
+ //#region src/commands/PackageLifecycleCommand.ts
11
+ const WATCH_TIMEOUT_MS = 18e5;
12
+ const REASON_REQUIRED = /* @__PURE__ */ new Set([
13
+ "yank",
14
+ "unyank",
15
+ "unpublish",
16
+ "deprecate"
13
17
  ]);
14
- const SUCCESS_STATUSES = new Set(['ready', 'ready_superseded']);
15
- const WATCH_TIMEOUT_MS = 30 * 60 * 1000;
16
- const REASON_REQUIRED = new Set(['yank', 'unyank', 'unpublish', 'deprecate']);
17
18
  /**
18
- * Shared implementation of the five route-derived package lifecycle
19
- * operations (`uapkg yank|unyank|unpublish|deprecate|undeprecate`). Each
20
- * command posts to its dedicated submission route and watches the request
21
- * to readiness unless detached.
22
- */
23
- export class PackageLifecycleCommand {
24
- root;
25
- options;
26
- constructor(root, options) {
27
- this.root = root;
28
- this.options = options;
29
- }
30
- async execute() {
31
- try {
32
- const { operation, packageName, packageVersion } = this.options;
33
- if (!packageName.trim() || !packageVersion.trim()) {
34
- throw new Error(`uapkg ${operation} requires a package name and an exact version.`);
35
- }
36
- const reason = this.options.reason?.trim();
37
- if (REASON_REQUIRED.has(operation) && !reason) {
38
- throw new Error(`uapkg ${operation} requires --reason describing why the version is changing state.`);
39
- }
40
- const trust = await this.root.registryTrustResolver.resolve(this.options.registry);
41
- const selector = new AuthenticationSelector(this.root.accountManager, new InkPromptService());
42
- const requestedScopes = this.options.detach
43
- ? ['publishing.request.create']
44
- : ['publishing.request.create', 'publishing.request.read.self'];
45
- let authentication = await selector.select(this.options.auth, trust, requestedScopes, true);
46
- let requestOtp = authentication.otp;
47
- authentication = { kind: authentication.kind, credential: authentication.credential };
48
- const submission = {
49
- registryId: trust.registryId,
50
- payload: {
51
- packageName: packageName.trim(),
52
- packageVersion: packageVersion.trim(),
53
- ...(reason ? { reason } : {}),
54
- },
55
- };
56
- const idempotencyStore = new PublishIdempotencyStore();
57
- const submissionDigest = PublishIdempotencyStore.submissionDigest(operation, submission);
58
- const idempotencyKey = idempotencyStore.getOrCreate(submissionDigest, () => randomUUID());
59
- const client = new ControlPlaneClient(trust.apiBaseUrl);
60
- let created;
61
- try {
62
- created = await client.submitRegistryRequest(authentication.credential, operation, submission, {
63
- idempotencyKey,
64
- otp: requestOtp,
65
- });
66
- }
67
- finally {
68
- // Do not retain the request-bound code during status reads or watch.
69
- requestOtp = undefined;
70
- }
71
- if (this.options.detach) {
72
- this.print(created.requestId, created.status, trust.alias, undefined);
73
- return 0;
74
- }
75
- let request = await client.getRegistryRequest(authentication.credential, created.requestId);
76
- let previousStatus = '';
77
- const deadline = Date.now() + WATCH_TIMEOUT_MS;
78
- while (!TERMINAL_STATUSES.has(request.status)) {
79
- if (Date.now() >= deadline) {
80
- throw new Error(`Timed out waiting for request ${request.id}. Check it with \`uapkg requests status ${request.id}\`.`);
81
- }
82
- if (this.options.outputFormat === 'text' && request.status !== previousStatus) {
83
- process.stdout.write(`${request.id}: ${request.status}${request.currentStep ? ` (${request.currentStep})` : ''}\n`);
84
- previousStatus = request.status;
85
- }
86
- await delay(2_000);
87
- try {
88
- request = await client.getRegistryRequest(authentication.credential, created.requestId);
89
- }
90
- catch (error) {
91
- if (!(error instanceof ControlPlaneError) || error.status !== 401)
92
- throw error;
93
- if (authentication.kind === 'gat')
94
- throw error;
95
- if (authentication.kind === 'login') {
96
- this.root.accountManager.invalidateAccessCredentials(trust);
97
- }
98
- authentication = await selector.select(authentication.kind, trust, ['publishing.request.read.self'], false);
99
- request = await client.getRegistryRequest(authentication.credential, created.requestId);
100
- }
101
- }
102
- idempotencyStore.clear(submissionDigest);
103
- if (SUCCESS_STATUSES.has(request.status)) {
104
- let refreshWarning;
105
- try {
106
- await this.root.registryTrustResolver.forceRefresh(trust);
107
- }
108
- catch (error) {
109
- refreshWarning = error instanceof Error ? error.message : String(error);
110
- }
111
- this.print(request.id, request.status, trust.alias, refreshWarning);
112
- return 0;
113
- }
114
- this.print(request.id, request.status, trust.alias, undefined);
115
- return 1;
116
- }
117
- catch (error) {
118
- process.stderr.write(`${describeControlPlaneError(error)}\n`);
119
- return 1;
120
- }
121
- }
122
- print(requestId, status, registryAlias, refreshWarning) {
123
- if (this.options.outputFormat === 'json') {
124
- process.stdout.write(`${JSON.stringify({
125
- ok: this.options.detach || SUCCESS_STATUSES.has(status),
126
- operation: this.options.operation,
127
- registry: registryAlias,
128
- requestId,
129
- status,
130
- ...(refreshWarning ? { registryRefreshWarning: refreshWarning } : {}),
131
- })}\n`);
132
- return;
133
- }
134
- process.stdout.write(`${this.options.operation} request ${requestId} for ${this.options.packageName}@${this.options.packageVersion}: ${status}.\n`);
135
- if (refreshWarning) {
136
- process.stderr.write(`The operation succeeded, but the local registry refresh failed: ${refreshWarning}\n`);
137
- }
138
- }
139
- }
19
+ * Shared implementation of the five route-derived package lifecycle
20
+ * operations (`uapkg yank|unyank|unpublish|deprecate|undeprecate`). Each
21
+ * command posts to its dedicated submission route and watches the request
22
+ * to readiness unless detached.
23
+ */
24
+ var PackageLifecycleCommand = class {
25
+ root;
26
+ options;
27
+ constructor(root, options) {
28
+ this.root = root;
29
+ this.options = options;
30
+ }
31
+ async execute() {
32
+ try {
33
+ const { operation, packageName, packageVersion } = this.options;
34
+ if (!packageName.trim() || !packageVersion.trim()) throw new Error(`uapkg ${operation} requires a package name and an exact version.`);
35
+ const reason = this.options.reason?.trim();
36
+ if (REASON_REQUIRED.has(operation) && !reason) throw new Error(`uapkg ${operation} requires --reason describing why the version is changing state.`);
37
+ const trust = await this.root.registryTrustResolver.resolve(this.options.registry);
38
+ const selector = new AuthenticationSelector(this.root.accountManager, new InkPromptService());
39
+ const oidcTarget = {
40
+ registryId: trust.registryId,
41
+ packageName: packageName.trim()
42
+ };
43
+ const requestedScopes = this.options.detach ? ["publishing.request.create"] : ["publishing.request.create", "publishing.request.read.self"];
44
+ let authentication = await selector.select(this.options.auth, trust, requestedScopes, true, oidcTarget);
45
+ let requestOtp = authentication.otp;
46
+ authentication = {
47
+ kind: authentication.kind,
48
+ credential: authentication.credential
49
+ };
50
+ const submission = {
51
+ registryId: trust.registryId,
52
+ payload: {
53
+ packageName: packageName.trim(),
54
+ packageVersion: packageVersion.trim(),
55
+ ...reason ? { reason } : {}
56
+ }
57
+ };
58
+ const idempotencyStore = new PublishIdempotencyStore();
59
+ const submissionDigest = PublishIdempotencyStore.submissionDigest(operation, submission);
60
+ const idempotencyKey = idempotencyStore.getOrCreate(submissionDigest, () => randomUUID());
61
+ const client = new ControlPlaneClient(trust.apiBaseUrl);
62
+ let created;
63
+ try {
64
+ created = await client.submitRegistryRequest(authentication.credential, operation, submission, {
65
+ idempotencyKey,
66
+ otp: requestOtp
67
+ });
68
+ } finally {
69
+ requestOtp = void 0;
70
+ }
71
+ if (this.options.detach) {
72
+ this.printCreated(created.requestId, created.status, trust.alias);
73
+ return 0;
74
+ }
75
+ let detail = await client.getRegistryRequestDetail(authentication.credential, created.requestId);
76
+ let previousStatus = "";
77
+ const deadline = Date.now() + WATCH_TIMEOUT_MS;
78
+ while (!isRegistryRequestTerminalStatus(detail.request.status)) {
79
+ if (Date.now() >= deadline) throw new Error(`Timed out waiting for request ${detail.request.id}. Check it with \`uapkg requests status ${detail.request.id}\`.`);
80
+ if (this.options.outputFormat === "text" && detail.request.status !== previousStatus) {
81
+ process.stdout.write(`${detail.request.id}: ${detail.request.status}${detail.request.currentStep ? ` (${detail.request.currentStep})` : ""}\n`);
82
+ previousStatus = detail.request.status;
83
+ }
84
+ await delay(2e3);
85
+ try {
86
+ detail = await client.getRegistryRequestDetail(authentication.credential, created.requestId);
87
+ } catch (error) {
88
+ if (!(error instanceof ControlPlaneError) || error.status !== 401) throw error;
89
+ if (authentication.kind === "gat") throw error;
90
+ if (authentication.kind === "login") this.root.accountManager.invalidateAccessCredentials(trust);
91
+ authentication = await selector.select(authentication.kind, trust, ["publishing.request.read.self"], false, oidcTarget);
92
+ detail = await client.getRegistryRequestDetail(authentication.credential, created.requestId);
93
+ }
94
+ }
95
+ idempotencyStore.clear(submissionDigest);
96
+ if (isRegistryRequestSuccessStatus(detail.request.status)) {
97
+ let refreshWarning;
98
+ try {
99
+ await this.root.registryTrustResolver.forceRefresh(trust);
100
+ } catch (error) {
101
+ refreshWarning = error instanceof Error ? error.message : String(error);
102
+ }
103
+ this.printTerminal(detail, trust.alias, refreshWarning);
104
+ return 0;
105
+ }
106
+ this.printTerminal(detail, trust.alias);
107
+ return 1;
108
+ } catch (error) {
109
+ process.stderr.write(`${describeControlPlaneError(error)}\n`);
110
+ return 1;
111
+ }
112
+ }
113
+ printCreated(requestId, status, registryAlias) {
114
+ if (this.options.outputFormat === "json") {
115
+ process.stdout.write(`${JSON.stringify({
116
+ ok: true,
117
+ operation: this.options.operation,
118
+ registry: registryAlias,
119
+ requestId,
120
+ status
121
+ })}\n`);
122
+ return;
123
+ }
124
+ process.stdout.write(`${this.options.operation} request ${requestId} for ${this.options.packageName}@${this.options.packageVersion}: ${status}.\n`);
125
+ }
126
+ printTerminal(detail, registryAlias, refreshWarning) {
127
+ const output = formatRegistryRequestTerminal({
128
+ detail,
129
+ registryAlias,
130
+ outputFormat: this.options.outputFormat,
131
+ presentation: {
132
+ kind: "lifecycle",
133
+ operation: this.options.operation,
134
+ packageName: this.options.packageName,
135
+ packageVersion: this.options.packageVersion
136
+ },
137
+ ...refreshWarning ? { registryRefreshWarning: refreshWarning } : {}
138
+ });
139
+ process.stdout.write(output.stdout);
140
+ if (output.stderr) process.stderr.write(output.stderr);
141
+ }
142
+ };
140
143
  function delay(milliseconds) {
141
- return new Promise((resolve) => setTimeout(resolve, milliseconds));
144
+ return new Promise((resolve) => setTimeout(resolve, milliseconds));
142
145
  }
146
+
147
+ //#endregion
148
+ export { PackageLifecycleCommand };
143
149
  //# sourceMappingURL=PackageLifecycleCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PackageLifecycleCommand.js","sourceRoot":"","sources":["../../src/commands/PackageLifecycleCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PackageLifecycleCommand.js","names":[],"sources":["../../src/commands/PackageLifecycleCommand.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport type { CompositionRoot } from '../app/CompositionRoot.js';\nimport type { UAPKGLifecycleCommandName, UAPKGOutputFormat } from '../cli/UAPKGCommandLine.js';\nimport { describeControlPlaneError } from '../control-plane/AccountManager.js';\nimport { AuthenticationSelector } from '../control-plane/AuthenticationSelector.js';\nimport { ControlPlaneClient } from '../control-plane/ControlPlaneClient.js';\nimport {\n type ControlPlaneAuthMode,\n ControlPlaneError,\n type RegistryRequestDetail,\n type RegistryRequestStatus,\n type RegistryRequestSubmission,\n} from '../control-plane/ControlPlaneTypes.js';\nimport { PublishIdempotencyStore } from '../control-plane/PublishIdempotencyStore.js';\nimport { InkPromptService } from '../prompts/InkPromptService.js';\nimport {\n formatRegistryRequestTerminal,\n isRegistryRequestSuccessStatus,\n isRegistryRequestTerminalStatus,\n} from '../reporting/RegistryRequestTerminalFormatter.js';\nimport type { Command } from './Command.js';\n\nconst WATCH_TIMEOUT_MS = 30 * 60 * 1000;\nconst REASON_REQUIRED: ReadonlySet<UAPKGLifecycleCommandName> = new Set(['yank', 'unyank', 'unpublish', 'deprecate']);\n\nexport interface PackageLifecycleCommandOptions {\n readonly operation: UAPKGLifecycleCommandName;\n readonly packageName: string;\n readonly packageVersion: string;\n readonly reason?: string;\n readonly registry?: string;\n readonly auth: ControlPlaneAuthMode;\n readonly detach: boolean;\n readonly outputFormat: UAPKGOutputFormat;\n}\n\n/**\n * Shared implementation of the five route-derived package lifecycle\n * operations (`uapkg yank|unyank|unpublish|deprecate|undeprecate`). Each\n * command posts to its dedicated submission route and watches the request\n * to readiness unless detached.\n */\nexport class PackageLifecycleCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: PackageLifecycleCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n try {\n const { operation, packageName, packageVersion } = this.options;\n if (!packageName.trim() || !packageVersion.trim()) {\n throw new Error(`uapkg ${operation} requires a package name and an exact version.`);\n }\n const reason = this.options.reason?.trim();\n if (REASON_REQUIRED.has(operation) && !reason) {\n throw new Error(`uapkg ${operation} requires --reason describing why the version is changing state.`);\n }\n\n const trust = await this.root.registryTrustResolver.resolve(this.options.registry);\n const selector = new AuthenticationSelector(this.root.accountManager, new InkPromptService());\n const oidcTarget = { registryId: trust.registryId, packageName: packageName.trim() };\n const requestedScopes = this.options.detach\n ? (['publishing.request.create'] as const)\n : (['publishing.request.create', 'publishing.request.read.self'] as const);\n let authentication = await selector.select(this.options.auth, trust, requestedScopes, true, oidcTarget);\n let requestOtp = authentication.otp;\n authentication = { kind: authentication.kind, credential: authentication.credential };\n\n const submission: RegistryRequestSubmission = {\n registryId: trust.registryId,\n payload: {\n packageName: packageName.trim(),\n packageVersion: packageVersion.trim(),\n ...(reason ? { reason } : {}),\n },\n };\n\n const idempotencyStore = new PublishIdempotencyStore();\n const submissionDigest = PublishIdempotencyStore.submissionDigest(operation, submission);\n const idempotencyKey = idempotencyStore.getOrCreate(submissionDigest, () => randomUUID());\n\n const client = new ControlPlaneClient(trust.apiBaseUrl);\n let created: Awaited<ReturnType<ControlPlaneClient['submitRegistryRequest']>>;\n try {\n created = await client.submitRegistryRequest(authentication.credential, operation, submission, {\n idempotencyKey,\n otp: requestOtp,\n });\n } finally {\n // Do not retain the request-bound code during status reads or watch.\n requestOtp = undefined;\n }\n if (this.options.detach) {\n this.printCreated(created.requestId, created.status, trust.alias);\n return 0;\n }\n\n let detail = await client.getRegistryRequestDetail(authentication.credential, created.requestId);\n let previousStatus = '';\n const deadline = Date.now() + WATCH_TIMEOUT_MS;\n while (!isRegistryRequestTerminalStatus(detail.request.status)) {\n if (Date.now() >= deadline) {\n throw new Error(\n `Timed out waiting for request ${detail.request.id}. Check it with \\`uapkg requests status ${detail.request.id}\\`.`,\n );\n }\n if (this.options.outputFormat === 'text' && detail.request.status !== previousStatus) {\n process.stdout.write(\n `${detail.request.id}: ${detail.request.status}${detail.request.currentStep ? ` (${detail.request.currentStep})` : ''}\\n`,\n );\n previousStatus = detail.request.status;\n }\n await delay(2_000);\n try {\n detail = await client.getRegistryRequestDetail(authentication.credential, created.requestId);\n } catch (error) {\n if (!(error instanceof ControlPlaneError) || error.status !== 401) throw error;\n if (authentication.kind === 'gat') throw error;\n if (authentication.kind === 'login') {\n this.root.accountManager.invalidateAccessCredentials(trust);\n }\n authentication = await selector.select(\n authentication.kind,\n trust,\n ['publishing.request.read.self'],\n false,\n oidcTarget,\n );\n detail = await client.getRegistryRequestDetail(authentication.credential, created.requestId);\n }\n }\n\n idempotencyStore.clear(submissionDigest);\n\n if (isRegistryRequestSuccessStatus(detail.request.status)) {\n let refreshWarning: string | undefined;\n try {\n await this.root.registryTrustResolver.forceRefresh(trust);\n } catch (error) {\n refreshWarning = error instanceof Error ? error.message : String(error);\n }\n this.printTerminal(detail, trust.alias, refreshWarning);\n return 0;\n }\n\n this.printTerminal(detail, trust.alias);\n return 1;\n } catch (error) {\n process.stderr.write(`${describeControlPlaneError(error)}\\n`);\n return 1;\n }\n }\n\n private printCreated(requestId: string, status: RegistryRequestStatus, registryAlias: string): void {\n if (this.options.outputFormat === 'json') {\n process.stdout.write(\n `${JSON.stringify({\n ok: true,\n operation: this.options.operation,\n registry: registryAlias,\n requestId,\n status,\n })}\\n`,\n );\n return;\n }\n process.stdout.write(\n `${this.options.operation} request ${requestId} for ${this.options.packageName}@${this.options.packageVersion}: ${status}.\\n`,\n );\n }\n\n private printTerminal(detail: RegistryRequestDetail, registryAlias: string, refreshWarning?: string): void {\n const output = formatRegistryRequestTerminal({\n detail,\n registryAlias,\n outputFormat: this.options.outputFormat,\n presentation: {\n kind: 'lifecycle',\n operation: this.options.operation,\n packageName: this.options.packageName,\n packageVersion: this.options.packageVersion,\n },\n ...(refreshWarning ? { registryRefreshWarning: refreshWarning } : {}),\n });\n process.stdout.write(output.stdout);\n if (output.stderr) process.stderr.write(output.stderr);\n }\n}\n\nfunction delay(milliseconds: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, milliseconds));\n}\n"],"mappings":"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"}