@sonisoft/now-sdk-ext-cli 1.1.0-alpha.3 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/README.md +4587 -197
  2. package/dist/commands/aggregate/count.d.ts +16 -0
  3. package/dist/commands/aggregate/count.d.ts.map +1 -0
  4. package/dist/commands/aggregate/count.js +67 -0
  5. package/dist/commands/aggregate/count.js.map +1 -0
  6. package/dist/commands/aggregate/group.d.ts +24 -0
  7. package/dist/commands/aggregate/group.d.ts.map +1 -0
  8. package/dist/commands/aggregate/group.js +120 -0
  9. package/dist/commands/aggregate/group.js.map +1 -0
  10. package/dist/commands/aggregate/query.d.ts +21 -0
  11. package/dist/commands/aggregate/query.d.ts.map +1 -0
  12. package/dist/commands/aggregate/query.js +100 -0
  13. package/dist/commands/aggregate/query.js.map +1 -0
  14. package/dist/commands/app/index.d.ts +4 -2
  15. package/dist/commands/app/index.d.ts.map +1 -1
  16. package/dist/commands/app/index.js +27 -6
  17. package/dist/commands/app/index.js.map +1 -1
  18. package/dist/commands/app/install.d.ts +4 -2
  19. package/dist/commands/app/install.d.ts.map +1 -1
  20. package/dist/commands/app/install.js +41 -8
  21. package/dist/commands/app/install.js.map +1 -1
  22. package/dist/commands/app/repo-install.d.ts +18 -0
  23. package/dist/commands/app/repo-install.d.ts.map +1 -0
  24. package/dist/commands/app/repo-install.js +171 -0
  25. package/dist/commands/app/repo-install.js.map +1 -0
  26. package/dist/commands/app/repo-list.d.ts +16 -0
  27. package/dist/commands/app/repo-list.d.ts.map +1 -0
  28. package/dist/commands/app/repo-list.js +150 -0
  29. package/dist/commands/app/repo-list.js.map +1 -0
  30. package/dist/commands/app/uninstall.d.ts +15 -0
  31. package/dist/commands/app/uninstall.d.ts.map +1 -0
  32. package/dist/commands/app/uninstall.js +69 -0
  33. package/dist/commands/app/uninstall.js.map +1 -0
  34. package/dist/commands/atf/index.d.ts +25 -0
  35. package/dist/commands/atf/index.d.ts.map +1 -0
  36. package/dist/commands/atf/index.js +183 -0
  37. package/dist/commands/atf/index.js.map +1 -0
  38. package/dist/commands/attachment/get.d.ts +14 -0
  39. package/dist/commands/attachment/get.d.ts.map +1 -0
  40. package/dist/commands/attachment/get.js +44 -0
  41. package/dist/commands/attachment/get.js.map +1 -0
  42. package/dist/commands/attachment/list.d.ts +16 -0
  43. package/dist/commands/attachment/list.d.ts.map +1 -0
  44. package/dist/commands/attachment/list.js +60 -0
  45. package/dist/commands/attachment/list.js.map +1 -0
  46. package/dist/commands/attachment/upload.d.ts +17 -0
  47. package/dist/commands/attachment/upload.d.ts.map +1 -0
  48. package/dist/commands/attachment/upload.js +71 -0
  49. package/dist/commands/attachment/upload.js.map +1 -0
  50. package/dist/commands/batch/create.d.ts +15 -0
  51. package/dist/commands/batch/create.d.ts.map +1 -0
  52. package/dist/commands/batch/create.js +56 -0
  53. package/dist/commands/batch/create.js.map +1 -0
  54. package/dist/commands/batch/update.d.ts +15 -0
  55. package/dist/commands/batch/update.d.ts.map +1 -0
  56. package/dist/commands/batch/update.js +56 -0
  57. package/dist/commands/batch/update.js.map +1 -0
  58. package/dist/commands/bulk/delete.d.ts +18 -0
  59. package/dist/commands/bulk/delete.d.ts.map +1 -0
  60. package/dist/commands/bulk/delete.js +95 -0
  61. package/dist/commands/bulk/delete.js.map +1 -0
  62. package/dist/commands/bulk/update.d.ts +19 -0
  63. package/dist/commands/bulk/update.d.ts.map +1 -0
  64. package/dist/commands/bulk/update.js +110 -0
  65. package/dist/commands/bulk/update.js.map +1 -0
  66. package/dist/commands/exec/index.d.ts +17 -4
  67. package/dist/commands/exec/index.d.ts.map +1 -1
  68. package/dist/commands/exec/index.js +278 -28
  69. package/dist/commands/exec/index.js.map +1 -1
  70. package/dist/commands/flow/action.d.ts +19 -0
  71. package/dist/commands/flow/action.d.ts.map +1 -0
  72. package/dist/commands/flow/action.js +88 -0
  73. package/dist/commands/flow/action.js.map +1 -0
  74. package/dist/commands/flow/cancel.d.ts +17 -0
  75. package/dist/commands/flow/cancel.d.ts.map +1 -0
  76. package/dist/commands/flow/cancel.js +60 -0
  77. package/dist/commands/flow/cancel.js.map +1 -0
  78. package/dist/commands/flow/error.d.ts +16 -0
  79. package/dist/commands/flow/error.d.ts.map +1 -0
  80. package/dist/commands/flow/error.js +51 -0
  81. package/dist/commands/flow/error.js.map +1 -0
  82. package/dist/commands/flow/message.d.ts +18 -0
  83. package/dist/commands/flow/message.d.ts.map +1 -0
  84. package/dist/commands/flow/message.js +66 -0
  85. package/dist/commands/flow/message.js.map +1 -0
  86. package/dist/commands/flow/outputs.d.ts +16 -0
  87. package/dist/commands/flow/outputs.d.ts.map +1 -0
  88. package/dist/commands/flow/outputs.js +55 -0
  89. package/dist/commands/flow/outputs.js.map +1 -0
  90. package/dist/commands/flow/run.d.ts +19 -0
  91. package/dist/commands/flow/run.d.ts.map +1 -0
  92. package/dist/commands/flow/run.js +98 -0
  93. package/dist/commands/flow/run.js.map +1 -0
  94. package/dist/commands/flow/status.d.ts +16 -0
  95. package/dist/commands/flow/status.d.ts.map +1 -0
  96. package/dist/commands/flow/status.js +52 -0
  97. package/dist/commands/flow/status.js.map +1 -0
  98. package/dist/commands/flow/subflow.d.ts +19 -0
  99. package/dist/commands/flow/subflow.d.ts.map +1 -0
  100. package/dist/commands/flow/subflow.js +92 -0
  101. package/dist/commands/flow/subflow.js.map +1 -0
  102. package/dist/commands/health/check.d.ts +20 -0
  103. package/dist/commands/health/check.d.ts.map +1 -0
  104. package/dist/commands/health/check.js +105 -0
  105. package/dist/commands/health/check.js.map +1 -0
  106. package/dist/commands/log/index.d.ts +22 -0
  107. package/dist/commands/log/index.d.ts.map +1 -0
  108. package/dist/commands/log/index.js +190 -0
  109. package/dist/commands/log/index.js.map +1 -0
  110. package/dist/commands/query/app.d.ts +17 -0
  111. package/dist/commands/query/app.d.ts.map +1 -0
  112. package/dist/commands/query/app.js +81 -0
  113. package/dist/commands/query/app.js.map +1 -0
  114. package/dist/commands/query/columns.d.ts +16 -0
  115. package/dist/commands/query/columns.d.ts.map +1 -0
  116. package/dist/commands/query/columns.js +76 -0
  117. package/dist/commands/query/columns.js.map +1 -0
  118. package/dist/commands/query/index.d.ts +19 -0
  119. package/dist/commands/query/index.d.ts.map +1 -0
  120. package/dist/commands/query/index.js +94 -0
  121. package/dist/commands/query/index.js.map +1 -0
  122. package/dist/commands/query/syslog.d.ts +16 -0
  123. package/dist/commands/query/syslog.d.ts.map +1 -0
  124. package/dist/commands/query/syslog.js +67 -0
  125. package/dist/commands/query/syslog.js.map +1 -0
  126. package/dist/commands/schema/field.d.ts +16 -0
  127. package/dist/commands/schema/field.d.ts.map +1 -0
  128. package/dist/commands/schema/field.js +62 -0
  129. package/dist/commands/schema/field.js.map +1 -0
  130. package/dist/commands/schema/index.d.ts +19 -0
  131. package/dist/commands/schema/index.d.ts.map +1 -0
  132. package/dist/commands/schema/index.js +90 -0
  133. package/dist/commands/schema/index.js.map +1 -0
  134. package/dist/commands/schema/validate-catalog.d.ts +15 -0
  135. package/dist/commands/schema/validate-catalog.d.ts.map +1 -0
  136. package/dist/commands/schema/validate-catalog.js +58 -0
  137. package/dist/commands/schema/validate-catalog.js.map +1 -0
  138. package/dist/commands/scope/index.d.ts +14 -0
  139. package/dist/commands/scope/index.d.ts.map +1 -0
  140. package/dist/commands/scope/index.js +58 -0
  141. package/dist/commands/scope/index.js.map +1 -0
  142. package/dist/commands/scope/set.d.ts +14 -0
  143. package/dist/commands/scope/set.d.ts.map +1 -0
  144. package/dist/commands/scope/set.js +44 -0
  145. package/dist/commands/scope/set.js.map +1 -0
  146. package/dist/commands/script-sync/pull.d.ts +16 -0
  147. package/dist/commands/script-sync/pull.d.ts.map +1 -0
  148. package/dist/commands/script-sync/pull.js +74 -0
  149. package/dist/commands/script-sync/pull.js.map +1 -0
  150. package/dist/commands/script-sync/push.d.ts +16 -0
  151. package/dist/commands/script-sync/push.d.ts.map +1 -0
  152. package/dist/commands/script-sync/push.js +73 -0
  153. package/dist/commands/script-sync/push.js.map +1 -0
  154. package/dist/commands/script-sync/sync.d.ts +15 -0
  155. package/dist/commands/script-sync/sync.d.ts.map +1 -0
  156. package/dist/commands/script-sync/sync.js +71 -0
  157. package/dist/commands/script-sync/sync.js.map +1 -0
  158. package/dist/commands/search/add-table.d.ts +16 -0
  159. package/dist/commands/search/add-table.d.ts.map +1 -0
  160. package/dist/commands/search/add-table.js +68 -0
  161. package/dist/commands/search/add-table.js.map +1 -0
  162. package/dist/commands/search/groups.d.ts +12 -0
  163. package/dist/commands/search/groups.d.ts.map +1 -0
  164. package/dist/commands/search/groups.js +42 -0
  165. package/dist/commands/search/groups.js.map +1 -0
  166. package/dist/commands/search/index.d.ts +18 -0
  167. package/dist/commands/search/index.d.ts.map +1 -0
  168. package/dist/commands/search/index.js +103 -0
  169. package/dist/commands/search/index.js.map +1 -0
  170. package/dist/commands/search/tables.d.ts +14 -0
  171. package/dist/commands/search/tables.d.ts.map +1 -0
  172. package/dist/commands/search/tables.js +50 -0
  173. package/dist/commands/search/tables.js.map +1 -0
  174. package/dist/commands/store/install.d.ts +19 -0
  175. package/dist/commands/store/install.d.ts.map +1 -0
  176. package/dist/commands/store/install.js +90 -0
  177. package/dist/commands/store/install.js.map +1 -0
  178. package/dist/commands/store/search.d.ts +16 -0
  179. package/dist/commands/store/search.d.ts.map +1 -0
  180. package/dist/commands/store/search.js +67 -0
  181. package/dist/commands/store/search.js.map +1 -0
  182. package/dist/commands/store/update.d.ts +18 -0
  183. package/dist/commands/store/update.d.ts.map +1 -0
  184. package/dist/commands/store/update.js +83 -0
  185. package/dist/commands/store/update.js.map +1 -0
  186. package/dist/commands/store/validate.d.ts +14 -0
  187. package/dist/commands/store/validate.d.ts.map +1 -0
  188. package/dist/commands/store/validate.js +43 -0
  189. package/dist/commands/store/validate.js.map +1 -0
  190. package/dist/commands/task/approve.d.ts +15 -0
  191. package/dist/commands/task/approve.d.ts.map +1 -0
  192. package/dist/commands/task/approve.js +66 -0
  193. package/dist/commands/task/approve.js.map +1 -0
  194. package/dist/commands/task/assign.d.ts +17 -0
  195. package/dist/commands/task/assign.d.ts.map +1 -0
  196. package/dist/commands/task/assign.js +86 -0
  197. package/dist/commands/task/assign.js.map +1 -0
  198. package/dist/commands/task/close.d.ts +16 -0
  199. package/dist/commands/task/close.d.ts.map +1 -0
  200. package/dist/commands/task/close.js +71 -0
  201. package/dist/commands/task/close.js.map +1 -0
  202. package/dist/commands/task/comment.d.ts +17 -0
  203. package/dist/commands/task/comment.d.ts.map +1 -0
  204. package/dist/commands/task/comment.js +86 -0
  205. package/dist/commands/task/comment.js.map +1 -0
  206. package/dist/commands/task/find.d.ts +15 -0
  207. package/dist/commands/task/find.d.ts.map +1 -0
  208. package/dist/commands/task/find.js +65 -0
  209. package/dist/commands/task/find.js.map +1 -0
  210. package/dist/commands/task/resolve.d.ts +16 -0
  211. package/dist/commands/task/resolve.d.ts.map +1 -0
  212. package/dist/commands/task/resolve.js +71 -0
  213. package/dist/commands/task/resolve.js.map +1 -0
  214. package/dist/commands/update-set/clone.d.ts +15 -0
  215. package/dist/commands/update-set/clone.d.ts.map +1 -0
  216. package/dist/commands/update-set/clone.js +50 -0
  217. package/dist/commands/update-set/clone.js.map +1 -0
  218. package/dist/commands/update-set/create.d.ts +16 -0
  219. package/dist/commands/update-set/create.d.ts.map +1 -0
  220. package/dist/commands/update-set/create.js +60 -0
  221. package/dist/commands/update-set/create.js.map +1 -0
  222. package/dist/commands/update-set/current.d.ts +14 -0
  223. package/dist/commands/update-set/current.d.ts.map +1 -0
  224. package/dist/commands/update-set/current.js +55 -0
  225. package/dist/commands/update-set/current.js.map +1 -0
  226. package/dist/commands/update-set/index.d.ts +15 -0
  227. package/dist/commands/update-set/index.d.ts.map +1 -0
  228. package/dist/commands/update-set/index.js +56 -0
  229. package/dist/commands/update-set/index.js.map +1 -0
  230. package/dist/commands/update-set/inspect.d.ts +14 -0
  231. package/dist/commands/update-set/inspect.d.ts.map +1 -0
  232. package/dist/commands/update-set/inspect.js +43 -0
  233. package/dist/commands/update-set/inspect.js.map +1 -0
  234. package/dist/commands/update-set/move.d.ts +16 -0
  235. package/dist/commands/update-set/move.d.ts.map +1 -0
  236. package/dist/commands/update-set/move.js +57 -0
  237. package/dist/commands/update-set/move.js.map +1 -0
  238. package/dist/commands/workflow/create.d.ts +14 -0
  239. package/dist/commands/workflow/create.d.ts.map +1 -0
  240. package/dist/commands/workflow/create.js +50 -0
  241. package/dist/commands/workflow/create.js.map +1 -0
  242. package/dist/commands/workflow/publish.d.ts +15 -0
  243. package/dist/commands/workflow/publish.d.ts.map +1 -0
  244. package/dist/commands/workflow/publish.js +53 -0
  245. package/dist/commands/workflow/publish.js.map +1 -0
  246. package/dist/commands/xml/export.d.ts +17 -0
  247. package/dist/commands/xml/export.d.ts.map +1 -0
  248. package/dist/commands/xml/export.js +87 -0
  249. package/dist/commands/xml/export.js.map +1 -0
  250. package/dist/commands/xml/import.d.ts +16 -0
  251. package/dist/commands/xml/import.d.ts.map +1 -0
  252. package/dist/commands/xml/import.js +69 -0
  253. package/dist/commands/xml/import.js.map +1 -0
  254. package/dist/common/authenticated-command.d.ts +5 -2
  255. package/dist/common/authenticated-command.d.ts.map +1 -1
  256. package/dist/common/authenticated-command.js +14 -5
  257. package/dist/common/authenticated-command.js.map +1 -1
  258. package/dist/common/base-command.d.ts +2 -2
  259. package/dist/common/base-command.d.ts.map +1 -1
  260. package/dist/common/base-command.js +0 -1
  261. package/dist/common/base-command.js.map +1 -1
  262. package/dist/common/scope-autocomplete.d.ts +20 -0
  263. package/dist/common/scope-autocomplete.d.ts.map +1 -0
  264. package/dist/common/scope-autocomplete.js +93 -0
  265. package/dist/common/scope-autocomplete.js.map +1 -0
  266. package/dist/services/aggregate-display.service.d.ts +18 -0
  267. package/dist/services/aggregate-display.service.d.ts.map +1 -0
  268. package/dist/services/aggregate-display.service.js +83 -0
  269. package/dist/services/aggregate-display.service.js.map +1 -0
  270. package/dist/services/app-display.service.d.ts +36 -0
  271. package/dist/services/app-display.service.d.ts.map +1 -0
  272. package/dist/services/app-display.service.js +101 -0
  273. package/dist/services/app-display.service.js.map +1 -0
  274. package/dist/services/atf-result-formatter.service.d.ts +64 -0
  275. package/dist/services/atf-result-formatter.service.d.ts.map +1 -0
  276. package/dist/services/atf-result-formatter.service.js +83 -0
  277. package/dist/services/atf-result-formatter.service.js.map +1 -0
  278. package/dist/services/attachment-display.service.d.ts +18 -0
  279. package/dist/services/attachment-display.service.d.ts.map +1 -0
  280. package/dist/services/attachment-display.service.js +93 -0
  281. package/dist/services/attachment-display.service.js.map +1 -0
  282. package/dist/services/batch-display.service.d.ts +11 -0
  283. package/dist/services/batch-display.service.d.ts.map +1 -0
  284. package/dist/services/batch-display.service.js +75 -0
  285. package/dist/services/batch-display.service.js.map +1 -0
  286. package/dist/services/bulk-display.service.d.ts +11 -0
  287. package/dist/services/bulk-display.service.d.ts.map +1 -0
  288. package/dist/services/bulk-display.service.js +85 -0
  289. package/dist/services/bulk-display.service.js.map +1 -0
  290. package/dist/services/code-search-display.service.d.ts +23 -0
  291. package/dist/services/code-search-display.service.d.ts.map +1 -0
  292. package/dist/services/code-search-display.service.js +130 -0
  293. package/dist/services/code-search-display.service.js.map +1 -0
  294. package/dist/services/flow-display.service.d.ts +10 -0
  295. package/dist/services/flow-display.service.d.ts.map +1 -0
  296. package/dist/services/flow-display.service.js +164 -0
  297. package/dist/services/flow-display.service.js.map +1 -0
  298. package/dist/services/health-display.service.d.ts +8 -0
  299. package/dist/services/health-display.service.d.ts.map +1 -0
  300. package/dist/services/health-display.service.js +91 -0
  301. package/dist/services/health-display.service.js.map +1 -0
  302. package/dist/services/log-filter.service.d.ts +31 -0
  303. package/dist/services/log-filter.service.d.ts.map +1 -0
  304. package/dist/services/log-filter.service.js +117 -0
  305. package/dist/services/log-filter.service.js.map +1 -0
  306. package/dist/services/log-formatter.service.d.ts +30 -0
  307. package/dist/services/log-formatter.service.d.ts.map +1 -0
  308. package/dist/services/log-formatter.service.js +122 -0
  309. package/dist/services/log-formatter.service.js.map +1 -0
  310. package/dist/services/query-display.service.d.ts +23 -0
  311. package/dist/services/query-display.service.d.ts.map +1 -0
  312. package/dist/services/query-display.service.js +152 -0
  313. package/dist/services/query-display.service.js.map +1 -0
  314. package/dist/services/schema-display.service.d.ts +18 -0
  315. package/dist/services/schema-display.service.d.ts.map +1 -0
  316. package/dist/services/schema-display.service.js +106 -0
  317. package/dist/services/schema-display.service.js.map +1 -0
  318. package/dist/services/scope-display.service.d.ts +18 -0
  319. package/dist/services/scope-display.service.d.ts.map +1 -0
  320. package/dist/services/scope-display.service.js +83 -0
  321. package/dist/services/scope-display.service.js.map +1 -0
  322. package/dist/services/script-parameter.service.d.ts +16 -0
  323. package/dist/services/script-parameter.service.d.ts.map +1 -0
  324. package/dist/services/script-parameter.service.js +34 -0
  325. package/dist/services/script-parameter.service.js.map +1 -0
  326. package/dist/services/script-sync-display.service.d.ts +13 -0
  327. package/dist/services/script-sync-display.service.d.ts.map +1 -0
  328. package/dist/services/script-sync-display.service.js +71 -0
  329. package/dist/services/script-sync-display.service.js.map +1 -0
  330. package/dist/services/store-app-display.service.d.ts +16 -0
  331. package/dist/services/store-app-display.service.d.ts.map +1 -0
  332. package/dist/services/store-app-display.service.js +114 -0
  333. package/dist/services/store-app-display.service.js.map +1 -0
  334. package/dist/services/task-display.service.d.ts +14 -0
  335. package/dist/services/task-display.service.d.ts.map +1 -0
  336. package/dist/services/task-display.service.js +86 -0
  337. package/dist/services/task-display.service.js.map +1 -0
  338. package/dist/services/update-set-display.service.d.ts +28 -0
  339. package/dist/services/update-set-display.service.d.ts.map +1 -0
  340. package/dist/services/update-set-display.service.js +150 -0
  341. package/dist/services/update-set-display.service.js.map +1 -0
  342. package/dist/services/workflow-display.service.d.ts +13 -0
  343. package/dist/services/workflow-display.service.d.ts.map +1 -0
  344. package/dist/services/workflow-display.service.js +53 -0
  345. package/dist/services/workflow-display.service.js.map +1 -0
  346. package/dist/services/xml-display.service.d.ts +11 -0
  347. package/dist/services/xml-display.service.d.ts.map +1 -0
  348. package/dist/services/xml-display.service.js +55 -0
  349. package/dist/services/xml-display.service.js.map +1 -0
  350. package/dist/util/log-factory.d.ts +5 -0
  351. package/dist/util/log-factory.d.ts.map +1 -0
  352. package/dist/util/log-factory.js +8 -0
  353. package/dist/util/log-factory.js.map +1 -0
  354. package/oclif.manifest.json +5847 -49
  355. package/package.json +107 -28
@@ -0,0 +1,52 @@
1
+ /* eslint-disable perfectionist/sort-objects */
2
+ import { Flags } from '@oclif/core';
3
+ import { FlowManager } from '@sonisoft/now-sdk-ext-core';
4
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
5
+ import { FlowDisplayService } from '../../services/flow-display.service.js';
6
+ export class FlowStatus extends AuthenticatedCommand {
7
+ static args = {};
8
+ static description = 'Get the status of a flow execution context.\n\n' +
9
+ 'Queries sys_flow_context to retrieve the current state of a flow execution.\n\n' +
10
+ 'Possible states: QUEUED, IN_PROGRESS, WAITING, COMPLETE, CANCELLED, ERROR';
11
+ static examples = [
12
+ {
13
+ description: 'Check flow execution status',
14
+ command: '<%= config.bin %> <%= command.id %> --context-id abc123def456 --auth dev',
15
+ },
16
+ ];
17
+ static flags = {
18
+ 'context-id': Flags.string({
19
+ char: 'c',
20
+ description: 'Flow execution context sys_id',
21
+ required: true,
22
+ }),
23
+ 'scope': Flags.string({
24
+ description: 'Scope context for script execution',
25
+ required: false,
26
+ }),
27
+ 'json': Flags.boolean({
28
+ char: 'j',
29
+ description: 'Output results as JSON',
30
+ required: false,
31
+ default: false,
32
+ }),
33
+ };
34
+ async run() {
35
+ const { flags } = await this.parse(FlowStatus);
36
+ const displayService = new FlowDisplayService();
37
+ try {
38
+ const flowManager = new FlowManager(this.instance, flags.scope);
39
+ this.log(`Checking flow context status: ${flags['context-id']}`);
40
+ const result = await flowManager.getFlowContextStatus(flags['context-id']);
41
+ const lines = displayService.formatStatusResult(result, flags.json ?? false);
42
+ for (const line of lines) {
43
+ (flags.json ?? false) ? console.log(line) : this.log(line);
44
+ }
45
+ }
46
+ catch (error) {
47
+ this._logger.error("Error getting flow status.", error);
48
+ this.error(error);
49
+ }
50
+ }
51
+ }
52
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/flow/status.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,MAAM,OAAO,UAAW,SAAQ,oBAAuC;IAErE,MAAM,CAAC,IAAI,GAAG,EAAE,CAAA;IAClB,MAAM,CAAC,WAAW,GAAG,iDAAiD;QAClE,iFAAiF;QACjF,2EAA2E,CAAC;IAChF,MAAM,CAAC,QAAQ,GAAG;QACd;YACE,WAAW,EAAE,6BAA6B;YAC1C,OAAO,EAAE,0EAA0E;SACpF;KACF,CAAA;IACH,MAAM,CAAC,KAAK,GAAG;QACX,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAEhE,IAAI,CAAC,GAAG,CAAC,iCAAiC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAEjE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAE3E,MAAM,KAAK,GAAG,cAAc,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;YAC7E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7D,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAc,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class FlowSubflow extends AuthenticatedCommand<typeof FlowSubflow> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ description: string;
7
+ command: string;
8
+ }[];
9
+ static flags: {
10
+ name: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ inputs: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ mode: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ scope: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
14
+ quick: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
15
+ json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
16
+ };
17
+ run(): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=subflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subflow.d.ts","sourceRoot":"","sources":["../../../src/commands/flow/subflow.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,WAAY,SAAQ,oBAAoB,CAAC,OAAO,WAAW,CAAC;IAEvE,MAAM,CAAC,IAAI,KAAK;IAClB,MAAM,CAAC,WAAW,SAMgD;IAClE,MAAM,CAAC,QAAQ;;;QASZ;IACH,MAAM,CAAC,KAAK;;;;;;;MAiCT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC3B"}
@@ -0,0 +1,92 @@
1
+ /* eslint-disable perfectionist/sort-objects */
2
+ import { Flags } from '@oclif/core';
3
+ import { FlowManager } from '@sonisoft/now-sdk-ext-core';
4
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
5
+ import { FlowDisplayService } from '../../services/flow-display.service.js';
6
+ export class FlowSubflow extends AuthenticatedCommand {
7
+ static args = {};
8
+ static description = 'Execute a Flow Designer subflow by scoped name.\n\n' +
9
+ 'Runs a subflow using the sn_fd.FlowAPI ScriptableFlowRunner.\n\n' +
10
+ 'Features:\n' +
11
+ ' \u2022 Execute subflows by scoped name\n' +
12
+ ' \u2022 Pass input values as JSON\n' +
13
+ ' \u2022 Foreground or background execution mode\n' +
14
+ ' \u2022 Returns context ID, outputs, and debug information';
15
+ static examples = [
16
+ {
17
+ description: 'Run a subflow',
18
+ command: '<%= config.bin %> <%= command.id %> --name global.my_subflow --auth dev',
19
+ },
20
+ {
21
+ description: 'Run with inputs',
22
+ command: '<%= config.bin %> <%= command.id %> --name x_myapp.process_record --inputs \'{"table":"incident","sys_id":"abc123"}\' --auth dev',
23
+ },
24
+ ];
25
+ static flags = {
26
+ 'name': Flags.string({
27
+ char: 'n',
28
+ description: 'Scoped name of the subflow (e.g. global.my_subflow)',
29
+ required: true,
30
+ }),
31
+ 'inputs': Flags.string({
32
+ char: 'i',
33
+ description: 'JSON object of input name-value pairs',
34
+ required: false,
35
+ }),
36
+ 'mode': Flags.string({
37
+ char: 'm',
38
+ description: 'Execution mode',
39
+ required: false,
40
+ default: 'foreground',
41
+ options: ['foreground', 'background'],
42
+ }),
43
+ 'scope': Flags.string({
44
+ description: 'Scope context for script execution',
45
+ required: false,
46
+ }),
47
+ 'quick': Flags.boolean({
48
+ description: 'Skip execution detail records for better performance',
49
+ required: false,
50
+ default: false,
51
+ }),
52
+ 'json': Flags.boolean({
53
+ char: 'j',
54
+ description: 'Output results as JSON',
55
+ required: false,
56
+ default: false,
57
+ }),
58
+ };
59
+ async run() {
60
+ const { flags } = await this.parse(FlowSubflow);
61
+ const displayService = new FlowDisplayService();
62
+ try {
63
+ let inputs;
64
+ if (flags.inputs) {
65
+ try {
66
+ inputs = JSON.parse(flags.inputs);
67
+ }
68
+ catch {
69
+ this.error('Invalid JSON in --inputs flag.');
70
+ return;
71
+ }
72
+ }
73
+ const flowManager = new FlowManager(this.instance, flags.scope);
74
+ this.log(`Executing subflow: ${flags.name} (${flags.mode})`);
75
+ const result = await flowManager.executeSubflow({
76
+ scopedName: flags.name,
77
+ inputs,
78
+ mode: flags.mode,
79
+ quick: flags.quick,
80
+ });
81
+ const lines = displayService.formatExecutionResult(result, flags.json ?? false);
82
+ for (const line of lines) {
83
+ (flags.json ?? false) ? console.log(line) : this.log(line);
84
+ }
85
+ }
86
+ catch (error) {
87
+ this._logger.error("Error executing subflow.", error);
88
+ this.error(error);
89
+ }
90
+ }
91
+ }
92
+ //# sourceMappingURL=subflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subflow.js","sourceRoot":"","sources":["../../../src/commands/flow/subflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class HealthCheck extends AuthenticatedCommand<typeof HealthCheck> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ description: string;
7
+ command: string;
8
+ }[];
9
+ static flags: {
10
+ 'include-version': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
11
+ 'include-cluster': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
12
+ 'include-stuck-jobs': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
13
+ 'include-semaphores': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
14
+ 'include-operational-counts': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
15
+ 'stuck-job-threshold': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
16
+ json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
17
+ };
18
+ run(): Promise<void>;
19
+ }
20
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/commands/health/check.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,WAAY,SAAQ,oBAAoB,CAAC,OAAO,WAAW,CAAC;IAEvE,MAAM,CAAC,IAAI,KAAK;IAClB,MAAM,CAAC,WAAW,SAU8B;IAChD,MAAM,CAAC,QAAQ;;;QAiBZ;IACH,MAAM,CAAC,KAAK;;;;;;;;MA0CT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4B3B"}
@@ -0,0 +1,105 @@
1
+ /* eslint-disable perfectionist/sort-objects */
2
+ import { Flags } from '@oclif/core';
3
+ import { InstanceHealth } from '@sonisoft/now-sdk-ext-core';
4
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
5
+ import { HealthDisplayService } from '../../services/health-display.service.js';
6
+ export class HealthCheck extends AuthenticatedCommand {
7
+ static args = {};
8
+ static description = 'Run a consolidated health check on a ServiceNow instance.\n\n' +
9
+ 'Performs comprehensive diagnostics including version info, cluster status, stuck job detection, ' +
10
+ 'semaphore counts, and operational record counts.\n\n' +
11
+ 'Features:\n' +
12
+ ' \u2022 Instance version and build information\n' +
13
+ ' \u2022 Cluster node status\n' +
14
+ ' \u2022 Stuck job detection with configurable threshold\n' +
15
+ ' \u2022 Active semaphore count\n' +
16
+ ' \u2022 Operational counts (incidents, changes, problems)\n' +
17
+ ' \u2022 Color-coded status indicators\n' +
18
+ ' \u2022 JSON output for CI/CD monitoring';
19
+ static examples = [
20
+ {
21
+ description: 'Run full health check',
22
+ command: '<%= config.bin %> <%= command.id %> --auth dev',
23
+ },
24
+ {
25
+ description: 'Check only version and stuck jobs',
26
+ command: '<%= config.bin %> <%= command.id %> --include-version --include-stuck-jobs --no-include-cluster --no-include-semaphores --no-include-operational-counts --auth dev',
27
+ },
28
+ {
29
+ description: 'Health check with custom stuck job threshold',
30
+ command: '<%= config.bin %> <%= command.id %> --stuck-job-threshold 60 --auth dev',
31
+ },
32
+ {
33
+ description: 'Health check as JSON',
34
+ command: '<%= config.bin %> <%= command.id %> --json --auth dev',
35
+ },
36
+ ];
37
+ static flags = {
38
+ 'include-version': Flags.boolean({
39
+ description: 'Include instance version information',
40
+ required: false,
41
+ default: true,
42
+ allowNo: true,
43
+ }),
44
+ 'include-cluster': Flags.boolean({
45
+ description: 'Include cluster node status',
46
+ required: false,
47
+ default: true,
48
+ allowNo: true,
49
+ }),
50
+ 'include-stuck-jobs': Flags.boolean({
51
+ description: 'Include stuck job detection',
52
+ required: false,
53
+ default: true,
54
+ allowNo: true,
55
+ }),
56
+ 'include-semaphores': Flags.boolean({
57
+ description: 'Include active semaphore count',
58
+ required: false,
59
+ default: true,
60
+ allowNo: true,
61
+ }),
62
+ 'include-operational-counts': Flags.boolean({
63
+ description: 'Include operational record counts (incidents, changes, problems)',
64
+ required: false,
65
+ default: true,
66
+ allowNo: true,
67
+ }),
68
+ 'stuck-job-threshold': Flags.integer({
69
+ description: 'Minutes threshold for a job to be considered stuck',
70
+ required: false,
71
+ default: 30,
72
+ }),
73
+ 'json': Flags.boolean({
74
+ char: 'j',
75
+ description: 'Output results as JSON',
76
+ required: false,
77
+ default: false,
78
+ }),
79
+ };
80
+ async run() {
81
+ const { flags } = await this.parse(HealthCheck);
82
+ const displayService = new HealthDisplayService();
83
+ try {
84
+ const instanceHealth = new InstanceHealth(this.instance);
85
+ this.log('Running instance health check...');
86
+ const result = await instanceHealth.checkHealth({
87
+ includeVersion: flags['include-version'],
88
+ includeCluster: flags['include-cluster'],
89
+ includeStuckJobs: flags['include-stuck-jobs'],
90
+ includeSemaphores: flags['include-semaphores'],
91
+ includeOperationalCounts: flags['include-operational-counts'],
92
+ stuckJobThresholdMinutes: flags['stuck-job-threshold'],
93
+ });
94
+ const lines = displayService.formatHealthResult(result, flags.json ?? false);
95
+ for (const line of lines) {
96
+ (flags.json ?? false) ? console.log(line) : this.log(line);
97
+ }
98
+ }
99
+ catch (error) {
100
+ this._logger.error("Error occurred when running health check.", error);
101
+ this.error(error);
102
+ }
103
+ }
104
+ }
105
+ //# sourceMappingURL=check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/commands/health/check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class Log extends AuthenticatedCommand<typeof Log> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ description: string;
7
+ command: string;
8
+ }[];
9
+ static flags: {
10
+ output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ interval: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ 'no-color': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
13
+ filter: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
14
+ };
15
+ private filterRules;
16
+ private filterService;
17
+ private formatter;
18
+ private syslogReader?;
19
+ run(): Promise<void>;
20
+ private handleExit;
21
+ }
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/log/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAI5E,qBAAa,GAAI,SAAQ,oBAAoB,CAAC,OAAO,GAAG,CAAC;IAEvD,MAAM,CAAC,IAAI,KAAK;IAClB,MAAM,CAAC,WAAW,SAoCmD;IACrE,MAAM,CAAC,QAAQ;;;QAiCZ;IACH,MAAM,CAAC,KAAK;;;;;MA0BT;IACH,OAAO,CAAC,WAAW,CAAoB;IACrC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,YAAY,CAAC,CAAe;IAE9B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAwE1B,OAAO,CAAC,UAAU;CAgBnB"}
@@ -0,0 +1,190 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /* eslint-disable perfectionist/sort-objects */
3
+ import { Flags } from '@oclif/core';
4
+ import { SyslogReader } from '@sonisoft/now-sdk-ext-core';
5
+ import chalk from 'chalk';
6
+ import fs from 'node:fs';
7
+ import path from 'node:path';
8
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
9
+ import { LogFilterService } from '../../services/log-filter.service.js';
10
+ import { LogFormatterService } from '../../services/log-formatter.service.js';
11
+ export class Log extends AuthenticatedCommand {
12
+ static args = {};
13
+ static description = 'Tail and monitor ServiceNow system logs in real-time with beautiful formatting.\n\n' +
14
+ 'This command provides real-time log monitoring with enhanced visual formatting using color-coded ' +
15
+ 'output that makes logs easy to scan and understand at a glance. Automatically highlights errors, ' +
16
+ 'warnings, success messages, and important keywords.\n\n' +
17
+ 'Key Features:\n' +
18
+ ' • Real-time log tailing (like Unix tail -f)\n' +
19
+ ' • Powerful filtering with multiple operators (CONTAINS, REGEX, EQUALS, etc.)\n' +
20
+ ' • Smart keyword highlighting (errors in red, warnings in yellow, etc.)\n' +
21
+ ' • Beautiful color-coded console output with chalk\n' +
22
+ ' • Export logs to file with automatic appending\n' +
23
+ ' • Fast 1-second default polling interval\n' +
24
+ ' • Timestamps and sequence numbers for each log\n' +
25
+ ' • Graceful shutdown with Ctrl+C\n' +
26
+ ' • Clean output without colors (--no-color flag)\n\n' +
27
+ 'Smart Highlighting:\n' +
28
+ ' • Error terms (error, exception, failed) - highlighted in RED\n' +
29
+ ' • Warning terms (warn, warning, deprecated) - highlighted in YELLOW\n' +
30
+ ' • Success terms (success, completed, done) - highlighted in GREEN\n' +
31
+ ' • System terms (system, user, transaction) - highlighted in BLUE\n\n' +
32
+ 'Filtering:\n' +
33
+ ' • Apply filters using --filter flag with syntax: "field OPERATOR value"\n' +
34
+ ' • Supports case-sensitive and case-insensitive operations\n' +
35
+ ' • Multiple filters are combined with AND logic\n' +
36
+ ' • Operators: CONTAINS, CONTAINS_CI, EQUALS, EQUALS_CI, STARTS_WITH, STARTS_WITH_CI,\n' +
37
+ ' ENDS_WITH, ENDS_WITH_CI, REGEX, NOT_CONTAINS, NOT_CONTAINS_CI, NOT_EQUALS, NOT_EQUALS_CI\n\n' +
38
+ 'Use Cases:\n' +
39
+ ' • Monitor logs during application development\n' +
40
+ ' • Debug issues in real-time\n' +
41
+ ' • Track system events during deployments\n' +
42
+ ' • Filter logs for specific application or component\n' +
43
+ ' • Quickly spot errors and warnings\n' +
44
+ ' • Collect logs for analysis or audit trails\n\n' +
45
+ '⚠️ IMPORTANT NOTES:\n' +
46
+ ' • Press Ctrl+C to stop tailing and exit gracefully\n' +
47
+ ' • Log files are created/appended automatically\n' +
48
+ ' • Uses ChannelAjax when available for better performance\n' +
49
+ ' • Default poll interval is 1 second for real-time monitoring';
50
+ static examples = [
51
+ {
52
+ description: 'Tail all logs in real-time',
53
+ command: '<%= config.bin %> <%= command.id %> --auth dev-instance',
54
+ },
55
+ {
56
+ description: 'Tail logs and save to a file',
57
+ command: '<%= config.bin %> <%= command.id %> --output ./logs/instance-logs.txt --auth dev-instance',
58
+ },
59
+ {
60
+ description: 'Tail logs with custom polling interval (500ms for faster updates)',
61
+ command: '<%= config.bin %> <%= command.id %> --interval 500 --auth dev-instance',
62
+ },
63
+ {
64
+ description: 'Filter logs containing specific text (case-insensitive)',
65
+ command: '<%= config.bin %> <%= command.id %> --filter "message CONTAINS_CI error" --auth dev-instance',
66
+ },
67
+ {
68
+ description: 'Filter logs with multiple conditions (AND logic)',
69
+ command: '<%= config.bin %> <%= command.id %> --filter "message CONTAINS x_taniu_tan_core" --filter "message CONTAINS error" --auth dev-instance',
70
+ },
71
+ {
72
+ description: 'Filter logs using regex pattern',
73
+ command: '<%= config.bin %> <%= command.id %> --filter "message REGEX .*exception.*" --auth dev-instance',
74
+ },
75
+ {
76
+ description: 'Filter logs by message starting with a pattern',
77
+ command: '<%= config.bin %> <%= command.id %> --filter "message STARTS_WITH [ERROR]" --auth dev-instance',
78
+ },
79
+ {
80
+ description: 'Tail logs without colored output',
81
+ command: '<%= config.bin %> <%= command.id %> --no-color --auth dev-instance',
82
+ },
83
+ ];
84
+ static flags = {
85
+ 'output': Flags.string({
86
+ char: 'o',
87
+ description: 'Output file path to save logs. Creates parent directories if needed.',
88
+ required: false
89
+ }),
90
+ 'interval': Flags.integer({
91
+ char: 'i',
92
+ description: 'Polling interval in milliseconds',
93
+ required: false,
94
+ default: 1000
95
+ }),
96
+ 'no-color': Flags.boolean({
97
+ description: 'Disable colored output',
98
+ required: false,
99
+ default: false
100
+ }),
101
+ 'filter': Flags.string({
102
+ char: 'f',
103
+ description: 'Filter logs by field and value. Syntax: field OPERATOR value. ' +
104
+ 'Operators: CONTAINS, CONTAINS_CI (case-insensitive), EQUALS, EQUALS_CI, ' +
105
+ 'STARTS_WITH, STARTS_WITH_CI, ENDS_WITH, ENDS_WITH_CI, REGEX, NOT_CONTAINS, NOT_EQUALS. ' +
106
+ 'Field defaults to "message" if omitted. Multiple filters are combined with AND logic.',
107
+ required: false,
108
+ multiple: true
109
+ }),
110
+ };
111
+ filterRules = [];
112
+ filterService;
113
+ formatter;
114
+ syslogReader;
115
+ async run() {
116
+ const { args, flags } = await this.parse(Log);
117
+ this.filterService = new LogFilterService(this._logger);
118
+ this.formatter = new LogFormatterService({ noColor: Boolean(flags['no-color']) });
119
+ try {
120
+ // Parse filter rules if provided
121
+ if (flags.filter && flags.filter.length > 0) {
122
+ this.filterRules = flags.filter.map(f => this.filterService.parseFilter(f));
123
+ this._logger.info(`Applied ${this.filterRules.length} filter(s)`);
124
+ }
125
+ // Create SyslogReader instance
126
+ this.syslogReader = new SyslogReader(this.instance);
127
+ // Ensure output directory exists if output file is specified
128
+ if (flags.output) {
129
+ const outputDir = path.dirname(flags.output);
130
+ if (!fs.existsSync(outputDir)) {
131
+ fs.mkdirSync(outputDir, { recursive: true });
132
+ this._logger.info(`Created output directory: ${outputDir}`);
133
+ }
134
+ }
135
+ // Display header
136
+ const headerLines = this.formatter.formatHeader({
137
+ host: this.instance.getHost(),
138
+ interval: flags.interval,
139
+ output: flags.output,
140
+ filterRules: this.filterRules,
141
+ });
142
+ for (const line of headerLines) {
143
+ console.log(line);
144
+ }
145
+ // Handle Ctrl+C gracefully
146
+ process.on('SIGINT', () => {
147
+ this.handleExit();
148
+ });
149
+ // Start tailing logs
150
+ let logCount = 0;
151
+ let filteredCount = 0;
152
+ const reader = this.syslogReader;
153
+ await (reader.startTailingWithChannelAjax({
154
+ append: true,
155
+ interval: flags.interval,
156
+ onLog: (log) => {
157
+ if (this.filterService.matchesFilters(log, this.filterRules)) {
158
+ filteredCount++;
159
+ const logLines = this.formatter.formatLog(log, filteredCount);
160
+ for (const line of logLines) {
161
+ console.log(line);
162
+ }
163
+ }
164
+ logCount++;
165
+ },
166
+ outputFile: flags.output,
167
+ }));
168
+ }
169
+ catch (error) {
170
+ this._logger.error("Error occurred while tailing logs.", error);
171
+ this.error(error);
172
+ }
173
+ }
174
+ handleExit() {
175
+ if (this.flags['no-color']) {
176
+ console.log('\n\n⏹️ Stopping tail...');
177
+ console.log('✅ Stopped. Goodbye!\n');
178
+ }
179
+ else {
180
+ console.log(chalk.yellow('\n\n⏹️ Stopping tail...'));
181
+ console.log(chalk.green('✅ Stopped. ') + chalk.gray('Goodbye!\n'));
182
+ }
183
+ if (this.syslogReader) {
184
+ this.syslogReader.stopTailing();
185
+ }
186
+ // eslint-disable-next-line n/no-process-exit, unicorn/no-process-exit
187
+ process.exit(0);
188
+ }
189
+ }
190
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/log/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class QueryApp extends AuthenticatedCommand<typeof QueryApp> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ description: string;
7
+ command: string;
8
+ }[];
9
+ static flags: {
10
+ search: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ active: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
12
+ limit: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/commands/query/app.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,QAAS,SAAQ,oBAAoB,CAAC,OAAO,QAAQ,CAAC;IAEjE,MAAM,CAAC,IAAI,KAAK;IAClB,MAAM,CAAC,WAAW,SAMuB;IACzC,MAAM,CAAC,QAAQ;;;QASZ;IACH,MAAM,CAAC,KAAK;;;;;MAwBT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqC3B"}