@rockcarver/frodo-cli 2.0.0-2 → 2.0.0-20

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 (453) hide show
  1. package/CHANGELOG.md +182 -3
  2. package/esm/app.js +14 -5
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +18 -4
  5. package/esm/cli/FrodoCommand.js.map +1 -1
  6. package/esm/cli/_template/something-delete.js +7 -4
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +7 -4
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +7 -4
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +7 -4
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +7 -4
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +7 -4
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +7 -4
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-else.js +1 -1
  21. package/esm/cli/_template/something-else.js.map +1 -1
  22. package/esm/cli/_template/something-export.js +7 -4
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +7 -4
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +7 -4
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +7 -4
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +7 -4
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +7 -4
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +7 -4
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +7 -4
  37. package/esm/cli/_template/something-other-list.js.map +1 -1
  38. package/esm/cli/_template/something-other.js +1 -1
  39. package/esm/cli/_template/something-other.js.map +1 -1
  40. package/esm/cli/_template/something.js +2 -2
  41. package/esm/cli/_template/something.js.map +1 -1
  42. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +10 -4
  43. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  44. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +14 -7
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-federation-export.js +45 -0
  47. package/esm/cli/admin/admin-federation-export.js.map +1 -0
  48. package/esm/cli/admin/admin-federation-import.js +49 -0
  49. package/esm/cli/admin/admin-federation-import.js.map +1 -0
  50. package/esm/cli/admin/admin-federation-list.js +29 -0
  51. package/esm/cli/admin/admin-federation-list.js.map +1 -0
  52. package/esm/cli/admin/admin-federation.js +13 -0
  53. package/esm/cli/admin/admin-federation.js.map +1 -0
  54. package/esm/cli/admin/admin-get-access-token.js +12 -6
  55. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  56. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +12 -6
  57. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  58. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +11 -5
  59. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  60. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +10 -4
  61. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  62. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +10 -4
  63. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-list-static-user-mappings.js +11 -5
  65. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  66. package/esm/cli/admin/admin-remove-static-user-mapping.js +12 -5
  67. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  68. package/esm/cli/admin/admin-repair-org-model.js +11 -5
  69. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  70. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +12 -6
  71. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  72. package/esm/cli/admin/admin-show-generic-extension-attributes.js +11 -5
  73. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  74. package/esm/cli/admin/admin.js +3 -2
  75. package/esm/cli/admin/admin.js.map +1 -1
  76. package/esm/cli/agent/agent-delete.js +13 -6
  77. package/esm/cli/agent/agent-delete.js.map +1 -1
  78. package/esm/cli/agent/agent-describe.js +7 -4
  79. package/esm/cli/agent/agent-describe.js.map +1 -1
  80. package/esm/cli/agent/agent-export.js +8 -5
  81. package/esm/cli/agent/agent-export.js.map +1 -1
  82. package/esm/cli/agent/agent-gateway-delete.js +13 -6
  83. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway-describe.js +7 -4
  85. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  86. package/esm/cli/agent/agent-gateway-export.js +8 -5
  87. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-import.js +8 -5
  89. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-list.js +7 -4
  91. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway.js +1 -1
  93. package/esm/cli/agent/agent-gateway.js.map +1 -1
  94. package/esm/cli/agent/agent-import.js +8 -5
  95. package/esm/cli/agent/agent-import.js.map +1 -1
  96. package/esm/cli/agent/agent-java-delete.js +13 -6
  97. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  98. package/esm/cli/agent/agent-java-describe.js +7 -4
  99. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  100. package/esm/cli/agent/agent-java-export.js +8 -5
  101. package/esm/cli/agent/agent-java-export.js.map +1 -1
  102. package/esm/cli/agent/agent-java-import.js +8 -5
  103. package/esm/cli/agent/agent-java-import.js.map +1 -1
  104. package/esm/cli/agent/agent-java-list.js +7 -4
  105. package/esm/cli/agent/agent-java-list.js.map +1 -1
  106. package/esm/cli/agent/agent-java.js +1 -1
  107. package/esm/cli/agent/agent-java.js.map +1 -1
  108. package/esm/cli/agent/agent-list.js +7 -4
  109. package/esm/cli/agent/agent-list.js.map +1 -1
  110. package/esm/cli/agent/agent-web-delete.js +13 -6
  111. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  112. package/esm/cli/agent/agent-web-describe.js +7 -4
  113. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  114. package/esm/cli/agent/agent-web-export.js +8 -5
  115. package/esm/cli/agent/agent-web-export.js.map +1 -1
  116. package/esm/cli/agent/agent-web-import.js +8 -5
  117. package/esm/cli/agent/agent-web-import.js.map +1 -1
  118. package/esm/cli/agent/agent-web-list.js +7 -4
  119. package/esm/cli/agent/agent-web-list.js.map +1 -1
  120. package/esm/cli/agent/agent-web.js +1 -1
  121. package/esm/cli/agent/agent-web.js.map +1 -1
  122. package/esm/cli/agent/agent.js +2 -2
  123. package/esm/cli/agent/agent.js.map +1 -1
  124. package/esm/cli/app/app-delete.js +27 -8
  125. package/esm/cli/app/app-delete.js.map +1 -1
  126. package/esm/cli/app/app-describe.js +9 -5
  127. package/esm/cli/app/app-describe.js.map +1 -1
  128. package/esm/cli/app/app-export.js +17 -13
  129. package/esm/cli/app/app-export.js.map +1 -1
  130. package/esm/cli/app/app-import.js +21 -17
  131. package/esm/cli/app/app-import.js.map +1 -1
  132. package/esm/cli/app/app-list.js +12 -8
  133. package/esm/cli/app/app-list.js.map +1 -1
  134. package/esm/cli/app/app.js +8 -12
  135. package/esm/cli/app/app.js.map +1 -1
  136. package/esm/cli/authz/authz-policy-delete.js +10 -7
  137. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  138. package/esm/cli/authz/authz-policy-describe.js +8 -5
  139. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  140. package/esm/cli/authz/authz-policy-export.js +12 -9
  141. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  142. package/esm/cli/authz/authz-policy-import.js +10 -7
  143. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  144. package/esm/cli/authz/authz-policy-list.js +9 -6
  145. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  146. package/esm/cli/authz/authz-policy.js +1 -1
  147. package/esm/cli/authz/authz-policy.js.map +1 -1
  148. package/esm/cli/authz/authz-set-delete.js +9 -6
  149. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  150. package/esm/cli/authz/authz-set-describe.js +8 -5
  151. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  152. package/esm/cli/authz/authz-set-export.js +10 -7
  153. package/esm/cli/authz/authz-set-export.js.map +1 -1
  154. package/esm/cli/authz/authz-set-import.js +10 -7
  155. package/esm/cli/authz/authz-set-import.js.map +1 -1
  156. package/esm/cli/authz/authz-set-list.js +7 -4
  157. package/esm/cli/authz/authz-set-list.js.map +1 -1
  158. package/esm/cli/authz/authz-set.js +1 -1
  159. package/esm/cli/authz/authz-set.js.map +1 -1
  160. package/esm/cli/authz/authz-type-delete.js +10 -7
  161. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  162. package/esm/cli/authz/authz-type-describe.js +9 -6
  163. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  164. package/esm/cli/authz/authz-type-export.js +11 -8
  165. package/esm/cli/authz/authz-type-export.js.map +1 -1
  166. package/esm/cli/authz/authz-type-import.js +12 -9
  167. package/esm/cli/authz/authz-type-import.js.map +1 -1
  168. package/esm/cli/authz/authz-type-list.js +8 -5
  169. package/esm/cli/authz/authz-type-list.js.map +1 -1
  170. package/esm/cli/authz/authz-type.js +1 -1
  171. package/esm/cli/authz/authz-type.js.map +1 -1
  172. package/esm/cli/authz/authz.js +2 -2
  173. package/esm/cli/authz/authz.js.map +1 -1
  174. package/esm/cli/conn/conn-delete.js +2 -2
  175. package/esm/cli/conn/conn-delete.js.map +1 -1
  176. package/esm/cli/conn/conn-describe.js +2 -2
  177. package/esm/cli/conn/conn-describe.js.map +1 -1
  178. package/esm/cli/conn/conn-list.js +2 -2
  179. package/esm/cli/conn/conn-list.js.map +1 -1
  180. package/esm/cli/conn/conn-save.js +31 -15
  181. package/esm/cli/conn/conn-save.js.map +1 -1
  182. package/esm/cli/conn/conn.js +2 -2
  183. package/esm/cli/conn/conn.js.map +1 -1
  184. package/esm/cli/email/email-template-export.js +10 -7
  185. package/esm/cli/email/email-template-export.js.map +1 -1
  186. package/esm/cli/email/email-template-import.js +11 -8
  187. package/esm/cli/email/email-template-import.js.map +1 -1
  188. package/esm/cli/email/email-template-list.js +8 -5
  189. package/esm/cli/email/email-template-list.js.map +1 -1
  190. package/esm/cli/email/email-template.js +1 -1
  191. package/esm/cli/email/email-template.js.map +1 -1
  192. package/esm/cli/email/email.js +2 -2
  193. package/esm/cli/email/email.js.map +1 -1
  194. package/esm/cli/esv/esv-apply.js +18 -8
  195. package/esm/cli/esv/esv-apply.js.map +1 -1
  196. package/esm/cli/esv/esv-secret-create.js +8 -5
  197. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  198. package/esm/cli/esv/esv-secret-delete.js +9 -6
  199. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  200. package/esm/cli/esv/esv-secret-describe.js +8 -5
  201. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  202. package/esm/cli/esv/esv-secret-export.js +7 -4
  203. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  204. package/esm/cli/esv/esv-secret-import.js +7 -4
  205. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  206. package/esm/cli/esv/esv-secret-list.js +8 -5
  207. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  208. package/esm/cli/esv/esv-secret-set.js +8 -5
  209. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  210. package/esm/cli/esv/esv-secret-version-activate.js +8 -5
  211. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  212. package/esm/cli/esv/esv-secret-version-create.js +9 -6
  213. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  214. package/esm/cli/esv/esv-secret-version-deactivate.js +8 -5
  215. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  216. package/esm/cli/esv/esv-secret-version-delete.js +9 -6
  217. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  218. package/esm/cli/esv/esv-secret-version-list.js +8 -5
  219. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  220. package/esm/cli/esv/esv-secret-version.js +1 -1
  221. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  222. package/esm/cli/esv/esv-secret.js +1 -1
  223. package/esm/cli/esv/esv-secret.js.map +1 -1
  224. package/esm/cli/esv/esv-variable-create.js +10 -6
  225. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  226. package/esm/cli/esv/esv-variable-delete.js +9 -6
  227. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  228. package/esm/cli/esv/esv-variable-describe.js +8 -5
  229. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  230. package/esm/cli/esv/esv-variable-export.js +7 -4
  231. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  232. package/esm/cli/esv/esv-variable-import.js +7 -4
  233. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  234. package/esm/cli/esv/esv-variable-list.js +8 -5
  235. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  236. package/esm/cli/esv/esv-variable-set.js +8 -5
  237. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  238. package/esm/cli/esv/esv-variable.js +1 -1
  239. package/esm/cli/esv/esv-variable.js.map +1 -1
  240. package/esm/cli/esv/esv.js +2 -2
  241. package/esm/cli/esv/esv.js.map +1 -1
  242. package/esm/cli/idm/idm-count.js +9 -6
  243. package/esm/cli/idm/idm-count.js.map +1 -1
  244. package/esm/cli/idm/idm-export.js +10 -7
  245. package/esm/cli/idm/idm-export.js.map +1 -1
  246. package/esm/cli/idm/idm-import.js +11 -8
  247. package/esm/cli/idm/idm-import.js.map +1 -1
  248. package/esm/cli/idm/idm-list.js +7 -4
  249. package/esm/cli/idm/idm-list.js.map +1 -1
  250. package/esm/cli/idm/idm.js +2 -2
  251. package/esm/cli/idm/idm.js.map +1 -1
  252. package/esm/cli/idp/idp-export.js +11 -8
  253. package/esm/cli/idp/idp-export.js.map +1 -1
  254. package/esm/cli/idp/idp-import.js +15 -12
  255. package/esm/cli/idp/idp-import.js.map +1 -1
  256. package/esm/cli/idp/idp-list.js +7 -4
  257. package/esm/cli/idp/idp-list.js.map +1 -1
  258. package/esm/cli/idp/idp.js +2 -2
  259. package/esm/cli/idp/idp.js.map +1 -1
  260. package/esm/cli/info/info.js +16 -10
  261. package/esm/cli/info/info.js.map +1 -1
  262. package/esm/cli/journey/journey-delete.js +8 -5
  263. package/esm/cli/journey/journey-delete.js.map +1 -1
  264. package/esm/cli/journey/journey-describe.js +18 -10
  265. package/esm/cli/journey/journey-describe.js.map +1 -1
  266. package/esm/cli/journey/journey-disable.js +12 -6
  267. package/esm/cli/journey/journey-disable.js.map +1 -1
  268. package/esm/cli/journey/journey-enable.js +12 -6
  269. package/esm/cli/journey/journey-enable.js.map +1 -1
  270. package/esm/cli/journey/journey-export.js +10 -7
  271. package/esm/cli/journey/journey-export.js.map +1 -1
  272. package/esm/cli/journey/journey-import.js +11 -8
  273. package/esm/cli/journey/journey-import.js.map +1 -1
  274. package/esm/cli/journey/journey-list.js +6 -3
  275. package/esm/cli/journey/journey-list.js.map +1 -1
  276. package/esm/cli/journey/journey-prune.js +23 -12
  277. package/esm/cli/journey/journey-prune.js.map +1 -1
  278. package/esm/cli/journey/journey.js +2 -2
  279. package/esm/cli/journey/journey.js.map +1 -1
  280. package/esm/cli/{logging/logs-fetch.js → log/log-fetch.js} +68 -36
  281. package/esm/cli/log/log-fetch.js.map +1 -0
  282. package/esm/cli/log/log-key-delete.js +35 -0
  283. package/esm/cli/log/log-key-delete.js.map +1 -0
  284. package/esm/cli/log/log-key-describe.js +22 -0
  285. package/esm/cli/log/log-key-describe.js.map +1 -0
  286. package/esm/cli/log/log-key-list.js +26 -0
  287. package/esm/cli/log/log-key-list.js.map +1 -0
  288. package/esm/cli/log/log-key.js +8 -0
  289. package/esm/cli/log/log-key.js.map +1 -0
  290. package/esm/cli/log/log-list.js +80 -0
  291. package/esm/cli/log/log-list.js.map +1 -0
  292. package/esm/cli/log/log-tail.js +77 -0
  293. package/esm/cli/log/log-tail.js.map +1 -0
  294. package/esm/cli/{logging/logs.js → log/log.js} +6 -3
  295. package/esm/cli/log/log.js.map +1 -0
  296. package/esm/cli/oauth/oauth-client-delete.js +22 -0
  297. package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
  298. package/esm/cli/oauth/oauth-client-describe.js +22 -0
  299. package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
  300. package/esm/cli/oauth/oauth-client-export.js +52 -0
  301. package/esm/cli/oauth/oauth-client-export.js.map +1 -0
  302. package/esm/cli/oauth/oauth-client-import.js +57 -0
  303. package/esm/cli/oauth/oauth-client-import.js.map +1 -0
  304. package/esm/cli/oauth/oauth-client-list.js +25 -0
  305. package/esm/cli/oauth/oauth-client-list.js.map +1 -0
  306. package/esm/cli/oauth/oauth-client.js +14 -0
  307. package/esm/cli/oauth/oauth-client.js.map +1 -0
  308. package/esm/cli/oauth/oauth.js +13 -0
  309. package/esm/cli/oauth/oauth.js.map +1 -0
  310. package/esm/cli/realm/realm-add-custom-domain.js +8 -5
  311. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  312. package/esm/cli/realm/realm-describe.js +8 -5
  313. package/esm/cli/realm/realm-describe.js.map +1 -1
  314. package/esm/cli/realm/realm-list.js +8 -5
  315. package/esm/cli/realm/realm-list.js.map +1 -1
  316. package/esm/cli/realm/realm-remove-custom-domain.js +11 -5
  317. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  318. package/esm/cli/realm/realm.js +2 -2
  319. package/esm/cli/realm/realm.js.map +1 -1
  320. package/esm/cli/saml/saml-cot-export.js +10 -7
  321. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  322. package/esm/cli/saml/saml-cot-import.js +11 -8
  323. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  324. package/esm/cli/saml/saml-cot-list.js +8 -5
  325. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  326. package/esm/cli/saml/saml-cot.js +1 -1
  327. package/esm/cli/saml/saml-cot.js.map +1 -1
  328. package/esm/cli/saml/saml-delete.js +14 -7
  329. package/esm/cli/saml/saml-delete.js.map +1 -1
  330. package/esm/cli/saml/saml-describe.js +8 -5
  331. package/esm/cli/saml/saml-describe.js.map +1 -1
  332. package/esm/cli/saml/saml-export.js +10 -7
  333. package/esm/cli/saml/saml-export.js.map +1 -1
  334. package/esm/cli/saml/saml-import.js +11 -8
  335. package/esm/cli/saml/saml-import.js.map +1 -1
  336. package/esm/cli/saml/saml-list.js +8 -5
  337. package/esm/cli/saml/saml-list.js.map +1 -1
  338. package/esm/cli/saml/saml-metadata-export.js +9 -6
  339. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  340. package/esm/cli/saml/saml-metadata.js +1 -1
  341. package/esm/cli/saml/saml-metadata.js.map +1 -1
  342. package/esm/cli/saml/saml.js +2 -2
  343. package/esm/cli/saml/saml.js.map +1 -1
  344. package/esm/cli/script/script-delete.js +7 -4
  345. package/esm/cli/script/script-delete.js.map +1 -1
  346. package/esm/cli/script/script-describe.js +7 -4
  347. package/esm/cli/script/script-describe.js.map +1 -1
  348. package/esm/cli/script/script-export.js +8 -5
  349. package/esm/cli/script/script-export.js.map +1 -1
  350. package/esm/cli/script/script-import.js +9 -6
  351. package/esm/cli/script/script-import.js.map +1 -1
  352. package/esm/cli/script/script-list.js +8 -5
  353. package/esm/cli/script/script-list.js.map +1 -1
  354. package/esm/cli/script/script.js +2 -2
  355. package/esm/cli/script/script.js.map +1 -1
  356. package/esm/cli/service/service-delete.js +8 -5
  357. package/esm/cli/service/service-delete.js.map +1 -1
  358. package/esm/cli/service/service-export.js +9 -6
  359. package/esm/cli/service/service-export.js.map +1 -1
  360. package/esm/cli/service/service-import.js +10 -7
  361. package/esm/cli/service/service-import.js.map +1 -1
  362. package/esm/cli/service/service-list.js +7 -4
  363. package/esm/cli/service/service-list.js.map +1 -1
  364. package/esm/cli/service/service.js +2 -2
  365. package/esm/cli/service/service.js.map +1 -1
  366. package/esm/cli/shell/shell.js +57 -0
  367. package/esm/cli/shell/shell.js.map +1 -0
  368. package/esm/cli/theme/theme-delete.js +10 -7
  369. package/esm/cli/theme/theme-delete.js.map +1 -1
  370. package/esm/cli/theme/theme-export.js +11 -8
  371. package/esm/cli/theme/theme-export.js.map +1 -1
  372. package/esm/cli/theme/theme-import.js +12 -9
  373. package/esm/cli/theme/theme-import.js.map +1 -1
  374. package/esm/cli/theme/theme-list.js +7 -4
  375. package/esm/cli/theme/theme-list.js.map +1 -1
  376. package/esm/cli/theme/theme.js +2 -2
  377. package/esm/cli/theme/theme.js.map +1 -1
  378. package/esm/help/SampleData.js +7 -0
  379. package/esm/help/SampleData.js.map +1 -0
  380. package/esm/launch.js +1 -1
  381. package/esm/launch.js.map +1 -1
  382. package/esm/loader.js +2 -2
  383. package/esm/loader.js.map +1 -1
  384. package/esm/ops/AdminFederationOps.js +216 -0
  385. package/esm/ops/AdminFederationOps.js.map +1 -0
  386. package/esm/ops/AgentOps.js +88 -54
  387. package/esm/ops/AgentOps.js.map +1 -1
  388. package/esm/ops/ApplicationOps.js +309 -0
  389. package/esm/ops/ApplicationOps.js.map +1 -0
  390. package/esm/ops/CirclesOfTrustOps.js +25 -13
  391. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  392. package/esm/ops/ConnectionProfileOps.js +13 -6
  393. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  394. package/esm/ops/EmailTemplateOps.js +53 -47
  395. package/esm/ops/EmailTemplateOps.js.map +1 -1
  396. package/esm/ops/IdmOps.js +58 -64
  397. package/esm/ops/IdmOps.js.map +1 -1
  398. package/esm/ops/IdpOps.js +48 -25
  399. package/esm/ops/IdpOps.js.map +1 -1
  400. package/esm/ops/JourneyOps.js +108 -43
  401. package/esm/ops/JourneyOps.js.map +1 -1
  402. package/esm/ops/LogOps.js +92 -30
  403. package/esm/ops/LogOps.js.map +1 -1
  404. package/esm/ops/NodeOps.js +6 -3
  405. package/esm/ops/NodeOps.js.map +1 -1
  406. package/esm/ops/OAuth2ClientOps.js +29 -16
  407. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  408. package/esm/ops/OrganizationOps.js +14 -22
  409. package/esm/ops/OrganizationOps.js.map +1 -1
  410. package/esm/ops/PolicyOps.js +60 -28
  411. package/esm/ops/PolicyOps.js.map +1 -1
  412. package/esm/ops/PolicySetOps.js +39 -22
  413. package/esm/ops/PolicySetOps.js.map +1 -1
  414. package/esm/ops/RealmOps.js +15 -8
  415. package/esm/ops/RealmOps.js.map +1 -1
  416. package/esm/ops/ResourceTypeOps.js +43 -27
  417. package/esm/ops/ResourceTypeOps.js.map +1 -1
  418. package/esm/ops/Saml2Ops.js +56 -42
  419. package/esm/ops/Saml2Ops.js.map +1 -1
  420. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  421. package/esm/ops/ScriptOps.js +72 -18
  422. package/esm/ops/ScriptOps.js.map +1 -1
  423. package/esm/ops/SecretsOps.js +33 -18
  424. package/esm/ops/SecretsOps.js.map +1 -1
  425. package/esm/ops/ServiceOps.js +49 -28
  426. package/esm/ops/ServiceOps.js.map +1 -1
  427. package/esm/ops/ThemeOps.js +42 -22
  428. package/esm/ops/ThemeOps.js.map +1 -1
  429. package/esm/ops/VariablesOps.js +37 -28
  430. package/esm/ops/VariablesOps.js.map +1 -1
  431. package/esm/ops/utils/OpsUtils.js +1 -1
  432. package/esm/ops/utils/OpsUtils.js.map +1 -1
  433. package/esm/ops/utils/Wordwrap.js +1 -1
  434. package/esm/ops/utils/Wordwrap.js.map +1 -1
  435. package/esm/storage/StaticStorage.js +1 -1
  436. package/esm/storage/StaticStorage.js.map +1 -1
  437. package/esm/utils/Config.js +7 -4
  438. package/esm/utils/Config.js.map +1 -1
  439. package/esm/utils/Console.js +9 -5
  440. package/esm/utils/Console.js.map +1 -1
  441. package/esm/utils/ExportImportUtils.js +32 -66
  442. package/esm/utils/ExportImportUtils.js.map +1 -1
  443. package/esm/utils/Version.js +19 -16
  444. package/esm/utils/Version.js.map +1 -1
  445. package/package.json +45 -35
  446. package/esm/cli/logging/logs-fetch.js.map +0 -1
  447. package/esm/cli/logging/logs-list.js +0 -49
  448. package/esm/cli/logging/logs-list.js.map +0 -1
  449. package/esm/cli/logging/logs-tail.js +0 -46
  450. package/esm/cli/logging/logs-tail.js.map +0 -1
  451. package/esm/cli/logging/logs.js.map +0 -1
  452. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  453. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -7,10 +7,159 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.0.0-19] - 2023-10-02
11
+
12
+ ## [2.0.0-18] - 2023-10-02
13
+
14
+ ## [2.0.0-17] - 2023-09-29
15
+
16
+ ## [2.0.0-16] - 2023-09-08
17
+
18
+ ## [2.0.0-15] - 2023-08-17
19
+
20
+ ### Fixed
21
+
22
+ - \#276: `frodo script import -A --watch <tenant>` (preceeded by `frodo script export -A --extract <tenant>`) now properly reports errors like scripts not compiling or any REST errors but won't exit the watch thread but keep on watching and pushing local changes to `<tenant>`.
23
+
24
+ ## [2.0.0-14] - 2023-08-16
25
+
26
+ ### Changed
27
+
28
+ - Update to frodo-lib 2.0.0-21
29
+
30
+ ## [2.0.0-13] - 2023-07-31
31
+
32
+ ## [2.0.0-12] - 2023-07-18
33
+
34
+ ### Fixed
35
+
36
+ - rockcarver/frodo-lib#272: Added new `--variable-type` parameter to `frodo esv variable create` command.
37
+
38
+ ## [2.0.0-11] - 2023-07-17
39
+
40
+ ## [2.0.0-10] - 2023-07-05
41
+
42
+ ## [2.0.0-9] - 2023-07-05
43
+
44
+ ## [2.0.0-8] - 2023-07-05
45
+
46
+ ## [2.0.0-7] - 2023-06-23
47
+
48
+ ## [2.0.0-6] - 2023-06-22
49
+
50
+ ### Added
51
+
52
+ - \#251: Support for Identity Cloud admin federation configuration:
53
+
54
+ - `frodo admin federation` Manage admin federation configuration.
55
+ - `export` Export admin federation providers.
56
+ - `import` Import admin federation providers.
57
+ - `list` List admin federation providers.
58
+
59
+ Examples:
60
+
61
+ - List all configured admin federation providers:<br>
62
+ `frodo admin federation list <myTenant>`
63
+
64
+ `frodo admin federation list <myTenant> <username> <password>`
65
+ - Export all admin federation providers to a single file:<br>
66
+ `frodo admin federation export -a <myTenant>`
67
+
68
+ `frodo admin federation export -a <myTenant> <username> <password>`
69
+ - Import all admin federation providers from a single file:<br>
70
+ `frodo admin federation import -a -f allProviders.admin.federation.json <myTenant>`
71
+
72
+ `frodo admin federation import -a -f allProviders.admin.federation.json <myTenant> <username> <password>`<br>
73
+
74
+ **_Note_**: Only tenant admins can perform admin federation operations, service accounts do not have the required privileges. Therefore, the connection profile used must contain username and password or they must be provided through command arguments.
75
+
76
+ ### Changed
77
+
78
+ - Update to frodo-lib 2.0.0-8
79
+
80
+ ## [2.0.0-5] - 2023-06-21
81
+
82
+ ## [2.0.0-4] - 2023-06-16
83
+
84
+ ## [2.0.0-3] - 2023-06-15
85
+
10
86
  ## [2.0.0-2] - 2023-06-15
11
87
 
12
88
  ## [2.0.0-1] - 2023-06-15
13
89
 
90
+ ## [1.0.0] - 2023-06-30
91
+
92
+ ### Added
93
+
94
+ - MacOS binaries are now signed and notarized and run without security exceptions.
95
+ - \#251: Support for Identity Cloud admin federation configuration:
96
+
97
+ - `frodo admin federation` Manage admin federation configuration.
98
+ - `export` Export admin federation providers.
99
+ - `import` Import admin federation providers.
100
+ - `list` List admin federation providers.
101
+
102
+ Examples:
103
+
104
+ - List all configured admin federation providers:<br>
105
+ `frodo admin federation list <myTenant>`
106
+
107
+ `frodo admin federation list <myTenant> <username> <password>`
108
+ - Export all admin federation providers to a single file:<br>
109
+ `frodo admin federation export -a <myTenant>`
110
+
111
+ `frodo admin federation export -a <myTenant> <username> <password>`
112
+ - Import all admin federation providers from a single file:<br>
113
+ `frodo admin federation import -a -f allProviders.admin.federation.json <myTenant>`
114
+
115
+ `frodo admin federation import -a -f allProviders.admin.federation.json <myTenant> <username> <password>`<br>
116
+
117
+ **_Note_**: Only tenant admins can perform admin federation operations, service accounts do not have the required privileges. Therefore, the connection profile used must contain username and password or they must be provided through command arguments.
118
+
119
+ ### Changed
120
+
121
+ - Update to frodo-lib 1.1.0
122
+
123
+ ## [1.0.0-1] - 2023-06-30
124
+
125
+ ## [0.24.6-3] - 2023-06-30
126
+
127
+ ## [0.24.6-2] - 2023-06-22
128
+
129
+ ## [0.24.6-1] - 2023-06-22
130
+
131
+ ### Added
132
+
133
+ - \#251: Support for Identity Cloud admin federation configuration:
134
+
135
+ - `frodo admin federation` Manage admin federation configuration.
136
+ - `export` Export admin federation providers.
137
+ - `import` Import admin federation providers.
138
+ - `list` List admin federation providers.
139
+
140
+ Examples:
141
+
142
+ - List all configured admin federation providers:<br>
143
+ `frodo admin federation list <myTenant>`
144
+
145
+ `frodo admin federation list <myTenant> <username> <password>`
146
+ - Export all admin federation providers to a single file:<br>
147
+ `frodo admin federation export -a <myTenant>`
148
+
149
+ `frodo admin federation export -a <myTenant> <username> <password>`
150
+ - Import all admin federation providers from a single file:<br>
151
+ `frodo admin federation import -a -f allProviders.admin.federation.json <myTenant>`
152
+
153
+ `frodo admin federation import -a -f allProviders.admin.federation.json <myTenant> <username> <password>`<br>
154
+
155
+ **_Note_**: Only tenant admins can perform admin federation operations, service accounts do not have the required privileges. Therefore, the connection profile used must contain username and password or they must be provided through command arguments.
156
+
157
+ ### Changed
158
+
159
+ - Update to frodo-lib 1.0.1-0
160
+
161
+ ## [0.24.6-0] - 2023-06-21
162
+
14
163
  ## [0.24.5] - 2023-05-31
15
164
 
16
165
  ### Added
@@ -1204,11 +1353,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1204
1353
  - Fixed problem with adding connection profiles
1205
1354
  - Miscellaneous bug fixes
1206
1355
 
1207
- [Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-2...HEAD
1356
+ [Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-19...HEAD
1357
+
1358
+ [2.0.0-19]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-18...v2.0.0-19
1359
+
1360
+ [2.0.0-18]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-17...v2.0.0-18
1361
+
1362
+ [2.0.0-17]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-16...v2.0.0-17
1363
+
1364
+ [2.0.0-16]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-15...v2.0.0-16
1365
+
1366
+ [2.0.0-15]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-14...v2.0.0-15
1367
+
1368
+ [2.0.0-14]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-13...v2.0.0-14
1369
+
1370
+ [2.0.0-13]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-12...v2.0.0-13
1371
+
1372
+ [2.0.0-12]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-11...v2.0.0-12
1373
+
1374
+ [2.0.0-11]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-10...v2.0.0-11
1375
+
1376
+ [2.0.0-10]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-9...v2.0.0-10
1377
+
1378
+ [2.0.0-9]: https://github.com/rockcarver/frodo-cli/compare/v1.0.0...v2.0.0-9
1379
+
1380
+ [1.0.0]: https://github.com/rockcarver/frodo-cli/compare/v1.0.0-1...v1.0.0
1381
+
1382
+ [1.0.0-1]: https://github.com/rockcarver/frodo-cli/compare/v0.24.6-3...v1.0.0-1
1383
+
1384
+ [0.24.6-3]: https://github.com/rockcarver/frodo-cli/compare/v0.24.6-2...v0.24.6-3
1385
+
1386
+ [0.24.6-2]: https://github.com/rockcarver/frodo-cli/compare/v0.24.6-1...v0.24.6-2
1208
1387
 
1209
- [2.0.0-2]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-1...v2.0.0-2
1388
+ [0.24.6-1]: https://github.com/rockcarver/frodo-cli/compare/v0.24.6-0...v0.24.6-1
1210
1389
 
1211
- [2.0.0-1]: https://github.com/rockcarver/frodo-cli/compare/v0.24.5...v2.0.0-1
1390
+ [0.24.6-0]: https://github.com/rockcarver/frodo-cli/compare/v0.24.5...v0.24.6-0
1212
1391
 
1213
1392
  [0.24.5]: https://github.com/rockcarver/frodo-cli/compare/v0.24.4...v0.24.5
1214
1393
 
package/esm/app.js CHANGED
@@ -4,8 +4,8 @@ import { Command } from 'commander';
4
4
  // commands
5
5
  import admin from './cli/admin/admin';
6
6
  import agent from './cli/agent/agent';
7
- import authz from './cli/authz/authz';
8
7
  import app from './cli/app/app';
8
+ import authz from './cli/authz/authz';
9
9
  import conn from './cli/conn/conn';
10
10
  import email from './cli/email/email';
11
11
  import esv from './cli/esv/esv';
@@ -13,21 +13,26 @@ import idm from './cli/idm/idm';
13
13
  import idp from './cli/idp/idp';
14
14
  import info from './cli/info/info';
15
15
  import journey from './cli/journey/journey';
16
- import logging from './cli/logging/logs';
16
+ import log from './cli/log/log';
17
+ import oauth from './cli/oauth/oauth';
17
18
  import realm from './cli/realm/realm';
18
19
  import saml from './cli/saml/saml';
19
20
  import script from './cli/script/script';
20
21
  import service from './cli/service/service';
22
+ import shell from './cli/shell/shell';
21
23
  // enable sample command template.
22
24
  // import something from './cli/_template/something';
23
25
  import theme from './cli/theme/theme';
24
26
  import { printMessage } from './utils/Console';
25
27
  import { getVersions } from './utils/Version';
28
+ const {
29
+ initConnectionProfiles
30
+ } = frodo.conn;
26
31
  (async () => {
27
32
  try {
28
33
  const program = new Command('frodo').version(await getVersions(false), '-v, --version');
29
34
  printMessage(await getVersions(true), 'text', false);
30
- await frodo.conn.initConnectionProfiles();
35
+ await initConnectionProfiles();
31
36
  program.addCommand(admin());
32
37
  program.addCommand(agent());
33
38
  program.addCommand(authz());
@@ -39,11 +44,13 @@ import { getVersions } from './utils/Version';
39
44
  program.addCommand(idp());
40
45
  program.addCommand(info());
41
46
  program.addCommand(journey());
42
- program.addCommand(logging());
47
+ program.addCommand(log());
48
+ program.addCommand(oauth());
43
49
  program.addCommand(realm());
44
50
  program.addCommand(saml());
45
51
  program.addCommand(script());
46
52
  program.addCommand(service());
53
+ program.addCommand(shell());
47
54
  program.addCommand(theme());
48
55
  // enable sample command template.
49
56
  // program.addCommand(something());
@@ -52,7 +59,9 @@ import { getVersions } from './utils/Version';
52
59
  program.enablePositionalOptions();
53
60
  program.parse();
54
61
  } catch (e) {
62
+ process.exitCode = 1;
55
63
  printMessage(`ERROR: exception running frodo - ${e}`, 'error');
64
+ printMessage(e.stack, 'error');
56
65
  }
57
66
  })();
58
- //# sourceMappingURL=app.js.map
67
+ //# sourceMappingURL=app.js.map
package/esm/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","names":["frodo","Command","admin","agent","authz","app","conn","email","esv","idm","idp","info","journey","logging","realm","saml","script","service","theme","printMessage","getVersions","program","version","initConnectionProfiles","addCommand","showHelpAfterError","enablePositionalOptions","parse","e"],"sources":["app.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Command } from 'commander';\n\n// commands\nimport admin from './cli/admin/admin';\nimport agent from './cli/agent/agent';\nimport authz from './cli/authz/authz';\nimport app from './cli/app/app';\nimport conn from './cli/conn/conn';\nimport email from './cli/email/email';\nimport esv from './cli/esv/esv';\nimport idm from './cli/idm/idm';\nimport idp from './cli/idp/idp';\nimport info from './cli/info/info';\nimport journey from './cli/journey/journey';\nimport logging from './cli/logging/logs';\nimport realm from './cli/realm/realm';\nimport saml from './cli/saml/saml';\nimport script from './cli/script/script';\nimport service from './cli/service/service';\n// enable sample command template.\n// import something from './cli/_template/something';\nimport theme from './cli/theme/theme';\nimport { printMessage } from './utils/Console';\nimport { getVersions } from './utils/Version';\n\n(async () => {\n try {\n const program = new Command('frodo').version(\n await getVersions(false),\n '-v, --version'\n );\n\n printMessage(await getVersions(true), 'text', false);\n\n await frodo.conn.initConnectionProfiles();\n\n program.addCommand(admin());\n program.addCommand(agent());\n program.addCommand(authz());\n program.addCommand(app());\n program.addCommand(conn());\n program.addCommand(email());\n program.addCommand(esv());\n program.addCommand(idm());\n program.addCommand(idp());\n program.addCommand(info());\n program.addCommand(journey());\n program.addCommand(logging());\n program.addCommand(realm());\n program.addCommand(saml());\n program.addCommand(script());\n program.addCommand(service());\n program.addCommand(theme());\n // enable sample command template.\n // program.addCommand(something());\n\n program.showHelpAfterError();\n program.enablePositionalOptions();\n program.parse();\n } catch (e) {\n printMessage(`ERROR: exception running frodo - ${e}`, 'error');\n }\n})();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,OAAO,QAAQ,WAAW;;AAEnC;AACA,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,OAAO,MAAM,uBAAuB;AAC3C,OAAOC,OAAO,MAAM,oBAAoB;AACxC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,OAAO,MAAM,uBAAuB;AAC3C;AACA;AACA,OAAOC,KAAK,MAAM,mBAAmB;AACrC,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,WAAW,QAAQ,iBAAiB;AAE7C,CAAC,YAAY;EACX,IAAI;IACF,MAAMC,OAAO,GAAG,IAAIpB,OAAO,CAAC,OAAO,CAAC,CAACqB,OAAO,CAC1C,MAAMF,WAAW,CAAC,KAAK,CAAC,EACxB,eACF,CAAC;IAEDD,YAAY,CAAC,MAAMC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC;IAEpD,MAAMpB,KAAK,CAACM,IAAI,CAACiB,sBAAsB,CAAC,CAAC;IAEzCF,OAAO,CAACG,UAAU,CAACtB,KAAK,CAAC,CAAC,CAAC;IAC3BmB,OAAO,CAACG,UAAU,CAACrB,KAAK,CAAC,CAAC,CAAC;IAC3BkB,OAAO,CAACG,UAAU,CAACpB,KAAK,CAAC,CAAC,CAAC;IAC3BiB,OAAO,CAACG,UAAU,CAACnB,GAAG,CAAC,CAAC,CAAC;IACzBgB,OAAO,CAACG,UAAU,CAAClB,IAAI,CAAC,CAAC,CAAC;IAC1Be,OAAO,CAACG,UAAU,CAACjB,KAAK,CAAC,CAAC,CAAC;IAC3Bc,OAAO,CAACG,UAAU,CAAChB,GAAG,CAAC,CAAC,CAAC;IACzBa,OAAO,CAACG,UAAU,CAACf,GAAG,CAAC,CAAC,CAAC;IACzBY,OAAO,CAACG,UAAU,CAACd,GAAG,CAAC,CAAC,CAAC;IACzBW,OAAO,CAACG,UAAU,CAACb,IAAI,CAAC,CAAC,CAAC;IAC1BU,OAAO,CAACG,UAAU,CAACZ,OAAO,CAAC,CAAC,CAAC;IAC7BS,OAAO,CAACG,UAAU,CAACX,OAAO,CAAC,CAAC,CAAC;IAC7BQ,OAAO,CAACG,UAAU,CAACV,KAAK,CAAC,CAAC,CAAC;IAC3BO,OAAO,CAACG,UAAU,CAACT,IAAI,CAAC,CAAC,CAAC;IAC1BM,OAAO,CAACG,UAAU,CAACR,MAAM,CAAC,CAAC,CAAC;IAC5BK,OAAO,CAACG,UAAU,CAACP,OAAO,CAAC,CAAC,CAAC;IAC7BI,OAAO,CAACG,UAAU,CAACN,KAAK,CAAC,CAAC,CAAC;IAC3B;IACA;;IAEAG,OAAO,CAACI,kBAAkB,CAAC,CAAC;IAC5BJ,OAAO,CAACK,uBAAuB,CAAC,CAAC;IACjCL,OAAO,CAACM,KAAK,CAAC,CAAC;EACjB,CAAC,CAAC,OAAOC,CAAC,EAAE;IACVT,YAAY,CAAE,oCAAmCS,CAAE,EAAC,EAAE,OAAO,CAAC;EAChE;AACF,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"app.js","names":["frodo","Command","admin","agent","app","authz","conn","email","esv","idm","idp","info","journey","log","oauth","realm","saml","script","service","shell","theme","printMessage","getVersions","initConnectionProfiles","program","version","addCommand","showHelpAfterError","enablePositionalOptions","parse","e","process","exitCode","stack"],"sources":["../src/app.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Command } from 'commander';\n\n// commands\nimport admin from './cli/admin/admin';\nimport agent from './cli/agent/agent';\nimport app from './cli/app/app';\nimport authz from './cli/authz/authz';\nimport conn from './cli/conn/conn';\nimport email from './cli/email/email';\nimport esv from './cli/esv/esv';\nimport idm from './cli/idm/idm';\nimport idp from './cli/idp/idp';\nimport info from './cli/info/info';\nimport journey from './cli/journey/journey';\nimport log from './cli/log/log';\nimport oauth from './cli/oauth/oauth';\nimport realm from './cli/realm/realm';\nimport saml from './cli/saml/saml';\nimport script from './cli/script/script';\nimport service from './cli/service/service';\nimport shell from './cli/shell/shell';\n// enable sample command template.\n// import something from './cli/_template/something';\nimport theme from './cli/theme/theme';\nimport { printMessage } from './utils/Console';\nimport { getVersions } from './utils/Version';\n\nconst { initConnectionProfiles } = frodo.conn;\n\n(async () => {\n try {\n const program = new Command('frodo').version(\n await getVersions(false),\n '-v, --version'\n );\n\n printMessage(await getVersions(true), 'text', false);\n\n await initConnectionProfiles();\n\n program.addCommand(admin());\n program.addCommand(agent());\n program.addCommand(authz());\n program.addCommand(app());\n program.addCommand(conn());\n program.addCommand(email());\n program.addCommand(esv());\n program.addCommand(idm());\n program.addCommand(idp());\n program.addCommand(info());\n program.addCommand(journey());\n program.addCommand(log());\n program.addCommand(oauth());\n program.addCommand(realm());\n program.addCommand(saml());\n program.addCommand(script());\n program.addCommand(service());\n program.addCommand(shell());\n program.addCommand(theme());\n // enable sample command template.\n // program.addCommand(something());\n\n program.showHelpAfterError();\n program.enablePositionalOptions();\n program.parse();\n } catch (e) {\n process.exitCode = 1;\n printMessage(`ERROR: exception running frodo - ${e}`, 'error');\n printMessage(e.stack, 'error');\n }\n})();\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { Argument, Command, Option } from 'commander';
2
- import * as globalConfig from '../storage/StaticStorage';
3
1
  import { state } from '@rockcarver/frodo-lib';
2
+ import { Argument, Command, Option } from 'commander';
4
3
  import fs from 'fs';
5
- import { printMessage, createProgressIndicator, updateProgressIndicator, stopProgressIndicator, verboseMessage, debugMessage, curlirizeMessage } from '../utils/Console.js';
4
+ import * as globalConfig from '../storage/StaticStorage';
5
+ import { createProgressIndicator, curlirizeMessage, debugMessage, printMessage, stopProgressIndicator, updateProgressIndicator, verboseMessage } from '../utils/Console.js';
6
6
  const hostArgument = new Argument('[host]', 'Access Management base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring.');
7
7
  const realmArgument = new Argument('[realm]', "Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise.").default(
8
8
  // must check for FRODO_REALM env variable here because otherwise cli will overwrite realm with default value
@@ -57,6 +57,17 @@ export class FrodoStubCommand extends Command {
57
57
  */
58
58
  constructor(name) {
59
59
  super(name);
60
+ if (!process.listenerCount('unhandledRejection')) {
61
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
+ process.on('unhandledRejection', error => {
63
+ var _error$config, _error$config2, _error$response;
64
+ printMessage(`${(_error$config = error.config) !== null && _error$config !== void 0 && _error$config.method ? error.config.method + ' ' : ''}${(_error$config2 = error.config) !== null && _error$config2 !== void 0 && _error$config2.url ? error.config.url : ''}`, 'error');
65
+ printMessage((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data, 'error');
66
+ printMessage(error.stack, 'error');
67
+ printMessage(`Please report this unhandled error here: https://github.com/rockcarver/frodo-cli/issues`, 'error');
68
+ process.exitCode = 1;
69
+ });
70
+ }
60
71
 
61
72
  // other default settings
62
73
  this.helpOption('-h, --help', 'Help');
@@ -98,6 +109,9 @@ export class FrodoCommand extends FrodoStubCommand {
98
109
  for (const opt of defaultOpts) {
99
110
  if (!omits.includes(opt.name())) this.addOption(opt);
100
111
  }
112
+
113
+ // additional help
114
+ this.addHelpText('after', `\nEvironment Variables:\n` + ` FRODO_HOST: Access Management base URL. Overrides 'host' argument.\n` + ` FRODO_REALM: Realm. Overrides 'realm' argument.\n` + ` FRODO_USERNAME: Username. Overrides 'username' argument.\n` + ` FRODO_PASSWORD: Password. Overrides 'password' argument.\n` + ` FRODO_SA_ID: Service account uuid. Overrides '--sa-id' option.\n` + ` FRODO_SA_JWK: Service account JWK. Overrides '--sa-jwk-file' option but takes the actual JWK as a value, not a file name.\n` + ('frodo conn save' === this.name() ? ` FRODO_LOG_KEY: Log API key. Overrides '--log-api-key' option.\n` + ` FRODO_LOG_SECRET: Log API secret. Overrides '--log-api-secret' option.\n` : ``) + (this.name().startsWith('frodo log') ? ` FRODO_LOG_KEY: Log API key. Overrides 'username' argument.\n` + ` FRODO_LOG_SECRET: Log API secret. Overrides 'password' argument.\n` : ``) + ` FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'.\n` + ` FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use.\n` + ` FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'.\n` + ` FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file.\n` + ` FRODO_MASTER_KEY: Use this master key instead of '~/.frodo/masterkey.key' file. Takes precedence over FRODO_MASTER_KEY_PATH.\n`);
101
115
  }
102
116
 
103
117
  /**
@@ -141,4 +155,4 @@ export class FrodoCommand extends FrodoStubCommand {
141
155
  }
142
156
  }
143
157
  }
144
- //# sourceMappingURL=FrodoCommand.js.map
158
+ //# sourceMappingURL=FrodoCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrodoCommand.js","names":["Argument","Command","Option","globalConfig","state","fs","printMessage","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","verboseMessage","debugMessage","curlirizeMessage","hostArgument","realmArgument","default","process","env","FRODO_REALM","DEFAULT_REALM_KEY","usernameArgument","passwordArgument","serviceAccountIdOption","serviceAccountJwkFileOption","deploymentOption","choices","DEPLOYMENT_TYPES","insecureOption","verboseOption","debugOption","curlirizeOption","defaultArgs","defaultOpts","stateMap","name","host","setHost","realm","setRealm","username","setUsername","password","setPassword","attributeName","saId","setServiceAccountId","file","data","readFileSync","jwk","JSON","parse","toString","setServiceAccountJwk","error","message","type","setDeploymentType","insecure","setAllowInsecureConnection","verbose","setVerbose","debug","setDebug","curlirize","setCurlirize","FrodoStubCommand","constructor","helpOption","showHelpAfterError","configureHelp","sortSubcommands","sortOptions","setPrintHandler","setVerboseHandler","setDebugHandler","setCurlirizeHandler","setCreateProgressHandler","setUpdateProgressHandler","setStopProgressHandler","FrodoCommand","omits","arg","includes","addArgument","opt","addOption","handleDefaultArgsAndOpts","args","command","pop","options","i","v","entries","_args","length","Object","keys","handler","k"],"sources":["cli/FrodoCommand.ts"],"sourcesContent":["import { Argument, Command, Option } from 'commander';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { state } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport {\n printMessage,\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n verboseMessage,\n debugMessage,\n curlirizeMessage,\n} from '../utils/Console.js';\n\nconst hostArgument = new Argument(\n '[host]',\n 'Access Management base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring.'\n);\n\nconst realmArgument = new Argument(\n '[realm]',\n \"Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise.\"\n).default(\n // must check for FRODO_REALM env variable here because otherwise cli will overwrite realm with default value\n process.env.FRODO_REALM || globalConfig.DEFAULT_REALM_KEY,\n '\"alpha\" for Identity Cloud tenants, \"/\" otherwise.'\n);\n\nconst usernameArgument = new Argument(\n '[username]',\n 'Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees.'\n);\n\nconst passwordArgument = new Argument('[password]', 'Password.');\n\nconst serviceAccountIdOption = new Option(\n '--sa-id <sa-id>',\n 'Service account id.'\n);\n\nconst serviceAccountJwkFileOption = new Option(\n '--sa-jwk-file <file>',\n 'File containing the JSON Web Key (JWK) associated with the the service account.'\n);\n\nconst deploymentOption = new Option(\n '-m, --type <type>',\n 'Override auto-detected deployment type. Valid values for type: \\n\\\nclassic: A classic Access Management-only deployment with custom layout and configuration. \\n\\\ncloud: A ForgeRock Identity Cloud environment. \\n\\\nforgeops: A ForgeOps CDK or CDM deployment. \\n\\\nThe detected or provided deployment type controls certain behavior like obtaining an Identity \\\nManagement admin token or not and whether to export/import referenced email templates or how \\\nto walk through the tenant admin login flow of Identity Cloud and handle MFA'\n).choices(globalConfig.DEPLOYMENT_TYPES);\n\nconst insecureOption = new Option(\n '-k, --insecure',\n 'Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://<host>:<port>), in that case the proxy must provide this capability.'\n).default(false, \"Don't allow insecure connections\");\n\nconst verboseOption = new Option(\n '--verbose',\n 'Verbose output during command execution. If specified, may or may not produce additional output.'\n);\n\nconst debugOption = new Option(\n '--debug',\n 'Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting.'\n);\n\nconst curlirizeOption = new Option(\n '--curlirize',\n 'Output all network calls in curl format.'\n);\n\nconst defaultArgs = [\n hostArgument,\n realmArgument,\n usernameArgument,\n passwordArgument,\n];\n\nconst defaultOpts = [\n serviceAccountIdOption,\n serviceAccountJwkFileOption,\n deploymentOption,\n insecureOption,\n verboseOption,\n debugOption,\n curlirizeOption,\n];\n\nconst stateMap = {\n [hostArgument.name()]: (host: string) => state.setHost(host),\n [realmArgument.name()]: (realm: string) => state.setRealm(realm),\n [usernameArgument.name()]: (username: string) => state.setUsername(username),\n [passwordArgument.name()]: (password: string) => state.setPassword(password),\n [serviceAccountIdOption.attributeName()]: (saId: string) =>\n state.setServiceAccountId(saId),\n [serviceAccountJwkFileOption.attributeName()]: (file: string) => {\n try {\n const data = fs.readFileSync(file);\n const jwk = JSON.parse(data.toString());\n state.setServiceAccountJwk(jwk);\n } catch (error) {\n printMessage(\n `Error parsing JWK from file ${file}: ${error.message}`,\n 'error'\n );\n }\n },\n [deploymentOption.attributeName()]: (type: string) =>\n state.setDeploymentType(type),\n [insecureOption.attributeName()]: (insecure: boolean) =>\n state.setAllowInsecureConnection(insecure),\n [verboseOption.attributeName()]: (verbose: boolean) =>\n state.setVerbose(verbose),\n [debugOption.attributeName()]: (debug: boolean) => state.setDebug(debug),\n [curlirizeOption.attributeName()]: (curlirize: boolean) =>\n state.setCurlirize(curlirize),\n};\n\n/**\n * Command with default options\n */\nexport class FrodoStubCommand extends Command {\n /**\n * Creates a new FrodoCommand instance\n * @param name Name of the command\n * @param omits Array of default argument names and default option names that should not be added to this command\n */\n constructor(name: string) {\n super(name);\n\n // other default settings\n this.helpOption('-h, --help', 'Help');\n this.showHelpAfterError();\n this.configureHelp({\n sortSubcommands: true,\n sortOptions: true,\n });\n\n // register default handlers\n state.setPrintHandler(printMessage);\n state.setVerboseHandler(verboseMessage);\n state.setDebugHandler(debugMessage);\n state.setCurlirizeHandler(curlirizeMessage);\n state.setCreateProgressHandler(createProgressIndicator);\n state.setUpdateProgressHandler(updateProgressIndicator);\n state.setStopProgressHandler(stopProgressIndicator);\n }\n}\n\n/**\n * Command with default options\n */\nexport class FrodoCommand extends FrodoStubCommand {\n /**\n * Creates a new FrodoCommand instance\n * @param name Name of the command\n * @param omits Array of default argument names and default option names that should not be added to this command\n */\n constructor(name: string, omits: string[] = []) {\n super(name);\n\n // register default arguments\n for (const arg of defaultArgs) {\n if (!omits.includes(arg.name())) this.addArgument(arg);\n }\n\n // register default options\n for (const opt of defaultOpts) {\n if (!omits.includes(opt.name())) this.addOption(opt);\n }\n }\n\n /**\n *\n * @param args\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handleDefaultArgsAndOpts(...args: any) {\n const command = args.pop();\n const options = args.pop();\n\n // handle arguments first\n for (const [i, v] of command.args.entries()) {\n if (!command._args[i]) {\n printMessage(\n `${command.args.length} arguments supplied but command only supports ${command._args.length}.`,\n 'warn'\n );\n break;\n }\n const arg = command._args[i].name();\n // handle only default arguments\n if (Object.keys(stateMap).includes(arg)) {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Handling default argument '${arg}'.`\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handler: any = stateMap[arg];\n handler(v);\n } else {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Ignoring non-default argument '${arg}'.`\n );\n }\n }\n\n // handle options\n for (const [k, v] of Object.entries(options)) {\n // handle only default options\n if (Object.keys(stateMap).includes(k)) {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Handling default option '${k}'.`\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handler: any = stateMap[k];\n handler(v);\n } else {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Ignoring non-default option '${k}'.`\n );\n }\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FrodoCommand.js","names":["state","Argument","Command","Option","fs","globalConfig","createProgressIndicator","curlirizeMessage","debugMessage","printMessage","stopProgressIndicator","updateProgressIndicator","verboseMessage","hostArgument","realmArgument","default","process","env","FRODO_REALM","DEFAULT_REALM_KEY","usernameArgument","passwordArgument","serviceAccountIdOption","serviceAccountJwkFileOption","deploymentOption","choices","DEPLOYMENT_TYPES","insecureOption","verboseOption","debugOption","curlirizeOption","defaultArgs","defaultOpts","stateMap","name","host","setHost","realm","setRealm","username","setUsername","password","setPassword","attributeName","saId","setServiceAccountId","file","data","readFileSync","jwk","JSON","parse","toString","setServiceAccountJwk","error","message","type","setDeploymentType","insecure","setAllowInsecureConnection","verbose","setVerbose","debug","setDebug","curlirize","setCurlirize","FrodoStubCommand","constructor","listenerCount","on","_error$config","_error$config2","_error$response","config","method","url","response","stack","exitCode","helpOption","showHelpAfterError","configureHelp","sortSubcommands","sortOptions","setPrintHandler","setVerboseHandler","setDebugHandler","setCurlirizeHandler","setCreateProgressHandler","setUpdateProgressHandler","setStopProgressHandler","FrodoCommand","omits","arg","includes","addArgument","opt","addOption","addHelpText","startsWith","handleDefaultArgsAndOpts","args","command","pop","options","i","v","entries","_args","length","Object","keys","handler","k"],"sources":["../../src/cli/FrodoCommand.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Argument, Command, Option } from 'commander';\nimport fs from 'fs';\n\nimport * as globalConfig from '../storage/StaticStorage';\nimport {\n createProgressIndicator,\n curlirizeMessage,\n debugMessage,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n verboseMessage,\n} from '../utils/Console.js';\n\nconst hostArgument = new Argument(\n '[host]',\n 'Access Management base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring.'\n);\n\nconst realmArgument = new Argument(\n '[realm]',\n \"Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise.\"\n).default(\n // must check for FRODO_REALM env variable here because otherwise cli will overwrite realm with default value\n process.env.FRODO_REALM || globalConfig.DEFAULT_REALM_KEY,\n '\"alpha\" for Identity Cloud tenants, \"/\" otherwise.'\n);\n\nconst usernameArgument = new Argument(\n '[username]',\n 'Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees.'\n);\n\nconst passwordArgument = new Argument('[password]', 'Password.');\n\nconst serviceAccountIdOption = new Option(\n '--sa-id <sa-id>',\n 'Service account id.'\n);\n\nconst serviceAccountJwkFileOption = new Option(\n '--sa-jwk-file <file>',\n 'File containing the JSON Web Key (JWK) associated with the the service account.'\n);\n\nconst deploymentOption = new Option(\n '-m, --type <type>',\n 'Override auto-detected deployment type. Valid values for type: \\n\\\nclassic: A classic Access Management-only deployment with custom layout and configuration. \\n\\\ncloud: A ForgeRock Identity Cloud environment. \\n\\\nforgeops: A ForgeOps CDK or CDM deployment. \\n\\\nThe detected or provided deployment type controls certain behavior like obtaining an Identity \\\nManagement admin token or not and whether to export/import referenced email templates or how \\\nto walk through the tenant admin login flow of Identity Cloud and handle MFA'\n).choices(globalConfig.DEPLOYMENT_TYPES);\n\nconst insecureOption = new Option(\n '-k, --insecure',\n 'Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://<host>:<port>), in that case the proxy must provide this capability.'\n).default(false, \"Don't allow insecure connections\");\n\nconst verboseOption = new Option(\n '--verbose',\n 'Verbose output during command execution. If specified, may or may not produce additional output.'\n);\n\nconst debugOption = new Option(\n '--debug',\n 'Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting.'\n);\n\nconst curlirizeOption = new Option(\n '--curlirize',\n 'Output all network calls in curl format.'\n);\n\nconst defaultArgs = [\n hostArgument,\n realmArgument,\n usernameArgument,\n passwordArgument,\n];\n\nconst defaultOpts = [\n serviceAccountIdOption,\n serviceAccountJwkFileOption,\n deploymentOption,\n insecureOption,\n verboseOption,\n debugOption,\n curlirizeOption,\n];\n\nconst stateMap = {\n [hostArgument.name()]: (host: string) => state.setHost(host),\n [realmArgument.name()]: (realm: string) => state.setRealm(realm),\n [usernameArgument.name()]: (username: string) => state.setUsername(username),\n [passwordArgument.name()]: (password: string) => state.setPassword(password),\n [serviceAccountIdOption.attributeName()]: (saId: string) =>\n state.setServiceAccountId(saId),\n [serviceAccountJwkFileOption.attributeName()]: (file: string) => {\n try {\n const data = fs.readFileSync(file);\n const jwk = JSON.parse(data.toString());\n state.setServiceAccountJwk(jwk);\n } catch (error) {\n printMessage(\n `Error parsing JWK from file ${file}: ${error.message}`,\n 'error'\n );\n }\n },\n [deploymentOption.attributeName()]: (type: string) =>\n state.setDeploymentType(type),\n [insecureOption.attributeName()]: (insecure: boolean) =>\n state.setAllowInsecureConnection(insecure),\n [verboseOption.attributeName()]: (verbose: boolean) =>\n state.setVerbose(verbose),\n [debugOption.attributeName()]: (debug: boolean) => state.setDebug(debug),\n [curlirizeOption.attributeName()]: (curlirize: boolean) =>\n state.setCurlirize(curlirize),\n};\n\n/**\n * Command with default options\n */\nexport class FrodoStubCommand extends Command {\n /**\n * Creates a new FrodoCommand instance\n * @param name Name of the command\n * @param omits Array of default argument names and default option names that should not be added to this command\n */\n constructor(name: string) {\n super(name);\n\n if (!process.listenerCount('unhandledRejection')) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n process.on('unhandledRejection', (error: any) => {\n printMessage(\n `${error.config?.method ? error.config.method + ' ' : ''}${\n error.config?.url ? error.config.url : ''\n }`,\n 'error'\n );\n printMessage(error.response?.data, 'error');\n printMessage(error.stack, 'error');\n printMessage(\n `Please report this unhandled error here: https://github.com/rockcarver/frodo-cli/issues`,\n 'error'\n );\n process.exitCode = 1;\n });\n }\n\n // other default settings\n this.helpOption('-h, --help', 'Help');\n this.showHelpAfterError();\n this.configureHelp({\n sortSubcommands: true,\n sortOptions: true,\n });\n\n // register default handlers\n state.setPrintHandler(printMessage);\n state.setVerboseHandler(verboseMessage);\n state.setDebugHandler(debugMessage);\n state.setCurlirizeHandler(curlirizeMessage);\n state.setCreateProgressHandler(createProgressIndicator);\n state.setUpdateProgressHandler(updateProgressIndicator);\n state.setStopProgressHandler(stopProgressIndicator);\n }\n}\n\n/**\n * Command with default options\n */\nexport class FrodoCommand extends FrodoStubCommand {\n /**\n * Creates a new FrodoCommand instance\n * @param name Name of the command\n * @param omits Array of default argument names and default option names that should not be added to this command\n */\n constructor(name: string, omits: string[] = []) {\n super(name);\n\n // register default arguments\n for (const arg of defaultArgs) {\n if (!omits.includes(arg.name())) this.addArgument(arg);\n }\n\n // register default options\n for (const opt of defaultOpts) {\n if (!omits.includes(opt.name())) this.addOption(opt);\n }\n\n // additional help\n this.addHelpText(\n 'after',\n `\\nEvironment Variables:\\n` +\n ` FRODO_HOST: Access Management base URL. Overrides 'host' argument.\\n` +\n ` FRODO_REALM: Realm. Overrides 'realm' argument.\\n` +\n ` FRODO_USERNAME: Username. Overrides 'username' argument.\\n` +\n ` FRODO_PASSWORD: Password. Overrides 'password' argument.\\n` +\n ` FRODO_SA_ID: Service account uuid. Overrides '--sa-id' option.\\n` +\n ` FRODO_SA_JWK: Service account JWK. Overrides '--sa-jwk-file' option but takes the actual JWK as a value, not a file name.\\n` +\n ('frodo conn save' === this.name()\n ? ` FRODO_LOG_KEY: Log API key. Overrides '--log-api-key' option.\\n` +\n ` FRODO_LOG_SECRET: Log API secret. Overrides '--log-api-secret' option.\\n`\n : ``) +\n (this.name().startsWith('frodo log')\n ? ` FRODO_LOG_KEY: Log API key. Overrides 'username' argument.\\n` +\n ` FRODO_LOG_SECRET: Log API secret. Overrides 'password' argument.\\n`\n : ``) +\n ` FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'.\\n` +\n ` FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use.\\n` +\n ` FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'.\\n` +\n ` FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file.\\n` +\n ` FRODO_MASTER_KEY: Use this master key instead of '~/.frodo/masterkey.key' file. Takes precedence over FRODO_MASTER_KEY_PATH.\\n`\n );\n }\n\n /**\n *\n * @param args\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handleDefaultArgsAndOpts(...args: any) {\n const command = args.pop();\n const options = args.pop();\n\n // handle arguments first\n for (const [i, v] of command.args.entries()) {\n if (!command._args[i]) {\n printMessage(\n `${command.args.length} arguments supplied but command only supports ${command._args.length}.`,\n 'warn'\n );\n break;\n }\n const arg = command._args[i].name();\n // handle only default arguments\n if (Object.keys(stateMap).includes(arg)) {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Handling default argument '${arg}'.`\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handler: any = stateMap[arg];\n handler(v);\n } else {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Ignoring non-default argument '${arg}'.`\n );\n }\n }\n\n // handle options\n for (const [k, v] of Object.entries(options)) {\n // handle only default options\n if (Object.keys(stateMap).includes(k)) {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Handling default option '${k}'.`\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handler: any = stateMap[k];\n handler(v);\n } else {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Ignoring non-default option '${k}'.`\n );\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,12 +1,15 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
2
+ import { Option } from 'commander';
3
+ import { FrodoCommand } from '../FrodoCommand';
4
+ const {
5
+ getTokens
6
+ } = frodo.login;
4
7
  const program = new FrodoCommand('frodo something delete');
5
8
  program.description('Delete something.').addOption(new Option('-i, --something-id <something-id>', '[Something] id. If specified, -a and -A are ignored.')).addOption(new Option('-a, --all', 'Delete all [somethings]. Ignored with -i.')).addOption(new Option('--no-deep', 'No deep delete. This leaves orphaned configuration artifacts behind.')).action(
6
9
  // implement command logic inside action handler
7
10
  async (host, realm, user, password, options, command) => {
8
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await frodo.login.getTokens()) {
12
+ if (await getTokens()) {
10
13
  // code goes here
11
14
  } else {
12
15
  process.exitCode = 1;
@@ -16,4 +19,4 @@ async (host, realm, user, password, options, command) => {
16
19
  );
17
20
 
18
21
  program.parse();
19
- //# sourceMappingURL=something-delete.js.map
22
+ //# sourceMappingURL=something-delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"something-delete.js","names":["FrodoCommand","Option","frodo","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","process","exitCode","parse"],"sources":["cli/_template/something-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\n\nconst program = new FrodoCommand('frodo something delete');\n\nprogram\n .description('Delete something.')\n .addOption(\n new Option(\n '-i, --something-id <something-id>',\n '[Something] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all [somethings]. Ignored with -i.')\n )\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await frodo.login.getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,uBAAuB;AAE7C,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,wBAAwB,CAAC;AAE1DG,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIJ,MAAM,CACR,mCAAmC,EACnC,sDACF,CACF,CAAC,CACAI,SAAS,CACR,IAAIJ,MAAM,CAAC,WAAW,EAAE,2CAA2C,CACrE,CAAC,CACAI,SAAS,CACR,IAAIJ,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAK,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,KAAK,CAACY,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjC;EAAA,CACD,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"something-delete.js","names":["frodo","Option","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/_template/something-delete.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo something delete');\n\nprogram\n .description('Delete something.')\n .addOption(\n new Option(\n '-i, --something-id <something-id>',\n '[Something] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all [somethings]. Ignored with -i.')\n )\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGH,KAAK,CAACI,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,wBAAwB,CAAC;AAE1DG,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIN,MAAM,CACR,mCAAmC,EACnC,sDACF,CACF,CAAC,CACAM,SAAS,CACR,IAAIN,MAAM,CAAC,WAAW,EAAE,2CAA2C,CACrE,CAAC,CACAM,SAAS,CACR,IAAIN,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAO,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1,12 +1,15 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
2
+ import { Option } from 'commander';
3
+ import { FrodoCommand } from '../FrodoCommand';
4
+ const {
5
+ getTokens
6
+ } = frodo.login;
4
7
  const program = new FrodoCommand('frodo something describe');
5
8
  program.description('Describe something.').addOption(new Option('-i, --something-id <something-id>', '[Something] id.')).action(
6
9
  // implement command logic inside action handler
7
10
  async (host, realm, user, password, options, command) => {
8
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await frodo.login.getTokens()) {
12
+ if (await getTokens()) {
10
13
  // code goes here
11
14
  } else {
12
15
  process.exitCode = 1;
@@ -16,4 +19,4 @@ async (host, realm, user, password, options, command) => {
16
19
  );
17
20
 
18
21
  program.parse();
19
- //# sourceMappingURL=something-describe.js.map
22
+ //# sourceMappingURL=something-describe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"something-describe.js","names":["FrodoCommand","Option","frodo","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","process","exitCode","parse"],"sources":["cli/_template/something-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\n\nconst program = new FrodoCommand('frodo something describe');\n\nprogram\n .description('Describe something.')\n .addOption(new Option('-i, --something-id <something-id>', '[Something] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await frodo.login.getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,uBAAuB;AAE7C,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,0BAA0B,CAAC;AAE5DG,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CAAC,IAAIJ,MAAM,CAAC,mCAAmC,EAAE,iBAAiB,CAAC,CAAC,CAC7EK,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,KAAK,CAACY,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjC;EAAA,CACD,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"something-describe.js","names":["frodo","Option","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/_template/something-describe.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo something describe');\n\nprogram\n .description('Describe something.')\n .addOption(new Option('-i, --something-id <something-id>', '[Something] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGH,KAAK,CAACI,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,0BAA0B,CAAC;AAE5DG,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CAAC,IAAIN,MAAM,CAAC,mCAAmC,EAAE,iBAAiB,CAAC,CAAC,CAC7EO,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1,12 +1,15 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
2
+ import { Option } from 'commander';
3
+ import { FrodoCommand } from '../FrodoCommand';
4
+ const {
5
+ getTokens
6
+ } = frodo.login;
4
7
  const program = new FrodoCommand('frodo something else delete');
5
8
  program.description('Delete something else.').addOption(new Option('-i, --else-id <else-id>', '[Else] id. If specified, -a and -A are ignored.')).addOption(new Option('-a, --all', 'Delete all [elses]. Ignored with -i.')).addOption(new Option('--no-deep', 'No deep delete. This leaves orphaned configuration artifacts behind.')).action(
6
9
  // implement command logic inside action handler
7
10
  async (host, realm, user, password, options, command) => {
8
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await frodo.login.getTokens()) {
12
+ if (await getTokens()) {
10
13
  // code goes here
11
14
  } else {
12
15
  process.exitCode = 1;
@@ -16,4 +19,4 @@ async (host, realm, user, password, options, command) => {
16
19
  );
17
20
 
18
21
  program.parse();
19
- //# sourceMappingURL=something-else-delete.js.map
22
+ //# sourceMappingURL=something-else-delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"something-else-delete.js","names":["FrodoCommand","Option","frodo","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","process","exitCode","parse"],"sources":["cli/_template/something-else-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\n\nconst program = new FrodoCommand('frodo something else delete');\n\nprogram\n .description('Delete something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-a, --all', 'Delete all [elses]. Ignored with -i.'))\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await frodo.login.getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,uBAAuB;AAE7C,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,6BAA6B,CAAC;AAE/DG,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIJ,MAAM,CACR,yBAAyB,EACzB,iDACF,CACF,CAAC,CACAI,SAAS,CAAC,IAAIJ,MAAM,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC,CAC1EI,SAAS,CACR,IAAIJ,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAK,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,KAAK,CAACY,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjC;EAAA,CACD,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"something-else-delete.js","names":["frodo","Option","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/_template/something-else-delete.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo something else delete');\n\nprogram\n .description('Delete something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-a, --all', 'Delete all [elses]. Ignored with -i.'))\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGH,KAAK,CAACI,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,6BAA6B,CAAC;AAE/DG,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIN,MAAM,CACR,yBAAyB,EACzB,iDACF,CACF,CAAC,CACAM,SAAS,CAAC,IAAIN,MAAM,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC,CAC1EM,SAAS,CACR,IAAIN,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAO,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1,12 +1,15 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
2
+ import { Option } from 'commander';
3
+ import { FrodoCommand } from '../FrodoCommand';
4
+ const {
5
+ getTokens
6
+ } = frodo.login;
4
7
  const program = new FrodoCommand('frodo something else describe');
5
8
  program.description('Describe something else.').addOption(new Option('-i, --else-id <else-id>', '[Else] id.')).action(
6
9
  // implement command logic inside action handler
7
10
  async (host, realm, user, password, options, command) => {
8
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await frodo.login.getTokens()) {
12
+ if (await getTokens()) {
10
13
  // code goes here
11
14
  } else {
12
15
  process.exitCode = 1;
@@ -16,4 +19,4 @@ async (host, realm, user, password, options, command) => {
16
19
  );
17
20
 
18
21
  program.parse();
19
- //# sourceMappingURL=something-else-describe.js.map
22
+ //# sourceMappingURL=something-else-describe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"something-else-describe.js","names":["FrodoCommand","Option","frodo","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","process","exitCode","parse"],"sources":["cli/_template/something-else-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\n\nconst program = new FrodoCommand('frodo something else describe');\n\nprogram\n .description('Describe something else.')\n .addOption(new Option('-i, --else-id <else-id>', '[Else] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await frodo.login.getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,uBAAuB;AAE7C,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,+BAA+B,CAAC;AAEjEG,OAAO,CACJC,WAAW,CAAC,0BAA0B,CAAC,CACvCC,SAAS,CAAC,IAAIJ,MAAM,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,CAC9DK,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,KAAK,CAACY,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjC;EAAA,CACD,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"something-else-describe.js","names":["frodo","Option","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/_template/something-else-describe.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo something else describe');\n\nprogram\n .description('Describe something else.')\n .addOption(new Option('-i, --else-id <else-id>', '[Else] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGH,KAAK,CAACI,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,+BAA+B,CAAC;AAEjEG,OAAO,CACJC,WAAW,CAAC,0BAA0B,CAAC,CACvCC,SAAS,CAAC,IAAIN,MAAM,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,CAC9DO,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1,12 +1,15 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
2
+ import { Option } from 'commander';
3
+ import { FrodoCommand } from '../FrodoCommand';
4
+ const {
5
+ getTokens
6
+ } = frodo.login;
4
7
  const program = new FrodoCommand('frodo something else export');
5
8
  program.description('Export something else.').addOption(new Option('-i, --else-id <else-id>', '[Else] id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the export file.')).addOption(new Option('-a, --all', 'Export all [else] to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all [else] to separate files (*.[else].json) in the current directory. Ignored with -i or -a.')).action(
6
9
  // implement command logic inside action handler
7
10
  async (host, realm, user, password, options, command) => {
8
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await frodo.login.getTokens()) {
12
+ if (await getTokens()) {
10
13
  // code goes here
11
14
  } else {
12
15
  process.exitCode = 1;
@@ -16,4 +19,4 @@ async (host, realm, user, password, options, command) => {
16
19
  );
17
20
 
18
21
  program.parse();
19
- //# sourceMappingURL=something-else-export.js.map
22
+ //# sourceMappingURL=something-else-export.js.map