@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;
|
|
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":"AAAA,iCAAiC;AAEjC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,MAAM,gBAAgB,CAAA;AAKlC,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAA;
|
|
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.
|
|
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.
|
|
26
|
-
"@stepzen/transpiler": "0.
|
|
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": "^
|
|
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": "
|
|
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,
|