@stepzen/sdk 0.59.0-experimental.b261bc8 → 0.60.0-experimental.6325a56

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.
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/shared/graphql-client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAC,kBAAkB,EAAC,MAAM,YAAY,CAAA;AAK7C,MAAM,MAAM,eAAe,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACnD,sBAAsB,CAAC,KAAK,CAAC,GAC7B,oBAAoB,CAAC,KAAK,CAAC,CAAA;AAG/B,KAAK,sBAAsB,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG;IAC7E,IAAI,EAAE,KAAK,CAAA;IACX,MAAM,EAAE,SAAS,CAAA;CAClB,CAAA;AAGD,KAAK,oBAAoB,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GACxE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;AAEnE,eAAO,MAAM,iBAAiB,GAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,oDAM9D;IACD,GAAG,EAAE,GAAG,GAAG,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC9B,KAAG,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAoE9C,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,kFAQpE;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,SAAS,EAAE,kBAAkB,CAAA;CAC9B,KAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAoB7B,CAAA"}
1
+ {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/shared/graphql-client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAC,kBAAkB,EAAC,MAAM,YAAY,CAAA;AA4B7C,MAAM,MAAM,eAAe,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACnD,sBAAsB,CAAC,KAAK,CAAC,GAC7B,oBAAoB,CAAC,KAAK,CAAC,CAAA;AAG/B,KAAK,sBAAsB,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG;IAC7E,IAAI,EAAE,KAAK,CAAA;IACX,MAAM,EAAE,SAAS,CAAA;CAClB,CAAA;AAGD,KAAK,oBAAoB,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GACxE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;AAEnE,eAAO,MAAM,iBAAiB,GAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,oDAM9D;IACD,GAAG,EAAE,GAAG,GAAG,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC9B,KAAG,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAoE9C,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,kFAQpE;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,SAAS,EAAE,kBAAkB,CAAA;CAC9B,KAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CA8B7B,CAAA"}
@@ -2,6 +2,28 @@
2
2
  import debug from 'debug';
3
3
  import fetch from '@stepzen/fetch';
4
4
  import { getUserAgent } from './request.js';
5
+ // iPaaS/IWHI domain patterns
6
+ const IPAAS_DOMAINS = [
7
+ 'ipaas.ibmappdomain.cloud',
8
+ 'ipaas.test.ibmappdomain.cloud',
9
+ 'ipaas.preprod.ibmappdomain.cloud',
10
+ 'ipaas.dev.ibmappdomain.cloud',
11
+ ];
12
+ /**
13
+ * Checks if the given URL is an iPaaS/IWHI deployment
14
+ * @param url - The ZenCtl API URL to check
15
+ * @returns true if the URL is an iPaaS deployment, false otherwise
16
+ */
17
+ const isIPaaSDeployment = (url) => {
18
+ try {
19
+ const parsedUrl = new URL(url);
20
+ const host = parsedUrl.hostname;
21
+ return IPAAS_DOMAINS.some(domain => host.includes(domain));
22
+ }
23
+ catch {
24
+ return false;
25
+ }
26
+ };
5
27
  export const fetchGraphQLQuery = async ({ url, query, variables = {}, operationName, headers = {}, }) => {
6
28
  debug('stepzen:sdk:url')(url);
7
29
  debug('stepzen:sdk:headers')(headers);
@@ -66,6 +88,14 @@ export const fetchZenCtlGraphQLQuery = async ({ account, adminKey, deploymentTyp
66
88
  let header = {
67
89
  'user-agent': getUserAgent(sdkConfig),
68
90
  };
91
+ // Add Tenant-ID header only for iPaaS/IWHI deployments
92
+ if (account && isIPaaSDeployment(sdkConfig.zenctlApiUrl)) {
93
+ header = {
94
+ ...header,
95
+ 'Tenant-ID': account,
96
+ };
97
+ debug('stepzen:sdk:headers')(`Added Tenant-ID header: ${account}`);
98
+ }
69
99
  if (accessToken) {
70
100
  header = {
71
101
  ...header,
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-client.js","sourceRoot":"","sources":["../../src/shared/graphql-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-client.js","sourceRoot":"","sources":["../../src/shared/graphql-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stepzen/sdk",
3
- "version": "0.59.0-experimental.b261bc8",
3
+ "version": "0.60.0-experimental.6325a56",
4
4
  "license": "MIT",
5
5
  "author": "Darren Waddell <darren@stepzen.com>",
6
6
  "homepage": "https://dashboard.ibm.stepzen.com/",
@@ -22,8 +22,8 @@
22
22
  "posttest": "prettier . --check"
23
23
  },
24
24
  "dependencies": {
25
- "@stepzen/fetch": "0.59.0-experimental.b261bc8",
26
- "@stepzen/transpiler": "0.59.0-experimental.b261bc8",
25
+ "@stepzen/fetch": "0.60.0-experimental.6325a56",
26
+ "@stepzen/transpiler": "0.60.0-experimental.6325a56",
27
27
  "archiver": "^7.0.1",
28
28
  "debug": "^4.3.7",
29
29
  "dotenv": "^16.4.7",
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/archiver": "^6.0.2",
41
- "@types/chai": "^4.3.20",
41
+ "@types/chai": "^5.0.0",
42
42
  "@types/debug": "^4.1.12",
43
43
  "@types/fs-extra": "^11.0.4",
44
44
  "@types/glob": "^8.1.0",
@@ -55,12 +55,11 @@
55
55
  "typescript": "^5.7.3"
56
56
  },
57
57
  "overrides": {
58
- "--comment--": "workaround for CVE-2024-21538, CVE-2025-7783 and CVE-2026-4800",
59
58
  "cross-spawn": "^7.0.6",
60
59
  "lodash": "^4.18.0",
61
60
  "minimatch": {
62
61
  "brace-expansion": "^2.0.2"
63
62
  }
64
63
  },
65
- "gitHead": "b261bc8e27055d5312333c606a2cac9dcadc66bc"
64
+ "gitHead": "6325a5659f66ace2821b9ae23f6015ac95ac370a"
66
65
  }
@@ -8,6 +8,29 @@ import type {ObjMap} from 'graphql/jsutils/ObjMap.js'
8
8
  import {SDKConfigurationV2} from './types.js'
9
9
  import {getUserAgent} from './request.js'
10
10
 
11
+ // iPaaS/IWHI domain patterns
12
+ const IPAAS_DOMAINS = [
13
+ 'ipaas.ibmappdomain.cloud',
14
+ 'ipaas.test.ibmappdomain.cloud',
15
+ 'ipaas.preprod.ibmappdomain.cloud',
16
+ 'ipaas.dev.ibmappdomain.cloud',
17
+ ]
18
+
19
+ /**
20
+ * Checks if the given URL is an iPaaS/IWHI deployment
21
+ * @param url - The ZenCtl API URL to check
22
+ * @returns true if the URL is an iPaaS deployment, false otherwise
23
+ */
24
+ const isIPaaSDeployment = (url: string): boolean => {
25
+ try {
26
+ const parsedUrl = new URL(url)
27
+ const host = parsedUrl.hostname
28
+ return IPAAS_DOMAINS.some(domain => host.includes(domain))
29
+ } catch {
30
+ return false
31
+ }
32
+ }
33
+
11
34
  // The StepZen's ZenCtl GraphQL API offers stronger guarantees than defined in
12
35
  // the GraphQL standard:
13
36
  export type GraphQLResponse<TData = Record<string, any>> =
@@ -127,6 +150,16 @@ export const fetchZenCtlGraphQLQuery = async <T = Record<string, any>>({
127
150
  let header: HeadersInit = {
128
151
  'user-agent': getUserAgent(sdkConfig),
129
152
  }
153
+
154
+ // Add Tenant-ID header only for iPaaS/IWHI deployments
155
+ if (account && isIPaaSDeployment(sdkConfig.zenctlApiUrl)) {
156
+ header = {
157
+ ...header,
158
+ 'Tenant-ID': account,
159
+ }
160
+ debug('stepzen:sdk:headers')(`Added Tenant-ID header: ${account}`)
161
+ }
162
+
130
163
  if (accessToken) {
131
164
  header = {
132
165
  ...header,