@uapkg/cli 1.2.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 -129
  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 -244
  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,41 +1,42 @@
1
- import { DiagnosticDeduplicator } from './DiagnosticDeduplicator.js';
2
- import { InkDiagnosticRenderer } from './InkDiagnosticRenderer.js';
3
- import { sortDiagnostics } from './TextSink.js';
1
+ import { sortDiagnostics } from "./TextSink.js";
2
+ import { DiagnosticDeduplicator } from "./DiagnosticDeduplicator.js";
3
+ import { InkDiagnosticRenderer } from "./InkDiagnosticRenderer.js";
4
+
5
+ //#region src/reporting/DiagnosticReporter.ts
4
6
  /**
5
- * Human-readable diagnostic reporter.
6
- *
7
- * Routing policy: `error` → stderr, `warning` / `info` → stdout. Output
8
- * rendering is delegated to an injected {@link DiagnosticRenderer} so this
9
- * class is UI-agnostic.
10
- *
11
- * Defaults to the Ink renderer (styled, colored output); tests typically
12
- * inject {@link TextDiagnosticRenderer}.
13
- *
14
- * One instance is safe to reuse across commands in a single CLI run.
15
- */
16
- export class DiagnosticReporter {
17
- renderer;
18
- deduplicator;
19
- constructor(renderer = new InkDiagnosticRenderer(), deduplicator = new DiagnosticDeduplicator()) {
20
- this.renderer = renderer;
21
- this.deduplicator = deduplicator;
22
- }
23
- reportAll(diagnostics) {
24
- if (diagnostics.length === 0)
25
- return;
26
- const deduped = this.deduplicator.filter(diagnostics);
27
- if (deduped.length === 0)
28
- return;
29
- const sorted = sortDiagnostics(deduped);
30
- const errors = sorted.filter((d) => d.level === 'error');
31
- const others = sorted.filter((d) => d.level !== 'error');
32
- if (errors.length > 0)
33
- this.renderer.render(errors, 'stderr');
34
- if (others.length > 0)
35
- this.renderer.render(others, 'stdout');
36
- }
37
- reportOne(diagnostic) {
38
- this.reportAll([diagnostic]);
39
- }
40
- }
7
+ * Human-readable diagnostic reporter.
8
+ *
9
+ * Routing policy: `error` → stderr, `warning` / `info` → stdout. Output
10
+ * rendering is delegated to an injected {@link DiagnosticRenderer} so this
11
+ * class is UI-agnostic.
12
+ *
13
+ * Defaults to the Ink renderer (styled, colored output); tests typically
14
+ * inject {@link TextDiagnosticRenderer}.
15
+ *
16
+ * One instance is safe to reuse across commands in a single CLI run.
17
+ */
18
+ var DiagnosticReporter = class {
19
+ renderer;
20
+ deduplicator;
21
+ constructor(renderer = new InkDiagnosticRenderer(), deduplicator = new DiagnosticDeduplicator()) {
22
+ this.renderer = renderer;
23
+ this.deduplicator = deduplicator;
24
+ }
25
+ reportAll(diagnostics) {
26
+ if (diagnostics.length === 0) return;
27
+ const deduped = this.deduplicator.filter(diagnostics);
28
+ if (deduped.length === 0) return;
29
+ const sorted = sortDiagnostics(deduped);
30
+ const errors = sorted.filter((d) => d.level === "error");
31
+ const others = sorted.filter((d) => d.level !== "error");
32
+ if (errors.length > 0) this.renderer.render(errors, "stderr");
33
+ if (others.length > 0) this.renderer.render(others, "stdout");
34
+ }
35
+ reportOne(diagnostic) {
36
+ this.reportAll([diagnostic]);
37
+ }
38
+ };
39
+
40
+ //#endregion
41
+ export { DiagnosticReporter };
41
42
  //# sourceMappingURL=DiagnosticReporter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticReporter.js","sourceRoot":"","sources":["../../src/reporting/DiagnosticReporter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,kBAAkB;IAEV;IACA;IAFnB,YACmB,WAA+B,IAAI,qBAAqB,EAAE,EAC1D,eAAuC,IAAI,sBAAsB,EAAE;QADnE,aAAQ,GAAR,QAAQ,CAAkD;QAC1D,iBAAY,GAAZ,YAAY,CAAuD;IACnF,CAAC;IAEG,SAAS,CAAC,WAAkC;QACjD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAEM,SAAS,CAAC,UAAsB;QACrC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"DiagnosticReporter.js","names":[],"sources":["../../src/reporting/DiagnosticReporter.ts"],"sourcesContent":["import type { Diagnostic } from '@uapkg/diagnostics';\nimport { DiagnosticDeduplicator } from './DiagnosticDeduplicator.js';\nimport type { DiagnosticRenderer } from './DiagnosticRenderer.js';\nimport { InkDiagnosticRenderer } from './InkDiagnosticRenderer.js';\nimport { sortDiagnostics } from './TextSink.js';\n\n/**\n * Human-readable diagnostic reporter.\n *\n * Routing policy: `error` → stderr, `warning` / `info` → stdout. Output\n * rendering is delegated to an injected {@link DiagnosticRenderer} so this\n * class is UI-agnostic.\n *\n * Defaults to the Ink renderer (styled, colored output); tests typically\n * inject {@link TextDiagnosticRenderer}.\n *\n * One instance is safe to reuse across commands in a single CLI run.\n */\nexport class DiagnosticReporter {\n public constructor(\n private readonly renderer: DiagnosticRenderer = new InkDiagnosticRenderer(),\n private readonly deduplicator: DiagnosticDeduplicator = new DiagnosticDeduplicator(),\n ) {}\n\n public reportAll(diagnostics: readonly Diagnostic[]): void {\n if (diagnostics.length === 0) return;\n const deduped = this.deduplicator.filter(diagnostics);\n if (deduped.length === 0) return;\n const sorted = sortDiagnostics(deduped);\n const errors = sorted.filter((d) => d.level === 'error');\n const others = sorted.filter((d) => d.level !== 'error');\n if (errors.length > 0) this.renderer.render(errors, 'stderr');\n if (others.length > 0) this.renderer.render(others, 'stdout');\n }\n\n public reportOne(diagnostic: Diagnostic): void {\n this.reportAll([diagnostic]);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,IAAa,qBAAb,MAAgC;CAEX;CACA;CAFnB,AAAO,YACL,AAAiB,WAA+B,IAAI,sBAAsB,GAC1E,AAAiB,eAAuC,IAAI,uBAAuB,GACnF;EAFiB;EACA;CAChB;CAEH,AAAO,UAAU,aAA0C;EACzD,IAAI,YAAY,WAAW,GAAG;EAC9B,MAAM,UAAU,KAAK,aAAa,OAAO,WAAW;EACpD,IAAI,QAAQ,WAAW,GAAG;EAC1B,MAAM,SAAS,gBAAgB,OAAO;EACtC,MAAM,SAAS,OAAO,QAAQ,MAAM,EAAE,UAAU,OAAO;EACvD,MAAM,SAAS,OAAO,QAAQ,MAAM,EAAE,UAAU,OAAO;EACvD,IAAI,OAAO,SAAS,GAAG,KAAK,SAAS,OAAO,QAAQ,QAAQ;EAC5D,IAAI,OAAO,SAAS,GAAG,KAAK,SAAS,OAAO,QAAQ,QAAQ;CAC9D;CAEA,AAAO,UAAU,YAA8B;EAC7C,KAAK,UAAU,CAAC,UAAU,CAAC;CAC7B;AACF"}
@@ -1,7 +1,8 @@
1
- import type { Diagnostic } from '@uapkg/diagnostics';
2
- import { type DiagnosticInkRegistry } from '@uapkg/diagnostics-format/ink';
3
- import type { DiagnosticRenderer } from './DiagnosticRenderer.js';
4
- import type { TextSink } from './TextSink.js';
1
+ import { DiagnosticRenderer } from "./DiagnosticRenderer.js";
2
+ import { TextSink } from "./TextSink.js";
3
+ import { Diagnostic } from "@uapkg/diagnostics";
4
+ import { DiagnosticInkRegistry } from "@uapkg/diagnostics-format/ink";
5
+ //#region src/reporting/InkDiagnosticRenderer.d.ts
5
6
  /**
6
7
  * Ink-backed diagnostic renderer.
7
8
  *
@@ -12,10 +13,12 @@ import type { TextSink } from './TextSink.js';
12
13
  * On any Ink failure (missing terminfo, exotic stream, etc.) the renderer
13
14
  * delegates to a fallback text sink so diagnostics are never lost.
14
15
  */
15
- export declare class InkDiagnosticRenderer implements DiagnosticRenderer {
16
- private readonly registry;
17
- private readonly fallback?;
18
- constructor(registry?: DiagnosticInkRegistry, fallback?: TextSink | undefined);
19
- render(diagnostics: readonly Diagnostic[], stream: 'stdout' | 'stderr'): void;
16
+ declare class InkDiagnosticRenderer implements DiagnosticRenderer {
17
+ private readonly registry;
18
+ private readonly fallback?;
19
+ constructor(registry?: DiagnosticInkRegistry, fallback?: TextSink | undefined);
20
+ render(diagnostics: readonly Diagnostic[], stream: 'stdout' | 'stderr'): void;
20
21
  }
22
+ //#endregion
23
+ export { InkDiagnosticRenderer };
21
24
  //# sourceMappingURL=InkDiagnosticRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InkDiagnosticRenderer.d.ts","sourceRoot":"","sources":["../../src/reporting/InkDiagnosticRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAEL,KAAK,qBAAqB,EAG3B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;GASG;AACH,qBAAa,qBAAsB,YAAW,kBAAkB;IAE5D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBADT,QAAQ,GAAE,qBAA+D,EACzE,QAAQ,CAAC,EAAE,QAAQ,YAAA;IAG/B,MAAM,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;CAkBrF"}
1
+ {"version":3,"file":"InkDiagnosticRenderer.d.ts","names":[],"sources":["../../src/reporting/InkDiagnosticRenderer.ts"],"mappings":";;;;;;;;;;;;;;;cAuBa,iCAAiC;mBAEzB;mBACA;EAFnB,YACmB,WAAU,uBACV,WAAW;EAGvB,OAAO,sBAAsB,cAAc"}
@@ -1,44 +1,52 @@
1
- import { createInkRegistry, DiagnosticsListView, defaultInkComponents, } from '@uapkg/diagnostics-format/ink';
2
- import { render } from 'ink';
3
- import { createElement } from 'react';
1
+ import { formatPublishRequestFailed } from "@uapkg/diagnostics-format";
2
+ import { DiagnosticsListView, createInkRegistry, defaultInkComponents } from "@uapkg/diagnostics-format/ink";
3
+ import { render } from "ink";
4
+ import { createElement } from "react";
5
+
6
+ //#region src/reporting/InkDiagnosticRenderer.ts
4
7
  /**
5
- * Ink-backed diagnostic renderer.
6
- *
7
- * Renders each batch as a static Ink tree to the target process stream. No
8
- * mount loop, no animations — one-shot render → unmount, so the process can
9
- * exit immediately after the CLI command finishes.
10
- *
11
- * On any Ink failure (missing terminfo, exotic stream, etc.) the renderer
12
- * delegates to a fallback text sink so diagnostics are never lost.
13
- */
14
- export class InkDiagnosticRenderer {
15
- registry;
16
- fallback;
17
- constructor(registry = createInkRegistry(defaultInkComponents), fallback) {
18
- this.registry = registry;
19
- this.fallback = fallback;
20
- }
21
- render(diagnostics, stream) {
22
- if (diagnostics.length === 0)
23
- return;
24
- const target = stream === 'stderr' ? process.stderr : process.stdout;
25
- try {
26
- const element = createElement(DiagnosticsListView, {
27
- diagnostics,
28
- registry: this.registry,
29
- });
30
- const instance = render(element, { stdout: target, patchConsole: false });
31
- instance.unmount();
32
- }
33
- catch {
34
- if (!this.fallback)
35
- return;
36
- for (const d of diagnostics) {
37
- this.fallback.writeLine(`[${d.level}] ${d.code}: ${d.message}`);
38
- if (d.hint)
39
- this.fallback.writeLine(` → ${d.hint}`);
40
- }
41
- }
42
- }
43
- }
8
+ * Ink-backed diagnostic renderer.
9
+ *
10
+ * Renders each batch as a static Ink tree to the target process stream. No
11
+ * mount loop, no animations — one-shot render → unmount, so the process can
12
+ * exit immediately after the CLI command finishes.
13
+ *
14
+ * On any Ink failure (missing terminfo, exotic stream, etc.) the renderer
15
+ * delegates to a fallback text sink so diagnostics are never lost.
16
+ */
17
+ var InkDiagnosticRenderer = class {
18
+ registry;
19
+ fallback;
20
+ constructor(registry = createInkRegistry(defaultInkComponents), fallback) {
21
+ this.registry = registry;
22
+ this.fallback = fallback;
23
+ }
24
+ render(diagnostics, stream) {
25
+ if (diagnostics.length === 0) return;
26
+ const target = stream === "stderr" ? process.stderr : process.stdout;
27
+ try {
28
+ const element = createElement(DiagnosticsListView, {
29
+ diagnostics,
30
+ registry: this.registry
31
+ });
32
+ render(element, {
33
+ stdout: target,
34
+ patchConsole: false
35
+ }).unmount();
36
+ } catch {
37
+ if (!this.fallback) return;
38
+ for (const diagnostic of diagnostics) {
39
+ if (diagnostic.code === "PUBLISH_REQUEST_FAILED") {
40
+ for (const line of formatPublishRequestFailed(diagnostic).split("\n")) this.fallback.writeLine(line);
41
+ continue;
42
+ }
43
+ this.fallback.writeLine(`[${diagnostic.level}] ${diagnostic.code}: ${diagnostic.message}`);
44
+ if (diagnostic.hint) this.fallback.writeLine(` → ${diagnostic.hint}`);
45
+ }
46
+ }
47
+ }
48
+ };
49
+
50
+ //#endregion
51
+ export { InkDiagnosticRenderer };
44
52
  //# sourceMappingURL=InkDiagnosticRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InkDiagnosticRenderer.js","sourceRoot":"","sources":["../../src/reporting/InkDiagnosticRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EAEjB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC;;;;;;;;;GASG;AACH,MAAM,OAAO,qBAAqB;IAEb;IACA;IAFnB,YACmB,WAAkC,iBAAiB,CAAC,oBAAoB,CAAC,EACzE,QAAmB;QADnB,aAAQ,GAAR,QAAQ,CAAiE;QACzE,aAAQ,GAAR,QAAQ,CAAW;IACnC,CAAC;IAEG,MAAM,CAAC,WAAkC,EAAE,MAA2B;QAC3E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACrC,MAAM,MAAM,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,aAAa,CAAC,mBAAmB,EAAE;gBACjD,WAAW;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1E,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC3B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChE,IAAI,CAAC,CAAC,IAAI;oBAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"InkDiagnosticRenderer.js","names":[],"sources":["../../src/reporting/InkDiagnosticRenderer.ts"],"sourcesContent":["import type { Diagnostic } from '@uapkg/diagnostics';\nimport { formatPublishRequestFailed } from '@uapkg/diagnostics-format';\nimport {\n createInkRegistry,\n type DiagnosticInkRegistry,\n DiagnosticsListView,\n defaultInkComponents,\n} from '@uapkg/diagnostics-format/ink';\nimport { render } from 'ink';\nimport { createElement } from 'react';\nimport type { DiagnosticRenderer } from './DiagnosticRenderer.js';\nimport type { TextSink } from './TextSink.js';\n\n/**\n * Ink-backed diagnostic renderer.\n *\n * Renders each batch as a static Ink tree to the target process stream. No\n * mount loop, no animations — one-shot render → unmount, so the process can\n * exit immediately after the CLI command finishes.\n *\n * On any Ink failure (missing terminfo, exotic stream, etc.) the renderer\n * delegates to a fallback text sink so diagnostics are never lost.\n */\nexport class InkDiagnosticRenderer implements DiagnosticRenderer {\n public constructor(\n private readonly registry: DiagnosticInkRegistry = createInkRegistry(defaultInkComponents),\n private readonly fallback?: TextSink,\n ) {}\n\n public render(diagnostics: readonly Diagnostic[], stream: 'stdout' | 'stderr'): void {\n if (diagnostics.length === 0) return;\n const target = stream === 'stderr' ? process.stderr : process.stdout;\n try {\n const element = createElement(DiagnosticsListView, {\n diagnostics,\n registry: this.registry,\n });\n const instance = render(element, { stdout: target, patchConsole: false });\n instance.unmount();\n } catch {\n if (!this.fallback) return;\n for (const diagnostic of diagnostics) {\n if (diagnostic.code === 'PUBLISH_REQUEST_FAILED') {\n for (const line of formatPublishRequestFailed(diagnostic).split('\\n')) this.fallback.writeLine(line);\n continue;\n }\n this.fallback.writeLine(`[${diagnostic.level}] ${diagnostic.code}: ${diagnostic.message}`);\n if (diagnostic.hint) this.fallback.writeLine(` → ${diagnostic.hint}`);\n }\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAuBA,IAAa,wBAAb,MAAiE;CAE5C;CACA;CAFnB,AAAO,YACL,AAAiB,WAAkC,kBAAkB,oBAAoB,GACzF,AAAiB,UACjB;EAFiB;EACA;CAChB;CAEH,AAAO,OAAO,aAAoC,QAAmC;EACnF,IAAI,YAAY,WAAW,GAAG;EAC9B,MAAM,SAAS,WAAW,WAAW,QAAQ,SAAS,QAAQ;EAC9D,IAAI;GACF,MAAM,UAAU,cAAc,qBAAqB;IACjD;IACA,UAAU,KAAK;GACjB,CAAC;GAED,AADiB,OAAO,SAAS;IAAE,QAAQ;IAAQ,cAAc;GAAM,CAChE,CAAC,CAAC,QAAQ;EACnB,QAAQ;GACN,IAAI,CAAC,KAAK,UAAU;GACpB,KAAK,MAAM,cAAc,aAAa;IACpC,IAAI,WAAW,SAAS,0BAA0B;KAChD,KAAK,MAAM,QAAQ,2BAA2B,UAAU,CAAC,CAAC,MAAM,IAAI,GAAG,KAAK,SAAS,UAAU,IAAI;KACnG;IACF;IACA,KAAK,SAAS,UAAU,IAAI,WAAW,MAAM,IAAI,WAAW,KAAK,IAAI,WAAW,SAAS;IACzF,IAAI,WAAW,MAAM,KAAK,SAAS,UAAU,OAAO,WAAW,MAAM;GACvE;EACF;CACF;AACF"}
@@ -1,5 +1,6 @@
1
- import type { DownloadStatusSnapshot } from '@uapkg/installer';
2
- import { type TextSink } from './TextSink.js';
1
+ import { TextSink } from "./TextSink.js";
2
+ import { DownloadStatusSnapshot } from "@uapkg/installer";
3
+ //#region src/reporting/InstallProgressReporter.d.ts
3
4
  /**
4
5
  * Text-mode progress reporter for `uapkg install / add / update`.
5
6
  *
@@ -12,23 +13,25 @@ import { type TextSink } from './TextSink.js';
12
13
  * At completion, emits a final summary line:
13
14
  * `N added, M updated, X removed, Y unchanged (B bytes)`
14
15
  */
15
- export declare class InstallProgressReporter {
16
- private readonly sink;
17
- private lastBytesDone;
18
- private lastState;
19
- constructor(sink?: TextSink);
20
- consume(stream: AsyncIterable<DownloadStatusSnapshot>): Promise<void>;
21
- private renderTick;
22
- /**
23
- * Emit the post-install one-liner. The caller passes the installer's plan
24
- * summary directly; this class does not retain it.
25
- */
26
- renderSummary(summary: {
27
- added: number;
28
- updated: number;
29
- removed: number;
30
- unchanged: number;
31
- totalBytes: number;
32
- }): void;
16
+ declare class InstallProgressReporter {
17
+ private readonly sink;
18
+ private lastBytesDone;
19
+ private lastState;
20
+ constructor(sink?: TextSink);
21
+ consume(stream: AsyncIterable<DownloadStatusSnapshot>): Promise<void>;
22
+ private renderTick;
23
+ /**
24
+ * Emit the post-install one-liner. The caller passes the installer's plan
25
+ * summary directly; this class does not retain it.
26
+ */
27
+ renderSummary(summary: {
28
+ added: number;
29
+ updated: number;
30
+ removed: number;
31
+ unchanged: number;
32
+ totalBytes: number;
33
+ }): void;
33
34
  }
35
+ //#endregion
36
+ export { InstallProgressReporter };
34
37
  //# sourceMappingURL=InstallProgressReporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstallProgressReporter.d.ts","sourceRoot":"","sources":["../../src/reporting/InstallProgressReporter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,qBAAa,uBAAuB;IAIf,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHxC,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,SAAS,CAAM;gBAEa,IAAI,GAAE,QAA8C;IAE3E,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlF,OAAO,CAAC,UAAU;IAoBlB;;;OAGG;IACI,aAAa,CAAC,OAAO,EAAE;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI;CAKT"}
1
+ {"version":3,"file":"InstallProgressReporter.d.ts","names":[],"sources":["../../src/reporting/InstallProgressReporter.ts"],"mappings":";;;;;;;;;;;;;;;cAgBa;mBAIyB;UAH5B;UACA;EAER,YAAoC,OAAM;EAE7B,QAAQ,QAAQ,cAAc,0BAA0B;UAM7D;;;;;EAwBD,cAAc;IACnB;IACA;IACA;IACA;IACA"}
@@ -1,49 +1,50 @@
1
- import { prettyBytes } from '@uapkg/common';
2
- import { ProcessTextSink } from './TextSink.js';
1
+ import { ProcessTextSink } from "./TextSink.js";
2
+ import { prettyBytes } from "@uapkg/common";
3
+
4
+ //#region src/reporting/InstallProgressReporter.ts
3
5
  /**
4
- * Text-mode progress reporter for `uapkg install / add / update`.
5
- *
6
- * Subscribes to the installer's `AsyncIterable<DownloadStatusSnapshot>` and
7
- * writes a one-line summary whenever the *aggregate totals* change. This keeps
8
- * output readable even when stdout is piped or captured (no ANSI cursor
9
- * tricks). Per-slot rows are intentionally omitted in the MVP — the full Ink
10
- * `InstallProgress` grid is a planned follow-up.
11
- *
12
- * At completion, emits a final summary line:
13
- * `N added, M updated, X removed, Y unchanged (B bytes)`
14
- */
15
- export class InstallProgressReporter {
16
- sink;
17
- lastBytesDone = -1;
18
- lastState = '';
19
- constructor(sink = new ProcessTextSink(process.stdout)) {
20
- this.sink = sink;
21
- }
22
- async consume(stream) {
23
- for await (const snapshot of stream) {
24
- this.renderTick(snapshot);
25
- }
26
- }
27
- renderTick(snapshot) {
28
- const { totals, slots } = snapshot;
29
- const active = slots.filter((s) => s.state === 'downloading' || s.state === 'verifying' || s.state === 'extracting' || s.state === 'removing').length;
30
- const stateKey = `${active}|${totals.bytesDone}|${totals.bytesTotal}`;
31
- if (stateKey === this.lastState)
32
- return;
33
- this.lastState = stateKey;
34
- // Only emit a byte-progress line when bytesTotal is known and has advanced.
35
- if (totals.bytesTotal > 0 && totals.bytesDone !== this.lastBytesDone) {
36
- this.lastBytesDone = totals.bytesDone;
37
- const pct = Math.min(100, Math.floor((totals.bytesDone / totals.bytesTotal) * 100));
38
- this.sink.writeLine(` installing: ${pct}% (${prettyBytes(totals.bytesDone)} / ${prettyBytes(totals.bytesTotal)}) — ${active} active`);
39
- }
40
- }
41
- /**
42
- * Emit the post-install one-liner. The caller passes the installer's plan
43
- * summary directly; this class does not retain it.
44
- */
45
- renderSummary(summary) {
46
- this.sink.writeLine(`${summary.added} added, ${summary.updated} updated, ${summary.removed} removed, ${summary.unchanged} unchanged (${prettyBytes(summary.totalBytes)})`);
47
- }
48
- }
6
+ * Text-mode progress reporter for `uapkg install / add / update`.
7
+ *
8
+ * Subscribes to the installer's `AsyncIterable<DownloadStatusSnapshot>` and
9
+ * writes a one-line summary whenever the *aggregate totals* change. This keeps
10
+ * output readable even when stdout is piped or captured (no ANSI cursor
11
+ * tricks). Per-slot rows are intentionally omitted in the MVP — the full Ink
12
+ * `InstallProgress` grid is a planned follow-up.
13
+ *
14
+ * At completion, emits a final summary line:
15
+ * `N added, M updated, X removed, Y unchanged (B bytes)`
16
+ */
17
+ var InstallProgressReporter = class {
18
+ sink;
19
+ lastBytesDone = -1;
20
+ lastState = "";
21
+ constructor(sink = new ProcessTextSink(process.stdout)) {
22
+ this.sink = sink;
23
+ }
24
+ async consume(stream) {
25
+ for await (const snapshot of stream) this.renderTick(snapshot);
26
+ }
27
+ renderTick(snapshot) {
28
+ const { totals, slots } = snapshot;
29
+ const active = slots.filter((s) => s.state === "downloading" || s.state === "verifying" || s.state === "extracting" || s.state === "removing").length;
30
+ const stateKey = `${active}|${totals.bytesDone}|${totals.bytesTotal}`;
31
+ if (stateKey === this.lastState) return;
32
+ this.lastState = stateKey;
33
+ if (totals.bytesTotal > 0 && totals.bytesDone !== this.lastBytesDone) {
34
+ this.lastBytesDone = totals.bytesDone;
35
+ const pct = Math.min(100, Math.floor(totals.bytesDone / totals.bytesTotal * 100));
36
+ this.sink.writeLine(` installing: ${pct}% (${prettyBytes(totals.bytesDone)} / ${prettyBytes(totals.bytesTotal)}) — ${active} active`);
37
+ }
38
+ }
39
+ /**
40
+ * Emit the post-install one-liner. The caller passes the installer's plan
41
+ * summary directly; this class does not retain it.
42
+ */
43
+ renderSummary(summary) {
44
+ this.sink.writeLine(`${summary.added} added, ${summary.updated} updated, ${summary.removed} removed, ${summary.unchanged} unchanged (${prettyBytes(summary.totalBytes)})`);
45
+ }
46
+ };
47
+
48
+ //#endregion
49
+ export { InstallProgressReporter };
49
50
  //# sourceMappingURL=InstallProgressReporter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstallProgressReporter.js","sourceRoot":"","sources":["../../src/reporting/InstallProgressReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAiB,MAAM,eAAe,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,uBAAuB;IAIE;IAH5B,aAAa,GAAG,CAAC,CAAC,CAAC;IACnB,SAAS,GAAG,EAAE,CAAC;IAEvB,YAAoC,OAAiB,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;QAApD,SAAI,GAAJ,IAAI,CAAgD;IAAG,CAAC;IAErF,KAAK,CAAC,OAAO,CAAC,MAA6C;QAChE,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,QAAgC;QACjD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,aAAa,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,YAAY,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CAClH,CAAC,MAAM,CAAC;QAET,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS;YAAE,OAAO;QACxC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,4EAA4E;QAC5E,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YACrE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,IAAI,CAAC,SAAS,CACjB,iBAAiB,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,MAAM,SAAS,CAClH,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,OAMpB;QACC,IAAI,CAAC,IAAI,CAAC,SAAS,CACjB,GAAG,OAAO,CAAC,KAAK,WAAW,OAAO,CAAC,OAAO,aAAa,OAAO,CAAC,OAAO,aAAa,OAAO,CAAC,SAAS,eAAe,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CACtJ,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"InstallProgressReporter.js","names":[],"sources":["../../src/reporting/InstallProgressReporter.ts"],"sourcesContent":["import { prettyBytes } from '@uapkg/common';\nimport type { DownloadStatusSnapshot } from '@uapkg/installer';\nimport { ProcessTextSink, type TextSink } from './TextSink.js';\n\n/**\n * Text-mode progress reporter for `uapkg install / add / update`.\n *\n * Subscribes to the installer's `AsyncIterable<DownloadStatusSnapshot>` and\n * writes a one-line summary whenever the *aggregate totals* change. This keeps\n * output readable even when stdout is piped or captured (no ANSI cursor\n * tricks). Per-slot rows are intentionally omitted in the MVP — the full Ink\n * `InstallProgress` grid is a planned follow-up.\n *\n * At completion, emits a final summary line:\n * `N added, M updated, X removed, Y unchanged (B bytes)`\n */\nexport class InstallProgressReporter {\n private lastBytesDone = -1;\n private lastState = '';\n\n public constructor(private readonly sink: TextSink = new ProcessTextSink(process.stdout)) {}\n\n public async consume(stream: AsyncIterable<DownloadStatusSnapshot>): Promise<void> {\n for await (const snapshot of stream) {\n this.renderTick(snapshot);\n }\n }\n\n private renderTick(snapshot: DownloadStatusSnapshot): void {\n const { totals, slots } = snapshot;\n const active = slots.filter(\n (s) => s.state === 'downloading' || s.state === 'verifying' || s.state === 'extracting' || s.state === 'removing',\n ).length;\n\n const stateKey = `${active}|${totals.bytesDone}|${totals.bytesTotal}`;\n if (stateKey === this.lastState) return;\n this.lastState = stateKey;\n\n // Only emit a byte-progress line when bytesTotal is known and has advanced.\n if (totals.bytesTotal > 0 && totals.bytesDone !== this.lastBytesDone) {\n this.lastBytesDone = totals.bytesDone;\n const pct = Math.min(100, Math.floor((totals.bytesDone / totals.bytesTotal) * 100));\n this.sink.writeLine(\n ` installing: ${pct}% (${prettyBytes(totals.bytesDone)} / ${prettyBytes(totals.bytesTotal)}) — ${active} active`,\n );\n }\n }\n\n /**\n * Emit the post-install one-liner. The caller passes the installer's plan\n * summary directly; this class does not retain it.\n */\n public renderSummary(summary: {\n added: number;\n updated: number;\n removed: number;\n unchanged: number;\n totalBytes: number;\n }): void {\n this.sink.writeLine(\n `${summary.added} added, ${summary.updated} updated, ${summary.removed} removed, ${summary.unchanged} unchanged (${prettyBytes(summary.totalBytes)})`,\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,IAAa,0BAAb,MAAqC;CAIC;CAHpC,AAAQ,gBAAgB;CACxB,AAAQ,YAAY;CAEpB,AAAO,YAAY,AAAiB,OAAiB,IAAI,gBAAgB,QAAQ,MAAM,GAAG;EAAtD;CAAuD;CAE3F,MAAa,QAAQ,QAA8D;EACjF,WAAW,MAAM,YAAY,QAC3B,KAAK,WAAW,QAAQ;CAE5B;CAEA,AAAQ,WAAW,UAAwC;EACzD,MAAM,EAAE,QAAQ,UAAU;EAC1B,MAAM,SAAS,MAAM,QAClB,MAAM,EAAE,UAAU,iBAAiB,EAAE,UAAU,eAAe,EAAE,UAAU,gBAAgB,EAAE,UAAU,UACzG,CAAC,CAAC;EAEF,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,UAAU,GAAG,OAAO;EACzD,IAAI,aAAa,KAAK,WAAW;EACjC,KAAK,YAAY;EAGjB,IAAI,OAAO,aAAa,KAAK,OAAO,cAAc,KAAK,eAAe;GACpE,KAAK,gBAAgB,OAAO;GAC5B,MAAM,MAAM,KAAK,IAAI,KAAK,KAAK,MAAO,OAAO,YAAY,OAAO,aAAc,GAAG,CAAC;GAClF,KAAK,KAAK,UACR,iBAAiB,IAAI,KAAK,YAAY,OAAO,SAAS,EAAE,KAAK,YAAY,OAAO,UAAU,EAAE,MAAM,OAAO,QAC3G;EACF;CACF;;;;;CAMA,AAAO,cAAc,SAMZ;EACP,KAAK,KAAK,UACR,GAAG,QAAQ,MAAM,UAAU,QAAQ,QAAQ,YAAY,QAAQ,QAAQ,YAAY,QAAQ,UAAU,cAAc,YAAY,QAAQ,UAAU,EAAE,EACrJ;CACF;AACF"}
@@ -1,5 +1,6 @@
1
- import type { Diagnostic } from '@uapkg/diagnostics';
2
- import { type TextSink } from './TextSink.js';
1
+ import { TextSink } from "./TextSink.js";
2
+ import { Diagnostic } from "@uapkg/diagnostics";
3
+ //#region src/reporting/JsonReporter.d.ts
3
4
  /**
4
5
  * Stable JSON envelope used when any command is invoked with `--json`.
5
6
  *
@@ -7,22 +8,24 @@ import { type TextSink } from './TextSink.js';
7
8
  * outcomes. `diagnostics` always appears (empty array when none), so
8
9
  * consumers never need to handle undefined.
9
10
  */
10
- export interface JsonEnvelope<TData = unknown> {
11
- readonly status: 'ok' | 'error';
12
- readonly command: string;
13
- readonly data?: TData;
14
- readonly diagnostics: readonly Diagnostic[];
11
+ interface JsonEnvelope<TData = unknown> {
12
+ readonly status: 'ok' | 'error';
13
+ readonly command: string;
14
+ readonly data?: TData;
15
+ readonly diagnostics: readonly Diagnostic[];
15
16
  }
16
17
  /**
17
18
  * Writes a single JSON document to stdout per invocation. Never writes
18
19
  * progress or partial output — callers accumulate everything into a payload
19
20
  * and call `emit()` once at the end of a command.
20
21
  */
21
- export declare class JsonReporter {
22
- private readonly sink;
23
- constructor(sink?: TextSink);
24
- emitSuccess<TData>(command: string, data: TData, diagnostics?: readonly Diagnostic[]): void;
25
- emitError(command: string, diagnostics: readonly Diagnostic[]): void;
26
- emit<TData>(envelope: JsonEnvelope<TData>): void;
22
+ declare class JsonReporter {
23
+ private readonly sink;
24
+ constructor(sink?: TextSink);
25
+ emitSuccess<TData>(command: string, data: TData, diagnostics?: readonly Diagnostic[]): void;
26
+ emitError(command: string, diagnostics: readonly Diagnostic[]): void;
27
+ emit<TData>(envelope: JsonEnvelope<TData>): void;
27
28
  }
29
+ //#endregion
30
+ export { JsonEnvelope, JsonReporter };
28
31
  //# sourceMappingURL=JsonReporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonReporter.d.ts","sourceRoot":"","sources":["../../src/reporting/JsonReporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,WAAW,YAAY,CAAC,KAAK,GAAG,OAAO;IAC3C,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7C;AAED;;;;GAIG;AACH,qBAAa,YAAY;IACJ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,GAAE,QAA8C;IAEjF,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,GAAE,SAAS,UAAU,EAAO,GAAG,IAAI;IAI/F,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI;IAIpE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI;CAGxD"}
1
+ {"version":3,"file":"JsonReporter.d.ts","names":[],"sources":["../../src/reporting/JsonReporter.ts"],"mappings":";;;;;;;;;;UAUiB,aAAa;WACnB;WACA;WACA,OAAO;WACP,sBAAsB;;;;;;;cAQpB;mBACyB;EAApC,YAAoC,OAAM;EAEnC,YAAY,OAAO,iBAAiB,MAAM,OAAO,uBAAsB;EAIvE,UAAU,iBAAiB,sBAAsB;EAIjD,KAAK,OAAO,UAAU,aAAa"}
@@ -1,22 +1,36 @@
1
- import { ProcessTextSink } from './TextSink.js';
1
+ import { ProcessTextSink } from "./TextSink.js";
2
+
3
+ //#region src/reporting/JsonReporter.ts
2
4
  /**
3
- * Writes a single JSON document to stdout per invocation. Never writes
4
- * progress or partial output — callers accumulate everything into a payload
5
- * and call `emit()` once at the end of a command.
6
- */
7
- export class JsonReporter {
8
- sink;
9
- constructor(sink = new ProcessTextSink(process.stdout)) {
10
- this.sink = sink;
11
- }
12
- emitSuccess(command, data, diagnostics = []) {
13
- this.emit({ status: 'ok', command, data, diagnostics });
14
- }
15
- emitError(command, diagnostics) {
16
- this.emit({ status: 'error', command, diagnostics });
17
- }
18
- emit(envelope) {
19
- this.sink.writeLine(JSON.stringify(envelope, null, 2));
20
- }
21
- }
5
+ * Writes a single JSON document to stdout per invocation. Never writes
6
+ * progress or partial output — callers accumulate everything into a payload
7
+ * and call `emit()` once at the end of a command.
8
+ */
9
+ var JsonReporter = class {
10
+ sink;
11
+ constructor(sink = new ProcessTextSink(process.stdout)) {
12
+ this.sink = sink;
13
+ }
14
+ emitSuccess(command, data, diagnostics = []) {
15
+ this.emit({
16
+ status: "ok",
17
+ command,
18
+ data,
19
+ diagnostics
20
+ });
21
+ }
22
+ emitError(command, diagnostics) {
23
+ this.emit({
24
+ status: "error",
25
+ command,
26
+ diagnostics
27
+ });
28
+ }
29
+ emit(envelope) {
30
+ this.sink.writeLine(JSON.stringify(envelope, null, 2));
31
+ }
32
+ };
33
+
34
+ //#endregion
35
+ export { JsonReporter };
22
36
  //# sourceMappingURL=JsonReporter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonReporter.js","sourceRoot":"","sources":["../../src/reporting/JsonReporter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAiB,MAAM,eAAe,CAAC;AAgB/D;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACa;IAApC,YAAoC,OAAiB,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;QAApD,SAAI,GAAJ,IAAI,CAAgD;IAAG,CAAC;IAErF,WAAW,CAAQ,OAAe,EAAE,IAAW,EAAE,cAAqC,EAAE;QAC7F,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEM,SAAS,CAAC,OAAe,EAAE,WAAkC;QAClE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;IAEM,IAAI,CAAQ,QAA6B;QAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;CACF"}
1
+ {"version":3,"file":"JsonReporter.js","names":[],"sources":["../../src/reporting/JsonReporter.ts"],"sourcesContent":["import type { Diagnostic } from '@uapkg/diagnostics';\nimport { ProcessTextSink, type TextSink } from './TextSink.js';\n\n/**\n * Stable JSON envelope used when any command is invoked with `--json`.\n *\n * `status` is `ok` / `error` so scripts can branch on exit-independent\n * outcomes. `diagnostics` always appears (empty array when none), so\n * consumers never need to handle undefined.\n */\nexport interface JsonEnvelope<TData = unknown> {\n readonly status: 'ok' | 'error';\n readonly command: string;\n readonly data?: TData;\n readonly diagnostics: readonly Diagnostic[];\n}\n\n/**\n * Writes a single JSON document to stdout per invocation. Never writes\n * progress or partial output — callers accumulate everything into a payload\n * and call `emit()` once at the end of a command.\n */\nexport class JsonReporter {\n public constructor(private readonly sink: TextSink = new ProcessTextSink(process.stdout)) {}\n\n public emitSuccess<TData>(command: string, data: TData, diagnostics: readonly Diagnostic[] = []): void {\n this.emit({ status: 'ok', command, data, diagnostics });\n }\n\n public emitError(command: string, diagnostics: readonly Diagnostic[]): void {\n this.emit({ status: 'error', command, diagnostics });\n }\n\n public emit<TData>(envelope: JsonEnvelope<TData>): void {\n this.sink.writeLine(JSON.stringify(envelope, null, 2));\n }\n}\n"],"mappings":";;;;;;;;AAsBA,IAAa,eAAb,MAA0B;CACY;CAApC,AAAO,YAAY,AAAiB,OAAiB,IAAI,gBAAgB,QAAQ,MAAM,GAAG;EAAtD;CAAuD;CAE3F,AAAO,YAAmB,SAAiB,MAAa,cAAqC,CAAC,GAAS;EACrG,KAAK,KAAK;GAAE,QAAQ;GAAM;GAAS;GAAM;EAAY,CAAC;CACxD;CAEA,AAAO,UAAU,SAAiB,aAA0C;EAC1E,KAAK,KAAK;GAAE,QAAQ;GAAS;GAAS;EAAY,CAAC;CACrD;CAEA,AAAO,KAAY,UAAqC;EACtD,KAAK,KAAK,UAAU,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;CACvD;AACF"}
@@ -0,0 +1,36 @@
1
+ import { RegistryRequestDetail, RegistryRequestStatus } from "../control-plane/ControlPlaneTypes.js";
2
+ import { UAPKGLifecycleCommandName, UAPKGOutputFormat } from "../cli/UAPKGCommandLine.js";
3
+ //#region src/reporting/RegistryRequestTerminalFormatter.d.ts
4
+ type RegistryRequestPresentation = {
5
+ readonly kind: 'publish';
6
+ } | {
7
+ readonly kind: 'lifecycle';
8
+ readonly operation: UAPKGLifecycleCommandName;
9
+ readonly packageName: string;
10
+ readonly packageVersion: string;
11
+ } | {
12
+ readonly kind: 'status';
13
+ };
14
+ interface RegistryRequestTerminalFormatOptions {
15
+ readonly detail: RegistryRequestDetail;
16
+ readonly registryAlias: string;
17
+ readonly outputFormat: UAPKGOutputFormat;
18
+ readonly presentation: RegistryRequestPresentation;
19
+ readonly registryRefreshWarning?: string;
20
+ }
21
+ interface RegistryRequestTerminalOutput {
22
+ readonly stdout: string;
23
+ readonly stderr?: string;
24
+ }
25
+ /**
26
+ * Formats the caller-visible terminal story consistently for publish,
27
+ * lifecycle, and standalone request-status commands. The additive check and
28
+ * failure fields have already been bounded by
29
+ * `ControlPlaneClient.getRegistryRequestDetail` before reaching this boundary.
30
+ */
31
+ declare function formatRegistryRequestTerminal(options: RegistryRequestTerminalFormatOptions): RegistryRequestTerminalOutput;
32
+ declare function isRegistryRequestTerminalStatus(status: RegistryRequestStatus): boolean;
33
+ declare function isRegistryRequestSuccessStatus(status: RegistryRequestStatus): boolean;
34
+ //#endregion
35
+ export { RegistryRequestPresentation, RegistryRequestTerminalFormatOptions, RegistryRequestTerminalOutput, formatRegistryRequestTerminal, isRegistryRequestSuccessStatus, isRegistryRequestTerminalStatus };
36
+ //# sourceMappingURL=RegistryRequestTerminalFormatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistryRequestTerminalFormatter.d.ts","names":[],"sources":["../../src/reporting/RegistryRequestTerminalFormatter.ts"],"mappings":";;;KAeY;WACG;;WAEA;WACA,WAAW;WACX;WACA;;WAEA;;UAEE;WACN,QAAQ;WACR;WACA,cAAc;WACd,cAAc;WACd;;UAGM;WACN;WACA;;;;;;;;iBASK,8BACd,SAAS,uCACR;iBAIa,gCAAgC,QAAQ;iBAIxC,+BAA+B,QAAQ"}