@rockcarver/frodo-cli 0.23.1-8 → 0.24.2
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.
- package/CHANGELOG.md +73 -1
- package/esm/app.js.map +1 -1
- package/esm/cli/FrodoCommand.js.map +1 -1
- package/esm/cli/_template/something-delete.js.map +1 -1
- package/esm/cli/_template/something-describe.js.map +1 -1
- package/esm/cli/_template/something-else-delete.js.map +1 -1
- package/esm/cli/_template/something-else-describe.js.map +1 -1
- package/esm/cli/_template/something-else-export.js.map +1 -1
- package/esm/cli/_template/something-else-import.js.map +1 -1
- package/esm/cli/_template/something-else-list.js.map +1 -1
- package/esm/cli/_template/something-else.js.map +1 -1
- package/esm/cli/_template/something-export.js.map +1 -1
- package/esm/cli/_template/something-import.js.map +1 -1
- package/esm/cli/_template/something-list.js.map +1 -1
- package/esm/cli/_template/something-other-delete.js.map +1 -1
- package/esm/cli/_template/something-other-describe.js.map +1 -1
- package/esm/cli/_template/something-other-export.js.map +1 -1
- package/esm/cli/_template/something-other-import.js.map +1 -1
- package/esm/cli/_template/something-other-list.js.map +1 -1
- package/esm/cli/_template/something-other.js.map +1 -1
- package/esm/cli/_template/something.js.map +1 -1
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-get-access-token.js.map +1 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin.js.map +1 -1
- package/esm/cli/agent/agent-delete.js.map +1 -1
- package/esm/cli/agent/agent-describe.js.map +1 -1
- package/esm/cli/agent/agent-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
- package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
- package/esm/cli/agent/agent-gateway-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-import.js.map +1 -1
- package/esm/cli/agent/agent-gateway-list.js.map +1 -1
- package/esm/cli/agent/agent-gateway.js.map +1 -1
- package/esm/cli/agent/agent-import.js.map +1 -1
- package/esm/cli/agent/agent-java-delete.js.map +1 -1
- package/esm/cli/agent/agent-java-describe.js.map +1 -1
- package/esm/cli/agent/agent-java-export.js.map +1 -1
- package/esm/cli/agent/agent-java-import.js.map +1 -1
- package/esm/cli/agent/agent-java-list.js.map +1 -1
- package/esm/cli/agent/agent-java.js.map +1 -1
- package/esm/cli/agent/agent-list.js.map +1 -1
- package/esm/cli/agent/agent-web-delete.js.map +1 -1
- package/esm/cli/agent/agent-web-describe.js.map +1 -1
- package/esm/cli/agent/agent-web-export.js.map +1 -1
- package/esm/cli/agent/agent-web-import.js.map +1 -1
- package/esm/cli/agent/agent-web-list.js.map +1 -1
- package/esm/cli/agent/agent-web.js.map +1 -1
- package/esm/cli/agent/agent.js.map +1 -1
- package/esm/cli/app/app-delete.js.map +1 -1
- package/esm/cli/app/app-describe.js.map +1 -1
- package/esm/cli/app/app-export.js.map +1 -1
- package/esm/cli/app/app-import.js.map +1 -1
- package/esm/cli/app/app-list.js.map +1 -1
- package/esm/cli/app/app.js.map +1 -1
- package/esm/cli/authz/authz-policy-delete.js.map +1 -1
- package/esm/cli/authz/authz-policy-describe.js.map +1 -1
- package/esm/cli/authz/authz-policy-export.js +16 -11
- package/esm/cli/authz/authz-policy-export.js.map +1 -1
- package/esm/cli/authz/authz-policy-import.js +13 -13
- package/esm/cli/authz/authz-policy-import.js.map +1 -1
- package/esm/cli/authz/authz-policy-list.js.map +1 -1
- package/esm/cli/authz/authz-policy.js.map +1 -1
- package/esm/cli/authz/authz-set-delete.js.map +1 -1
- package/esm/cli/authz/authz-set-describe.js.map +1 -1
- package/esm/cli/authz/authz-set-export.js +7 -4
- package/esm/cli/authz/authz-set-export.js.map +1 -1
- package/esm/cli/authz/authz-set-import.js +9 -5
- package/esm/cli/authz/authz-set-import.js.map +1 -1
- package/esm/cli/authz/authz-set-list.js.map +1 -1
- package/esm/cli/authz/authz-set.js.map +1 -1
- package/esm/cli/authz/authz-type-delete.js.map +1 -1
- package/esm/cli/authz/authz-type-describe.js.map +1 -1
- package/esm/cli/authz/authz-type-export.js.map +1 -1
- package/esm/cli/authz/authz-type-import.js.map +1 -1
- package/esm/cli/authz/authz-type-list.js.map +1 -1
- package/esm/cli/authz/authz-type.js.map +1 -1
- package/esm/cli/authz/authz.js.map +1 -1
- package/esm/cli/conn/conn-delete.js.map +1 -1
- package/esm/cli/conn/conn-describe.js.map +1 -1
- package/esm/cli/conn/conn-list.js.map +1 -1
- package/esm/cli/conn/conn-save.js.map +1 -1
- package/esm/cli/conn/conn.js.map +1 -1
- package/esm/cli/email/email-template-export.js.map +1 -1
- package/esm/cli/email/email-template-import.js.map +1 -1
- package/esm/cli/email/email-template-list.js.map +1 -1
- package/esm/cli/email/email-template.js.map +1 -1
- package/esm/cli/email/email.js.map +1 -1
- package/esm/cli/esv/esv-apply.js.map +1 -1
- package/esm/cli/esv/esv-secret-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-describe.js.map +1 -1
- package/esm/cli/esv/esv-secret-export.js.map +1 -1
- package/esm/cli/esv/esv-secret-import.js.map +1 -1
- package/esm/cli/esv/esv-secret-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-set.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-version.js.map +1 -1
- package/esm/cli/esv/esv-secret.js.map +1 -1
- package/esm/cli/esv/esv-variable-create.js.map +1 -1
- package/esm/cli/esv/esv-variable-delete.js.map +1 -1
- package/esm/cli/esv/esv-variable-describe.js.map +1 -1
- package/esm/cli/esv/esv-variable-export.js.map +1 -1
- package/esm/cli/esv/esv-variable-import.js.map +1 -1
- package/esm/cli/esv/esv-variable-list.js.map +1 -1
- package/esm/cli/esv/esv-variable-set.js.map +1 -1
- package/esm/cli/esv/esv-variable.js.map +1 -1
- package/esm/cli/esv/esv.js.map +1 -1
- package/esm/cli/idm/idm-count.js.map +1 -1
- package/esm/cli/idm/idm-export.js.map +1 -1
- package/esm/cli/idm/idm-import.js.map +1 -1
- package/esm/cli/idm/idm-list.js.map +1 -1
- package/esm/cli/idm/idm.js.map +1 -1
- package/esm/cli/idp/idp-export.js.map +1 -1
- package/esm/cli/idp/idp-import.js.map +1 -1
- package/esm/cli/idp/idp-list.js.map +1 -1
- package/esm/cli/idp/idp.js.map +1 -1
- package/esm/cli/info/info.js.map +1 -1
- package/esm/cli/journey/journey-delete.js.map +1 -1
- package/esm/cli/journey/journey-describe.js.map +1 -1
- package/esm/cli/journey/journey-disable.js.map +1 -1
- package/esm/cli/journey/journey-enable.js.map +1 -1
- package/esm/cli/journey/journey-export.js.map +1 -1
- package/esm/cli/journey/journey-import.js.map +1 -1
- package/esm/cli/journey/journey-list.js.map +1 -1
- package/esm/cli/journey/journey-prune.js.map +1 -1
- package/esm/cli/journey/journey.js.map +1 -1
- package/esm/cli/logging/logs-fetch.js.map +1 -1
- package/esm/cli/logging/logs-list.js.map +1 -1
- package/esm/cli/logging/logs-tail.js.map +1 -1
- package/esm/cli/logging/logs.js.map +1 -1
- package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm-describe.js.map +1 -1
- package/esm/cli/realm/realm-list.js.map +1 -1
- package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm.js.map +1 -1
- package/esm/cli/saml/saml-cot-export.js.map +1 -1
- package/esm/cli/saml/saml-cot-import.js.map +1 -1
- package/esm/cli/saml/saml-cot-list.js.map +1 -1
- package/esm/cli/saml/saml-cot.js.map +1 -1
- package/esm/cli/saml/saml-delete.js.map +1 -1
- package/esm/cli/saml/saml-describe.js.map +1 -1
- package/esm/cli/saml/saml-export.js.map +1 -1
- package/esm/cli/saml/saml-import.js.map +1 -1
- package/esm/cli/saml/saml-list.js.map +1 -1
- package/esm/cli/saml/saml-metadata-export.js.map +1 -1
- package/esm/cli/saml/saml-metadata.js.map +1 -1
- package/esm/cli/saml/saml.js.map +1 -1
- package/esm/cli/script/script-delete.js.map +1 -1
- package/esm/cli/script/script-describe.js.map +1 -1
- package/esm/cli/script/script-export.js.map +1 -1
- package/esm/cli/script/script-import.js.map +1 -1
- package/esm/cli/script/script-list.js.map +1 -1
- package/esm/cli/script/script.js.map +1 -1
- package/esm/cli/service/service-delete.js.map +1 -1
- package/esm/cli/service/service-export.js.map +1 -1
- package/esm/cli/service/service-import.js.map +1 -1
- package/esm/cli/service/service-list.js.map +1 -1
- package/esm/cli/service/service.js.map +1 -1
- package/esm/cli/theme/theme-delete.e2e.test_.js.map +1 -1
- package/esm/cli/theme/theme-delete.js.map +1 -1
- package/esm/cli/theme/theme-export.js.map +1 -1
- package/esm/cli/theme/theme-import.js.map +1 -1
- package/esm/cli/theme/theme-list.e2e.test_.js.map +1 -1
- package/esm/cli/theme/theme-list.js.map +1 -1
- package/esm/cli/theme/theme.js.map +1 -1
- package/esm/loader.js.map +1 -1
- package/esm/ops/AgentOps.js.map +1 -1
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/ConnectionProfileOps.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/IdmOps.js.map +1 -1
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/OAuth2ClientOps.js.map +1 -1
- package/esm/ops/PolicyOps.js +26 -17
- package/esm/ops/PolicyOps.js.map +1 -1
- package/esm/ops/PolicySetOps.js +17 -10
- package/esm/ops/PolicySetOps.js.map +1 -1
- package/esm/ops/ResourceTypeOps.js.map +1 -1
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/Saml2Ops.test_.js.map +1 -1
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/ServiceOps.js.map +1 -1
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/ops/utils/OpsUtils.js.map +1 -1
- package/esm/ops/utils/Wordwrap.js.map +1 -1
- package/esm/utils/Config.js.map +1 -1
- package/esm/utils/Console.js.map +1 -1
- package/esm/utils/ExportImportUtils.js.map +1 -1
- package/esm/utils/Version.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-delete.e2e.test_.js","names":["spawn","spawnSync","ansiEscapeCodes","beforeAll","beforeEach","deleteThemesCmd","status","console","error","stderr","toString","log","stdout","importTestThemesCmd","cwd","describe","it","done","deleteThemeCmd","expected","join","chunks","on","chunk","push","output","Buffer","concat","replace","expect","toContain"],"sources":["cli/theme/theme-delete.e2e.test_.ts"],"sourcesContent":["/* eslint-disable no-console */\n// import { jest } from '@jest/globals';\nimport { spawn, spawnSync } from 'child_process';\n\nconst ansiEscapeCodes =\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;\n\n/**\n * Run once before running the suites in this file\n */\nbeforeAll(async () => {\n //\n});\n\n/**\n * Run before every test in every suite in this file\n */\nbeforeEach(async () => {\n // delete all themes\n const deleteThemesCmd = spawnSync('frodo', [\n 'theme',\n 'delete',\n '--all',\n 'frodo-dev',\n ]);\n if (deleteThemesCmd.status && deleteThemesCmd.status > 0) {\n console.error(deleteThemesCmd.stderr.toString());\n console.log(deleteThemesCmd.stdout.toString());\n }\n\n // import test themes\n const importTestThemesCmd = spawnSync(\n 'frodo',\n ['theme', 'import', '--all-separate', 'frodo-dev'],\n {\n cwd: `test/e2e/theme/baseline`,\n }\n );\n if (importTestThemesCmd.status && importTestThemesCmd.status > 0) {\n console.error(importTestThemesCmd.stderr.toString());\n console.log(importTestThemesCmd.stdout.toString());\n }\n});\n\ndescribe('frodo theme delete', () => {\n it('\"frodo theme delete -n Zardoz\": should delete the Zardoz theme', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-n',\n 'Zardoz',\n 'frodo-dev',\n ]);\n const expected = ['✔ Deleted Zardoz.', ''].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -n DoesNotExist\": should report an error that the theme does not exist', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-n',\n 'DoesNotExist',\n 'frodo-dev',\n ]);\n const expected = ['✖ Error: DoesNotExist not found', ''].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -i 4ded6d91-ceea-400a-ae3f-42209f1b0e06\": should delete the 4ded6d91-ceea-400a-ae3f-42209f1b0e06 (Zardoz) theme', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-i',\n '4ded6d91-ceea-400a-ae3f-42209f1b0e06',\n 'frodo-dev',\n ]);\n const expected = [\n '✔ Deleted 4ded6d91-ceea-400a-ae3f-42209f1b0e06.',\n '',\n ].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -i 4ded6d91-ceea-400a-ae3f-42209f1b0e07\": should report an error that the theme does not exist', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-i',\n '4ded6d91-ceea-400a-ae3f-42209f1b0e07',\n 'frodo-dev',\n ]);\n const expected = [\n '✖ Error: 4ded6d91-ceea-400a-ae3f-42209f1b0e07 not found',\n '',\n ].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -a\": should delete all themes', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-a',\n 'frodo-dev',\n ]);\n const expected = ['✔ Deleted all realm themes.', ''].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA,SAASA,KAAK,EAAEC,SAAS,QAAQ,eAAe;AAEhD,MAAMC,eAAe;AACnB;AACA,6EAA6E;;AAE/E;AACA;AACA;AACAC,SAAS,CAAC,YAAY;EACpB;AAAA,CACD,CAAC;;AAEF;AACA;AACA;AACAC,UAAU,CAAC,YAAY;EACrB;EACA,MAAMC,eAAe,GAAGJ,SAAS,CAAC,OAAO,EAAE,CACzC,OAAO,EACP,QAAQ,EACR,OAAO,EACP,WAAW,CACZ,CAAC;EACF,IAAII,eAAe,CAACC,MAAM,IAAID,eAAe,CAACC,MAAM,GAAG,CAAC,EAAE;IACxDC,OAAO,CAACC,KAAK,CAACH,eAAe,CAACI,MAAM,CAACC,QAAQ,EAAE,CAAC;IAChDH,OAAO,CAACI,GAAG,CAACN,eAAe,CAACO,MAAM,CAACF,QAAQ,EAAE,CAAC;EAChD;;EAEA;EACA,MAAMG,mBAAmB,GAAGZ,SAAS,CACnC,OAAO,EACP,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAClD;IACEa,GAAG,EAAG;EACR,CAAC,CACF;EACD,IAAID,mBAAmB,CAACP,MAAM,IAAIO,mBAAmB,CAACP,MAAM,GAAG,CAAC,EAAE;IAChEC,OAAO,CAACC,KAAK,CAACK,mBAAmB,CAACJ,MAAM,CAACC,QAAQ,EAAE,CAAC;IACpDH,OAAO,CAACI,GAAG,CAACE,mBAAmB,CAACD,MAAM,CAACF,QAAQ,EAAE,CAAC;EACpD;AACF,CAAC,CAAC;AAEFK,QAAQ,CAAC,oBAAoB,EAAE,MAAM;EACnCC,EAAE,CAAC,gEAAgE,EAAGC,IAAI,IAAK;IAC7E,MAAMC,cAAc,GAAGlB,KAAK,CAAC,OAAO,EAAE,CACpC,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,WAAW,CACZ,CAAC;IACF,MAAMmB,QAAQ,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACrD,MAAMC,MAAoB,GAAG,EAAE;IAC/BH,cAAc,CAACT,MAAM,CAACa,EAAE,CAAC,MAAM,EAAGC,KAAK,IAAK;MAC1CF,MAAM,CAACG,IAAI,CAACD,KAAK,CAAC;IACpB,CAAC,CAAC;IACFL,cAAc,CAACT,MAAM,CAACa,EAAE,CAAC,KAAK,EAAE,MAAM;MACpC,MAAMG,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACN,MAAM,CAAC,CACjCX,QAAQ,EAAE,CACVkB,OAAO,CAAC1B,eAAe,EAAE,EAAE,CAAC;MAC/B,IAAI;QACF2B,MAAM,CAACJ,MAAM,CAAC,CAACK,SAAS,CAACX,QAAQ,CAAC;QAClCF,IAAI,EAAE;MACR,CAAC,CAAC,OAAOT,KAAK,EAAE;QACdS,IAAI,CAACT,KAAK,CAAC;MACb;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFQ,EAAE,CAAC,4FAA4F,EAAGC,IAAI,IAAK;IACzG,MAAMC,cAAc,GAAGlB,KAAK,CAAC,OAAO,EAAE,CACpC,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,WAAW,CACZ,CAAC;IACF,MAAMmB,QAAQ,GAAG,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACnE,MAAMC,MAAoB,GAAG,EAAE;IAC/BH,cAAc,CAACT,MAAM,CAACa,EAAE,CAAC,MAAM,EAAGC,KAAK,IAAK;MAC1CF,MAAM,CAACG,IAAI,CAACD,KAAK,CAAC;IACpB,CAAC,CAAC;IACFL,cAAc,CAACT,MAAM,CAACa,EAAE,CAAC,KAAK,EAAE,MAAM;MACpC,MAAMG,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACN,MAAM,CAAC,CACjCX,QAAQ,EAAE,CACVkB,OAAO,CAAC1B,eAAe,EAAE,EAAE,CAAC;MAC/B,IAAI;QACF2B,MAAM,CAACJ,MAAM,CAAC,CAACK,SAAS,CAACX,QAAQ,CAAC;QAClCF,IAAI,EAAE;MACR,CAAC,CAAC,OAAOT,KAAK,EAAE;QACdS,IAAI,CAACT,KAAK,CAAC;MACb;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFQ,EAAE,CAAC,qIAAqI,EAAGC,IAAI,IAAK;IAClJ,MAAMC,cAAc,GAAGlB,KAAK,CAAC,OAAO,EAAE,CACpC,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,sCAAsC,EACtC,WAAW,CACZ,CAAC;IACF,MAAMmB,QAAQ,GAAG,CACf,iDAAiD,EACjD,EAAE,CACH,CAACC,IAAI,CAAC,IAAI,CAAC;IACZ,MAAMC,MAAoB,GAAG,EAAE;IAC/BH,cAAc,CAACT,MAAM,CAACa,EAAE,CAAC,MAAM,EAAGC,KAAK,IAAK;MAC1CF,MAAM,CAACG,IAAI,CAACD,KAAK,CAAC;IACpB,CAAC,CAAC;IACFL,cAAc,CAACT,MAAM,CAACa,EAAE,CAAC,KAAK,EAAE,MAAM;MACpC,MAAMG,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACN,MAAM,CAAC,CACjCX,QAAQ,EAAE,CACVkB,OAAO,CAAC1B,eAAe,EAAE,EAAE,CAAC;MAC/B,IAAI;QACF2B,MAAM,CAACJ,MAAM,CAAC,CAACK,SAAS,CAACX,QAAQ,CAAC;QAClCF,IAAI,EAAE;MACR,CAAC,CAAC,OAAOT,KAAK,EAAE;QACdS,IAAI,CAACT,KAAK,CAAC;MACb;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFQ,EAAE,CAAC,oHAAoH,EAAGC,IAAI,IAAK;IACjI,MAAMC,cAAc,GAAGlB,KAAK,CAAC,OAAO,EAAE,CACpC,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,sCAAsC,EACtC,WAAW,CACZ,CAAC;IACF,MAAMmB,QAAQ,GAAG,CACf,yDAAyD,EACzD,EAAE,CACH,CAACC,IAAI,CAAC,IAAI,CAAC;IACZ,MAAMC,MAAoB,GAAG,EAAE;IAC/BH,cAAc,CAACT,MAAM,CAACa,EAAE,CAAC,MAAM,EAAGC,KAAK,IAAK;MAC1CF,MAAM,CAACG,IAAI,CAACD,KAAK,CAAC;IACpB,CAAC,CAAC;IACFL,cAAc,CAACT,MAAM,CAACa,EAAE,CAAC,KAAK,EAAE,MAAM;MACpC,MAAMG,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACN,MAAM,CAAC,CACjCX,QAAQ,EAAE,CACVkB,OAAO,CAAC1B,eAAe,EAAE,EAAE,CAAC;MAC/B,IAAI;QACF2B,MAAM,CAACJ,MAAM,CAAC,CAACK,SAAS,CAACX,QAAQ,CAAC;QAClCF,IAAI,EAAE;MACR,CAAC,CAAC,OAAOT,KAAK,EAAE;QACdS,IAAI,CAACT,KAAK,CAAC;MACb;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFQ,EAAE,CAAC,mDAAmD,EAAGC,IAAI,IAAK;IAChE,MAAMC,cAAc,GAAGlB,KAAK,CAAC,OAAO,EAAE,CACpC,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,WAAW,CACZ,CAAC;IACF,MAAMmB,QAAQ,GAAG,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IAC/D,MAAMC,MAAoB,GAAG,EAAE;IAC/BH,cAAc,CAACT,MAAM,CAACa,EAAE,CAAC,MAAM,EAAGC,KAAK,IAAK;MAC1CF,MAAM,CAACG,IAAI,CAACD,KAAK,CAAC;IACpB,CAAC,CAAC;IACFL,cAAc,CAACT,MAAM,CAACa,EAAE,CAAC,KAAK,EAAE,MAAM;MACpC,MAAMG,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACN,MAAM,CAAC,CACjCX,QAAQ,EAAE,CACVkB,OAAO,CAAC1B,eAAe,EAAE,EAAE,CAAC;MAC/B,IAAI;QACF2B,MAAM,CAACJ,MAAM,CAAC,CAACK,SAAS,CAACX,QAAQ,CAAC;QAClCF,IAAI,EAAE;MACR,CAAC,CAAC,OAAOT,KAAK,EAAE;QACdS,IAAI,CAACT,KAAK,CAAC;MACb;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"theme-delete.e2e.test_.js","names":["spawn","spawnSync","ansiEscapeCodes","beforeAll","beforeEach","deleteThemesCmd","status","console","error","stderr","toString","log","stdout","importTestThemesCmd","cwd","describe","it","done","deleteThemeCmd","expected","join","chunks","on","chunk","push","output","Buffer","concat","replace","expect","toContain"],"sources":["cli/theme/theme-delete.e2e.test_.ts"],"sourcesContent":["/* eslint-disable no-console */\n// import { jest } from '@jest/globals';\nimport { spawn, spawnSync } from 'child_process';\n\nconst ansiEscapeCodes =\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;\n\n/**\n * Run once before running the suites in this file\n */\nbeforeAll(async () => {\n //\n});\n\n/**\n * Run before every test in every suite in this file\n */\nbeforeEach(async () => {\n // delete all themes\n const deleteThemesCmd = spawnSync('frodo', [\n 'theme',\n 'delete',\n '--all',\n 'frodo-dev',\n ]);\n if (deleteThemesCmd.status && deleteThemesCmd.status > 0) {\n console.error(deleteThemesCmd.stderr.toString());\n console.log(deleteThemesCmd.stdout.toString());\n }\n\n // import test themes\n const importTestThemesCmd = spawnSync(\n 'frodo',\n ['theme', 'import', '--all-separate', 'frodo-dev'],\n {\n cwd: `test/e2e/theme/baseline`,\n }\n );\n if (importTestThemesCmd.status && importTestThemesCmd.status > 0) {\n console.error(importTestThemesCmd.stderr.toString());\n console.log(importTestThemesCmd.stdout.toString());\n }\n});\n\ndescribe('frodo theme delete', () => {\n it('\"frodo theme delete -n Zardoz\": should delete the Zardoz theme', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-n',\n 'Zardoz',\n 'frodo-dev',\n ]);\n const expected = ['✔ Deleted Zardoz.', ''].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -n DoesNotExist\": should report an error that the theme does not exist', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-n',\n 'DoesNotExist',\n 'frodo-dev',\n ]);\n const expected = ['✖ Error: DoesNotExist not found', ''].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -i 4ded6d91-ceea-400a-ae3f-42209f1b0e06\": should delete the 4ded6d91-ceea-400a-ae3f-42209f1b0e06 (Zardoz) theme', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-i',\n '4ded6d91-ceea-400a-ae3f-42209f1b0e06',\n 'frodo-dev',\n ]);\n const expected = [\n '✔ Deleted 4ded6d91-ceea-400a-ae3f-42209f1b0e06.',\n '',\n ].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -i 4ded6d91-ceea-400a-ae3f-42209f1b0e07\": should report an error that the theme does not exist', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-i',\n '4ded6d91-ceea-400a-ae3f-42209f1b0e07',\n 'frodo-dev',\n ]);\n const expected = [\n '✖ Error: 4ded6d91-ceea-400a-ae3f-42209f1b0e07 not found',\n '',\n ].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -a\": should delete all themes', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-a',\n 'frodo-dev',\n ]);\n const expected = ['✔ Deleted all realm themes.', ''].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-delete.js","names":["FrodoCommand","Option","Authenticate","state","printMessage","verboseMessage","deleteThemeByNameCmd","deleteThemeCmd","deleteAllThemes","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","themeName","getRealm","themeId","all","help","process","exitCode","parse"],"sources":["cli/theme/theme-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n deleteThemeByNameCmd,\n deleteThemeCmd,\n deleteAllThemes,\n} from '../../ops/ThemeOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo theme delete');\n\nprogram\n .description('Delete themes.')\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Delete all the themes in the realm. Ignored with -n and -i.'\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 // delete by name\n if (options.themeName && (await getTokens())) {\n verboseMessage(\n `Deleting theme with name \"${\n options.themeName\n }\" from realm \"${state.getRealm()}\"...`\n );\n deleteThemeByNameCmd(options.themeName);\n }\n // delete by id\n else if (options.themeId && (await getTokens())) {\n verboseMessage(\n `Deleting theme with id \"${\n options.themeId\n }\" from realm \"${state.getRealm()}\"...`\n );\n deleteThemeCmd(options.themeId);\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage(\n `Deleting all themes from realm \"${state.getRealm()}\"...`\n );\n deleteAllThemes();\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\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,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,oBAAoB,EACpBC,cAAc,EACdC,eAAe,QACV,oBAAoB;AAE3B,MAAM;EAAEC;AAAU,CAAC,GAAGP,YAAY;AAElC,MAAMQ,OAAO,GAAG,IAAIV,YAAY,CAAC,oBAAoB,CAAC;AAEtDU,OAAO,CACJC,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,SAAS,CACR,IAAIX,MAAM,CACR,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"theme-delete.js","names":["FrodoCommand","Option","Authenticate","state","printMessage","verboseMessage","deleteThemeByNameCmd","deleteThemeCmd","deleteAllThemes","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","themeName","getRealm","themeId","all","help","process","exitCode","parse"],"sources":["cli/theme/theme-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n deleteThemeByNameCmd,\n deleteThemeCmd,\n deleteAllThemes,\n} from '../../ops/ThemeOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo theme delete');\n\nprogram\n .description('Delete themes.')\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Delete all the themes in the realm. Ignored with -n and -i.'\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 // delete by name\n if (options.themeName && (await getTokens())) {\n verboseMessage(\n `Deleting theme with name \"${\n options.themeName\n }\" from realm \"${state.getRealm()}\"...`\n );\n deleteThemeByNameCmd(options.themeName);\n }\n // delete by id\n else if (options.themeId && (await getTokens())) {\n verboseMessage(\n `Deleting theme with id \"${\n options.themeId\n }\" from realm \"${state.getRealm()}\"...`\n );\n deleteThemeCmd(options.themeId);\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage(\n `Deleting all themes from realm \"${state.getRealm()}\"...`\n );\n deleteAllThemes();\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\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,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,oBAAoB,EACpBC,cAAc,EACdC,eAAe,QACV,oBAAoB;AAE3B,MAAM;EAAEC;AAAU,CAAC,GAAGP,YAAY;AAElC,MAAMQ,OAAO,GAAG,IAAIV,YAAY,CAAC,oBAAoB,CAAC;AAEtDU,OAAO,CACJC,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,SAAS,CACR,IAAIX,MAAM,CACR,yBAAyB,EACzB,yDACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,uBAAuB,EACvB,yDACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,6DACF,CACF,CAAC,CACAY,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;EACA,IAAID,OAAO,CAACG,SAAS,KAAK,MAAMZ,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CJ,cAAc,CACX,6BACCa,OAAO,CAACG,SACT,iBAAgBlB,KAAK,CAACmB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDhB,oBAAoB,CAACY,OAAO,CAACG,SAAS,CAAC;EACzC;EACA;EAAA,KACK,IAAIH,OAAO,CAACK,OAAO,KAAK,MAAMd,SAAS,CAAC,CAAC,CAAC,EAAE;IAC/CJ,cAAc,CACX,2BACCa,OAAO,CAACK,OACT,iBAAgBpB,KAAK,CAACmB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDf,cAAc,CAACW,OAAO,CAACK,OAAO,CAAC;EACjC;EACA;EAAA,KACK,IAAIL,OAAO,CAACM,GAAG,KAAK,MAAMf,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CJ,cAAc,CACX,mCAAkCF,KAAK,CAACmB,QAAQ,CAAC,CAAE,MACtD,CAAC;IACDd,eAAe,CAAC,CAAC;EACnB;EACA;EAAA,KACK;IACHJ,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDM,OAAO,CAACe,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHjB,OAAO,CAACkB,KAAK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-export.js","names":["FrodoCommand","Option","Authenticate","state","printMessage","verboseMessage","exportThemeById","exportThemeByName","exportThemesToFile","exportThemesToFiles","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","themeName","getRealm","file","themeId","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/theme/theme-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n exportThemeById,\n exportThemeByName,\n exportThemesToFile,\n exportThemesToFiles,\n} from '../../ops/ThemeOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo theme export');\n\nprogram\n .description('Export themes.')\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Name of the file to write the exported theme(s) to. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all the themes in a realm to a single file. Ignored with -n and -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all the themes in a realm as separate files <theme name>.theme.json. Ignored with -n, -i, and -a.'\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 // export by name\n if (options.themeName && (await getTokens())) {\n verboseMessage(\n `Exporting theme \"${\n options.themeName\n }\" from realm \"${state.getRealm()}\"...`\n );\n exportThemeByName(options.themeName, options.file);\n }\n // export by id\n else if (options.themeId && (await getTokens())) {\n verboseMessage(\n `Exporting theme \"${\n options.themeId\n }\" from realm \"${state.getRealm()}\"...`\n );\n exportThemeById(options.themeId, options.file);\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage('Exporting all themes to a single file...');\n exportThemesToFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Exporting all themes to separate files...');\n exportThemesToFiles();\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\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,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,eAAe,EACfC,iBAAiB,EACjBC,kBAAkB,EAClBC,mBAAmB,QACd,oBAAoB;AAE3B,MAAM;EAAEC;AAAU,CAAC,GAAGR,YAAY;AAElC,MAAMS,OAAO,GAAG,IAAIX,YAAY,CAAC,oBAAoB,CAAC;AAEtDW,OAAO,CACJC,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,SAAS,CACR,IAAIZ,MAAM,CACR,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"theme-export.js","names":["FrodoCommand","Option","Authenticate","state","printMessage","verboseMessage","exportThemeById","exportThemeByName","exportThemesToFile","exportThemesToFiles","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","themeName","getRealm","file","themeId","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/theme/theme-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n exportThemeById,\n exportThemeByName,\n exportThemesToFile,\n exportThemesToFiles,\n} from '../../ops/ThemeOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo theme export');\n\nprogram\n .description('Export themes.')\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Name of the file to write the exported theme(s) to. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all the themes in a realm to a single file. Ignored with -n and -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all the themes in a realm as separate files <theme name>.theme.json. Ignored with -n, -i, and -a.'\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 // export by name\n if (options.themeName && (await getTokens())) {\n verboseMessage(\n `Exporting theme \"${\n options.themeName\n }\" from realm \"${state.getRealm()}\"...`\n );\n exportThemeByName(options.themeName, options.file);\n }\n // export by id\n else if (options.themeId && (await getTokens())) {\n verboseMessage(\n `Exporting theme \"${\n options.themeId\n }\" from realm \"${state.getRealm()}\"...`\n );\n exportThemeById(options.themeId, options.file);\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage('Exporting all themes to a single file...');\n exportThemesToFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Exporting all themes to separate files...');\n exportThemesToFiles();\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\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,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,eAAe,EACfC,iBAAiB,EACjBC,kBAAkB,EAClBC,mBAAmB,QACd,oBAAoB;AAE3B,MAAM;EAAEC;AAAU,CAAC,GAAGR,YAAY;AAElC,MAAMS,OAAO,GAAG,IAAIX,YAAY,CAAC,oBAAoB,CAAC;AAEtDW,OAAO,CACJC,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,SAAS,CACR,IAAIZ,MAAM,CACR,yBAAyB,EACzB,yDACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,uBAAuB,EACvB,yDACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,mBAAmB,EACnB,sEACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,WAAW,EACX,4EACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,oBAAoB,EACpB,0GACF,CACF,CAAC,CACAa,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;EACA,IAAID,OAAO,CAACG,SAAS,KAAK,MAAMZ,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CL,cAAc,CACX,oBACCc,OAAO,CAACG,SACT,iBAAgBnB,KAAK,CAACoB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDhB,iBAAiB,CAACY,OAAO,CAACG,SAAS,EAAEH,OAAO,CAACK,IAAI,CAAC;EACpD;EACA;EAAA,KACK,IAAIL,OAAO,CAACM,OAAO,KAAK,MAAMf,SAAS,CAAC,CAAC,CAAC,EAAE;IAC/CL,cAAc,CACX,oBACCc,OAAO,CAACM,OACT,iBAAgBtB,KAAK,CAACoB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDjB,eAAe,CAACa,OAAO,CAACM,OAAO,EAAEN,OAAO,CAACK,IAAI,CAAC;EAChD;EACA;EAAA,KACK,IAAIL,OAAO,CAACO,GAAG,KAAK,MAAMhB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CL,cAAc,CAAC,0CAA0C,CAAC;IAC1DG,kBAAkB,CAACW,OAAO,CAACK,IAAI,CAAC;EAClC;EACA;EAAA,KACK,IAAIL,OAAO,CAACQ,WAAW,KAAK,MAAMjB,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDL,cAAc,CAAC,2CAA2C,CAAC;IAC3DI,mBAAmB,CAAC,CAAC;EACvB;EACA;EAAA,KACK;IACHL,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDO,OAAO,CAACiB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHnB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-import.js","names":["FrodoCommand","Option","Authenticate","state","printMessage","verboseMessage","importFirstThemeFromFile","importThemeById","importThemeByName","importThemesFromFile","importThemesFromFiles","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","themeName","getRealm","themeId","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/theme/theme-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n importFirstThemeFromFile,\n importThemeById,\n importThemeByName,\n importThemesFromFile,\n importThemesFromFiles,\n} from '../../ops/ThemeOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo theme import');\n\nprogram\n .description('Import themes.')\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the theme(s) from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all the themes from single file. Ignored with -n or -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all the themes from separate files (*.json) in the current directory. Ignored with -n or -i or -a.'\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 // import by name\n if (options.file && options.themeName && (await getTokens())) {\n verboseMessage(\n `Importing theme with name \"${\n options.themeName\n }\" into realm \"${state.getRealm()}\"...`\n );\n importThemeByName(options.themeName, options.file);\n }\n // import by id\n else if (options.file && options.themeId && (await getTokens())) {\n verboseMessage(\n `Importing theme with id \"${\n options.themeId\n }\" into realm \"${state.getRealm()}\"...`\n );\n importThemeById(options.themeId, options.file);\n }\n // --all -a\n else if (options.all && options.file && (await getTokens())) {\n verboseMessage(\n `Importing all themes from a single file (${options.file})...`\n );\n importThemesFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file && (await getTokens())) {\n verboseMessage(\n 'Importing all themes from separate files in current directory...'\n );\n importThemesFromFiles();\n }\n // import single theme from file\n else if (options.file && (await getTokens())) {\n verboseMessage(\n `Importing first theme from file \"${\n options.file\n }\" into realm \"${state.getRealm()}\"...`\n );\n importFirstThemeFromFile(options.file);\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\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,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,wBAAwB,EACxBC,eAAe,EACfC,iBAAiB,EACjBC,oBAAoB,EACpBC,qBAAqB,QAChB,oBAAoB;AAE3B,MAAM;EAAEC;AAAU,CAAC,GAAGT,YAAY;AAElC,MAAMU,OAAO,GAAG,IAAIZ,YAAY,CAAC,oBAAoB,CAAC;AAEtDY,OAAO,CACJC,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,SAAS,CACR,IAAIb,MAAM,CACR,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"theme-import.js","names":["FrodoCommand","Option","Authenticate","state","printMessage","verboseMessage","importFirstThemeFromFile","importThemeById","importThemeByName","importThemesFromFile","importThemesFromFiles","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","themeName","getRealm","themeId","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/theme/theme-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n importFirstThemeFromFile,\n importThemeById,\n importThemeByName,\n importThemesFromFile,\n importThemesFromFiles,\n} from '../../ops/ThemeOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo theme import');\n\nprogram\n .description('Import themes.')\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the theme(s) from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all the themes from single file. Ignored with -n or -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all the themes from separate files (*.json) in the current directory. Ignored with -n or -i or -a.'\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 // import by name\n if (options.file && options.themeName && (await getTokens())) {\n verboseMessage(\n `Importing theme with name \"${\n options.themeName\n }\" into realm \"${state.getRealm()}\"...`\n );\n importThemeByName(options.themeName, options.file);\n }\n // import by id\n else if (options.file && options.themeId && (await getTokens())) {\n verboseMessage(\n `Importing theme with id \"${\n options.themeId\n }\" into realm \"${state.getRealm()}\"...`\n );\n importThemeById(options.themeId, options.file);\n }\n // --all -a\n else if (options.all && options.file && (await getTokens())) {\n verboseMessage(\n `Importing all themes from a single file (${options.file})...`\n );\n importThemesFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file && (await getTokens())) {\n verboseMessage(\n 'Importing all themes from separate files in current directory...'\n );\n importThemesFromFiles();\n }\n // import single theme from file\n else if (options.file && (await getTokens())) {\n verboseMessage(\n `Importing first theme from file \"${\n options.file\n }\" into realm \"${state.getRealm()}\"...`\n );\n importFirstThemeFromFile(options.file);\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-list.e2e.test_.js","names":["spawn","spawnSync","ansiEscapeCodes","beforeAll","deleteThemesCmd","status","console","error","stderr","toString","log","stdout","importBaselineThemesCmd","cwd","describe","it","done","themeList","expected","join","chunks","on","chunk","push","output","Buffer","concat","replace","expect","toBe","expectedLong"],"sources":["cli/theme/theme-list.e2e.test_.ts"],"sourcesContent":["/* eslint-disable no-console */\n// import { jest } from '@jest/globals';\nimport { spawn, spawnSync } from 'child_process';\n\nconst ansiEscapeCodes =\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;\n\n/**\n * delete all themes and import baseline and additional test themes\n */\nbeforeAll(async () => {\n // delete all themes\n const deleteThemesCmd = spawnSync('frodo', [\n 'theme',\n 'delete',\n '--all',\n 'frodo-dev',\n ]);\n if (deleteThemesCmd.status && deleteThemesCmd.status > 0) {\n console.error(deleteThemesCmd.stderr.toString());\n console.log(deleteThemesCmd.stdout.toString());\n }\n\n // import baseline themes\n const importBaselineThemesCmd = spawnSync(\n 'frodo',\n ['theme', 'import', '--all-separate', 'frodo-dev'],\n {\n cwd: `test/e2e/theme/baseline`,\n }\n );\n if (importBaselineThemesCmd.status && importBaselineThemesCmd.status > 0) {\n console.error(importBaselineThemesCmd.stderr.toString());\n console.log(importBaselineThemesCmd.stdout.toString());\n }\n});\n\ndescribe('frodo theme list', () => {\n it('\"frodo theme list\": should list the names of the default themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', 'frodo-dev']);\n const expected = [\n 'Contrast',\n 'Highlander',\n 'Robroy',\n 'Starter Theme',\n 'Zardoz',\n '',\n ].join('\\n');\n\n const chunks: Uint8Array[] = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n const expectedLong = [\n 'Name │Id │Default',\n 'Contrast │cd6c93e2-52e2-4340-9770-66a588343841│ ',\n 'Highlander │00203891-dde0-4114-b27a-219ae0b43a61│ ',\n 'Robroy │b82755e8-fe9a-4d27-b66b-45e37ae12345│ ',\n 'Starter Theme│86ce2f64-586d-44fe-8593-b12a85aac68d│Yes ',\n 'Zardoz │4ded6d91-ceea-400a-ae3f-42209f1b0e06│ ',\n '',\n ].join('\\n');\n\n it('\"frodo theme list -l\": should list the names, ids, and default flag of the baseline themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', '-l', 'frodo-dev']);\n\n const chunks: Uint8Array[] = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expectedLong);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme list --long\": should list the names, status, and default flag of the baseline themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', '--long', 'frodo-dev']);\n\n const chunks: Uint8Array[] = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expectedLong);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA,SAASA,KAAK,EAAEC,SAAS,QAAQ,eAAe;AAEhD,MAAMC,eAAe;AACnB;AACA,6EAA6E;;AAE/E;AACA;AACA;AACAC,SAAS,CAAC,YAAY;EACpB;EACA,MAAMC,eAAe,GAAGH,SAAS,CAAC,OAAO,EAAE,CACzC,OAAO,EACP,QAAQ,EACR,OAAO,EACP,WAAW,CACZ,CAAC;EACF,IAAIG,eAAe,CAACC,MAAM,IAAID,eAAe,CAACC,MAAM,GAAG,CAAC,EAAE;IACxDC,OAAO,CAACC,KAAK,CAACH,eAAe,CAACI,MAAM,CAACC,QAAQ,
|
|
1
|
+
{"version":3,"file":"theme-list.e2e.test_.js","names":["spawn","spawnSync","ansiEscapeCodes","beforeAll","deleteThemesCmd","status","console","error","stderr","toString","log","stdout","importBaselineThemesCmd","cwd","describe","it","done","themeList","expected","join","chunks","on","chunk","push","output","Buffer","concat","replace","expect","toBe","expectedLong"],"sources":["cli/theme/theme-list.e2e.test_.ts"],"sourcesContent":["/* eslint-disable no-console */\n// import { jest } from '@jest/globals';\nimport { spawn, spawnSync } from 'child_process';\n\nconst ansiEscapeCodes =\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;\n\n/**\n * delete all themes and import baseline and additional test themes\n */\nbeforeAll(async () => {\n // delete all themes\n const deleteThemesCmd = spawnSync('frodo', [\n 'theme',\n 'delete',\n '--all',\n 'frodo-dev',\n ]);\n if (deleteThemesCmd.status && deleteThemesCmd.status > 0) {\n console.error(deleteThemesCmd.stderr.toString());\n console.log(deleteThemesCmd.stdout.toString());\n }\n\n // import baseline themes\n const importBaselineThemesCmd = spawnSync(\n 'frodo',\n ['theme', 'import', '--all-separate', 'frodo-dev'],\n {\n cwd: `test/e2e/theme/baseline`,\n }\n );\n if (importBaselineThemesCmd.status && importBaselineThemesCmd.status > 0) {\n console.error(importBaselineThemesCmd.stderr.toString());\n console.log(importBaselineThemesCmd.stdout.toString());\n }\n});\n\ndescribe('frodo theme list', () => {\n it('\"frodo theme list\": should list the names of the default themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', 'frodo-dev']);\n const expected = [\n 'Contrast',\n 'Highlander',\n 'Robroy',\n 'Starter Theme',\n 'Zardoz',\n '',\n ].join('\\n');\n\n const chunks: Uint8Array[] = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n const expectedLong = [\n 'Name │Id │Default',\n 'Contrast │cd6c93e2-52e2-4340-9770-66a588343841│ ',\n 'Highlander │00203891-dde0-4114-b27a-219ae0b43a61│ ',\n 'Robroy │b82755e8-fe9a-4d27-b66b-45e37ae12345│ ',\n 'Starter Theme│86ce2f64-586d-44fe-8593-b12a85aac68d│Yes ',\n 'Zardoz │4ded6d91-ceea-400a-ae3f-42209f1b0e06│ ',\n '',\n ].join('\\n');\n\n it('\"frodo theme list -l\": should list the names, ids, and default flag of the baseline themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', '-l', 'frodo-dev']);\n\n const chunks: Uint8Array[] = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expectedLong);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme list --long\": should list the names, status, and default flag of the baseline themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', '--long', 'frodo-dev']);\n\n const chunks: Uint8Array[] = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expectedLong);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-list.js","names":["FrodoCommand","Option","Authenticate","state","listThemes","verboseMessage","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","long","process","exitCode","parse"],"sources":["cli/theme/theme-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { listThemes } from '../../ops/ThemeOps';\nimport { verboseMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo theme list');\n\nprogram\n .description('List themes.')\n .addOption(\n new Option('-l, --long', 'Long with more fields.').default(false, 'false')\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 verboseMessage(`Listing themes in realm \"${state.getRealm()}\"...`);\n listThemes(options.long);\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,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,cAAc,QAAQ,qBAAqB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGJ,YAAY;AAElC,MAAMK,OAAO,GAAG,IAAIP,YAAY,CAAC,kBAAkB,CAAC;AAEpDO,OAAO,CACJC,WAAW,CAAC,cAAc,CAAC,CAC3BC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAACS,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"theme-list.js","names":["FrodoCommand","Option","Authenticate","state","listThemes","verboseMessage","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","long","process","exitCode","parse"],"sources":["cli/theme/theme-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { listThemes } from '../../ops/ThemeOps';\nimport { verboseMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo theme list');\n\nprogram\n .description('List themes.')\n .addOption(\n new Option('-l, --long', 'Long with more fields.').default(false, 'false')\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 verboseMessage(`Listing themes in realm \"${state.getRealm()}\"...`);\n listThemes(options.long);\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,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,cAAc,QAAQ,qBAAqB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGJ,YAAY;AAElC,MAAMK,OAAO,GAAG,IAAIP,YAAY,CAAC,kBAAkB,CAAC;AAEpDO,OAAO,CACJC,WAAW,CAAC,cAAc,CAAC,CAC3BC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAACS,OAAO,CAAC,KAAK,EAAE,OAAO,CAC3E,CAAC,CACAC,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;IACrBD,cAAc,CAAE,4BAA2BF,KAAK,CAACgB,QAAQ,CAAC,CAAE,MAAK,CAAC;IAClEf,UAAU,CAACY,OAAO,CAACI,IAAI,CAAC;EAC1B,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHf,OAAO,CAACgB,KAAK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["cli/theme/theme.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('theme')\n .description('Manage themes.')\n .executableDir(__dirname);\n\n program.command('list', 'List themes.');\n\n program.command('export', 'Export themes.');\n\n program.command('import', 'Import themes.');\n\n program.command('delete', 'Delete themes.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,
|
|
1
|
+
{"version":3,"file":"theme.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["cli/theme/theme.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('theme')\n .description('Manage themes.')\n .executableDir(__dirname);\n\n program.command('list', 'List themes.');\n\n program.command('export', 'Export themes.');\n\n program.command('import', 'Import themes.');\n\n program.command('delete', 'Delete themes.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,OAAO,CAAC,CAC1CU,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;EAEvCH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;EAE3CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;EAE3CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;EAE3C,OAAOH,OAAO;AAChB"}
|
package/esm/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","names":["builtinModules","dirname","cwd","fileURLToPath","pathToFileURL","promisify","resolveCallback","resolveAsync","baseURL","href","resolve","specifier","context","next","parentURL","startsWith","includes","parentPath","url","resolution","basedir","extensions","error","code"],"sources":["loader.ts"],"sourcesContent":["import { builtinModules } from 'node:module';\nimport { dirname } from 'path';\nimport { cwd } from 'process';\nimport { fileURLToPath, pathToFileURL } from 'url';\nimport { promisify } from 'util';\n\nimport resolveCallback from 'resolve/async.js';\n\nconst resolveAsync = promisify(resolveCallback);\n\nconst baseURL = pathToFileURL(cwd() + '/').href;\n\nexport async function resolve(specifier, context, next) {\n const { parentURL = baseURL } = context;\n\n if (specifier.startsWith('node:') || builtinModules.includes(specifier)) {\n return next(specifier, context);\n }\n\n // `resolveAsync` works with paths, not URLs\n if (specifier.startsWith('file://')) {\n specifier = fileURLToPath(specifier);\n }\n const parentPath = fileURLToPath(parentURL);\n\n let url;\n try {\n const resolution = await resolveAsync(specifier, {\n basedir: dirname(parentPath),\n // For whatever reason, --experimental-specifier-resolution=node doesn't search for .mjs extensions\n // but it does search for index.mjs files within directories\n extensions: ['.js', '.json', '.node', '.mjs'],\n });\n url = pathToFileURL(resolution).href;\n } catch (error) {\n if (error.code === 'MODULE_NOT_FOUND') {\n // Match Node's error code\n error.code = 'ERR_MODULE_NOT_FOUND';\n }\n throw error;\n }\n\n return next(url, context);\n}\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,aAAa;AAC5C,SAASC,OAAO,QAAQ,MAAM;AAC9B,SAASC,GAAG,QAAQ,SAAS;AAC7B,SAASC,aAAa,EAAEC,aAAa,QAAQ,KAAK;AAClD,SAASC,SAAS,QAAQ,MAAM;AAEhC,OAAOC,eAAe,MAAM,kBAAkB;AAE9C,MAAMC,YAAY,GAAGF,SAAS,CAACC,eAAe,CAAC;AAE/C,MAAME,OAAO,GAAGJ,aAAa,CAACF,GAAG,
|
|
1
|
+
{"version":3,"file":"loader.js","names":["builtinModules","dirname","cwd","fileURLToPath","pathToFileURL","promisify","resolveCallback","resolveAsync","baseURL","href","resolve","specifier","context","next","parentURL","startsWith","includes","parentPath","url","resolution","basedir","extensions","error","code"],"sources":["loader.ts"],"sourcesContent":["import { builtinModules } from 'node:module';\nimport { dirname } from 'path';\nimport { cwd } from 'process';\nimport { fileURLToPath, pathToFileURL } from 'url';\nimport { promisify } from 'util';\n\nimport resolveCallback from 'resolve/async.js';\n\nconst resolveAsync = promisify(resolveCallback);\n\nconst baseURL = pathToFileURL(cwd() + '/').href;\n\nexport async function resolve(specifier, context, next) {\n const { parentURL = baseURL } = context;\n\n if (specifier.startsWith('node:') || builtinModules.includes(specifier)) {\n return next(specifier, context);\n }\n\n // `resolveAsync` works with paths, not URLs\n if (specifier.startsWith('file://')) {\n specifier = fileURLToPath(specifier);\n }\n const parentPath = fileURLToPath(parentURL);\n\n let url;\n try {\n const resolution = await resolveAsync(specifier, {\n basedir: dirname(parentPath),\n // For whatever reason, --experimental-specifier-resolution=node doesn't search for .mjs extensions\n // but it does search for index.mjs files within directories\n extensions: ['.js', '.json', '.node', '.mjs'],\n });\n url = pathToFileURL(resolution).href;\n } catch (error) {\n if (error.code === 'MODULE_NOT_FOUND') {\n // Match Node's error code\n error.code = 'ERR_MODULE_NOT_FOUND';\n }\n throw error;\n }\n\n return next(url, context);\n}\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,aAAa;AAC5C,SAASC,OAAO,QAAQ,MAAM;AAC9B,SAASC,GAAG,QAAQ,SAAS;AAC7B,SAASC,aAAa,EAAEC,aAAa,QAAQ,KAAK;AAClD,SAASC,SAAS,QAAQ,MAAM;AAEhC,OAAOC,eAAe,MAAM,kBAAkB;AAE9C,MAAMC,YAAY,GAAGF,SAAS,CAACC,eAAe,CAAC;AAE/C,MAAME,OAAO,GAAGJ,aAAa,CAACF,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAACO,IAAI;AAE/C,OAAO,eAAeC,OAAOA,CAACC,SAAS,EAAEC,OAAO,EAAEC,IAAI,EAAE;EACtD,MAAM;IAAEC,SAAS,GAAGN;EAAQ,CAAC,GAAGI,OAAO;EAEvC,IAAID,SAAS,CAACI,UAAU,CAAC,OAAO,CAAC,IAAIf,cAAc,CAACgB,QAAQ,CAACL,SAAS,CAAC,EAAE;IACvE,OAAOE,IAAI,CAACF,SAAS,EAAEC,OAAO,CAAC;EACjC;;EAEA;EACA,IAAID,SAAS,CAACI,UAAU,CAAC,SAAS,CAAC,EAAE;IACnCJ,SAAS,GAAGR,aAAa,CAACQ,SAAS,CAAC;EACtC;EACA,MAAMM,UAAU,GAAGd,aAAa,CAACW,SAAS,CAAC;EAE3C,IAAII,GAAG;EACP,IAAI;IACF,MAAMC,UAAU,GAAG,MAAMZ,YAAY,CAACI,SAAS,EAAE;MAC/CS,OAAO,EAAEnB,OAAO,CAACgB,UAAU,CAAC;MAC5B;MACA;MACAI,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAC9C,CAAC,CAAC;IACFH,GAAG,GAAGd,aAAa,CAACe,UAAU,CAAC,CAACV,IAAI;EACtC,CAAC,CAAC,OAAOa,KAAK,EAAE;IACd,IAAIA,KAAK,CAACC,IAAI,KAAK,kBAAkB,EAAE;MACrC;MACAD,KAAK,CAACC,IAAI,GAAG,sBAAsB;IACrC;IACA,MAAMD,KAAK;EACb;EAEA,OAAOT,IAAI,CAACK,GAAG,EAAEN,OAAO,CAAC;AAC3B"}
|
package/esm/ops/AgentOps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentOps.js","names":["fs","printMessage","createTable","debugMessage","showSpinner","succeedSpinner","failSpinner","ExportImportUtils","Agent","Utils","state","AGENT_TYPE_IG","AGENT_TYPE_JAVA","AGENT_TYPE_WEB","createAgentExportTemplate","getAgents","getIdentityGatewayAgents","getJavaAgents","getWebAgents","exportAgents","exportIdentityGatewayAgents","exportJavaAgents","exportWebAgents","exportAgent","exportIdentityGatewayAgent","exportJavaAgent","exportWebAgent","importAgents","importIdentityGatewayAgents","importJavaAgents","importWebAgents","importAgent","importIdentityGatewayAgent","importJavaAgent","importWebAgent","getTypedFilename","saveJsonToFile","titleCase","getRealmName","agentTypeToFileIdMap","listAgents","long","agents","table","agent","status","_type","_id","push","name","toString","forEach","error","stack","listIdentityGatewayAgents","listJavaAgents","listWebAgents","exportAgentsToFile","file","exportData","fileName","default","session","getRealm","exportIdentityGatewayAgentsToFile","exportJavaAgentsToFile","exportWebAgentsToFile","exportAgentToFile","agentId","exportIdentityGatewayAgentToFile","exportJavaAgentToFile","exportWebAgentToFile","exportAgentsToFiles","length","exportIdentityGatewayAgentsToFiles","exportJavaAgentsToFiles","exportWebAgentsToFiles","importAgentFromFile","verbose","getVerbose","readFile","err","data","importData","JSON","parse","importError","importFirstAgentFromFile","Object","keys","values","importAgentsFromFile","message","response","importAgentsFromFiles","names","readdirSync","agentFiles","filter","toLowerCase","endsWith","importIdentityGatewayAgentFromFile","importFirstIdentityGatewayAgentFromFile","importIdentityGatewayAgentsFromFile","importIdentityGatewayAgentsFromFiles","importJavaAgentFromFile","importFirstJavaAgentFromFile","importJavaAgentsFromFile","importJavaAgentsFromFiles","importWebAgentFromFile","importFirstWebAgentFromFile","importWebAgentsFromFile","importWebAgentsFromFiles"],"sources":["ops/AgentOps.ts"],"sourcesContent":["import fs from 'fs';\nimport {\n printMessage,\n createTable,\n debugMessage,\n showSpinner,\n succeedSpinner,\n failSpinner,\n} from '../utils/Console';\nimport { ExportImportUtils, Agent, Utils, state } from '@rockcarver/frodo-lib';\nimport { AgentExportInterface } from '@rockcarver/frodo-lib/types/ops/OpsTypes';\n\nconst {\n AGENT_TYPE_IG,\n AGENT_TYPE_JAVA,\n AGENT_TYPE_WEB,\n createAgentExportTemplate,\n getAgents,\n getIdentityGatewayAgents,\n getJavaAgents,\n getWebAgents,\n exportAgents,\n exportIdentityGatewayAgents,\n exportJavaAgents,\n exportWebAgents,\n exportAgent,\n exportIdentityGatewayAgent,\n exportJavaAgent,\n exportWebAgent,\n importAgents,\n importIdentityGatewayAgents,\n importJavaAgents,\n importWebAgents,\n importAgent,\n importIdentityGatewayAgent,\n importJavaAgent,\n importWebAgent,\n} = Agent;\nconst { getTypedFilename, saveJsonToFile, titleCase } = ExportImportUtils;\nconst { getRealmName } = Utils;\n\nconst agentTypeToFileIdMap = {\n [AGENT_TYPE_IG]: 'gateway.agent',\n [AGENT_TYPE_JAVA]: 'java.agent',\n [AGENT_TYPE_WEB]: 'web.agent',\n};\n\n/**\n * List agents\n */\nexport async function listAgents(long = false) {\n try {\n const agents = await getAgents();\n if (long) {\n const table = createTable(['Agent Id', 'Status', 'Agent Type']);\n for (const agent of agents) {\n let status = 'Unknown';\n switch (agent._type._id) {\n case 'J2EEAgent':\n status = agent['globalJ2EEAgentConfig']['status'];\n break;\n case 'WebAgent':\n status = agent['globalWebAgentConfig']['status'];\n break;\n default:\n status = agent.status as string;\n break;\n }\n table.push([\n agent._id,\n status === 'Active' ? 'Active'['brightGreen'] : status['brightRed'],\n agent._type.name,\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * List identity gateway agents\n */\nexport async function listIdentityGatewayAgents(long = false) {\n try {\n const agents = await getIdentityGatewayAgents();\n if (long) {\n const table = createTable(['Gateway Agent Id', 'Status']);\n for (const agent of agents) {\n table.push([\n agent._id,\n agent.status === 'Active'\n ? 'Active'['brightGreen']\n : agent.status['brightRed'],\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing gateway agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * List java agents\n */\nexport async function listJavaAgents(long = false) {\n try {\n const agents = await getJavaAgents();\n if (long) {\n const table = createTable(['Java Agent Id', 'Status']);\n for (const agent of agents) {\n table.push([\n agent._id,\n agent['globalJ2EEAgentConfig']['status'] === 'Active'\n ? 'Active'['brightGreen']\n : agent['globalJ2EEAgentConfig']['status']['brightRed'],\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing java agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * List web agents\n */\nexport async function listWebAgents(long = false) {\n try {\n const agents = await getWebAgents();\n if (long) {\n const table = createTable(['Web Agent Id', 'Status']);\n for (const agent of agents) {\n table.push([\n agent._id,\n agent['globalWebAgentConfig']['status'] === 'Active'\n ? 'Active'['brightGreen']\n : agent['globalWebAgentConfig']['status']['brightRed'],\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing web agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * Export all agents to file\n * @param {string} file file name\n */\nexport async function exportAgentsToFile(file) {\n const exportData = await exportAgents();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.default.session.getRealm()))}Agents`,\n 'agent'\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all identity gateway agents to file\n * @param {string} file file name\n */\nexport async function exportIdentityGatewayAgentsToFile(file) {\n const exportData = await exportIdentityGatewayAgents();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.default.session.getRealm()))}Agents`,\n agentTypeToFileIdMap[AGENT_TYPE_IG]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all java agents to file\n * @param {string} file file name\n */\nexport async function exportJavaAgentsToFile(file) {\n const exportData = await exportJavaAgents();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.default.session.getRealm()))}Agents`,\n agentTypeToFileIdMap[AGENT_TYPE_JAVA]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all web agents to file\n * @param {string} file file name\n */\nexport async function exportWebAgentsToFile(file) {\n const exportData = await exportWebAgents();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.default.session.getRealm()))}Agents`,\n agentTypeToFileIdMap[AGENT_TYPE_WEB]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportAgentToFile(agentId, file) {\n const exportData = await exportAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export identity gateway agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportIdentityGatewayAgentToFile(agentId, file) {\n const exportData = await exportIdentityGatewayAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export java agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportJavaAgentToFile(agentId, file) {\n const exportData = await exportJavaAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export web agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportWebAgentToFile(agentId, file) {\n const exportData = await exportWebAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all agents to separate files\n */\nexport async function exportAgentsToFiles() {\n const agents = await getAgents();\n debugMessage(`exportAgentsToFiles: ${agents.length} agents`);\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n debugMessage(`exportAgentsToFiles: exporting ${agent._id} to ${fileName}`);\n saveJsonToFile(exportData, fileName);\n }\n debugMessage(`exportAgentsToFiles: done.`);\n}\n\n/**\n * Export all identity gateway agents to separate files\n */\nexport async function exportIdentityGatewayAgentsToFiles() {\n const agents = await getIdentityGatewayAgents();\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n saveJsonToFile(exportData, fileName);\n }\n}\n\n/**\n * Export all java agents to separate files\n */\nexport async function exportJavaAgentsToFiles() {\n const agents = await getJavaAgents();\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n saveJsonToFile(exportData, fileName);\n }\n}\n\n/**\n * Export all web agents to separate files\n */\nexport async function exportWebAgentsToFiles() {\n const agents = await getWebAgents();\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n saveJsonToFile(exportData, fileName);\n }\n}\n\n/**\n * Import an agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importAgentFromFile(agentId: string, file: string) {\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await importAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n });\n}\n\n/**\n * Import first agent from file\n * @param {string} file import file name\n */\nexport async function importFirstAgentFromFile(file: string) {\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await importAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n failSpinner(`${importError}`);\n }\n return;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n });\n}\n\n/**\n * Import agents from file\n * @param {String} file file name\n */\nexport async function importAgentsFromFile(file) {\n debugMessage(`importAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`importAgentsFromFile: importing ${file}`);\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await importAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`importAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all agents from separate files\n */\nexport async function importAgentsFromFiles() {\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importAgentsFromFile(file);\n }\n}\n\n/**\n * Import an identity gateway agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importIdentityGatewayAgentFromFile(\n agentId: string,\n file: string\n) {\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentFromFile: start`);\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await importIdentityGatewayAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentFromFile: end`);\n });\n}\n\n/**\n * Import first identity gateway agent from file\n * @param {string} file import file name\n */\nexport async function importFirstIdentityGatewayAgentFromFile(file: string) {\n debugMessage(`cli.AgentOps.importFirstIdentityGatewayAgentFromFile: start`);\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await importIdentityGatewayAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n return;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n debugMessage(`cli.AgentOps.importFirstIdentityGatewayAgentFromFile: end`);\n });\n}\n\n/**\n * Import identity gateway agents from file\n * @param {String} file file name\n */\nexport async function importIdentityGatewayAgentsFromFile(file) {\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(\n `cli.AgentOps.importIdentityGatewayAgentsFromFile: importing ${file}`\n );\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await importIdentityGatewayAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all identity gateway agents from separate files\n */\nexport async function importIdentityGatewayAgentsFromFiles() {\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFiles: start`);\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importIdentityGatewayAgentsFromFile(file);\n }\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFiles: end`);\n}\n\n/**\n * Import an java agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importJavaAgentFromFile(agentId: string, file: string) {\n debugMessage(`cli.AgentOps.importJavaAgentFromFile: start`);\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await importJavaAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n debugMessage(`cli.AgentOps.importJavaAgentFromFile: end`);\n });\n}\n\n/**\n * Import first java agent from file\n * @param {string} file import file name\n */\nexport async function importFirstJavaAgentFromFile(file: string) {\n debugMessage(`cli.AgentOps.importFirstJavaAgentFromFile: start`);\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await importJavaAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n return;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n debugMessage(`cli.AgentOps.importFirstJavaAgentFromFile: end`);\n });\n}\n\n/**\n * Import java agents from file\n * @param {String} file file name\n */\nexport async function importJavaAgentsFromFile(file) {\n debugMessage(`cli.AgentOps.importJavaAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`cli.AgentOps.importJavaAgentsFromFile: importing ${file}`);\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await importJavaAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.AgentOps.importJavaAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all java agents from separate files\n */\nexport async function importJavaAgentsFromFiles() {\n debugMessage(`cli.AgentOps.importJavaAgentsFromFiles: start`);\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importJavaAgentsFromFile(file);\n }\n debugMessage(`cli.AgentOps.importJavaAgentsFromFiles: end`);\n}\n\n/**\n * Import an web agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importWebAgentFromFile(agentId: string, file: string) {\n debugMessage(`cli.AgentOps.importWebAgentFromFile: start`);\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await importWebAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n debugMessage(`cli.AgentOps.importWebAgentFromFile: end`);\n });\n}\n\n/**\n * Import web gateway agent from file\n * @param {string} file import file name\n */\nexport async function importFirstWebAgentFromFile(file: string) {\n debugMessage(`cli.AgentOps.importFirstWebAgentFromFile: start`);\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await importWebAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n failSpinner(`caught it here ${importError}`);\n }\n break;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n debugMessage(`cli.AgentOps.importFirstWebAgentFromFile: end`);\n });\n}\n\n/**\n * Import web agents from file\n * @param {String} file file name\n */\nexport async function importWebAgentsFromFile(file) {\n debugMessage(`cli.AgentOps.importWebAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`cli.AgentOps.importWebAgentsFromFile: importing ${file}`);\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await importWebAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.AgentOps.importWebAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all web agents from separate files\n */\nexport async function importWebAgentsFromFiles() {\n debugMessage(`cli.AgentOps.importWebAgentsFromFiles: start`);\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importWebAgentsFromFile(file);\n }\n debugMessage(`cli.AgentOps.importWebAgentsFromFiles: end`);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgentOps.js","names":["fs","printMessage","createTable","debugMessage","showSpinner","succeedSpinner","failSpinner","ExportImportUtils","Agent","Utils","state","AGENT_TYPE_IG","AGENT_TYPE_JAVA","AGENT_TYPE_WEB","createAgentExportTemplate","getAgents","getIdentityGatewayAgents","getJavaAgents","getWebAgents","exportAgents","exportIdentityGatewayAgents","exportJavaAgents","exportWebAgents","exportAgent","exportIdentityGatewayAgent","exportJavaAgent","exportWebAgent","importAgents","importIdentityGatewayAgents","importJavaAgents","importWebAgents","importAgent","importIdentityGatewayAgent","importJavaAgent","importWebAgent","getTypedFilename","saveJsonToFile","titleCase","getRealmName","agentTypeToFileIdMap","listAgents","long","agents","table","agent","status","_type","_id","push","name","toString","forEach","error","stack","listIdentityGatewayAgents","listJavaAgents","listWebAgents","exportAgentsToFile","file","exportData","fileName","default","session","getRealm","exportIdentityGatewayAgentsToFile","exportJavaAgentsToFile","exportWebAgentsToFile","exportAgentToFile","agentId","exportIdentityGatewayAgentToFile","exportJavaAgentToFile","exportWebAgentToFile","exportAgentsToFiles","length","exportIdentityGatewayAgentsToFiles","exportJavaAgentsToFiles","exportWebAgentsToFiles","importAgentFromFile","verbose","getVerbose","readFile","err","data","importData","JSON","parse","importError","importFirstAgentFromFile","Object","keys","values","importAgentsFromFile","message","response","importAgentsFromFiles","names","readdirSync","agentFiles","filter","toLowerCase","endsWith","importIdentityGatewayAgentFromFile","importFirstIdentityGatewayAgentFromFile","importIdentityGatewayAgentsFromFile","importIdentityGatewayAgentsFromFiles","importJavaAgentFromFile","importFirstJavaAgentFromFile","importJavaAgentsFromFile","importJavaAgentsFromFiles","importWebAgentFromFile","importFirstWebAgentFromFile","importWebAgentsFromFile","importWebAgentsFromFiles"],"sources":["ops/AgentOps.ts"],"sourcesContent":["import fs from 'fs';\nimport {\n printMessage,\n createTable,\n debugMessage,\n showSpinner,\n succeedSpinner,\n failSpinner,\n} from '../utils/Console';\nimport { ExportImportUtils, Agent, Utils, state } from '@rockcarver/frodo-lib';\nimport { AgentExportInterface } from '@rockcarver/frodo-lib/types/ops/OpsTypes';\n\nconst {\n AGENT_TYPE_IG,\n AGENT_TYPE_JAVA,\n AGENT_TYPE_WEB,\n createAgentExportTemplate,\n getAgents,\n getIdentityGatewayAgents,\n getJavaAgents,\n getWebAgents,\n exportAgents,\n exportIdentityGatewayAgents,\n exportJavaAgents,\n exportWebAgents,\n exportAgent,\n exportIdentityGatewayAgent,\n exportJavaAgent,\n exportWebAgent,\n importAgents,\n importIdentityGatewayAgents,\n importJavaAgents,\n importWebAgents,\n importAgent,\n importIdentityGatewayAgent,\n importJavaAgent,\n importWebAgent,\n} = Agent;\nconst { getTypedFilename, saveJsonToFile, titleCase } = ExportImportUtils;\nconst { getRealmName } = Utils;\n\nconst agentTypeToFileIdMap = {\n [AGENT_TYPE_IG]: 'gateway.agent',\n [AGENT_TYPE_JAVA]: 'java.agent',\n [AGENT_TYPE_WEB]: 'web.agent',\n};\n\n/**\n * List agents\n */\nexport async function listAgents(long = false) {\n try {\n const agents = await getAgents();\n if (long) {\n const table = createTable(['Agent Id', 'Status', 'Agent Type']);\n for (const agent of agents) {\n let status = 'Unknown';\n switch (agent._type._id) {\n case 'J2EEAgent':\n status = agent['globalJ2EEAgentConfig']['status'];\n break;\n case 'WebAgent':\n status = agent['globalWebAgentConfig']['status'];\n break;\n default:\n status = agent.status as string;\n break;\n }\n table.push([\n agent._id,\n status === 'Active' ? 'Active'['brightGreen'] : status['brightRed'],\n agent._type.name,\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * List identity gateway agents\n */\nexport async function listIdentityGatewayAgents(long = false) {\n try {\n const agents = await getIdentityGatewayAgents();\n if (long) {\n const table = createTable(['Gateway Agent Id', 'Status']);\n for (const agent of agents) {\n table.push([\n agent._id,\n agent.status === 'Active'\n ? 'Active'['brightGreen']\n : agent.status['brightRed'],\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing gateway agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * List java agents\n */\nexport async function listJavaAgents(long = false) {\n try {\n const agents = await getJavaAgents();\n if (long) {\n const table = createTable(['Java Agent Id', 'Status']);\n for (const agent of agents) {\n table.push([\n agent._id,\n agent['globalJ2EEAgentConfig']['status'] === 'Active'\n ? 'Active'['brightGreen']\n : agent['globalJ2EEAgentConfig']['status']['brightRed'],\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing java agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * List web agents\n */\nexport async function listWebAgents(long = false) {\n try {\n const agents = await getWebAgents();\n if (long) {\n const table = createTable(['Web Agent Id', 'Status']);\n for (const agent of agents) {\n table.push([\n agent._id,\n agent['globalWebAgentConfig']['status'] === 'Active'\n ? 'Active'['brightGreen']\n : agent['globalWebAgentConfig']['status']['brightRed'],\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing web agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * Export all agents to file\n * @param {string} file file name\n */\nexport async function exportAgentsToFile(file) {\n const exportData = await exportAgents();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.default.session.getRealm()))}Agents`,\n 'agent'\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all identity gateway agents to file\n * @param {string} file file name\n */\nexport async function exportIdentityGatewayAgentsToFile(file) {\n const exportData = await exportIdentityGatewayAgents();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.default.session.getRealm()))}Agents`,\n agentTypeToFileIdMap[AGENT_TYPE_IG]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all java agents to file\n * @param {string} file file name\n */\nexport async function exportJavaAgentsToFile(file) {\n const exportData = await exportJavaAgents();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.default.session.getRealm()))}Agents`,\n agentTypeToFileIdMap[AGENT_TYPE_JAVA]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all web agents to file\n * @param {string} file file name\n */\nexport async function exportWebAgentsToFile(file) {\n const exportData = await exportWebAgents();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.default.session.getRealm()))}Agents`,\n agentTypeToFileIdMap[AGENT_TYPE_WEB]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportAgentToFile(agentId, file) {\n const exportData = await exportAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export identity gateway agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportIdentityGatewayAgentToFile(agentId, file) {\n const exportData = await exportIdentityGatewayAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export java agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportJavaAgentToFile(agentId, file) {\n const exportData = await exportJavaAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export web agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportWebAgentToFile(agentId, file) {\n const exportData = await exportWebAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all agents to separate files\n */\nexport async function exportAgentsToFiles() {\n const agents = await getAgents();\n debugMessage(`exportAgentsToFiles: ${agents.length} agents`);\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n debugMessage(`exportAgentsToFiles: exporting ${agent._id} to ${fileName}`);\n saveJsonToFile(exportData, fileName);\n }\n debugMessage(`exportAgentsToFiles: done.`);\n}\n\n/**\n * Export all identity gateway agents to separate files\n */\nexport async function exportIdentityGatewayAgentsToFiles() {\n const agents = await getIdentityGatewayAgents();\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n saveJsonToFile(exportData, fileName);\n }\n}\n\n/**\n * Export all java agents to separate files\n */\nexport async function exportJavaAgentsToFiles() {\n const agents = await getJavaAgents();\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n saveJsonToFile(exportData, fileName);\n }\n}\n\n/**\n * Export all web agents to separate files\n */\nexport async function exportWebAgentsToFiles() {\n const agents = await getWebAgents();\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n saveJsonToFile(exportData, fileName);\n }\n}\n\n/**\n * Import an agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importAgentFromFile(agentId: string, file: string) {\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await importAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n });\n}\n\n/**\n * Import first agent from file\n * @param {string} file import file name\n */\nexport async function importFirstAgentFromFile(file: string) {\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await importAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n failSpinner(`${importError}`);\n }\n return;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n });\n}\n\n/**\n * Import agents from file\n * @param {String} file file name\n */\nexport async function importAgentsFromFile(file) {\n debugMessage(`importAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`importAgentsFromFile: importing ${file}`);\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await importAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`importAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all agents from separate files\n */\nexport async function importAgentsFromFiles() {\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importAgentsFromFile(file);\n }\n}\n\n/**\n * Import an identity gateway agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importIdentityGatewayAgentFromFile(\n agentId: string,\n file: string\n) {\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentFromFile: start`);\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await importIdentityGatewayAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentFromFile: end`);\n });\n}\n\n/**\n * Import first identity gateway agent from file\n * @param {string} file import file name\n */\nexport async function importFirstIdentityGatewayAgentFromFile(file: string) {\n debugMessage(`cli.AgentOps.importFirstIdentityGatewayAgentFromFile: start`);\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await importIdentityGatewayAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n return;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n debugMessage(`cli.AgentOps.importFirstIdentityGatewayAgentFromFile: end`);\n });\n}\n\n/**\n * Import identity gateway agents from file\n * @param {String} file file name\n */\nexport async function importIdentityGatewayAgentsFromFile(file) {\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(\n `cli.AgentOps.importIdentityGatewayAgentsFromFile: importing ${file}`\n );\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await importIdentityGatewayAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all identity gateway agents from separate files\n */\nexport async function importIdentityGatewayAgentsFromFiles() {\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFiles: start`);\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importIdentityGatewayAgentsFromFile(file);\n }\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFiles: end`);\n}\n\n/**\n * Import an java agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importJavaAgentFromFile(agentId: string, file: string) {\n debugMessage(`cli.AgentOps.importJavaAgentFromFile: start`);\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await importJavaAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n debugMessage(`cli.AgentOps.importJavaAgentFromFile: end`);\n });\n}\n\n/**\n * Import first java agent from file\n * @param {string} file import file name\n */\nexport async function importFirstJavaAgentFromFile(file: string) {\n debugMessage(`cli.AgentOps.importFirstJavaAgentFromFile: start`);\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await importJavaAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n return;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n debugMessage(`cli.AgentOps.importFirstJavaAgentFromFile: end`);\n });\n}\n\n/**\n * Import java agents from file\n * @param {String} file file name\n */\nexport async function importJavaAgentsFromFile(file) {\n debugMessage(`cli.AgentOps.importJavaAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`cli.AgentOps.importJavaAgentsFromFile: importing ${file}`);\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await importJavaAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.AgentOps.importJavaAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all java agents from separate files\n */\nexport async function importJavaAgentsFromFiles() {\n debugMessage(`cli.AgentOps.importJavaAgentsFromFiles: start`);\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importJavaAgentsFromFile(file);\n }\n debugMessage(`cli.AgentOps.importJavaAgentsFromFiles: end`);\n}\n\n/**\n * Import an web agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importWebAgentFromFile(agentId: string, file: string) {\n debugMessage(`cli.AgentOps.importWebAgentFromFile: start`);\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await importWebAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n debugMessage(`cli.AgentOps.importWebAgentFromFile: end`);\n });\n}\n\n/**\n * Import web gateway agent from file\n * @param {string} file import file name\n */\nexport async function importFirstWebAgentFromFile(file: string) {\n debugMessage(`cli.AgentOps.importFirstWebAgentFromFile: start`);\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await importWebAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n failSpinner(`caught it here ${importError}`);\n }\n break;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n debugMessage(`cli.AgentOps.importFirstWebAgentFromFile: end`);\n });\n}\n\n/**\n * Import web agents from file\n * @param {String} file file name\n */\nexport async function importWebAgentsFromFile(file) {\n debugMessage(`cli.AgentOps.importWebAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`cli.AgentOps.importWebAgentsFromFile: importing ${file}`);\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await importWebAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.AgentOps.importWebAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all web agents from separate files\n */\nexport async function importWebAgentsFromFiles() {\n debugMessage(`cli.AgentOps.importWebAgentsFromFiles: start`);\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importWebAgentsFromFile(file);\n }\n debugMessage(`cli.AgentOps.importWebAgentsFromFiles: end`);\n}\n"],"mappings":"AAAA,OAAOA,EAAE,MAAM,IAAI;AACnB,SACEC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,WAAW,EACXC,cAAc,EACdC,WAAW,QACN,kBAAkB;AACzB,SAASC,iBAAiB,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AAG9E,MAAM;EACJC,aAAa;EACbC,eAAe;EACfC,cAAc;EACdC,yBAAyB;EACzBC,SAAS;EACTC,wBAAwB;EACxBC,aAAa;EACbC,YAAY;EACZC,YAAY;EACZC,2BAA2B;EAC3BC,gBAAgB;EAChBC,eAAe;EACfC,WAAW;EACXC,0BAA0B;EAC1BC,eAAe;EACfC,cAAc;EACdC,YAAY;EACZC,2BAA2B;EAC3BC,gBAAgB;EAChBC,eAAe;EACfC,WAAW;EACXC,0BAA0B;EAC1BC,eAAe;EACfC;AACF,CAAC,GAAG1B,KAAK;AACT,MAAM;EAAE2B,gBAAgB;EAAEC,cAAc;EAAEC;AAAU,CAAC,GAAG9B,iBAAiB;AACzE,MAAM;EAAE+B;AAAa,CAAC,GAAG7B,KAAK;AAE9B,MAAM8B,oBAAoB,GAAG;EAC3B,CAAC5B,aAAa,GAAG,eAAe;EAChC,CAACC,eAAe,GAAG,YAAY;EAC/B,CAACC,cAAc,GAAG;AACpB,CAAC;;AAED;AACA;AACA;AACA,OAAO,eAAe2B,UAAUA,CAACC,IAAI,GAAG,KAAK,EAAE;EAC7C,IAAI;IACF,MAAMC,MAAM,GAAG,MAAM3B,SAAS,CAAC,CAAC;IAChC,IAAI0B,IAAI,EAAE;MACR,MAAME,KAAK,GAAGzC,WAAW,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;MAC/D,KAAK,MAAM0C,KAAK,IAAIF,MAAM,EAAE;QAC1B,IAAIG,MAAM,GAAG,SAAS;QACtB,QAAQD,KAAK,CAACE,KAAK,CAACC,GAAG;UACrB,KAAK,WAAW;YACdF,MAAM,GAAGD,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC;YACjD;UACF,KAAK,UAAU;YACbC,MAAM,GAAGD,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC;YAChD;UACF;YACEC,MAAM,GAAGD,KAAK,CAACC,MAAgB;YAC/B;QACJ;QACAF,KAAK,CAACK,IAAI,CAAC,CACTJ,KAAK,CAACG,GAAG,EACTF,MAAM,KAAK,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAGA,MAAM,CAAC,WAAW,CAAC,EACnED,KAAK,CAACE,KAAK,CAACG,IAAI,CACjB,CAAC;MACJ;MACAhD,YAAY,CAAC0C,KAAK,CAACO,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC,MAAM;MACLR,MAAM,CAACS,OAAO,CAAEP,KAAK,IAAK;QACxB3C,YAAY,CAAE,GAAE2C,KAAK,CAACG,GAAI,EAAC,EAAE,MAAM,CAAC;MACtC,CAAC,CAAC;IACJ;EACF,CAAC,CAAC,OAAOK,KAAK,EAAE;IACdnD,YAAY,CAAE,0BAAyBmD,KAAM,EAAC,EAAE,OAAO,CAAC;IACxDnD,YAAY,CAACmD,KAAK,CAACC,KAAK,EAAE,OAAO,CAAC;EACpC;AACF;;AAEA;AACA;AACA;AACA,OAAO,eAAeC,yBAAyBA,CAACb,IAAI,GAAG,KAAK,EAAE;EAC5D,IAAI;IACF,MAAMC,MAAM,GAAG,MAAM1B,wBAAwB,CAAC,CAAC;IAC/C,IAAIyB,IAAI,EAAE;MACR,MAAME,KAAK,GAAGzC,WAAW,CAAC,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;MACzD,KAAK,MAAM0C,KAAK,IAAIF,MAAM,EAAE;QAC1BC,KAAK,CAACK,IAAI,CAAC,CACTJ,KAAK,CAACG,GAAG,EACTH,KAAK,CAACC,MAAM,KAAK,QAAQ,GACrB,QAAQ,CAAC,aAAa,CAAC,GACvBD,KAAK,CAACC,MAAM,CAAC,WAAW,CAAC,CAC9B,CAAC;MACJ;MACA5C,YAAY,CAAC0C,KAAK,CAACO,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC,MAAM;MACLR,MAAM,CAACS,OAAO,CAAEP,KAAK,IAAK;QACxB3C,YAAY,CAAE,GAAE2C,KAAK,CAACG,GAAI,EAAC,EAAE,MAAM,CAAC;MACtC,CAAC,CAAC;IACJ;EACF,CAAC,CAAC,OAAOK,KAAK,EAAE;IACdnD,YAAY,CAAE,kCAAiCmD,KAAM,EAAC,EAAE,OAAO,CAAC;IAChEnD,YAAY,CAACmD,KAAK,CAACC,KAAK,EAAE,OAAO,CAAC;EACpC;AACF;;AAEA;AACA;AACA;AACA,OAAO,eAAeE,cAAcA,CAACd,IAAI,GAAG,KAAK,EAAE;EACjD,IAAI;IACF,MAAMC,MAAM,GAAG,MAAMzB,aAAa,CAAC,CAAC;IACpC,IAAIwB,IAAI,EAAE;MACR,MAAME,KAAK,GAAGzC,WAAW,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;MACtD,KAAK,MAAM0C,KAAK,IAAIF,MAAM,EAAE;QAC1BC,KAAK,CAACK,IAAI,CAAC,CACTJ,KAAK,CAACG,GAAG,EACTH,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ,GACjD,QAAQ,CAAC,aAAa,CAAC,GACvBA,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAC1D,CAAC;MACJ;MACA3C,YAAY,CAAC0C,KAAK,CAACO,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC,MAAM;MACLR,MAAM,CAACS,OAAO,CAAEP,KAAK,IAAK;QACxB3C,YAAY,CAAE,GAAE2C,KAAK,CAACG,GAAI,EAAC,EAAE,MAAM,CAAC;MACtC,CAAC,CAAC;IACJ;EACF,CAAC,CAAC,OAAOK,KAAK,EAAE;IACdnD,YAAY,CAAE,+BAA8BmD,KAAM,EAAC,EAAE,OAAO,CAAC;IAC7DnD,YAAY,CAACmD,KAAK,CAACC,KAAK,EAAE,OAAO,CAAC;EACpC;AACF;;AAEA;AACA;AACA;AACA,OAAO,eAAeG,aAAaA,CAACf,IAAI,GAAG,KAAK,EAAE;EAChD,IAAI;IACF,MAAMC,MAAM,GAAG,MAAMxB,YAAY,CAAC,CAAC;IACnC,IAAIuB,IAAI,EAAE;MACR,MAAME,KAAK,GAAGzC,WAAW,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;MACrD,KAAK,MAAM0C,KAAK,IAAIF,MAAM,EAAE;QAC1BC,KAAK,CAACK,IAAI,CAAC,CACTJ,KAAK,CAACG,GAAG,EACTH,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAChD,QAAQ,CAAC,aAAa,CAAC,GACvBA,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CACzD,CAAC;MACJ;MACA3C,YAAY,CAAC0C,KAAK,CAACO,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC,MAAM;MACLR,MAAM,CAACS,OAAO,CAAEP,KAAK,IAAK;QACxB3C,YAAY,CAAE,GAAE2C,KAAK,CAACG,GAAI,EAAC,EAAE,MAAM,CAAC;MACtC,CAAC,CAAC;IACJ;EACF,CAAC,CAAC,OAAOK,KAAK,EAAE;IACdnD,YAAY,CAAE,8BAA6BmD,KAAM,EAAC,EAAE,OAAO,CAAC;IAC5DnD,YAAY,CAACmD,KAAK,CAACC,KAAK,EAAE,OAAO,CAAC;EACpC;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeI,kBAAkBA,CAACC,IAAI,EAAE;EAC7C,MAAMC,UAAU,GAAG,MAAMxC,YAAY,CAAC,CAAC;EACvC,IAAIyC,QAAQ,GAAGzB,gBAAgB,CAC5B,MAAKE,SAAS,CAACC,YAAY,CAAC5B,KAAK,CAACmD,OAAO,CAACC,OAAO,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAE,QAAO,EACvE,OACF,CAAC;EACD,IAAIL,IAAI,EAAE;IACRE,QAAQ,GAAGF,IAAI;EACjB;EACAtB,cAAc,CAACuB,UAAU,EAAEC,QAAQ,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeI,iCAAiCA,CAACN,IAAI,EAAE;EAC5D,MAAMC,UAAU,GAAG,MAAMvC,2BAA2B,CAAC,CAAC;EACtD,IAAIwC,QAAQ,GAAGzB,gBAAgB,CAC5B,MAAKE,SAAS,CAACC,YAAY,CAAC5B,KAAK,CAACmD,OAAO,CAACC,OAAO,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAE,QAAO,EACvExB,oBAAoB,CAAC5B,aAAa,CACpC,CAAC;EACD,IAAI+C,IAAI,EAAE;IACRE,QAAQ,GAAGF,IAAI;EACjB;EACAtB,cAAc,CAACuB,UAAU,EAAEC,QAAQ,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeK,sBAAsBA,CAACP,IAAI,EAAE;EACjD,MAAMC,UAAU,GAAG,MAAMtC,gBAAgB,CAAC,CAAC;EAC3C,IAAIuC,QAAQ,GAAGzB,gBAAgB,CAC5B,MAAKE,SAAS,CAACC,YAAY,CAAC5B,KAAK,CAACmD,OAAO,CAACC,OAAO,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAE,QAAO,EACvExB,oBAAoB,CAAC3B,eAAe,CACtC,CAAC;EACD,IAAI8C,IAAI,EAAE;IACRE,QAAQ,GAAGF,IAAI;EACjB;EACAtB,cAAc,CAACuB,UAAU,EAAEC,QAAQ,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeM,qBAAqBA,CAACR,IAAI,EAAE;EAChD,MAAMC,UAAU,GAAG,MAAMrC,eAAe,CAAC,CAAC;EAC1C,IAAIsC,QAAQ,GAAGzB,gBAAgB,CAC5B,MAAKE,SAAS,CAACC,YAAY,CAAC5B,KAAK,CAACmD,OAAO,CAACC,OAAO,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAE,QAAO,EACvExB,oBAAoB,CAAC1B,cAAc,CACrC,CAAC;EACD,IAAI6C,IAAI,EAAE;IACRE,QAAQ,GAAGF,IAAI;EACjB;EACAtB,cAAc,CAACuB,UAAU,EAAEC,QAAQ,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeO,iBAAiBA,CAACC,OAAO,EAAEV,IAAI,EAAE;EACrD,MAAMC,UAAU,GAAG,MAAMpC,WAAW,CAAC6C,OAAO,CAAC;EAC7C,IAAIR,QAAQ,GAAGzB,gBAAgB,CAC7BiC,OAAO,EACP7B,oBAAoB,CAACoB,UAAU,CAACjB,MAAM,CAAC0B,OAAO,CAAC,CAACtB,KAAK,CAACC,GAAG,CAC3D,CAAC;EACD,IAAIW,IAAI,EAAE;IACRE,QAAQ,GAAGF,IAAI;EACjB;EACAtB,cAAc,CAACuB,UAAU,EAAEC,QAAQ,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeS,gCAAgCA,CAACD,OAAO,EAAEV,IAAI,EAAE;EACpE,MAAMC,UAAU,GAAG,MAAMnC,0BAA0B,CAAC4C,OAAO,CAAC;EAC5D,IAAIR,QAAQ,GAAGzB,gBAAgB,CAC7BiC,OAAO,EACP7B,oBAAoB,CAACoB,UAAU,CAACjB,MAAM,CAAC0B,OAAO,CAAC,CAACtB,KAAK,CAACC,GAAG,CAC3D,CAAC;EACD,IAAIW,IAAI,EAAE;IACRE,QAAQ,GAAGF,IAAI;EACjB;EACAtB,cAAc,CAACuB,UAAU,EAAEC,QAAQ,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeU,qBAAqBA,CAACF,OAAO,EAAEV,IAAI,EAAE;EACzD,MAAMC,UAAU,GAAG,MAAMlC,eAAe,CAAC2C,OAAO,CAAC;EACjD,IAAIR,QAAQ,GAAGzB,gBAAgB,CAC7BiC,OAAO,EACP7B,oBAAoB,CAACoB,UAAU,CAACjB,MAAM,CAAC0B,OAAO,CAAC,CAACtB,KAAK,CAACC,GAAG,CAC3D,CAAC;EACD,IAAIW,IAAI,EAAE;IACRE,QAAQ,GAAGF,IAAI;EACjB;EACAtB,cAAc,CAACuB,UAAU,EAAEC,QAAQ,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeW,oBAAoBA,CAACH,OAAO,EAAEV,IAAI,EAAE;EACxD,MAAMC,UAAU,GAAG,MAAMjC,cAAc,CAAC0C,OAAO,CAAC;EAChD,IAAIR,QAAQ,GAAGzB,gBAAgB,CAC7BiC,OAAO,EACP7B,oBAAoB,CAACoB,UAAU,CAACjB,MAAM,CAAC0B,OAAO,CAAC,CAACtB,KAAK,CAACC,GAAG,CAC3D,CAAC;EACD,IAAIW,IAAI,EAAE;IACRE,QAAQ,GAAGF,IAAI;EACjB;EACAtB,cAAc,CAACuB,UAAU,EAAEC,QAAQ,CAAC;AACtC;;AAEA;AACA;AACA;AACA,OAAO,eAAeY,mBAAmBA,CAAA,EAAG;EAC1C,MAAM9B,MAAM,GAAG,MAAM3B,SAAS,CAAC,CAAC;EAChCZ,YAAY,CAAE,wBAAuBuC,MAAM,CAAC+B,MAAO,SAAQ,CAAC;EAC5D,KAAK,MAAM7B,KAAK,IAAIF,MAAM,EAAE;IAC1B,MAAMkB,QAAQ,GAAGzB,gBAAgB,CAC/BS,KAAK,CAACG,GAAG,EACTR,oBAAoB,CAACK,KAAK,CAACE,KAAK,CAACC,GAAG,CACtC,CAAC;IACD,MAAMY,UAAU,GAAG7C,yBAAyB,CAAC,CAAC;IAC9C6C,UAAU,CAACjB,MAAM,CAACE,KAAK,CAACG,GAAG,CAAC,GAAGH,KAAK;IACpCzC,YAAY,CAAE,kCAAiCyC,KAAK,CAACG,GAAI,OAAMa,QAAS,EAAC,CAAC;IAC1ExB,cAAc,CAACuB,UAAU,EAAEC,QAAQ,CAAC;EACtC;EACAzD,YAAY,CAAE,4BAA2B,CAAC;AAC5C;;AAEA;AACA;AACA;AACA,OAAO,eAAeuE,kCAAkCA,CAAA,EAAG;EACzD,MAAMhC,MAAM,GAAG,MAAM1B,wBAAwB,CAAC,CAAC;EAC/C,KAAK,MAAM4B,KAAK,IAAIF,MAAM,EAAE;IAC1B,MAAMkB,QAAQ,GAAGzB,gBAAgB,CAC/BS,KAAK,CAACG,GAAG,EACTR,oBAAoB,CAACK,KAAK,CAACE,KAAK,CAACC,GAAG,CACtC,CAAC;IACD,MAAMY,UAAU,GAAG7C,yBAAyB,CAAC,CAAC;IAC9C6C,UAAU,CAACjB,MAAM,CAACE,KAAK,CAACG,GAAG,CAAC,GAAGH,KAAK;IACpCR,cAAc,CAACuB,UAAU,EAAEC,QAAQ,CAAC;EACtC;AACF;;AAEA;AACA;AACA;AACA,OAAO,eAAee,uBAAuBA,CAAA,EAAG;EAC9C,MAAMjC,MAAM,GAAG,MAAMzB,aAAa,CAAC,CAAC;EACpC,KAAK,MAAM2B,KAAK,IAAIF,MAAM,EAAE;IAC1B,MAAMkB,QAAQ,GAAGzB,gBAAgB,CAC/BS,KAAK,CAACG,GAAG,EACTR,oBAAoB,CAACK,KAAK,CAACE,KAAK,CAACC,GAAG,CACtC,CAAC;IACD,MAAMY,UAAU,GAAG7C,yBAAyB,CAAC,CAAC;IAC9C6C,UAAU,CAACjB,MAAM,CAACE,KAAK,CAACG,GAAG,CAAC,GAAGH,KAAK;IACpCR,cAAc,CAACuB,UAAU,EAAEC,QAAQ,CAAC;EACtC;AACF;;AAEA;AACA;AACA;AACA,OAAO,eAAegB,sBAAsBA,CAAA,EAAG;EAC7C,MAAMlC,MAAM,GAAG,MAAMxB,YAAY,CAAC,CAAC;EACnC,KAAK,MAAM0B,KAAK,IAAIF,MAAM,EAAE;IAC1B,MAAMkB,QAAQ,GAAGzB,gBAAgB,CAC/BS,KAAK,CAACG,GAAG,EACTR,oBAAoB,CAACK,KAAK,CAACE,KAAK,CAACC,GAAG,CACtC,CAAC;IACD,MAAMY,UAAU,GAAG7C,yBAAyB,CAAC,CAAC;IAC9C6C,UAAU,CAACjB,MAAM,CAACE,KAAK,CAACG,GAAG,CAAC,GAAGH,KAAK;IACpCR,cAAc,CAACuB,UAAU,EAAEC,QAAQ,CAAC;EACtC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeiB,mBAAmBA,CAACT,OAAe,EAAEV,IAAY,EAAE;EACvE,MAAMoB,OAAO,GAAGpE,KAAK,CAACmD,OAAO,CAACC,OAAO,CAACiB,UAAU,CAAC,CAAC;EAClD/E,EAAE,CAACgF,QAAQ,CAACtB,IAAI,EAAE,MAAM,EAAE,OAAOuB,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB,IAAIE,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACjC;IACA,IAAIC,UAAU,CAACzC,MAAM,IAAIyC,UAAU,CAACzC,MAAM,CAAC0B,OAAO,CAAC,EAAE;MACnDe,UAAU,GAAGA,UAAU,CAACzC,MAAM,CAAC0B,OAAO,CAAC;IACzC,CAAC,MAAM,IAAIe,UAAU,CAACzC,MAAM,EAAE;MAC5ByC,UAAU,GAAG,IAAI;IACnB;IACA;IACA,IAAIA,UAAU,IAAIf,OAAO,KAAKe,UAAU,CAACzC,MAAM,CAACK,GAAG,EAAE;MACnD,IAAI,CAAC+B,OAAO,EAAE1E,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;MACpD,IAAI;QACF,IAAIU,OAAO,EAAE1E,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;QACnD,MAAMrC,WAAW,CAACqC,OAAO,EAAEe,UAAU,CAAC;QACtC9E,cAAc,CAAE,YAAW+D,OAAQ,GAAE,CAAC;MACxC,CAAC,CAAC,OAAOkB,WAAW,EAAE;QACpB,IAAIR,OAAO,EAAE1E,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;QACnD9D,WAAW,CAAE,GAAEgF,WAAY,EAAC,CAAC;MAC/B;IACF,CAAC,MAAM;MACLlF,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;MACtC9D,WAAW,CAAE,GAAE8D,OAAQ,aAAY,CAAC;IACtC;EACF,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAemB,wBAAwBA,CAAC7B,IAAY,EAAE;EAC3D,MAAMoB,OAAO,GAAGpE,KAAK,CAACmD,OAAO,CAACC,OAAO,CAACiB,UAAU,CAAC,CAAC;EAClD/E,EAAE,CAACgF,QAAQ,CAACtB,IAAI,EAAE,MAAM,EAAE,OAAOuB,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB,MAAME,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACnC,IAAIM,MAAM,CAACC,IAAI,CAACN,UAAU,CAACzC,MAAM,CAAC,CAAC+B,MAAM,GAAG,CAAC,EAAE;MAC7C,KAAK,MAAM7B,KAAK,IAAI4C,MAAM,CAACE,MAAM,CAACP,UAAU,CAACzC,MAAM,CAAC,EAAE;QACpD,IAAI,CAACoC,OAAO,EAAE1E,WAAW,CAAE,aAAYwC,KAAK,CAAC,KAAK,CAAE,KAAI,CAAC;QACzD,IAAI;UACF,IAAIkC,OAAO,EAAE1E,WAAW,CAAE,aAAYwC,KAAK,CAAC,KAAK,CAAE,KAAI,CAAC;UACxD,MAAMb,WAAW,CAACa,KAAK,CAAC,KAAK,CAAC,EAAEuC,UAAU,CAAC;UAC3C9E,cAAc,CAAE,YAAWuC,KAAK,CAAC,KAAK,CAAE,GAAE,CAAC;QAC7C,CAAC,CAAC,OAAO0C,WAAW,EAAE;UACpB,IAAIR,OAAO,EAAE1E,WAAW,CAAE,aAAYwC,KAAK,CAAC,KAAK,CAAE,KAAI,CAAC;UACxDtC,WAAW,CAAE,GAAEgF,WAAY,EAAC,CAAC;QAC/B;QACA;MACF;IACF,CAAC,MAAM;MACLlF,WAAW,CAAE,cAAa,CAAC;MAC3BE,WAAW,CAAE,kBAAiB,CAAC;IACjC;EACF,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeqF,oBAAoBA,CAACjC,IAAI,EAAE;EAC/CvD,YAAY,CAAE,6BAA4B,CAAC;EAC3CH,EAAE,CAACgF,QAAQ,CAACtB,IAAI,EAAE,MAAM,EAAE,OAAOuB,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB9E,YAAY,CAAE,mCAAkCuD,IAAK,EAAC,CAAC;IACvD,MAAMyB,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAyB;IAC3D,IAAI;MACF,MAAMvD,YAAY,CAACwD,UAAU,CAAC;IAChC,CAAC,CAAC,OAAO/B,KAAK,EAAE;MACdnD,YAAY,CAAE,GAAEmD,KAAK,CAACwC,OAAQ,EAAC,EAAE,OAAO,CAAC;MACzC3F,YAAY,CAACmD,KAAK,CAACyC,QAAQ,CAAChD,MAAM,EAAE,OAAO,CAAC;IAC9C;IACA1C,YAAY,CAAE,2BAA0B,CAAC;EAC3C,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA,OAAO,eAAe2F,qBAAqBA,CAAA,EAAG;EAC5C,MAAMC,KAAK,GAAG/F,EAAE,CAACgG,WAAW,CAAC,GAAG,CAAC;EACjC,MAAMC,UAAU,GAAGF,KAAK,CAACG,MAAM,CAAEjD,IAAI,IACnCA,IAAI,CAACkD,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,aAAa,CAC3C,CAAC;EACD,KAAK,MAAM1C,IAAI,IAAIuC,UAAU,EAAE;IAC7B,MAAMN,oBAAoB,CAACjC,IAAI,CAAC;EAClC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAe2C,kCAAkCA,CACtDjC,OAAe,EACfV,IAAY,EACZ;EACAvD,YAAY,CAAE,wDAAuD,CAAC;EACtE,MAAM2E,OAAO,GAAGpE,KAAK,CAACmD,OAAO,CAACC,OAAO,CAACiB,UAAU,CAAC,CAAC;EAClD/E,EAAE,CAACgF,QAAQ,CAACtB,IAAI,EAAE,MAAM,EAAE,OAAOuB,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB,IAAIE,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACjC;IACA,IAAIC,UAAU,CAACzC,MAAM,IAAIyC,UAAU,CAACzC,MAAM,CAAC0B,OAAO,CAAC,EAAE;MACnDe,UAAU,GAAGA,UAAU,CAACzC,MAAM,CAAC0B,OAAO,CAAC;IACzC,CAAC,MAAM,IAAIe,UAAU,CAACzC,MAAM,EAAE;MAC5ByC,UAAU,GAAG,IAAI;IACnB;IACA;IACA,IAAIA,UAAU,IAAIf,OAAO,KAAKe,UAAU,CAACzC,MAAM,CAACK,GAAG,EAAE;MACnD,IAAI,CAAC+B,OAAO,EAAE1E,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;MACpD,IAAI;QACF,IAAIU,OAAO,EAAE1E,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;QACnD,MAAMpC,0BAA0B,CAACoC,OAAO,EAAEe,UAAU,CAAC;QACrD9E,cAAc,CAAE,YAAW+D,OAAQ,GAAE,CAAC;MACxC,CAAC,CAAC,OAAOkB,WAAW,EAAE;QACpBhF,WAAW,CAAE,GAAEgF,WAAY,EAAC,CAAC;MAC/B;IACF,CAAC,MAAM;MACLlF,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;MACtC9D,WAAW,CAAE,GAAE8D,OAAQ,aAAY,CAAC;IACtC;IACAjE,YAAY,CAAE,sDAAqD,CAAC;EACtE,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAemG,uCAAuCA,CAAC5C,IAAY,EAAE;EAC1EvD,YAAY,CAAE,6DAA4D,CAAC;EAC3E,MAAM2E,OAAO,GAAGpE,KAAK,CAACmD,OAAO,CAACC,OAAO,CAACiB,UAAU,CAAC,CAAC;EAClD/E,EAAE,CAACgF,QAAQ,CAACtB,IAAI,EAAE,MAAM,EAAE,OAAOuB,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB,MAAME,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACnC,IAAIM,MAAM,CAACC,IAAI,CAACN,UAAU,CAACzC,MAAM,CAAC,CAAC+B,MAAM,GAAG,CAAC,EAAE;MAC7C,KAAK,MAAM7B,KAAK,IAAI4C,MAAM,CAACE,MAAM,CAACP,UAAU,CAACzC,MAAM,CAAC,EAAE;QACpD,IAAI,CAACoC,OAAO,EAAE1E,WAAW,CAAE,aAAYwC,KAAK,CAAC,KAAK,CAAE,KAAI,CAAC;QACzD,IAAI;UACF,IAAIkC,OAAO,EAAE1E,WAAW,CAAE,aAAYwC,KAAK,CAAC,KAAK,CAAE,KAAI,CAAC;UACxD,MAAMZ,0BAA0B,CAACY,KAAK,CAAC,KAAK,CAAC,EAAEuC,UAAU,CAAC;UAC1D9E,cAAc,CAAE,YAAWuC,KAAK,CAAC,KAAK,CAAE,GAAE,CAAC;QAC7C,CAAC,CAAC,OAAO0C,WAAW,EAAE;UACpBhF,WAAW,CAAE,GAAEgF,WAAY,EAAC,CAAC;QAC/B;QACA;MACF;IACF,CAAC,MAAM;MACLlF,WAAW,CAAE,cAAa,CAAC;MAC3BE,WAAW,CAAE,kBAAiB,CAAC;IACjC;IACAH,YAAY,CAAE,2DAA0D,CAAC;EAC3E,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeoG,mCAAmCA,CAAC7C,IAAI,EAAE;EAC9DvD,YAAY,CAAE,yDAAwD,CAAC;EACvEH,EAAE,CAACgF,QAAQ,CAACtB,IAAI,EAAE,MAAM,EAAE,OAAOuB,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB9E,YAAY,CACT,+DAA8DuD,IAAK,EACtE,CAAC;IACD,MAAMyB,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAyB;IAC3D,IAAI;MACF,MAAMtD,2BAA2B,CAACuD,UAAU,CAAC;IAC/C,CAAC,CAAC,OAAO/B,KAAK,EAAE;MACdnD,YAAY,CAAE,GAAEmD,KAAK,CAACwC,OAAQ,EAAC,EAAE,OAAO,CAAC;MACzC3F,YAAY,CAACmD,KAAK,CAACyC,QAAQ,CAAChD,MAAM,EAAE,OAAO,CAAC;IAC9C;IACA1C,YAAY,CAAE,uDAAsD,CAAC;EACvE,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA,OAAO,eAAeqG,oCAAoCA,CAAA,EAAG;EAC3DrG,YAAY,CAAE,0DAAyD,CAAC;EACxE,MAAM4F,KAAK,GAAG/F,EAAE,CAACgG,WAAW,CAAC,GAAG,CAAC;EACjC,MAAMC,UAAU,GAAGF,KAAK,CAACG,MAAM,CAAEjD,IAAI,IACnCA,IAAI,CAACkD,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,aAAa,CAC3C,CAAC;EACD,KAAK,MAAM1C,IAAI,IAAIuC,UAAU,EAAE;IAC7B,MAAMM,mCAAmC,CAAC7C,IAAI,CAAC;EACjD;EACAvD,YAAY,CAAE,wDAAuD,CAAC;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAesG,uBAAuBA,CAACrC,OAAe,EAAEV,IAAY,EAAE;EAC3EvD,YAAY,CAAE,6CAA4C,CAAC;EAC3D,MAAM2E,OAAO,GAAGpE,KAAK,CAACmD,OAAO,CAACC,OAAO,CAACiB,UAAU,CAAC,CAAC;EAClD/E,EAAE,CAACgF,QAAQ,CAACtB,IAAI,EAAE,MAAM,EAAE,OAAOuB,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB,IAAIE,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACjC;IACA,IAAIC,UAAU,CAACzC,MAAM,IAAIyC,UAAU,CAACzC,MAAM,CAAC0B,OAAO,CAAC,EAAE;MACnDe,UAAU,GAAGA,UAAU,CAACzC,MAAM,CAAC0B,OAAO,CAAC;IACzC,CAAC,MAAM,IAAIe,UAAU,CAACzC,MAAM,EAAE;MAC5ByC,UAAU,GAAG,IAAI;IACnB;IACA;IACA,IAAIA,UAAU,IAAIf,OAAO,KAAKe,UAAU,CAACzC,MAAM,CAACK,GAAG,EAAE;MACnD,IAAI,CAAC+B,OAAO,EAAE1E,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;MACpD,IAAI;QACF,IAAIU,OAAO,EAAE1E,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;QACnD,MAAMnC,eAAe,CAACmC,OAAO,EAAEe,UAAU,CAAC;QAC1C9E,cAAc,CAAE,YAAW+D,OAAQ,GAAE,CAAC;MACxC,CAAC,CAAC,OAAOkB,WAAW,EAAE;QACpBhF,WAAW,CAAE,GAAEgF,WAAY,EAAC,CAAC;MAC/B;IACF,CAAC,MAAM;MACLlF,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;MACtC9D,WAAW,CAAE,GAAE8D,OAAQ,aAAY,CAAC;IACtC;IACAjE,YAAY,CAAE,2CAA0C,CAAC;EAC3D,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeuG,4BAA4BA,CAAChD,IAAY,EAAE;EAC/DvD,YAAY,CAAE,kDAAiD,CAAC;EAChE,MAAM2E,OAAO,GAAGpE,KAAK,CAACmD,OAAO,CAACC,OAAO,CAACiB,UAAU,CAAC,CAAC;EAClD/E,EAAE,CAACgF,QAAQ,CAACtB,IAAI,EAAE,MAAM,EAAE,OAAOuB,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB,MAAME,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACnC,IAAIM,MAAM,CAACC,IAAI,CAACN,UAAU,CAACzC,MAAM,CAAC,CAAC+B,MAAM,GAAG,CAAC,EAAE;MAC7C,KAAK,MAAM7B,KAAK,IAAI4C,MAAM,CAACE,MAAM,CAACP,UAAU,CAACzC,MAAM,CAAC,EAAE;QACpD,IAAI,CAACoC,OAAO,EAAE1E,WAAW,CAAE,aAAYwC,KAAK,CAAC,KAAK,CAAE,KAAI,CAAC;QACzD,IAAI;UACF,IAAIkC,OAAO,EAAE1E,WAAW,CAAE,aAAYwC,KAAK,CAAC,KAAK,CAAE,KAAI,CAAC;UACxD,MAAMX,eAAe,CAACW,KAAK,CAAC,KAAK,CAAC,EAAEuC,UAAU,CAAC;UAC/C9E,cAAc,CAAE,YAAWuC,KAAK,CAAC,KAAK,CAAE,GAAE,CAAC;QAC7C,CAAC,CAAC,OAAO0C,WAAW,EAAE;UACpBhF,WAAW,CAAE,GAAEgF,WAAY,EAAC,CAAC;QAC/B;QACA;MACF;IACF,CAAC,MAAM;MACLlF,WAAW,CAAE,cAAa,CAAC;MAC3BE,WAAW,CAAE,kBAAiB,CAAC;IACjC;IACAH,YAAY,CAAE,gDAA+C,CAAC;EAChE,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAewG,wBAAwBA,CAACjD,IAAI,EAAE;EACnDvD,YAAY,CAAE,8CAA6C,CAAC;EAC5DH,EAAE,CAACgF,QAAQ,CAACtB,IAAI,EAAE,MAAM,EAAE,OAAOuB,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB9E,YAAY,CAAE,oDAAmDuD,IAAK,EAAC,CAAC;IACxE,MAAMyB,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAyB;IAC3D,IAAI;MACF,MAAMrD,gBAAgB,CAACsD,UAAU,CAAC;IACpC,CAAC,CAAC,OAAO/B,KAAK,EAAE;MACdnD,YAAY,CAAE,GAAEmD,KAAK,CAACwC,OAAQ,EAAC,EAAE,OAAO,CAAC;MACzC3F,YAAY,CAACmD,KAAK,CAACyC,QAAQ,CAAChD,MAAM,EAAE,OAAO,CAAC;IAC9C;IACA1C,YAAY,CAAE,4CAA2C,CAAC;EAC5D,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA,OAAO,eAAeyG,yBAAyBA,CAAA,EAAG;EAChDzG,YAAY,CAAE,+CAA8C,CAAC;EAC7D,MAAM4F,KAAK,GAAG/F,EAAE,CAACgG,WAAW,CAAC,GAAG,CAAC;EACjC,MAAMC,UAAU,GAAGF,KAAK,CAACG,MAAM,CAAEjD,IAAI,IACnCA,IAAI,CAACkD,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,aAAa,CAC3C,CAAC;EACD,KAAK,MAAM1C,IAAI,IAAIuC,UAAU,EAAE;IAC7B,MAAMU,wBAAwB,CAACjD,IAAI,CAAC;EACtC;EACAvD,YAAY,CAAE,6CAA4C,CAAC;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAe0G,sBAAsBA,CAACzC,OAAe,EAAEV,IAAY,EAAE;EAC1EvD,YAAY,CAAE,4CAA2C,CAAC;EAC1D,MAAM2E,OAAO,GAAGpE,KAAK,CAACmD,OAAO,CAACC,OAAO,CAACiB,UAAU,CAAC,CAAC;EAClD/E,EAAE,CAACgF,QAAQ,CAACtB,IAAI,EAAE,MAAM,EAAE,OAAOuB,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB,IAAIE,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACjC;IACA,IAAIC,UAAU,CAACzC,MAAM,IAAIyC,UAAU,CAACzC,MAAM,CAAC0B,OAAO,CAAC,EAAE;MACnDe,UAAU,GAAGA,UAAU,CAACzC,MAAM,CAAC0B,OAAO,CAAC;IACzC,CAAC,MAAM,IAAIe,UAAU,CAACzC,MAAM,EAAE;MAC5ByC,UAAU,GAAG,IAAI;IACnB;IACA;IACA,IAAIA,UAAU,IAAIf,OAAO,KAAKe,UAAU,CAACzC,MAAM,CAACK,GAAG,EAAE;MACnD,IAAI,CAAC+B,OAAO,EAAE1E,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;MACpD,IAAI;QACF,IAAIU,OAAO,EAAE1E,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;QACnD,MAAMlC,cAAc,CAACkC,OAAO,EAAEe,UAAU,CAAC;QACzC9E,cAAc,CAAE,YAAW+D,OAAQ,GAAE,CAAC;MACxC,CAAC,CAAC,OAAOkB,WAAW,EAAE;QACpBhF,WAAW,CAAE,GAAEgF,WAAY,EAAC,CAAC;MAC/B;IACF,CAAC,MAAM;MACLlF,WAAW,CAAE,aAAYgE,OAAQ,KAAI,CAAC;MACtC9D,WAAW,CAAE,GAAE8D,OAAQ,aAAY,CAAC;IACtC;IACAjE,YAAY,CAAE,0CAAyC,CAAC;EAC1D,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAe2G,2BAA2BA,CAACpD,IAAY,EAAE;EAC9DvD,YAAY,CAAE,iDAAgD,CAAC;EAC/D,MAAM2E,OAAO,GAAGpE,KAAK,CAACmD,OAAO,CAACC,OAAO,CAACiB,UAAU,CAAC,CAAC;EAClD/E,EAAE,CAACgF,QAAQ,CAACtB,IAAI,EAAE,MAAM,EAAE,OAAOuB,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB,MAAME,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACnC,IAAIM,MAAM,CAACC,IAAI,CAACN,UAAU,CAACzC,MAAM,CAAC,CAAC+B,MAAM,GAAG,CAAC,EAAE;MAC7C,KAAK,MAAM7B,KAAK,IAAI4C,MAAM,CAACE,MAAM,CAACP,UAAU,CAACzC,MAAM,CAAC,EAAE;QACpD,IAAI,CAACoC,OAAO,EAAE1E,WAAW,CAAE,aAAYwC,KAAK,CAAC,KAAK,CAAE,KAAI,CAAC;QACzD,IAAI;UACF,IAAIkC,OAAO,EAAE1E,WAAW,CAAE,aAAYwC,KAAK,CAAC,KAAK,CAAE,KAAI,CAAC;UACxD,MAAMV,cAAc,CAACU,KAAK,CAAC,KAAK,CAAC,EAAEuC,UAAU,CAAC;UAC9C9E,cAAc,CAAE,YAAWuC,KAAK,CAAC,KAAK,CAAE,GAAE,CAAC;QAC7C,CAAC,CAAC,OAAO0C,WAAW,EAAE;UACpBhF,WAAW,CAAE,kBAAiBgF,WAAY,EAAC,CAAC;QAC9C;QACA;MACF;IACF,CAAC,MAAM;MACLlF,WAAW,CAAE,cAAa,CAAC;MAC3BE,WAAW,CAAE,kBAAiB,CAAC;IACjC;IACAH,YAAY,CAAE,+CAA8C,CAAC;EAC/D,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAe4G,uBAAuBA,CAACrD,IAAI,EAAE;EAClDvD,YAAY,CAAE,6CAA4C,CAAC;EAC3DH,EAAE,CAACgF,QAAQ,CAACtB,IAAI,EAAE,MAAM,EAAE,OAAOuB,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB9E,YAAY,CAAE,mDAAkDuD,IAAK,EAAC,CAAC;IACvE,MAAMyB,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAyB;IAC3D,IAAI;MACF,MAAMpD,eAAe,CAACqD,UAAU,CAAC;IACnC,CAAC,CAAC,OAAO/B,KAAK,EAAE;MACdnD,YAAY,CAAE,GAAEmD,KAAK,CAACwC,OAAQ,EAAC,EAAE,OAAO,CAAC;MACzC3F,YAAY,CAACmD,KAAK,CAACyC,QAAQ,CAAChD,MAAM,EAAE,OAAO,CAAC;IAC9C;IACA1C,YAAY,CAAE,2CAA0C,CAAC;EAC3D,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA,OAAO,eAAe6G,wBAAwBA,CAAA,EAAG;EAC/C7G,YAAY,CAAE,8CAA6C,CAAC;EAC5D,MAAM4F,KAAK,GAAG/F,EAAE,CAACgG,WAAW,CAAC,GAAG,CAAC;EACjC,MAAMC,UAAU,GAAGF,KAAK,CAACG,MAAM,CAAEjD,IAAI,IACnCA,IAAI,CAACkD,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,aAAa,CAC3C,CAAC;EACD,KAAK,MAAM1C,IAAI,IAAIuC,UAAU,EAAE;IAC7B,MAAMc,uBAAuB,CAACrD,IAAI,CAAC;EACrC;EACAvD,YAAY,CAAE,4CAA2C,CAAC;AAC5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CirclesOfTrustOps.js","names":["getOneLineDescription","cotObj","description","_id","getTableHeaderMd","markdown","getTableRowMd","row","status","trustedProviders","map","provider","split","join"],"sources":["ops/CirclesOfTrustOps.ts"],"sourcesContent":["// import { CircleOfTrustSkeleton } from \"@rockcarver/frodo-lib/types/api/ApiTypes\";\nimport { TypesRaw } from '@rockcarver/frodo-lib';\n\n/**\n * Get a one-line description of the circle of trust object\n * @param {CircleOfTrustSkeleton} cotObj circle of trust object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(\n cotObj: TypesRaw.CircleOfTrustSkeleton\n): string {\n const description = `[${cotObj._id['brightCyan']}]`;\n return description;\n}\n\n/**\n * Get markdown table header\n * @returns {string} markdown table header\n */\nexport function getTableHeaderMd(): string {\n let markdown = '';\n markdown += '| Name/Id | Status | Trusted Providers |\\n';\n markdown += '| ------- | ------ | ----------------- |';\n return markdown;\n}\n\n/**\n * Get a table-row of the circle of trust in markdown\n * @param {SocialIdpSkeleton} cotObj circle of trust object to describe\n * @returns {string} a table-row of the circle of trust in markdown\n */\nexport function getTableRowMd(cotObj: TypesRaw.CircleOfTrustSkeleton): string {\n const row = `| ${cotObj._id} | ${\n cotObj.status === 'active'\n ? ':white_check_mark: `active`'\n : ':o: `inactive`'\n } | ${cotObj.trustedProviders\n .map((provider) => provider.split('|')[0])\n .join('<br>')} |`;\n return row;\n}\n"],"mappings":"AAAA;;AAGA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,
|
|
1
|
+
{"version":3,"file":"CirclesOfTrustOps.js","names":["getOneLineDescription","cotObj","description","_id","getTableHeaderMd","markdown","getTableRowMd","row","status","trustedProviders","map","provider","split","join"],"sources":["ops/CirclesOfTrustOps.ts"],"sourcesContent":["// import { CircleOfTrustSkeleton } from \"@rockcarver/frodo-lib/types/api/ApiTypes\";\nimport { TypesRaw } from '@rockcarver/frodo-lib';\n\n/**\n * Get a one-line description of the circle of trust object\n * @param {CircleOfTrustSkeleton} cotObj circle of trust object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(\n cotObj: TypesRaw.CircleOfTrustSkeleton\n): string {\n const description = `[${cotObj._id['brightCyan']}]`;\n return description;\n}\n\n/**\n * Get markdown table header\n * @returns {string} markdown table header\n */\nexport function getTableHeaderMd(): string {\n let markdown = '';\n markdown += '| Name/Id | Status | Trusted Providers |\\n';\n markdown += '| ------- | ------ | ----------------- |';\n return markdown;\n}\n\n/**\n * Get a table-row of the circle of trust in markdown\n * @param {SocialIdpSkeleton} cotObj circle of trust object to describe\n * @returns {string} a table-row of the circle of trust in markdown\n */\nexport function getTableRowMd(cotObj: TypesRaw.CircleOfTrustSkeleton): string {\n const row = `| ${cotObj._id} | ${\n cotObj.status === 'active'\n ? ':white_check_mark: `active`'\n : ':o: `inactive`'\n } | ${cotObj.trustedProviders\n .map((provider) => provider.split('|')[0])\n .join('<br>')} |`;\n return row;\n}\n"],"mappings":"AAAA;;AAGA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAqBA,CACnCC,MAAsC,EAC9B;EACR,MAAMC,WAAW,GAAI,IAAGD,MAAM,CAACE,GAAG,CAAC,YAAY,CAAE,GAAE;EACnD,OAAOD,WAAW;AACpB;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASE,gBAAgBA,CAAA,EAAW;EACzC,IAAIC,QAAQ,GAAG,EAAE;EACjBA,QAAQ,IAAI,4CAA4C;EACxDA,QAAQ,IAAI,0CAA0C;EACtD,OAAOA,QAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACL,MAAsC,EAAU;EAC5E,MAAMM,GAAG,GAAI,KAAIN,MAAM,CAACE,GAAI,MAC1BF,MAAM,CAACO,MAAM,KAAK,QAAQ,GACtB,6BAA6B,GAC7B,gBACL,MAAKP,MAAM,CAACQ,gBAAgB,CAC1BC,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CACzCC,IAAI,CAAC,MAAM,CAAE,IAAG;EACnB,OAAON,GAAG;AACZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionProfileOps.js","names":["fs","Authenticate","state","failSpinner","showSpinner","succeedSpinner","getAccessTokenForServiceAccount","addExistingServiceAccount","serviceAccountId","privateKeyFile","validate","data","readFileSync","jwk","JSON","parse","toString","token","default","session","setServiceAccountId","setServiceAccountJwk","err"],"sources":["ops/ConnectionProfileOps.ts"],"sourcesContent":["import fs from 'fs';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { failSpinner, showSpinner, succeedSpinner } from '../utils/Console';\n\nconst { getAccessTokenForServiceAccount } = Authenticate;\n\nexport async function addExistingServiceAccount(\n serviceAccountId: string,\n privateKeyFile: string,\n validate: boolean\n): Promise<boolean> {\n try {\n const data = fs.readFileSync(privateKeyFile);\n const jwk = JSON.parse(data.toString());\n if (validate) {\n showSpinner(`Validating service account ${serviceAccountId}...`);\n const token = await getAccessTokenForServiceAccount(\n serviceAccountId,\n jwk\n );\n if (token === null) {\n failSpinner(`Failed to validate service account ${serviceAccountId}.`);\n return false;\n } else {\n succeedSpinner(\n `Successfully validated service account ${serviceAccountId}.`\n );\n }\n }\n state.default.session.setServiceAccountId(serviceAccountId);\n state.default.session.setServiceAccountJwk(jwk);\n return true;\n } catch (err) {\n failSpinner(\n `Failed to validate service account ${serviceAccountId}: ${err}.`\n );\n }\n return false;\n}\n"],"mappings":"AAAA,OAAOA,EAAE,MAAM,IAAI;AACnB,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,WAAW,EAAEC,WAAW,EAAEC,cAAc,QAAQ,kBAAkB;AAE3E,MAAM;EAAEC;AAAgC,CAAC,GAAGL,YAAY;AAExD,OAAO,eAAeM,
|
|
1
|
+
{"version":3,"file":"ConnectionProfileOps.js","names":["fs","Authenticate","state","failSpinner","showSpinner","succeedSpinner","getAccessTokenForServiceAccount","addExistingServiceAccount","serviceAccountId","privateKeyFile","validate","data","readFileSync","jwk","JSON","parse","toString","token","default","session","setServiceAccountId","setServiceAccountJwk","err"],"sources":["ops/ConnectionProfileOps.ts"],"sourcesContent":["import fs from 'fs';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { failSpinner, showSpinner, succeedSpinner } from '../utils/Console';\n\nconst { getAccessTokenForServiceAccount } = Authenticate;\n\nexport async function addExistingServiceAccount(\n serviceAccountId: string,\n privateKeyFile: string,\n validate: boolean\n): Promise<boolean> {\n try {\n const data = fs.readFileSync(privateKeyFile);\n const jwk = JSON.parse(data.toString());\n if (validate) {\n showSpinner(`Validating service account ${serviceAccountId}...`);\n const token = await getAccessTokenForServiceAccount(\n serviceAccountId,\n jwk\n );\n if (token === null) {\n failSpinner(`Failed to validate service account ${serviceAccountId}.`);\n return false;\n } else {\n succeedSpinner(\n `Successfully validated service account ${serviceAccountId}.`\n );\n }\n }\n state.default.session.setServiceAccountId(serviceAccountId);\n state.default.session.setServiceAccountJwk(jwk);\n return true;\n } catch (err) {\n failSpinner(\n `Failed to validate service account ${serviceAccountId}: ${err}.`\n );\n }\n return false;\n}\n"],"mappings":"AAAA,OAAOA,EAAE,MAAM,IAAI;AACnB,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,WAAW,EAAEC,WAAW,EAAEC,cAAc,QAAQ,kBAAkB;AAE3E,MAAM;EAAEC;AAAgC,CAAC,GAAGL,YAAY;AAExD,OAAO,eAAeM,yBAAyBA,CAC7CC,gBAAwB,EACxBC,cAAsB,EACtBC,QAAiB,EACC;EAClB,IAAI;IACF,MAAMC,IAAI,GAAGX,EAAE,CAACY,YAAY,CAACH,cAAc,CAAC;IAC5C,MAAMI,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACK,QAAQ,CAAC,CAAC,CAAC;IACvC,IAAIN,QAAQ,EAAE;MACZN,WAAW,CAAE,8BAA6BI,gBAAiB,KAAI,CAAC;MAChE,MAAMS,KAAK,GAAG,MAAMX,+BAA+B,CACjDE,gBAAgB,EAChBK,GACF,CAAC;MACD,IAAII,KAAK,KAAK,IAAI,EAAE;QAClBd,WAAW,CAAE,sCAAqCK,gBAAiB,GAAE,CAAC;QACtE,OAAO,KAAK;MACd,CAAC,MAAM;QACLH,cAAc,CACX,0CAAyCG,gBAAiB,GAC7D,CAAC;MACH;IACF;IACAN,KAAK,CAACgB,OAAO,CAACC,OAAO,CAACC,mBAAmB,CAACZ,gBAAgB,CAAC;IAC3DN,KAAK,CAACgB,OAAO,CAACC,OAAO,CAACE,oBAAoB,CAACR,GAAG,CAAC;IAC/C,OAAO,IAAI;EACb,CAAC,CAAC,OAAOS,GAAG,EAAE;IACZnB,WAAW,CACR,sCAAqCK,gBAAiB,KAAIc,GAAI,GACjE,CAAC;EACH;EACA,OAAO,KAAK;AACd"}
|