@pristine-ts/cli 2.0.7 → 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 (289) 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-staleness-prompt.js +12 -13
  13. package/dist/lib/cjs/bootstrap/build-staleness-prompt.js.map +1 -1
  14. package/dist/lib/cjs/bootstrap/init-prompt.js +16 -47
  15. package/dist/lib/cjs/bootstrap/init-prompt.js.map +1 -1
  16. package/dist/lib/cjs/cli.configuration-keys.js +24 -0
  17. package/dist/lib/cjs/cli.configuration-keys.js.map +1 -0
  18. package/dist/lib/cjs/cli.js +23 -10
  19. package/dist/lib/cjs/cli.js.map +1 -1
  20. package/dist/lib/cjs/cli.module.js +29 -1
  21. package/dist/lib/cjs/cli.module.js.map +1 -1
  22. package/dist/lib/cjs/commands/commands.js +6 -0
  23. package/dist/lib/cjs/commands/commands.js.map +1 -1
  24. package/dist/lib/cjs/commands/config-init.command.js +133 -0
  25. package/dist/lib/cjs/commands/config-init.command.js.map +1 -0
  26. package/dist/lib/cjs/commands/logs-alias.command.js +49 -0
  27. package/dist/lib/cjs/commands/logs-alias.command.js.map +1 -0
  28. package/dist/lib/cjs/commands/logs.command-options.js +72 -0
  29. package/dist/lib/cjs/commands/logs.command-options.js.map +1 -0
  30. package/dist/lib/cjs/commands/logs.command.js +102 -0
  31. package/dist/lib/cjs/commands/logs.command.js.map +1 -0
  32. package/dist/lib/cjs/commands/requests-alias.command.js +49 -0
  33. package/dist/lib/cjs/commands/requests-alias.command.js.map +1 -0
  34. package/dist/lib/cjs/commands/requests.command-options.js +26 -0
  35. package/dist/lib/cjs/commands/requests.command-options.js.map +1 -0
  36. package/dist/lib/cjs/commands/requests.command.js +88 -0
  37. package/dist/lib/cjs/commands/requests.command.js.map +1 -0
  38. package/dist/lib/cjs/commands/trace-alias.command.js +49 -0
  39. package/dist/lib/cjs/commands/trace-alias.command.js.map +1 -0
  40. package/dist/lib/cjs/commands/trace.command-options.js +59 -0
  41. package/dist/lib/cjs/commands/trace.command-options.js.map +1 -0
  42. package/dist/lib/cjs/commands/trace.command.js +84 -0
  43. package/dist/lib/cjs/commands/trace.command.js.map +1 -0
  44. package/dist/lib/cjs/config/config-loader.js +34 -13
  45. package/dist/lib/cjs/config/config-loader.js.map +1 -1
  46. package/dist/lib/cjs/decorators/command-parameter.decorator.js +40 -0
  47. package/dist/lib/cjs/decorators/command-parameter.decorator.js.map +1 -0
  48. package/dist/lib/cjs/decorators/decorators.js +18 -0
  49. package/dist/lib/cjs/decorators/decorators.js.map +1 -0
  50. package/dist/lib/cjs/enums/cli-decorator-metadata-keyname.enum.js +14 -0
  51. package/dist/lib/cjs/enums/cli-decorator-metadata-keyname.enum.js.map +1 -0
  52. package/dist/lib/cjs/enums/enums.js +19 -0
  53. package/dist/lib/cjs/enums/enums.js.map +1 -0
  54. package/dist/lib/cjs/enums/exit-code.enum.js +9 -0
  55. package/dist/lib/cjs/enums/exit-code.enum.js.map +1 -0
  56. package/dist/lib/cjs/enums/terminal-key-name.enum.js +21 -0
  57. package/dist/lib/cjs/enums/terminal-key-name.enum.js.map +1 -0
  58. package/dist/lib/cjs/errors/cli-error-code.enum.js +11 -1
  59. package/dist/lib/cjs/errors/cli-error-code.enum.js.map +1 -1
  60. package/dist/lib/cjs/errors/errors.js +1 -0
  61. package/dist/lib/cjs/errors/errors.js.map +1 -1
  62. package/dist/lib/cjs/errors/prompt-cancelled.error.js +25 -0
  63. package/dist/lib/cjs/errors/prompt-cancelled.error.js.map +1 -0
  64. package/dist/lib/cjs/event-handlers/cli.event-handler.js +21 -65
  65. package/dist/lib/cjs/event-handlers/cli.event-handler.js.map +1 -1
  66. package/dist/lib/cjs/event-handlers/event-handlers.js +1 -0
  67. package/dist/lib/cjs/event-handlers/event-handlers.js.map +1 -1
  68. package/dist/lib/cjs/event-handlers/repl-start.event-handler.js +280 -0
  69. package/dist/lib/cjs/event-handlers/repl-start.event-handler.js.map +1 -0
  70. package/dist/lib/cjs/event-payloads/event-payloads.js +1 -0
  71. package/dist/lib/cjs/event-payloads/event-payloads.js.map +1 -1
  72. package/dist/lib/cjs/event-payloads/start-repl.event-payload.js +19 -0
  73. package/dist/lib/cjs/event-payloads/start-repl.event-payload.js.map +1 -0
  74. package/dist/lib/cjs/interfaces/interfaces.js +1 -0
  75. package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
  76. package/dist/lib/cjs/interfaces/terminal-key.interface.js +3 -0
  77. package/dist/lib/cjs/interfaces/terminal-key.interface.js.map +1 -0
  78. package/dist/lib/cjs/managers/cli-prompt.manager.js +181 -15
  79. package/dist/lib/cjs/managers/cli-prompt.manager.js.map +1 -1
  80. package/dist/lib/cjs/managers/console.manager.js +277 -0
  81. package/dist/lib/cjs/managers/console.manager.js.map +1 -0
  82. package/dist/lib/cjs/managers/managers.js +1 -0
  83. package/dist/lib/cjs/managers/managers.js.map +1 -1
  84. package/dist/lib/cjs/managers/repl-session.js +251 -0
  85. package/dist/lib/cjs/managers/repl-session.js.map +1 -0
  86. package/dist/lib/cjs/managers/terminal-key-reader.manager.js +99 -0
  87. package/dist/lib/cjs/managers/terminal-key-reader.manager.js.map +1 -0
  88. package/dist/lib/cjs/mappers/command-event.mapper.js +48 -8
  89. package/dist/lib/cjs/mappers/command-event.mapper.js.map +1 -1
  90. package/dist/lib/cjs/mappers/mappers.js +1 -0
  91. package/dist/lib/cjs/mappers/mappers.js.map +1 -1
  92. package/dist/lib/cjs/mappers/repl-start-event.mapper.js +80 -0
  93. package/dist/lib/cjs/mappers/repl-start-event.mapper.js.map +1 -0
  94. package/dist/lib/cjs/options/command-parameter.options.js +3 -0
  95. package/dist/lib/cjs/options/command-parameter.options.js.map +1 -0
  96. package/dist/lib/cjs/options/options.js +1 -0
  97. package/dist/lib/cjs/options/options.js.map +1 -1
  98. package/dist/lib/cjs/services/command-argument-resolver.js +62 -0
  99. package/dist/lib/cjs/services/command-argument-resolver.js.map +1 -0
  100. package/dist/lib/cjs/services/command-options-resolver.js +114 -0
  101. package/dist/lib/cjs/services/command-options-resolver.js.map +1 -0
  102. package/dist/lib/cjs/services/command-parameter-prompter.js +311 -0
  103. package/dist/lib/cjs/services/command-parameter-prompter.js.map +1 -0
  104. package/dist/lib/cjs/services/services.js +20 -0
  105. package/dist/lib/cjs/services/services.js.map +1 -0
  106. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  107. package/dist/lib/cjs/types/start-repl-event-response.type.js +13 -0
  108. package/dist/lib/cjs/types/start-repl-event-response.type.js.map +1 -0
  109. package/dist/lib/cjs/types/types.js +1 -0
  110. package/dist/lib/cjs/types/types.js.map +1 -1
  111. package/dist/lib/cjs/utils/boolean-answer-parser.js +25 -0
  112. package/dist/lib/cjs/utils/boolean-answer-parser.js.map +1 -0
  113. package/dist/lib/cjs/utils/pristine-argv.js +87 -0
  114. package/dist/lib/cjs/utils/pristine-argv.js.map +1 -0
  115. package/dist/lib/cjs/utils/terminal-key-decoder.js +71 -0
  116. package/dist/lib/cjs/utils/terminal-key-decoder.js.map +1 -0
  117. package/dist/lib/esm/bootstrap/app-module-cache.js +65 -0
  118. package/dist/lib/esm/bootstrap/app-module-cache.js.map +1 -0
  119. package/dist/lib/esm/bootstrap/app-module-discoverer.js +113 -0
  120. package/dist/lib/esm/bootstrap/app-module-discoverer.js.map +1 -0
  121. package/dist/lib/esm/bootstrap/app-module-discovery-candidate.js +17 -0
  122. package/dist/lib/esm/bootstrap/app-module-discovery-candidate.js.map +1 -0
  123. package/dist/lib/esm/bootstrap/app-module-discovery-reason.enum.js +12 -0
  124. package/dist/lib/esm/bootstrap/app-module-discovery-reason.enum.js.map +1 -0
  125. package/dist/lib/esm/bootstrap/app-module-prompt.js +75 -0
  126. package/dist/lib/esm/bootstrap/app-module-prompt.js.map +1 -0
  127. package/dist/lib/esm/bootstrap/build-staleness-prompt.js +12 -13
  128. package/dist/lib/esm/bootstrap/build-staleness-prompt.js.map +1 -1
  129. package/dist/lib/esm/bootstrap/init-prompt.js +16 -47
  130. package/dist/lib/esm/bootstrap/init-prompt.js.map +1 -1
  131. package/dist/lib/esm/cli.configuration-keys.js +21 -0
  132. package/dist/lib/esm/cli.configuration-keys.js.map +1 -0
  133. package/dist/lib/esm/cli.js +23 -10
  134. package/dist/lib/esm/cli.js.map +1 -1
  135. package/dist/lib/esm/cli.module.js +29 -1
  136. package/dist/lib/esm/cli.module.js.map +1 -1
  137. package/dist/lib/esm/commands/commands.js +6 -0
  138. package/dist/lib/esm/commands/commands.js.map +1 -1
  139. package/dist/lib/esm/commands/config-init.command.js +127 -0
  140. package/dist/lib/esm/commands/config-init.command.js.map +1 -0
  141. package/dist/lib/esm/commands/logs-alias.command.js +46 -0
  142. package/dist/lib/esm/commands/logs-alias.command.js.map +1 -0
  143. package/dist/lib/esm/commands/logs.command-options.js +68 -0
  144. package/dist/lib/esm/commands/logs.command-options.js.map +1 -0
  145. package/dist/lib/esm/commands/logs.command.js +99 -0
  146. package/dist/lib/esm/commands/logs.command.js.map +1 -0
  147. package/dist/lib/esm/commands/requests-alias.command.js +46 -0
  148. package/dist/lib/esm/commands/requests-alias.command.js.map +1 -0
  149. package/dist/lib/esm/commands/requests.command-options.js +22 -0
  150. package/dist/lib/esm/commands/requests.command-options.js.map +1 -0
  151. package/dist/lib/esm/commands/requests.command.js +85 -0
  152. package/dist/lib/esm/commands/requests.command.js.map +1 -0
  153. package/dist/lib/esm/commands/trace-alias.command.js +46 -0
  154. package/dist/lib/esm/commands/trace-alias.command.js.map +1 -0
  155. package/dist/lib/esm/commands/trace.command-options.js +55 -0
  156. package/dist/lib/esm/commands/trace.command-options.js.map +1 -0
  157. package/dist/lib/esm/commands/trace.command.js +81 -0
  158. package/dist/lib/esm/commands/trace.command.js.map +1 -0
  159. package/dist/lib/esm/config/config-loader.js +34 -13
  160. package/dist/lib/esm/config/config-loader.js.map +1 -1
  161. package/dist/lib/esm/decorators/command-parameter.decorator.js +36 -0
  162. package/dist/lib/esm/decorators/command-parameter.decorator.js.map +1 -0
  163. package/dist/lib/esm/decorators/decorators.js +2 -0
  164. package/dist/lib/esm/decorators/decorators.js.map +1 -0
  165. package/dist/lib/esm/enums/cli-decorator-metadata-keyname.enum.js +11 -0
  166. package/dist/lib/esm/enums/cli-decorator-metadata-keyname.enum.js.map +1 -0
  167. package/dist/lib/esm/enums/enums.js +3 -0
  168. package/dist/lib/esm/enums/enums.js.map +1 -0
  169. package/dist/lib/esm/enums/exit-code.enum.js +6 -0
  170. package/dist/lib/esm/enums/exit-code.enum.js.map +1 -0
  171. package/dist/lib/esm/enums/terminal-key-name.enum.js +18 -0
  172. package/dist/lib/esm/enums/terminal-key-name.enum.js.map +1 -0
  173. package/dist/lib/esm/errors/cli-error-code.enum.js +11 -1
  174. package/dist/lib/esm/errors/cli-error-code.enum.js.map +1 -1
  175. package/dist/lib/esm/errors/errors.js +1 -0
  176. package/dist/lib/esm/errors/errors.js.map +1 -1
  177. package/dist/lib/esm/errors/prompt-cancelled.error.js +21 -0
  178. package/dist/lib/esm/errors/prompt-cancelled.error.js.map +1 -0
  179. package/dist/lib/esm/event-handlers/cli.event-handler.js +22 -66
  180. package/dist/lib/esm/event-handlers/cli.event-handler.js.map +1 -1
  181. package/dist/lib/esm/event-handlers/event-handlers.js +1 -0
  182. package/dist/lib/esm/event-handlers/event-handlers.js.map +1 -1
  183. package/dist/lib/esm/event-handlers/repl-start.event-handler.js +244 -0
  184. package/dist/lib/esm/event-handlers/repl-start.event-handler.js.map +1 -0
  185. package/dist/lib/esm/event-payloads/event-payloads.js +1 -0
  186. package/dist/lib/esm/event-payloads/event-payloads.js.map +1 -1
  187. package/dist/lib/esm/event-payloads/start-repl.event-payload.js +15 -0
  188. package/dist/lib/esm/event-payloads/start-repl.event-payload.js.map +1 -0
  189. package/dist/lib/esm/interfaces/interfaces.js +1 -0
  190. package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
  191. package/dist/lib/esm/interfaces/terminal-key.interface.js +2 -0
  192. package/dist/lib/esm/interfaces/terminal-key.interface.js.map +1 -0
  193. package/dist/lib/esm/managers/cli-prompt.manager.js +182 -16
  194. package/dist/lib/esm/managers/cli-prompt.manager.js.map +1 -1
  195. package/dist/lib/esm/managers/console.manager.js +241 -0
  196. package/dist/lib/esm/managers/console.manager.js.map +1 -0
  197. package/dist/lib/esm/managers/managers.js +1 -0
  198. package/dist/lib/esm/managers/managers.js.map +1 -1
  199. package/dist/lib/esm/managers/repl-session.js +215 -0
  200. package/dist/lib/esm/managers/repl-session.js.map +1 -0
  201. package/dist/lib/esm/managers/terminal-key-reader.manager.js +96 -0
  202. package/dist/lib/esm/managers/terminal-key-reader.manager.js.map +1 -0
  203. package/dist/lib/esm/mappers/command-event.mapper.js +49 -9
  204. package/dist/lib/esm/mappers/command-event.mapper.js.map +1 -1
  205. package/dist/lib/esm/mappers/mappers.js +1 -0
  206. package/dist/lib/esm/mappers/mappers.js.map +1 -1
  207. package/dist/lib/esm/mappers/repl-start-event.mapper.js +77 -0
  208. package/dist/lib/esm/mappers/repl-start-event.mapper.js.map +1 -0
  209. package/dist/lib/esm/options/command-parameter.options.js +2 -0
  210. package/dist/lib/esm/options/command-parameter.options.js.map +1 -0
  211. package/dist/lib/esm/options/options.js +1 -0
  212. package/dist/lib/esm/options/options.js.map +1 -1
  213. package/dist/lib/esm/services/command-argument-resolver.js +59 -0
  214. package/dist/lib/esm/services/command-argument-resolver.js.map +1 -0
  215. package/dist/lib/esm/services/command-options-resolver.js +111 -0
  216. package/dist/lib/esm/services/command-options-resolver.js.map +1 -0
  217. package/dist/lib/esm/services/command-parameter-prompter.js +308 -0
  218. package/dist/lib/esm/services/command-parameter-prompter.js.map +1 -0
  219. package/dist/lib/esm/services/services.js +4 -0
  220. package/dist/lib/esm/services/services.js.map +1 -0
  221. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
  222. package/dist/lib/esm/types/start-repl-event-response.type.js +9 -0
  223. package/dist/lib/esm/types/start-repl-event-response.type.js.map +1 -0
  224. package/dist/lib/esm/types/types.js +1 -0
  225. package/dist/lib/esm/types/types.js.map +1 -1
  226. package/dist/lib/esm/utils/boolean-answer-parser.js +21 -0
  227. package/dist/lib/esm/utils/boolean-answer-parser.js.map +1 -0
  228. package/dist/lib/esm/utils/pristine-argv.js +50 -0
  229. package/dist/lib/esm/utils/pristine-argv.js.map +1 -0
  230. package/dist/lib/esm/utils/terminal-key-decoder.js +67 -0
  231. package/dist/lib/esm/utils/terminal-key-decoder.js.map +1 -0
  232. package/dist/types/bootstrap/app-module-cache.d.ts +15 -0
  233. package/dist/types/bootstrap/app-module-discoverer.d.ts +30 -0
  234. package/dist/types/bootstrap/app-module-discovery-candidate.d.ts +18 -0
  235. package/dist/types/bootstrap/app-module-discovery-reason.enum.d.ts +10 -0
  236. package/dist/types/bootstrap/app-module-prompt.d.ts +20 -0
  237. package/dist/types/bootstrap/build-staleness-prompt.d.ts +3 -3
  238. package/dist/types/bootstrap/init-prompt.d.ts +5 -5
  239. package/dist/types/cli.configuration-keys.d.ts +32 -0
  240. package/dist/types/cli.d.ts +8 -4
  241. package/dist/types/cli.module.d.ts +4 -0
  242. package/dist/types/commands/commands.d.ts +6 -0
  243. package/dist/types/commands/config-init.command.d.ts +18 -0
  244. package/dist/types/commands/logs-alias.command.d.ts +14 -0
  245. package/dist/types/commands/logs.command-options.d.ts +38 -0
  246. package/dist/types/commands/logs.command.d.ts +31 -0
  247. package/dist/types/commands/requests-alias.command.d.ts +14 -0
  248. package/dist/types/commands/requests.command-options.d.ts +8 -0
  249. package/dist/types/commands/requests.command.d.ts +25 -0
  250. package/dist/types/commands/trace-alias.command.d.ts +14 -0
  251. package/dist/types/commands/trace.command-options.d.ts +31 -0
  252. package/dist/types/commands/trace.command.d.ts +21 -0
  253. package/dist/types/config/config-loader.d.ts +15 -3
  254. package/dist/types/decorators/command-parameter.decorator.d.ts +30 -0
  255. package/dist/types/decorators/decorators.d.ts +1 -0
  256. package/dist/types/enums/cli-decorator-metadata-keyname.enum.d.ts +9 -0
  257. package/dist/types/enums/enums.d.ts +2 -0
  258. package/dist/types/enums/exit-code.enum.d.ts +4 -0
  259. package/dist/types/enums/terminal-key-name.enum.d.ts +16 -0
  260. package/dist/types/errors/cli-error-code.enum.d.ts +12 -2
  261. package/dist/types/errors/errors.d.ts +1 -0
  262. package/dist/types/errors/prompt-cancelled.error.d.ts +13 -0
  263. package/dist/types/event-handlers/cli.event-handler.d.ts +16 -13
  264. package/dist/types/event-handlers/event-handlers.d.ts +1 -0
  265. package/dist/types/event-handlers/repl-start.event-handler.d.ts +70 -0
  266. package/dist/types/event-payloads/event-payloads.d.ts +1 -0
  267. package/dist/types/event-payloads/start-repl.event-payload.d.ts +13 -0
  268. package/dist/types/interfaces/interfaces.d.ts +1 -0
  269. package/dist/types/interfaces/terminal-key.interface.d.ts +11 -0
  270. package/dist/types/managers/cli-prompt.manager.d.ts +63 -6
  271. package/dist/types/managers/console.manager.d.ts +93 -0
  272. package/dist/types/managers/managers.d.ts +1 -0
  273. package/dist/types/managers/repl-session.d.ts +62 -0
  274. package/dist/types/managers/terminal-key-reader.manager.d.ts +31 -0
  275. package/dist/types/mappers/command-event.mapper.d.ts +10 -1
  276. package/dist/types/mappers/mappers.d.ts +1 -0
  277. package/dist/types/mappers/repl-start-event.mapper.d.ts +28 -0
  278. package/dist/types/options/command-parameter.options.d.ts +29 -0
  279. package/dist/types/options/options.d.ts +1 -0
  280. package/dist/types/services/command-argument-resolver.d.ts +24 -0
  281. package/dist/types/services/command-options-resolver.d.ts +35 -0
  282. package/dist/types/services/command-parameter-prompter.d.ts +113 -0
  283. package/dist/types/services/services.d.ts +3 -0
  284. package/dist/types/types/start-repl-event-response.type.d.ts +10 -0
  285. package/dist/types/types/types.d.ts +1 -0
  286. package/dist/types/utils/boolean-answer-parser.d.ts +11 -0
  287. package/dist/types/utils/pristine-argv.d.ts +33 -0
  288. package/dist/types/utils/terminal-key-decoder.d.ts +28 -0
  289. package/package.json +16 -12
@@ -0,0 +1,99 @@
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 { moduleScoped, ServiceDefinitionTagEnum, tag, ExitCode } from "@pristine-ts/common";
20
+ import { injectable } from "tsyringe";
21
+ import { PrettyLogFormatter } from "@pristine-ts/logging";
22
+ import { LogStore } from "@pristine-ts/observability";
23
+ import { CliOutput } from "../managers/cli-output.manager";
24
+ import { CliModuleKeyname } from "../cli.module.keyname";
25
+ import { LogsCommandOptions } from "./logs.command-options";
26
+ /**
27
+ * Renders captured logs: `pristine logs` for everything (newest first across all
28
+ * processes), `pristine logs <id>` to filter by any of event/trace/request id, or
29
+ * the explicit `--event-id` / `--trace-id` / `--request-id` flags. With `--follow`/`-f`
30
+ * it tails the live writers (Ctrl-C to stop). A pure report command: output goes
31
+ * through `CliOutput`.
32
+ */
33
+ let LogsCommand = class LogsCommand {
34
+ constructor(cliOutput, logStore) {
35
+ this.cliOutput = cliOutput;
36
+ this.logStore = logStore;
37
+ this.optionsType = LogsCommandOptions;
38
+ this.name = "p:logs";
39
+ this.description = "Show captured logs, optionally filtered by event/trace/request id, optionally following live.";
40
+ }
41
+ run(args) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ const filterId = args.filterId;
44
+ const entries = this.logStore.read(filterId);
45
+ if (entries.length === 0 && args.isFollowing === false) {
46
+ this.cliOutput.writeLine(filterId === undefined
47
+ ? "No captured observability data found. Run your app first."
48
+ : `No logs found matching '${filterId}'.`);
49
+ return ExitCode.Success;
50
+ }
51
+ for (const entry of entries) {
52
+ this.render(entry);
53
+ }
54
+ if (args.isFollowing === false) {
55
+ return ExitCode.Success;
56
+ }
57
+ return this.followLogs(filterId);
58
+ });
59
+ }
60
+ /**
61
+ * Tails live writes, rendering each newly-appended line until SIGINT.
62
+ */
63
+ followLogs(filterId) {
64
+ return new Promise((resolve) => {
65
+ const handle = this.logStore.tail(filterId, (line) => {
66
+ try {
67
+ this.render(JSON.parse(line));
68
+ }
69
+ catch (_a) {
70
+ // Skip a malformed line rather than aborting the follow.
71
+ }
72
+ });
73
+ const onSigint = () => {
74
+ handle.stop();
75
+ process.off("SIGINT", onSigint);
76
+ resolve(ExitCode.Success);
77
+ };
78
+ process.on("SIGINT", onSigint);
79
+ });
80
+ }
81
+ /**
82
+ * Renders one stored log entry through `PrettyLogFormatter`. The store keeps `date`
83
+ * as an ISO string and `severity` as a numeric `SeverityEnum`; rehydrate the date so
84
+ * the formatter (date-fns) can format it.
85
+ */
86
+ render(entry) {
87
+ entry.date = new Date(entry.date);
88
+ this.cliOutput.writeLine(PrettyLogFormatter.format(entry));
89
+ }
90
+ };
91
+ LogsCommand = __decorate([
92
+ tag(ServiceDefinitionTagEnum.Command),
93
+ moduleScoped(CliModuleKeyname),
94
+ injectable(),
95
+ __metadata("design:paramtypes", [CliOutput,
96
+ LogStore])
97
+ ], LogsCommand);
98
+ export { LogsCommand };
99
+ //# sourceMappingURL=logs.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.command.js","sourceRoot":"","sources":["../../../../src/commands/logs.command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
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 { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
20
+ import { injectable } from "tsyringe";
21
+ import { CliModuleKeyname } from "../cli.module.keyname";
22
+ import { RequestsCommand } from "./requests.command";
23
+ /**
24
+ * Top-level alias for `p:requests`.
25
+ */
26
+ let RequestsAliasCommand = class RequestsAliasCommand {
27
+ constructor(delegate) {
28
+ this.delegate = delegate;
29
+ this.optionsType = null;
30
+ this.name = "requests";
31
+ this.description = "Alias for p:requests.";
32
+ }
33
+ run(args) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ return this.delegate.run(args);
36
+ });
37
+ }
38
+ };
39
+ RequestsAliasCommand = __decorate([
40
+ tag(ServiceDefinitionTagEnum.Command),
41
+ moduleScoped(CliModuleKeyname),
42
+ injectable(),
43
+ __metadata("design:paramtypes", [RequestsCommand])
44
+ ], RequestsAliasCommand);
45
+ export { RequestsAliasCommand };
46
+ //# sourceMappingURL=requests-alias.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests-alias.command.js","sourceRoot":"","sources":["../../../../src/commands/requests-alias.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAW,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AAII,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAK/B,YAA6B,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;QAJtD,gBAAW,GAAG,IAAI,CAAC;QACnB,SAAI,GAAG,UAAU,CAAC;QAClB,gBAAW,GAAG,uBAAuB,CAAC;IAGtC,CAAC;IAEK,GAAG,CAAC,IAAS;;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;KAAA;CACF,CAAA;AAXY,oBAAoB;IAHhC,GAAG,CAAC,wBAAwB,CAAC,OAAO,CAAC;IACrC,YAAY,CAAC,gBAAgB,CAAC;IAC9B,UAAU,EAAE;qCAM4B,eAAe;GAL3C,oBAAoB,CAWhC"}
@@ -0,0 +1,22 @@
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 "reflect-metadata";
11
+ import { IsNumber, IsOptional } from "@pristine-ts/class-validator";
12
+ /**
13
+ * Flags for `pristine requests [--limit <n>]`.
14
+ */
15
+ export class RequestsCommandOptions {
16
+ }
17
+ __decorate([
18
+ IsOptional(),
19
+ IsNumber(),
20
+ __metadata("design:type", Number)
21
+ ], RequestsCommandOptions.prototype, "limit", void 0);
22
+ //# sourceMappingURL=requests.command-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.command-options.js","sourceRoot":"","sources":["../../../../src/commands/requests.command-options.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,sBAAsB;CAKlC;AADC;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;qDACI"}
@@ -0,0 +1,85 @@
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
+ var RequestsCommand_1;
20
+ import { moduleScoped, ServiceDefinitionTagEnum, tag, ExitCode } from "@pristine-ts/common";
21
+ import { injectable } from "tsyringe";
22
+ import { TraceStore } from "@pristine-ts/observability";
23
+ import { CliOutput } from "../managers/cli-output.manager";
24
+ import { CliModuleKeyname } from "../cli.module.keyname";
25
+ import { RequestsCommandOptions } from "./requests.command-options";
26
+ /**
27
+ * Lists recent requests captured in the observability store — the entry point for
28
+ * "what just happened, and what's the event id I want to inspect?".
29
+ *
30
+ * Pulls summaries from every captured process newest-first. A pure report command: all
31
+ * output goes through `CliOutput` so it pipes cleanly.
32
+ *
33
+ * Flags: `--limit <n>` (default 20).
34
+ */
35
+ let RequestsCommand = RequestsCommand_1 = class RequestsCommand {
36
+ constructor(cliOutput, traceStore) {
37
+ this.cliOutput = cliOutput;
38
+ this.traceStore = traceStore;
39
+ this.optionsType = RequestsCommandOptions;
40
+ this.name = "p:requests";
41
+ this.description = "List recent requests captured in the observability store.";
42
+ }
43
+ run(args) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ var _a;
46
+ const limit = (_a = args.limit) !== null && _a !== void 0 ? _a : RequestsCommand_1.DEFAULT_LIMIT;
47
+ const summaries = this.traceStore.recentRequests(limit);
48
+ if (summaries.length === 0) {
49
+ this.cliOutput.writeLine("No captured requests yet. Run your app first.");
50
+ return ExitCode.Success;
51
+ }
52
+ const headers = ["TIME", "METHOD", "PATH", "STATUS", "DURATION", "EVENT"];
53
+ const rows = summaries.map(summary => {
54
+ var _a, _b;
55
+ return [
56
+ new Date(summary.startedAt).toTimeString().slice(0, 8),
57
+ (_a = summary.httpMethod) !== null && _a !== void 0 ? _a : "-",
58
+ (_b = summary.httpPath) !== null && _b !== void 0 ? _b : summary.rootKeyname,
59
+ summary.httpStatus !== undefined ? String(summary.httpStatus) : "-",
60
+ `${summary.durationMs}ms`,
61
+ summary.eventId,
62
+ ];
63
+ });
64
+ for (const line of this.renderTable(headers, rows)) {
65
+ this.cliOutput.writeLine(line);
66
+ }
67
+ return ExitCode.Success;
68
+ });
69
+ }
70
+ renderTable(headers, rows) {
71
+ const widths = headers.map((header, column) => Math.max(header.length, ...rows.map(row => row[column].length)));
72
+ const formatRow = (cells) => cells.map((cell, column) => cell.padEnd(widths[column])).join(" ").trimEnd();
73
+ return [formatRow(headers), ...rows.map(formatRow)];
74
+ }
75
+ };
76
+ RequestsCommand.DEFAULT_LIMIT = 20;
77
+ RequestsCommand = RequestsCommand_1 = __decorate([
78
+ tag(ServiceDefinitionTagEnum.Command),
79
+ moduleScoped(CliModuleKeyname),
80
+ injectable(),
81
+ __metadata("design:paramtypes", [CliOutput,
82
+ TraceStore])
83
+ ], RequestsCommand);
84
+ export { RequestsCommand };
85
+ //# sourceMappingURL=requests.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.command.js","sourceRoot":"","sources":["../../../../src/commands/requests.command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
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 { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
20
+ import { injectable } from "tsyringe";
21
+ import { CliModuleKeyname } from "../cli.module.keyname";
22
+ import { TraceCommand } from "./trace.command";
23
+ /**
24
+ * Top-level alias for `p:trace`.
25
+ */
26
+ let TraceAliasCommand = class TraceAliasCommand {
27
+ constructor(delegate) {
28
+ this.delegate = delegate;
29
+ this.optionsType = null;
30
+ this.name = "trace";
31
+ this.description = "Alias for p:trace.";
32
+ }
33
+ run(args) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ return this.delegate.run(args);
36
+ });
37
+ }
38
+ };
39
+ TraceAliasCommand = __decorate([
40
+ tag(ServiceDefinitionTagEnum.Command),
41
+ moduleScoped(CliModuleKeyname),
42
+ injectable(),
43
+ __metadata("design:paramtypes", [TraceCommand])
44
+ ], TraceAliasCommand);
45
+ export { TraceAliasCommand };
46
+ //# sourceMappingURL=trace-alias.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-alias.command.js","sourceRoot":"","sources":["../../../../src/commands/trace-alias.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAW,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AAII,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAK5B,YAA6B,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QAJnD,gBAAW,GAAG,IAAI,CAAC;QACnB,SAAI,GAAG,OAAO,CAAC;QACf,gBAAW,GAAG,oBAAoB,CAAC;IAGnC,CAAC;IAEK,GAAG,CAAC,IAAS;;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;KAAA;CACF,CAAA;AAXY,iBAAiB;IAH7B,GAAG,CAAC,wBAAwB,CAAC,OAAO,CAAC;IACrC,YAAY,CAAC,gBAAgB,CAAC;IAC9B,UAAU,EAAE;qCAM4B,YAAY;GALxC,iBAAiB,CAW7B"}
@@ -0,0 +1,55 @@
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 "reflect-metadata";
11
+ import { IsArray, IsIn, IsOptional, IsString } from "@pristine-ts/class-validator";
12
+ /**
13
+ * Flags + positional for `pristine trace [<id>] [--event-id <x>] [--trace-id <x>] [--request-id <x>] [--format tree|flat|json]`.
14
+ *
15
+ * Look up a trace by any of three correlation ids — `--event-id` is canonical,
16
+ * `--trace-id` covers the distributed-tracing case (a propagated `traceparent`),
17
+ * `--request-id` covers HTTP requests with an `x-pristine-request-id` header. A
18
+ * positional id is tried against all three.
19
+ */
20
+ export class TraceCommandOptions {
21
+ /**
22
+ * Resolves the lookup id: an explicit flag wins over the positional, and explicit
23
+ * flags are preferred in `eventId > traceId > requestId` order.
24
+ */
25
+ get lookupId() {
26
+ var _a, _b, _c, _d;
27
+ return (_c = (_b = (_a = this["event-id"]) !== null && _a !== void 0 ? _a : this["trace-id"]) !== null && _b !== void 0 ? _b : this["request-id"]) !== null && _c !== void 0 ? _c : (_d = this._) === null || _d === void 0 ? void 0 : _d[0];
28
+ }
29
+ }
30
+ __decorate([
31
+ IsOptional(),
32
+ IsString(),
33
+ __metadata("design:type", String)
34
+ ], TraceCommandOptions.prototype, "event-id", void 0);
35
+ __decorate([
36
+ IsOptional(),
37
+ IsString(),
38
+ __metadata("design:type", String)
39
+ ], TraceCommandOptions.prototype, "trace-id", void 0);
40
+ __decorate([
41
+ IsOptional(),
42
+ IsString(),
43
+ __metadata("design:type", String)
44
+ ], TraceCommandOptions.prototype, "request-id", void 0);
45
+ __decorate([
46
+ IsOptional(),
47
+ IsIn(["tree", "flat", "json"]),
48
+ __metadata("design:type", String)
49
+ ], TraceCommandOptions.prototype, "format", void 0);
50
+ __decorate([
51
+ IsOptional(),
52
+ IsArray(),
53
+ __metadata("design:type", Array)
54
+ ], TraceCommandOptions.prototype, "_", void 0);
55
+ //# sourceMappingURL=trace.command-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.command-options.js","sourceRoot":"","sources":["../../../../src/commands/trace.command-options.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAIjF;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IA8B9B;;;OAGG;IACH,IAAI,QAAQ;;QACV,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,UAAU,CAAC,mCAAI,IAAI,CAAC,UAAU,CAAC,mCAAI,IAAI,CAAC,YAAY,CAAC,mCAAI,MAAA,IAAI,CAAC,CAAC,0CAAG,CAAC,CAAC,CAAC;IACnF,CAAC;CACF;AAjCC;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;qDACS;AAKpB;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;qDACS;AAKpB;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;uDACW;AAKtB;IAFC,UAAU,EAAE;IACZ,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;;mDACV;AASrB;IAFC,UAAU,EAAE;IACZ,OAAO,EAAE;;8CACG"}
@@ -0,0 +1,81 @@
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 { moduleScoped, ServiceDefinitionTagEnum, tag, ExitCode } from "@pristine-ts/common";
20
+ import { injectable } from "tsyringe";
21
+ import { TraceStore } from "@pristine-ts/observability";
22
+ import { traceRenderer } from "@pristine-ts/telemetry";
23
+ import { CliOutput } from "../managers/cli-output.manager";
24
+ import { CliModuleKeyname } from "../cli.module.keyname";
25
+ import { TraceCommandOptions } from "./trace.command-options";
26
+ /**
27
+ * Renders the span tree of one captured trace. Look it up by any of event/trace/request
28
+ * id — `pristine trace <id>` tries all three, or use the explicit `--event-id`,
29
+ * `--trace-id`, `--request-id` flags.
30
+ *
31
+ * `--format tree|flat|json` controls the rendering (defaults to `tree`).
32
+ */
33
+ let TraceCommand = class TraceCommand {
34
+ constructor(cliOutput, traceStore) {
35
+ this.cliOutput = cliOutput;
36
+ this.traceStore = traceStore;
37
+ this.optionsType = TraceCommandOptions;
38
+ this.name = "p:trace";
39
+ this.description = "Render the span tree of a captured trace by event/trace/request id.";
40
+ }
41
+ run(args) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ var _a;
44
+ const lookupId = args.lookupId;
45
+ if (lookupId === undefined) {
46
+ this.cliOutput.writeLine("Usage: pristine trace <id> [--format tree|flat|json]");
47
+ this.cliOutput.writeLine(" pristine trace --event-id <id> | --trace-id <id> | --request-id <id>");
48
+ return ExitCode.Error;
49
+ }
50
+ const format = (_a = args.format) !== null && _a !== void 0 ? _a : "tree";
51
+ if (format === "json") {
52
+ const serialized = this.traceStore.findSerialized(lookupId);
53
+ if (serialized === undefined) {
54
+ this.cliOutput.writeLine(`No trace found matching '${lookupId}'.`);
55
+ return ExitCode.Error;
56
+ }
57
+ this.cliOutput.writeLine(JSON.stringify(serialized.trace, null, 2));
58
+ return ExitCode.Success;
59
+ }
60
+ const found = this.traceStore.find(lookupId);
61
+ if (found === undefined) {
62
+ this.cliOutput.writeLine(`No trace found matching '${lookupId}'.`);
63
+ return ExitCode.Error;
64
+ }
65
+ const rendered = format === "flat"
66
+ ? traceRenderer.renderFlat(found.trace)
67
+ : traceRenderer.renderTree(found.trace);
68
+ this.cliOutput.writeLine(rendered);
69
+ return ExitCode.Success;
70
+ });
71
+ }
72
+ };
73
+ TraceCommand = __decorate([
74
+ tag(ServiceDefinitionTagEnum.Command),
75
+ moduleScoped(CliModuleKeyname),
76
+ injectable(),
77
+ __metadata("design:paramtypes", [CliOutput,
78
+ TraceStore])
79
+ ], TraceCommand);
80
+ export { TraceCommand };
81
+ //# sourceMappingURL=trace.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.command.js","sourceRoot":"","sources":["../../../../src/commands/trace.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAE5D;;;;;;GAMG;AAII,IAAM,YAAY,GAAlB,MAAM,YAAY;IAKvB,YACmB,SAAoB,EACpB,UAAsB;QADtB,cAAS,GAAT,SAAS,CAAW;QACpB,eAAU,GAAV,UAAU,CAAY;QANzC,gBAAW,GAAG,mBAAmB,CAAC;QAClC,SAAI,GAAG,SAAS,CAAC;QACjB,gBAAW,GAAG,qEAAqE,CAAC;IAMpF,CAAC;IAEK,GAAG,CAAC,IAAyB;;;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,sDAAsD,CAAC,CAAC;gBACjF,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,6EAA6E,CAAC,CAAC;gBACxG,OAAO,QAAQ,CAAC,KAAK,CAAC;YACxB,CAAC;YAED,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,MAAM,CAAC;YAErC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B,QAAQ,IAAI,CAAC,CAAC;oBACnE,OAAO,QAAQ,CAAC,KAAK,CAAC;gBACxB,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpE,OAAO,QAAQ,CAAC,OAAO,CAAC;YAC1B,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B,QAAQ,IAAI,CAAC,CAAC;gBACnE,OAAO,QAAQ,CAAC,KAAK,CAAC;YACxB,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,MAAM;gBAChC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;gBACvC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEnC,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC;KAAA;CACF,CAAA;AA5CY,YAAY;IAHxB,GAAG,CAAC,wBAAwB,CAAC,OAAO,CAAC;IACrC,YAAY,CAAC,gBAAgB,CAAC;IAC9B,UAAU,EAAE;qCAOmB,SAAS;QACR,UAAU;GAP9B,YAAY,CA4CxB"}
@@ -25,7 +25,8 @@ import { DynamicImporter } from "../bootstrap/dynamic-importer";
25
25
  /**
26
26
  * Loads `pristine.config.ts` (preferred) or `pristine.config.js` (escape hatch for
27
27
  * pure-JS projects). Walks up from `process.cwd()` looking for the file, then loads it
28
- * through `jiti` (for `.ts`) or Node's dynamic `import()` (for `.js`).
28
+ * through Node's native dynamic `import()`: TypeScript type-stripping (Node >= 22.18)
29
+ * handles `.ts`, while `.js` loads directly.
29
30
  *
30
31
  * Returns a `ResolvedPristineConfig` carrying the file path (when found) and per-field
31
32
  * provenance, which `pristine p:config:print` uses to render an annotated dump.
@@ -94,26 +95,23 @@ let ConfigLoader = class ConfigLoader {
94
95
  }
95
96
  }
96
97
  /**
97
- * Loads a config file from `absolutePath`. `.ts` goes through `jiti`; `.js` uses Node's
98
- * native dynamic `import()`. Extracts the default export, falling back to a named
98
+ * Loads a config file from `absolutePath` via Node's native dynamic `import()`. A `.ts`
99
+ * config is handled by Node's built-in TypeScript type-stripping (Node >= 22.18); a `.js`
100
+ * config loads directly. Extracts the default export, falling back to a named
99
101
  * `pristineConfig` export for users who prefer not to use `export default`.
100
102
  * @private
101
103
  */
102
104
  importConfigFile(absolutePath) {
103
105
  return __awaiter(this, void 0, void 0, function* () {
104
- var _a, _b, _c, _d;
105
- const ext = path.extname(absolutePath).toLowerCase();
106
+ var _a, _b;
106
107
  let loaded;
107
- if (ext === ".ts") {
108
- const jitiModule = yield this.dynamicImporter.import("jiti");
109
- const createJiti = (_b = (_a = jitiModule.default) !== null && _a !== void 0 ? _a : jitiModule.createJiti) !== null && _b !== void 0 ? _b : jitiModule;
110
- const jiti = createJiti(absolutePath, { interopDefault: true });
111
- loaded = jiti(absolutePath);
112
- }
113
- else {
108
+ try {
114
109
  loaded = yield this.dynamicImporter.import(`file://${absolutePath}`);
115
110
  }
116
- const config = (_d = (_c = loaded === null || loaded === void 0 ? void 0 : loaded.default) !== null && _c !== void 0 ? _c : loaded === null || loaded === void 0 ? void 0 : loaded.pristineConfig) !== null && _d !== void 0 ? _d : loaded;
111
+ catch (error) {
112
+ throw this.describeImportError(error, absolutePath);
113
+ }
114
+ const config = (_b = (_a = loaded === null || loaded === void 0 ? void 0 : loaded.default) !== null && _a !== void 0 ? _a : loaded === null || loaded === void 0 ? void 0 : loaded.pristineConfig) !== null && _b !== void 0 ? _b : loaded;
117
115
  if (!config || typeof config !== "object") {
118
116
  throw new Error(`[pristine] Config file at '${absolutePath}' did not export a valid configuration. ` +
119
117
  `Use \`export default defineConfig({ ... })\` or \`export const pristineConfig = { ... }\`.`);
@@ -121,6 +119,29 @@ let ConfigLoader = class ConfigLoader {
121
119
  return config;
122
120
  });
123
121
  }
122
+ /**
123
+ * Translates Node's low-level module-loading failures for a `.ts` config into an
124
+ * actionable error. Native type-stripping has two distinct failure modes worth telling
125
+ * apart: the running Node is too old (or has stripping disabled) to import `.ts` at all
126
+ * (`ERR_UNKNOWN_FILE_EXTENSION`), versus a config written with non-erasable TypeScript that
127
+ * stripping refuses (`ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX`). Any other error is passed through
128
+ * unchanged so genuine config bugs surface as-is.
129
+ * @private
130
+ */
131
+ describeImportError(error, absolutePath) {
132
+ var _a;
133
+ if ((error === null || error === void 0 ? void 0 : error.code) === "ERR_UNKNOWN_FILE_EXTENSION") {
134
+ return new Error(`[pristine] Loading '${absolutePath}' requires Node >= 22.18 (native TypeScript ` +
135
+ `type-stripping); you are running ${process.version}. Upgrade Node, or rename the ` +
136
+ `file to 'pristine.config.js'.`);
137
+ }
138
+ if ((error === null || error === void 0 ? void 0 : error.code) === "ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX") {
139
+ return new Error(`[pristine] '${absolutePath}' uses TypeScript that Node cannot type-strip (enum, ` +
140
+ `namespace, parameter properties, ...). Use only erasable TypeScript in your config, ` +
141
+ `or rename the file to 'pristine.config.js'.\nOriginal error: ${(_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : error}`);
142
+ }
143
+ return error instanceof Error ? error : new Error(String(error));
144
+ }
124
145
  };
125
146
  ConfigLoader = __decorate([
126
147
  injectable(),
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../../src/config/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../../src/config/config-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { PropertyMetadata } from "@pristine-ts/metadata";
2
+ import { CliDecoratorMetadataKeynameEnum } from "../enums/cli-decorator-metadata-keyname.enum";
3
+ /**
4
+ * Describes a command-line parameter on a command's options class. Stored as property
5
+ * metadata and read by the CLI while resolving a command's arguments — before the arguments
6
+ * are mapped onto the options instance and validated.
7
+ *
8
+ * Two behaviors flow from the options:
9
+ *
10
+ * - `flag` rebinds the property to a differently-named flag (the property name is the
11
+ * default), so the property and the flag no longer have to be spelled identically.
12
+ * - `question` makes the CLI ask for the value interactively when the flag is absent
13
+ * (subject to configuration and an interactive terminal). Omit it to never prompt.
14
+ *
15
+ * ```ts
16
+ * import {IsString, IsOptional} from "@pristine-ts/class-validator";
17
+ * import {commandParameter} from "@pristine-ts/cli";
18
+ *
19
+ * export class MigrateCommandOptions {
20
+ * @commandParameter({flag: "db-url", question: "What is the database URL?"})
21
+ * @IsString()
22
+ * databaseUrl?: string; // bound to --db-url; asked for when missing
23
+ *
24
+ * @commandParameter({flag: "dir"}) // bound to --dir; never asked for
25
+ * @IsOptional()
26
+ * @IsString()
27
+ * migrationsDirectory?: string;
28
+ * }
29
+ * ```
30
+ */
31
+ export const commandParameter = (options = {}) => {
32
+ return (target, propertyKey) => {
33
+ PropertyMetadata.defineMetadata(target, propertyKey, CliDecoratorMetadataKeynameEnum.CommandParameter, options);
34
+ };
35
+ };
36
+ //# sourceMappingURL=command-parameter.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-parameter.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/command-parameter.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,+BAA+B,EAAC,MAAM,8CAA8C,CAAC;AAG7F;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAmC,EAAE,EAAE,EAAE;IACxE,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC1C,gBAAgB,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,+BAA+B,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAClH,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./command-parameter.decorator";
2
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/decorators/decorators.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}