@pristine-ts/cli 2.0.7 → 2.0.17

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 (243) hide show
  1. package/dist/lib/cjs/bootstrap/build-staleness-prompt.js +12 -13
  2. package/dist/lib/cjs/bootstrap/build-staleness-prompt.js.map +1 -1
  3. package/dist/lib/cjs/bootstrap/init-prompt.js +16 -47
  4. package/dist/lib/cjs/bootstrap/init-prompt.js.map +1 -1
  5. package/dist/lib/cjs/cli.configuration-keys.js +24 -0
  6. package/dist/lib/cjs/cli.configuration-keys.js.map +1 -0
  7. package/dist/lib/cjs/cli.js +23 -10
  8. package/dist/lib/cjs/cli.js.map +1 -1
  9. package/dist/lib/cjs/cli.module.js +29 -1
  10. package/dist/lib/cjs/cli.module.js.map +1 -1
  11. package/dist/lib/cjs/commands/commands.js +6 -0
  12. package/dist/lib/cjs/commands/commands.js.map +1 -1
  13. package/dist/lib/cjs/commands/logs-alias.command.js +49 -0
  14. package/dist/lib/cjs/commands/logs-alias.command.js.map +1 -0
  15. package/dist/lib/cjs/commands/logs.command-options.js +72 -0
  16. package/dist/lib/cjs/commands/logs.command-options.js.map +1 -0
  17. package/dist/lib/cjs/commands/logs.command.js +102 -0
  18. package/dist/lib/cjs/commands/logs.command.js.map +1 -0
  19. package/dist/lib/cjs/commands/requests-alias.command.js +49 -0
  20. package/dist/lib/cjs/commands/requests-alias.command.js.map +1 -0
  21. package/dist/lib/cjs/commands/requests.command-options.js +26 -0
  22. package/dist/lib/cjs/commands/requests.command-options.js.map +1 -0
  23. package/dist/lib/cjs/commands/requests.command.js +88 -0
  24. package/dist/lib/cjs/commands/requests.command.js.map +1 -0
  25. package/dist/lib/cjs/commands/trace-alias.command.js +49 -0
  26. package/dist/lib/cjs/commands/trace-alias.command.js.map +1 -0
  27. package/dist/lib/cjs/commands/trace.command-options.js +59 -0
  28. package/dist/lib/cjs/commands/trace.command-options.js.map +1 -0
  29. package/dist/lib/cjs/commands/trace.command.js +84 -0
  30. package/dist/lib/cjs/commands/trace.command.js.map +1 -0
  31. package/dist/lib/cjs/config/config-loader.js +34 -13
  32. package/dist/lib/cjs/config/config-loader.js.map +1 -1
  33. package/dist/lib/cjs/decorators/command-parameter.decorator.js +40 -0
  34. package/dist/lib/cjs/decorators/command-parameter.decorator.js.map +1 -0
  35. package/dist/lib/cjs/decorators/decorators.js +18 -0
  36. package/dist/lib/cjs/decorators/decorators.js.map +1 -0
  37. package/dist/lib/cjs/enums/cli-decorator-metadata-keyname.enum.js +14 -0
  38. package/dist/lib/cjs/enums/cli-decorator-metadata-keyname.enum.js.map +1 -0
  39. package/dist/lib/cjs/enums/enums.js +19 -0
  40. package/dist/lib/cjs/enums/enums.js.map +1 -0
  41. package/dist/lib/cjs/enums/terminal-key-name.enum.js +21 -0
  42. package/dist/lib/cjs/enums/terminal-key-name.enum.js.map +1 -0
  43. package/dist/lib/cjs/errors/cli-error-code.enum.js +11 -1
  44. package/dist/lib/cjs/errors/cli-error-code.enum.js.map +1 -1
  45. package/dist/lib/cjs/errors/errors.js +1 -0
  46. package/dist/lib/cjs/errors/errors.js.map +1 -1
  47. package/dist/lib/cjs/errors/prompt-cancelled.error.js +25 -0
  48. package/dist/lib/cjs/errors/prompt-cancelled.error.js.map +1 -0
  49. package/dist/lib/cjs/event-handlers/cli.event-handler.js +21 -65
  50. package/dist/lib/cjs/event-handlers/cli.event-handler.js.map +1 -1
  51. package/dist/lib/cjs/event-handlers/event-handlers.js +1 -0
  52. package/dist/lib/cjs/event-handlers/event-handlers.js.map +1 -1
  53. package/dist/lib/cjs/event-handlers/repl-start.event-handler.js +280 -0
  54. package/dist/lib/cjs/event-handlers/repl-start.event-handler.js.map +1 -0
  55. package/dist/lib/cjs/event-payloads/event-payloads.js +1 -0
  56. package/dist/lib/cjs/event-payloads/event-payloads.js.map +1 -1
  57. package/dist/lib/cjs/event-payloads/start-repl.event-payload.js +19 -0
  58. package/dist/lib/cjs/event-payloads/start-repl.event-payload.js.map +1 -0
  59. package/dist/lib/cjs/interfaces/interfaces.js +1 -0
  60. package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
  61. package/dist/lib/cjs/interfaces/terminal-key.interface.js +3 -0
  62. package/dist/lib/cjs/interfaces/terminal-key.interface.js.map +1 -0
  63. package/dist/lib/cjs/managers/cli-prompt.manager.js +181 -15
  64. package/dist/lib/cjs/managers/cli-prompt.manager.js.map +1 -1
  65. package/dist/lib/cjs/managers/managers.js +1 -0
  66. package/dist/lib/cjs/managers/managers.js.map +1 -1
  67. package/dist/lib/cjs/managers/terminal-key-reader.manager.js +99 -0
  68. package/dist/lib/cjs/managers/terminal-key-reader.manager.js.map +1 -0
  69. package/dist/lib/cjs/mappers/command-event.mapper.js +48 -8
  70. package/dist/lib/cjs/mappers/command-event.mapper.js.map +1 -1
  71. package/dist/lib/cjs/mappers/mappers.js +1 -0
  72. package/dist/lib/cjs/mappers/mappers.js.map +1 -1
  73. package/dist/lib/cjs/mappers/repl-start-event.mapper.js +80 -0
  74. package/dist/lib/cjs/mappers/repl-start-event.mapper.js.map +1 -0
  75. package/dist/lib/cjs/options/command-parameter.options.js +3 -0
  76. package/dist/lib/cjs/options/command-parameter.options.js.map +1 -0
  77. package/dist/lib/cjs/options/options.js +1 -0
  78. package/dist/lib/cjs/options/options.js.map +1 -1
  79. package/dist/lib/cjs/services/command-argument-resolver.js +62 -0
  80. package/dist/lib/cjs/services/command-argument-resolver.js.map +1 -0
  81. package/dist/lib/cjs/services/command-options-resolver.js +114 -0
  82. package/dist/lib/cjs/services/command-options-resolver.js.map +1 -0
  83. package/dist/lib/cjs/services/command-parameter-prompter.js +311 -0
  84. package/dist/lib/cjs/services/command-parameter-prompter.js.map +1 -0
  85. package/dist/lib/cjs/services/services.js +20 -0
  86. package/dist/lib/cjs/services/services.js.map +1 -0
  87. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  88. package/dist/lib/cjs/types/start-repl-event-response.type.js +13 -0
  89. package/dist/lib/cjs/types/start-repl-event-response.type.js.map +1 -0
  90. package/dist/lib/cjs/types/types.js +1 -0
  91. package/dist/lib/cjs/types/types.js.map +1 -1
  92. package/dist/lib/cjs/utils/boolean-answer-parser.js +25 -0
  93. package/dist/lib/cjs/utils/boolean-answer-parser.js.map +1 -0
  94. package/dist/lib/cjs/utils/pristine-argv.js +87 -0
  95. package/dist/lib/cjs/utils/pristine-argv.js.map +1 -0
  96. package/dist/lib/cjs/utils/terminal-key-decoder.js +71 -0
  97. package/dist/lib/cjs/utils/terminal-key-decoder.js.map +1 -0
  98. package/dist/lib/esm/bootstrap/build-staleness-prompt.js +12 -13
  99. package/dist/lib/esm/bootstrap/build-staleness-prompt.js.map +1 -1
  100. package/dist/lib/esm/bootstrap/init-prompt.js +16 -47
  101. package/dist/lib/esm/bootstrap/init-prompt.js.map +1 -1
  102. package/dist/lib/esm/cli.configuration-keys.js +21 -0
  103. package/dist/lib/esm/cli.configuration-keys.js.map +1 -0
  104. package/dist/lib/esm/cli.js +23 -10
  105. package/dist/lib/esm/cli.js.map +1 -1
  106. package/dist/lib/esm/cli.module.js +29 -1
  107. package/dist/lib/esm/cli.module.js.map +1 -1
  108. package/dist/lib/esm/commands/commands.js +6 -0
  109. package/dist/lib/esm/commands/commands.js.map +1 -1
  110. package/dist/lib/esm/commands/logs-alias.command.js +46 -0
  111. package/dist/lib/esm/commands/logs-alias.command.js.map +1 -0
  112. package/dist/lib/esm/commands/logs.command-options.js +68 -0
  113. package/dist/lib/esm/commands/logs.command-options.js.map +1 -0
  114. package/dist/lib/esm/commands/logs.command.js +99 -0
  115. package/dist/lib/esm/commands/logs.command.js.map +1 -0
  116. package/dist/lib/esm/commands/requests-alias.command.js +46 -0
  117. package/dist/lib/esm/commands/requests-alias.command.js.map +1 -0
  118. package/dist/lib/esm/commands/requests.command-options.js +22 -0
  119. package/dist/lib/esm/commands/requests.command-options.js.map +1 -0
  120. package/dist/lib/esm/commands/requests.command.js +85 -0
  121. package/dist/lib/esm/commands/requests.command.js.map +1 -0
  122. package/dist/lib/esm/commands/trace-alias.command.js +46 -0
  123. package/dist/lib/esm/commands/trace-alias.command.js.map +1 -0
  124. package/dist/lib/esm/commands/trace.command-options.js +55 -0
  125. package/dist/lib/esm/commands/trace.command-options.js.map +1 -0
  126. package/dist/lib/esm/commands/trace.command.js +81 -0
  127. package/dist/lib/esm/commands/trace.command.js.map +1 -0
  128. package/dist/lib/esm/config/config-loader.js +34 -13
  129. package/dist/lib/esm/config/config-loader.js.map +1 -1
  130. package/dist/lib/esm/decorators/command-parameter.decorator.js +36 -0
  131. package/dist/lib/esm/decorators/command-parameter.decorator.js.map +1 -0
  132. package/dist/lib/esm/decorators/decorators.js +2 -0
  133. package/dist/lib/esm/decorators/decorators.js.map +1 -0
  134. package/dist/lib/esm/enums/cli-decorator-metadata-keyname.enum.js +11 -0
  135. package/dist/lib/esm/enums/cli-decorator-metadata-keyname.enum.js.map +1 -0
  136. package/dist/lib/esm/enums/enums.js +3 -0
  137. package/dist/lib/esm/enums/enums.js.map +1 -0
  138. package/dist/lib/esm/enums/terminal-key-name.enum.js +18 -0
  139. package/dist/lib/esm/enums/terminal-key-name.enum.js.map +1 -0
  140. package/dist/lib/esm/errors/cli-error-code.enum.js +11 -1
  141. package/dist/lib/esm/errors/cli-error-code.enum.js.map +1 -1
  142. package/dist/lib/esm/errors/errors.js +1 -0
  143. package/dist/lib/esm/errors/errors.js.map +1 -1
  144. package/dist/lib/esm/errors/prompt-cancelled.error.js +21 -0
  145. package/dist/lib/esm/errors/prompt-cancelled.error.js.map +1 -0
  146. package/dist/lib/esm/event-handlers/cli.event-handler.js +22 -66
  147. package/dist/lib/esm/event-handlers/cli.event-handler.js.map +1 -1
  148. package/dist/lib/esm/event-handlers/event-handlers.js +1 -0
  149. package/dist/lib/esm/event-handlers/event-handlers.js.map +1 -1
  150. package/dist/lib/esm/event-handlers/repl-start.event-handler.js +244 -0
  151. package/dist/lib/esm/event-handlers/repl-start.event-handler.js.map +1 -0
  152. package/dist/lib/esm/event-payloads/event-payloads.js +1 -0
  153. package/dist/lib/esm/event-payloads/event-payloads.js.map +1 -1
  154. package/dist/lib/esm/event-payloads/start-repl.event-payload.js +15 -0
  155. package/dist/lib/esm/event-payloads/start-repl.event-payload.js.map +1 -0
  156. package/dist/lib/esm/interfaces/interfaces.js +1 -0
  157. package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
  158. package/dist/lib/esm/interfaces/terminal-key.interface.js +2 -0
  159. package/dist/lib/esm/interfaces/terminal-key.interface.js.map +1 -0
  160. package/dist/lib/esm/managers/cli-prompt.manager.js +182 -16
  161. package/dist/lib/esm/managers/cli-prompt.manager.js.map +1 -1
  162. package/dist/lib/esm/managers/managers.js +1 -0
  163. package/dist/lib/esm/managers/managers.js.map +1 -1
  164. package/dist/lib/esm/managers/terminal-key-reader.manager.js +96 -0
  165. package/dist/lib/esm/managers/terminal-key-reader.manager.js.map +1 -0
  166. package/dist/lib/esm/mappers/command-event.mapper.js +49 -9
  167. package/dist/lib/esm/mappers/command-event.mapper.js.map +1 -1
  168. package/dist/lib/esm/mappers/mappers.js +1 -0
  169. package/dist/lib/esm/mappers/mappers.js.map +1 -1
  170. package/dist/lib/esm/mappers/repl-start-event.mapper.js +77 -0
  171. package/dist/lib/esm/mappers/repl-start-event.mapper.js.map +1 -0
  172. package/dist/lib/esm/options/command-parameter.options.js +2 -0
  173. package/dist/lib/esm/options/command-parameter.options.js.map +1 -0
  174. package/dist/lib/esm/options/options.js +1 -0
  175. package/dist/lib/esm/options/options.js.map +1 -1
  176. package/dist/lib/esm/services/command-argument-resolver.js +59 -0
  177. package/dist/lib/esm/services/command-argument-resolver.js.map +1 -0
  178. package/dist/lib/esm/services/command-options-resolver.js +111 -0
  179. package/dist/lib/esm/services/command-options-resolver.js.map +1 -0
  180. package/dist/lib/esm/services/command-parameter-prompter.js +308 -0
  181. package/dist/lib/esm/services/command-parameter-prompter.js.map +1 -0
  182. package/dist/lib/esm/services/services.js +4 -0
  183. package/dist/lib/esm/services/services.js.map +1 -0
  184. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
  185. package/dist/lib/esm/types/start-repl-event-response.type.js +9 -0
  186. package/dist/lib/esm/types/start-repl-event-response.type.js.map +1 -0
  187. package/dist/lib/esm/types/types.js +1 -0
  188. package/dist/lib/esm/types/types.js.map +1 -1
  189. package/dist/lib/esm/utils/boolean-answer-parser.js +21 -0
  190. package/dist/lib/esm/utils/boolean-answer-parser.js.map +1 -0
  191. package/dist/lib/esm/utils/pristine-argv.js +50 -0
  192. package/dist/lib/esm/utils/pristine-argv.js.map +1 -0
  193. package/dist/lib/esm/utils/terminal-key-decoder.js +67 -0
  194. package/dist/lib/esm/utils/terminal-key-decoder.js.map +1 -0
  195. package/dist/types/bootstrap/build-staleness-prompt.d.ts +3 -3
  196. package/dist/types/bootstrap/init-prompt.d.ts +5 -5
  197. package/dist/types/cli.configuration-keys.d.ts +32 -0
  198. package/dist/types/cli.d.ts +8 -4
  199. package/dist/types/cli.module.d.ts +4 -0
  200. package/dist/types/commands/commands.d.ts +6 -0
  201. package/dist/types/commands/logs-alias.command.d.ts +14 -0
  202. package/dist/types/commands/logs.command-options.d.ts +38 -0
  203. package/dist/types/commands/logs.command.d.ts +31 -0
  204. package/dist/types/commands/requests-alias.command.d.ts +14 -0
  205. package/dist/types/commands/requests.command-options.d.ts +8 -0
  206. package/dist/types/commands/requests.command.d.ts +25 -0
  207. package/dist/types/commands/trace-alias.command.d.ts +14 -0
  208. package/dist/types/commands/trace.command-options.d.ts +31 -0
  209. package/dist/types/commands/trace.command.d.ts +21 -0
  210. package/dist/types/config/config-loader.d.ts +15 -3
  211. package/dist/types/decorators/command-parameter.decorator.d.ts +30 -0
  212. package/dist/types/decorators/decorators.d.ts +1 -0
  213. package/dist/types/enums/cli-decorator-metadata-keyname.enum.d.ts +9 -0
  214. package/dist/types/enums/enums.d.ts +2 -0
  215. package/dist/types/enums/terminal-key-name.enum.d.ts +16 -0
  216. package/dist/types/errors/cli-error-code.enum.d.ts +12 -2
  217. package/dist/types/errors/errors.d.ts +1 -0
  218. package/dist/types/errors/prompt-cancelled.error.d.ts +13 -0
  219. package/dist/types/event-handlers/cli.event-handler.d.ts +16 -13
  220. package/dist/types/event-handlers/event-handlers.d.ts +1 -0
  221. package/dist/types/event-handlers/repl-start.event-handler.d.ts +70 -0
  222. package/dist/types/event-payloads/event-payloads.d.ts +1 -0
  223. package/dist/types/event-payloads/start-repl.event-payload.d.ts +13 -0
  224. package/dist/types/interfaces/interfaces.d.ts +1 -0
  225. package/dist/types/interfaces/terminal-key.interface.d.ts +11 -0
  226. package/dist/types/managers/cli-prompt.manager.d.ts +63 -6
  227. package/dist/types/managers/managers.d.ts +1 -0
  228. package/dist/types/managers/terminal-key-reader.manager.d.ts +31 -0
  229. package/dist/types/mappers/command-event.mapper.d.ts +10 -1
  230. package/dist/types/mappers/mappers.d.ts +1 -0
  231. package/dist/types/mappers/repl-start-event.mapper.d.ts +28 -0
  232. package/dist/types/options/command-parameter.options.d.ts +29 -0
  233. package/dist/types/options/options.d.ts +1 -0
  234. package/dist/types/services/command-argument-resolver.d.ts +24 -0
  235. package/dist/types/services/command-options-resolver.d.ts +35 -0
  236. package/dist/types/services/command-parameter-prompter.d.ts +113 -0
  237. package/dist/types/services/services.d.ts +3 -0
  238. package/dist/types/types/start-repl-event-response.type.d.ts +10 -0
  239. package/dist/types/types/types.d.ts +1 -0
  240. package/dist/types/utils/boolean-answer-parser.d.ts +11 -0
  241. package/dist/types/utils/pristine-argv.d.ts +33 -0
  242. package/dist/types/utils/terminal-key-decoder.d.ts +28 -0
  243. package/package.json +16 -12
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../src/commands/commands.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../src/commands/commands.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC"}
@@ -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 { LogsCommand } from "./logs.command";
23
+ /**
24
+ * Top-level alias for `p:logs`.
25
+ */
26
+ let LogsAliasCommand = class LogsAliasCommand {
27
+ constructor(delegate) {
28
+ this.delegate = delegate;
29
+ this.optionsType = null;
30
+ this.name = "logs";
31
+ this.description = "Alias for p:logs.";
32
+ }
33
+ run(args) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ return this.delegate.run(args);
36
+ });
37
+ }
38
+ };
39
+ LogsAliasCommand = __decorate([
40
+ tag(ServiceDefinitionTagEnum.Command),
41
+ moduleScoped(CliModuleKeyname),
42
+ injectable(),
43
+ __metadata("design:paramtypes", [LogsCommand])
44
+ ], LogsAliasCommand);
45
+ export { LogsAliasCommand };
46
+ //# sourceMappingURL=logs-alias.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs-alias.command.js","sourceRoot":"","sources":["../../../../src/commands/logs-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,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AAII,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAK3B,YAA6B,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QAJlD,gBAAW,GAAG,IAAI,CAAC;QACnB,SAAI,GAAG,MAAM,CAAC;QACd,gBAAW,GAAG,mBAAmB,CAAC;IAGlC,CAAC;IAEK,GAAG,CAAC,IAAS;;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;KAAA;CACF,CAAA;AAXY,gBAAgB;IAH5B,GAAG,CAAC,wBAAwB,CAAC,OAAO,CAAC;IACrC,YAAY,CAAC,gBAAgB,CAAC;IAC9B,UAAU,EAAE;qCAM4B,WAAW;GALvC,gBAAgB,CAW5B"}
@@ -0,0 +1,68 @@
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, IsBoolean, IsOptional, IsString } from "@pristine-ts/class-validator";
12
+ /**
13
+ * Flags + positional for `pristine logs [<id>] [--event-id <x>] [--trace-id <x>] [--request-id <x>] [--follow|-f]`.
14
+ *
15
+ * Filter the log stream 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 (e.g. `pristine logs abc-123`) is tried against all three.
19
+ *
20
+ * `--follow` and `-f` are accepted as independent boolean keys (that's how
21
+ * `CommandEventMapper` records short-vs-long flags); the `isFollowing` getter combines
22
+ * them so the command body reads a single field.
23
+ */
24
+ export class LogsCommandOptions {
25
+ /**
26
+ * Resolves the filter id: an explicit flag wins over the positional, and explicit
27
+ * flags are preferred in `eventId > traceId > requestId` order on the (rare) chance
28
+ * the user passed several.
29
+ */
30
+ get filterId() {
31
+ var _a, _b, _c, _d;
32
+ 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];
33
+ }
34
+ get isFollowing() {
35
+ return this.follow === true || this.f === true;
36
+ }
37
+ }
38
+ __decorate([
39
+ IsOptional(),
40
+ IsString(),
41
+ __metadata("design:type", String)
42
+ ], LogsCommandOptions.prototype, "event-id", void 0);
43
+ __decorate([
44
+ IsOptional(),
45
+ IsString(),
46
+ __metadata("design:type", String)
47
+ ], LogsCommandOptions.prototype, "trace-id", void 0);
48
+ __decorate([
49
+ IsOptional(),
50
+ IsString(),
51
+ __metadata("design:type", String)
52
+ ], LogsCommandOptions.prototype, "request-id", void 0);
53
+ __decorate([
54
+ IsOptional(),
55
+ IsBoolean(),
56
+ __metadata("design:type", Boolean)
57
+ ], LogsCommandOptions.prototype, "follow", void 0);
58
+ __decorate([
59
+ IsOptional(),
60
+ IsBoolean(),
61
+ __metadata("design:type", Boolean)
62
+ ], LogsCommandOptions.prototype, "f", void 0);
63
+ __decorate([
64
+ IsOptional(),
65
+ IsArray(),
66
+ __metadata("design:type", Array)
67
+ ], LogsCommandOptions.prototype, "_", void 0);
68
+ //# sourceMappingURL=logs.command-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.command-options.js","sourceRoot":"","sources":["../../../../src/commands/logs.command-options.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAEtF;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,kBAAkB;IAmC7B;;;;OAIG;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;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC;IACjD,CAAC;CACF;AA3CC;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;oDACS;AAKpB;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;oDACS;AAKpB;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;sDACW;AAKtB;IAFC,UAAU,EAAE;IACZ,SAAS,EAAE;;kDACK;AAKjB;IAFC,UAAU,EAAE;IACZ,SAAS,EAAE;;6CACA;AASZ;IAFC,UAAU,EAAE;IACZ,OAAO,EAAE;;6CACG"}
@@ -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"}