@rockcarver/frodo-lib 2.0.0-42 → 2.0.0-44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/build.zip +0 -0
  2. package/cjs/api/BaseApi.js +1 -1
  3. package/cjs/api/BaseApi.js.map +1 -1
  4. package/cjs/api/ReconApi.js +128 -0
  5. package/cjs/api/ReconApi.js.map +1 -0
  6. package/cjs/lib/FrodoLib.js +2 -0
  7. package/cjs/lib/FrodoLib.js.map +1 -1
  8. package/cjs/ops/CirclesOfTrustOps.js +268 -77
  9. package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
  10. package/cjs/ops/CirclesOfTrustOps.test.js +503 -0
  11. package/cjs/ops/CirclesOfTrustOps.test.js.map +1 -0
  12. package/cjs/ops/ReconOps.js +140 -0
  13. package/cjs/ops/ReconOps.js.map +1 -0
  14. package/cjs/ops/Saml2Ops.js +67 -44
  15. package/cjs/ops/Saml2Ops.js.map +1 -1
  16. package/cjs/test/mocks/CirclesOfTrustOps/importCircleOfTrust/2f04818d-561e-4f8a-82e8-af2426112138.cot.saml.json +31 -0
  17. package/cjs/test/mocks/CirclesOfTrustOps/importCircleOfTrust/AzureCOT.cot.saml.json +34 -0
  18. package/cjs/test/mocks/CirclesOfTrustOps/importCircleOfTrust/FR_COT.cot.saml.json +37 -0
  19. package/cjs/test/mocks/CirclesOfTrustOps/importCirclesOfTrust/allAlphaCirclesOfTrust.cot.saml.json +63 -0
  20. package/cjs/test/mocks/CirclesOfTrustOps/raw/2f04818d-561e-4f8a-82e8-af2426112138.cot.json +10 -0
  21. package/cjs/test/mocks/CirclesOfTrustOps/raw/AzureCOT.cot.json +16 -0
  22. package/cjs/test/mocks/CirclesOfTrustOps/raw/FR_COT.cot.json +19 -0
  23. package/cjs/test/mocks/ForgeRockApiMockEngine.js +21 -1
  24. package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
  25. package/cjs/test/mocks/Saml2Ops/importSaml2Providers/cotTestProviders.saml.json +1713 -0
  26. package/esm/api/BaseApi.js +1 -1
  27. package/esm/api/BaseApi.js.map +1 -1
  28. package/esm/api/ReconApi.js +80 -0
  29. package/esm/api/ReconApi.js.map +1 -0
  30. package/esm/lib/FrodoLib.js +2 -0
  31. package/esm/lib/FrodoLib.js.map +1 -1
  32. package/esm/ops/CirclesOfTrustOps.js +239 -67
  33. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  34. package/esm/ops/CirclesOfTrustOps.test.js +484 -0
  35. package/esm/ops/CirclesOfTrustOps.test.js.map +1 -0
  36. package/esm/ops/ReconOps.js +81 -0
  37. package/esm/ops/ReconOps.js.map +1 -0
  38. package/esm/ops/Saml2Ops.js +16 -0
  39. package/esm/ops/Saml2Ops.js.map +1 -1
  40. package/esm/test/mocks/CirclesOfTrustOps/importCircleOfTrust/2f04818d-561e-4f8a-82e8-af2426112138.cot.saml.json +31 -0
  41. package/esm/test/mocks/CirclesOfTrustOps/importCircleOfTrust/AzureCOT.cot.saml.json +34 -0
  42. package/esm/test/mocks/CirclesOfTrustOps/importCircleOfTrust/FR_COT.cot.saml.json +37 -0
  43. package/esm/test/mocks/CirclesOfTrustOps/importCirclesOfTrust/allAlphaCirclesOfTrust.cot.saml.json +63 -0
  44. package/esm/test/mocks/CirclesOfTrustOps/raw/2f04818d-561e-4f8a-82e8-af2426112138.cot.json +10 -0
  45. package/esm/test/mocks/CirclesOfTrustOps/raw/AzureCOT.cot.json +16 -0
  46. package/esm/test/mocks/CirclesOfTrustOps/raw/FR_COT.cot.json +19 -0
  47. package/esm/test/mocks/ForgeRockApiMockEngine.js +18 -2
  48. package/esm/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
  49. package/esm/test/mocks/Saml2Ops/importSaml2Providers/cotTestProviders.saml.json +1713 -0
  50. package/package.json +1 -1
  51. package/types/api/BaseApi.d.ts +1 -1
  52. package/types/api/ReconApi.d.ts +171 -0
  53. package/types/api/ReconApi.d.ts.map +1 -0
  54. package/types/lib/FrodoLib.d.ts +2 -0
  55. package/types/lib/FrodoLib.d.ts.map +1 -1
  56. package/types/ops/CirclesOfTrustOps.d.ts +16 -5
  57. package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
  58. package/types/ops/ReconOps.d.ts +57 -0
  59. package/types/ops/ReconOps.d.ts.map +1 -0
  60. package/types/ops/Saml2Ops.d.ts +7 -0
  61. package/types/ops/Saml2Ops.d.ts.map +1 -1
  62. package/types/test/mocks/ForgeRockApiMockEngine.d.ts +7 -1
  63. package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
package/build.zip CHANGED
Binary file
@@ -185,7 +185,7 @@ function generateAmApi(_ref) {
185
185
 
186
186
  /**
187
187
  * Generates an OAuth2 Axios API instance
188
- * @param {object} resource Takes an object takes a resource object. example:
188
+ * @param {object} resource Takes a resource object. example:
189
189
  * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either
190
190
  * add on extra information or override default properties https://github.com/axios/axios#request-config
191
191
  *
@@ -1 +1 @@
1
- {"version":3,"file":"BaseApi.js","names":["_agentkeepalive","_interopRequireDefault","require","_axios","_axiosRetry","_crypto","_fs","_httpsProxyAgent","_path","_url","_curlirize2","_State","_Console","_JsonUtils","_SetupPollyForFrodoLib","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","process","env","FRODO_MOCK","setupPollyForFrodoLib","state","StateImpl","__dirname","path","dirname","fileURLToPath","pathToFileURL","__filename","toString","pkg","JSON","parse","fs","readFileSync","resolve","axiosRetry","axios","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","concat","name","version","transactionId","randomUUID","httpAgent","httpsAgent","getHttpAgent","Agent","getHttpsAgent","allowInsecureConnection","options","rejectUnauthorized","httpsProxy","HTTPS_PROXY","https_proxy","console","error","parsed","URL","hostname","port","protocol","HttpsProxyAgent","HttpsAgent","getProxy","curlirize","request","_curlirize","result","err","isAxiosError","_err$response","_err$response2","_err$response3","_err$response4","_err$response5","printMessage","message","response","status","data","type","command","curlirizeMessage","statusText","generateAmApi","_ref","resource","requestOverride","headers","apiVersion","getUseBearerTokenForAmApis","getCookieName","getCookieValue","Cookie","getBearerToken","Authorization","requestDetails","mergeDeep","getAuthenticationHeaderOverrides","getAllowInsecureConnection","proxy","create","getCurlirize","generateOauth2Api","_ref2","generateIdmApi","_ref3","generateLogKeysApi","_ref4","generateLogApi","_ref5","getLogApiKey","getLogApiSecret","generateEnvApi","_ref6","generateReleaseApi","_ref7","baseUrl","baseURL"],"sources":["../../src/api/BaseApi.ts"],"sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, { AxiosError, AxiosInstance, AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport { randomUUID } from 'crypto';\nimport fs from 'fs';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport _curlirize from '../ext/axios-curlirize/curlirize';\nimport StateImpl, { State } from '../shared/State';\nimport { curlirizeMessage, printMessage } from '../utils/Console';\nimport { mergeDeep } from '../utils/JsonUtils';\nimport { setupPollyForFrodoLib } from '../utils/SetupPollyForFrodoLib';\n\nif (process.env.FRODO_MOCK) {\n setupPollyForFrodoLib({ state: StateImpl({}) });\n}\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nconst transactionId = `frodo-${randomUUID()}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {Agent.HttpsAgent} appropriate httpsAgent\n */\nfunction getHttpsAgent(allowInsecureConnection: boolean): Agent.HttpsAgent {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !allowInsecureConnection,\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = new URL(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !allowInsecureConnection;\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Customize curlirize output\n * @param request axios request object\n */\nfunction curlirize(request, state: State) {\n _curlirize(request, (result, err: Error | AxiosError) => {\n if (err) {\n if (axios.isAxiosError(err)) {\n // Access to config, request, and response\n printMessage({\n message: `${err.response?.status}${\n err.response?.data['reason']\n ? ' ' + err.response?.data['reason']\n : ''\n }${\n err.response?.data['message']\n ? ' - ' + err.response?.data['message']\n : ''\n }`,\n type: 'error',\n state,\n });\n } else {\n // Just a stock error\n printMessage({ message: err, type: 'error', state });\n }\n } else if (result.command) {\n curlirizeMessage({ message: result.command, state });\n } else if (result.response) {\n printMessage({\n message: `${result.response.status} ${result.response.statusText}`,\n type: 'info',\n state,\n });\n }\n });\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi({\n resource,\n requestOverride = {},\n state,\n}: {\n resource;\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n\n const requestDetails = mergeDeep(\n {\n // baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api({\n resource,\n requestOverride = {},\n state,\n}: {\n resource;\n requestOverride?;\n state: State;\n}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi({\n requestOverride = {},\n state,\n}: {\n requestOverride?: any;\n state: State;\n}) {\n const requestDetails = mergeDeep(\n {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n // if (storage.session.getBearerToken()) {\n // requestDetails.headers[\n // 'Authorization'\n // ] = `Bearer ${storage.session.getBearerToken()}`;\n // }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi({\n requestOverride = {},\n state,\n}: {\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = mergeDeep(\n {\n timeout,\n headers,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi({\n requestOverride = {},\n state,\n}: {\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': state.getLogApiKey(),\n 'X-API-Secret': state.getLogApiSecret(),\n };\n const requestDetails = mergeDeep(\n {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an Axios instance for the Identity Cloud Environment API\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateEnvApi({\n resource,\n requestOverride = {},\n state,\n}: {\n resource: { apiVersion: string };\n requestOverride?: object;\n state: State;\n}): AxiosInstance {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates a release (Github or Npm) Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateReleaseApi({\n baseUrl,\n requestOverride = {},\n state,\n}: {\n baseUrl: string;\n requestOverride?: object;\n state: State;\n}): AxiosInstance {\n const requestDetails = {\n baseURL: baseUrl,\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,GAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,gBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,IAAA,GAAAP,OAAA;AAAoC,IAAAQ,WAAA,GAAAT,sBAAA,CAAAC,OAAA;AAAA,IAAAS,MAAA,GAAAV,sBAAA,CAAAC,OAAA;AAAA,IAAAU,QAAA,GAAAV,OAAA;AAAA,IAAAW,UAAA,GAAAX,OAAA;AAAA,IAAAY,sBAAA,GAAAZ,OAAA;AAAA,SAAAD,uBAAAc,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAApB,GAAA,EAAAwB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAxB,GAAA,IAAAO,MAAA,CAAAgB,cAAA,CAAAvB,GAAA,EAAAwB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAZ,UAAA,QAAAc,YAAA,QAAAC,QAAA,oBAAA5B,GAAA,CAAAwB,GAAA,IAAAC,KAAA,WAAAzB,GAAA;AAAA,SAAA0B,eAAAG,GAAA,QAAAL,GAAA,GAAAM,YAAA,CAAAD,GAAA,2BAAAL,GAAA,gBAAAA,GAAA,GAAAO,MAAA,CAAAP,GAAA;AAAA,SAAAM,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAQpC,IAAIU,OAAO,CAACC,GAAG,CAACC,UAAU,EAAE;EAC1B,IAAAC,4CAAqB,EAAC;IAAEC,KAAK,EAAE,IAAAC,cAAS,EAAC,CAAC,CAAC;EAAE,CAAC,CAAC;AACjD;AAEA,IAAMC,QAAS,GAAGC,aAAI,CAACC,OAAO,CAAC,IAAAC,kBAAa,EAAAhE,OAAA,QAAAiE,aAAA,CAAAC,UAAA,EAAAC,QAAA,EAAgB,CAAC,CAAC;AAE9D,IAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CACpBC,WAAE,CAACC,YAAY,CAACV,aAAI,CAACW,OAAO,CAACZ,QAAS,EAAE,oBAAoB,CAAC,EAAE,MAAM,CACvE,CAAC;AAED,IAAAa,mBAAU,EAACC,cAAK,EAAE;EAChBC,OAAO,EAAE,CAAC;EACVC,kBAAkB,EAAE,IAAI;EACxB;EACAC,cAAc,EAAGC,MAAM,IAAK,IAAI,CAAE;AACpC,CAAC,CAAC;;AAEF;AACA,IAAMC,OAAO,GAAG,KAAK;;AAErB;AACA,IAAMC,UAAU,GAAG,GAAG;AACtB,IAAMC,cAAc,GAAG,EAAE;AACzB,IAAMC,iBAAiB,GAAG,KAAK;AAE/B,IAAMC,SAAS,MAAAC,MAAA,CAAMjB,GAAG,CAACkB,IAAI,OAAAD,MAAA,CAAIjB,GAAG,CAACmB,OAAO,CAAE;AAC9C,IAAMC,aAAa,YAAAH,MAAA,CAAY,IAAAI,kBAAU,EAAC,CAAC,CAAE;AAC7C,IAAIC,SAAS,EAAEC,UAAU;AAEzB,SAASC,YAAYA,CAAA,EAAG;EACtB,IAAIF,SAAS,EAAE,OAAOA,SAAS;EAC/BA,SAAS,GAAG,IAAIG,uBAAK,CAAC;IACpBZ,UAAU;IACVC,cAAc;IACdF,OAAO;IACPG;EACF,CAAC,CAAC;EACF,OAAOO,SAAS;AAClB;;AAEA;AACA;AACA;AACA;AACA,SAASI,aAAaA,CAACC,uBAAgC,EAAoB;EACzE,IAAIJ,UAAU,EAAE,OAAOA,UAAU;EACjC,IAAMK,OAAO,GAAG;IACdC,kBAAkB,EAAE,CAACF;EACvB,CAAC;EACD,IAAMG,UAAU,GAAG3C,OAAO,CAACC,GAAG,CAAC2C,WAAW,IAAI5C,OAAO,CAACC,GAAG,CAAC4C,WAAW;EACrE,IAAIF,UAAU,EAAE;IACd;IACAG,OAAO,CAACC,KAAK,CAAC,eAAAjB,MAAA,CAAea,UAAU,EAAG,QAAQ,CAAC,CAAC;IACpD,IAAMK,MAAM,GAAG,IAAIC,GAAG,CAACN,UAAU,CAAC;IAClCF,OAAO,CAAC,MAAM,CAAC,GAAGO,MAAM,CAACE,QAAQ;IACjCT,OAAO,CAAC,MAAM,CAAC,GAAGO,MAAM,CAACG,IAAI;IAC7BV,OAAO,CAAC,UAAU,CAAC,GAAGO,MAAM,CAACI,QAAQ;IACrCX,OAAO,CAACC,kBAAkB,GAAG,CAACF,uBAAuB;IACrDJ,UAAU,GAAG,IAAAiB,wBAAe,EAACZ,OAAO,CAAC;IACrC,OAAOL,UAAU;EACnB;EACAA,UAAU,GAAG,IAAIE,uBAAK,CAACgB,UAAU,CAAAhF,aAAA,CAAAA,aAAA,KAC5BmE,OAAO;IACVf,UAAU;IACVC,cAAc;IACdF,OAAO;IACPG;EAAiB,EAClB,CAAC;EACF,OAAOQ,UAAU;AACnB;;AAEA;AACA;AACA;AACA;AACA,SAASmB,QAAQA,CAAA,EAA6B;EAC5C,IAAIvD,OAAO,CAACC,GAAG,CAAC2C,WAAW,IAAI5C,OAAO,CAACC,GAAG,CAAC4C,WAAW,EAAE,OAAO,KAAK;EACpE,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA,SAASW,SAASA,CAACC,OAAO,EAAErD,KAAY,EAAE;EACxC,IAAAsD,mBAAU,EAACD,OAAO,EAAE,CAACE,MAAM,EAAEC,GAAuB,KAAK;IACvD,IAAIA,GAAG,EAAE;MACP,IAAIxC,cAAK,CAACyC,YAAY,CAACD,GAAG,CAAC,EAAE;QAAA,IAAAE,aAAA,EAAAC,cAAA,EAAAC,cAAA,EAAAC,cAAA,EAAAC,cAAA;QAC3B;QACA,IAAAC,qBAAY,EAAC;UACXC,OAAO,KAAAtC,MAAA,EAAAgC,aAAA,GAAKF,GAAG,CAACS,QAAQ,cAAAP,aAAA,uBAAZA,aAAA,CAAcQ,MAAM,EAAAxC,MAAA,CAC9B,CAAAiC,cAAA,GAAAH,GAAG,CAACS,QAAQ,cAAAN,cAAA,eAAZA,cAAA,CAAcQ,IAAI,CAAC,QAAQ,CAAC,GACxB,GAAG,KAAAP,cAAA,GAAGJ,GAAG,CAACS,QAAQ,cAAAL,cAAA,uBAAZA,cAAA,CAAcO,IAAI,CAAC,QAAQ,CAAC,IAClC,EAAE,EAAAzC,MAAA,CAEN,CAAAmC,cAAA,GAAAL,GAAG,CAACS,QAAQ,cAAAJ,cAAA,eAAZA,cAAA,CAAcM,IAAI,CAAC,SAAS,CAAC,GACzB,KAAK,KAAAL,cAAA,GAAGN,GAAG,CAACS,QAAQ,cAAAH,cAAA,uBAAZA,cAAA,CAAcK,IAAI,CAAC,SAAS,CAAC,IACrC,EAAE,CACN;UACFC,IAAI,EAAE,OAAO;UACbpE;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL;QACA,IAAA+D,qBAAY,EAAC;UAAEC,OAAO,EAAER,GAAG;UAAEY,IAAI,EAAE,OAAO;UAAEpE;QAAM,CAAC,CAAC;MACtD;IACF,CAAC,MAAM,IAAIuD,MAAM,CAACc,OAAO,EAAE;MACzB,IAAAC,yBAAgB,EAAC;QAAEN,OAAO,EAAET,MAAM,CAACc,OAAO;QAAErE;MAAM,CAAC,CAAC;IACtD,CAAC,MAAM,IAAIuD,MAAM,CAACU,QAAQ,EAAE;MAC1B,IAAAF,qBAAY,EAAC;QACXC,OAAO,KAAAtC,MAAA,CAAK6B,MAAM,CAACU,QAAQ,CAACC,MAAM,OAAAxC,MAAA,CAAI6B,MAAM,CAACU,QAAQ,CAACM,UAAU,CAAE;QAClEH,IAAI,EAAE,MAAM;QACZpE;MACF,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASwE,aAAaA,CAAAC,IAAA,EAQ1B;EAAA,IAR2B;IAC5BC,QAAQ;IACRC,eAAe,GAAG,CAAC,CAAC;IACpB3E;EAKF,CAAC,GAAAyE,IAAA;EACC,IAAMG,OAAO,GAAA1G,aAAA,CAAAA,aAAA,CAAAA,aAAA;IACX,YAAY,EAAEuD,SAAS;IACvB,2BAA2B,EAAEI,aAAa;IAC1C,cAAc,EAAE;EAAkB,GAE9B6C,QAAQ,CAACG,UAAU,IAAI;IAAE,oBAAoB,EAAEH,QAAQ,CAACG;EAAW,CAAC,GAEpE,CAAC7E,KAAK,CAAC8E,0BAA0B,CAAC,CAAC,IACrC9E,KAAK,CAAC+E,aAAa,CAAC,CAAC,IACrB/E,KAAK,CAACgF,cAAc,CAAC,CAAC,IAAI;IACxBC,MAAM,KAAAvD,MAAA,CAAK1B,KAAK,CAAC+E,aAAa,CAAC,CAAC,OAAArD,MAAA,CAAI1B,KAAK,CAACgF,cAAc,CAAC,CAAC;EAC5D,CAAC,GAEChF,KAAK,CAAC8E,0BAA0B,CAAC,CAAC,IACpC9E,KAAK,CAACkF,cAAc,CAAC,CAAC,IAAI;IACxBC,aAAa,YAAAzD,MAAA,CAAY1B,KAAK,CAACkF,cAAc,CAAC,CAAC;EACjD,CAAC,CACJ;EAED,IAAME,cAAc,GAAG,IAAAC,oBAAS,EAC9B;IACE;IACAhE,OAAO;IACPuD,OAAO,EAAA1G,aAAA,CAAAA,aAAA,KACF0G,OAAO,GACP5E,KAAK,CAACsF,gCAAgC,CAAC,CAAC,CAC5C;IACDvD,SAAS,EAAEE,YAAY,CAAC,CAAC;IACzBD,UAAU,EAAEG,aAAa,CAACnC,KAAK,CAACuF,0BAA0B,CAAC,CAAC,CAAC;IAC7DC,KAAK,EAAErC,QAAQ,CAAC;EAClB,CAAC,EACDwB,eACF,CAAC;EAED,IAAMtB,OAAO,GAAGrC,cAAK,CAACyE,MAAM,CAACL,cAAc,CAAC;;EAE5C;EACA,IAAIpF,KAAK,CAAC0F,YAAY,CAAC,CAAC,EAAE;IACxBtC,SAAS,CAACC,OAAO,EAAErD,KAAK,CAAC;EAC3B;EAEA,OAAOqD,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASsC,iBAAiBA,CAAAC,KAAA,EAQ9B;EAAA,IAR+B;IAChClB,QAAQ;IACRC,eAAe,GAAG,CAAC,CAAC;IACpB3E;EAKF,CAAC,GAAA4F,KAAA;EACC,IAAIhB,OAAO,GAAA1G,aAAA,CAAAA,aAAA,CAAAA,aAAA;IACT,YAAY,EAAEuD,SAAS;IACvB,2BAA2B,EAAEI;EAAa,GAEtC6C,QAAQ,CAACG,UAAU,IAAI;IAAE,oBAAoB,EAAEH,QAAQ,CAACG;EAAW,CAAC,GAEpE,CAAC7E,KAAK,CAAC8E,0BAA0B,CAAC,CAAC,IACrC9E,KAAK,CAAC+E,aAAa,CAAC,CAAC,IACrB/E,KAAK,CAACgF,cAAc,CAAC,CAAC,IAAI;IACxBC,MAAM,KAAAvD,MAAA,CAAK1B,KAAK,CAAC+E,aAAa,CAAC,CAAC,OAAArD,MAAA,CAAI1B,KAAK,CAACgF,cAAc,CAAC,CAAC;EAC5D,CAAC,GAEChF,KAAK,CAAC8E,0BAA0B,CAAC,CAAC,IACpC9E,KAAK,CAACkF,cAAc,CAAC,CAAC,IAAI;IACxBC,aAAa,YAAAzD,MAAA,CAAY1B,KAAK,CAACkF,cAAc,CAAC,CAAC;EACjD,CAAC,CACJ;EACD,IAAIP,eAAe,CAAC,SAAS,CAAC,EAAE;IAC9BC,OAAO,GAAA1G,aAAA,CAAAA,aAAA,KACF0G,OAAO,GACPD,eAAe,CAAC,SAAS,CAAC,CAC9B;EACH;EAEA,IAAMS,cAAc,GAAAlH,aAAA,CAAAA,aAAA;IAClB;IACAmD;EAAO,GACJsD,eAAe;IAClBC,OAAO,EAAA1G,aAAA,CAAAA,aAAA,KACF0G,OAAO,GACP5E,KAAK,CAACsF,gCAAgC,CAAC,CAAC,CAC5C;IACDvD,SAAS,EAAEE,YAAY,CAAC,CAAC;IACzBD,UAAU,EAAEG,aAAa,CAACnC,KAAK,CAACuF,0BAA0B,CAAC,CAAC,CAAC;IAC7DC,KAAK,EAAErC,QAAQ,CAAC;EAAC,EAClB;EAED,IAAME,OAAO,GAAGrC,cAAK,CAACyE,MAAM,CAACL,cAAc,CAAC;;EAE5C;EACA,IAAIpF,KAAK,CAAC0F,YAAY,CAAC,CAAC,EAAE;IACxBtC,SAAS,CAACC,OAAO,EAAErD,KAAK,CAAC;EAC3B;EAEA,OAAOqD,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASwC,cAAcA,CAAAC,KAAA,EAM3B;EAAA,IAN4B;IAC7BnB,eAAe,GAAG,CAAC,CAAC;IACpB3E;EAIF,CAAC,GAAA8F,KAAA;EACC,IAAMV,cAAc,GAAG,IAAAC,oBAAS,EAC9B;IACE;IACAhE,OAAO;IACPuD,OAAO,EAAA1G,aAAA;MACL,YAAY,EAAEuD,SAAS;MACvB,2BAA2B,EAAEI,aAAa;MAC1C,cAAc,EAAE;IAAkB,GAE9B7B,KAAK,CAACkF,cAAc,CAAC,CAAC,IAAI;MAC5BC,aAAa,YAAAzD,MAAA,CAAY1B,KAAK,CAACkF,cAAc,CAAC,CAAC;IACjD,CAAC,CACF;IACDnD,SAAS,EAAEE,YAAY,CAAC,CAAC;IACzBD,UAAU,EAAEG,aAAa,CAACnC,KAAK,CAACuF,0BAA0B,CAAC,CAAC,CAAC;IAC7DC,KAAK,EAAErC,QAAQ,CAAC;EAClB,CAAC,EACDwB,eACF,CAAC;;EAED;EACA;EACA;EACA;EACA;;EAEA,IAAMtB,OAAO,GAAGrC,cAAK,CAACyE,MAAM,CAACL,cAAc,CAAC;;EAE5C;EACA,IAAIpF,KAAK,CAAC0F,YAAY,CAAC,CAAC,EAAE;IACxBtC,SAAS,CAACC,OAAO,EAAErD,KAAK,CAAC;EAC3B;EAEA,OAAOqD,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS0C,kBAAkBA,CAAAC,KAAA,EAM/B;EAAA,IANgC;IACjCrB,eAAe,GAAG,CAAC,CAAC;IACpB3E;EAIF,CAAC,GAAAgG,KAAA;EACC,IAAMpB,OAAO,GAAA1G,aAAA;IACX,YAAY,EAAEuD,SAAS;IACvB,cAAc,EAAE;EAAkB,GAE9BzB,KAAK,CAACkF,cAAc,CAAC,CAAC,IAAI;IAC5BC,aAAa,YAAAzD,MAAA,CAAY1B,KAAK,CAACkF,cAAc,CAAC,CAAC;EACjD,CAAC,CACF;EACD,IAAME,cAAc,GAAG,IAAAC,oBAAS,EAC9B;IACEhE,OAAO;IACPuD,OAAO;IACP7C,SAAS,EAAEE,YAAY,CAAC,CAAC;IACzBD,UAAU,EAAEG,aAAa,CAACnC,KAAK,CAACuF,0BAA0B,CAAC,CAAC,CAAC;IAC7DC,KAAK,EAAErC,QAAQ,CAAC;EAClB,CAAC,EACDwB,eACF,CAAC;EAED,IAAMtB,OAAO,GAAGrC,cAAK,CAACyE,MAAM,CAACL,cAAc,CAAC;;EAE5C;EACA,IAAIpF,KAAK,CAAC0F,YAAY,CAAC,CAAC,EAAE;IACxBtC,SAAS,CAACC,OAAO,EAAErD,KAAK,CAAC;EAC3B;EAEA,OAAOqD,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS4C,cAAcA,CAAAC,KAAA,EAM3B;EAAA,IAN4B;IAC7BvB,eAAe,GAAG,CAAC,CAAC;IACpB3E;EAIF,CAAC,GAAAkG,KAAA;EACC,IAAMtB,OAAO,GAAG;IACd,YAAY,EAAEnD,SAAS;IACvB,WAAW,EAAEzB,KAAK,CAACmG,YAAY,CAAC,CAAC;IACjC,cAAc,EAAEnG,KAAK,CAACoG,eAAe,CAAC;EACxC,CAAC;EACD,IAAMhB,cAAc,GAAG,IAAAC,oBAAS,EAC9B;IACE;IACAhE,OAAO;IACPuD,OAAO;IACP7C,SAAS,EAAEE,YAAY,CAAC,CAAC;IACzBD,UAAU,EAAEG,aAAa,CAACnC,KAAK,CAACuF,0BAA0B,CAAC,CAAC,CAAC;IAC7DC,KAAK,EAAErC,QAAQ,CAAC;EAClB,CAAC,EACDwB,eACF,CAAC;EAED,IAAMtB,OAAO,GAAGrC,cAAK,CAACyE,MAAM,CAACL,cAAc,CAAC;;EAE5C;EACA,IAAIpF,KAAK,CAAC0F,YAAY,CAAC,CAAC,EAAE;IACxBtC,SAAS,CAACC,OAAO,EAAErD,KAAK,CAAC;EAC3B;EAEA,OAAOqD,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASgD,cAAcA,CAAAC,KAAA,EAQZ;EAAA,IARa;IAC7B5B,QAAQ;IACRC,eAAe,GAAG,CAAC,CAAC;IACpB3E;EAKF,CAAC,GAAAsG,KAAA;EACC,IAAM1B,OAAO,GAAA1G,aAAA,CAAAA,aAAA;IACX,YAAY,EAAEuD,SAAS;IACvB,cAAc,EAAE;EAAkB,GAE9BiD,QAAQ,CAACG,UAAU,IAAI;IAAE,oBAAoB,EAAEH,QAAQ,CAACG;EAAW,CAAC,GAEpE7E,KAAK,CAACkF,cAAc,CAAC,CAAC,IAAI;IAC5BC,aAAa,YAAAzD,MAAA,CAAY1B,KAAK,CAACkF,cAAc,CAAC,CAAC;EACjD,CAAC,CACF;EACD,IAAME,cAAc,GAAAlH,aAAA,CAAAA,aAAA;IAClB;IACAmD,OAAO;IACPuD;EAAO,GACJD,eAAe;IAClB5C,SAAS,EAAEE,YAAY,CAAC,CAAC;IACzBD,UAAU,EAAEG,aAAa,CAACnC,KAAK,CAACuF,0BAA0B,CAAC,CAAC,CAAC;IAC7DC,KAAK,EAAErC,QAAQ,CAAC;EAAC,EAClB;EAED,IAAME,OAAO,GAAGrC,cAAK,CAACyE,MAAM,CAACL,cAAc,CAAC;;EAE5C;EACA,IAAIpF,KAAK,CAAC0F,YAAY,CAAC,CAAC,EAAE;IACxBtC,SAAS,CAACC,OAAO,EAAErD,KAAK,CAAC;EAC3B;EAEA,OAAOqD,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASkD,kBAAkBA,CAAAC,KAAA,EAQhB;EAAA,IARiB;IACjCC,OAAO;IACP9B,eAAe,GAAG,CAAC,CAAC;IACpB3E;EAKF,CAAC,GAAAwG,KAAA;EACC,IAAMpB,cAAc,GAAAlH,aAAA,CAAAA,aAAA;IAClBwI,OAAO,EAAED,OAAO;IAChBpF,OAAO;IACPuD,OAAO,EAAE;MACP,YAAY,EAAEnD,SAAS;MACvB,cAAc,EAAE;IAClB;EAAC,GACEkD,eAAe;IAClB5C,SAAS,EAAEE,YAAY,CAAC,CAAC;IACzBD,UAAU,EAAEG,aAAa,CAACnC,KAAK,CAACuF,0BAA0B,CAAC,CAAC,CAAC;IAC7DC,KAAK,EAAErC,QAAQ,CAAC;EAAC,EAClB;EAED,IAAME,OAAO,GAAGrC,cAAK,CAACyE,MAAM,CAACL,cAAc,CAAC;;EAE5C;EACA,IAAIpF,KAAK,CAAC0F,YAAY,CAAC,CAAC,EAAE;IACxBtC,SAAS,CAACC,OAAO,EAAErD,KAAK,CAAC;EAC3B;EAEA,OAAOqD,OAAO;AAChB"}
1
+ {"version":3,"file":"BaseApi.js","names":["_agentkeepalive","_interopRequireDefault","require","_axios","_axiosRetry","_crypto","_fs","_httpsProxyAgent","_path","_url","_curlirize2","_State","_Console","_JsonUtils","_SetupPollyForFrodoLib","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","process","env","FRODO_MOCK","setupPollyForFrodoLib","state","StateImpl","__dirname","path","dirname","fileURLToPath","pathToFileURL","__filename","toString","pkg","JSON","parse","fs","readFileSync","resolve","axiosRetry","axios","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","concat","name","version","transactionId","randomUUID","httpAgent","httpsAgent","getHttpAgent","Agent","getHttpsAgent","allowInsecureConnection","options","rejectUnauthorized","httpsProxy","HTTPS_PROXY","https_proxy","console","error","parsed","URL","hostname","port","protocol","HttpsProxyAgent","HttpsAgent","getProxy","curlirize","request","_curlirize","result","err","isAxiosError","_err$response","_err$response2","_err$response3","_err$response4","_err$response5","printMessage","message","response","status","data","type","command","curlirizeMessage","statusText","generateAmApi","_ref","resource","requestOverride","headers","apiVersion","getUseBearerTokenForAmApis","getCookieName","getCookieValue","Cookie","getBearerToken","Authorization","requestDetails","mergeDeep","getAuthenticationHeaderOverrides","getAllowInsecureConnection","proxy","create","getCurlirize","generateOauth2Api","_ref2","generateIdmApi","_ref3","generateLogKeysApi","_ref4","generateLogApi","_ref5","getLogApiKey","getLogApiSecret","generateEnvApi","_ref6","generateReleaseApi","_ref7","baseUrl","baseURL"],"sources":["../../src/api/BaseApi.ts"],"sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, { AxiosError, AxiosInstance, AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport { randomUUID } from 'crypto';\nimport fs from 'fs';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport _curlirize from '../ext/axios-curlirize/curlirize';\nimport StateImpl, { State } from '../shared/State';\nimport { curlirizeMessage, printMessage } from '../utils/Console';\nimport { mergeDeep } from '../utils/JsonUtils';\nimport { setupPollyForFrodoLib } from '../utils/SetupPollyForFrodoLib';\n\nif (process.env.FRODO_MOCK) {\n setupPollyForFrodoLib({ state: StateImpl({}) });\n}\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nconst transactionId = `frodo-${randomUUID()}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {Agent.HttpsAgent} appropriate httpsAgent\n */\nfunction getHttpsAgent(allowInsecureConnection: boolean): Agent.HttpsAgent {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !allowInsecureConnection,\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = new URL(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !allowInsecureConnection;\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Customize curlirize output\n * @param request axios request object\n */\nfunction curlirize(request, state: State) {\n _curlirize(request, (result, err: Error | AxiosError) => {\n if (err) {\n if (axios.isAxiosError(err)) {\n // Access to config, request, and response\n printMessage({\n message: `${err.response?.status}${\n err.response?.data['reason']\n ? ' ' + err.response?.data['reason']\n : ''\n }${\n err.response?.data['message']\n ? ' - ' + err.response?.data['message']\n : ''\n }`,\n type: 'error',\n state,\n });\n } else {\n // Just a stock error\n printMessage({ message: err, type: 'error', state });\n }\n } else if (result.command) {\n curlirizeMessage({ message: result.command, state });\n } else if (result.response) {\n printMessage({\n message: `${result.response.status} ${result.response.statusText}`,\n type: 'info',\n state,\n });\n }\n });\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi({\n resource,\n requestOverride = {},\n state,\n}: {\n resource;\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n\n const requestDetails = mergeDeep(\n {\n // baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api({\n resource,\n requestOverride = {},\n state,\n}: {\n resource;\n requestOverride?;\n state: State;\n}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi({\n requestOverride = {},\n state,\n}: {\n requestOverride?: any;\n state: State;\n}) {\n const requestDetails = mergeDeep(\n {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n // if (storage.session.getBearerToken()) {\n // requestDetails.headers[\n // 'Authorization'\n // ] = `Bearer ${storage.session.getBearerToken()}`;\n // }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi({\n requestOverride = {},\n state,\n}: {\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = mergeDeep(\n {\n timeout,\n headers,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi({\n requestOverride = {},\n state,\n}: {\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': state.getLogApiKey(),\n 'X-API-Secret': state.getLogApiSecret(),\n };\n const requestDetails = mergeDeep(\n {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an Axios instance for the Identity Cloud Environment API\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateEnvApi({\n resource,\n requestOverride = {},\n state,\n}: {\n resource: { apiVersion: string };\n requestOverride?: object;\n state: State;\n}): AxiosInstance {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates a release (Github or Npm) Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateReleaseApi({\n baseUrl,\n requestOverride = {},\n state,\n}: {\n baseUrl: string;\n requestOverride?: object;\n state: State;\n}): AxiosInstance {\n const requestDetails = {\n baseURL: baseUrl,\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n"],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.cancelRecon = cancelRecon;
7
+ exports.getRecon = getRecon;
8
+ exports.getRecons = getRecons;
9
+ exports.startRecon = startRecon;
10
+ exports.startReconById = startReconById;
11
+ var _util = _interopRequireDefault(require("util"));
12
+ var _ForgeRockUtils = require("../utils/ForgeRockUtils.js");
13
+ var _BaseApi = require("./BaseApi.js");
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
16
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
17
+ var apiVersion = 'resource=1.0';
18
+ var apiConfig = {
19
+ headers: {
20
+ 'Accept-API-Version': apiVersion
21
+ }
22
+ };
23
+ var reconUrlTemplate = '%s/openidm/recon';
24
+ var reconByIdUrlTemplate = '%s/openidm/recon/%s';
25
+ var startReconUrlTemplate = '%s/openidm/recon?_action=recon&mapping=%s';
26
+ var startReconByIdUrlTemplate = '%s/openidm/recon?_action=reconById&mapping=%s&id=%s';
27
+ var cancelReconUrlTemplate = '%s/openidm/recon/%s?_action=cancel';
28
+ function getRecons(_x) {
29
+ return _getRecons.apply(this, arguments);
30
+ }
31
+ function _getRecons() {
32
+ _getRecons = _asyncToGenerator(function* (_ref) {
33
+ var {
34
+ state
35
+ } = _ref;
36
+ var urlString = _util.default.format(reconUrlTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()));
37
+ var {
38
+ data
39
+ } = yield (0, _BaseApi.generateIdmApi)({
40
+ requestOverride: apiConfig,
41
+ state
42
+ }).get(urlString);
43
+ return data;
44
+ });
45
+ return _getRecons.apply(this, arguments);
46
+ }
47
+ function getRecon(_x2) {
48
+ return _getRecon.apply(this, arguments);
49
+ }
50
+ function _getRecon() {
51
+ _getRecon = _asyncToGenerator(function* (_ref2) {
52
+ var {
53
+ reconId,
54
+ state
55
+ } = _ref2;
56
+ var urlString = _util.default.format(reconByIdUrlTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), reconId);
57
+ var {
58
+ data
59
+ } = yield (0, _BaseApi.generateIdmApi)({
60
+ requestOverride: apiConfig,
61
+ state
62
+ }).get(urlString);
63
+ return data;
64
+ });
65
+ return _getRecon.apply(this, arguments);
66
+ }
67
+ function startRecon(_x3) {
68
+ return _startRecon.apply(this, arguments);
69
+ }
70
+ function _startRecon() {
71
+ _startRecon = _asyncToGenerator(function* (_ref3) {
72
+ var {
73
+ mappingName,
74
+ state
75
+ } = _ref3;
76
+ var urlString = _util.default.format(startReconUrlTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), mappingName);
77
+ var {
78
+ data
79
+ } = yield (0, _BaseApi.generateIdmApi)({
80
+ requestOverride: apiConfig,
81
+ state
82
+ }).post(urlString);
83
+ return data;
84
+ });
85
+ return _startRecon.apply(this, arguments);
86
+ }
87
+ function startReconById(_x4) {
88
+ return _startReconById.apply(this, arguments);
89
+ }
90
+ function _startReconById() {
91
+ _startReconById = _asyncToGenerator(function* (_ref4) {
92
+ var {
93
+ mappingName,
94
+ objectId,
95
+ state
96
+ } = _ref4;
97
+ var urlString = _util.default.format(startReconByIdUrlTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), mappingName, objectId);
98
+ var {
99
+ data
100
+ } = yield (0, _BaseApi.generateIdmApi)({
101
+ requestOverride: apiConfig,
102
+ state
103
+ }).post(urlString);
104
+ return data;
105
+ });
106
+ return _startReconById.apply(this, arguments);
107
+ }
108
+ function cancelRecon(_x5) {
109
+ return _cancelRecon.apply(this, arguments);
110
+ }
111
+ function _cancelRecon() {
112
+ _cancelRecon = _asyncToGenerator(function* (_ref5) {
113
+ var {
114
+ reconId,
115
+ state
116
+ } = _ref5;
117
+ var urlString = _util.default.format(cancelReconUrlTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), reconId);
118
+ var {
119
+ data
120
+ } = yield (0, _BaseApi.generateIdmApi)({
121
+ requestOverride: apiConfig,
122
+ state
123
+ }).post(urlString);
124
+ return data;
125
+ });
126
+ return _cancelRecon.apply(this, arguments);
127
+ }
128
+ //# sourceMappingURL=ReconApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReconApi.js","names":["_util","_interopRequireDefault","require","_ForgeRockUtils","_BaseApi","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","apiVersion","apiConfig","headers","reconUrlTemplate","reconByIdUrlTemplate","startReconUrlTemplate","startReconByIdUrlTemplate","cancelReconUrlTemplate","getRecons","_x","_getRecons","_ref","state","urlString","util","format","getHostBaseUrl","getHost","data","generateIdmApi","requestOverride","get","getRecon","_x2","_getRecon","_ref2","reconId","startRecon","_x3","_startRecon","_ref3","mappingName","post","startReconById","_x4","_startReconById","_ref4","objectId","cancelRecon","_x5","_cancelRecon","_ref5"],"sources":["../../src/api/ReconApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../shared/State';\nimport { getHostBaseUrl } from '../utils/ForgeRockUtils';\nimport { IdObjectSkeletonInterface } from './ApiTypes';\nimport { generateIdmApi } from './BaseApi';\n\nconst apiVersion = 'resource=1.0';\nconst apiConfig = { headers: { 'Accept-API-Version': apiVersion } };\n\nconst reconUrlTemplate = '%s/openidm/recon';\nconst reconByIdUrlTemplate = '%s/openidm/recon/%s';\nconst startReconUrlTemplate = '%s/openidm/recon?_action=recon&mapping=%s';\nconst startReconByIdUrlTemplate =\n '%s/openidm/recon?_action=reconById&mapping=%s&id=%s';\nconst cancelReconUrlTemplate = '%s/openidm/recon/%s?_action=cancel';\n\nexport type ReconType = IdObjectSkeletonInterface & {\n mapping: string;\n state: 'SUCCESS' | string;\n stage: 'COMPLETED_SUCCESS' | string;\n stageDescription: string;\n progress: {\n source: { existing: { processed: number; total: string } };\n target: {\n existing: { processed: number; total: string };\n created: number;\n unchanged: number;\n updated: number;\n deleted: number;\n };\n links: { existing: { processed: number; total: string }; created: number };\n };\n situationSummary: {\n SOURCE_IGNORED: number;\n TARGET_CHANGED: number;\n SOURCE_TARGET_CONFLICT: number;\n FOUND_ALREADY_LINKED: number;\n UNQUALIFIED: number;\n ABSENT: number;\n TARGET_IGNORED: number;\n MISSING: number;\n ALL_GONE: number;\n UNASSIGNED: number;\n AMBIGUOUS: number;\n CONFIRMED: number;\n LINK_ONLY: number;\n SOURCE_MISSING: number;\n FOUND: number;\n };\n statusSummary: { SUCCESS: number; FAILURE: number };\n durationSummary: {\n sourceQuery: {\n min: number;\n max: number;\n mean: number;\n count: number;\n sum: number;\n stdDev: number;\n };\n auditLog: {\n min: number;\n max: number;\n mean: number;\n count: number;\n sum: number;\n stdDev: number;\n };\n defaultPropertyMapping: {\n min: number;\n max: number;\n mean: number;\n count: number;\n sum: number;\n stdDev: number;\n };\n sourceLinkQuery: {\n min: number;\n max: number;\n mean: number;\n count: number;\n sum: number;\n stdDev: number;\n };\n updateTargetObject: {\n min: number;\n max: number;\n mean: number;\n count: number;\n sum: number;\n stdDev: number;\n };\n propertyMappingScript: {\n min: number;\n max: number;\n mean: number;\n count: number;\n sum: number;\n stdDev: number;\n };\n updateLastSync: {\n min: number;\n max: number;\n mean: number;\n count: number;\n sum: number;\n stdDev: number;\n };\n targetObjectQuery: {\n min: number;\n max: number;\n mean: number;\n count: number;\n sum: number;\n stdDev: number;\n };\n sourcePhase: {\n min: number;\n max: number;\n mean: number;\n count: number;\n sum: number;\n stdDev: number;\n };\n };\n parameters: {\n sourceIds: [string];\n sourceQuery: {\n resourceName: string;\n _queryFilter: string;\n _fields: string;\n };\n targetQuery: {\n resourceName: string;\n queryFilter: string;\n _fields: string;\n };\n };\n started: string;\n ended: string;\n duration: number;\n sourceProcessedByNode: object;\n};\n\nexport type ReconStatusType = IdObjectSkeletonInterface & {\n state: 'ACTIVE' | string;\n action: 'cancel' | string;\n status: 'INITIATED' | string;\n};\n\nexport async function getRecons({\n state,\n}: {\n state: State;\n}): Promise<ReconType[]> {\n const urlString = util.format(\n reconUrlTemplate,\n getHostBaseUrl(state.getHost())\n );\n const { data } = await generateIdmApi({\n requestOverride: apiConfig,\n state,\n }).get(urlString);\n return data;\n}\n\nexport async function getRecon({\n reconId,\n state,\n}: {\n reconId: string;\n state: State;\n}): Promise<ReconType> {\n const urlString = util.format(\n reconByIdUrlTemplate,\n getHostBaseUrl(state.getHost()),\n reconId\n );\n const { data } = await generateIdmApi({\n requestOverride: apiConfig,\n state,\n }).get(urlString);\n return data;\n}\n\nexport async function startRecon({\n mappingName,\n state,\n}: {\n mappingName: string;\n state: State;\n}): Promise<ReconStatusType> {\n const urlString = util.format(\n startReconUrlTemplate,\n getHostBaseUrl(state.getHost()),\n mappingName\n );\n const { data } = await generateIdmApi({\n requestOverride: apiConfig,\n state,\n }).post(urlString);\n return data;\n}\n\nexport async function startReconById({\n mappingName,\n objectId,\n state,\n}: {\n mappingName: string;\n objectId: string;\n state: State;\n}): Promise<ReconStatusType> {\n const urlString = util.format(\n startReconByIdUrlTemplate,\n getHostBaseUrl(state.getHost()),\n mappingName,\n objectId\n );\n const { data } = await generateIdmApi({\n requestOverride: apiConfig,\n state,\n }).post(urlString);\n return data;\n}\n\nexport async function cancelRecon({\n reconId,\n state,\n}: {\n reconId: string;\n state: State;\n}): Promise<ReconStatusType> {\n const urlString = util.format(\n cancelReconUrlTemplate,\n getHostBaseUrl(state.getHost()),\n reconId\n );\n const { data } = await generateIdmApi({\n requestOverride: apiConfig,\n state,\n }).post(urlString);\n return data;\n}\n"],"mappings":"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"}
@@ -35,6 +35,7 @@ var _OrganizationOps = _interopRequireDefault(require("../ops/OrganizationOps.js
35
35
  var _PolicyOps = _interopRequireDefault(require("../ops/PolicyOps.js"));
36
36
  var _PolicySetOps = _interopRequireDefault(require("../ops/PolicySetOps.js"));
37
37
  var _RealmOps = _interopRequireDefault(require("../ops/RealmOps.js"));
38
+ var _ReconOps = _interopRequireDefault(require("../ops/ReconOps.js"));
38
39
  var _ResourceTypeOps = _interopRequireDefault(require("../ops/ResourceTypeOps.js"));
39
40
  var _Saml2Ops = _interopRequireDefault(require("../ops/Saml2Ops.js"));
40
41
  var _ScriptOps = _interopRequireDefault(require("../ops/ScriptOps.js"));
@@ -100,6 +101,7 @@ var FrodoLib = exports.FrodoLib = function FrodoLib() {
100
101
  managed: (0, _ManagedObjectOps.default)(state),
101
102
  mapping: (0, _MappingOps.default)(state),
102
103
  organization: (0, _OrganizationOps.default)(state),
104
+ recon: (0, _ReconOps.default)(state),
103
105
  system: (0, _IdmSystemOps.default)(state)
104
106
  },
105
107
  info: (0, _InfoOps.default)(state),
@@ -1 +1 @@
1
- {"version":3,"file":"FrodoLib.js","names":["FrodoLib","exports","config","arguments","length","undefined","state","StateImpl","admin","AdminOps","agent","AgentOps","app","ApplicationOps","authn","journey","JourneyOps","node","NodeOps","authz","policy","PolicyOps","policySet","PolicySetOps","resourceType","ResourceTypeOps","cloud","adminFed","AdminFederationOps","feature","FeatureOps","log","LogOps","secret","SecretsOps","serviceAccount","ServiceAccountOps","startup","StartupOps","variable","VariablesOps","conn","ConnectionProfileOps","email","template","EmailTemplateOps","idm","IdmConfigOps","connector","ConnectorOps","managed","ManagedObjectOps","mapping","MappingOps","organization","OrganizationOps","system","IdmSystemOps","info","InfoOps","login","AuthenticateOps","oauth2oidc","client","OAuth2ClientOps","endpoint","OAuth2OidcOps","external","IdpOps","provider","OAuth2ProviderOps","realm","RealmOps","saml2","circlesOfTrust","CirclesOfTrustOps","entityProvider","Saml2Ops","script","ScriptOps","service","ServiceOps","theme","ThemeOps","utils","_objectSpread","ForgeRockUtils","ScriptValidationUtils","ExportImportUtils","Base64Utils","constants","ConstantsImpl","jose","JoseOps","json","JsonUtils","version","VersionUtils","createInstance","createInstanceWithAdminAccount","createInstanceWithServiceAccount","frodo","host","serviceAccountId","serviceAccountJwkStr","deploymentType","allowInsecureConnection","debug","curlirize","serviceAccountJwk","JSON","parse","username","password","_default","default"],"sources":["../../src/lib/FrodoLib.ts"],"sourcesContent":["// instantiable modules\nimport AdminOps, { Admin } from '../ops/AdminOps';\nimport AgentOps, { Agent } from '../ops/AgentOps';\nimport ApplicationOps, { Application } from '../ops/ApplicationOps';\nimport AuthenticateOps, { Authenticate } from '../ops/AuthenticateOps';\nimport CirclesOfTrustOps, { CirclesOfTrust } from '../ops/CirclesOfTrustOps';\nimport AdminFederationOps, {\n AdminFederation,\n} from '../ops/cloud/AdminFederationOps';\nimport FeatureOps, { Feature } from '../ops/cloud/FeatureOps';\nimport LogOps, { Log } from '../ops/cloud/LogOps';\nimport SecretsOps, { Secret } from '../ops/cloud/SecretsOps';\nimport ServiceAccountOps, {\n ServiceAccount,\n} from '../ops/cloud/ServiceAccountOps';\nimport StartupOps, { Startup } from '../ops/cloud/StartupOps';\nimport VariablesOps, { Variable } from '../ops/cloud/VariablesOps';\nimport ConnectionProfileOps, {\n ConnectionProfile,\n} from '../ops/ConnectionProfileOps';\nimport ConnectorOps, { Connector } from '../ops/ConnectorOps';\nimport EmailTemplateOps, { EmailTemplate } from '../ops/EmailTemplateOps';\nimport IdmConfigOps, { IdmConfig } from '../ops/IdmConfigOps';\nimport IdmSystemOps, { IdmSystem } from '../ops/IdmSystemOps';\nimport IdpOps, { Idp } from '../ops/IdpOps';\nimport InfoOps, { Info } from '../ops/InfoOps';\nimport JoseOps, { Jose } from '../ops/JoseOps';\nimport JourneyOps, { Journey } from '../ops/JourneyOps';\nimport ManagedObjectOps, { ManagedObject } from '../ops/ManagedObjectOps';\nimport MappingOps, { Mapping } from '../ops/MappingOps';\nimport NodeOps, { Node } from '../ops/NodeOps';\nimport OAuth2ClientOps, { OAuth2Client } from '../ops/OAuth2ClientOps';\nimport OAuth2OidcOps, { OAuth2Oidc } from '../ops/OAuth2OidcOps';\nimport OAuth2ProviderOps, { OAuth2Provider } from '../ops/OAuth2ProviderOps';\nimport OrganizationOps, { Organization } from '../ops/OrganizationOps';\nimport PolicyOps, { Policy } from '../ops/PolicyOps';\nimport PolicySetOps, { PolicySet } from '../ops/PolicySetOps';\nimport RealmOps, { Realm } from '../ops/RealmOps';\nimport ResourceTypeOps, { ResourceType } from '../ops/ResourceTypeOps';\nimport Saml2Ops, { Saml2 } from '../ops/Saml2Ops';\nimport ScriptOps, { Script } from '../ops/ScriptOps';\nimport ServiceOps, { Service } from '../ops/ServiceOps';\nimport ThemeOps, { Theme } from '../ops/ThemeOps';\nimport VersionUtils, { Version } from '../ops/VersionUtils';\n// non-instantiable modules\nimport ConstantsImpl, { Constants } from '../shared/Constants';\nimport StateImpl, { State, StateInterface } from '../shared/State';\nimport Base64Utils, { Base64 } from '../utils/Base64Utils';\nimport ExportImportUtils, { ExportImport } from '../utils/ExportImportUtils';\nimport ForgeRockUtils, { FRUtils } from '../utils/ForgeRockUtils';\nimport JsonUtils, { Json } from '../utils/JsonUtils';\nimport ScriptValidationUtils, {\n ScriptValidation,\n} from '../utils/ScriptValidationUtils';\n\n/**\n * Frodo Library\n */\nexport type Frodo = {\n state: State;\n admin: Admin;\n agent: Agent;\n app: Application;\n\n authn: {\n journey: Journey;\n node: Node;\n };\n\n authz: {\n policy: Policy;\n policySet: PolicySet;\n resourceType: ResourceType;\n };\n\n cloud: {\n adminFed: AdminFederation;\n feature: Feature;\n log: Log;\n secret: Secret;\n serviceAccount: ServiceAccount;\n startup: Startup;\n variable: Variable;\n };\n\n conn: ConnectionProfile;\n\n email: {\n template: EmailTemplate;\n };\n\n idm: {\n config: IdmConfig;\n connector: Connector;\n managed: ManagedObject;\n mapping: Mapping;\n organization: Organization;\n system: IdmSystem;\n };\n\n info: Info;\n login: Authenticate;\n\n oauth2oidc: {\n client: OAuth2Client;\n endpoint: OAuth2Oidc;\n external: Idp;\n provider: OAuth2Provider;\n };\n\n realm: Realm;\n\n saml2: {\n circlesOfTrust: CirclesOfTrust;\n entityProvider: Saml2;\n };\n\n script: Script;\n service: Service;\n\n theme: Theme;\n\n utils: FRUtils &\n ScriptValidation &\n ExportImport &\n Base64 & {\n constants: Constants;\n jose: Jose;\n json: Json;\n version: Version;\n };\n\n /**\n * Create a new frodo instance\n * @param {StateInterface} config Initial state configuration to use with the new instance\n * @returns {Frodo} frodo instance\n */\n createInstance(config: StateInterface): Frodo;\n\n /**\n * Factory helper to create a frodo instance ready for logging in with an admin user account\n * @param {string} host host base URL, e.g. 'https://openam-my-tenant.forgeblocks.com/am'\n * @param {string} username admin account username\n * @param {string} password admin account password\n * @param {string} realm (optional) override default realm\n * @param {string} deploymentType (optional) override deployment type ('cloud', 'forgeops', or 'classic')\n * @param {boolean} allowInsecureConnection (optional) allow insecure connection\n * @param {boolean} debug (optional) enable debug output\n * @param {boolean} curlirize (optional) enable output of all library REST calls as curl commands\n * @returns {Frodo} frodo instance\n */\n createInstanceWithAdminAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm?: string,\n deploymentType?: string,\n allowInsecureConnection?: boolean,\n debug?: boolean,\n curlirize?: boolean\n ): Frodo;\n\n /**\n * Factory helper to create a frodo instance ready for logging in with a service account\n * @param {string} host host base URL, e.g. 'https://openam-my-tenant.forgeblocks.com/am'\n * @param {string} serviceAccountId service account uuid\n * @param {string} serviceAccountJwkStr service account JWK as stringified JSON\n * @param {string} realm (optional) override default realm\n * @param {string} deploymentType (optional) override deployment type ('cloud', 'forgeops', or 'classic')\n * @param {boolean} allowInsecureConnection (optional) allow insecure connection\n * @param {boolean} debug (optional) enable debug output\n * @param {boolean} curlirize (optional) enable output of all library REST calls as curl commands\n * @returns {Frodo} frodo instance\n */\n createInstanceWithServiceAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm?: string,\n deploymentType?: string,\n allowInsecureConnection?: boolean,\n debug?: boolean,\n curlirize?: boolean\n ): Frodo;\n};\n\n/**\n * Create a new frodo instance\n * @param {StateInterface} config Initial state configuration to use with the new instance\n * @returns {Frodo} frodo instance\n */\nconst FrodoLib = (config: StateInterface = {}): Frodo => {\n const state = StateImpl(config);\n return {\n state: state,\n admin: AdminOps(state),\n agent: AgentOps(state),\n app: ApplicationOps(state),\n\n authn: {\n journey: JourneyOps(state),\n node: NodeOps(state),\n },\n\n authz: {\n policy: PolicyOps(state),\n policySet: PolicySetOps(state),\n resourceType: ResourceTypeOps(state),\n },\n\n cloud: {\n adminFed: AdminFederationOps(state),\n feature: FeatureOps(state),\n log: LogOps(state),\n secret: SecretsOps(state),\n serviceAccount: ServiceAccountOps(state),\n startup: StartupOps(state),\n variable: VariablesOps(state),\n },\n\n conn: ConnectionProfileOps(state),\n\n email: {\n template: EmailTemplateOps(state),\n },\n\n idm: {\n config: IdmConfigOps(state),\n connector: ConnectorOps(state),\n managed: ManagedObjectOps(state),\n mapping: MappingOps(state),\n organization: OrganizationOps(state),\n system: IdmSystemOps(state),\n },\n\n info: InfoOps(state),\n login: AuthenticateOps(state),\n\n oauth2oidc: {\n client: OAuth2ClientOps(state),\n endpoint: OAuth2OidcOps(state),\n external: IdpOps(state),\n provider: OAuth2ProviderOps(state),\n },\n\n realm: RealmOps(state),\n\n saml2: {\n circlesOfTrust: CirclesOfTrustOps(state),\n entityProvider: Saml2Ops(state),\n },\n\n script: ScriptOps(state),\n service: ServiceOps(state),\n\n theme: ThemeOps(state),\n\n utils: {\n ...ForgeRockUtils(state),\n ...ScriptValidationUtils(state),\n ...ExportImportUtils(state),\n ...Base64Utils(),\n constants: ConstantsImpl,\n jose: JoseOps(state),\n json: JsonUtils(),\n version: VersionUtils(state),\n },\n\n createInstance,\n createInstanceWithAdminAccount,\n createInstanceWithServiceAccount,\n };\n};\n\nfunction createInstance(config: StateInterface): Frodo {\n const frodo = FrodoLib(config);\n return frodo;\n}\n\nfunction createInstanceWithServiceAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm: string = undefined,\n deploymentType: string = undefined,\n allowInsecureConnection = false,\n debug = false,\n curlirize = false\n): Frodo {\n const config: StateInterface = {\n host,\n serviceAccountId,\n serviceAccountJwk: JSON.parse(serviceAccountJwkStr),\n realm,\n deploymentType,\n allowInsecureConnection,\n debug,\n curlirize,\n };\n const frodo = FrodoLib(config);\n return frodo;\n}\n\nfunction createInstanceWithAdminAccount(\n host: string,\n username: string,\n password: string,\n realm: string = undefined,\n deploymentType: string = undefined,\n allowInsecureConnection = false,\n debug = false,\n curlirize = false\n): Frodo {\n const config: StateInterface = {\n host,\n username,\n password,\n realm,\n deploymentType,\n allowInsecureConnection,\n debug,\n curlirize,\n };\n const frodo = FrodoLib(config);\n return frodo;\n}\n\n/**\n * Default frodo instance\n *\n * @remarks\n *\n * If your application requires a single connection to a ForgeRock Identity Platform\n * instance at a time, then this default instance is all you need:\n *\n * In order to use the default {@link Frodo | frodo} instance, you must populate its {@link State | state} with the\n * minimum required information to login to your ForgeRock Identity Platform instance:\n *\n * ```javascript\n * // configure the state before invoking any library functions that require credentials\n * state.setHost('https://instance0/am');\n * state.setUsername('admin');\n * state.setPassword('p@ssw0rd!');\n *\n * // now the library can login\n * frodo.login.getTokens();\n *\n * // and perform operations\n * frodo.authn.journey.exportJourney('Login');\n * ```\n *\n * If your application needs to connect to multiple ForgeRock Identity Platform instances\n * simultaneously, then you will want to create additional frodo instances using any of\n * the available factory methods accessible from the default instance:\n *\n * {@link frodo.createInstance}\n * ```javascript\n * // use factory method to create a new Frodo instance\n * const instance1 = frodo.createInstance({\n * host: 'https://instance1/am',\n * username: 'admin',\n * password: 'p@ssw0rd!',\n * });\n *\n * // now the instance can login\n * instance1.login.getTokens();\n *\n * // and perform operations\n * instance1.authn.journey.exportJourney('Login');\n * ```\n *\n * {@link frodo.createInstanceWithAdminAccount}\n * ```javascript\n * // use factory method to create a new Frodo instance ready to login with an admin user account\n * const instance2 = frodo.createInstanceWithAdminAccount(\n * 'https://instance2/am',\n * 'admin',\n * 'p@ssw0rd!'\n * );\n *\n * // now the instance can login\n * instance2.login.getTokens();\n *\n * // and perform operations\n * instance2.authn.journey.exportJourney('Login');\n * ```\n *\n * {@link frodo.createInstanceWithServiceAccount}\n * ```javascript\n * // use factory method to create a new Frodo instance ready to login with a service account\n * const instance3 = frodo.createInstanceWithServiceAccount(\n * 'https://instance3/am',\n * 'serviceAccount',\n * '{\"k\":\"jwk\"}'\n * );\n *\n * // now the instance can login\n * instance3.login.getTokens();\n *\n * // and perform operations\n * instance3.authn.journey.exportJourney('Login');\n * ```\n */\nconst frodo = FrodoLib();\n\n/**\n * Default state instance\n *\n * @remarks\n *\n * {@link Frodo} maintains a {@link State | state} for each instance. The state is where Frodo gets configuration\n * information from like host to connecto to, username and password to use, whether to\n * allow insecure connections or not, etc. As the library operates, it updates its state.\n *\n * The default frodo instance contains an empty state instance by default. In order to\n * use the default frodo instance, you must populate its state with the minimum required\n * information to login to your ForgeRock Identity Platform instance:\n *\n * ```javascript\n * // configure the state before invoking any library functions that require credentials\n * state.setHost('https://instance0/am');\n * state.setUsername('admin');\n * state.setPassword('p@ssw0rd!');\n *\n * // now the library can login\n * frodo.login.getTokens();\n *\n * // and perform operations\n * frodo.authn.journey.exportJourney('Login');\n * ```\n */\nconst state = frodo.state;\n\nexport { frodo, FrodoLib, state };\n\nexport default FrodoLib;\n"],"mappings":"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GE,SAAS;EAAA,IAClCqG,uBAAuB,GAAAvG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IAC/BwG,KAAK,GAAAxG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IACbyG,SAAS,GAAAzG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEjB,IAAMD,MAAsB,GAAG;IAC7BoG,IAAI;IACJU,QAAQ;IACRC,QAAQ;IACR1C,KAAK;IACLkC,cAAc;IACdC,uBAAuB;IACvBC,KAAK;IACLC;EACF,CAAC;EACD,IAAMP,KAAK,GAAGrG,QAAQ,CAACE,MAAM,CAAC;EAC9B,OAAOmG,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,KAAK,GAAApG,OAAA,CAAAoG,KAAA,GAAGrG,QAAQ,CAAC,CAAC;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMM,KAAK,GAAAL,OAAA,CAAAK,KAAA,GAAG+F,KAAK,CAAC/F,KAAK;AAAC,IAAA4G,QAAA,GAAAjH,OAAA,CAAAkH,OAAA,GAIXnH,QAAQ"}
1
+ {"version":3,"file":"FrodoLib.js","names":["FrodoLib","exports","config","arguments","length","undefined","state","StateImpl","admin","AdminOps","agent","AgentOps","app","ApplicationOps","authn","journey","JourneyOps","node","NodeOps","authz","policy","PolicyOps","policySet","PolicySetOps","resourceType","ResourceTypeOps","cloud","adminFed","AdminFederationOps","feature","FeatureOps","log","LogOps","secret","SecretsOps","serviceAccount","ServiceAccountOps","startup","StartupOps","variable","VariablesOps","conn","ConnectionProfileOps","email","template","EmailTemplateOps","idm","IdmConfigOps","connector","ConnectorOps","managed","ManagedObjectOps","mapping","MappingOps","organization","OrganizationOps","recon","ReconOps","system","IdmSystemOps","info","InfoOps","login","AuthenticateOps","oauth2oidc","client","OAuth2ClientOps","endpoint","OAuth2OidcOps","external","IdpOps","provider","OAuth2ProviderOps","realm","RealmOps","saml2","circlesOfTrust","CirclesOfTrustOps","entityProvider","Saml2Ops","script","ScriptOps","service","ServiceOps","theme","ThemeOps","utils","_objectSpread","ForgeRockUtils","ScriptValidationUtils","ExportImportUtils","Base64Utils","constants","ConstantsImpl","jose","JoseOps","json","JsonUtils","version","VersionUtils","createInstance","createInstanceWithAdminAccount","createInstanceWithServiceAccount","frodo","host","serviceAccountId","serviceAccountJwkStr","deploymentType","allowInsecureConnection","debug","curlirize","serviceAccountJwk","JSON","parse","username","password","_default","default"],"sources":["../../src/lib/FrodoLib.ts"],"sourcesContent":["// instantiable modules\nimport AdminOps, { Admin } from '../ops/AdminOps';\nimport AgentOps, { Agent } from '../ops/AgentOps';\nimport ApplicationOps, { Application } from '../ops/ApplicationOps';\nimport AuthenticateOps, { Authenticate } from '../ops/AuthenticateOps';\nimport CirclesOfTrustOps, { CirclesOfTrust } from '../ops/CirclesOfTrustOps';\nimport AdminFederationOps, {\n AdminFederation,\n} from '../ops/cloud/AdminFederationOps';\nimport FeatureOps, { Feature } from '../ops/cloud/FeatureOps';\nimport LogOps, { Log } from '../ops/cloud/LogOps';\nimport SecretsOps, { Secret } from '../ops/cloud/SecretsOps';\nimport ServiceAccountOps, {\n ServiceAccount,\n} from '../ops/cloud/ServiceAccountOps';\nimport StartupOps, { Startup } from '../ops/cloud/StartupOps';\nimport VariablesOps, { Variable } from '../ops/cloud/VariablesOps';\nimport ConnectionProfileOps, {\n ConnectionProfile,\n} from '../ops/ConnectionProfileOps';\nimport ConnectorOps, { Connector } from '../ops/ConnectorOps';\nimport EmailTemplateOps, { EmailTemplate } from '../ops/EmailTemplateOps';\nimport IdmConfigOps, { IdmConfig } from '../ops/IdmConfigOps';\nimport IdmSystemOps, { IdmSystem } from '../ops/IdmSystemOps';\nimport IdpOps, { Idp } from '../ops/IdpOps';\nimport InfoOps, { Info } from '../ops/InfoOps';\nimport JoseOps, { Jose } from '../ops/JoseOps';\nimport JourneyOps, { Journey } from '../ops/JourneyOps';\nimport ManagedObjectOps, { ManagedObject } from '../ops/ManagedObjectOps';\nimport MappingOps, { Mapping } from '../ops/MappingOps';\nimport NodeOps, { Node } from '../ops/NodeOps';\nimport OAuth2ClientOps, { OAuth2Client } from '../ops/OAuth2ClientOps';\nimport OAuth2OidcOps, { OAuth2Oidc } from '../ops/OAuth2OidcOps';\nimport OAuth2ProviderOps, { OAuth2Provider } from '../ops/OAuth2ProviderOps';\nimport OrganizationOps, { Organization } from '../ops/OrganizationOps';\nimport PolicyOps, { Policy } from '../ops/PolicyOps';\nimport PolicySetOps, { PolicySet } from '../ops/PolicySetOps';\nimport RealmOps, { Realm } from '../ops/RealmOps';\nimport ReconOps, { Recon } from '../ops/ReconOps';\nimport ResourceTypeOps, { ResourceType } from '../ops/ResourceTypeOps';\nimport Saml2Ops, { Saml2 } from '../ops/Saml2Ops';\nimport ScriptOps, { Script } from '../ops/ScriptOps';\nimport ServiceOps, { Service } from '../ops/ServiceOps';\nimport ThemeOps, { Theme } from '../ops/ThemeOps';\nimport VersionUtils, { Version } from '../ops/VersionUtils';\n// non-instantiable modules\nimport ConstantsImpl, { Constants } from '../shared/Constants';\nimport StateImpl, { State, StateInterface } from '../shared/State';\nimport Base64Utils, { Base64 } from '../utils/Base64Utils';\nimport ExportImportUtils, { ExportImport } from '../utils/ExportImportUtils';\nimport ForgeRockUtils, { FRUtils } from '../utils/ForgeRockUtils';\nimport JsonUtils, { Json } from '../utils/JsonUtils';\nimport ScriptValidationUtils, {\n ScriptValidation,\n} from '../utils/ScriptValidationUtils';\n\n/**\n * Frodo Library\n */\nexport type Frodo = {\n state: State;\n admin: Admin;\n agent: Agent;\n app: Application;\n\n authn: {\n journey: Journey;\n node: Node;\n };\n\n authz: {\n policy: Policy;\n policySet: PolicySet;\n resourceType: ResourceType;\n };\n\n cloud: {\n adminFed: AdminFederation;\n feature: Feature;\n log: Log;\n secret: Secret;\n serviceAccount: ServiceAccount;\n startup: Startup;\n variable: Variable;\n };\n\n conn: ConnectionProfile;\n\n email: {\n template: EmailTemplate;\n };\n\n idm: {\n config: IdmConfig;\n connector: Connector;\n managed: ManagedObject;\n mapping: Mapping;\n organization: Organization;\n recon: Recon;\n system: IdmSystem;\n };\n\n info: Info;\n login: Authenticate;\n\n oauth2oidc: {\n client: OAuth2Client;\n endpoint: OAuth2Oidc;\n external: Idp;\n provider: OAuth2Provider;\n };\n\n realm: Realm;\n\n saml2: {\n circlesOfTrust: CirclesOfTrust;\n entityProvider: Saml2;\n };\n\n script: Script;\n service: Service;\n\n theme: Theme;\n\n utils: FRUtils &\n ScriptValidation &\n ExportImport &\n Base64 & {\n constants: Constants;\n jose: Jose;\n json: Json;\n version: Version;\n };\n\n /**\n * Create a new frodo instance\n * @param {StateInterface} config Initial state configuration to use with the new instance\n * @returns {Frodo} frodo instance\n */\n createInstance(config: StateInterface): Frodo;\n\n /**\n * Factory helper to create a frodo instance ready for logging in with an admin user account\n * @param {string} host host base URL, e.g. 'https://openam-my-tenant.forgeblocks.com/am'\n * @param {string} username admin account username\n * @param {string} password admin account password\n * @param {string} realm (optional) override default realm\n * @param {string} deploymentType (optional) override deployment type ('cloud', 'forgeops', or 'classic')\n * @param {boolean} allowInsecureConnection (optional) allow insecure connection\n * @param {boolean} debug (optional) enable debug output\n * @param {boolean} curlirize (optional) enable output of all library REST calls as curl commands\n * @returns {Frodo} frodo instance\n */\n createInstanceWithAdminAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm?: string,\n deploymentType?: string,\n allowInsecureConnection?: boolean,\n debug?: boolean,\n curlirize?: boolean\n ): Frodo;\n\n /**\n * Factory helper to create a frodo instance ready for logging in with a service account\n * @param {string} host host base URL, e.g. 'https://openam-my-tenant.forgeblocks.com/am'\n * @param {string} serviceAccountId service account uuid\n * @param {string} serviceAccountJwkStr service account JWK as stringified JSON\n * @param {string} realm (optional) override default realm\n * @param {string} deploymentType (optional) override deployment type ('cloud', 'forgeops', or 'classic')\n * @param {boolean} allowInsecureConnection (optional) allow insecure connection\n * @param {boolean} debug (optional) enable debug output\n * @param {boolean} curlirize (optional) enable output of all library REST calls as curl commands\n * @returns {Frodo} frodo instance\n */\n createInstanceWithServiceAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm?: string,\n deploymentType?: string,\n allowInsecureConnection?: boolean,\n debug?: boolean,\n curlirize?: boolean\n ): Frodo;\n};\n\n/**\n * Create a new frodo instance\n * @param {StateInterface} config Initial state configuration to use with the new instance\n * @returns {Frodo} frodo instance\n */\nconst FrodoLib = (config: StateInterface = {}): Frodo => {\n const state = StateImpl(config);\n return {\n state: state,\n admin: AdminOps(state),\n agent: AgentOps(state),\n app: ApplicationOps(state),\n\n authn: {\n journey: JourneyOps(state),\n node: NodeOps(state),\n },\n\n authz: {\n policy: PolicyOps(state),\n policySet: PolicySetOps(state),\n resourceType: ResourceTypeOps(state),\n },\n\n cloud: {\n adminFed: AdminFederationOps(state),\n feature: FeatureOps(state),\n log: LogOps(state),\n secret: SecretsOps(state),\n serviceAccount: ServiceAccountOps(state),\n startup: StartupOps(state),\n variable: VariablesOps(state),\n },\n\n conn: ConnectionProfileOps(state),\n\n email: {\n template: EmailTemplateOps(state),\n },\n\n idm: {\n config: IdmConfigOps(state),\n connector: ConnectorOps(state),\n managed: ManagedObjectOps(state),\n mapping: MappingOps(state),\n organization: OrganizationOps(state),\n recon: ReconOps(state),\n system: IdmSystemOps(state),\n },\n\n info: InfoOps(state),\n login: AuthenticateOps(state),\n\n oauth2oidc: {\n client: OAuth2ClientOps(state),\n endpoint: OAuth2OidcOps(state),\n external: IdpOps(state),\n provider: OAuth2ProviderOps(state),\n },\n\n realm: RealmOps(state),\n\n saml2: {\n circlesOfTrust: CirclesOfTrustOps(state),\n entityProvider: Saml2Ops(state),\n },\n\n script: ScriptOps(state),\n service: ServiceOps(state),\n\n theme: ThemeOps(state),\n\n utils: {\n ...ForgeRockUtils(state),\n ...ScriptValidationUtils(state),\n ...ExportImportUtils(state),\n ...Base64Utils(),\n constants: ConstantsImpl,\n jose: JoseOps(state),\n json: JsonUtils(),\n version: VersionUtils(state),\n },\n\n createInstance,\n createInstanceWithAdminAccount,\n createInstanceWithServiceAccount,\n };\n};\n\nfunction createInstance(config: StateInterface): Frodo {\n const frodo = FrodoLib(config);\n return frodo;\n}\n\nfunction createInstanceWithServiceAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm: string = undefined,\n deploymentType: string = undefined,\n allowInsecureConnection = false,\n debug = false,\n curlirize = false\n): Frodo {\n const config: StateInterface = {\n host,\n serviceAccountId,\n serviceAccountJwk: JSON.parse(serviceAccountJwkStr),\n realm,\n deploymentType,\n allowInsecureConnection,\n debug,\n curlirize,\n };\n const frodo = FrodoLib(config);\n return frodo;\n}\n\nfunction createInstanceWithAdminAccount(\n host: string,\n username: string,\n password: string,\n realm: string = undefined,\n deploymentType: string = undefined,\n allowInsecureConnection = false,\n debug = false,\n curlirize = false\n): Frodo {\n const config: StateInterface = {\n host,\n username,\n password,\n realm,\n deploymentType,\n allowInsecureConnection,\n debug,\n curlirize,\n };\n const frodo = FrodoLib(config);\n return frodo;\n}\n\n/**\n * Default frodo instance\n *\n * @remarks\n *\n * If your application requires a single connection to a ForgeRock Identity Platform\n * instance at a time, then this default instance is all you need:\n *\n * In order to use the default {@link Frodo | frodo} instance, you must populate its {@link State | state} with the\n * minimum required information to login to your ForgeRock Identity Platform instance:\n *\n * ```javascript\n * // configure the state before invoking any library functions that require credentials\n * state.setHost('https://instance0/am');\n * state.setUsername('admin');\n * state.setPassword('p@ssw0rd!');\n *\n * // now the library can login\n * frodo.login.getTokens();\n *\n * // and perform operations\n * frodo.authn.journey.exportJourney('Login');\n * ```\n *\n * If your application needs to connect to multiple ForgeRock Identity Platform instances\n * simultaneously, then you will want to create additional frodo instances using any of\n * the available factory methods accessible from the default instance:\n *\n * {@link frodo.createInstance}\n * ```javascript\n * // use factory method to create a new Frodo instance\n * const instance1 = frodo.createInstance({\n * host: 'https://instance1/am',\n * username: 'admin',\n * password: 'p@ssw0rd!',\n * });\n *\n * // now the instance can login\n * instance1.login.getTokens();\n *\n * // and perform operations\n * instance1.authn.journey.exportJourney('Login');\n * ```\n *\n * {@link frodo.createInstanceWithAdminAccount}\n * ```javascript\n * // use factory method to create a new Frodo instance ready to login with an admin user account\n * const instance2 = frodo.createInstanceWithAdminAccount(\n * 'https://instance2/am',\n * 'admin',\n * 'p@ssw0rd!'\n * );\n *\n * // now the instance can login\n * instance2.login.getTokens();\n *\n * // and perform operations\n * instance2.authn.journey.exportJourney('Login');\n * ```\n *\n * {@link frodo.createInstanceWithServiceAccount}\n * ```javascript\n * // use factory method to create a new Frodo instance ready to login with a service account\n * const instance3 = frodo.createInstanceWithServiceAccount(\n * 'https://instance3/am',\n * 'serviceAccount',\n * '{\"k\":\"jwk\"}'\n * );\n *\n * // now the instance can login\n * instance3.login.getTokens();\n *\n * // and perform operations\n * instance3.authn.journey.exportJourney('Login');\n * ```\n */\nconst frodo = FrodoLib();\n\n/**\n * Default state instance\n *\n * @remarks\n *\n * {@link Frodo} maintains a {@link State | state} for each instance. The state is where Frodo gets configuration\n * information from like host to connecto to, username and password to use, whether to\n * allow insecure connections or not, etc. As the library operates, it updates its state.\n *\n * The default frodo instance contains an empty state instance by default. In order to\n * use the default frodo instance, you must populate its state with the minimum required\n * information to login to your ForgeRock Identity Platform instance:\n *\n * ```javascript\n * // configure the state before invoking any library functions that require credentials\n * state.setHost('https://instance0/am');\n * state.setUsername('admin');\n * state.setPassword('p@ssw0rd!');\n *\n * // now the library can login\n * frodo.login.getTokens();\n *\n * // and perform operations\n * frodo.authn.journey.exportJourney('Login');\n * ```\n */\nconst state = frodo.state;\n\nexport { frodo, FrodoLib, state };\n\nexport default FrodoLib;\n"],"mappings":"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,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;EAAA,IAClCuG,uBAAuB,GAAAzG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IAC/B0G,KAAK,GAAA1G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IACb2G,SAAS,GAAA3G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEjB,IAAMD,MAAsB,GAAG;IAC7BsG,IAAI;IACJU,QAAQ;IACRC,QAAQ;IACR1C,KAAK;IACLkC,cAAc;IACdC,uBAAuB;IACvBC,KAAK;IACLC;EACF,CAAC;EACD,IAAMP,KAAK,GAAGvG,QAAQ,CAACE,MAAM,CAAC;EAC9B,OAAOqG,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,KAAK,GAAAtG,OAAA,CAAAsG,KAAA,GAAGvG,QAAQ,CAAC,CAAC;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMM,KAAK,GAAAL,OAAA,CAAAK,KAAA,GAAGiG,KAAK,CAACjG,KAAK;AAAC,IAAA8G,QAAA,GAAAnH,OAAA,CAAAoH,OAAA,GAIXrH,QAAQ"}