@rockcarver/frodo-cli 4.0.0-10 → 4.0.0-11

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 CHANGED
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [4.0.0-10] - 2026-02-23
11
+
10
12
  ## [4.0.0-9] - 2026-02-23
11
13
 
12
14
  ## [4.0.0-8] - 2026-02-23
@@ -2181,7 +2183,8 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
2181
2183
  - Fixed problem with adding connection profiles
2182
2184
  - Miscellaneous bug fixes
2183
2185
 
2184
- [unreleased]: https://github.com/rockcarver/frodo-cli/compare/v4.0.0-9...HEAD
2186
+ [unreleased]: https://github.com/rockcarver/frodo-cli/compare/v4.0.0-10...HEAD
2187
+ [4.0.0-10]: https://github.com/rockcarver/frodo-cli/compare/v4.0.0-9...v4.0.0-10
2185
2188
  [4.0.0-9]: https://github.com/rockcarver/frodo-cli/compare/v4.0.0-8...v4.0.0-9
2186
2189
  [4.0.0-8]: https://github.com/rockcarver/frodo-cli/compare/v4.0.0-7...v4.0.0-8
2187
2190
  [4.0.0-7]: https://github.com/rockcarver/frodo-cli/compare/v4.0.0-6...v4.0.0-7
package/dist/app.cjs CHANGED
@@ -142000,7 +142000,7 @@ function stringify(obj) {
142000
142000
  }
142001
142001
  var package_default = {
142002
142002
  name: "@rockcarver/frodo-lib",
142003
- version: "4.0.0-10",
142003
+ version: "4.0.0-11",
142004
142004
  type: "commonjs",
142005
142005
  main: "./dist/index.js",
142006
142006
  module: "./dist/index.mjs",
@@ -160582,6 +160582,14 @@ function generateAmApi({
160582
160582
  },
160583
160583
  requestOverride
160584
160584
  );
160585
+ debugMessage({
160586
+ message: `Generating AM API client for resource with request headers ${JSON.stringify(
160587
+ requestConfig.headers,
160588
+ null,
160589
+ 2
160590
+ )}`,
160591
+ state: state2
160592
+ });
160585
160593
  const request = createAxiosInstance(state2, requestConfig);
160586
160594
  if (state2.getCurlirize()) {
160587
160595
  curlirize(request, state2);
@@ -160594,7 +160602,7 @@ function generateOauth2Api({
160594
160602
  authenticate = true,
160595
160603
  state: state2
160596
160604
  }) {
160597
- let headers2 = {
160605
+ const headers2 = {
160598
160606
  "User-Agent": userAgent,
160599
160607
  "X-ForgeRock-TransactionId": transactionId,
160600
160608
  // only add API version if we have it
@@ -160608,26 +160616,30 @@ function generateOauth2Api({
160608
160616
  Authorization: `Bearer ${state2.getBearerToken()}`
160609
160617
  }
160610
160618
  };
160611
- if (requestOverride["headers"]) {
160612
- headers2 = {
160613
- ...headers2,
160614
- ...requestOverride["headers"]
160615
- };
160616
- }
160617
- const requestConfig = {
160618
- // baseURL: `${storage.session.getTenant()}/json${resource.path}`,
160619
- timeout: timeout3,
160620
- ...requestOverride,
160621
- headers: {
160622
- ...headers2,
160623
- ...state2.getAuthenticationHeaderOverrides()
160624
- },
160625
- ...process.env.FRODO_MOCK !== "record" && process.env.FRODO_POLLY_MODE !== "record" && {
160626
- httpAgent: getHttpAgent(),
160627
- httpsAgent: getHttpsAgent(state2.getAllowInsecureConnection())
160619
+ const requestConfig = mergeDeep(
160620
+ {
160621
+ // baseURL: `${storage.session.getTenant()}/json${resource.path}`,
160622
+ timeout: timeout3,
160623
+ headers: {
160624
+ ...headers2,
160625
+ ...state2.getAuthenticationHeaderOverrides()
160626
+ },
160627
+ ...process.env.FRODO_MOCK !== "record" && process.env.FRODO_POLLY_MODE !== "record" && {
160628
+ httpAgent: getHttpAgent(),
160629
+ httpsAgent: getHttpsAgent(state2.getAllowInsecureConnection())
160630
+ },
160631
+ proxy: getProxy()
160628
160632
  },
160629
- proxy: getProxy()
160630
- };
160633
+ requestOverride
160634
+ );
160635
+ debugMessage({
160636
+ message: `Generating OAuth2 API client for resource with request headers ${JSON.stringify(
160637
+ requestConfig.headers,
160638
+ null,
160639
+ 2
160640
+ )}`,
160641
+ state: state2
160642
+ });
160631
160643
  const request = createAxiosInstance(state2, requestConfig);
160632
160644
  if (state2.getCurlirize()) {
160633
160645
  curlirize(request, state2);
@@ -160660,6 +160672,14 @@ function generateIdmApi({
160660
160672
  },
160661
160673
  requestOverride
160662
160674
  );
160675
+ debugMessage({
160676
+ message: `Generating IDM API client for resource with request headers ${JSON.stringify(
160677
+ requestConfig.headers,
160678
+ null,
160679
+ 2
160680
+ )}`,
160681
+ state: state2
160682
+ });
160663
160683
  const request = createAxiosInstance(state2, requestConfig);
160664
160684
  if (state2.getCurlirize()) {
160665
160685
  curlirize(request, state2);
@@ -160689,6 +160709,14 @@ function generateLogKeysApi({
160689
160709
  },
160690
160710
  requestOverride
160691
160711
  );
160712
+ debugMessage({
160713
+ message: `Generating LogKeys API client for resource with request headers ${JSON.stringify(
160714
+ requestConfig.headers,
160715
+ null,
160716
+ 2
160717
+ )}`,
160718
+ state: state2
160719
+ });
160692
160720
  const request = createAxiosInstance(state2, requestConfig);
160693
160721
  if (state2.getCurlirize()) {
160694
160722
  curlirize(request, state2);
@@ -160717,6 +160745,14 @@ function generateLogApi({
160717
160745
  },
160718
160746
  requestOverride
160719
160747
  );
160748
+ debugMessage({
160749
+ message: `Generating Log API client for resource with request headers ${JSON.stringify(
160750
+ requestConfig.headers,
160751
+ null,
160752
+ 2
160753
+ )}`,
160754
+ state: state2
160755
+ });
160720
160756
  const request = createAxiosInstance(state2, requestConfig);
160721
160757
  request.interceptors.response.use(
160722
160758
  (response) => {
@@ -160759,17 +160795,27 @@ function generateEnvApi({
160759
160795
  Authorization: `Bearer ${state2.getBearerToken()}`
160760
160796
  }
160761
160797
  };
160762
- const requestConfig = {
160763
- // baseURL: getTenantURL(storage.session.getTenant()),
160764
- timeout: timeout3,
160765
- headers: headers2,
160766
- ...requestOverride,
160767
- ...process.env.FRODO_MOCK !== "record" && process.env.FRODO_POLLY_MODE !== "record" && {
160768
- httpAgent: getHttpAgent(),
160769
- httpsAgent: getHttpsAgent(state2.getAllowInsecureConnection())
160798
+ const requestConfig = mergeDeep(
160799
+ {
160800
+ // baseURL: getTenantURL(storage.session.getTenant()),
160801
+ timeout: timeout3,
160802
+ headers: headers2,
160803
+ ...process.env.FRODO_MOCK !== "record" && process.env.FRODO_POLLY_MODE !== "record" && {
160804
+ httpAgent: getHttpAgent(),
160805
+ httpsAgent: getHttpsAgent(state2.getAllowInsecureConnection())
160806
+ },
160807
+ proxy: getProxy()
160770
160808
  },
160771
- proxy: getProxy()
160772
- };
160809
+ requestOverride
160810
+ );
160811
+ debugMessage({
160812
+ message: `Generating Environment API client for resource with request headers ${JSON.stringify(
160813
+ requestConfig.headers,
160814
+ null,
160815
+ 2
160816
+ )}`,
160817
+ state: state2
160818
+ });
160773
160819
  const request = createAxiosInstance(state2, requestConfig);
160774
160820
  if (state2.getCurlirize()) {
160775
160821
  curlirize(request, state2);
@@ -160792,16 +160838,26 @@ function generateGovernanceApi({
160792
160838
  Authorization: `Bearer ${state2.getBearerToken()}`
160793
160839
  }
160794
160840
  };
160795
- const requestConfig = {
160796
- timeout: timeout3,
160797
- headers: headers2,
160798
- ...requestOverride,
160799
- ...process.env.FRODO_MOCK !== "record" && process.env.FRODO_POLLY_MODE !== "record" && {
160800
- httpAgent: getHttpAgent(),
160801
- httpsAgent: getHttpsAgent(state2.getAllowInsecureConnection())
160841
+ const requestConfig = mergeDeep(
160842
+ {
160843
+ timeout: timeout3,
160844
+ headers: headers2,
160845
+ ...process.env.FRODO_MOCK !== "record" && process.env.FRODO_POLLY_MODE !== "record" && {
160846
+ httpAgent: getHttpAgent(),
160847
+ httpsAgent: getHttpsAgent(state2.getAllowInsecureConnection())
160848
+ },
160849
+ proxy: getProxy()
160802
160850
  },
160803
- proxy: getProxy()
160804
- };
160851
+ requestOverride
160852
+ );
160853
+ debugMessage({
160854
+ message: `Generating Governance API client for resource with request headers ${JSON.stringify(
160855
+ requestConfig.headers,
160856
+ null,
160857
+ 2
160858
+ )}`,
160859
+ state: state2
160860
+ });
160805
160861
  const request = createAxiosInstance(state2, requestConfig);
160806
160862
  if (state2.getCurlirize()) {
160807
160863
  curlirize(request, state2);
@@ -160813,20 +160869,30 @@ function generateReleaseApi({
160813
160869
  requestOverride = {},
160814
160870
  state: state2
160815
160871
  }) {
160816
- const requestConfig = {
160817
- baseURL: baseUrl,
160818
- timeout: timeout3,
160819
- headers: {
160820
- "User-Agent": userAgent,
160821
- "Content-Type": "application/json"
160822
- },
160823
- ...requestOverride,
160824
- ...process.env.FRODO_MOCK !== "record" && process.env.FRODO_POLLY_MODE !== "record" && {
160825
- httpAgent: getHttpAgent(),
160826
- httpsAgent: getHttpsAgent(state2.getAllowInsecureConnection())
160872
+ const requestConfig = mergeDeep(
160873
+ {
160874
+ baseURL: baseUrl,
160875
+ timeout: timeout3,
160876
+ headers: {
160877
+ "User-Agent": userAgent,
160878
+ "Content-Type": "application/json"
160879
+ },
160880
+ ...process.env.FRODO_MOCK !== "record" && process.env.FRODO_POLLY_MODE !== "record" && {
160881
+ httpAgent: getHttpAgent(),
160882
+ httpsAgent: getHttpsAgent(state2.getAllowInsecureConnection())
160883
+ },
160884
+ proxy: getProxy()
160827
160885
  },
160828
- proxy: getProxy()
160829
- };
160886
+ requestOverride
160887
+ );
160888
+ debugMessage({
160889
+ message: `Generating Release API client for resource with request headers ${JSON.stringify(
160890
+ requestConfig.headers,
160891
+ null,
160892
+ 2
160893
+ )}`,
160894
+ state: state2
160895
+ });
160830
160896
  const request = createAxiosInstance(state2, requestConfig);
160831
160897
  if (state2.getCurlirize()) {
160832
160898
  curlirize(request, state2);
@@ -175169,6 +175235,10 @@ Specify a sub-string uniquely identifying a single connection profile host URL.`
175169
175235
  svcacctScope: profiles[0].svcacctScope ? profiles[0].svcacctScope : null,
175170
175236
  amsterPrivateKey: profiles[0].encodedAmsterPrivateKey ? await dataProtection.decrypt(profiles[0].encodedAmsterPrivateKey) : null
175171
175237
  };
175238
+ debugMessage({
175239
+ message: `ConnectionProfileOps.getConnectionProfileByHost: retrieved connection profile for host '${host}': ${JSON.stringify(connectionProfile, null, 2)}`,
175240
+ state: state2
175241
+ });
175172
175242
  return connectionProfile;
175173
175243
  } catch (error2) {
175174
175244
  throw new FrodoError(`Error decrypting connection profile`, error2);
@@ -175200,8 +175270,13 @@ async function loadConnectionProfileByHost({
175200
175270
  if (conn.authenticationService && !state2.getAuthenticationService()) {
175201
175271
  state2.setAuthenticationService(conn.authenticationService);
175202
175272
  }
175203
- if (conn.authenticationHeaderOverrides && !state2.getAuthenticationHeaderOverrides()) {
175204
- state2.setAuthenticationHeaderOverrides(conn.authenticationHeaderOverrides);
175273
+ if (conn.authenticationHeaderOverrides) {
175274
+ state2.setAuthenticationHeaderOverrides(
175275
+ mergeDeep(
175276
+ state2.getAuthenticationHeaderOverrides(),
175277
+ conn.authenticationHeaderOverrides
175278
+ )
175279
+ );
175205
175280
  }
175206
175281
  state2.setServiceAccountId(conn.svcacctId);
175207
175282
  state2.setServiceAccountJwk(conn.svcacctJwk);
@@ -226581,7 +226656,7 @@ var compareVersions = (v12, v2) => {
226581
226656
  // package.json
226582
226657
  var package_default2 = {
226583
226658
  name: "@rockcarver/frodo-cli",
226584
- version: "4.0.0-10",
226659
+ version: "4.0.0-11",
226585
226660
  type: "module",
226586
226661
  description: "A command line interface to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.",
226587
226662
  keywords: [
@@ -226676,7 +226751,7 @@ var package_default2 = {
226676
226751
  ]
226677
226752
  },
226678
226753
  devDependencies: {
226679
- "@rockcarver/frodo-lib": "4.0.0-10",
226754
+ "@rockcarver/frodo-lib": "4.0.0-11",
226680
226755
  "@types/colors": "^1.2.1",
226681
226756
  "@types/fs-extra": "^11.0.1",
226682
226757
  "@types/jest": "^29.2.3",