@pristine-ts/cli 2.0.6 → 2.0.16

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 (342) hide show
  1. package/dist/lib/cjs/bin.js +0 -0
  2. package/dist/lib/cjs/bootstrap/app-module-cache.js +71 -0
  3. package/dist/lib/cjs/bootstrap/app-module-cache.js.map +1 -0
  4. package/dist/lib/cjs/bootstrap/app-module-discoverer.js +119 -0
  5. package/dist/lib/cjs/bootstrap/app-module-discoverer.js.map +1 -0
  6. package/dist/lib/cjs/bootstrap/app-module-discovery-candidate.js +21 -0
  7. package/dist/lib/cjs/bootstrap/app-module-discovery-candidate.js.map +1 -0
  8. package/dist/lib/cjs/bootstrap/app-module-discovery-reason.enum.js +15 -0
  9. package/dist/lib/cjs/bootstrap/app-module-discovery-reason.enum.js.map +1 -0
  10. package/dist/lib/cjs/bootstrap/app-module-prompt.js +78 -0
  11. package/dist/lib/cjs/bootstrap/app-module-prompt.js.map +1 -0
  12. package/dist/lib/cjs/bootstrap/build-runner.js +1 -1
  13. package/dist/lib/cjs/bootstrap/build-staleness-prompt.js +12 -13
  14. package/dist/lib/cjs/bootstrap/build-staleness-prompt.js.map +1 -1
  15. package/dist/lib/cjs/bootstrap/init-prompt.js +16 -47
  16. package/dist/lib/cjs/bootstrap/init-prompt.js.map +1 -1
  17. package/dist/lib/cjs/cli.configuration-keys.js +24 -0
  18. package/dist/lib/cjs/cli.configuration-keys.js.map +1 -0
  19. package/dist/lib/cjs/cli.js +23 -10
  20. package/dist/lib/cjs/cli.js.map +1 -1
  21. package/dist/lib/cjs/cli.module.js +41 -8
  22. package/dist/lib/cjs/cli.module.js.map +1 -1
  23. package/dist/lib/cjs/commands/build.command.js +15 -14
  24. package/dist/lib/cjs/commands/build.command.js.map +1 -1
  25. package/dist/lib/cjs/commands/commands.js +6 -0
  26. package/dist/lib/cjs/commands/commands.js.map +1 -1
  27. package/dist/lib/cjs/commands/config-init.command.js +133 -0
  28. package/dist/lib/cjs/commands/config-init.command.js.map +1 -0
  29. package/dist/lib/cjs/commands/config-print.command.js +16 -11
  30. package/dist/lib/cjs/commands/config-print.command.js.map +1 -1
  31. package/dist/lib/cjs/commands/help.command.js +17 -17
  32. package/dist/lib/cjs/commands/help.command.js.map +1 -1
  33. package/dist/lib/cjs/commands/info.command.js +26 -21
  34. package/dist/lib/cjs/commands/info.command.js.map +1 -1
  35. package/dist/lib/cjs/commands/init.command.js +22 -21
  36. package/dist/lib/cjs/commands/init.command.js.map +1 -1
  37. package/dist/lib/cjs/commands/list.command.js +6 -6
  38. package/dist/lib/cjs/commands/list.command.js.map +1 -1
  39. package/dist/lib/cjs/commands/logs-alias.command.js +49 -0
  40. package/dist/lib/cjs/commands/logs-alias.command.js.map +1 -0
  41. package/dist/lib/cjs/commands/logs.command-options.js +72 -0
  42. package/dist/lib/cjs/commands/logs.command-options.js.map +1 -0
  43. package/dist/lib/cjs/commands/logs.command.js +102 -0
  44. package/dist/lib/cjs/commands/logs.command.js.map +1 -0
  45. package/dist/lib/cjs/commands/requests-alias.command.js +49 -0
  46. package/dist/lib/cjs/commands/requests-alias.command.js.map +1 -0
  47. package/dist/lib/cjs/commands/requests.command-options.js +26 -0
  48. package/dist/lib/cjs/commands/requests.command-options.js.map +1 -0
  49. package/dist/lib/cjs/commands/requests.command.js +88 -0
  50. package/dist/lib/cjs/commands/requests.command.js.map +1 -0
  51. package/dist/lib/cjs/commands/start.command.js +12 -13
  52. package/dist/lib/cjs/commands/start.command.js.map +1 -1
  53. package/dist/lib/cjs/commands/trace-alias.command.js +49 -0
  54. package/dist/lib/cjs/commands/trace-alias.command.js.map +1 -0
  55. package/dist/lib/cjs/commands/trace.command-options.js +59 -0
  56. package/dist/lib/cjs/commands/trace.command-options.js.map +1 -0
  57. package/dist/lib/cjs/commands/trace.command.js +84 -0
  58. package/dist/lib/cjs/commands/trace.command.js.map +1 -0
  59. package/dist/lib/cjs/config/config-loader.js +34 -13
  60. package/dist/lib/cjs/config/config-loader.js.map +1 -1
  61. package/dist/lib/cjs/decorators/command-parameter.decorator.js +40 -0
  62. package/dist/lib/cjs/decorators/command-parameter.decorator.js.map +1 -0
  63. package/dist/lib/cjs/decorators/decorators.js +18 -0
  64. package/dist/lib/cjs/decorators/decorators.js.map +1 -0
  65. package/dist/lib/cjs/enums/cli-decorator-metadata-keyname.enum.js +14 -0
  66. package/dist/lib/cjs/enums/cli-decorator-metadata-keyname.enum.js.map +1 -0
  67. package/dist/lib/cjs/enums/enums.js +19 -0
  68. package/dist/lib/cjs/enums/enums.js.map +1 -0
  69. package/dist/lib/cjs/enums/exit-code.enum.js +9 -0
  70. package/dist/lib/cjs/enums/exit-code.enum.js.map +1 -0
  71. package/dist/lib/cjs/enums/terminal-key-name.enum.js +21 -0
  72. package/dist/lib/cjs/enums/terminal-key-name.enum.js.map +1 -0
  73. package/dist/lib/cjs/errors/cli-error-code.enum.js +11 -1
  74. package/dist/lib/cjs/errors/cli-error-code.enum.js.map +1 -1
  75. package/dist/lib/cjs/errors/errors.js +1 -0
  76. package/dist/lib/cjs/errors/errors.js.map +1 -1
  77. package/dist/lib/cjs/errors/prompt-cancelled.error.js +25 -0
  78. package/dist/lib/cjs/errors/prompt-cancelled.error.js.map +1 -0
  79. package/dist/lib/cjs/event-handlers/cli.event-handler.js +28 -70
  80. package/dist/lib/cjs/event-handlers/cli.event-handler.js.map +1 -1
  81. package/dist/lib/cjs/event-handlers/event-handlers.js +1 -0
  82. package/dist/lib/cjs/event-handlers/event-handlers.js.map +1 -1
  83. package/dist/lib/cjs/event-handlers/repl-start.event-handler.js +280 -0
  84. package/dist/lib/cjs/event-handlers/repl-start.event-handler.js.map +1 -0
  85. package/dist/lib/cjs/event-payloads/event-payloads.js +1 -0
  86. package/dist/lib/cjs/event-payloads/event-payloads.js.map +1 -1
  87. package/dist/lib/cjs/event-payloads/start-repl.event-payload.js +19 -0
  88. package/dist/lib/cjs/event-payloads/start-repl.event-payload.js.map +1 -0
  89. package/dist/lib/cjs/interfaces/interfaces.js +1 -0
  90. package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
  91. package/dist/lib/cjs/interfaces/terminal-key.interface.js +3 -0
  92. package/dist/lib/cjs/interfaces/terminal-key.interface.js.map +1 -0
  93. package/dist/lib/cjs/managers/cli-output.manager.js +45 -0
  94. package/dist/lib/cjs/managers/cli-output.manager.js.map +1 -0
  95. package/dist/lib/cjs/managers/cli-progress-bar.manager.js +49 -0
  96. package/dist/lib/cjs/managers/cli-progress-bar.manager.js.map +1 -0
  97. package/dist/lib/cjs/managers/cli-prompt.manager.js +265 -0
  98. package/dist/lib/cjs/managers/cli-prompt.manager.js.map +1 -0
  99. package/dist/lib/cjs/managers/cli-spinner.manager.js +93 -0
  100. package/dist/lib/cjs/managers/cli-spinner.manager.js.map +1 -0
  101. package/dist/lib/cjs/managers/managers.js +5 -1
  102. package/dist/lib/cjs/managers/managers.js.map +1 -1
  103. package/dist/lib/cjs/managers/repl-session.js +251 -0
  104. package/dist/lib/cjs/managers/repl-session.js.map +1 -0
  105. package/dist/lib/cjs/managers/shell.manager.js +25 -20
  106. package/dist/lib/cjs/managers/shell.manager.js.map +1 -1
  107. package/dist/lib/cjs/managers/terminal-key-reader.manager.js +99 -0
  108. package/dist/lib/cjs/managers/terminal-key-reader.manager.js.map +1 -0
  109. package/dist/lib/cjs/mappers/command-event.mapper.js +48 -8
  110. package/dist/lib/cjs/mappers/command-event.mapper.js.map +1 -1
  111. package/dist/lib/cjs/mappers/mappers.js +1 -0
  112. package/dist/lib/cjs/mappers/mappers.js.map +1 -1
  113. package/dist/lib/cjs/mappers/repl-start-event.mapper.js +80 -0
  114. package/dist/lib/cjs/mappers/repl-start-event.mapper.js.map +1 -0
  115. package/dist/lib/cjs/options/command-parameter.options.js +3 -0
  116. package/dist/lib/cjs/options/command-parameter.options.js.map +1 -0
  117. package/dist/lib/cjs/options/options.js +1 -0
  118. package/dist/lib/cjs/options/options.js.map +1 -1
  119. package/dist/lib/cjs/services/command-argument-resolver.js +62 -0
  120. package/dist/lib/cjs/services/command-argument-resolver.js.map +1 -0
  121. package/dist/lib/cjs/services/command-options-resolver.js +114 -0
  122. package/dist/lib/cjs/services/command-options-resolver.js.map +1 -0
  123. package/dist/lib/cjs/services/command-parameter-prompter.js +311 -0
  124. package/dist/lib/cjs/services/command-parameter-prompter.js.map +1 -0
  125. package/dist/lib/cjs/services/services.js +20 -0
  126. package/dist/lib/cjs/services/services.js.map +1 -0
  127. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  128. package/dist/lib/cjs/types/start-repl-event-response.type.js +13 -0
  129. package/dist/lib/cjs/types/start-repl-event-response.type.js.map +1 -0
  130. package/dist/lib/cjs/types/types.js +1 -0
  131. package/dist/lib/cjs/types/types.js.map +1 -1
  132. package/dist/lib/cjs/utils/boolean-answer-parser.js +25 -0
  133. package/dist/lib/cjs/utils/boolean-answer-parser.js.map +1 -0
  134. package/dist/lib/cjs/utils/pristine-argv.js +87 -0
  135. package/dist/lib/cjs/utils/pristine-argv.js.map +1 -0
  136. package/dist/lib/cjs/utils/terminal-key-decoder.js +71 -0
  137. package/dist/lib/cjs/utils/terminal-key-decoder.js.map +1 -0
  138. package/dist/lib/esm/bootstrap/app-module-cache.js +65 -0
  139. package/dist/lib/esm/bootstrap/app-module-cache.js.map +1 -0
  140. package/dist/lib/esm/bootstrap/app-module-discoverer.js +113 -0
  141. package/dist/lib/esm/bootstrap/app-module-discoverer.js.map +1 -0
  142. package/dist/lib/esm/bootstrap/app-module-discovery-candidate.js +17 -0
  143. package/dist/lib/esm/bootstrap/app-module-discovery-candidate.js.map +1 -0
  144. package/dist/lib/esm/bootstrap/app-module-discovery-reason.enum.js +12 -0
  145. package/dist/lib/esm/bootstrap/app-module-discovery-reason.enum.js.map +1 -0
  146. package/dist/lib/esm/bootstrap/app-module-prompt.js +75 -0
  147. package/dist/lib/esm/bootstrap/app-module-prompt.js.map +1 -0
  148. package/dist/lib/esm/bootstrap/build-runner.js +1 -1
  149. package/dist/lib/esm/bootstrap/build-staleness-prompt.js +12 -13
  150. package/dist/lib/esm/bootstrap/build-staleness-prompt.js.map +1 -1
  151. package/dist/lib/esm/bootstrap/init-prompt.js +16 -47
  152. package/dist/lib/esm/bootstrap/init-prompt.js.map +1 -1
  153. package/dist/lib/esm/cli.configuration-keys.js +21 -0
  154. package/dist/lib/esm/cli.configuration-keys.js.map +1 -0
  155. package/dist/lib/esm/cli.js +23 -10
  156. package/dist/lib/esm/cli.js.map +1 -1
  157. package/dist/lib/esm/cli.module.js +41 -8
  158. package/dist/lib/esm/cli.module.js.map +1 -1
  159. package/dist/lib/esm/commands/build.command.js +16 -15
  160. package/dist/lib/esm/commands/build.command.js.map +1 -1
  161. package/dist/lib/esm/commands/commands.js +6 -0
  162. package/dist/lib/esm/commands/commands.js.map +1 -1
  163. package/dist/lib/esm/commands/config-init.command.js +127 -0
  164. package/dist/lib/esm/commands/config-init.command.js.map +1 -0
  165. package/dist/lib/esm/commands/config-print.command.js +16 -11
  166. package/dist/lib/esm/commands/config-print.command.js.map +1 -1
  167. package/dist/lib/esm/commands/help.command.js +17 -17
  168. package/dist/lib/esm/commands/help.command.js.map +1 -1
  169. package/dist/lib/esm/commands/info.command.js +27 -22
  170. package/dist/lib/esm/commands/info.command.js.map +1 -1
  171. package/dist/lib/esm/commands/init.command.js +23 -22
  172. package/dist/lib/esm/commands/init.command.js.map +1 -1
  173. package/dist/lib/esm/commands/list.command.js +6 -6
  174. package/dist/lib/esm/commands/list.command.js.map +1 -1
  175. package/dist/lib/esm/commands/logs-alias.command.js +46 -0
  176. package/dist/lib/esm/commands/logs-alias.command.js.map +1 -0
  177. package/dist/lib/esm/commands/logs.command-options.js +68 -0
  178. package/dist/lib/esm/commands/logs.command-options.js.map +1 -0
  179. package/dist/lib/esm/commands/logs.command.js +99 -0
  180. package/dist/lib/esm/commands/logs.command.js.map +1 -0
  181. package/dist/lib/esm/commands/requests-alias.command.js +46 -0
  182. package/dist/lib/esm/commands/requests-alias.command.js.map +1 -0
  183. package/dist/lib/esm/commands/requests.command-options.js +22 -0
  184. package/dist/lib/esm/commands/requests.command-options.js.map +1 -0
  185. package/dist/lib/esm/commands/requests.command.js +85 -0
  186. package/dist/lib/esm/commands/requests.command.js.map +1 -0
  187. package/dist/lib/esm/commands/start.command.js +13 -14
  188. package/dist/lib/esm/commands/start.command.js.map +1 -1
  189. package/dist/lib/esm/commands/trace-alias.command.js +46 -0
  190. package/dist/lib/esm/commands/trace-alias.command.js.map +1 -0
  191. package/dist/lib/esm/commands/trace.command-options.js +55 -0
  192. package/dist/lib/esm/commands/trace.command-options.js.map +1 -0
  193. package/dist/lib/esm/commands/trace.command.js +81 -0
  194. package/dist/lib/esm/commands/trace.command.js.map +1 -0
  195. package/dist/lib/esm/config/config-loader.js +34 -13
  196. package/dist/lib/esm/config/config-loader.js.map +1 -1
  197. package/dist/lib/esm/decorators/command-parameter.decorator.js +36 -0
  198. package/dist/lib/esm/decorators/command-parameter.decorator.js.map +1 -0
  199. package/dist/lib/esm/decorators/decorators.js +2 -0
  200. package/dist/lib/esm/decorators/decorators.js.map +1 -0
  201. package/dist/lib/esm/enums/cli-decorator-metadata-keyname.enum.js +11 -0
  202. package/dist/lib/esm/enums/cli-decorator-metadata-keyname.enum.js.map +1 -0
  203. package/dist/lib/esm/enums/enums.js +3 -0
  204. package/dist/lib/esm/enums/enums.js.map +1 -0
  205. package/dist/lib/esm/enums/exit-code.enum.js +6 -0
  206. package/dist/lib/esm/enums/exit-code.enum.js.map +1 -0
  207. package/dist/lib/esm/enums/terminal-key-name.enum.js +18 -0
  208. package/dist/lib/esm/enums/terminal-key-name.enum.js.map +1 -0
  209. package/dist/lib/esm/errors/cli-error-code.enum.js +11 -1
  210. package/dist/lib/esm/errors/cli-error-code.enum.js.map +1 -1
  211. package/dist/lib/esm/errors/errors.js +1 -0
  212. package/dist/lib/esm/errors/errors.js.map +1 -1
  213. package/dist/lib/esm/errors/prompt-cancelled.error.js +21 -0
  214. package/dist/lib/esm/errors/prompt-cancelled.error.js.map +1 -0
  215. package/dist/lib/esm/event-handlers/cli.event-handler.js +29 -71
  216. package/dist/lib/esm/event-handlers/cli.event-handler.js.map +1 -1
  217. package/dist/lib/esm/event-handlers/event-handlers.js +1 -0
  218. package/dist/lib/esm/event-handlers/event-handlers.js.map +1 -1
  219. package/dist/lib/esm/event-handlers/repl-start.event-handler.js +244 -0
  220. package/dist/lib/esm/event-handlers/repl-start.event-handler.js.map +1 -0
  221. package/dist/lib/esm/event-payloads/event-payloads.js +1 -0
  222. package/dist/lib/esm/event-payloads/event-payloads.js.map +1 -1
  223. package/dist/lib/esm/event-payloads/start-repl.event-payload.js +15 -0
  224. package/dist/lib/esm/event-payloads/start-repl.event-payload.js.map +1 -0
  225. package/dist/lib/esm/interfaces/interfaces.js +1 -0
  226. package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
  227. package/dist/lib/esm/interfaces/terminal-key.interface.js +2 -0
  228. package/dist/lib/esm/interfaces/terminal-key.interface.js.map +1 -0
  229. package/dist/lib/esm/managers/cli-output.manager.js +42 -0
  230. package/dist/lib/esm/managers/cli-output.manager.js.map +1 -0
  231. package/dist/lib/esm/managers/cli-progress-bar.manager.js +46 -0
  232. package/dist/lib/esm/managers/cli-progress-bar.manager.js.map +1 -0
  233. package/dist/lib/esm/managers/cli-prompt.manager.js +229 -0
  234. package/dist/lib/esm/managers/cli-prompt.manager.js.map +1 -0
  235. package/dist/lib/esm/managers/cli-spinner.manager.js +90 -0
  236. package/dist/lib/esm/managers/cli-spinner.manager.js.map +1 -0
  237. package/dist/lib/esm/managers/managers.js +5 -1
  238. package/dist/lib/esm/managers/managers.js.map +1 -1
  239. package/dist/lib/esm/managers/repl-session.js +215 -0
  240. package/dist/lib/esm/managers/repl-session.js.map +1 -0
  241. package/dist/lib/esm/managers/shell.manager.js +26 -21
  242. package/dist/lib/esm/managers/shell.manager.js.map +1 -1
  243. package/dist/lib/esm/managers/terminal-key-reader.manager.js +96 -0
  244. package/dist/lib/esm/managers/terminal-key-reader.manager.js.map +1 -0
  245. package/dist/lib/esm/mappers/command-event.mapper.js +49 -9
  246. package/dist/lib/esm/mappers/command-event.mapper.js.map +1 -1
  247. package/dist/lib/esm/mappers/mappers.js +1 -0
  248. package/dist/lib/esm/mappers/mappers.js.map +1 -1
  249. package/dist/lib/esm/mappers/repl-start-event.mapper.js +77 -0
  250. package/dist/lib/esm/mappers/repl-start-event.mapper.js.map +1 -0
  251. package/dist/lib/esm/options/command-parameter.options.js +2 -0
  252. package/dist/lib/esm/options/command-parameter.options.js.map +1 -0
  253. package/dist/lib/esm/options/options.js +1 -0
  254. package/dist/lib/esm/options/options.js.map +1 -1
  255. package/dist/lib/esm/services/command-argument-resolver.js +59 -0
  256. package/dist/lib/esm/services/command-argument-resolver.js.map +1 -0
  257. package/dist/lib/esm/services/command-options-resolver.js +111 -0
  258. package/dist/lib/esm/services/command-options-resolver.js.map +1 -0
  259. package/dist/lib/esm/services/command-parameter-prompter.js +308 -0
  260. package/dist/lib/esm/services/command-parameter-prompter.js.map +1 -0
  261. package/dist/lib/esm/services/services.js +4 -0
  262. package/dist/lib/esm/services/services.js.map +1 -0
  263. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
  264. package/dist/lib/esm/types/start-repl-event-response.type.js +9 -0
  265. package/dist/lib/esm/types/start-repl-event-response.type.js.map +1 -0
  266. package/dist/lib/esm/types/types.js +1 -0
  267. package/dist/lib/esm/types/types.js.map +1 -1
  268. package/dist/lib/esm/utils/boolean-answer-parser.js +21 -0
  269. package/dist/lib/esm/utils/boolean-answer-parser.js.map +1 -0
  270. package/dist/lib/esm/utils/pristine-argv.js +50 -0
  271. package/dist/lib/esm/utils/pristine-argv.js.map +1 -0
  272. package/dist/lib/esm/utils/terminal-key-decoder.js +67 -0
  273. package/dist/lib/esm/utils/terminal-key-decoder.js.map +1 -0
  274. package/dist/types/bootstrap/app-module-cache.d.ts +15 -0
  275. package/dist/types/bootstrap/app-module-discoverer.d.ts +30 -0
  276. package/dist/types/bootstrap/app-module-discovery-candidate.d.ts +18 -0
  277. package/dist/types/bootstrap/app-module-discovery-reason.enum.d.ts +10 -0
  278. package/dist/types/bootstrap/app-module-prompt.d.ts +20 -0
  279. package/dist/types/bootstrap/build-runner.d.ts +1 -1
  280. package/dist/types/bootstrap/build-staleness-prompt.d.ts +3 -3
  281. package/dist/types/bootstrap/init-prompt.d.ts +5 -5
  282. package/dist/types/cli.configuration-keys.d.ts +32 -0
  283. package/dist/types/cli.d.ts +8 -4
  284. package/dist/types/cli.module.d.ts +4 -0
  285. package/dist/types/commands/build.command.d.ts +3 -3
  286. package/dist/types/commands/commands.d.ts +6 -0
  287. package/dist/types/commands/config-init.command.d.ts +18 -0
  288. package/dist/types/commands/config-print.command.d.ts +8 -3
  289. package/dist/types/commands/help.command.d.ts +3 -3
  290. package/dist/types/commands/info.command.d.ts +5 -3
  291. package/dist/types/commands/init.command.d.ts +3 -3
  292. package/dist/types/commands/list.command.d.ts +3 -3
  293. package/dist/types/commands/logs-alias.command.d.ts +14 -0
  294. package/dist/types/commands/logs.command-options.d.ts +38 -0
  295. package/dist/types/commands/logs.command.d.ts +31 -0
  296. package/dist/types/commands/requests-alias.command.d.ts +14 -0
  297. package/dist/types/commands/requests.command-options.d.ts +8 -0
  298. package/dist/types/commands/requests.command.d.ts +25 -0
  299. package/dist/types/commands/start.command.d.ts +3 -3
  300. package/dist/types/commands/trace-alias.command.d.ts +14 -0
  301. package/dist/types/commands/trace.command-options.d.ts +31 -0
  302. package/dist/types/commands/trace.command.d.ts +21 -0
  303. package/dist/types/config/config-loader.d.ts +15 -3
  304. package/dist/types/decorators/command-parameter.decorator.d.ts +30 -0
  305. package/dist/types/decorators/decorators.d.ts +1 -0
  306. package/dist/types/enums/cli-decorator-metadata-keyname.enum.d.ts +9 -0
  307. package/dist/types/enums/enums.d.ts +2 -0
  308. package/dist/types/enums/exit-code.enum.d.ts +4 -0
  309. package/dist/types/enums/terminal-key-name.enum.d.ts +16 -0
  310. package/dist/types/errors/cli-error-code.enum.d.ts +12 -2
  311. package/dist/types/errors/errors.d.ts +1 -0
  312. package/dist/types/errors/prompt-cancelled.error.d.ts +13 -0
  313. package/dist/types/event-handlers/cli.event-handler.d.ts +16 -15
  314. package/dist/types/event-handlers/event-handlers.d.ts +1 -0
  315. package/dist/types/event-handlers/repl-start.event-handler.d.ts +70 -0
  316. package/dist/types/event-payloads/event-payloads.d.ts +1 -0
  317. package/dist/types/event-payloads/start-repl.event-payload.d.ts +13 -0
  318. package/dist/types/interfaces/interfaces.d.ts +1 -0
  319. package/dist/types/interfaces/terminal-key.interface.d.ts +11 -0
  320. package/dist/types/managers/cli-output.manager.d.ts +21 -0
  321. package/dist/types/managers/cli-progress-bar.manager.d.ts +17 -0
  322. package/dist/types/managers/cli-prompt.manager.d.ts +79 -0
  323. package/dist/types/managers/cli-spinner.manager.d.ts +34 -0
  324. package/dist/types/managers/managers.d.ts +5 -1
  325. package/dist/types/managers/repl-session.d.ts +62 -0
  326. package/dist/types/managers/shell.manager.d.ts +3 -3
  327. package/dist/types/managers/terminal-key-reader.manager.d.ts +31 -0
  328. package/dist/types/mappers/command-event.mapper.d.ts +10 -1
  329. package/dist/types/mappers/mappers.d.ts +1 -0
  330. package/dist/types/mappers/repl-start-event.mapper.d.ts +28 -0
  331. package/dist/types/options/command-parameter.options.d.ts +29 -0
  332. package/dist/types/options/options.d.ts +1 -0
  333. package/dist/types/services/command-argument-resolver.d.ts +24 -0
  334. package/dist/types/services/command-options-resolver.d.ts +35 -0
  335. package/dist/types/services/command-parameter-prompter.d.ts +113 -0
  336. package/dist/types/services/services.d.ts +3 -0
  337. package/dist/types/types/start-repl-event-response.type.d.ts +10 -0
  338. package/dist/types/types/types.d.ts +1 -0
  339. package/dist/types/utils/boolean-answer-parser.d.ts +11 -0
  340. package/dist/types/utils/pristine-argv.d.ts +33 -0
  341. package/dist/types/utils/terminal-key-decoder.d.ts +28 -0
  342. package/package.json +16 -12
@@ -4,15 +4,38 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { Event, ExecutionContextKeynameEnum } from "@pristine-ts/core";
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Event, EventIdManager, ExecutionContextKeynameEnum } from "@pristine-ts/core";
8
11
  import { injectable } from "tsyringe";
9
12
  import { CommandEventPayload } from "../event-payloads/command.event-payload";
10
13
  import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
11
14
  import { CliModuleKeyname } from "../cli.module.keyname";
12
- import { v4 as uuidv4 } from "uuid";
15
+ import { PristineArgv } from "../utils/pristine-argv";
13
16
  let CommandEventMapper = class CommandEventMapper {
17
+ constructor(eventIdManager) {
18
+ this.eventIdManager = eventIdManager;
19
+ }
20
+ /**
21
+ * Matches argv that names an explicit command. The no-command shape and the bare
22
+ * `pristine repl` form are deliberately rejected here; `ReplStartEventMapper` claims
23
+ * those. Commands typed inside the interactive session are also re-dispatched under
24
+ * `Cli`, so this mapper handles them too. Argv parsing is delegated to `PristineArgv`,
25
+ * which scans for the bin token rather than relying on positional indexing.
26
+ */
14
27
  supportsMapping(rawEvent, executionContext) {
15
- return executionContext.keyname === ExecutionContextKeynameEnum.Cli;
28
+ if (executionContext.keyname !== ExecutionContextKeynameEnum.Cli) {
29
+ return false;
30
+ }
31
+ if (Array.isArray(rawEvent) === false) {
32
+ return false;
33
+ }
34
+ const argv = new PristineArgv(rawEvent);
35
+ if (argv.isValid === false) {
36
+ return false;
37
+ }
38
+ return argv.userArgs.length >= 1 && argv.userArgs[0] !== "repl";
16
39
  }
17
40
  /**
18
41
  * Inspired from: https://github.com/eveningkid/args-parser
@@ -20,21 +43,31 @@ let CommandEventMapper = class CommandEventMapper {
20
43
  * @param executionContext
21
44
  */
22
45
  map(rawEvent, executionContext) {
46
+ // `supportsMapping` already filters out the unsupported shapes — these guards stay only
47
+ // as a defence in case the pipeline ever invokes `map` without consulting `supportsMapping`.
23
48
  if (Array.isArray(rawEvent) === false) {
24
49
  throw new Error("If using the 'CLI', process.argv should be passed as the event.");
25
50
  }
26
- if (rawEvent.length < 3) {
51
+ const argv = new PristineArgv(rawEvent);
52
+ if (argv.isValid === false || argv.userArgs.length === 0) {
27
53
  throw new Error("If using the 'CLI', there must be at least one command passed");
28
54
  }
29
- const command = new CommandEventPayload(rawEvent[2], rawEvent[1]);
55
+ const command = new CommandEventPayload(argv.userArgs[0], argv.scriptPath);
30
56
  // if argument starts with - or --, then there is two options. Either there's an equal sign in the string and after the equal sign is the value or the next argument is actually the value
31
57
  // for the value, we need to check if it can be a boolean and if not, if it can be a number. If yes, they should be transformed. Else, the value should be a string.
32
58
  // If the argument doesn't start with --, then it's value is simply the true boolean
33
- const passedArguments = rawEvent.slice(3);
59
+ const passedArguments = argv.userArgs.slice(1);
34
60
  for (let i = 0; i < passedArguments.length; i++) {
35
61
  const arg = passedArguments[i];
36
62
  if (arg.startsWith("-") === false) {
63
+ // Bare (non-dashed) tokens are positionals. Kept as `arguments[arg] = true` for
64
+ // backward compatibility, and additionally collected in order under the reserved
65
+ // `_` key so commands like `trace <id>` / `logs <id>` can read a real positional.
37
66
  command.arguments[arg] = true;
67
+ if (Array.isArray(command.arguments._) === false) {
68
+ command.arguments._ = [];
69
+ }
70
+ command.arguments._.push(arg);
38
71
  continue;
39
72
  }
40
73
  const numberOfStartingDashes = arg.startsWith("--") ? 2 : 1;
@@ -87,12 +120,18 @@ let CommandEventMapper = class CommandEventMapper {
87
120
  command.arguments[argumentName] = argumentValue;
88
121
  }
89
122
  return {
90
- events: [new Event("command", command, uuidv4())],
123
+ events: [new Event("command", command, this.eventIdManager.generateEventId())],
91
124
  executionOrder: "sequential",
92
125
  };
93
126
  }
94
127
  supportsReverseMapping(eventResponse, response, executionContext) {
95
- return executionContext.keyname === ExecutionContextKeynameEnum.Cli;
128
+ var _a;
129
+ if (executionContext.keyname !== ExecutionContextKeynameEnum.Cli) {
130
+ return false;
131
+ }
132
+ // Reverse-map only the command responses this mapper owns — the REPL-start payload
133
+ // flows through `ReplStartEventMapper` and would otherwise be silently clobbered here.
134
+ return ((_a = eventResponse.event) === null || _a === void 0 ? void 0 : _a.payload) instanceof CommandEventPayload;
96
135
  }
97
136
  /**
98
137
  * We want to support returning an exit code directly. This means that in the cli.ts file of the customers, they can directly do:
@@ -108,7 +147,8 @@ let CommandEventMapper = class CommandEventMapper {
108
147
  CommandEventMapper = __decorate([
109
148
  tag(ServiceDefinitionTagEnum.EventMapper),
110
149
  moduleScoped(CliModuleKeyname),
111
- injectable()
150
+ injectable(),
151
+ __metadata("design:paramtypes", [EventIdManager])
112
152
  ], CommandEventMapper);
113
153
  export { CommandEventMapper };
114
154
  //# sourceMappingURL=command-event.mapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/command-event.mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/command-event.mapper.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from "./command-event.mapper";
2
+ export * from "./repl-start-event.mapper";
2
3
  //# sourceMappingURL=mappers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../src/mappers/mappers.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../src/mappers/mappers.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,77 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Event, EventIdManager, ExecutionContextKeynameEnum, } from "@pristine-ts/core";
11
+ import { injectable } from "tsyringe";
12
+ import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
13
+ import { StartReplEventPayload } from "../event-payloads/start-repl.event-payload";
14
+ import { CliModuleKeyname } from "../cli.module.keyname";
15
+ import { PristineArgv } from "../utils/pristine-argv";
16
+ /**
17
+ * Maps the "no command" / `repl` argv shapes onto a `StartReplEventPayload` so the kernel
18
+ * can dispatch the REPL launch through the normal event pipeline — `cli.ts` just calls
19
+ * `kernel.handle(process.argv, {keyname: Cli})` regardless of whether the user invoked
20
+ * `pristine`, `pristine repl`, or `pristine <some-command>`.
21
+ *
22
+ * Argv parsing is delegated to `PristineArgv`, which scans for the bin token rather than
23
+ * assuming positional layout — so the rule is runtime-agnostic and survives launchers
24
+ * that shape argv differently.
25
+ *
26
+ * `CommandEventMapper` explicitly excludes these same shapes from its own
27
+ * `supportsMapping` so the two mappers partition argv space cleanly — no shape is claimed
28
+ * by both.
29
+ */
30
+ let ReplStartEventMapper = class ReplStartEventMapper {
31
+ constructor(eventIdManager) {
32
+ this.eventIdManager = eventIdManager;
33
+ }
34
+ supportsMapping(rawEvent, executionContext) {
35
+ if (executionContext.keyname !== ExecutionContextKeynameEnum.Cli) {
36
+ return false;
37
+ }
38
+ if (Array.isArray(rawEvent) === false) {
39
+ return false;
40
+ }
41
+ const argv = new PristineArgv(rawEvent);
42
+ if (argv.isValid === false) {
43
+ return false;
44
+ }
45
+ // No user args → REPL. First user arg is `repl` → REPL (any tokens after `repl` are
46
+ // ignored at routing time, by design).
47
+ return argv.userArgs.length === 0 || argv.userArgs[0] === "repl";
48
+ }
49
+ map(rawEvent, executionContext) {
50
+ const argv = new PristineArgv(Array.isArray(rawEvent) ? rawEvent : []);
51
+ const payload = new StartReplEventPayload(argv.scriptPath);
52
+ return {
53
+ events: [new Event("start-repl", payload, this.eventIdManager.generateEventId())],
54
+ executionOrder: "sequential",
55
+ };
56
+ }
57
+ supportsReverseMapping(eventResponse, response, executionContext) {
58
+ var _a;
59
+ return executionContext.keyname === ExecutionContextKeynameEnum.Cli
60
+ && ((_a = eventResponse.event) === null || _a === void 0 ? void 0 : _a.payload) instanceof StartReplEventPayload;
61
+ }
62
+ /**
63
+ * The REPL handler resolves with the session's exit code; surface it as-is so
64
+ * `Cli.bootstrap()` can return it to the bin (which calls `process.exit`).
65
+ */
66
+ reverseMap(eventResponse, response, executionContext) {
67
+ return eventResponse.response;
68
+ }
69
+ };
70
+ ReplStartEventMapper = __decorate([
71
+ tag(ServiceDefinitionTagEnum.EventMapper),
72
+ moduleScoped(CliModuleKeyname),
73
+ injectable(),
74
+ __metadata("design:paramtypes", [EventIdManager])
75
+ ], ReplStartEventMapper);
76
+ export { ReplStartEventMapper };
77
+ //# sourceMappingURL=repl-start-event.mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl-start-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/repl-start-event.mapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,KAAK,EACL,cAAc,EAKd,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAC,qBAAqB,EAAC,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AAII,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAC3D,CAAC;IAED,eAAe,CAAC,QAAa,EAAE,gBAAgD;QAC7E,IAAI,gBAAgB,CAAC,OAAO,KAAK,2BAA2B,CAAC,GAAG,EAAE,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,oFAAoF;QACpF,uCAAuC;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;IACnE,CAAC;IAED,GAAG,CAAC,QAAa,EAAE,gBAAgD;QACjE,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,OAAO;YACL,MAAM,EAAE,CAAC,IAAI,KAAK,CAAwB,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC;YACxG,cAAc,EAAE,YAAY;SAC7B,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,aAA2D,EAAE,QAAa,EAAE,gBAAgD;;QACjJ,OAAO,gBAAgB,CAAC,OAAO,KAAK,2BAA2B,CAAC,GAAG;eAC9D,CAAA,MAAA,aAAa,CAAC,KAAK,0CAAE,OAAO,aAAY,qBAAqB,CAAC;IACrE,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,aAA2D,EAAE,QAAa,EAAE,gBAAgD;QACrI,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;CACF,CAAA;AAzCY,oBAAoB;IAHhC,GAAG,CAAC,wBAAwB,CAAC,WAAW,CAAC;IACzC,YAAY,CAAC,gBAAgB,CAAC;IAC9B,UAAU,EAAE;qCAEkC,cAAc;GADhD,oBAAoB,CAyChC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=command-parameter.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-parameter.options.js","sourceRoot":"","sources":["../../../../src/options/command-parameter.options.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
+ export * from "./command-parameter.options";
1
2
  export * from "./console-readline.options";
2
3
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/options/options.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/options/options.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,59 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
+ return new (P || (P = Promise))(function (resolve, reject) {
13
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
14
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
15
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
16
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
17
+ });
18
+ };
19
+ import { injectable } from "tsyringe";
20
+ import { moduleScoped } from "@pristine-ts/common";
21
+ import { CliModuleKeyname } from "../cli.module.keyname";
22
+ import { CommandOptionsResolver } from "./command-options-resolver";
23
+ /**
24
+ * Maps a command's raw parsed arguments onto a typed, validated instance of its
25
+ * `optionsType`. Used by both the one-shot dispatch path (`CliEventHandler.resolveArgs`)
26
+ * and the interactive REPL (which dispatches via that same handler), so command
27
+ * arguments are resolved through identical logic everywhere.
28
+ *
29
+ * Thin wrapper over `CommandOptionsResolver`: it passes the raw argv straight through for
30
+ * commands that opt out of typed options (`optionsType === null`) and otherwise delegates
31
+ * the prompt → map → validate pipeline. Commands (or dynamic flows) that need to fill an
32
+ * options class directly can inject `CommandOptionsResolver` instead.
33
+ */
34
+ let CommandArgumentResolver = class CommandArgumentResolver {
35
+ constructor(commandOptionsResolver) {
36
+ this.commandOptionsResolver = commandOptionsResolver;
37
+ }
38
+ /**
39
+ * For commands that opt out of typed options (`optionsType === null`), passes the raw
40
+ * args through unchanged. Otherwise delegates to `CommandOptionsResolver`, which fills any
41
+ * missing `@commandParameter` values by prompting, maps the result onto `optionsType`, and
42
+ * validates it.
43
+ */
44
+ resolve(command, rawArgs) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ if (command.optionsType === null) {
47
+ return rawArgs;
48
+ }
49
+ return this.commandOptionsResolver.resolve(command.optionsType, rawArgs);
50
+ });
51
+ }
52
+ };
53
+ CommandArgumentResolver = __decorate([
54
+ injectable(),
55
+ moduleScoped(CliModuleKeyname),
56
+ __metadata("design:paramtypes", [CommandOptionsResolver])
57
+ ], CommandArgumentResolver);
58
+ export { CommandArgumentResolver };
59
+ //# sourceMappingURL=command-argument-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-argument-resolver.js","sourceRoot":"","sources":["../../../../src/services/command-argument-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAElE;;;;;;;;;;GAUG;AAGI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YACmB,sBAA8C;QAA9C,2BAAsB,GAAtB,sBAAsB,CAAwB;IAEjE,CAAC;IAED;;;;;OAKG;IACG,OAAO,CAAC,OAA8B,EAAE,OAAY;;YACxD,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC;KAAA;CACF,CAAA;AAlBY,uBAAuB;IAFnC,UAAU,EAAE;IACZ,YAAY,CAAC,gBAAgB,CAAC;qCAGc,sBAAsB;GAFtD,uBAAuB,CAkBnC"}
@@ -0,0 +1,111 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
+ return new (P || (P = Promise))(function (resolve, reject) {
13
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
14
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
15
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
16
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
17
+ });
18
+ };
19
+ import { injectable } from "tsyringe";
20
+ import { moduleScoped, UsageError, ValidationError } from "@pristine-ts/common";
21
+ import { Validator } from "@pristine-ts/class-validator";
22
+ import { AutoDataMappingBuilderOptions, DataMapper } from "@pristine-ts/data-mapping";
23
+ import { CliModuleKeyname } from "../cli.module.keyname";
24
+ import { CliErrorCode } from "../errors/cli-error-code.enum";
25
+ import { CommandParameterPrompter } from "./command-parameter-prompter";
26
+ /**
27
+ * Resolves a typed, validated options instance from raw arguments: it fills any missing
28
+ * `@commandParameter` values by prompting, maps the result onto a real `optionsType`
29
+ * instance (prototype + decorator metadata intact, so `class-validator` finds its rules),
30
+ * and validates it.
31
+ *
32
+ * This is the reusable core behind command dispatch — `CommandArgumentResolver` delegates
33
+ * here — exposed so commands and dynamic flows can fill an options class from prompts on
34
+ * demand, including ones not tied to a registered command:
35
+ *
36
+ * ```ts
37
+ * constructor(private readonly optionsResolver: CommandOptionsResolver) {}
38
+ * // ...later, possibly choosing the class at runtime:
39
+ * const options = await this.optionsResolver.resolve(MyOptions, {region: "us"});
40
+ * ```
41
+ *
42
+ * Throws `UsageError` for mapping failures and `ValidationError` for validation failures —
43
+ * both carry structured `details` for `CliErrorReporter`.
44
+ */
45
+ let CommandOptionsResolver = class CommandOptionsResolver {
46
+ constructor(validator, dataMapper, commandParameterPrompter) {
47
+ this.validator = validator;
48
+ this.dataMapper = dataMapper;
49
+ this.commandParameterPrompter = commandParameterPrompter;
50
+ }
51
+ /**
52
+ * Prompts for any missing parameters declared on `optionsType`, then maps `rawArgs` (plus
53
+ * the prompted answers) onto a real instance and validates it. `rawArgs` seeds the values
54
+ * already known — anything absent that carries a `question` is asked for interactively.
55
+ */
56
+ resolve(optionsType_1) {
57
+ return __awaiter(this, arguments, void 0, function* (optionsType, rawArgs = {}) {
58
+ const preparedArgs = yield this.commandParameterPrompter.fillMissingParameters(optionsType, rawArgs);
59
+ let mapped;
60
+ try {
61
+ // `throwOnErrors: true` so a normalizer failure surfaces here instead of `autoMap`
62
+ // silently returning the source object (which would defeat validation downstream).
63
+ mapped = yield this.dataMapper.autoMap(preparedArgs, optionsType, new AutoDataMappingBuilderOptions({ throwOnErrors: true }));
64
+ }
65
+ catch (cause) {
66
+ throw new UsageError(`Failed to map arguments to '${optionsType.name}': ${cause.message}`, {
67
+ code: CliErrorCode.ArgumentMappingFailed,
68
+ cause: cause,
69
+ details: { targetType: optionsType.name },
70
+ });
71
+ }
72
+ const validationErrors = yield this.validator.validate(mapped);
73
+ if (validationErrors.length === 0) {
74
+ return mapped;
75
+ }
76
+ // Reshape the class-validator output into structured `details` the reporter can render
77
+ // line-by-line. Keeps the throw single-pass and the reporter format-agnostic.
78
+ const failures = {};
79
+ for (const error of validationErrors) {
80
+ const messages = [];
81
+ for (const constraintKey in error.constraints) {
82
+ // `@pristine-ts/class-validator` stores constraints as `{keyname, message}` objects
83
+ // rather than the plain strings vanilla class-validator uses. Extract the message
84
+ // when present, falling back to JSON for unknown shapes so we never print
85
+ // `[object Object]`.
86
+ const constraint = error.constraints[constraintKey];
87
+ const message = typeof constraint === "string"
88
+ ? constraint
89
+ : (constraint && typeof constraint === "object" && typeof constraint.message === "string")
90
+ ? constraint.message
91
+ : JSON.stringify(constraint);
92
+ messages.push(`[${constraintKey}] ${message}`);
93
+ }
94
+ failures[error.property] = messages;
95
+ }
96
+ throw new ValidationError("Argument validation failed", {
97
+ code: CliErrorCode.ArgumentValidationFailed,
98
+ details: failures,
99
+ });
100
+ });
101
+ }
102
+ };
103
+ CommandOptionsResolver = __decorate([
104
+ injectable(),
105
+ moduleScoped(CliModuleKeyname),
106
+ __metadata("design:paramtypes", [Validator,
107
+ DataMapper,
108
+ CommandParameterPrompter])
109
+ ], CommandOptionsResolver);
110
+ export { CommandOptionsResolver };
111
+ //# sourceMappingURL=command-options-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-options-resolver.js","sourceRoot":"","sources":["../../../../src/services/command-options-resolver.ts"],"names":[],"mappings":"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"}