@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
@@ -8,16 +8,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.ShellManager = void 0;
13
16
  const child_process_1 = require("child_process");
14
- const console_manager_1 = require("./console.manager");
15
17
  const tsyringe_1 = require("tsyringe");
16
18
  const core_1 = require("@pristine-ts/core");
17
19
  const common_1 = require("@pristine-ts/common");
18
20
  let ShellManager = class ShellManager {
19
- constructor(consoleManager, pathManager, dateUtil) {
20
- this.consoleManager = consoleManager;
21
+ constructor(logHandler, pathManager, dateUtil) {
22
+ this.logHandler = logHandler;
21
23
  this.pathManager = pathManager;
22
24
  this.dateUtil = dateUtil;
23
25
  }
@@ -37,42 +39,45 @@ let ShellManager = class ShellManager {
37
39
  finalCommand = "cd " + absoluteDirectory + " && " + command;
38
40
  }
39
41
  const start = new Date();
42
+ // Pretty/Simple output modes already render a timestamp; pass the command alone and
43
+ // let the formatter handle the prefix. `outputTimeBeforeExecutingCommand` is now a
44
+ // pass/skip flag — when false we still emit the command if stdout is enabled.
40
45
  if (outputTimeBeforeExecutingCommand) {
41
- this.consoleManager.writeLine(start.toISOString() + ": " + finalCommand);
46
+ this.logHandler.info(finalCommand);
42
47
  }
43
- else {
44
- outputStdout && this.consoleManager.writeLine(finalCommand);
48
+ else if (outputStdout) {
49
+ this.logHandler.info(finalCommand);
45
50
  }
46
51
  if (streamStdout) {
47
52
  const child = (0, child_process_1.spawn)(finalCommand, [], { shell: true, env });
48
53
  child.stdout.on('data', (data) => {
49
- outputStdout && this.consoleManager.writeLine(`${data}`);
54
+ outputStdout && this.logHandler.info(`${data}`);
50
55
  });
51
56
  child.stderr.on('data', (data) => {
52
- outputStderr && this.consoleManager.writeLine(`Stderr: ${data}`);
57
+ outputStderr && this.logHandler.warning(`Stderr: ${data}`);
53
58
  });
54
59
  child.on("error", (error) => {
55
- outputStdout && this.consoleManager.writeLine(`Error: ${error.message}`);
60
+ this.logHandler.error(`Error: ${error.message}`);
56
61
  return reject(error);
57
62
  });
58
63
  child.on("exit", (code) => {
59
- outputStdout && this.consoleManager.writeLine(`Exit (code: ${code}).`);
64
+ outputStdout && this.logHandler.info(`Exit (code: ${code}).`);
60
65
  if (code !== 0) {
61
66
  return reject(code);
62
67
  }
63
68
  if (outputDuration) {
64
69
  const end = new Date();
65
70
  const duration = end.getTime() - start.getTime();
66
- this.consoleManager.writeLine(`Executed in: ${this.dateUtil.formatDuration(duration)}`);
71
+ this.logHandler.info(`Executed in: ${this.dateUtil.formatDuration(duration)}`);
67
72
  }
68
73
  return resolve(code + "");
69
74
  });
70
75
  child.on("disconnect", () => {
71
- outputStdout && this.consoleManager.writeLine(`Disconnect.`);
76
+ outputStdout && this.logHandler.warning(`Disconnect.`);
72
77
  return reject("Disconnected");
73
78
  });
74
79
  child.on('close', (code) => {
75
- outputStdout && this.consoleManager.writeLine(`Command exited with code ${code}`);
80
+ outputStdout && this.logHandler.info(`Command exited with code ${code}`);
76
81
  if (code !== 0) {
77
82
  return reject(code);
78
83
  }
@@ -80,7 +85,7 @@ let ShellManager = class ShellManager {
80
85
  if (outputDuration) {
81
86
  const end = new Date();
82
87
  const duration = end.getTime() - start.getTime();
83
- this.consoleManager.writeLine(`Executed in: ${this.dateUtil.formatDuration(duration)}`);
88
+ this.logHandler.info(`Executed in: ${this.dateUtil.formatDuration(duration)}`);
84
89
  }
85
90
  return resolve(code + "");
86
91
  });
@@ -89,17 +94,17 @@ let ShellManager = class ShellManager {
89
94
  }
90
95
  return (0, child_process_1.exec)(finalCommand, { env, maxBuffer: options === null || options === void 0 ? void 0 : options.maxBuffer }, (error, stdout, stderr) => {
91
96
  if (error && error.code) {
92
- outputStderr && this.consoleManager.writeLine("Error: " + error.message);
97
+ outputStderr && this.logHandler.error("Error: " + error.message);
93
98
  }
94
99
  if (stderr) {
95
- outputStderr && this.consoleManager.writeLine("Stderr: " + stderr);
100
+ outputStderr && this.logHandler.warning("Stderr: " + stderr);
96
101
  }
97
- outputStdout && this.consoleManager.writeLine(stdout);
102
+ outputStdout && this.logHandler.info(stdout);
98
103
  // Output the duration in human readable format
99
104
  if (outputDuration) {
100
105
  const end = new Date();
101
106
  const duration = end.getTime() - start.getTime();
102
- this.consoleManager.writeLine(`Executed in: ${this.dateUtil.formatDuration(duration)}`);
107
+ this.logHandler.info(`Executed in: ${this.dateUtil.formatDuration(duration)}`);
103
108
  }
104
109
  if (error && error.code) {
105
110
  return reject(error);
@@ -115,8 +120,8 @@ let ShellManager = class ShellManager {
115
120
  exports.ShellManager = ShellManager;
116
121
  exports.ShellManager = ShellManager = __decorate([
117
122
  (0, tsyringe_1.injectable)(),
118
- __metadata("design:paramtypes", [console_manager_1.ConsoleManager,
119
- core_1.PathManager,
123
+ __param(0, (0, tsyringe_1.inject)("LogHandlerInterface")),
124
+ __metadata("design:paramtypes", [Object, core_1.PathManager,
120
125
  common_1.DateUtil])
121
126
  ], ShellManager);
122
127
  //# sourceMappingURL=shell.manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.manager.js","sourceRoot":"","sources":["../../../../src/managers/shell.manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.manager.js","sourceRoot":"","sources":["../../../../src/managers/shell.manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TerminalKeyReader = void 0;
10
+ const tsyringe_1 = require("tsyringe");
11
+ const common_1 = require("@pristine-ts/common");
12
+ const cli_module_keyname_1 = require("../cli.module.keyname");
13
+ const terminal_key_name_enum_1 = require("../enums/terminal-key-name.enum");
14
+ const terminal_key_decoder_1 = require("../utils/terminal-key-decoder");
15
+ const prompt_cancelled_error_1 = require("../errors/prompt-cancelled.error");
16
+ /**
17
+ * Owns the raw-mode keystroke reading the interactive prompts need (arrow-key `select`,
18
+ * masked `readSecret`) — the one place in the CLI that flips stdin into raw mode. Node's
19
+ * stock `readline` is line-buffered and echoes input, so it can't drive an arrow-key menu
20
+ * or suppress a password's characters; this reads keys one at a time instead.
21
+ *
22
+ * Two responsibilities are handled centrally so callers don't each reimplement them:
23
+ * - **Cancellation:** `Ctrl+C` rejects the read with {@link PromptCancelledError}.
24
+ * - **Terminal restore:** raw mode is entered on start and restored in every exit path,
25
+ * so a thrown handler or a cancellation never leaves the terminal in raw mode.
26
+ *
27
+ * The `input`/`output` fields default to the process streams and exist as a seam so tests
28
+ * can drive synthetic keystrokes without a real TTY.
29
+ */
30
+ let TerminalKeyReader = class TerminalKeyReader {
31
+ constructor() {
32
+ this.input = process.stdin;
33
+ this.output = process.stdout;
34
+ }
35
+ /**
36
+ * Whether both stdin and stdout are interactive terminals. Raw-mode reading is only
37
+ * meaningful on a real TTY; callers fall back (or skip prompting) when this is false.
38
+ */
39
+ isInteractive() {
40
+ return Boolean(this.input.isTTY) && Boolean(this.output.isTTY);
41
+ }
42
+ /**
43
+ * Reads keystrokes in raw mode, handing each decoded {@link TerminalKey} to `onKey` until
44
+ * `onKey` ends the read by invoking its `resolve` callback with the result. Resolves to
45
+ * that value; rejects with {@link PromptCancelledError} on `Ctrl+C`. Raw mode is entered
46
+ * on start and restored to its prior state in every exit path.
47
+ */
48
+ read(onKey) {
49
+ const input = this.input;
50
+ const wasRaw = input.isRaw === true;
51
+ return new Promise((resolve, reject) => {
52
+ let settled = false;
53
+ const cleanup = () => {
54
+ input.removeListener("data", onData);
55
+ if (input.isTTY && typeof input.setRawMode === "function") {
56
+ input.setRawMode(wasRaw);
57
+ }
58
+ input.pause();
59
+ };
60
+ const settle = (run) => {
61
+ if (settled) {
62
+ return;
63
+ }
64
+ settled = true;
65
+ cleanup();
66
+ run();
67
+ };
68
+ const onData = (data) => {
69
+ for (const key of terminal_key_decoder_1.TerminalKeyDecoder.decode(data.toString())) {
70
+ if (key.name === terminal_key_name_enum_1.TerminalKeyName.CtrlC) {
71
+ settle(() => reject(new prompt_cancelled_error_1.PromptCancelledError()));
72
+ return;
73
+ }
74
+ try {
75
+ onKey(key, (value) => settle(() => resolve(value)));
76
+ }
77
+ catch (error) {
78
+ settle(() => reject(error));
79
+ return;
80
+ }
81
+ if (settled) {
82
+ return;
83
+ }
84
+ }
85
+ };
86
+ if (input.isTTY && typeof input.setRawMode === "function") {
87
+ input.setRawMode(true);
88
+ }
89
+ input.resume();
90
+ input.on("data", onData);
91
+ });
92
+ }
93
+ };
94
+ exports.TerminalKeyReader = TerminalKeyReader;
95
+ exports.TerminalKeyReader = TerminalKeyReader = __decorate([
96
+ (0, tsyringe_1.injectable)(),
97
+ (0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname)
98
+ ], TerminalKeyReader);
99
+ //# sourceMappingURL=terminal-key-reader.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-key-reader.manager.js","sourceRoot":"","sources":["../../../../src/managers/terminal-key-reader.manager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAoC;AACpC,gDAAiD;AACjD,8DAAuD;AAEvD,4EAAgE;AAChE,wEAAiE;AACjE,6EAAsE;AAEtE;;;;;;;;;;;;;GAaG;AAGI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAAvB;QACL,UAAK,GAAsB,OAAO,CAAC,KAAK,CAAC;QACzC,WAAM,GAAuB,OAAO,CAAC,MAAM,CAAC;IAmE9C,CAAC;IAjEC;;;OAGG;IACH,aAAa;QACX,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAI,KAA8D;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;QAEpC,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACrC,IAAI,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBAC1D,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC;gBACD,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,CAAC,GAAe,EAAE,EAAE;gBACjC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,GAAG,EAAE,CAAC;YACR,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,CAAC,IAAqB,EAAE,EAAE;gBACvC,KAAK,MAAM,GAAG,IAAI,yCAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;oBAC7D,IAAI,GAAG,CAAC,IAAI,KAAK,wCAAe,CAAC,KAAK,EAAE,CAAC;wBACvC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,6CAAoB,EAAE,CAAC,CAAC,CAAC;wBACjD,OAAO;oBACT,CAAC;oBAED,IAAI,CAAC;wBACH,KAAK,CAAC,GAAG,EAAE,CAAC,KAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzD,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC,CAAC;wBACrC,OAAO;oBACT,CAAC;oBAED,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC1D,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AArEY,8CAAiB;4BAAjB,iBAAiB;IAF7B,IAAA,qBAAU,GAAE;IACZ,IAAA,qBAAY,EAAC,qCAAgB,CAAC;GAClB,iBAAiB,CAqE7B"}
@@ -5,6 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  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;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
8
11
  Object.defineProperty(exports, "__esModule", { value: true });
9
12
  exports.CommandEventMapper = void 0;
10
13
  const core_1 = require("@pristine-ts/core");
@@ -12,10 +15,30 @@ const tsyringe_1 = require("tsyringe");
12
15
  const command_event_payload_1 = require("../event-payloads/command.event-payload");
13
16
  const common_1 = require("@pristine-ts/common");
14
17
  const cli_module_keyname_1 = require("../cli.module.keyname");
15
- const uuid_1 = require("uuid");
18
+ const pristine_argv_1 = require("../utils/pristine-argv");
16
19
  let CommandEventMapper = class CommandEventMapper {
20
+ constructor(eventIdManager) {
21
+ this.eventIdManager = eventIdManager;
22
+ }
23
+ /**
24
+ * Matches argv that names an explicit command. The no-command shape and the bare
25
+ * `pristine repl` form are deliberately rejected here; `ReplStartEventMapper` claims
26
+ * those. Commands typed inside the interactive session are also re-dispatched under
27
+ * `Cli`, so this mapper handles them too. Argv parsing is delegated to `PristineArgv`,
28
+ * which scans for the bin token rather than relying on positional indexing.
29
+ */
17
30
  supportsMapping(rawEvent, executionContext) {
18
- return executionContext.keyname === core_1.ExecutionContextKeynameEnum.Cli;
31
+ if (executionContext.keyname !== core_1.ExecutionContextKeynameEnum.Cli) {
32
+ return false;
33
+ }
34
+ if (Array.isArray(rawEvent) === false) {
35
+ return false;
36
+ }
37
+ const argv = new pristine_argv_1.PristineArgv(rawEvent);
38
+ if (argv.isValid === false) {
39
+ return false;
40
+ }
41
+ return argv.userArgs.length >= 1 && argv.userArgs[0] !== "repl";
19
42
  }
20
43
  /**
21
44
  * Inspired from: https://github.com/eveningkid/args-parser
@@ -23,21 +46,31 @@ let CommandEventMapper = class CommandEventMapper {
23
46
  * @param executionContext
24
47
  */
25
48
  map(rawEvent, executionContext) {
49
+ // `supportsMapping` already filters out the unsupported shapes — these guards stay only
50
+ // as a defence in case the pipeline ever invokes `map` without consulting `supportsMapping`.
26
51
  if (Array.isArray(rawEvent) === false) {
27
52
  throw new Error("If using the 'CLI', process.argv should be passed as the event.");
28
53
  }
29
- if (rawEvent.length < 3) {
54
+ const argv = new pristine_argv_1.PristineArgv(rawEvent);
55
+ if (argv.isValid === false || argv.userArgs.length === 0) {
30
56
  throw new Error("If using the 'CLI', there must be at least one command passed");
31
57
  }
32
- const command = new command_event_payload_1.CommandEventPayload(rawEvent[2], rawEvent[1]);
58
+ const command = new command_event_payload_1.CommandEventPayload(argv.userArgs[0], argv.scriptPath);
33
59
  // 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
34
60
  // 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.
35
61
  // If the argument doesn't start with --, then it's value is simply the true boolean
36
- const passedArguments = rawEvent.slice(3);
62
+ const passedArguments = argv.userArgs.slice(1);
37
63
  for (let i = 0; i < passedArguments.length; i++) {
38
64
  const arg = passedArguments[i];
39
65
  if (arg.startsWith("-") === false) {
66
+ // Bare (non-dashed) tokens are positionals. Kept as `arguments[arg] = true` for
67
+ // backward compatibility, and additionally collected in order under the reserved
68
+ // `_` key so commands like `trace <id>` / `logs <id>` can read a real positional.
40
69
  command.arguments[arg] = true;
70
+ if (Array.isArray(command.arguments._) === false) {
71
+ command.arguments._ = [];
72
+ }
73
+ command.arguments._.push(arg);
41
74
  continue;
42
75
  }
43
76
  const numberOfStartingDashes = arg.startsWith("--") ? 2 : 1;
@@ -90,12 +123,18 @@ let CommandEventMapper = class CommandEventMapper {
90
123
  command.arguments[argumentName] = argumentValue;
91
124
  }
92
125
  return {
93
- events: [new core_1.Event("command", command, (0, uuid_1.v4)())],
126
+ events: [new core_1.Event("command", command, this.eventIdManager.generateEventId())],
94
127
  executionOrder: "sequential",
95
128
  };
96
129
  }
97
130
  supportsReverseMapping(eventResponse, response, executionContext) {
98
- return executionContext.keyname === core_1.ExecutionContextKeynameEnum.Cli;
131
+ var _a;
132
+ if (executionContext.keyname !== core_1.ExecutionContextKeynameEnum.Cli) {
133
+ return false;
134
+ }
135
+ // Reverse-map only the command responses this mapper owns — the REPL-start payload
136
+ // flows through `ReplStartEventMapper` and would otherwise be silently clobbered here.
137
+ return ((_a = eventResponse.event) === null || _a === void 0 ? void 0 : _a.payload) instanceof command_event_payload_1.CommandEventPayload;
99
138
  }
100
139
  /**
101
140
  * We want to support returning an exit code directly. This means that in the cli.ts file of the customers, they can directly do:
@@ -112,6 +151,7 @@ exports.CommandEventMapper = CommandEventMapper;
112
151
  exports.CommandEventMapper = CommandEventMapper = __decorate([
113
152
  (0, common_1.tag)(common_1.ServiceDefinitionTagEnum.EventMapper),
114
153
  (0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
115
- (0, tsyringe_1.injectable)()
154
+ (0, tsyringe_1.injectable)(),
155
+ __metadata("design:paramtypes", [core_1.EventIdManager])
116
156
  ], CommandEventMapper);
117
157
  //# 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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"}
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./command-event.mapper"), exports);
18
+ __exportStar(require("./repl-start-event.mapper"), exports);
18
19
  //# sourceMappingURL=mappers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../src/mappers/mappers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
1
+ {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../src/mappers/mappers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,4DAA0C"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ReplStartEventMapper = void 0;
13
+ const core_1 = require("@pristine-ts/core");
14
+ const tsyringe_1 = require("tsyringe");
15
+ const common_1 = require("@pristine-ts/common");
16
+ const start_repl_event_payload_1 = require("../event-payloads/start-repl.event-payload");
17
+ const cli_module_keyname_1 = require("../cli.module.keyname");
18
+ const pristine_argv_1 = require("../utils/pristine-argv");
19
+ /**
20
+ * Maps the "no command" / `repl` argv shapes onto a `StartReplEventPayload` so the kernel
21
+ * can dispatch the REPL launch through the normal event pipeline — `cli.ts` just calls
22
+ * `kernel.handle(process.argv, {keyname: Cli})` regardless of whether the user invoked
23
+ * `pristine`, `pristine repl`, or `pristine <some-command>`.
24
+ *
25
+ * Argv parsing is delegated to `PristineArgv`, which scans for the bin token rather than
26
+ * assuming positional layout — so the rule is runtime-agnostic and survives launchers
27
+ * that shape argv differently.
28
+ *
29
+ * `CommandEventMapper` explicitly excludes these same shapes from its own
30
+ * `supportsMapping` so the two mappers partition argv space cleanly — no shape is claimed
31
+ * by both.
32
+ */
33
+ let ReplStartEventMapper = class ReplStartEventMapper {
34
+ constructor(eventIdManager) {
35
+ this.eventIdManager = eventIdManager;
36
+ }
37
+ supportsMapping(rawEvent, executionContext) {
38
+ if (executionContext.keyname !== core_1.ExecutionContextKeynameEnum.Cli) {
39
+ return false;
40
+ }
41
+ if (Array.isArray(rawEvent) === false) {
42
+ return false;
43
+ }
44
+ const argv = new pristine_argv_1.PristineArgv(rawEvent);
45
+ if (argv.isValid === false) {
46
+ return false;
47
+ }
48
+ // No user args → REPL. First user arg is `repl` → REPL (any tokens after `repl` are
49
+ // ignored at routing time, by design).
50
+ return argv.userArgs.length === 0 || argv.userArgs[0] === "repl";
51
+ }
52
+ map(rawEvent, executionContext) {
53
+ const argv = new pristine_argv_1.PristineArgv(Array.isArray(rawEvent) ? rawEvent : []);
54
+ const payload = new start_repl_event_payload_1.StartReplEventPayload(argv.scriptPath);
55
+ return {
56
+ events: [new core_1.Event("start-repl", payload, this.eventIdManager.generateEventId())],
57
+ executionOrder: "sequential",
58
+ };
59
+ }
60
+ supportsReverseMapping(eventResponse, response, executionContext) {
61
+ var _a;
62
+ return executionContext.keyname === core_1.ExecutionContextKeynameEnum.Cli
63
+ && ((_a = eventResponse.event) === null || _a === void 0 ? void 0 : _a.payload) instanceof start_repl_event_payload_1.StartReplEventPayload;
64
+ }
65
+ /**
66
+ * The REPL handler resolves with the session's exit code; surface it as-is so
67
+ * `Cli.bootstrap()` can return it to the bin (which calls `process.exit`).
68
+ */
69
+ reverseMap(eventResponse, response, executionContext) {
70
+ return eventResponse.response;
71
+ }
72
+ };
73
+ exports.ReplStartEventMapper = ReplStartEventMapper;
74
+ exports.ReplStartEventMapper = ReplStartEventMapper = __decorate([
75
+ (0, common_1.tag)(common_1.ServiceDefinitionTagEnum.EventMapper),
76
+ (0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
77
+ (0, tsyringe_1.injectable)(),
78
+ __metadata("design:paramtypes", [core_1.EventIdManager])
79
+ ], ReplStartEventMapper);
80
+ //# 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,4CAQ2B;AAC3B,uCAAoC;AACpC,gDAAgF;AAChF,yFAAiF;AACjF,8DAAuD;AACvD,0DAAoD;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,kCAA2B,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,4BAAY,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,4BAAY,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,gDAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,OAAO;YACL,MAAM,EAAE,CAAC,IAAI,YAAK,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,kCAA2B,CAAC,GAAG;eAC9D,CAAA,MAAA,aAAa,CAAC,KAAK,0CAAE,OAAO,aAAY,gDAAqB,CAAC;IACrE,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,aAA2D,EAAE,QAAa,EAAE,gBAAgD;QACrI,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;CACF,CAAA;AAzCY,oDAAoB;+BAApB,oBAAoB;IAHhC,IAAA,YAAG,EAAC,iCAAwB,CAAC,WAAW,CAAC;IACzC,IAAA,qBAAY,EAAC,qCAAgB,CAAC;IAC9B,IAAA,qBAAU,GAAE;qCAEkC,qBAAc;GADhD,oBAAoB,CAyChC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# 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":""}
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./command-parameter.options"), exports);
17
18
  __exportStar(require("./console-readline.options"), exports);
18
19
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/options/options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/options/options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,6DAA2C"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.CommandArgumentResolver = void 0;
22
+ const tsyringe_1 = require("tsyringe");
23
+ const common_1 = require("@pristine-ts/common");
24
+ const cli_module_keyname_1 = require("../cli.module.keyname");
25
+ const command_options_resolver_1 = require("./command-options-resolver");
26
+ /**
27
+ * Maps a command's raw parsed arguments onto a typed, validated instance of its
28
+ * `optionsType`. Used by both the one-shot dispatch path (`CliEventHandler.resolveArgs`)
29
+ * and the interactive REPL (which dispatches via that same handler), so command
30
+ * arguments are resolved through identical logic everywhere.
31
+ *
32
+ * Thin wrapper over `CommandOptionsResolver`: it passes the raw argv straight through for
33
+ * commands that opt out of typed options (`optionsType === null`) and otherwise delegates
34
+ * the prompt → map → validate pipeline. Commands (or dynamic flows) that need to fill an
35
+ * options class directly can inject `CommandOptionsResolver` instead.
36
+ */
37
+ let CommandArgumentResolver = class CommandArgumentResolver {
38
+ constructor(commandOptionsResolver) {
39
+ this.commandOptionsResolver = commandOptionsResolver;
40
+ }
41
+ /**
42
+ * For commands that opt out of typed options (`optionsType === null`), passes the raw
43
+ * args through unchanged. Otherwise delegates to `CommandOptionsResolver`, which fills any
44
+ * missing `@commandParameter` values by prompting, maps the result onto `optionsType`, and
45
+ * validates it.
46
+ */
47
+ resolve(command, rawArgs) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ if (command.optionsType === null) {
50
+ return rawArgs;
51
+ }
52
+ return this.commandOptionsResolver.resolve(command.optionsType, rawArgs);
53
+ });
54
+ }
55
+ };
56
+ exports.CommandArgumentResolver = CommandArgumentResolver;
57
+ exports.CommandArgumentResolver = CommandArgumentResolver = __decorate([
58
+ (0, tsyringe_1.injectable)(),
59
+ (0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
60
+ __metadata("design:paramtypes", [command_options_resolver_1.CommandOptionsResolver])
61
+ ], CommandArgumentResolver);
62
+ //# 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,uCAAoC;AACpC,gDAAiD;AAEjD,8DAAuD;AACvD,yEAAkE;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,0DAAuB;kCAAvB,uBAAuB;IAFnC,IAAA,qBAAU,GAAE;IACZ,IAAA,qBAAY,EAAC,qCAAgB,CAAC;qCAGc,iDAAsB;GAFtD,uBAAuB,CAkBnC"}