@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,15 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class ValidateCatalog extends AuthenticatedCommand<typeof ValidateCatalog> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ description: string;
7
+ command: string;
8
+ }[];
9
+ static flags: {
10
+ 'sys-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=validate-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-catalog.d.ts","sourceRoot":"","sources":["../../../src/commands/schema/validate-catalog.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,eAAgB,SAAQ,oBAAoB,CAAC,OAAO,eAAe,CAAC;IAE/E,MAAM,CAAC,IAAI,KACV;IACH,MAAM,CAAC,WAAW,SAGO;IACzB,MAAM,CAAC,QAAQ;;;QASZ;IACH,MAAM,CAAC,KAAK;;;MAYT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0B3B"}
@@ -0,0 +1,58 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /* eslint-disable perfectionist/sort-objects */
3
+ import { Flags } from '@oclif/core';
4
+ import { SchemaDiscovery } from '@sonisoft/now-sdk-ext-core';
5
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
6
+ import { SchemaDisplayService } from '../../services/schema-display.service.js';
7
+ export class ValidateCatalog extends AuthenticatedCommand {
8
+ static args = {};
9
+ static description = 'Validate a ServiceNow catalog item configuration for common issues.\n\n' +
10
+ 'This command checks a catalog item configuration and reports any validation issues, ' +
11
+ 'warnings, or errors found. Useful for ensuring catalog items are properly configured ' +
12
+ 'before deployment.';
13
+ static examples = [
14
+ {
15
+ description: 'Validate a catalog item by sys_id',
16
+ command: '<%= config.bin %> <%= command.id %> --sys-id a1b2c3d4e5f6 --auth dev',
17
+ },
18
+ {
19
+ description: 'Validate a catalog item with JSON output',
20
+ command: '<%= config.bin %> <%= command.id %> --sys-id a1b2c3d4e5f6 --json --auth dev',
21
+ },
22
+ ];
23
+ static flags = {
24
+ 'sys-id': Flags.string({
25
+ char: 's',
26
+ description: 'Catalog item sys_id to validate',
27
+ required: true,
28
+ }),
29
+ 'json': Flags.boolean({
30
+ char: 'j',
31
+ description: 'Output results as JSON',
32
+ required: false,
33
+ default: false,
34
+ }),
35
+ };
36
+ async run() {
37
+ const { args, flags } = await this.parse(ValidateCatalog);
38
+ const displayService = new SchemaDisplayService();
39
+ try {
40
+ const schemaDiscovery = new SchemaDiscovery(this.instance);
41
+ this.log(`Validating catalog item: ${flags['sys-id']}`);
42
+ const result = await schemaDiscovery.validateCatalogConfiguration(flags['sys-id']);
43
+ if (!result) {
44
+ this.error(`Failed to validate catalog item: ${flags['sys-id']}`);
45
+ return;
46
+ }
47
+ const lines = displayService.formatCatalogValidation(result, (flags.json ?? false) ?? false);
48
+ for (const line of lines) {
49
+ (flags.json ?? false) ? console.log(line) : this.log(line);
50
+ }
51
+ }
52
+ catch (error) {
53
+ this._logger.error("Error occurred when validating catalog configuration.", error);
54
+ this.error(error);
55
+ }
56
+ }
57
+ }
58
+ //# sourceMappingURL=validate-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-catalog.js","sourceRoot":"","sources":["../../../src/commands/schema/validate-catalog.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,+CAA+C;AAE/C,OAAO,EAAgB,KAAK,EAAC,MAAM,aAAa,CAAA;AAChD,OAAO,EAAyB,eAAe,EAAsB,MAAM,4BAA4B,CAAC;AAExG,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AAE/E,MAAM,OAAO,eAAgB,SAAQ,oBAA4C;IAE/E,MAAM,CAAC,IAAI,GAAG,EACb,CAAA;IACH,MAAM,CAAC,WAAW,GAAG,yEAAyE;QAC1F,sFAAsF;QACtF,uFAAuF;QACvF,oBAAoB,CAAC;IACzB,MAAM,CAAC,QAAQ,GAAG;QACd;YACE,WAAW,EAAE,mCAAmC;YAChD,OAAO,EAAE,sEAAsE;SAChF;QACD;YACE,WAAW,EAAE,0CAA0C;YACvD,OAAO,EAAE,6EAA6E;SACvF;KACF,CAAA;IACH,MAAM,CAAC,KAAK,GAAG;QACX,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf,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,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAElD,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE3D,IAAI,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,4BAA4B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEnF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,oCAAoC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,cAAc,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;YAC7F,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,uDAAuD,EAAE,KAAc,CAAC,CAAC;YAC5F,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class Scope extends AuthenticatedCommand<typeof Scope> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ command: string;
7
+ description: string;
8
+ }[];
9
+ static flags: {
10
+ list: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/scope/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,KAAM,SAAQ,oBAAoB,CAAC,OAAO,KAAK,CAAC;IAE3D,MAAM,CAAC,IAAI,KACV;IACH,MAAM,CAAC,WAAW,SAAsE;IACxF,MAAM,CAAC,QAAQ;;;QAaZ;IACH,MAAM,CAAC,KAAK;;MAOT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA6B3B"}
@@ -0,0 +1,58 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { ScopeManager } from '@sonisoft/now-sdk-ext-core';
3
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
4
+ import { ScopeDisplayService } from '../../services/scope-display.service.js';
5
+ export class Scope extends AuthenticatedCommand {
6
+ static args = {};
7
+ static description = 'Get the current application scope or list available applications.';
8
+ static examples = [
9
+ {
10
+ command: '<%= config.bin %> <%= command.id %> --auth dev',
11
+ description: 'Get the current application scope',
12
+ },
13
+ {
14
+ command: '<%= config.bin %> <%= command.id %> --list --auth dev',
15
+ description: 'List all available applications',
16
+ },
17
+ {
18
+ command: '<%= config.bin %> <%= command.id %> -l --json --auth dev',
19
+ description: 'List applications as JSON',
20
+ },
21
+ ];
22
+ static flags = {
23
+ 'list': Flags.boolean({
24
+ char: 'l',
25
+ default: false,
26
+ description: 'List all available applications',
27
+ required: false,
28
+ }),
29
+ };
30
+ async run() {
31
+ const { flags } = await this.parse(Scope);
32
+ const displayService = new ScopeDisplayService();
33
+ try {
34
+ const scopeMgr = new ScopeManager(this.instance);
35
+ if (flags.list) {
36
+ this.log('Fetching available applications...');
37
+ const apps = await scopeMgr.listApplications();
38
+ const lines = displayService.formatAppList(apps, (flags.json ?? false) ?? false);
39
+ for (const line of lines) {
40
+ (flags.json ?? false) ? console.log(line) : this.log(line);
41
+ }
42
+ }
43
+ else {
44
+ this.log('Fetching current application scope...');
45
+ const app = await scopeMgr.getCurrentApplication();
46
+ const lines = displayService.formatCurrentApp(app, (flags.json ?? false) ?? false);
47
+ for (const line of lines) {
48
+ (flags.json ?? false) ? console.log(line) : this.log(line);
49
+ }
50
+ }
51
+ }
52
+ catch (error) {
53
+ this._logger.error("Error occurred when fetching scope information.", error);
54
+ this.error(error);
55
+ }
56
+ }
57
+ }
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/scope/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAE7E,MAAM,OAAO,KAAM,SAAQ,oBAAkC;IAE3D,MAAM,CAAC,IAAI,GAAG,EACb,CAAA;IACH,MAAM,CAAC,WAAW,GAAG,mEAAmE,CAAA;IACxF,MAAM,CAAC,QAAQ,GAAG;QACd;YACE,OAAO,EAAE,gDAAgD;YACzD,WAAW,EAAE,mCAAmC;SACjD;QACD;YACE,OAAO,EAAE,uDAAuD;YAChE,WAAW,EAAE,iCAAiC;SAC/C;QACD;YACE,OAAO,EAAE,0DAA0D;YACnE,WAAW,EAAE,2BAA2B;SACzC;KACF,CAAA;IACH,MAAM,CAAC,KAAK,GAAG;QACX,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACzC,MAAM,cAAc,GAAG,IAAI,mBAAmB,EAAE,CAAA;QAEhD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAEhD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;gBAC9C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAA;gBAE9C,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,CAAA;gBAChF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,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,CAAA;gBAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;gBACjD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,qBAAqB,EAAE,CAAA;gBAElD,MAAM,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,CAAA;gBAClF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,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,CAAA;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAc,CAAC,CAAA;YACrF,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class Set extends AuthenticatedCommand<typeof Set> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ command: string;
7
+ description: string;
8
+ }[];
9
+ static flags: {
10
+ 'app-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/commands/scope/set.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,GAAI,SAAQ,oBAAoB,CAAC,OAAO,GAAG,CAAC;IAEvD,MAAM,CAAC,IAAI,KACV;IACH,MAAM,CAAC,WAAW,SAAgE;IAClF,MAAM,CAAC,QAAQ;;;QASZ;IACH,MAAM,CAAC,KAAK;;MAMT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB3B"}
@@ -0,0 +1,44 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { ScopeManager } from '@sonisoft/now-sdk-ext-core';
3
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
4
+ import { ScopeDisplayService } from '../../services/scope-display.service.js';
5
+ export class Set extends AuthenticatedCommand {
6
+ static args = {};
7
+ static description = 'Set the current application scope on a ServiceNow instance.';
8
+ static examples = [
9
+ {
10
+ command: '<%= config.bin %> <%= command.id %> --app-id abc123def456ghi789jkl012mno345pq --auth dev',
11
+ description: 'Set application scope by sys_id',
12
+ },
13
+ {
14
+ command: '<%= config.bin %> <%= command.id %> -a abc123def456ghi789jkl012mno345pq --json --auth dev',
15
+ description: 'Set application scope and output as JSON',
16
+ },
17
+ ];
18
+ static flags = {
19
+ 'app-id': Flags.string({
20
+ char: 'a',
21
+ description: '32-char sys_id of application',
22
+ required: true,
23
+ }),
24
+ };
25
+ async run() {
26
+ const { flags } = await this.parse(Set);
27
+ const displayService = new ScopeDisplayService();
28
+ try {
29
+ const scopeMgr = new ScopeManager(this.instance);
30
+ const appId = flags['app-id'];
31
+ this.log(`Setting application scope to ${appId}...`);
32
+ const result = await scopeMgr.setCurrentApplication(appId);
33
+ const lines = displayService.formatSetResult(result, (flags.json ?? false) ?? false);
34
+ for (const line of lines) {
35
+ (flags.json ?? false) ? console.log(line) : this.log(line);
36
+ }
37
+ }
38
+ catch (error) {
39
+ this._logger.error("Error occurred when setting application scope.", error);
40
+ this.error(error);
41
+ }
42
+ }
43
+ }
44
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/commands/scope/set.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAE7E,MAAM,OAAO,GAAI,SAAQ,oBAAgC;IAEvD,MAAM,CAAC,IAAI,GAAG,EACb,CAAA;IACH,MAAM,CAAC,WAAW,GAAG,6DAA6D,CAAA;IAClF,MAAM,CAAC,QAAQ,GAAG;QACd;YACE,OAAO,EAAE,0FAA0F;YACnG,WAAW,EAAE,iCAAiC;SAC/C;QACD;YACE,OAAO,EAAE,2FAA2F;YACpG,WAAW,EAAE,0CAA0C;SACxD;KACF,CAAA;IACH,MAAM,CAAC,KAAK,GAAG;QACX,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,cAAc,GAAG,IAAI,mBAAmB,EAAE,CAAA;QAEhD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAW,CAAA;YAEvC,IAAI,CAAC,GAAG,CAAC,gCAAgC,KAAK,KAAK,CAAC,CAAA;YACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;YAE1D,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,CAAA;YACpF,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,CAAA;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAc,CAAC,CAAA;YACpF,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class Pull extends AuthenticatedCommand<typeof Pull> {
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
+ type: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=pull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/commands/script-sync/pull.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,IAAK,SAAQ,oBAAoB,CAAC,OAAO,IAAI,CAAC;IAEzD,MAAM,CAAC,IAAI,KAAK;IAClB,MAAM,CAAC,WAAW,SAQ+B;IACjD,MAAM,CAAC,QAAQ;;;QAaZ;IACH,MAAM,CAAC,KAAK;;;;MAiBT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0B3B"}
@@ -0,0 +1,74 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /* eslint-disable perfectionist/sort-objects */
3
+ import { Flags } from '@oclif/core';
4
+ import { ScriptSync } from '@sonisoft/now-sdk-ext-core';
5
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
6
+ import { ScriptSyncDisplayService } from '../../services/script-sync-display.service.js';
7
+ export class Pull extends AuthenticatedCommand {
8
+ static args = {};
9
+ static description = 'Pull a script from a ServiceNow instance to a local file.\n\n' +
10
+ 'This command downloads a script record from your ServiceNow instance and saves it as a local file. ' +
11
+ 'Supports multiple script types including Script Includes, Business Rules, UI Scripts, UI Actions, ' +
12
+ 'and Client Scripts.\n\n' +
13
+ 'Features:\n' +
14
+ ' \u2022 Download scripts by name and type\n' +
15
+ ' \u2022 Custom output file path support\n' +
16
+ ' \u2022 Auto-generated file names based on script name and type\n' +
17
+ ' \u2022 JSON output for CI/CD integration';
18
+ static examples = [
19
+ {
20
+ description: 'Pull a Script Include to auto-generated file name',
21
+ command: '<%= config.bin %> <%= command.id %> --name MyScriptInclude --type sys_script_include --auth dev-instance',
22
+ },
23
+ {
24
+ description: 'Pull a Business Rule to a specific file',
25
+ command: '<%= config.bin %> <%= command.id %> --name MyBusinessRule --type sys_script --output ./scripts/my-rule.js --auth dev-instance',
26
+ },
27
+ {
28
+ description: 'Pull a Client Script with JSON output',
29
+ command: '<%= config.bin %> <%= command.id %> -n MyClientScript -t sys_script_client --json --auth dev-instance',
30
+ },
31
+ ];
32
+ static flags = {
33
+ name: Flags.string({
34
+ char: 'n',
35
+ description: 'Name of the script to pull',
36
+ required: true,
37
+ }),
38
+ type: Flags.string({
39
+ char: 't',
40
+ description: 'Type of script to pull',
41
+ required: true,
42
+ options: ['sys_script_include', 'sys_script', 'sys_ui_script', 'sys_ui_action', 'sys_script_client'],
43
+ }),
44
+ output: Flags.string({
45
+ char: 'o',
46
+ description: 'Output file path. If not specified, a file name is auto-generated.',
47
+ required: false,
48
+ }),
49
+ };
50
+ async run() {
51
+ const { args, flags } = await this.parse(Pull);
52
+ const displayService = new ScriptSyncDisplayService();
53
+ const { name, type, output } = flags;
54
+ try {
55
+ this.log(`Pulling script '${name}' (${type}) from instance...`);
56
+ const scriptSync = new ScriptSync(this.instance);
57
+ const filePath = output || ScriptSync.generateFileName(name, type);
58
+ const result = await scriptSync.pullScript({
59
+ scriptName: name,
60
+ scriptType: type,
61
+ filePath,
62
+ });
63
+ const lines = displayService.formatSyncResult(result, Boolean(flags.json));
64
+ for (const line of lines) {
65
+ flags.json ? console.log(line) : this.log(line);
66
+ }
67
+ }
68
+ catch (error) {
69
+ this._logger.error("Error occurred while pulling script.", error);
70
+ this.error(error);
71
+ }
72
+ }
73
+ }
74
+ //# sourceMappingURL=pull.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/script-sync/pull.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,+CAA+C;AAC/C,OAAO,EAAgB,KAAK,EAAC,MAAM,aAAa,CAAA;AAChD,OAAO,EAAuC,UAAU,EAAsB,MAAM,4BAA4B,CAAC;AAEjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAA;AAExF,MAAM,OAAO,IAAK,SAAQ,oBAAiC;IAEzD,MAAM,CAAC,IAAI,GAAG,EAAE,CAAA;IAClB,MAAM,CAAC,WAAW,GAAG,+DAA+D;QAChF,qGAAqG;QACrG,oGAAoG;QACpG,yBAAyB;QACzB,aAAa;QACb,8CAA8C;QAC9C,4CAA4C;QAC5C,oEAAoE;QACpE,4CAA4C,CAAC;IACjD,MAAM,CAAC,QAAQ,GAAG;QACd;YACE,WAAW,EAAE,mDAAmD;YAChE,OAAO,EAAE,0GAA0G;SACpH;QACD;YACE,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,+HAA+H;SACzI;QACD;YACE,WAAW,EAAE,uCAAuC;YACpD,OAAO,EAAE,uGAAuG;SACjH;KACF,CAAA;IACH,MAAM,CAAC,KAAK,GAAG;QACX,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,CAAC;SACrG,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oEAAoE;YACjF,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAEtD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAErC,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,mBAAmB,IAAI,MAAM,IAAI,oBAAoB,CAAC,CAAC;YAEhE,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC;gBACzC,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI;gBAChB,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAc,CAAC,CAAC;YAC3E,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class Push extends AuthenticatedCommand<typeof Push> {
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
+ type: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ file: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/script-sync/push.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,IAAK,SAAQ,oBAAoB,CAAC,OAAO,IAAI,CAAC;IAEzD,MAAM,CAAC,IAAI,KAAK;IAClB,MAAM,CAAC,WAAW,SAQ4B;IAC9C,MAAM,CAAC,QAAQ;;;QAaZ;IACH,MAAM,CAAC,KAAK;;;;MAiBT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3B"}
@@ -0,0 +1,73 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /* eslint-disable perfectionist/sort-objects */
3
+ import { Flags } from '@oclif/core';
4
+ import { ScriptSync } from '@sonisoft/now-sdk-ext-core';
5
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
6
+ import { ScriptSyncDisplayService } from '../../services/script-sync-display.service.js';
7
+ export class Push extends AuthenticatedCommand {
8
+ static args = {};
9
+ static description = 'Push a local script file to a ServiceNow instance.\n\n' +
10
+ 'This command uploads a local script file to your ServiceNow instance, updating the corresponding ' +
11
+ 'script record. Supports multiple script types including Script Includes, Business Rules, UI Scripts, ' +
12
+ 'UI Actions, and Client Scripts.\n\n' +
13
+ 'Features:\n' +
14
+ ' \u2022 Upload scripts by name and type\n' +
15
+ ' \u2022 Specify the local file to push\n' +
16
+ ' \u2022 JSON output for CI/CD integration\n' +
17
+ ' \u2022 Detailed push result reporting';
18
+ static examples = [
19
+ {
20
+ description: 'Push a Script Include from a local file',
21
+ command: '<%= config.bin %> <%= command.id %> --name MyScriptInclude --type sys_script_include --file ./scripts/MyScriptInclude.js --auth dev-instance',
22
+ },
23
+ {
24
+ description: 'Push a Business Rule with short flags',
25
+ command: '<%= config.bin %> <%= command.id %> -n MyBusinessRule -t sys_script -f ./scripts/my-rule.js -a dev-instance',
26
+ },
27
+ {
28
+ description: 'Push a UI Script with JSON output',
29
+ command: '<%= config.bin %> <%= command.id %> -n MyUIScript -t sys_ui_script -f ./scripts/ui-script.js --json --auth dev-instance',
30
+ },
31
+ ];
32
+ static flags = {
33
+ name: Flags.string({
34
+ char: 'n',
35
+ description: 'Name of the script to push',
36
+ required: true,
37
+ }),
38
+ type: Flags.string({
39
+ char: 't',
40
+ description: 'Type of script to push',
41
+ required: true,
42
+ options: ['sys_script_include', 'sys_script', 'sys_ui_script', 'sys_ui_action', 'sys_script_client'],
43
+ }),
44
+ file: Flags.string({
45
+ char: 'f',
46
+ description: 'Path to the local script file to push',
47
+ required: true,
48
+ }),
49
+ };
50
+ async run() {
51
+ const { args, flags } = await this.parse(Push);
52
+ const displayService = new ScriptSyncDisplayService();
53
+ const { name, type, file } = flags;
54
+ try {
55
+ this.log(`Pushing script '${name}' (${type}) to instance...`);
56
+ const scriptSync = new ScriptSync(this.instance);
57
+ const result = await scriptSync.pushScript({
58
+ scriptName: name,
59
+ scriptType: type,
60
+ filePath: file,
61
+ });
62
+ const lines = displayService.formatSyncResult(result, Boolean(flags.json));
63
+ for (const line of lines) {
64
+ flags.json ? console.log(line) : this.log(line);
65
+ }
66
+ }
67
+ catch (error) {
68
+ this._logger.error("Error occurred while pushing script.", error);
69
+ this.error(error);
70
+ }
71
+ }
72
+ }
73
+ //# sourceMappingURL=push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/script-sync/push.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,+CAA+C;AAC/C,OAAO,EAAgB,KAAK,EAAC,MAAM,aAAa,CAAA;AAChD,OAAO,EAAuC,UAAU,EAAsB,MAAM,4BAA4B,CAAC;AAEjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAA;AAExF,MAAM,OAAO,IAAK,SAAQ,oBAAiC;IAEzD,MAAM,CAAC,IAAI,GAAG,EAAE,CAAA;IAClB,MAAM,CAAC,WAAW,GAAG,wDAAwD;QACzE,mGAAmG;QACnG,uGAAuG;QACvG,qCAAqC;QACrC,aAAa;QACb,4CAA4C;QAC5C,2CAA2C;QAC3C,8CAA8C;QAC9C,yCAAyC,CAAC;IAC9C,MAAM,CAAC,QAAQ,GAAG;QACd;YACE,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,8IAA8I;SACxJ;QACD;YACE,WAAW,EAAE,uCAAuC;YACpD,OAAO,EAAE,6GAA6G;SACvH;QACD;YACE,WAAW,EAAE,mCAAmC;YAChD,OAAO,EAAE,yHAAyH;SACnI;KACF,CAAA;IACH,MAAM,CAAC,KAAK,GAAG;QACX,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,CAAC;SACrG,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAEtD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAEnC,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,mBAAmB,IAAI,MAAM,IAAI,kBAAkB,CAAC,CAAC;YAE9D,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC;gBACzC,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAc,CAAC,CAAC;YAC3E,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class Sync extends AuthenticatedCommand<typeof Sync> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ description: string;
7
+ command: string;
8
+ }[];
9
+ static flags: {
10
+ directory: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ types: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/commands/script-sync/sync.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,IAAK,SAAQ,oBAAoB,CAAC,OAAO,IAAI,CAAC;IAEzD,MAAM,CAAC,IAAI,KAAK;IAClB,MAAM,CAAC,WAAW,SAQ+B;IACjD,MAAM,CAAC,QAAQ;;;QAaZ;IACH,MAAM,CAAC,KAAK;;;MAaT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4B3B"}
@@ -0,0 +1,71 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /* eslint-disable perfectionist/sort-objects */
3
+ import { Flags } from '@oclif/core';
4
+ import { ScriptSync } from '@sonisoft/now-sdk-ext-core';
5
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
6
+ import { ScriptSyncDisplayService } from '../../services/script-sync-display.service.js';
7
+ export class Sync extends AuthenticatedCommand {
8
+ static args = {};
9
+ static description = 'Synchronize all scripts in a directory with a ServiceNow instance.\n\n' +
10
+ 'This command scans a local directory for script files and synchronizes them with the corresponding ' +
11
+ 'records on your ServiceNow instance. You can optionally filter by script types to synchronize only ' +
12
+ 'specific kinds of scripts.\n\n' +
13
+ 'Features:\n' +
14
+ ' \u2022 Batch synchronization of all scripts in a directory\n' +
15
+ ' \u2022 Filter by one or more script types\n' +
16
+ ' \u2022 Summary report with success/failure counts\n' +
17
+ ' \u2022 JSON output for CI/CD integration';
18
+ static examples = [
19
+ {
20
+ description: 'Sync all scripts in a directory',
21
+ command: '<%= config.bin %> <%= command.id %> --directory ./scripts --auth dev-instance',
22
+ },
23
+ {
24
+ description: 'Sync only Script Includes and Business Rules',
25
+ command: '<%= config.bin %> <%= command.id %> --directory ./scripts --types sys_script_include --types sys_script --auth dev-instance',
26
+ },
27
+ {
28
+ description: 'Sync with JSON output for CI/CD',
29
+ command: '<%= config.bin %> <%= command.id %> -d ./scripts --json --auth dev-instance',
30
+ },
31
+ ];
32
+ static flags = {
33
+ directory: Flags.string({
34
+ char: 'd',
35
+ description: 'Directory containing script files to synchronize',
36
+ required: true,
37
+ }),
38
+ types: Flags.string({
39
+ char: 't',
40
+ description: 'Script types to synchronize. Can be specified multiple times to include multiple types.',
41
+ required: false,
42
+ multiple: true,
43
+ options: ['sys_script_include', 'sys_script', 'sys_ui_script', 'sys_ui_action', 'sys_script_client'],
44
+ }),
45
+ };
46
+ async run() {
47
+ const { args, flags } = await this.parse(Sync);
48
+ const displayService = new ScriptSyncDisplayService();
49
+ const { directory, types } = flags;
50
+ try {
51
+ this.log(`Synchronizing scripts in '${directory}' with instance...`);
52
+ if (types && types.length > 0) {
53
+ this.log(`Filtering by types: ${types.join(', ')}`);
54
+ }
55
+ const scriptSync = new ScriptSync(this.instance);
56
+ const result = await scriptSync.syncAllScripts({
57
+ directory,
58
+ scriptTypes: types,
59
+ });
60
+ const lines = displayService.formatSyncAllResult(result, Boolean(flags.json));
61
+ for (const line of lines) {
62
+ flags.json ? console.log(line) : this.log(line);
63
+ }
64
+ }
65
+ catch (error) {
66
+ this._logger.error("Error occurred while synchronizing scripts.", error);
67
+ this.error(error);
68
+ }
69
+ }
70
+ }
71
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/commands/script-sync/sync.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,+CAA+C;AAC/C,OAAO,EAAgB,KAAK,EAAC,MAAM,aAAa,CAAA;AAChD,OAAO,EAAuC,UAAU,EAAsB,MAAM,4BAA4B,CAAC;AAEjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAA;AAExF,MAAM,OAAO,IAAK,SAAQ,oBAAiC;IAEzD,MAAM,CAAC,IAAI,GAAG,EAAE,CAAA;IAClB,MAAM,CAAC,WAAW,GAAG,wEAAwE;QACzF,qGAAqG;QACrG,qGAAqG;QACrG,gCAAgC;QAChC,aAAa;QACb,gEAAgE;QAChE,+CAA+C;QAC/C,uDAAuD;QACvD,4CAA4C,CAAC;IACjD,MAAM,CAAC,QAAQ,GAAG;QACd;YACE,WAAW,EAAE,iCAAiC;YAC9C,OAAO,EAAE,+EAA+E;SACzF;QACD;YACE,WAAW,EAAE,8CAA8C;YAC3D,OAAO,EAAE,6HAA6H;SACvI;QACD;YACE,WAAW,EAAE,iCAAiC;YAC9C,OAAO,EAAE,6EAA6E;SACvF;KACF,CAAA;IACH,MAAM,CAAC,KAAK,GAAG;QACX,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,yFAAyF;YACtG,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,CAAC;SACrG,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAEtD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAEnC,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,6BAA6B,SAAS,oBAAoB,CAAC,CAAC;YAErE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC;gBAC7C,SAAS;gBACT,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAc,CAAC,CAAC;YAClF,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class SearchAddTable extends AuthenticatedCommand<typeof SearchAddTable> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ command: string;
7
+ description: string;
8
+ }[];
9
+ static flags: {
10
+ 'search-fields': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ 'search-group': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ table: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=add-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-table.d.ts","sourceRoot":"","sources":["../../../src/commands/search/add-table.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,cAAe,SAAQ,oBAAoB,CAAC,OAAO,cAAc,CAAC;IAE7E,MAAM,CAAC,IAAI,KACV;IACH,MAAM,CAAC,WAAW,SAOgC;IAClD,MAAM,CAAC,QAAQ;;;QAaZ;IACH,MAAM,CAAC,KAAK;;;;MAgBT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuB3B"}
@@ -0,0 +1,68 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { CodeSearch } from '@sonisoft/now-sdk-ext-core';
3
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
4
+ import { CodeSearchDisplayService } from '../../services/code-search-display.service.js';
5
+ export class SearchAddTable extends AuthenticatedCommand {
6
+ static args = {};
7
+ static description = 'Add a table to a code search group on a ServiceNow instance.\n\n' +
8
+ 'This command registers a new table and its searchable fields with a search group, making ' +
9
+ 'the table\'s records discoverable through code search. This is useful when you need to ' +
10
+ 'include custom tables in code search results.\n\n' +
11
+ 'Features:\n' +
12
+ ' • Add custom tables to search groups\n' +
13
+ ' • Specify which fields should be indexed\n' +
14
+ ' • JSON output for scripting and automation';
15
+ static examples = [
16
+ {
17
+ command: '<%= config.bin %> <%= command.id %> --table sys_script_include --search-fields script --search-group "Script Includes" --auth dev-instance',
18
+ description: 'Add a table to a search group',
19
+ },
20
+ {
21
+ command: '<%= config.bin %> <%= command.id %> --table sys_ui_page --search-fields "html,client_script,processing_script" --search-group "UI Pages" --auth dev-instance',
22
+ description: 'Add a table with multiple search fields',
23
+ },
24
+ {
25
+ command: '<%= config.bin %> <%= command.id %> --table u_custom_script --search-fields script --search-group "Custom" --json --auth dev-instance',
26
+ description: 'Add a table with JSON output',
27
+ },
28
+ ];
29
+ static flags = {
30
+ 'search-fields': Flags.string({
31
+ char: 'f',
32
+ description: 'Comma-separated list of fields to index for search',
33
+ required: true,
34
+ }),
35
+ 'search-group': Flags.string({
36
+ char: 'g',
37
+ description: 'Search group to add the table to',
38
+ required: true,
39
+ }),
40
+ 'table': Flags.string({
41
+ char: 't',
42
+ description: 'Table name to add to the search group',
43
+ required: true,
44
+ }),
45
+ };
46
+ async run() {
47
+ const { flags } = await this.parse(SearchAddTable);
48
+ const displayService = new CodeSearchDisplayService();
49
+ try {
50
+ const codeSearch = new CodeSearch(this.instance);
51
+ this.log(`Adding table "${flags.table}" to search group "${flags['search-group']}"...`);
52
+ const result = await codeSearch.addTableToSearchGroup({
53
+ search_fields: flags['search-fields'],
54
+ search_group: flags['search-group'],
55
+ table: flags.table,
56
+ });
57
+ const lines = displayService.formatAddTableResult(result, (flags.json ?? false) ?? false);
58
+ for (const line of lines) {
59
+ (flags.json ?? false) ? console.log(line) : this.log(line);
60
+ }
61
+ }
62
+ catch (error) {
63
+ this._logger.error("Error occurred when adding table to search group.", error);
64
+ this.error(error);
65
+ }
66
+ }
67
+ }
68
+ //# sourceMappingURL=add-table.js.map