@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,83 @@
1
+ export class AggregateDisplayService {
2
+ /**
3
+ * Format aggregate (non-grouped) result for display.
4
+ * Returns lines for console output, or JSON string if jsonOutput is true.
5
+ */
6
+ formatAggregateResult(stats, tableName, jsonOutput) {
7
+ if (jsonOutput) {
8
+ return [JSON.stringify({ stats, table: tableName }, null, 2)];
9
+ }
10
+ const lines = [];
11
+ lines.push(`\nAggregate Results: ${tableName}`);
12
+ lines.push(" " + "\u2500".repeat(50));
13
+ if (stats.count !== undefined) {
14
+ lines.push(` Count: ${stats.count}`);
15
+ }
16
+ // Display stat fields (avg.field, min.field, max.field, sum.field)
17
+ const statKeys = Object.keys(stats).filter(k => k !== 'count');
18
+ if (statKeys.length > 0) {
19
+ lines.push("");
20
+ lines.push(" " + "Metric".padEnd(35) + "Value");
21
+ lines.push(" " + "\u2500".repeat(50));
22
+ for (const key of statKeys) {
23
+ lines.push(" " + key.padEnd(35) + String(stats[key] ?? ''));
24
+ }
25
+ }
26
+ lines.push(" " + "\u2500".repeat(50));
27
+ return lines;
28
+ }
29
+ /**
30
+ * Format count result for display.
31
+ * Returns lines for console output, or JSON string if jsonOutput is true.
32
+ */
33
+ formatCountResult(count, tableName, query, jsonOutput) {
34
+ if (jsonOutput) {
35
+ return [JSON.stringify({ count, query: query || '', table: tableName }, null, 2)];
36
+ }
37
+ const lines = [];
38
+ const queryMsg = query ? ` (query: "${query}")` : '';
39
+ lines.push(`\nRecord Count: ${tableName}${queryMsg}`);
40
+ lines.push(" " + "\u2500".repeat(50));
41
+ lines.push(` Count: ${count}`);
42
+ lines.push(" " + "\u2500".repeat(50));
43
+ return lines;
44
+ }
45
+ /**
46
+ * Format grouped aggregate result for display.
47
+ * Returns lines for console output, or JSON string if jsonOutput is true.
48
+ */
49
+ formatGroupedResult(groups, tableName, jsonOutput) {
50
+ if (jsonOutput) {
51
+ return [JSON.stringify({ groupCount: groups.length, groups, table: tableName }, null, 2)];
52
+ }
53
+ const lines = [];
54
+ if (groups.length === 0) {
55
+ lines.push(`\nNo grouped results for table "${tableName}".`);
56
+ return lines;
57
+ }
58
+ lines.push(`\nGrouped Aggregate Results: ${tableName} (${groups.length} group${groups.length === 1 ? '' : 's'})`);
59
+ lines.push(" " + "\u2500".repeat(90));
60
+ for (const [index, group] of groups.entries()) {
61
+ // Display group-by fields
62
+ const groupLabel = (group.groupby_fields || [])
63
+ .map((f) => `${f.field}=${f.display_value || f.value}`)
64
+ .join(', ');
65
+ lines.push(` Group ${index + 1}: ${groupLabel}`);
66
+ // Display stats for this group
67
+ const stats = group.stats || {};
68
+ if (stats.count !== undefined) {
69
+ lines.push(` Count: ${stats.count}`);
70
+ }
71
+ const statKeys = Object.keys(stats).filter(k => k !== 'count');
72
+ for (const key of statKeys) {
73
+ lines.push(` ${key}: ${stats[key]}`);
74
+ }
75
+ if (index < groups.length - 1) {
76
+ lines.push("");
77
+ }
78
+ }
79
+ lines.push(" " + "\u2500".repeat(90));
80
+ return lines;
81
+ }
82
+ }
83
+ //# sourceMappingURL=aggregate-display.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-display.service.js","sourceRoot":"","sources":["../../src/services/aggregate-display.service.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,uBAAuB;IAClC;;;OAGG;IACH,qBAAqB,CAAC,KAAU,EAAE,SAAiB,EAAE,UAAmB;QACtE,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,mEAAmE;QACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAEvC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,KAAa,EAAE,SAAiB,EAAE,KAAyB,EAAE,UAAmB;QAChG,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,mBAAmB,SAAS,GAAG,QAAQ,EAAE,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,EAAE,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,MAAa,EAAE,SAAiB,EAAE,UAAmB;QACvE,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,mCAAmC,SAAS,IAAI,CAAC,CAAC;YAC7D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,gCAAgC,SAAS,KAAK,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAClH,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,0BAA0B;YAC1B,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;iBAC5C,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;iBAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC;YAElD,+BAA+B;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;YAC/D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvC,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,36 @@
1
+ export interface AppInfo {
2
+ can_install_or_upgrade: boolean;
3
+ dependencies: null | string;
4
+ isInstalled: boolean;
5
+ latest_version: string;
6
+ name: string;
7
+ scope: string;
8
+ short_description: string;
9
+ sys_id: string;
10
+ vendor: string;
11
+ version: null | string;
12
+ versions: Array<{
13
+ publish_date_display: string;
14
+ version: string;
15
+ }>;
16
+ }
17
+ export interface AppFilterOptions {
18
+ installable?: boolean;
19
+ installed?: boolean;
20
+ }
21
+ export declare class AppDisplayService {
22
+ /**
23
+ * Filter applications based on installed/installable criteria.
24
+ */
25
+ filterApps(apps: AppInfo[], options: AppFilterOptions): AppInfo[];
26
+ /**
27
+ * Format application list for display.
28
+ * Returns lines for console output, or JSON string if jsonOutput is true.
29
+ */
30
+ formatAppList(apps: AppInfo[], jsonOutput: boolean, processingTime?: number): string[];
31
+ /**
32
+ * Format the install result for display.
33
+ */
34
+ formatInstallResult(appName: string, appScope: string, targetVersion: string, success: boolean, statusLabel: string, error?: string): string[];
35
+ }
36
+ //# sourceMappingURL=app-display.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-display.service.d.ts","sourceRoot":"","sources":["../../src/services/app-display.service.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC;QAAE,oBAAoB,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;KAAE,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,iBAAiB;IAC5B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,EAAE;IAYjE;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IA8EtF;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;CAiB/I"}
@@ -0,0 +1,101 @@
1
+ export class AppDisplayService {
2
+ /**
3
+ * Filter applications based on installed/installable criteria.
4
+ */
5
+ filterApps(apps, options) {
6
+ if (options.installed) {
7
+ return apps.filter(app => app.isInstalled);
8
+ }
9
+ if (options.installable) {
10
+ return apps.filter(app => !app.isInstalled && app.can_install_or_upgrade);
11
+ }
12
+ return apps;
13
+ }
14
+ /**
15
+ * Format application list for display.
16
+ * Returns lines for console output, or JSON string if jsonOutput is true.
17
+ */
18
+ formatAppList(apps, jsonOutput, processingTime) {
19
+ if (jsonOutput) {
20
+ return [JSON.stringify({
21
+ applications: apps.map(app => ({
22
+ available_versions: app.versions.length,
23
+ can_install_or_upgrade: app.can_install_or_upgrade,
24
+ current_version: app.version || null,
25
+ dependencies: app.dependencies || null,
26
+ isInstalled: app.isInstalled,
27
+ latest_version: app.latest_version,
28
+ name: app.name,
29
+ scope: app.scope,
30
+ short_description: app.short_description,
31
+ sys_id: app.sys_id,
32
+ vendor: app.vendor,
33
+ })),
34
+ processingTime,
35
+ total: apps.length,
36
+ }, null, 2)];
37
+ }
38
+ const lines = [];
39
+ lines.push(`Found ${apps.length} application(s)`);
40
+ if (processingTime !== undefined) {
41
+ lines.push(`Processing Time: ${processingTime}ms\n`);
42
+ }
43
+ if (apps.length === 0) {
44
+ lines.push("No applications found matching the specified criteria.");
45
+ return lines;
46
+ }
47
+ lines.push("─".repeat(100));
48
+ for (const [index, app] of apps.entries()) {
49
+ lines.push(`${index + 1}. ${app.name}`);
50
+ lines.push(` Scope: ${app.scope}`);
51
+ lines.push(` Sys ID: ${app.sys_id}`);
52
+ lines.push(` Vendor: ${app.vendor}`);
53
+ lines.push(` Latest Version: ${app.latest_version}`);
54
+ lines.push(` Installed: ${app.isInstalled ? 'Yes (v' + app.version + ')' : 'No'}`);
55
+ lines.push(` Can Install: ${app.can_install_or_upgrade ? 'Yes' : 'No'}`);
56
+ if (app.dependencies) {
57
+ lines.push(` Dependencies: ${app.dependencies}`);
58
+ }
59
+ if (app.short_description) {
60
+ lines.push(` Description: ${app.short_description}`);
61
+ }
62
+ lines.push(` Available Versions: ${app.versions.length}`);
63
+ if (app.versions.length > 0) {
64
+ const recentVersions = app.versions.slice(-3).reverse();
65
+ lines.push(` Recent Versions:`);
66
+ for (const v of recentVersions) {
67
+ lines.push(` - v${v.version} (${v.publish_date_display})`);
68
+ }
69
+ }
70
+ lines.push("─".repeat(100));
71
+ }
72
+ lines.push(`\nTotal: ${apps.length} application(s)`);
73
+ const installedCount = apps.filter(a => a.isInstalled).length;
74
+ const installableCount = apps.filter(a => !a.isInstalled && a.can_install_or_upgrade).length;
75
+ lines.push("\nSummary:");
76
+ lines.push(` Installed: ${installedCount}`);
77
+ lines.push(` Installable: ${installableCount}`);
78
+ lines.push(` Other: ${apps.length - installedCount - installableCount}`);
79
+ return lines;
80
+ }
81
+ /**
82
+ * Format the install result for display.
83
+ */
84
+ formatInstallResult(appName, appScope, targetVersion, success, statusLabel, error) {
85
+ const lines = [];
86
+ if (success) {
87
+ lines.push('\n✓ Installation completed successfully!');
88
+ lines.push(` Application: ${appName}`);
89
+ lines.push(` Scope: ${appScope}`);
90
+ lines.push(` Version: ${targetVersion}`);
91
+ lines.push(` Final Status: ${statusLabel}`);
92
+ }
93
+ else {
94
+ lines.push('\n✗ Installation failed');
95
+ lines.push(` Status: ${statusLabel}`);
96
+ lines.push(` Error: ${error || statusLabel}`);
97
+ }
98
+ return lines;
99
+ }
100
+ }
101
+ //# sourceMappingURL=app-display.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-display.service.js","sourceRoot":"","sources":["../../src/services/app-display.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import type { ReferenceLink, TestResult } from '@sonisoft/now-sdk-ext-core';
2
+ export interface TestSuiteExecutionRequest {
3
+ browser_name?: string;
4
+ browser_version?: string;
5
+ is_performance_run?: boolean;
6
+ os_name?: string;
7
+ os_version?: string;
8
+ run_in_cloud?: boolean;
9
+ test_suite_name?: string;
10
+ test_suite_sys_id?: string;
11
+ }
12
+ export interface TestSuiteExecutionResponse {
13
+ error: string;
14
+ links: {
15
+ progress: {
16
+ id: string;
17
+ url: string;
18
+ };
19
+ results?: {
20
+ id: string;
21
+ url: string;
22
+ };
23
+ };
24
+ percent_complete: number;
25
+ status: string;
26
+ status_detail: string;
27
+ status_label: string;
28
+ status_message: string;
29
+ }
30
+ export interface TestSuiteExecutionResult {
31
+ base_suite_result: ReferenceLink;
32
+ end_time: string;
33
+ error_count: string;
34
+ execution_tracker: ReferenceLink;
35
+ failure_count: string;
36
+ number: string;
37
+ parent: string;
38
+ run_time: string;
39
+ schedule_run: ReferenceLink;
40
+ skip_count: string;
41
+ start_time: string;
42
+ status: string;
43
+ success: string;
44
+ success_count: string;
45
+ sys_id: string;
46
+ test_suite: ReferenceLink;
47
+ }
48
+ export declare class AtfResultFormatterService {
49
+ /**
50
+ * Build execution options from command flags.
51
+ */
52
+ buildExecutionOptions(flags: Record<string, unknown>): Partial<TestSuiteExecutionRequest>;
53
+ /**
54
+ * Format a single test result for display.
55
+ * Returns lines to output, or a JSON string if jsonOutput is true.
56
+ */
57
+ formatTestResult(result: TestResult, jsonOutput: boolean): string[];
58
+ /**
59
+ * Format test suite execution results for display.
60
+ * Returns lines to output, or a JSON string if jsonOutput is true.
61
+ */
62
+ formatTestSuiteResult(result: TestSuiteExecutionResult, jsonOutput: boolean): string[];
63
+ }
64
+ //# sourceMappingURL=atf-result-formatter.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atf-result-formatter.service.d.ts","sourceRoot":"","sources":["../../src/services/atf-result-formatter.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE5E,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACL,QAAQ,EAAE;YACR,EAAE,EAAE,MAAM,CAAC;YACX,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,OAAO,CAAC,EAAE;YACR,EAAE,EAAE,MAAM,CAAC;YACX,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,iBAAiB,EAAE,aAAa,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,aAAa,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED,qBAAa,yBAAyB;IACpC;;OAEG;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAazF;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IA2BnE;;;OAGG;IACH,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;CAoCvF"}
@@ -0,0 +1,83 @@
1
+ export class AtfResultFormatterService {
2
+ /**
3
+ * Build execution options from command flags.
4
+ */
5
+ buildExecutionOptions(flags) {
6
+ const options = {};
7
+ if (flags.browser)
8
+ options.browser_name = flags.browser;
9
+ if (flags['browser-version'])
10
+ options.browser_version = flags['browser-version'];
11
+ if (flags['os-name'])
12
+ options.os_name = flags['os-name'];
13
+ if (flags['os-version'])
14
+ options.os_version = flags['os-version'];
15
+ if (flags.performance !== undefined)
16
+ options.is_performance_run = flags.performance;
17
+ if (flags.cloud !== undefined)
18
+ options.run_in_cloud = flags.cloud;
19
+ return options;
20
+ }
21
+ /**
22
+ * Format a single test result for display.
23
+ * Returns lines to output, or a JSON string if jsonOutput is true.
24
+ */
25
+ formatTestResult(result, jsonOutput) {
26
+ if (jsonOutput) {
27
+ return [JSON.stringify(result, null, 2)];
28
+ }
29
+ const lines = [];
30
+ lines.push('\n=== Test Execution Results ===');
31
+ lines.push(`Test Name: ${result.test_name}`);
32
+ lines.push(`Status: ${result.status}`);
33
+ lines.push(`Run Time: ${result.run_time}`);
34
+ lines.push(`Test Sys ID: ${result.test.value}`);
35
+ lines.push(`Result Sys ID: ${result.sys_id}`);
36
+ if (result.output) {
37
+ lines.push('\n--- Output ---');
38
+ lines.push(result.output);
39
+ }
40
+ lines.push('\n=== Execution Complete ===');
41
+ if (result.status !== 'success') {
42
+ lines.push('\n✗ Test failed');
43
+ }
44
+ return lines;
45
+ }
46
+ /**
47
+ * Format test suite execution results for display.
48
+ * Returns lines to output, or a JSON string if jsonOutput is true.
49
+ */
50
+ formatTestSuiteResult(result, jsonOutput) {
51
+ if (jsonOutput) {
52
+ return [JSON.stringify(result, null, 2)];
53
+ }
54
+ const successCount = Number.parseInt(result.success_count || '0', 10);
55
+ const failureCount = Number.parseInt(result.failure_count || '0', 10);
56
+ const skipCount = Number.parseInt(result.skip_count || '0', 10);
57
+ const errorCount = Number.parseInt(result.error_count || '0', 10);
58
+ const totalTests = successCount + failureCount + skipCount + errorCount;
59
+ const lines = [];
60
+ lines.push('\n=== Test Suite Execution Results ===');
61
+ lines.push(`Test Suite: ${result.test_suite.value}`);
62
+ lines.push(`Status: ${result.status}`);
63
+ lines.push(`Success: ${result.success}`);
64
+ lines.push(`Run Time: ${result.run_time}`);
65
+ lines.push(`Start Time: ${result.start_time}`);
66
+ lines.push(`End Time: ${result.end_time}`);
67
+ lines.push('\n--- Test Summary ---');
68
+ lines.push(`Total Tests: ${totalTests}`);
69
+ lines.push(`Passed: ${successCount}`);
70
+ lines.push(`Failed: ${failureCount}`);
71
+ lines.push(`Skipped: ${skipCount}`);
72
+ lines.push(`Errors: ${errorCount}`);
73
+ lines.push('\n=== Execution Complete ===');
74
+ if (failureCount === 0 && errorCount === 0) {
75
+ lines.push('\n✓ All tests passed!');
76
+ }
77
+ else {
78
+ lines.push(`\n✗ ${failureCount} test(s) failed, ${errorCount} error(s)`);
79
+ }
80
+ return lines;
81
+ }
82
+ }
83
+ //# sourceMappingURL=atf-result-formatter.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atf-result-formatter.service.js","sourceRoot":"","sources":["../../src/services/atf-result-formatter.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export declare class AttachmentDisplayService {
2
+ /**
3
+ * Format attachment detail for display.
4
+ * Returns lines for console output, or JSON string if jsonOutput is true.
5
+ */
6
+ formatAttachmentDetail(attachment: any, jsonOutput: boolean): string[];
7
+ /**
8
+ * Format attachment list for display.
9
+ * Returns lines for console output, or JSON string if jsonOutput is true.
10
+ */
11
+ formatAttachmentList(attachments: any[], jsonOutput: boolean): string[];
12
+ /**
13
+ * Format upload result for display.
14
+ * Returns lines for console output, or JSON string if jsonOutput is true.
15
+ */
16
+ formatUploadResult(result: any, jsonOutput: boolean): string[];
17
+ }
18
+ //# sourceMappingURL=attachment-display.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-display.service.d.ts","sourceRoot":"","sources":["../../src/services/attachment-display.service.ts"],"names":[],"mappings":"AAEA,qBAAa,wBAAwB;IACnC;;;OAGG;IACH,sBAAsB,CAAC,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAuCtE;;;OAGG;IACH,oBAAoB,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IA4BvE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;CAuC/D"}
@@ -0,0 +1,93 @@
1
+ export class AttachmentDisplayService {
2
+ /**
3
+ * Format attachment detail for display.
4
+ * Returns lines for console output, or JSON string if jsonOutput is true.
5
+ */
6
+ formatAttachmentDetail(attachment, jsonOutput) {
7
+ if (jsonOutput) {
8
+ return [JSON.stringify(attachment, null, 2)];
9
+ }
10
+ const lines = [];
11
+ lines.push('\n=== Attachment Details ===');
12
+ lines.push("─".repeat(60));
13
+ if (attachment.sys_id) {
14
+ lines.push(` Sys ID: ${attachment.sys_id}`);
15
+ }
16
+ if (attachment.file_name) {
17
+ lines.push(` File Name: ${attachment.file_name}`);
18
+ }
19
+ if (attachment.content_type) {
20
+ lines.push(` Content Type: ${attachment.content_type}`);
21
+ }
22
+ if (attachment.size_bytes) {
23
+ lines.push(` Size (bytes): ${attachment.size_bytes}`);
24
+ }
25
+ if (attachment.table_name) {
26
+ lines.push(` Table: ${attachment.table_name}`);
27
+ }
28
+ if (attachment.table_sys_id) {
29
+ lines.push(` Record ID: ${attachment.table_sys_id}`);
30
+ }
31
+ lines.push("─".repeat(60));
32
+ return lines;
33
+ }
34
+ /**
35
+ * Format attachment list for display.
36
+ * Returns lines for console output, or JSON string if jsonOutput is true.
37
+ */
38
+ formatAttachmentList(attachments, jsonOutput) {
39
+ if (jsonOutput) {
40
+ return [JSON.stringify({ attachments, total: attachments.length }, null, 2)];
41
+ }
42
+ const lines = [];
43
+ lines.push(`\nFound ${attachments.length} attachment(s)`);
44
+ lines.push("─".repeat(60));
45
+ if (attachments.length === 0) {
46
+ lines.push('No attachments found.');
47
+ return lines;
48
+ }
49
+ for (const [index, att] of attachments.entries()) {
50
+ lines.push(`${index + 1}. ${att.file_name}`);
51
+ lines.push(` Sys ID: ${att.sys_id}`);
52
+ lines.push(` Content Type: ${att.content_type}`);
53
+ lines.push(` Size (bytes): ${att.size_bytes}`);
54
+ lines.push("─".repeat(60));
55
+ }
56
+ lines.push(`\nTotal: ${attachments.length} attachment(s)`);
57
+ return lines;
58
+ }
59
+ /**
60
+ * Format upload result for display.
61
+ * Returns lines for console output, or JSON string if jsonOutput is true.
62
+ */
63
+ formatUploadResult(result, jsonOutput) {
64
+ if (jsonOutput) {
65
+ return [JSON.stringify(result, null, 2)];
66
+ }
67
+ const lines = [];
68
+ lines.push('\n=== Attachment Uploaded ===');
69
+ lines.push("─".repeat(60));
70
+ if (result.sys_id) {
71
+ lines.push(` Sys ID: ${result.sys_id}`);
72
+ }
73
+ if (result.file_name) {
74
+ lines.push(` File Name: ${result.file_name}`);
75
+ }
76
+ if (result.table_name) {
77
+ lines.push(` Table: ${result.table_name}`);
78
+ }
79
+ if (result.table_sys_id) {
80
+ lines.push(` Record ID: ${result.table_sys_id}`);
81
+ }
82
+ if (result.content_type) {
83
+ lines.push(` Content Type: ${result.content_type}`);
84
+ }
85
+ if (result.size_bytes) {
86
+ lines.push(` Size (bytes): ${result.size_bytes}`);
87
+ }
88
+ lines.push("─".repeat(60));
89
+ lines.push('Upload completed successfully.');
90
+ return lines;
91
+ }
92
+ }
93
+ //# sourceMappingURL=attachment-display.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-display.service.js","sourceRoot":"","sources":["../../src/services/attachment-display.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Format batch create result for display.
3
+ * Returns lines for console output, or JSON string if jsonOutput is true.
4
+ */
5
+ export declare function formatBatchCreateResult(result: any, jsonOutput: boolean): string[];
6
+ /**
7
+ * Format batch update result for display.
8
+ * Returns lines for console output, or JSON string if jsonOutput is true.
9
+ */
10
+ export declare function formatBatchUpdateResult(result: any, jsonOutput: boolean): string[];
11
+ //# sourceMappingURL=batch-display.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-display.service.d.ts","sourceRoot":"","sources":["../../src/services/batch-display.service.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,CA6ClF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,CAsClF"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Format batch create result for display.
3
+ * Returns lines for console output, or JSON string if jsonOutput is true.
4
+ */
5
+ export function formatBatchCreateResult(result, jsonOutput) {
6
+ if (jsonOutput) {
7
+ return [JSON.stringify(result, null, 2)];
8
+ }
9
+ const lines = [];
10
+ if (!result) {
11
+ lines.push('No result returned from batch create operation.');
12
+ return lines;
13
+ }
14
+ lines.push('\n=== Batch Create Result ===');
15
+ lines.push("─".repeat(60));
16
+ if (result.createdCount !== undefined) {
17
+ lines.push(` Created: ${result.createdCount}`);
18
+ }
19
+ if (result.sysIds && typeof result.sysIds === 'object') {
20
+ lines.push(' Sys IDs:');
21
+ for (const [key, value] of Object.entries(result.sysIds)) {
22
+ lines.push(` ${key}: ${value}`);
23
+ }
24
+ }
25
+ if (result.executionTimeMs !== undefined) {
26
+ lines.push(` Execution Time: ${result.executionTimeMs}ms`);
27
+ }
28
+ if (result.success !== undefined) {
29
+ lines.push(` Success: ${result.success}`);
30
+ }
31
+ if (result.errors && result.errors.length > 0) {
32
+ lines.push(` Errors (${result.errors.length}):`);
33
+ for (const err of result.errors) {
34
+ lines.push(` - ${typeof err === 'string' ? err : JSON.stringify(err)}`);
35
+ }
36
+ }
37
+ lines.push("─".repeat(60));
38
+ lines.push('Batch create operation completed.');
39
+ return lines;
40
+ }
41
+ /**
42
+ * Format batch update result for display.
43
+ * Returns lines for console output, or JSON string if jsonOutput is true.
44
+ */
45
+ export function formatBatchUpdateResult(result, jsonOutput) {
46
+ if (jsonOutput) {
47
+ return [JSON.stringify(result, null, 2)];
48
+ }
49
+ const lines = [];
50
+ if (!result) {
51
+ lines.push('No result returned from batch update operation.');
52
+ return lines;
53
+ }
54
+ lines.push('\n=== Batch Update Result ===');
55
+ lines.push("─".repeat(60));
56
+ if (result.updatedCount !== undefined) {
57
+ lines.push(` Updated: ${result.updatedCount}`);
58
+ }
59
+ if (result.executionTimeMs !== undefined) {
60
+ lines.push(` Execution Time: ${result.executionTimeMs}ms`);
61
+ }
62
+ if (result.success !== undefined) {
63
+ lines.push(` Success: ${result.success}`);
64
+ }
65
+ if (result.errors && result.errors.length > 0) {
66
+ lines.push(` Errors (${result.errors.length}):`);
67
+ for (const err of result.errors) {
68
+ lines.push(` - ${typeof err === 'string' ? err : JSON.stringify(err)}`);
69
+ }
70
+ }
71
+ lines.push("─".repeat(60));
72
+ lines.push('Batch update operation completed.');
73
+ return lines;
74
+ }
75
+ //# sourceMappingURL=batch-display.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-display.service.js","sourceRoot":"","sources":["../../src/services/batch-display.service.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAW,EAAE,UAAmB;IACtE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAEhD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAW,EAAE,UAAmB;IACtE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAEhD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare class BulkDisplayService {
2
+ /**
3
+ * Format query-based bulk delete result for display.
4
+ */
5
+ formatDeleteResult(result: any, table: string, jsonOutput: boolean): string[];
6
+ /**
7
+ * Format query-based bulk update result for display.
8
+ */
9
+ formatUpdateResult(result: any, table: string, jsonOutput: boolean): string[];
10
+ }
11
+ //# sourceMappingURL=bulk-display.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk-display.service.d.ts","sourceRoot":"","sources":["../../src/services/bulk-display.service.ts"],"names":[],"mappings":"AAEA,qBAAa,kBAAkB;IAC7B;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IA8C7E;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;CA6C9E"}