@rockcarver/frodo-cli 2.0.0-59 → 2.0.0-60

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 (498) hide show
  1. package/.vscode/launch.json +1 -0
  2. package/CHANGELOG.md +10 -1
  3. package/dist/app.cjs +187368 -0
  4. package/dist/app.cjs.map +1 -0
  5. package/dist/app.d.cts +2 -0
  6. package/dist/chunk-MPPKDFVI.cjs +56 -0
  7. package/dist/chunk-MPPKDFVI.cjs.map +1 -0
  8. package/dist/launch.cjs +27 -0
  9. package/dist/launch.cjs.map +1 -0
  10. package/dist/launch.d.cts +1 -0
  11. package/dist/loader.cjs +836 -0
  12. package/dist/loader.cjs.map +1 -0
  13. package/dist/loader.d.cts +3 -0
  14. package/package.json +37 -53
  15. package/tsup.config.ts +40 -0
  16. package/esm/app.js +0 -80
  17. package/esm/app.js.map +0 -1
  18. package/esm/cli/FrodoCommand.js +0 -181
  19. package/esm/cli/FrodoCommand.js.map +0 -1
  20. package/esm/cli/_template/something-delete.js +0 -20
  21. package/esm/cli/_template/something-delete.js.map +0 -1
  22. package/esm/cli/_template/something-describe.js +0 -20
  23. package/esm/cli/_template/something-describe.js.map +0 -1
  24. package/esm/cli/_template/something-else-delete.js +0 -20
  25. package/esm/cli/_template/something-else-delete.js.map +0 -1
  26. package/esm/cli/_template/something-else-describe.js +0 -20
  27. package/esm/cli/_template/something-else-describe.js.map +0 -1
  28. package/esm/cli/_template/something-else-export.js +0 -20
  29. package/esm/cli/_template/something-else-export.js.map +0 -1
  30. package/esm/cli/_template/something-else-import.js +0 -20
  31. package/esm/cli/_template/something-else-import.js.map +0 -1
  32. package/esm/cli/_template/something-else-list.js +0 -20
  33. package/esm/cli/_template/something-else-list.js.map +0 -1
  34. package/esm/cli/_template/something-else.js +0 -17
  35. package/esm/cli/_template/something-else.js.map +0 -1
  36. package/esm/cli/_template/something-export.js +0 -20
  37. package/esm/cli/_template/something-export.js.map +0 -1
  38. package/esm/cli/_template/something-import.js +0 -20
  39. package/esm/cli/_template/something-import.js.map +0 -1
  40. package/esm/cli/_template/something-list.js +0 -20
  41. package/esm/cli/_template/something-list.js.map +0 -1
  42. package/esm/cli/_template/something-other-delete.js +0 -20
  43. package/esm/cli/_template/something-other-delete.js.map +0 -1
  44. package/esm/cli/_template/something-other-describe.js +0 -20
  45. package/esm/cli/_template/something-other-describe.js.map +0 -1
  46. package/esm/cli/_template/something-other-export.js +0 -20
  47. package/esm/cli/_template/something-other-export.js.map +0 -1
  48. package/esm/cli/_template/something-other-import.js +0 -20
  49. package/esm/cli/_template/something-other-import.js.map +0 -1
  50. package/esm/cli/_template/something-other-list.js +0 -20
  51. package/esm/cli/_template/something-other-list.js.map +0 -1
  52. package/esm/cli/_template/something-other.js +0 -17
  53. package/esm/cli/_template/something-other.js.map +0 -1
  54. package/esm/cli/_template/something.js +0 -20
  55. package/esm/cli/_template/something.js.map +0 -1
  56. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +0 -23
  57. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +0 -1
  58. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +0 -80
  59. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +0 -1
  60. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js +0 -40
  61. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js.map +0 -1
  62. package/esm/cli/admin/admin-federation-export.js +0 -43
  63. package/esm/cli/admin/admin-federation-export.js.map +0 -1
  64. package/esm/cli/admin/admin-federation-import.js +0 -47
  65. package/esm/cli/admin/admin-federation-import.js.map +0 -1
  66. package/esm/cli/admin/admin-federation-list.js +0 -27
  67. package/esm/cli/admin/admin-federation-list.js.map +0 -1
  68. package/esm/cli/admin/admin-federation.js +0 -21
  69. package/esm/cli/admin/admin-federation.js.map +0 -1
  70. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js +0 -43
  71. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js.map +0 -1
  72. package/esm/cli/admin/admin-get-access-token.js +0 -27
  73. package/esm/cli/admin/admin-get-access-token.js.map +0 -1
  74. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +0 -25
  75. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +0 -1
  76. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +0 -25
  77. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +0 -1
  78. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +0 -24
  79. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +0 -1
  80. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +0 -24
  81. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +0 -1
  82. package/esm/cli/admin/admin-list-static-user-mappings.js +0 -24
  83. package/esm/cli/admin/admin-list-static-user-mappings.js.map +0 -1
  84. package/esm/cli/admin/admin-remove-static-user-mapping.js +0 -24
  85. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +0 -1
  86. package/esm/cli/admin/admin-repair-org-model.js +0 -25
  87. package/esm/cli/admin/admin-repair-org-model.js.map +0 -1
  88. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +0 -25
  89. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +0 -1
  90. package/esm/cli/admin/admin-show-generic-extension-attributes.js +0 -25
  91. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +0 -1
  92. package/esm/cli/admin/admin-train-auto-access-model.js +0 -32
  93. package/esm/cli/admin/admin-train-auto-access-model.js.map +0 -1
  94. package/esm/cli/admin/admin.js +0 -41
  95. package/esm/cli/admin/admin.js.map +0 -1
  96. package/esm/cli/agent/agent-delete.js +0 -38
  97. package/esm/cli/agent/agent-delete.js.map +0 -1
  98. package/esm/cli/agent/agent-describe.js +0 -20
  99. package/esm/cli/agent/agent-describe.js.map +0 -1
  100. package/esm/cli/agent/agent-export.js +0 -43
  101. package/esm/cli/agent/agent-export.js.map +0 -1
  102. package/esm/cli/agent/agent-gateway-delete.js +0 -38
  103. package/esm/cli/agent/agent-gateway-delete.js.map +0 -1
  104. package/esm/cli/agent/agent-gateway-describe.js +0 -20
  105. package/esm/cli/agent/agent-gateway-describe.js.map +0 -1
  106. package/esm/cli/agent/agent-gateway-export.js +0 -43
  107. package/esm/cli/agent/agent-gateway-export.js.map +0 -1
  108. package/esm/cli/agent/agent-gateway-import.js +0 -49
  109. package/esm/cli/agent/agent-gateway-import.js.map +0 -1
  110. package/esm/cli/agent/agent-gateway-list.js +0 -22
  111. package/esm/cli/agent/agent-gateway-list.js.map +0 -1
  112. package/esm/cli/agent/agent-gateway.js +0 -17
  113. package/esm/cli/agent/agent-gateway.js.map +0 -1
  114. package/esm/cli/agent/agent-import.js +0 -49
  115. package/esm/cli/agent/agent-import.js.map +0 -1
  116. package/esm/cli/agent/agent-java-delete.js +0 -38
  117. package/esm/cli/agent/agent-java-delete.js.map +0 -1
  118. package/esm/cli/agent/agent-java-describe.js +0 -20
  119. package/esm/cli/agent/agent-java-describe.js.map +0 -1
  120. package/esm/cli/agent/agent-java-export.js +0 -43
  121. package/esm/cli/agent/agent-java-export.js.map +0 -1
  122. package/esm/cli/agent/agent-java-import.js +0 -49
  123. package/esm/cli/agent/agent-java-import.js.map +0 -1
  124. package/esm/cli/agent/agent-java-list.js +0 -22
  125. package/esm/cli/agent/agent-java-list.js.map +0 -1
  126. package/esm/cli/agent/agent-java.js +0 -17
  127. package/esm/cli/agent/agent-java.js.map +0 -1
  128. package/esm/cli/agent/agent-list.js +0 -22
  129. package/esm/cli/agent/agent-list.js.map +0 -1
  130. package/esm/cli/agent/agent-web-delete.js +0 -38
  131. package/esm/cli/agent/agent-web-delete.js.map +0 -1
  132. package/esm/cli/agent/agent-web-describe.js +0 -20
  133. package/esm/cli/agent/agent-web-describe.js.map +0 -1
  134. package/esm/cli/agent/agent-web-export.js +0 -43
  135. package/esm/cli/agent/agent-web-export.js.map +0 -1
  136. package/esm/cli/agent/agent-web-import.js +0 -49
  137. package/esm/cli/agent/agent-web-import.js.map +0 -1
  138. package/esm/cli/agent/agent-web-list.js +0 -22
  139. package/esm/cli/agent/agent-web-list.js.map +0 -1
  140. package/esm/cli/agent/agent-web.js +0 -17
  141. package/esm/cli/agent/agent-web.js.map +0 -1
  142. package/esm/cli/agent/agent.js +0 -22
  143. package/esm/cli/agent/agent.js.map +0 -1
  144. package/esm/cli/app/app-delete.js +0 -36
  145. package/esm/cli/app/app-delete.js.map +0 -1
  146. package/esm/cli/app/app-describe.js +0 -21
  147. package/esm/cli/app/app-describe.js.map +0 -1
  148. package/esm/cli/app/app-export.js +0 -51
  149. package/esm/cli/app/app-export.js.map +0 -1
  150. package/esm/cli/app/app-import.js +0 -56
  151. package/esm/cli/app/app-import.js.map +0 -1
  152. package/esm/cli/app/app-list.js +0 -25
  153. package/esm/cli/app/app-list.js.map +0 -1
  154. package/esm/cli/app/app.js +0 -18
  155. package/esm/cli/app/app.js.map +0 -1
  156. package/esm/cli/authn/authn-describe.js +0 -28
  157. package/esm/cli/authn/authn-describe.js.map +0 -1
  158. package/esm/cli/authn/authn-export.js +0 -24
  159. package/esm/cli/authn/authn-export.js.map +0 -1
  160. package/esm/cli/authn/authn-import.js +0 -24
  161. package/esm/cli/authn/authn-import.js.map +0 -1
  162. package/esm/cli/authn/authn.js +0 -12
  163. package/esm/cli/authn/authn.js.map +0 -1
  164. package/esm/cli/authz/authz-policy-delete.js +0 -41
  165. package/esm/cli/authz/authz-policy-delete.js.map +0 -1
  166. package/esm/cli/authz/authz-policy-describe.js +0 -28
  167. package/esm/cli/authz/authz-policy-describe.js.map +0 -1
  168. package/esm/cli/authz/authz-policy-export.js +0 -73
  169. package/esm/cli/authz/authz-policy-export.js.map +0 -1
  170. package/esm/cli/authz/authz-policy-import.js +0 -63
  171. package/esm/cli/authz/authz-policy-import.js.map +0 -1
  172. package/esm/cli/authz/authz-policy-list.js +0 -35
  173. package/esm/cli/authz/authz-policy-list.js.map +0 -1
  174. package/esm/cli/authz/authz-policy.js +0 -17
  175. package/esm/cli/authz/authz-policy.js.map +0 -1
  176. package/esm/cli/authz/authz-set-delete.js +0 -35
  177. package/esm/cli/authz/authz-set-delete.js.map +0 -1
  178. package/esm/cli/authz/authz-set-describe.js +0 -28
  179. package/esm/cli/authz/authz-set-describe.js.map +0 -1
  180. package/esm/cli/authz/authz-set-export.js +0 -53
  181. package/esm/cli/authz/authz-set-export.js.map +0 -1
  182. package/esm/cli/authz/authz-set-import.js +0 -59
  183. package/esm/cli/authz/authz-set-import.js.map +0 -1
  184. package/esm/cli/authz/authz-set-list.js +0 -23
  185. package/esm/cli/authz/authz-set-list.js.map +0 -1
  186. package/esm/cli/authz/authz-set.js +0 -17
  187. package/esm/cli/authz/authz-set.js.map +0 -1
  188. package/esm/cli/authz/authz-type-delete.js +0 -41
  189. package/esm/cli/authz/authz-type-delete.js.map +0 -1
  190. package/esm/cli/authz/authz-type-describe.js +0 -32
  191. package/esm/cli/authz/authz-type-describe.js.map +0 -1
  192. package/esm/cli/authz/authz-type-export.js +0 -47
  193. package/esm/cli/authz/authz-type-export.js.map +0 -1
  194. package/esm/cli/authz/authz-type-import.js +0 -53
  195. package/esm/cli/authz/authz-type-import.js.map +0 -1
  196. package/esm/cli/authz/authz-type-list.js +0 -24
  197. package/esm/cli/authz/authz-type-list.js.map +0 -1
  198. package/esm/cli/authz/authz-type.js +0 -17
  199. package/esm/cli/authz/authz-type.js.map +0 -1
  200. package/esm/cli/authz/authz.js +0 -12
  201. package/esm/cli/authz/authz.js.map +0 -1
  202. package/esm/cli/config/config-delete.js +0 -20
  203. package/esm/cli/config/config-delete.js.map +0 -1
  204. package/esm/cli/config/config-describe.js +0 -20
  205. package/esm/cli/config/config-describe.js.map +0 -1
  206. package/esm/cli/config/config-export.js +0 -52
  207. package/esm/cli/config/config-export.js.map +0 -1
  208. package/esm/cli/config/config-import.js +0 -62
  209. package/esm/cli/config/config-import.js.map +0 -1
  210. package/esm/cli/config/config-list.js +0 -20
  211. package/esm/cli/config/config-list.js.map +0 -1
  212. package/esm/cli/config/config.js +0 -22
  213. package/esm/cli/config/config.js.map +0 -1
  214. package/esm/cli/conn/conn-delete.js +0 -21
  215. package/esm/cli/conn/conn-delete.js.map +0 -1
  216. package/esm/cli/conn/conn-describe.js +0 -16
  217. package/esm/cli/conn/conn-describe.js.map +0 -1
  218. package/esm/cli/conn/conn-list.js +0 -16
  219. package/esm/cli/conn/conn-list.js.map +0 -1
  220. package/esm/cli/conn/conn-save.js +0 -106
  221. package/esm/cli/conn/conn-save.js.map +0 -1
  222. package/esm/cli/conn/conn.js +0 -16
  223. package/esm/cli/conn/conn.js.map +0 -1
  224. package/esm/cli/email/email-template-export.js +0 -42
  225. package/esm/cli/email/email-template-export.js.map +0 -1
  226. package/esm/cli/email/email-template-import.js +0 -47
  227. package/esm/cli/email/email-template-import.js.map +0 -1
  228. package/esm/cli/email/email-template-list.js +0 -24
  229. package/esm/cli/email/email-template-list.js.map +0 -1
  230. package/esm/cli/email/email-template.js +0 -13
  231. package/esm/cli/email/email-template.js.map +0 -1
  232. package/esm/cli/email/email.js +0 -9
  233. package/esm/cli/email/email.js.map +0 -1
  234. package/esm/cli/esv/esv-apply.js +0 -61
  235. package/esm/cli/esv/esv-apply.js.map +0 -1
  236. package/esm/cli/esv/esv-secret-create.js +0 -29
  237. package/esm/cli/esv/esv-secret-create.js.map +0 -1
  238. package/esm/cli/esv/esv-secret-delete.js +0 -34
  239. package/esm/cli/esv/esv-secret-delete.js.map +0 -1
  240. package/esm/cli/esv/esv-secret-describe.js +0 -24
  241. package/esm/cli/esv/esv-secret-describe.js.map +0 -1
  242. package/esm/cli/esv/esv-secret-export.js +0 -34
  243. package/esm/cli/esv/esv-secret-export.js.map +0 -1
  244. package/esm/cli/esv/esv-secret-import.js +0 -20
  245. package/esm/cli/esv/esv-secret-import.js.map +0 -1
  246. package/esm/cli/esv/esv-secret-list.js +0 -24
  247. package/esm/cli/esv/esv-secret-list.js.map +0 -1
  248. package/esm/cli/esv/esv-secret-set.js +0 -24
  249. package/esm/cli/esv/esv-secret-set.js.map +0 -1
  250. package/esm/cli/esv/esv-secret-version-activate.js +0 -28
  251. package/esm/cli/esv/esv-secret-version-activate.js.map +0 -1
  252. package/esm/cli/esv/esv-secret-version-create.js +0 -29
  253. package/esm/cli/esv/esv-secret-version-create.js.map +0 -1
  254. package/esm/cli/esv/esv-secret-version-deactivate.js +0 -28
  255. package/esm/cli/esv/esv-secret-version-deactivate.js.map +0 -1
  256. package/esm/cli/esv/esv-secret-version-delete.js +0 -34
  257. package/esm/cli/esv/esv-secret-version-delete.js.map +0 -1
  258. package/esm/cli/esv/esv-secret-version-list.js +0 -24
  259. package/esm/cli/esv/esv-secret-version-list.js.map +0 -1
  260. package/esm/cli/esv/esv-secret-version.js +0 -17
  261. package/esm/cli/esv/esv-secret-version.js.map +0 -1
  262. package/esm/cli/esv/esv-secret.js +0 -25
  263. package/esm/cli/esv/esv-secret.js.map +0 -1
  264. package/esm/cli/esv/esv-variable-create.js +0 -24
  265. package/esm/cli/esv/esv-variable-create.js.map +0 -1
  266. package/esm/cli/esv/esv-variable-delete.js +0 -35
  267. package/esm/cli/esv/esv-variable-delete.js.map +0 -1
  268. package/esm/cli/esv/esv-variable-describe.js +0 -24
  269. package/esm/cli/esv/esv-variable-describe.js.map +0 -1
  270. package/esm/cli/esv/esv-variable-export.js +0 -35
  271. package/esm/cli/esv/esv-variable-export.js.map +0 -1
  272. package/esm/cli/esv/esv-variable-import.js +0 -20
  273. package/esm/cli/esv/esv-variable-import.js.map +0 -1
  274. package/esm/cli/esv/esv-variable-list.js +0 -24
  275. package/esm/cli/esv/esv-variable-list.js.map +0 -1
  276. package/esm/cli/esv/esv-variable-set.js +0 -31
  277. package/esm/cli/esv/esv-variable-set.js.map +0 -1
  278. package/esm/cli/esv/esv-variable.js +0 -23
  279. package/esm/cli/esv/esv-variable.js.map +0 -1
  280. package/esm/cli/esv/esv.js +0 -12
  281. package/esm/cli/esv/esv.js.map +0 -1
  282. package/esm/cli/idm/idm-count.js +0 -24
  283. package/esm/cli/idm/idm-count.js.map +0 -1
  284. package/esm/cli/idm/idm-export.js +0 -50
  285. package/esm/cli/idm/idm-export.js.map +0 -1
  286. package/esm/cli/idm/idm-import.js +0 -54
  287. package/esm/cli/idm/idm-import.js.map +0 -1
  288. package/esm/cli/idm/idm-list.js +0 -28
  289. package/esm/cli/idm/idm-list.js.map +0 -1
  290. package/esm/cli/idm/idm.js +0 -14
  291. package/esm/cli/idm/idm.js.map +0 -1
  292. package/esm/cli/idp/idp-export.js +0 -44
  293. package/esm/cli/idp/idp-export.js.map +0 -1
  294. package/esm/cli/idp/idp-import.js +0 -56
  295. package/esm/cli/idp/idp-import.js.map +0 -1
  296. package/esm/cli/idp/idp-list.js +0 -28
  297. package/esm/cli/idp/idp-list.js.map +0 -1
  298. package/esm/cli/idp/idp.js +0 -12
  299. package/esm/cli/idp/idp.js.map +0 -1
  300. package/esm/cli/info/info.js +0 -52
  301. package/esm/cli/info/info.js.map +0 -1
  302. package/esm/cli/journey/journey-delete.js +0 -36
  303. package/esm/cli/journey/journey-delete.js.map +0 -1
  304. package/esm/cli/journey/journey-describe.js +0 -133
  305. package/esm/cli/journey/journey-describe.js.map +0 -1
  306. package/esm/cli/journey/journey-disable.js +0 -35
  307. package/esm/cli/journey/journey-disable.js.map +0 -1
  308. package/esm/cli/journey/journey-enable.js +0 -35
  309. package/esm/cli/journey/journey-enable.js.map +0 -1
  310. package/esm/cli/journey/journey-export.js +0 -63
  311. package/esm/cli/journey/journey-export.js.map +0 -1
  312. package/esm/cli/journey/journey-import.js +0 -59
  313. package/esm/cli/journey/journey-import.js.map +0 -1
  314. package/esm/cli/journey/journey-list.js +0 -25
  315. package/esm/cli/journey/journey-list.js.map +0 -1
  316. package/esm/cli/journey/journey-prune.js +0 -42
  317. package/esm/cli/journey/journey-prune.js.map +0 -1
  318. package/esm/cli/journey/journey.js +0 -22
  319. package/esm/cli/journey/journey.js.map +0 -1
  320. package/esm/cli/log/log-fetch.js +0 -127
  321. package/esm/cli/log/log-fetch.js.map +0 -1
  322. package/esm/cli/log/log-key-delete.js +0 -33
  323. package/esm/cli/log/log-key-delete.js.map +0 -1
  324. package/esm/cli/log/log-key-describe.js +0 -20
  325. package/esm/cli/log/log-key-describe.js.map +0 -1
  326. package/esm/cli/log/log-key-list.js +0 -24
  327. package/esm/cli/log/log-key-list.js.map +0 -1
  328. package/esm/cli/log/log-key.js +0 -13
  329. package/esm/cli/log/log-key.js.map +0 -1
  330. package/esm/cli/log/log-list.js +0 -89
  331. package/esm/cli/log/log-list.js.map +0 -1
  332. package/esm/cli/log/log-tail.js +0 -81
  333. package/esm/cli/log/log-tail.js.map +0 -1
  334. package/esm/cli/log/log.js +0 -18
  335. package/esm/cli/log/log.js.map +0 -1
  336. package/esm/cli/oauth/oauth-client-delete.js +0 -20
  337. package/esm/cli/oauth/oauth-client-delete.js.map +0 -1
  338. package/esm/cli/oauth/oauth-client-describe.js +0 -20
  339. package/esm/cli/oauth/oauth-client-describe.js.map +0 -1
  340. package/esm/cli/oauth/oauth-client-export.js +0 -50
  341. package/esm/cli/oauth/oauth-client-export.js.map +0 -1
  342. package/esm/cli/oauth/oauth-client-import.js +0 -55
  343. package/esm/cli/oauth/oauth-client-import.js.map +0 -1
  344. package/esm/cli/oauth/oauth-client-list.js +0 -24
  345. package/esm/cli/oauth/oauth-client-list.js.map +0 -1
  346. package/esm/cli/oauth/oauth-client.js +0 -22
  347. package/esm/cli/oauth/oauth-client.js.map +0 -1
  348. package/esm/cli/oauth/oauth.js +0 -11
  349. package/esm/cli/oauth/oauth.js.map +0 -1
  350. package/esm/cli/realm/realm-add-custom-domain.js +0 -24
  351. package/esm/cli/realm/realm-add-custom-domain.js.map +0 -1
  352. package/esm/cli/realm/realm-describe.js +0 -23
  353. package/esm/cli/realm/realm-describe.js.map +0 -1
  354. package/esm/cli/realm/realm-list.js +0 -23
  355. package/esm/cli/realm/realm-list.js.map +0 -1
  356. package/esm/cli/realm/realm-remove-custom-domain.js +0 -26
  357. package/esm/cli/realm/realm-remove-custom-domain.js.map +0 -1
  358. package/esm/cli/realm/realm.js +0 -21
  359. package/esm/cli/realm/realm.js.map +0 -1
  360. package/esm/cli/saml/saml-cot-export.js +0 -42
  361. package/esm/cli/saml/saml-cot-export.js.map +0 -1
  362. package/esm/cli/saml/saml-cot-import.js +0 -48
  363. package/esm/cli/saml/saml-cot-import.js.map +0 -1
  364. package/esm/cli/saml/saml-cot-list.js +0 -25
  365. package/esm/cli/saml/saml-cot-list.js.map +0 -1
  366. package/esm/cli/saml/saml-cot.js +0 -13
  367. package/esm/cli/saml/saml-cot.js.map +0 -1
  368. package/esm/cli/saml/saml-delete.js +0 -37
  369. package/esm/cli/saml/saml-delete.js.map +0 -1
  370. package/esm/cli/saml/saml-describe.js +0 -25
  371. package/esm/cli/saml/saml-describe.js.map +0 -1
  372. package/esm/cli/saml/saml-export.js +0 -48
  373. package/esm/cli/saml/saml-export.js.map +0 -1
  374. package/esm/cli/saml/saml-import.js +0 -56
  375. package/esm/cli/saml/saml-import.js.map +0 -1
  376. package/esm/cli/saml/saml-list.js +0 -25
  377. package/esm/cli/saml/saml-list.js.map +0 -1
  378. package/esm/cli/saml/saml-metadata-export.js +0 -42
  379. package/esm/cli/saml/saml-metadata-export.js.map +0 -1
  380. package/esm/cli/saml/saml-metadata.js +0 -9
  381. package/esm/cli/saml/saml-metadata.js.map +0 -1
  382. package/esm/cli/saml/saml.js +0 -20
  383. package/esm/cli/saml/saml.js.map +0 -1
  384. package/esm/cli/script/script-delete.js +0 -37
  385. package/esm/cli/script/script-delete.js.map +0 -1
  386. package/esm/cli/script/script-describe.js +0 -20
  387. package/esm/cli/script/script-describe.js.map +0 -1
  388. package/esm/cli/script/script-export.js +0 -52
  389. package/esm/cli/script/script-export.js.map +0 -1
  390. package/esm/cli/script/script-import.js +0 -45
  391. package/esm/cli/script/script-import.js.map +0 -1
  392. package/esm/cli/script/script-list.js +0 -25
  393. package/esm/cli/script/script-list.js.map +0 -1
  394. package/esm/cli/script/script.js +0 -18
  395. package/esm/cli/script/script.js.map +0 -1
  396. package/esm/cli/service/service-delete.js +0 -23
  397. package/esm/cli/service/service-delete.js.map +0 -1
  398. package/esm/cli/service/service-export.js +0 -41
  399. package/esm/cli/service/service-export.js.map +0 -1
  400. package/esm/cli/service/service-import.js +0 -65
  401. package/esm/cli/service/service-import.js.map +0 -1
  402. package/esm/cli/service/service-list.js +0 -20
  403. package/esm/cli/service/service-list.js.map +0 -1
  404. package/esm/cli/service/service.js +0 -14
  405. package/esm/cli/service/service.js.map +0 -1
  406. package/esm/cli/shell/shell.js +0 -53
  407. package/esm/cli/shell/shell.js.map +0 -1
  408. package/esm/cli/theme/theme-delete.js +0 -42
  409. package/esm/cli/theme/theme-delete.js.map +0 -1
  410. package/esm/cli/theme/theme-export.js +0 -48
  411. package/esm/cli/theme/theme-export.js.map +0 -1
  412. package/esm/cli/theme/theme-import.js +0 -54
  413. package/esm/cli/theme/theme-import.js.map +0 -1
  414. package/esm/cli/theme/theme-list.js +0 -25
  415. package/esm/cli/theme/theme-list.js.map +0 -1
  416. package/esm/cli/theme/theme.js +0 -14
  417. package/esm/cli/theme/theme.js.map +0 -1
  418. package/esm/help/SampleData.js +0 -7
  419. package/esm/help/SampleData.js.map +0 -1
  420. package/esm/launch.js +0 -15
  421. package/esm/launch.js.map +0 -1
  422. package/esm/loader.js +0 -40
  423. package/esm/loader.js.map +0 -1
  424. package/esm/ops/AdminOps.js +0 -936
  425. package/esm/ops/AdminOps.js.map +0 -1
  426. package/esm/ops/AgentOps.js +0 -1061
  427. package/esm/ops/AgentOps.js.map +0 -1
  428. package/esm/ops/ApplicationOps.js +0 -336
  429. package/esm/ops/ApplicationOps.js.map +0 -1
  430. package/esm/ops/AuthenticateOps.js +0 -23
  431. package/esm/ops/AuthenticateOps.js.map +0 -1
  432. package/esm/ops/AuthenticationSettingsOps.js +0 -89
  433. package/esm/ops/AuthenticationSettingsOps.js.map +0 -1
  434. package/esm/ops/CirclesOfTrustOps.js +0 -265
  435. package/esm/ops/CirclesOfTrustOps.js.map +0 -1
  436. package/esm/ops/ConfigOps.js +0 -213
  437. package/esm/ops/ConfigOps.js.map +0 -1
  438. package/esm/ops/ConnectionProfileOps.js +0 -132
  439. package/esm/ops/ConnectionProfileOps.js.map +0 -1
  440. package/esm/ops/EmailTemplateOps.js +0 -365
  441. package/esm/ops/EmailTemplateOps.js.map +0 -1
  442. package/esm/ops/IdmOps.js +0 -303
  443. package/esm/ops/IdmOps.js.map +0 -1
  444. package/esm/ops/IdpOps.js +0 -267
  445. package/esm/ops/IdpOps.js.map +0 -1
  446. package/esm/ops/JourneyOps.js +0 -815
  447. package/esm/ops/JourneyOps.js.map +0 -1
  448. package/esm/ops/LogOps.js +0 -141
  449. package/esm/ops/LogOps.js.map +0 -1
  450. package/esm/ops/NodeOps.js +0 -97
  451. package/esm/ops/NodeOps.js.map +0 -1
  452. package/esm/ops/OAuth2ClientOps.js +0 -287
  453. package/esm/ops/OAuth2ClientOps.js.map +0 -1
  454. package/esm/ops/OrganizationOps.js +0 -20
  455. package/esm/ops/OrganizationOps.js.map +0 -1
  456. package/esm/ops/PolicyOps.js +0 -515
  457. package/esm/ops/PolicyOps.js.map +0 -1
  458. package/esm/ops/PolicySetOps.js +0 -388
  459. package/esm/ops/PolicySetOps.js.map +0 -1
  460. package/esm/ops/RealmOps.js +0 -116
  461. package/esm/ops/RealmOps.js.map +0 -1
  462. package/esm/ops/ResourceTypeOps.js +0 -439
  463. package/esm/ops/ResourceTypeOps.js.map +0 -1
  464. package/esm/ops/Saml2Ops.js +0 -364
  465. package/esm/ops/Saml2Ops.js.map +0 -1
  466. package/esm/ops/Saml2Ops.test_.js.map +0 -1
  467. package/esm/ops/ScriptOps.js +0 -520
  468. package/esm/ops/ScriptOps.js.map +0 -1
  469. package/esm/ops/ServiceOps.js +0 -275
  470. package/esm/ops/ServiceOps.js.map +0 -1
  471. package/esm/ops/ThemeOps.js +0 -382
  472. package/esm/ops/ThemeOps.js.map +0 -1
  473. package/esm/ops/cloud/AdminFederationOps.js +0 -225
  474. package/esm/ops/cloud/AdminFederationOps.js.map +0 -1
  475. package/esm/ops/cloud/SecretsOps.js +0 -471
  476. package/esm/ops/cloud/SecretsOps.js.map +0 -1
  477. package/esm/ops/cloud/VariablesOps.js +0 -316
  478. package/esm/ops/cloud/VariablesOps.js.map +0 -1
  479. package/esm/ops/templates/GenericExtensionAttributesTemplate.json +0 -412
  480. package/esm/ops/templates/OAuth2ClientTemplate.json +0 -270
  481. package/esm/ops/templates/OAuth2TrustedJwtIssuerTemplate.json +0 -38
  482. package/esm/ops/templates/OrgModelUserAttributesTemplate.json +0 -149
  483. package/esm/ops/templates/autoaccess/IPAddresses.json +0 -202
  484. package/esm/ops/templates/autoaccess/UserAgents.json +0 -35
  485. package/esm/ops/templates/autoaccess/Usernames.json +0 -203
  486. package/esm/ops/templates/cloud/managed.json +0 -4119
  487. package/esm/ops/utils/OpsUtils.js +0 -9
  488. package/esm/ops/utils/OpsUtils.js.map +0 -1
  489. package/esm/ops/utils/Wordwrap.js +0 -5
  490. package/esm/ops/utils/Wordwrap.js.map +0 -1
  491. package/esm/storage/StaticStorage.js +0 -12
  492. package/esm/storage/StaticStorage.js.map +0 -1
  493. package/esm/utils/Config.js +0 -200
  494. package/esm/utils/Config.js.map +0 -1
  495. package/esm/utils/Console.js +0 -614
  496. package/esm/utils/Console.js.map +0 -1
  497. package/esm/utils/Version.js +0 -138
  498. package/esm/utils/Version.js.map +0 -1
@@ -1,815 +0,0 @@
1
- import { frodo, FrodoError, state } from '@rockcarver/frodo-lib';
2
- import fs from 'fs';
3
- import { createProgressIndicator, createTable, debugMessage, printError, printMessage, stopProgressIndicator, updateProgressIndicator } from '../utils/Console';
4
- import * as CirclesOfTrust from './CirclesOfTrustOps';
5
- import * as EmailTemplate from './EmailTemplateOps';
6
- import * as Idp from './IdpOps';
7
- import * as Node from './NodeOps';
8
- import * as Saml2 from './Saml2Ops';
9
- import * as Script from './ScriptOps';
10
- import * as Theme from './ThemeOps';
11
- import { cloneDeep } from './utils/OpsUtils';
12
- import wordwrap from './utils/Wordwrap';
13
- const {
14
- getTypedFilename,
15
- saveJsonToFile,
16
- getRealmString,
17
- getFilePath,
18
- getWorkingDirectory
19
- } = frodo.utils;
20
- const {
21
- readJourneys,
22
- exportJourney,
23
- exportJourneys,
24
- resolveDependencies,
25
- importJourneys,
26
- importJourney,
27
- getTreeDescendents,
28
- getNodeRef,
29
- onlineTreeExportResolver,
30
- getJourneyClassification: _getJourneyClassification,
31
- disableJourney: _disableJourney,
32
- enableJourney: _enableJourney,
33
- deleteJourney: _deleteJourney,
34
- deleteJourneys: _deleteJourneys
35
- } = frodo.authn.journey;
36
-
37
- /**
38
- * List all the journeys/trees
39
- * @param {boolean} long Long version, all the fields
40
- * @param {boolean} analyze Analyze journeys/trees for custom nodes (expensive)
41
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
42
- */
43
- export async function listJourneys(long = false, analyze = false) {
44
- let journeys = [];
45
- try {
46
- journeys = await readJourneys();
47
- if (!long && !analyze) {
48
- for (const journeyStub of journeys) {
49
- printMessage(`${journeyStub['_id']}`, 'data');
50
- }
51
- return true;
52
- } else {
53
- if (!analyze) {
54
- const table = createTable(['Name', 'Status', 'Tags']);
55
- for (const journeyStub of journeys) {
56
- var _journeyStub$uiConfig;
57
- table.push([`${journeyStub._id}`, journeyStub.enabled === false ? 'disabled'['brightRed'] : 'enabled'['brightGreen'], (_journeyStub$uiConfig = journeyStub.uiConfig) !== null && _journeyStub$uiConfig !== void 0 && _journeyStub$uiConfig.categories ? wordwrap(JSON.parse(journeyStub.uiConfig.categories).join(', '), 60) : '']);
58
- }
59
- printMessage(table.toString(), 'data');
60
- return true;
61
- } else {
62
- const spinnerId = createProgressIndicator('indeterminate', 0, `Retrieving details of all journeys...`);
63
- const exportPromises = [];
64
- try {
65
- for (const journeyStub of journeys) {
66
- exportPromises.push(exportJourney(journeyStub['_id'], {
67
- useStringArrays: false,
68
- deps: false,
69
- coords: true
70
- }));
71
- }
72
- const journeyExports = await Promise.all(exportPromises);
73
- stopProgressIndicator(spinnerId, 'Retrieved details of all journeys.', 'success');
74
- const table = createTable(['Name', 'Status', 'Classification', 'Tags']);
75
- for (const journeyExport of journeyExports) {
76
- var _journeyExport$tree$u;
77
- table.push([`${journeyExport.tree._id}`, journeyExport.tree.enabled === false ? 'disabled'['brightRed'] : 'enabled'['brightGreen'], getJourneyClassification(journeyExport).join(', '), (_journeyExport$tree$u = journeyExport.tree.uiConfig) !== null && _journeyExport$tree$u !== void 0 && _journeyExport$tree$u.categories ? wordwrap(JSON.parse(journeyExport.tree.uiConfig.categories).join(', '), 60) : '']);
78
- }
79
- printMessage(table.toString(), 'data');
80
- return true;
81
- } catch (error) {
82
- stopProgressIndicator(spinnerId, 'Error retrieving details of all journeys.', 'fail');
83
- printError(error);
84
- }
85
- }
86
- }
87
- } catch (error) {
88
- printError(error);
89
- }
90
- return false;
91
- }
92
-
93
- /**
94
- * Export journey by id/name to file
95
- * @param {string} journeyId journey id/name
96
- * @param {string} file optional export file name
97
- * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
98
- * @param {TreeExportOptions} options export options
99
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
100
- */
101
- export async function exportJourneyToFile(journeyId, file, includeMeta = true, options = {
102
- deps: false,
103
- useStringArrays: false,
104
- coords: true
105
- }) {
106
- debugMessage(`exportJourneyToFile: start`);
107
- const verbose = state.getVerbose();
108
- if (!file) {
109
- file = getTypedFilename(journeyId, 'journey');
110
- }
111
- const filePath = getFilePath(file, true);
112
- let spinnerId;
113
- if (!verbose) spinnerId = createProgressIndicator('indeterminate', 0, `${journeyId}`);
114
- try {
115
- const fileData = await exportJourney(journeyId, options);
116
- if (verbose) spinnerId = createProgressIndicator('indeterminate', 0, `${journeyId}`);
117
- saveJsonToFile(fileData, filePath, includeMeta);
118
- stopProgressIndicator(spinnerId, `Exported ${journeyId['brightCyan']} to ${filePath['brightCyan']}.`, 'success');
119
- return true;
120
- } catch (error) {
121
- if (verbose) spinnerId = createProgressIndicator('indeterminate', 0, `${journeyId}`);
122
- stopProgressIndicator(spinnerId, `Error exporting journey ${journeyId}: ${error}`, 'fail');
123
- printError(error);
124
- }
125
- return false;
126
- }
127
-
128
- /**
129
- * Export all journeys to file
130
- * @param {string} file optional export file name
131
- * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
132
- * @param {TreeExportOptions} options export options
133
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
134
- */
135
- export async function exportJourneysToFile(file, includeMeta = true, options = {
136
- deps: false,
137
- useStringArrays: false,
138
- coords: true
139
- }) {
140
- try {
141
- if (!file) {
142
- file = getTypedFilename(`all${getRealmString()}Journeys`, 'journey');
143
- }
144
- const filePath = getFilePath(file, true);
145
- const fileData = await exportJourneys(options);
146
- saveJsonToFile(fileData, filePath, includeMeta);
147
- return true;
148
- } catch (error) {
149
- printError(error);
150
- }
151
- }
152
-
153
- /**
154
- * Export all journeys to separate files
155
- * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
156
- * @param {TreeExportOptions} options export options
157
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
158
- */
159
- export async function exportJourneysToFiles(includeMeta = true, options = {
160
- deps: false,
161
- useStringArrays: false,
162
- coords: true
163
- }) {
164
- try {
165
- const journeysExport = await exportJourneys(options);
166
- const trees = Object.entries(journeysExport.trees);
167
- for (const [treeId, treeValue] of trees) {
168
- const indicatorId = createProgressIndicator('determinate', 1, `Saving ${treeId}...`);
169
- const file = getFilePath(getTypedFilename(`${treeId}`, 'journey'), true);
170
- treeValue['meta'] = journeysExport.meta;
171
- try {
172
- updateProgressIndicator(indicatorId, `Saving ${treeId} to ${file}`);
173
- saveJsonToFile(treeValue, file, includeMeta);
174
- stopProgressIndicator(indicatorId, `${treeId} saved to ${file}`);
175
- } catch (error) {
176
- stopProgressIndicator(indicatorId, `Error saving ${treeId} to ${file}`);
177
- }
178
- }
179
- return true;
180
- } catch (error) {
181
- printError(error);
182
- }
183
- return false;
184
- }
185
-
186
- /**
187
- * Import a journey from file
188
- * @param {string} journeyId journey id/name
189
- * @param {string} file import file name
190
- * @param {TreeImportOptions} options import options
191
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
192
- */
193
- export async function importJourneyFromFile(journeyId, file, options) {
194
- const verbose = state.getVerbose();
195
- try {
196
- const data = fs.readFileSync(getFilePath(file), 'utf8');
197
- let journeyData = JSON.parse(data);
198
- // check if this is a file with multiple trees and get journey by id
199
- if (journeyData.trees && journeyData.trees[journeyId]) {
200
- journeyData = journeyData.trees[journeyId];
201
- } else if (journeyData.trees) {
202
- journeyData = null;
203
- }
204
-
205
- // if a journeyId was specified, only import the matching journey
206
- if (journeyData && journeyId === journeyData.tree._id) {
207
- // attempt dependency resolution for single tree import
208
- const installedJourneys = (await readJourneys()).map(x => x._id);
209
- const unresolvedJourneys = {};
210
- const resolvedJourneys = [];
211
- const indicatorId1 = createProgressIndicator('indeterminate', 0, 'Resolving dependencies');
212
- await resolveDependencies(installedJourneys, {
213
- [journeyId]: journeyData
214
- }, unresolvedJourneys, resolvedJourneys);
215
- if (Object.keys(unresolvedJourneys).length === 0) {
216
- stopProgressIndicator(indicatorId1, `Resolved all dependencies.`, 'success');
217
- let indicatorId2;
218
- if (!verbose) indicatorId2 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
219
- try {
220
- await importJourney(journeyData, options);
221
- if (verbose) indicatorId2 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
222
- stopProgressIndicator(indicatorId2, `Imported ${journeyId}.`, 'success');
223
- return true;
224
- } catch (importError) {
225
- if (verbose) indicatorId2 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
226
- stopProgressIndicator(indicatorId2, `${importError}`, 'fail');
227
- }
228
- } else {
229
- stopProgressIndicator(indicatorId1, `Unresolved dependencies:`, 'fail');
230
- for (const journey of Object.keys(unresolvedJourneys)) {
231
- printMessage(` ${journey} requires ${unresolvedJourneys[journey]}`, 'error');
232
- }
233
- }
234
- // end dependency resolution for single tree import
235
- } else {
236
- const indicatorId3 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
237
- stopProgressIndicator(indicatorId3, `${journeyId} not found!`, 'fail');
238
- }
239
- } catch (error) {
240
- printError(error);
241
- }
242
- return false;
243
- }
244
-
245
- /**
246
- * Import first journey from file
247
- * @param {string} file import file name
248
- * @param {TreeImportOptions} options import options
249
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
250
- */
251
- export async function importFirstJourneyFromFile(file, options) {
252
- const verbose = state.getVerbose();
253
- try {
254
- const data = fs.readFileSync(getFilePath(file), 'utf8');
255
- let journeyData = cloneDeep(JSON.parse(data));
256
- let journeyId = null;
257
- // single tree
258
- if (journeyData.tree) {
259
- journeyId = cloneDeep(journeyData.tree._id);
260
- }
261
- // multiple trees, so get the first tree
262
- else if (journeyData.trees) {
263
- for (const treeId in journeyData.trees) {
264
- if (Object.hasOwnProperty.call(journeyData.trees, treeId)) {
265
- journeyId = treeId;
266
- journeyData = journeyData.trees[treeId];
267
- break;
268
- }
269
- }
270
- }
271
-
272
- // if a journeyId was specified, only import the matching journey
273
- if (journeyData && journeyId) {
274
- // attempt dependency resolution for single tree import
275
- const installedJourneys = (await readJourneys()).map(x => x._id);
276
- const unresolvedJourneys = {};
277
- const resolvedJourneys = [];
278
- const depSpinnerId = createProgressIndicator('indeterminate', 0, 'Resolving dependencies');
279
- await resolveDependencies(installedJourneys, {
280
- [journeyId]: journeyData
281
- }, unresolvedJourneys, resolvedJourneys);
282
- if (Object.keys(unresolvedJourneys).length === 0) {
283
- stopProgressIndicator(depSpinnerId, `Resolved all dependencies.`, 'success');
284
- let importSpinnerId;
285
- if (!verbose) importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
286
- try {
287
- await importJourney(journeyData, options);
288
- if (verbose) importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
289
- stopProgressIndicator(importSpinnerId, `Imported ${journeyId}.`, 'success');
290
- return true;
291
- } catch (importError) {
292
- if (verbose) importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
293
- stopProgressIndicator(importSpinnerId, `Error importing ${journeyId}`, 'fail');
294
- printError(importError);
295
- }
296
- } else {
297
- stopProgressIndicator(depSpinnerId, `Unresolved dependencies:`, 'fail');
298
- for (const journey of Object.keys(unresolvedJourneys)) {
299
- printMessage(` ${journey} requires ${unresolvedJourneys[journey]}`, 'error');
300
- }
301
- }
302
- } else {
303
- const importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing...`);
304
- stopProgressIndicator(importSpinnerId, `No journeys found!`, 'fail');
305
- }
306
- // end dependency resolution for single tree import
307
- } catch (error) {
308
- printError(error);
309
- }
310
- return false;
311
- }
312
-
313
- /**
314
- * Import all journeys from file
315
- * @param {string} file import file name
316
- * @param {TreeImportOptions} options import options
317
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
318
- */
319
- export async function importJourneysFromFile(file, options) {
320
- try {
321
- const data = fs.readFileSync(getFilePath(file), 'utf8');
322
- const fileData = JSON.parse(data);
323
- await importJourneys(fileData, options);
324
- return true;
325
- } catch (error) {
326
- printError(error);
327
- }
328
- return false;
329
- }
330
-
331
- /**
332
- * Import all journeys from separate files
333
- * @param {TreeImportOptions} options import options
334
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
335
- */
336
- export async function importJourneysFromFiles(options) {
337
- try {
338
- const names = fs.readdirSync(getWorkingDirectory());
339
- const jsonFiles = names.filter(name => name.toLowerCase().endsWith('.journey.json')).map(name => getFilePath(name));
340
- const allJourneysData = {
341
- trees: {}
342
- };
343
- for (const file of jsonFiles) {
344
- const journeyData = JSON.parse(fs.readFileSync(file, 'utf8'));
345
- allJourneysData.trees[journeyData.tree._id] = journeyData;
346
- }
347
- await importJourneys(allJourneysData, options);
348
- return true;
349
- } catch (error) {
350
- printError(error);
351
- }
352
- return false;
353
- }
354
-
355
- /**
356
- * Get journey classification
357
- * @param {SingleTreeExportInterface} journey journey export
358
- * @returns {string[]} Colored string array of classifications
359
- */
360
- export function getJourneyClassification(journey) {
361
- return _getJourneyClassification(journey).map(it => {
362
- switch (it) {
363
- case 'standard':
364
- return it['brightGreen'];
365
- case 'cloud':
366
- return it['brightMagenta'];
367
- case 'custom':
368
- return it['brightRed'];
369
- case 'premium':
370
- return it['brightYellow'];
371
- }
372
- });
373
- }
374
-
375
- /**
376
- * Get journey classification in markdown
377
- * @param {SingleTreeExportInterface} journey journey export
378
- * @returns {string[]} Colored string array of classifications
379
- */
380
- export function getJourneyClassificationMd(journey) {
381
- return _getJourneyClassification(journey).map(it => {
382
- switch (it) {
383
- case 'standard':
384
- return `:green_circle: \`${it}\``;
385
- case 'cloud':
386
- return `:purple_circle: \`${it}\``;
387
- case 'custom':
388
- return `:red_circle: \`${it}\``;
389
- case 'premium':
390
- return `:yellow_circle: \`${it}\``;
391
- }
392
- });
393
- }
394
-
395
- /**
396
- * Get a one-line description of the tree object
397
- * @param {TreeSkeleton} treeObj circle of trust object to describe
398
- * @returns {string} a one-line description
399
- */
400
- export function getOneLineDescription(treeObj) {
401
- const description = `[${treeObj._id['brightCyan']}]`;
402
- return description;
403
- }
404
-
405
- /**
406
- * Get a one-line description of the tree object in markdown
407
- * @param {TreeSkeleton} treeObj circle of trust object to describe
408
- * @returns {string} a one-line description
409
- */
410
- export function getOneLineDescriptionMd(treeObj) {
411
- const description = `${treeObj._id}`;
412
- return description;
413
- }
414
-
415
- /**
416
- * Helper function to render a nested list of dependent trees
417
- * @param {TreeDependencyMapInterface} descendents tree dependency map
418
- * @param {number} depth level of nesting
419
- */
420
- function describeTreeDescendents(descendents, depth = 0) {
421
- if (depth || Object.values(descendents)[0].length) {
422
- // heading
423
- if (depth === 0) {
424
- printMessage(`\nInner Tree Dependencies (${Object.values(descendents)[0].length}):`, 'data');
425
- }
426
- const indent = Array(depth * 2).fill(' ').join('');
427
- const [tree] = Object.keys(descendents);
428
- printMessage(`${indent}- ${tree['brightCyan']}`, 'data');
429
- for (const descendent of descendents[tree]) {
430
- describeTreeDescendents(descendent, depth + 1);
431
- }
432
- }
433
- }
434
-
435
- /**
436
- * Helper function to render a nested list of dependent trees in markdown
437
- * @param {TreeDependencyMapInterface} descendents tree dependency map
438
- * @param {number} depth level of nesting
439
- */
440
- function describeTreeDescendentsMd(descendents, depth = 0) {
441
- let markdown = '';
442
- if (depth || Object.values(descendents)[0].length) {
443
- // heading
444
- if (depth === 0) {
445
- markdown += `## Inner Tree Dependencies (${Object.values(descendents)[0].length})\n`;
446
- }
447
- const indent = Array(depth * 2).fill(' ').join('');
448
- const [tree] = Object.keys(descendents);
449
- markdown += `${indent}- ${tree}\n`;
450
- for (const descendent of descendents[tree]) {
451
- markdown += describeTreeDescendentsMd(descendent, depth + 1);
452
- }
453
- return markdown;
454
- }
455
- return markdown;
456
- }
457
-
458
- /**
459
- * Describe a journey:
460
- * - Properties, tags, description, name, metadata
461
- * - Inner tree dependency tree
462
- * - Node type summary
463
- * - Nodes
464
- * - Themes
465
- * - Scripts
466
- * - Email templates
467
- * - Social identity providers
468
- * - SAML2 entity providers
469
- * - SAML2 circles of trust
470
- * @param {SingleTreeExportInterface} journeyData journey export object
471
- * @param {TreeExportResolverInterface} resolveTreeExport tree export resolver callback function
472
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
473
- */
474
- export async function describeJourney(journeyData, resolveTreeExport = onlineTreeExportResolver) {
475
- const errors = [];
476
- try {
477
- var _journeyData$meta, _journeyData$tree$uiC, _journeyData$themes;
478
- const allNodes = {
479
- ...journeyData.nodes,
480
- ...journeyData.innerNodes
481
- };
482
- const nodeTypeMap = {};
483
- for (const nodeData of Object.values(allNodes)) {
484
- if (nodeTypeMap[nodeData._type._id]) {
485
- nodeTypeMap[nodeData._type._id] += 1;
486
- } else {
487
- nodeTypeMap[nodeData._type._id] = 1;
488
- }
489
- }
490
-
491
- // initialize AM version from file
492
- if (!state.getAmVersion() && (_journeyData$meta = journeyData.meta) !== null && _journeyData$meta !== void 0 && _journeyData$meta.originAmVersion) {
493
- state.setAmVersion(journeyData.meta.originAmVersion);
494
- }
495
-
496
- // Journey Name
497
- printMessage(`${getOneLineDescription(journeyData.tree)}`, 'data');
498
- printMessage(Array(`[${journeyData.tree._id}]`['length']).fill('=').join(''));
499
-
500
- // Description
501
- if (journeyData.tree.description) {
502
- printMessage(`\n${journeyData.tree.description}`, 'data');
503
- }
504
-
505
- // Status
506
- printMessage(`\nStatus\n${journeyData.tree.enabled === false ? 'disabled'['brightRed'] : 'enabled'['brightGreen']}`);
507
-
508
- // Classification
509
- if (state.getAmVersion()) {
510
- printMessage(`\nClassification\n${getJourneyClassification(journeyData).join(', ')}`, 'data');
511
- }
512
-
513
- // Categories/Tags
514
- if ((_journeyData$tree$uiC = journeyData.tree.uiConfig) !== null && _journeyData$tree$uiC !== void 0 && _journeyData$tree$uiC.categories && journeyData.tree.uiConfig.categories != '[]') {
515
- printMessage('\nCategories/Tags', 'data');
516
- printMessage(`${JSON.parse(journeyData.tree.uiConfig.categories).join(', ')}`, 'data');
517
- }
518
-
519
- // Dependency Tree
520
- try {
521
- const descendents = await getTreeDescendents(journeyData, resolveTreeExport);
522
- describeTreeDescendents(descendents);
523
- } catch (error) {
524
- errors.push(error);
525
- }
526
-
527
- // Node Types
528
- if (Object.entries(nodeTypeMap).length) {
529
- printMessage(`\nNode Types (${Object.entries(nodeTypeMap).length}):`, 'data');
530
- for (const [nodeType, count] of Object.entries(nodeTypeMap)) {
531
- printMessage(`- ${String(count)} [${nodeType['brightCyan']}] (${Node.getNodeClassification(nodeType).join(', ')})`, 'data');
532
- }
533
- }
534
-
535
- // Nodes
536
- if (Object.entries(allNodes).length) {
537
- printMessage(`\nNodes (${Object.entries(allNodes).length}):`, 'data');
538
- for (const nodeObj of Object.values(allNodes)) {
539
- printMessage(`- ${Node.getOneLineDescription(nodeObj, getNodeRef(nodeObj, journeyData))}`, 'data');
540
- }
541
- }
542
-
543
- // Themes
544
- if ((_journeyData$themes = journeyData.themes) !== null && _journeyData$themes !== void 0 && _journeyData$themes.length) {
545
- printMessage(`\nThemes (${journeyData.themes.length}):`, 'data');
546
- for (const themeData of journeyData.themes) {
547
- printMessage(`- ${Theme.getOneLineDescription(themeData)}`, 'data');
548
- }
549
- }
550
-
551
- // Scripts
552
- if (Object.entries(journeyData.scripts).length) {
553
- printMessage(`\nScripts (${Object.entries(journeyData.scripts).length}):`, 'data');
554
- for (const scriptData of Object.values(journeyData.scripts)) {
555
- printMessage(`- ${Script.getOneLineDescription(scriptData)}`, 'data');
556
- }
557
- }
558
-
559
- // Email Templates
560
- if (Object.entries(journeyData.emailTemplates).length) {
561
- printMessage(`\nEmail Templates (${Object.entries(journeyData.emailTemplates).length}):`, 'data');
562
- for (const templateData of Object.values(journeyData.emailTemplates)) {
563
- printMessage(`- ${EmailTemplate.getOneLineDescription(templateData)}`, 'data');
564
- }
565
- }
566
-
567
- // Social Identity Providers
568
- if (Object.entries(journeyData.socialIdentityProviders).length) {
569
- printMessage(`\nSocial Identity Providers (${Object.entries(journeyData.socialIdentityProviders).length}):`, 'data');
570
- for (const socialIdpData of Object.values(journeyData.socialIdentityProviders)) {
571
- printMessage(`- ${Idp.getOneLineDescription(socialIdpData)}`, 'data');
572
- }
573
- }
574
-
575
- // SAML2 Entity Providers
576
- if (Object.entries(journeyData.saml2Entities).length) {
577
- printMessage(`\nSAML2 Entity Providers (${Object.entries(journeyData.saml2Entities).length}):`, 'data');
578
- for (const entityProviderData of Object.values(journeyData.saml2Entities)) {
579
- printMessage(`- ${Saml2.getOneLineDescription(entityProviderData)}`, 'data');
580
- }
581
- }
582
-
583
- // SAML2 Circles Of Trust
584
- if (Object.entries(journeyData.circlesOfTrust).length) {
585
- printMessage(`\nSAML2 Circles Of Trust (${Object.entries(journeyData.circlesOfTrust).length}):`, 'data');
586
- for (const cotData of Object.values(journeyData.circlesOfTrust)) {
587
- printMessage(`- ${CirclesOfTrust.getOneLineDescription(cotData)}`, 'data');
588
- }
589
- }
590
- if (errors.length > 0) {
591
- throw new FrodoError(`Error describing journey`, errors);
592
- }
593
- return true;
594
- } catch (error) {
595
- printError(error);
596
- }
597
- return false;
598
- }
599
-
600
- /**
601
- * Describe a journey in markdown:
602
- * - Properties, tags, description, name, metadata
603
- * - Inner tree dependency tree
604
- * - Node type summary
605
- * - Nodes
606
- * - Themes
607
- * - Scripts
608
- * - Email templates
609
- * - Social identity providers
610
- * - SAML2 entity providers
611
- * - SAML2 circles of trust
612
- * @param {SingleTreeExportInterface} journeyData journey export object
613
- * @param {TreeExportResolverInterface} resolveTreeExport tree export resolver callback function
614
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
615
- */
616
- export async function describeJourneyMd(journeyData, resolveTreeExport = onlineTreeExportResolver) {
617
- const errors = [];
618
- try {
619
- var _journeyData$meta2, _journeyData$tree$uiC2, _journeyData$themes2;
620
- const allNodes = {
621
- ...journeyData.nodes,
622
- ...journeyData.innerNodes
623
- };
624
- const nodeTypeMap = {};
625
- for (const nodeData of Object.values(allNodes)) {
626
- if (nodeTypeMap[nodeData._type._id]) {
627
- nodeTypeMap[nodeData._type._id] += 1;
628
- } else {
629
- nodeTypeMap[nodeData._type._id] = 1;
630
- }
631
- }
632
-
633
- // initialize AM version from file
634
- if (!state.getAmVersion() && (_journeyData$meta2 = journeyData.meta) !== null && _journeyData$meta2 !== void 0 && _journeyData$meta2.originAmVersion) {
635
- state.setAmVersion(journeyData.meta.originAmVersion);
636
- }
637
-
638
- // Journey Name
639
- printMessage(`# ${getOneLineDescriptionMd(journeyData.tree)} - ${journeyData.tree.enabled === false ? ':o: `disabled`' : ':white_check_mark: `enabled`'}, ${getJourneyClassificationMd(journeyData).join(', ')}`, 'data');
640
-
641
- // Categories/Tags
642
- if ((_journeyData$tree$uiC2 = journeyData.tree.uiConfig) !== null && _journeyData$tree$uiC2 !== void 0 && _journeyData$tree$uiC2.categories && journeyData.tree.uiConfig.categories != '[]') {
643
- printMessage(`\`${JSON.parse(journeyData.tree.uiConfig.categories).join('`, `')}\``, 'data');
644
- }
645
-
646
- // Description
647
- if (journeyData.tree.description) {
648
- printMessage(`\n${journeyData.tree.description}`, 'data');
649
- }
650
-
651
- // Journey image
652
- printMessage(`\n[![](./${journeyData.tree._id}.png)]()\n`, 'data');
653
-
654
- // Dependency Tree
655
- const descendents = await getTreeDescendents(journeyData, resolveTreeExport);
656
- printMessage(describeTreeDescendentsMd(descendents), 'data');
657
-
658
- // Node Types
659
- if (Object.entries(nodeTypeMap).length) {
660
- printMessage(`## Node Types (${Object.entries(nodeTypeMap).length})`, 'data');
661
- printMessage('| Count | Type | Classification |', 'data');
662
- printMessage('| -----:| ---- | -------------- |', 'data');
663
- for (const [nodeType, count] of Object.entries(nodeTypeMap)) {
664
- printMessage(`| ${String(count)} | ${nodeType} | ${Node.getNodeClassificationMd(nodeType).join('<br>')} |`, 'data');
665
- }
666
- }
667
-
668
- // Nodes
669
- if (Object.entries(allNodes).length) {
670
- printMessage(`## Nodes (${Object.entries(allNodes).length})`, 'data');
671
- printMessage(Node.getTableHeaderMd(), 'data');
672
- for (const nodeObj of Object.values(allNodes)) {
673
- printMessage(`${Node.getTableRowMd(nodeObj, getNodeRef(nodeObj, journeyData))}`, 'data');
674
- }
675
- }
676
-
677
- // Themes
678
- if ((_journeyData$themes2 = journeyData.themes) !== null && _journeyData$themes2 !== void 0 && _journeyData$themes2.length) {
679
- printMessage(`## Themes (${journeyData.themes.length})`, 'data');
680
- printMessage(Theme.getTableHeaderMd(), 'data');
681
- for (const themeData of journeyData.themes) {
682
- printMessage(`${Theme.getTableRowMd(themeData)}`, 'data');
683
- }
684
- }
685
-
686
- // Scripts
687
- if (Object.entries(journeyData.scripts).length) {
688
- printMessage(`## Scripts (${Object.entries(journeyData.scripts).length})`, 'data');
689
- printMessage(Script.getTableHeaderMd(), 'data');
690
- for (const scriptData of Object.values(journeyData.scripts)) {
691
- printMessage(`${Script.getTableRowMd(scriptData)}`, 'data');
692
- }
693
- }
694
-
695
- // Email Templates
696
- if (Object.entries(journeyData.emailTemplates).length) {
697
- printMessage(`## Email Templates (${Object.entries(journeyData.emailTemplates).length})`, 'data');
698
- printMessage(EmailTemplate.getTableHeaderMd(), 'data');
699
- for (const templateData of Object.values(journeyData.emailTemplates)) {
700
- printMessage(`${EmailTemplate.getTableRowMd(templateData)}`, 'data');
701
- }
702
- }
703
-
704
- // Social Identity Providers
705
- if (Object.entries(journeyData.socialIdentityProviders).length) {
706
- printMessage(`## Social Identity Providers (${Object.entries(journeyData.socialIdentityProviders).length})`, 'data');
707
- printMessage(Idp.getTableHeaderMd(), 'data');
708
- for (const socialIdpData of Object.values(journeyData.socialIdentityProviders)) {
709
- printMessage(`${Idp.getTableRowMd(socialIdpData)}`, 'data');
710
- }
711
- }
712
-
713
- // SAML2 Entity Providers
714
- if (Object.entries(journeyData.saml2Entities).length) {
715
- printMessage(`## SAML2 Entity Providers (${Object.entries(journeyData.saml2Entities).length})`, 'data');
716
- printMessage(Saml2.getTableHeaderMd(), 'data');
717
- for (const entityProviderData of Object.values(journeyData.saml2Entities)) {
718
- printMessage(`${Saml2.getTableRowMd(entityProviderData)}`, 'data');
719
- }
720
- }
721
-
722
- // SAML2 Circles Of Trust
723
- if (Object.entries(journeyData.circlesOfTrust).length) {
724
- printMessage(`## SAML2 Circles Of Trust (${Object.entries(journeyData.circlesOfTrust).length})`, 'data');
725
- printMessage(CirclesOfTrust.getTableHeaderMd(), 'data');
726
- for (const cotData of Object.values(journeyData.circlesOfTrust)) {
727
- printMessage(`${CirclesOfTrust.getTableRowMd(cotData)}`, 'data');
728
- }
729
- }
730
- if (errors.length > 0) {
731
- throw new FrodoError(`Error describing journey`, errors);
732
- }
733
- return true;
734
- } catch (error) {
735
- printError(error);
736
- }
737
- return false;
738
- }
739
-
740
- /**
741
- * Enable a journey
742
- * @param {string} journeyId id/name of journey
743
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
744
- */
745
- export async function enableJourney(journeyId) {
746
- const indicatorId = createProgressIndicator('indeterminate', 0, `Enabling journey ${journeyId}...`);
747
- try {
748
- await _enableJourney(journeyId);
749
- stopProgressIndicator(indicatorId, `Enabled journey ${journeyId}.`, 'success');
750
- return true;
751
- } catch (error) {
752
- stopProgressIndicator(indicatorId, `Error enabling journey ${journeyId}`, 'fail');
753
- printError(error);
754
- }
755
- return false;
756
- }
757
-
758
- /**
759
- * Disable a journey
760
- * @param {string} journeyId id/name of journey
761
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
762
- */
763
- export async function disableJourney(journeyId) {
764
- const indicatorId = createProgressIndicator('indeterminate', 0, `Disabling journey ${journeyId}...`);
765
- try {
766
- await _disableJourney(journeyId);
767
- stopProgressIndicator(indicatorId, `Disabled journey ${journeyId}.`, 'success');
768
- return true;
769
- } catch (error) {
770
- stopProgressIndicator(indicatorId, `Error disabling journey ${journeyId}`, 'fail');
771
- }
772
- return false;
773
- }
774
-
775
- /**
776
- * Delete a journey
777
- * @param {string} journeyId id/name of journey
778
- * @param {{ deep: boolean; verbose: boolean }} [options] delete journey options
779
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
780
- */
781
- export async function deleteJourney(journeyId, options = {
782
- deep: true,
783
- verbose: false,
784
- progress: true
785
- }) {
786
- try {
787
- await _deleteJourney(journeyId, options);
788
- return true;
789
- } catch (error) {
790
- printError(error);
791
- }
792
- return false;
793
- }
794
-
795
- /**
796
- * Delete all journeys
797
- * @param {{ deep: boolean; verbose: boolean }} [options] delete journey options
798
- * @returns {Promise<boolean>} a promise resolving to true if successful, false otherwise
799
- */
800
- export async function deleteJourneys(options = {
801
- deep: true,
802
- verbose: false
803
- }) {
804
- const indicatorId = createProgressIndicator('indeterminate', null, `Deleting journeys...`);
805
- try {
806
- const status = await _deleteJourneys(options);
807
- stopProgressIndicator(indicatorId, `Deleted ${Object.keys(status).length} journeys`);
808
- return true;
809
- } catch (error) {
810
- stopProgressIndicator(indicatorId, `Error deleting journeys`);
811
- printError(error);
812
- }
813
- return false;
814
- }
815
- //# sourceMappingURL=JourneyOps.js.map