@stepzen/sdk 0.50.0 → 0.51.0-beta.0
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/lib/client-v2.d.ts +20 -9
- package/lib/client-v2.d.ts.map +1 -1
- package/lib/client-v2.js +36 -1
- package/lib/client-v2.js.map +1 -1
- package/lib/commands-v2/account.d.ts +3 -3
- package/lib/commands-v2/account.d.ts.map +1 -1
- package/lib/commands-v2/delete.d.ts +4 -3
- package/lib/commands-v2/delete.d.ts.map +1 -1
- package/lib/commands-v2/delete.js +3 -2
- package/lib/commands-v2/delete.js.map +1 -1
- package/lib/commands-v2/deploy.d.ts +4 -3
- package/lib/commands-v2/deploy.d.ts.map +1 -1
- package/lib/commands-v2/deploy.js +4 -3
- package/lib/commands-v2/deploy.js.map +1 -1
- package/lib/commands-v2/fetch-account.d.ts +18 -0
- package/lib/commands-v2/fetch-account.d.ts.map +1 -0
- package/lib/commands-v2/fetch-account.js +33 -0
- package/lib/commands-v2/fetch-account.js.map +1 -0
- package/lib/commands-v2/list.d.ts +4 -3
- package/lib/commands-v2/list.d.ts.map +1 -1
- package/lib/commands-v2/list.js +4 -3
- package/lib/commands-v2/list.js.map +1 -1
- package/lib/init-v2.d.ts +15 -4
- package/lib/init-v2.d.ts.map +1 -1
- package/lib/init-v2.js +1 -1
- package/lib/init-v2.js.map +1 -1
- package/lib/shared/graphql-client.d.ts +5 -4
- package/lib/shared/graphql-client.d.ts.map +1 -1
- package/lib/shared/graphql-client.js +18 -6
- package/lib/shared/graphql-client.js.map +1 -1
- package/lib/shared/types.d.ts +12 -7
- package/lib/shared/types.d.ts.map +1 -1
- package/lib/shared/validation.d.ts +6 -0
- package/lib/shared/validation.d.ts.map +1 -1
- package/lib/shared/validation.js +42 -0
- package/lib/shared/validation.js.map +1 -1
- package/package.json +5 -4
- package/src/client-v2.ts +50 -4
- package/src/commands-v2/account.ts +3 -3
- package/src/commands-v2/delete.ts +6 -3
- package/src/commands-v2/deploy.ts +7 -4
- package/src/commands-v2/fetch-account.ts +59 -0
- package/src/commands-v2/list.ts +7 -4
- package/src/init-v2.ts +8 -5
- package/src/shared/graphql-client.ts +25 -10
- package/src/shared/types.ts +12 -7
- package/src/shared/validation.ts +48 -0
package/lib/client-v2.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { SDKConfigurationV2 } from './shared/types.js';
|
|
1
|
+
import { SDKConfigurationV2, StepZenAccountV2 } from './shared/types.js';
|
|
2
2
|
export declare const ensureValidCredentials: (auth: {
|
|
3
|
-
account
|
|
4
|
-
adminKey
|
|
5
|
-
deploymentType
|
|
6
|
-
}, sdkConfig: SDKConfigurationV2) => Promise<
|
|
3
|
+
account?: string;
|
|
4
|
+
adminKey?: string;
|
|
5
|
+
deploymentType?: string;
|
|
6
|
+
}, sdkConfig: SDKConfigurationV2) => Promise<StepZenAccountV2>;
|
|
7
7
|
export declare const createSdkClient: (auth: {
|
|
8
|
-
account
|
|
9
|
-
adminKey
|
|
10
|
-
deploymentType
|
|
8
|
+
account?: string;
|
|
9
|
+
adminKey?: string;
|
|
10
|
+
deploymentType?: string;
|
|
11
|
+
accessToken?: string;
|
|
11
12
|
}, sdkConfig: SDKConfigurationV2) => Promise<{
|
|
12
|
-
readonly credentials:
|
|
13
|
+
readonly credentials: StepZenAccountV2;
|
|
13
14
|
/**
|
|
14
15
|
* Delete a GraphQL endpoint at StepZen.
|
|
15
16
|
*
|
|
@@ -51,5 +52,15 @@ export declare const createSdkClient: (auth: {
|
|
|
51
52
|
name?: string | undefined;
|
|
52
53
|
}) => Promise<import("./shared/types.js").ZenCtlResponseV2<import("./shared/types.js").StepZenEndpointV2[]>>;
|
|
53
54
|
};
|
|
55
|
+
fetchAccountDetails: (fetchAdminKey?: boolean, fetachApiKey?: boolean) => Promise<{
|
|
56
|
+
errors: {
|
|
57
|
+
message: string;
|
|
58
|
+
}[] | undefined;
|
|
59
|
+
data: {
|
|
60
|
+
account: string;
|
|
61
|
+
adminkey?: string | undefined;
|
|
62
|
+
apikeysAsJsonArray?: string | undefined;
|
|
63
|
+
} | undefined;
|
|
64
|
+
}>;
|
|
54
65
|
}>;
|
|
55
66
|
//# sourceMappingURL=client-v2.d.ts.map
|
package/lib/client-v2.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-v2.d.ts","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client-v2.d.ts","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,kBAAkB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAA;AAGtE,eAAO,MAAM,sBAAsB,SAC3B;IACJ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,aACU,kBAAkB,8BAmB9B,CAAA;AAED,eAAO,MAAM,eAAe,SACpB;IACJ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,aACU,kBAAkB;;IA8B3B;;;;;;OAMG;;gBACqC,MAAM;cAAQ,MAAM;;IAW5D;;;;;;;;;;;OAWG;;gBAQO,MAAM;cACR,MAAM;mBACD,MAAM;;;;;QAmBjB;;;;WAIG;;;;;;0CAiBa,OAAO,iBACR,OAAO;;;;;;;;;;EAU3B,CAAA"}
|
package/lib/client-v2.js
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
import accountCmd from './commands-v2/account.js';
|
|
3
3
|
import deleteCmd from './commands-v2/delete.js';
|
|
4
4
|
import deployCmd from './commands-v2/deploy.js';
|
|
5
|
+
import fetchAccountDetailCmd from './commands-v2/fetch-account.js';
|
|
5
6
|
import listEndpointsCmd from './commands-v2/list.js';
|
|
6
7
|
import { generateConfigurationPayload, generateSchemaFilesPayload, } from './shared/payloads.js';
|
|
8
|
+
import { isValidJWT, parseJwt } from './shared/validation.js';
|
|
7
9
|
export const ensureValidCredentials = async (auth, sdkConfig) => {
|
|
8
10
|
let credentials;
|
|
9
11
|
// use the provided account to initialize an SDK client instance
|
|
@@ -20,7 +22,29 @@ export const ensureValidCredentials = async (auth, sdkConfig) => {
|
|
|
20
22
|
return credentials;
|
|
21
23
|
};
|
|
22
24
|
export const createSdkClient = async (auth, sdkConfig) => {
|
|
23
|
-
|
|
25
|
+
let credentials;
|
|
26
|
+
if (auth?.accessToken) {
|
|
27
|
+
const token = auth.accessToken;
|
|
28
|
+
const isValid = await isValidJWT(token);
|
|
29
|
+
if (isValid) {
|
|
30
|
+
const parsedJWT = await parseJwt(token);
|
|
31
|
+
credentials = {
|
|
32
|
+
instanceId: parsedJWT.instanceId,
|
|
33
|
+
ownerEmail: parsedJWT.email,
|
|
34
|
+
accessToken: token,
|
|
35
|
+
deploymentType: auth.deploymentType,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
throw new Error('JWT token is expired. Please login again.');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else if (auth.adminKey) {
|
|
43
|
+
credentials = await ensureValidCredentials(auth, sdkConfig);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
throw new Error('adminKey or accesstoken should be provided!');
|
|
47
|
+
}
|
|
24
48
|
return {
|
|
25
49
|
get credentials() {
|
|
26
50
|
// always return a copy to avoid accidential modification by the caller
|
|
@@ -37,6 +61,7 @@ export const createSdkClient = async (auth, sdkConfig) => {
|
|
|
37
61
|
return deleteCmd({
|
|
38
62
|
account: credentials.account,
|
|
39
63
|
adminKey: credentials.adminKey,
|
|
64
|
+
accessToken: credentials.accessToken,
|
|
40
65
|
deploymentType: credentials.deploymentType,
|
|
41
66
|
folder: folder,
|
|
42
67
|
name: name,
|
|
@@ -59,6 +84,7 @@ export const createSdkClient = async (auth, sdkConfig) => {
|
|
|
59
84
|
return deployCmd({
|
|
60
85
|
account: credentials.account,
|
|
61
86
|
adminKey: credentials.adminKey,
|
|
87
|
+
accessToken: credentials.accessToken,
|
|
62
88
|
deploymentType: credentials.deploymentType,
|
|
63
89
|
endpointName: name,
|
|
64
90
|
endpointType: 'dev',
|
|
@@ -79,6 +105,7 @@ export const createSdkClient = async (auth, sdkConfig) => {
|
|
|
79
105
|
return listEndpointsCmd({
|
|
80
106
|
account: credentials.account,
|
|
81
107
|
adminKey: credentials.adminKey,
|
|
108
|
+
accessToken: credentials.accessToken,
|
|
82
109
|
deploymentType: credentials.deploymentType,
|
|
83
110
|
sdkConfig,
|
|
84
111
|
folder,
|
|
@@ -86,6 +113,14 @@ export const createSdkClient = async (auth, sdkConfig) => {
|
|
|
86
113
|
});
|
|
87
114
|
},
|
|
88
115
|
},
|
|
116
|
+
fetchAccountDetails: async (fetchAdminKey, fetachApiKey) => {
|
|
117
|
+
return fetchAccountDetailCmd({
|
|
118
|
+
accessToken: credentials.accessToken,
|
|
119
|
+
sdkConfig,
|
|
120
|
+
fetchAdminKey: fetchAdminKey || false,
|
|
121
|
+
fetachApiKey: fetachApiKey || false,
|
|
122
|
+
});
|
|
123
|
+
},
|
|
89
124
|
};
|
|
90
125
|
};
|
|
91
126
|
//# sourceMappingURL=client-v2.js.map
|
package/lib/client-v2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-v2.js","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,UAAU,MAAM,0BAA0B,CAAA;AACjD,OAAO,SAAS,MAAM,yBAAyB,CAAA;AAC/C,OAAO,SAAS,MAAM,yBAAyB,CAAA;AAC/C,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AACpD,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"client-v2.js","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { SDKConfigurationV2, StepZenAccountV2, ZenCtlResponseV2 } from '../shared/types.js';
|
|
2
2
|
declare const _default: ({ account, adminKey, deploymentType, sdkConfig, }: {
|
|
3
|
-
account
|
|
4
|
-
adminKey
|
|
5
|
-
deploymentType
|
|
3
|
+
account?: string | undefined;
|
|
4
|
+
adminKey?: string | undefined;
|
|
5
|
+
deploymentType?: string | undefined;
|
|
6
6
|
sdkConfig: SDKConfigurationV2;
|
|
7
7
|
}) => Promise<ZenCtlResponseV2<StepZenAccountV2>>;
|
|
8
8
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/commands-v2/account.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,oBAAoB,CAAA
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/commands-v2/account.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,oBAAoB,CAAA;;;;;eAYd,kBAAkB;MAC3B,QAAQ,iBAAiB,gBAAgB,CAAC,CAAC;AAV/C,wBAwFC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { SDKConfigurationV2, StepZenDeleteV2, ZenCtlResponseV2 } from '../shared/types.js';
|
|
2
|
-
declare const _default: ({ account, adminKey, deploymentType, folder, name, sdkConfig, }: {
|
|
3
|
-
account
|
|
4
|
-
adminKey
|
|
2
|
+
declare const _default: ({ account, adminKey, accessToken, deploymentType, folder, name, sdkConfig, }: {
|
|
3
|
+
account?: string | undefined;
|
|
4
|
+
adminKey?: string | undefined;
|
|
5
|
+
accessToken?: string | undefined;
|
|
5
6
|
deploymentType: string;
|
|
6
7
|
folder: string;
|
|
7
8
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands-v2/delete.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EACjB,MAAM,oBAAoB,CAAA
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands-v2/delete.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EACjB,MAAM,oBAAoB,CAAA;;;;;oBAeT,MAAM;YACd,MAAM;UACR,MAAM;eACD,kBAAkB;MAC3B,QAAQ,iBAAiB,eAAe,EAAE,CAAC,CAAC;AAhBhD,wBAoFC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
// Copyright IBM Corp. 2020, 2025
|
|
2
2
|
import debug from 'debug';
|
|
3
3
|
import { fetchZenCtlGraphQLQuery } from '../shared/graphql-client.js';
|
|
4
|
-
export default async ({ account, adminKey, deploymentType, folder, name, sdkConfig, }) => {
|
|
4
|
+
export default async ({ account, adminKey, accessToken, deploymentType, folder, name, sdkConfig, }) => {
|
|
5
5
|
const { data, errors } = await fetchZenCtlGraphQLQuery({
|
|
6
6
|
account,
|
|
7
7
|
adminKey,
|
|
8
|
+
accessToken,
|
|
8
9
|
deploymentType,
|
|
9
|
-
query: `mutation DeleteEndpoint($a: String
|
|
10
|
+
query: `mutation DeleteEndpoint($a: String, $dt: String!, $f: String!, $e: String!, $ak: String) {
|
|
10
11
|
removeEndpoint(
|
|
11
12
|
account: $a
|
|
12
13
|
deploymentType: $dt
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands-v2/delete.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAA;AAEnE,eAAe,KAAK,EAAE,EACpB,OAAO,EACP,QAAQ,EACR,cAAc,EACd,MAAM,EACN,IAAI,EACJ,SAAS,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands-v2/delete.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAA;AAEnE,eAAe,KAAK,EAAE,EACpB,OAAO,EACP,QAAQ,EACR,WAAW,EACX,cAAc,EACd,MAAM,EACN,IAAI,EACJ,SAAS,GASV,EAAgD,EAAE;IACjD,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,MAAM,uBAAuB,CAOjD;QACD,OAAO;QACP,QAAQ;QACR,WAAW;QACX,cAAc;QACd,KAAK,EAAE;;;;;;;;;;;;;QAaH;QACJ,SAAS,EAAE;YACT,CAAC,EAAE,OAAO;YACV,EAAE,EAAE,cAAc;YAClB,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,IAAI;YACP,EAAE,EAAE,QAAQ;SACb;QACD,SAAS;KACV,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,gBAAgB,CAAC,CAAC,oCAAoC,GAAG,MAAM,CAAC,CAAA;QACtE,+DAA+D;QAC/D,MAAM,OAAO,GAAG,MAAM;aACnB,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE;YACjB,IACE,OAAO,CAAC,UAAU,CAChB,4DAA4D,CAC7D,EACD,CAAC;gBACD,OAAO,CACL,4BAA4B,cAAc,GAAG;oBAC7C,+CAA+C,CAChD,CAAA;YACH,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE;gBACL,OAAO;aACR;SACF,CAAA;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,cAAc;QACzB,KAAK,EAAE,SAAS;KACjB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Configuration, SchemaFiles, SDKConfigurationV2, StepZenEndpointV2, ZenCtlResponseV2 } from '../shared/types.js';
|
|
2
|
-
declare const _default: ({ account, deploymentType, folderName, endpointName, public: _public, endpointType, schemaFiles, configuration, adminKey, sdkConfig, }: {
|
|
3
|
-
account
|
|
2
|
+
declare const _default: ({ account, deploymentType, folderName, endpointName, public: _public, endpointType, schemaFiles, configuration, adminKey, accessToken, sdkConfig, }: {
|
|
3
|
+
account?: string | undefined;
|
|
4
4
|
deploymentType: string;
|
|
5
5
|
folderName: string;
|
|
6
6
|
endpointName: string;
|
|
@@ -8,7 +8,8 @@ declare const _default: ({ account, deploymentType, folderName, endpointName, pu
|
|
|
8
8
|
endpointType: string;
|
|
9
9
|
schemaFiles: Readonly<SchemaFiles>;
|
|
10
10
|
configuration: Readonly<Configuration> | null;
|
|
11
|
-
adminKey
|
|
11
|
+
adminKey?: string | undefined;
|
|
12
|
+
accessToken?: string | undefined;
|
|
12
13
|
sdkConfig: SDKConfigurationV2;
|
|
13
14
|
}) => Promise<ZenCtlResponseV2<StepZenEndpointV2>>;
|
|
14
15
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands-v2/deploy.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,oBAAoB,CAAA
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands-v2/deploy.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,oBAAoB,CAAA;;;oBAiBT,MAAM;gBACV,MAAM;kBACJ,MAAM;YACZ,OAAO;kBACD,MAAM;iBACP,SAAS,WAAW,CAAC;mBACnB,SAAS,aAAa,CAAC,GAAG,IAAI;;;eAGlC,kBAAkB;MAC3B,QAAQ,iBAAiB,iBAAiB,CAAC,CAAC;AAxBhD,wBAuJC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
// Copyright IBM Corp. 2020, 2025
|
|
2
2
|
import { fetchZenCtlGraphQLQuery } from '../shared/graphql-client.js';
|
|
3
|
-
export default async ({ account, deploymentType, folderName, endpointName, public: _public, endpointType, schemaFiles, configuration, adminKey, sdkConfig, }) => {
|
|
3
|
+
export default async ({ account, deploymentType, folderName, endpointName, public: _public, endpointType, schemaFiles, configuration, adminKey, accessToken, sdkConfig, }) => {
|
|
4
4
|
const { data, errors } = await fetchZenCtlGraphQLQuery({
|
|
5
5
|
account,
|
|
6
6
|
adminKey,
|
|
7
7
|
deploymentType,
|
|
8
|
+
accessToken,
|
|
8
9
|
query: /* GraphQL */ `
|
|
9
10
|
mutation CreateEndpoint(
|
|
10
|
-
$account: String
|
|
11
|
+
$account: String
|
|
11
12
|
$deploymentType: String!
|
|
12
13
|
$folderName: String!
|
|
13
14
|
$endpointName: String!
|
|
@@ -15,7 +16,7 @@ export default async ({ account, deploymentType, folderName, endpointName, publi
|
|
|
15
16
|
$endpointType: String!
|
|
16
17
|
$schemaFiles: SchemaFilesInput!
|
|
17
18
|
$configuration: Configuration
|
|
18
|
-
$adminKey: String
|
|
19
|
+
$adminKey: String
|
|
19
20
|
) {
|
|
20
21
|
endpoints: addEndpoint(
|
|
21
22
|
account: $account
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands-v2/deploy.ts"],"names":[],"mappings":"AAAA,iCAAiC;AASjC,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAA;AAEnE,eAAe,KAAK,EAAE,EACpB,OAAO,EACP,cAAc,EACd,UAAU,EACV,YAAY,EACZ,MAAM,EAAE,OAAO,EACf,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands-v2/deploy.ts"],"names":[],"mappings":"AAAA,iCAAiC;AASjC,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAA;AAEnE,eAAe,KAAK,EAAE,EACpB,OAAO,EACP,cAAc,EACd,UAAU,EACV,YAAY,EACZ,MAAM,EAAE,OAAO,EACf,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,EACR,WAAW,EACX,SAAS,GAaV,EAAgD,EAAE;IACjD,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,MAAM,uBAAuB,CAWjD;QACD,OAAO;QACP,QAAQ;QACR,cAAc;QACd,WAAW;QACX,KAAK,EAAE,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCpB;QACD,SAAS,EAAE;YACT,OAAO;YACP,cAAc;YACd,UAAU;YACV,YAAY;YACZ,MAAM,EAAE,OAAO;YACf,YAAY;YACZ,WAAW;YACX,aAAa;YACb,QAAQ;SACT;QACD,SAAS;KACV,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,+DAA+D;QAC/D,MAAM,OAAO,GAAG,MAAM;aACnB,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE;YACjB,IACE,OAAO,CAAC,UAAU,CAChB,4DAA4D,CAC7D,EACD,CAAC;gBACD,OAAO,CACL,4BAA4B,cAAc,GAAG;oBAC7C,+CAA+C,CAChD,CAAA;YACH,CAAC;YAED,IACE,OAAO,CAAC,UAAU,CAChB,0DAA0D,CAC3D,EACD,CAAC;gBACD,OAAO,CACL,0BAA0B,YAAY,GAAG;oBACzC,6CAA6C,CAC9C,CAAA;YACH,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE;gBACL,OAAO;aACR;SACF,CAAA;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE;gBACL,OAAO,EAAE,qBAAqB;aAC/B;SACF,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAsB;QAClC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;QAClC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc;QAChD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU;QACxC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY;QAC5C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM;QAChC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY;QAC5C,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChD,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACjD,CAAA;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,SAAS;KACjB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SDKConfigurationV2 } from '../shared/types.js';
|
|
2
|
+
declare const _default: ({ accessToken, sdkConfig, fetchAdminKey, fetachApiKey, }: {
|
|
3
|
+
accessToken: string;
|
|
4
|
+
sdkConfig: SDKConfigurationV2;
|
|
5
|
+
fetchAdminKey: boolean;
|
|
6
|
+
fetachApiKey: boolean;
|
|
7
|
+
}) => Promise<{
|
|
8
|
+
errors: {
|
|
9
|
+
message: string;
|
|
10
|
+
}[] | undefined;
|
|
11
|
+
data: {
|
|
12
|
+
account: string;
|
|
13
|
+
adminkey?: string;
|
|
14
|
+
apikeysAsJsonArray?: string;
|
|
15
|
+
} | undefined;
|
|
16
|
+
}>;
|
|
17
|
+
export default _default;
|
|
18
|
+
//# sourceMappingURL=fetch-account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-account.d.ts","sourceRoot":"","sources":["../../src/commands-v2/fetch-account.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAA;;iBAStC,MAAM;eACR,kBAAkB;mBACd,OAAO;kBACR,OAAO;;YAEb;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,EAAE,GAAG,SAAS;UAEnC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAC,GACjE,SAAS;;AAdf,wBAqDC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Copyright IBM Corp. 2020, 2025
|
|
2
|
+
import { fetchZenCtlGraphQLQuery } from '../shared/graphql-client.js';
|
|
3
|
+
export default async ({ accessToken, sdkConfig, fetchAdminKey = false, fetachApiKey = false, }) => {
|
|
4
|
+
const fields = ['account: account_name'];
|
|
5
|
+
if (fetchAdminKey) {
|
|
6
|
+
fields.push('adminkey: key_value_admin');
|
|
7
|
+
}
|
|
8
|
+
if (fetachApiKey) {
|
|
9
|
+
fields.push('apikeysAsJsonArray: key_value_apikeys');
|
|
10
|
+
}
|
|
11
|
+
const query = `query RecoverAccountForToken {
|
|
12
|
+
recoverAccount {
|
|
13
|
+
${fields.join(' ')}
|
|
14
|
+
}
|
|
15
|
+
}`;
|
|
16
|
+
const { data, errors } = await fetchZenCtlGraphQLQuery({
|
|
17
|
+
accessToken,
|
|
18
|
+
query,
|
|
19
|
+
sdkConfig,
|
|
20
|
+
});
|
|
21
|
+
if (errors) {
|
|
22
|
+
const message = errors.map(({ message }) => message).join('\n');
|
|
23
|
+
return {
|
|
24
|
+
data: undefined,
|
|
25
|
+
errors: [{ message }],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
errors,
|
|
30
|
+
data: data?.recoverAccount,
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=fetch-account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-account.js","sourceRoot":"","sources":["../../src/commands-v2/fetch-account.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAGjC,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAA;AAEnE,eAAe,KAAK,EAAE,EACpB,WAAW,EACX,SAAS,EACT,aAAa,GAAG,KAAK,EACrB,YAAY,GAAG,KAAK,GAMrB,EAKE,EAAE;IACH,MAAM,MAAM,GAAG,CAAC,uBAAuB,CAAC,CAAA;IACxC,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,KAAK,GAAG;;QAER,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;;IAEpB,CAAA;IAEF,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,MAAM,uBAAuB,CAMjD;QACD,WAAW;QACX,KAAK;QACL,SAAS;KACV,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7D,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,CAAC,EAAC,OAAO,EAAC,CAAC;SACpB,CAAA;IACH,CAAC;IACD,OAAO;QACL,MAAM;QACN,IAAI,EAAE,IAAI,EAAE,cAAc;KAC3B,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { SDKConfigurationV2, ZenCtlResponseV2, StepZenEndpointV2 } from '../shared/types.js';
|
|
2
|
-
declare const _default: ({ account, deploymentType, adminKey, sdkConfig, folder, name, }: {
|
|
3
|
-
account
|
|
2
|
+
declare const _default: ({ account, deploymentType, adminKey, accessToken, sdkConfig, folder, name, }: {
|
|
3
|
+
account?: string | undefined;
|
|
4
4
|
deploymentType: string;
|
|
5
|
-
adminKey
|
|
5
|
+
adminKey?: string | undefined;
|
|
6
|
+
accessToken?: string | undefined;
|
|
6
7
|
folder?: string | undefined;
|
|
7
8
|
name?: string | undefined;
|
|
8
9
|
sdkConfig: SDKConfigurationV2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands-v2/list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,oBAAoB,CAAA
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands-v2/list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;;;oBAaT,MAAM;;;;;eAKX,kBAAkB;MAC3B,QAAQ,iBAAiB,iBAAiB,EAAE,CAAC,CAAC;AAhBlD,wBAsIC"}
|
package/lib/commands-v2/list.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright IBM Corp. 2020, 2025
|
|
2
2
|
import { fetchZenCtlGraphQLQuery } from '../shared/graphql-client.js';
|
|
3
|
-
export default async ({ account, deploymentType, adminKey, sdkConfig, folder, name, }) => {
|
|
3
|
+
export default async ({ account, deploymentType, adminKey, accessToken, sdkConfig, folder, name, }) => {
|
|
4
4
|
const filter = {};
|
|
5
5
|
if (folder && folder !== '') {
|
|
6
6
|
if (folder.startsWith('!')) {
|
|
@@ -22,11 +22,12 @@ export default async ({ account, deploymentType, adminKey, sdkConfig, folder, na
|
|
|
22
22
|
account,
|
|
23
23
|
adminKey,
|
|
24
24
|
deploymentType,
|
|
25
|
+
accessToken,
|
|
25
26
|
query: /* GraphQL */ `
|
|
26
27
|
query ListEndpoints(
|
|
27
|
-
$account: String
|
|
28
|
+
$account: String
|
|
28
29
|
$deploymentType: String!
|
|
29
|
-
$adminKey: String
|
|
30
|
+
$adminKey: String
|
|
30
31
|
$filter: EndpointFilter
|
|
31
32
|
) {
|
|
32
33
|
endpoints: endpointsForAccount(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands-v2/list.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAOjC,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAA;AAEnE,eAAe,KAAK,EAAE,EACpB,OAAO,EACP,cAAc,EACd,QAAQ,EACR,SAAS,EACT,MAAM,EACN,IAAI,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands-v2/list.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAOjC,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAA;AAEnE,eAAe,KAAK,EAAE,EACpB,OAAO,EACP,cAAc,EACd,QAAQ,EACR,WAAW,EACX,SAAS,EACT,MAAM,EACN,IAAI,GASL,EAAkD,EAAE;IACnD,MAAM,MAAM,GAGR,EAAE,CAAA;IAEN,IAAI,MAAM,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,WAAW,GAAG,EAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,WAAW,GAAG,EAAC,EAAE,EAAE,MAAM,EAAC,CAAA;QACnC,CAAC;IACH,CAAC;IACD,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,aAAa,GAAG,EAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,aAAa,GAAG,EAAC,EAAE,EAAE,IAAI,EAAC,CAAA;QACnC,CAAC;IACH,CAAC;IACD,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,MAAM,uBAAuB,CAWjD;QACD,OAAO;QACP,QAAQ;QACR,cAAc;QACd,WAAW;QACX,KAAK,EAAE,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;KAuBpB;QACD,SAAS,EAAE;YACT,OAAO;YACP,cAAc;YACd,QAAQ;YACR,MAAM;SACP;QACD,SAAS;KACV,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,+DAA+D;QAC/D,MAAM,OAAO,GAAG,MAAM;aACnB,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE;YACjB,IACE,OAAO,CAAC,UAAU,CAChB,4DAA4D,CAC7D,EACD,CAAC;gBACD,OAAO,CACL,4BAA4B,cAAc,GAAG;oBAC7C,+CAA+C,CAChD,CAAA;YACH,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE;gBACL,OAAO;aACR;SACF,CAAA;IACH,CAAC;IAED,oDAAoD;IACpD,oEAAoE;IACpE,mEAAmE;IACnE,kEAAkE;IAClE,mCAAmC;IACnC,gDAAgD;IAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAoB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;KACxC,CAAC,CAAC,CAAA;IAEH,OAAO;QACL,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACjB,CAAA;AACH,CAAC,CAAA"}
|
package/lib/init-v2.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { SDKConfigurationV2 } from './shared/types.js';
|
|
2
2
|
export declare const initV2: (sdkConfig: SDKConfigurationV2) => {
|
|
3
3
|
verify: (account: string, adminkey: string, deploymentType: string) => Promise<boolean>;
|
|
4
|
-
client: (auth
|
|
5
|
-
account
|
|
6
|
-
adminKey
|
|
7
|
-
deploymentType
|
|
4
|
+
client: (auth?: {
|
|
5
|
+
account?: string;
|
|
6
|
+
adminKey?: string;
|
|
7
|
+
deploymentType?: string;
|
|
8
|
+
accessToken?: string;
|
|
8
9
|
}) => Promise<{
|
|
9
10
|
readonly credentials: import("./shared/types.js").StepZenAccountV2;
|
|
10
11
|
delete: ({ folder, name }: {
|
|
@@ -24,6 +25,16 @@ export declare const initV2: (sdkConfig: SDKConfigurationV2) => {
|
|
|
24
25
|
name?: string | undefined;
|
|
25
26
|
}) => Promise<import("./shared/types.js").ZenCtlResponseV2<import("./shared/types.js").StepZenEndpointV2[]>>;
|
|
26
27
|
};
|
|
28
|
+
fetchAccountDetails: (fetchAdminKey?: boolean | undefined, fetachApiKey?: boolean | undefined) => Promise<{
|
|
29
|
+
errors: {
|
|
30
|
+
message: string;
|
|
31
|
+
}[] | undefined;
|
|
32
|
+
data: {
|
|
33
|
+
account: string;
|
|
34
|
+
adminkey?: string | undefined;
|
|
35
|
+
apikeysAsJsonArray?: string | undefined;
|
|
36
|
+
} | undefined;
|
|
37
|
+
}>;
|
|
27
38
|
}>;
|
|
28
39
|
readonly userAgent: string;
|
|
29
40
|
};
|
package/lib/init-v2.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-v2.d.ts","sourceRoot":"","sources":["../src/init-v2.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAA;AAEpD,eAAO,MAAM,MAAM,cAAe,kBAAkB;sBAGrC,MAAM,YACL,MAAM,kBACA,MAAM;
|
|
1
|
+
{"version":3,"file":"init-v2.d.ts","sourceRoot":"","sources":["../src/init-v2.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAA;AAEpD,eAAO,MAAM,MAAM,cAAe,kBAAkB;sBAGrC,MAAM,YACL,MAAM,kBACA,MAAM;oBAehB;QACJ,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQN,CAAA;AAGD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEzD,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;AAC7C,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA"}
|
package/lib/init-v2.js
CHANGED
package/lib/init-v2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-v2.js","sourceRoot":"","sources":["../src/init-v2.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,cAAc,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAA;AAGhD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,SAA6B,EAAE,EAAE;IACtD,OAAO;QACL,MAAM,EAAE,KAAK,EACX,OAAe,EACf,QAAgB,EAChB,cAAsB,EACtB,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,cAAc,CAAC;oBAClC,OAAO;oBACP,QAAQ,EAAE,QAAQ;oBAClB,cAAc;oBACd,SAAS;iBACV,CAAC,CAAA;gBACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QACD,MAAM,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"init-v2.js","sourceRoot":"","sources":["../src/init-v2.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,cAAc,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAA;AAGhD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,SAA6B,EAAE,EAAE;IACtD,OAAO;QACL,MAAM,EAAE,KAAK,EACX,OAAe,EACf,QAAgB,EAChB,cAAsB,EACtB,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,cAAc,CAAC;oBAClC,OAAO;oBACP,QAAQ,EAAE,QAAQ;oBAClB,cAAc;oBACd,SAAS;iBACV,CAAC,CAAA;gBACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QACD,MAAM,EAAE,KAAK,EACX,OAKI,EAAE,EACN,EAAE;YACF,OAAO,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACzC,CAAC;QACD,IAAI,SAAS;YACX,OAAO,YAAY,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;KACF,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -14,10 +14,11 @@ export declare const fetchGraphQLQuery: <T = Record<string, any>>({ url, query,
|
|
|
14
14
|
operationName?: string | undefined;
|
|
15
15
|
headers?: Record<string, any> | undefined;
|
|
16
16
|
}) => Promise<ExecutionResult<T, ObjMap<unknown>>>;
|
|
17
|
-
export declare const fetchZenCtlGraphQLQuery: <T = Record<string, any>>({ account, adminKey, deploymentType, query, variables, sdkConfig, }: {
|
|
18
|
-
account
|
|
19
|
-
adminKey
|
|
20
|
-
|
|
17
|
+
export declare const fetchZenCtlGraphQLQuery: <T = Record<string, any>>({ account, adminKey, deploymentType, accessToken, query, variables, sdkConfig, }: {
|
|
18
|
+
account?: string | undefined;
|
|
19
|
+
adminKey?: string | undefined;
|
|
20
|
+
accessToken?: string | undefined;
|
|
21
|
+
deploymentType?: string | undefined;
|
|
21
22
|
query: string;
|
|
22
23
|
variables?: Record<string, any> | undefined;
|
|
23
24
|
sdkConfig: SDKConfigurationV2;
|
|
@@ -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;SAOvB,GAAG,GAAG,MAAM;WACV,MAAM;;;;
|
|
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;SAOvB,GAAG,GAAG,MAAM;WACV,MAAM;;;;kDAwEd,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;WAa3B,MAAM;;eAEF,kBAAkB;iCAqB9B,CAAA"}
|
|
@@ -27,8 +27,13 @@ export const fetchGraphQLQuery = async ({ url, query, variables = {}, operationN
|
|
|
27
27
|
});
|
|
28
28
|
const endTime = Date.now();
|
|
29
29
|
if (response.status !== 200) {
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
if (response.status === 401 && response.statusText === 'Unauthorized') {
|
|
31
|
+
throw new Error('Action denied: You are not authorized to perform this action');
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
throw new Error(`Unexpected HTTP status ${response.status}` +
|
|
35
|
+
` from the GraphQL endpoint '${url}' (expected 200)`);
|
|
36
|
+
}
|
|
32
37
|
}
|
|
33
38
|
const json = await response.json();
|
|
34
39
|
debug('stepzen:sdk:response')(JSON.stringify(json));
|
|
@@ -56,15 +61,22 @@ export const fetchGraphQLQuery = async ({ url, query, variables = {}, operationN
|
|
|
56
61
|
throw error;
|
|
57
62
|
}
|
|
58
63
|
};
|
|
59
|
-
export const fetchZenCtlGraphQLQuery = async ({ account, adminKey, deploymentType, query, variables = {}, sdkConfig, }) => {
|
|
64
|
+
export const fetchZenCtlGraphQLQuery = async ({ account, adminKey, deploymentType, accessToken, query, variables = {}, sdkConfig, }) => {
|
|
60
65
|
try {
|
|
66
|
+
let header = {
|
|
67
|
+
'user-agent': getUserAgent(sdkConfig),
|
|
68
|
+
};
|
|
69
|
+
if (accessToken) {
|
|
70
|
+
header = {
|
|
71
|
+
...header,
|
|
72
|
+
Authorization: `Bearer ${accessToken}`,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
61
75
|
return (await fetchGraphQLQuery({
|
|
62
76
|
url: sdkConfig.zenctlApiUrl,
|
|
63
77
|
query,
|
|
64
78
|
variables,
|
|
65
|
-
headers:
|
|
66
|
-
'user-agent': getUserAgent(sdkConfig),
|
|
67
|
-
},
|
|
79
|
+
headers: header,
|
|
68
80
|
}));
|
|
69
81
|
}
|
|
70
82
|
catch (error) {
|
|
@@ -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;AAkBzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAA2B,EAC/D,GAAG,EACH,KAAK,EACL,SAAS,GAAG,EAAE,EACd,aAAa,EACb,OAAO,GAAG,EAAE,GAOb,EAAgD,EAAE;IACjD,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAA;IAC7B,KAAK,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAA;IACrC,KAAK,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAA;IACjC,KAAK,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;IACzD,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,CAAC,2BAA2B,CAAC,CAAC,aAAa,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,IAAI,GAAG;QACX,KAAK;QACL,SAAS;QACT,aAAa;KACd,CAAA;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO;aACX;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1B,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,0BAA0B,QAAQ,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"graphql-client.js","sourceRoot":"","sources":["../../src/shared/graphql-client.ts"],"names":[],"mappings":"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"}
|
package/lib/shared/types.d.ts
CHANGED
|
@@ -84,17 +84,22 @@ export interface ZenCtlErrorResponseV2 {
|
|
|
84
84
|
}
|
|
85
85
|
export type ZenCtlResponseV2<T> = ZenCtlSuccessResponseV2<T> | ZenCtlErrorResponseV2;
|
|
86
86
|
export interface StepZenCredentialsV2 {
|
|
87
|
-
account
|
|
88
|
-
adminKey
|
|
89
|
-
apiKeys
|
|
87
|
+
account?: string;
|
|
88
|
+
adminKey?: string;
|
|
89
|
+
apiKeys?: string[];
|
|
90
|
+
accessToken?: string;
|
|
91
|
+
instanceId?: string;
|
|
92
|
+
ownerEmail?: string;
|
|
90
93
|
deploymentType: string;
|
|
91
94
|
}
|
|
92
95
|
export interface StepZenAccountV2 {
|
|
93
|
-
account
|
|
94
|
-
ownerEmail
|
|
95
|
-
adminKey
|
|
96
|
-
apiKeys
|
|
96
|
+
account?: string;
|
|
97
|
+
ownerEmail?: string;
|
|
98
|
+
adminKey?: string;
|
|
99
|
+
apiKeys?: string[];
|
|
97
100
|
deploymentType: string;
|
|
101
|
+
instanceId?: string;
|
|
102
|
+
accessToken?: string;
|
|
98
103
|
}
|
|
99
104
|
export interface StepZenDeleteV2 {
|
|
100
105
|
account_name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,cAAc,EACd,SAAS,GAAG,UAAU,CACvB,GACC,OAAO,CAAC,cAAc,CAAC,CAAA;AAEzB,MAAM,WAAW,aAAa;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,mBAAmB,CAAA;CACtD;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACxC,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B,uBAAuB,CAAC,CAAC,CAAC,GAC1B,qBAAqB,CAAA;AAEzB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
export declare const validateConfigurationset: (file: string | undefined) => Promise<void>;
|
|
2
2
|
export declare const validateSchema: (directory: string | undefined) => Promise<void>;
|
|
3
|
+
export declare const parseJwt: (token: string) => Promise<{
|
|
4
|
+
instanceId?: string;
|
|
5
|
+
email?: string;
|
|
6
|
+
}>;
|
|
7
|
+
/** Validates a JSON Web Token (JWT) by verifying its structure and expiration. */
|
|
8
|
+
export declare const isValidJWT: (token: string) => Promise<boolean>;
|
|
3
9
|
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/shared/validation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/shared/validation.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,wBAAwB,SAAgB,MAAM,GAAG,SAAS,kBA0BtE,CAAA;AAGD,eAAO,MAAM,cAAc,cAAqB,MAAM,GAAG,SAAS,kBAcjE,CAAA;AAGD,eAAO,MAAM,QAAQ,UACZ,MAAM,KACZ,QAAQ;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,CA6B/C,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,UAAU,UAAiB,MAAM,KAAG,QAAQ,OAAO,CAU/D,CAAA"}
|
package/lib/shared/validation.js
CHANGED
|
@@ -3,6 +3,7 @@ import debug from 'debug';
|
|
|
3
3
|
import fs from 'node:fs';
|
|
4
4
|
import glob from 'glob';
|
|
5
5
|
import yaml from 'yaml';
|
|
6
|
+
import { decodeJwt } from 'jose';
|
|
6
7
|
// Validate the Configurationset file
|
|
7
8
|
export const validateConfigurationset = async (file) => {
|
|
8
9
|
if (!file) {
|
|
@@ -39,4 +40,45 @@ export const validateSchema = async (directory) => {
|
|
|
39
40
|
throw new Error('Schemas must include an `index.graphql` file');
|
|
40
41
|
}
|
|
41
42
|
};
|
|
43
|
+
// parse JWT and return instanceId and email
|
|
44
|
+
export const parseJwt = async (token) => {
|
|
45
|
+
try {
|
|
46
|
+
const [, payloadBase64] = token.split('.');
|
|
47
|
+
if (!payloadBase64) {
|
|
48
|
+
throw new Error('Invalid JWT format');
|
|
49
|
+
}
|
|
50
|
+
const payloadJson = Buffer.from(payloadBase64, 'base64').toString('utf-8');
|
|
51
|
+
const payload = JSON.parse(payloadJson);
|
|
52
|
+
const { aud, email } = payload;
|
|
53
|
+
let instanceId;
|
|
54
|
+
if (typeof aud === 'string' && aud.startsWith('SERVICE/')) {
|
|
55
|
+
instanceId = aud.split('/')[1];
|
|
56
|
+
}
|
|
57
|
+
else if (Array.isArray(aud)) {
|
|
58
|
+
const match = aud.find(entry => typeof entry === 'string' && entry.startsWith('SERVICE/'));
|
|
59
|
+
if (match) {
|
|
60
|
+
instanceId = match.split('/')[1];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return { instanceId, email };
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
console.error('Failed to parse JWT token:', error);
|
|
67
|
+
return {};
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
/** Validates a JSON Web Token (JWT) by verifying its structure and expiration. */
|
|
71
|
+
export const isValidJWT = async (token) => {
|
|
72
|
+
try {
|
|
73
|
+
const payload = decodeJwt(token);
|
|
74
|
+
if (!payload.exp)
|
|
75
|
+
return false;
|
|
76
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
77
|
+
return payload.exp > currentTime;
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
console.error('Failed to validate JWT token:', error);
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
42
84
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/shared/validation.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,IAAI,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/shared/validation.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.51.0-beta.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Darren Waddell <darren@stepzen.com>",
|
|
6
6
|
"homepage": "https://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.51.0-beta.0",
|
|
26
|
+
"@stepzen/transpiler": "0.51.0-beta.0",
|
|
27
27
|
"archiver": "^5.3.0",
|
|
28
28
|
"debug": "^4.3.4",
|
|
29
29
|
"dotenv": "^16.0.3",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"glob": "^7.2.3",
|
|
33
33
|
"graphql": "^16.8.1",
|
|
34
34
|
"is-wsl": "^2.2.0",
|
|
35
|
+
"jose": "^6.0.11",
|
|
35
36
|
"yaml": "^2.2.2"
|
|
36
37
|
},
|
|
37
38
|
"devDependencies": {
|
|
@@ -57,5 +58,5 @@
|
|
|
57
58
|
"--comment--": "workaround for CVE-2024-21538",
|
|
58
59
|
"cross-spawn": "^7.0.6"
|
|
59
60
|
},
|
|
60
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "2df22b05b9d938cf85b3f4f59da1863db569b5e8"
|
|
61
62
|
}
|
package/src/client-v2.ts
CHANGED
|
@@ -3,15 +3,21 @@
|
|
|
3
3
|
import accountCmd from './commands-v2/account.js'
|
|
4
4
|
import deleteCmd from './commands-v2/delete.js'
|
|
5
5
|
import deployCmd from './commands-v2/deploy.js'
|
|
6
|
+
import fetchAccountDetailCmd from './commands-v2/fetch-account.js'
|
|
6
7
|
import listEndpointsCmd from './commands-v2/list.js'
|
|
7
8
|
import {
|
|
8
9
|
generateConfigurationPayload,
|
|
9
10
|
generateSchemaFilesPayload,
|
|
10
11
|
} from './shared/payloads.js'
|
|
11
|
-
import {SDKConfigurationV2} from './shared/types.js'
|
|
12
|
+
import {SDKConfigurationV2, StepZenAccountV2} from './shared/types.js'
|
|
13
|
+
import {isValidJWT, parseJwt} from './shared/validation.js'
|
|
12
14
|
|
|
13
15
|
export const ensureValidCredentials = async (
|
|
14
|
-
auth: {
|
|
16
|
+
auth: {
|
|
17
|
+
account?: string
|
|
18
|
+
adminKey?: string
|
|
19
|
+
deploymentType?: string
|
|
20
|
+
},
|
|
15
21
|
sdkConfig: SDKConfigurationV2,
|
|
16
22
|
) => {
|
|
17
23
|
let credentials
|
|
@@ -34,10 +40,36 @@ export const ensureValidCredentials = async (
|
|
|
34
40
|
}
|
|
35
41
|
|
|
36
42
|
export const createSdkClient = async (
|
|
37
|
-
auth: {
|
|
43
|
+
auth: {
|
|
44
|
+
account?: string
|
|
45
|
+
adminKey?: string
|
|
46
|
+
deploymentType?: string
|
|
47
|
+
accessToken?: string
|
|
48
|
+
},
|
|
38
49
|
sdkConfig: SDKConfigurationV2,
|
|
39
50
|
) => {
|
|
40
|
-
|
|
51
|
+
let credentials: StepZenAccountV2
|
|
52
|
+
|
|
53
|
+
if (auth?.accessToken) {
|
|
54
|
+
const token: string = auth.accessToken
|
|
55
|
+
const isValid = await isValidJWT(token)
|
|
56
|
+
if (isValid) {
|
|
57
|
+
const parsedJWT = await parseJwt(token)
|
|
58
|
+
|
|
59
|
+
credentials = {
|
|
60
|
+
instanceId: parsedJWT.instanceId,
|
|
61
|
+
ownerEmail: parsedJWT.email,
|
|
62
|
+
accessToken: token,
|
|
63
|
+
deploymentType: auth.deploymentType!,
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
throw new Error('JWT token is expired. Please login again.')
|
|
67
|
+
}
|
|
68
|
+
} else if (auth.adminKey) {
|
|
69
|
+
credentials = await ensureValidCredentials(auth, sdkConfig)
|
|
70
|
+
} else {
|
|
71
|
+
throw new Error('adminKey or accesstoken should be provided!')
|
|
72
|
+
}
|
|
41
73
|
|
|
42
74
|
return {
|
|
43
75
|
get credentials(): typeof credentials {
|
|
@@ -55,6 +87,7 @@ export const createSdkClient = async (
|
|
|
55
87
|
return deleteCmd({
|
|
56
88
|
account: credentials.account,
|
|
57
89
|
adminKey: credentials.adminKey,
|
|
90
|
+
accessToken: credentials.accessToken,
|
|
58
91
|
deploymentType: credentials.deploymentType,
|
|
59
92
|
folder: folder,
|
|
60
93
|
name: name,
|
|
@@ -89,6 +122,7 @@ export const createSdkClient = async (
|
|
|
89
122
|
return deployCmd({
|
|
90
123
|
account: credentials.account,
|
|
91
124
|
adminKey: credentials.adminKey,
|
|
125
|
+
accessToken: credentials.accessToken,
|
|
92
126
|
deploymentType: credentials.deploymentType,
|
|
93
127
|
endpointName: name,
|
|
94
128
|
endpointType: 'dev',
|
|
@@ -112,6 +146,7 @@ export const createSdkClient = async (
|
|
|
112
146
|
return listEndpointsCmd({
|
|
113
147
|
account: credentials.account,
|
|
114
148
|
adminKey: credentials.adminKey,
|
|
149
|
+
accessToken: credentials.accessToken,
|
|
115
150
|
deploymentType: credentials.deploymentType,
|
|
116
151
|
sdkConfig,
|
|
117
152
|
folder,
|
|
@@ -119,5 +154,16 @@ export const createSdkClient = async (
|
|
|
119
154
|
})
|
|
120
155
|
},
|
|
121
156
|
},
|
|
157
|
+
fetchAccountDetails: async (
|
|
158
|
+
fetchAdminKey?: boolean,
|
|
159
|
+
fetachApiKey?: boolean,
|
|
160
|
+
) => {
|
|
161
|
+
return fetchAccountDetailCmd({
|
|
162
|
+
accessToken: credentials.accessToken!,
|
|
163
|
+
sdkConfig,
|
|
164
|
+
fetchAdminKey: fetchAdminKey || false,
|
|
165
|
+
fetachApiKey: fetachApiKey || false,
|
|
166
|
+
})
|
|
167
|
+
},
|
|
122
168
|
}
|
|
123
169
|
}
|
|
@@ -13,9 +13,9 @@ export default async ({
|
|
|
13
13
|
deploymentType,
|
|
14
14
|
sdkConfig,
|
|
15
15
|
}: {
|
|
16
|
-
account
|
|
17
|
-
adminKey
|
|
18
|
-
deploymentType
|
|
16
|
+
account?: string
|
|
17
|
+
adminKey?: string
|
|
18
|
+
deploymentType?: string
|
|
19
19
|
sdkConfig: SDKConfigurationV2
|
|
20
20
|
}): Promise<ZenCtlResponseV2<StepZenAccountV2>> => {
|
|
21
21
|
const {data, errors} = await fetchZenCtlGraphQLQuery<{
|
|
@@ -11,13 +11,15 @@ import {fetchZenCtlGraphQLQuery} from '../shared/graphql-client.js'
|
|
|
11
11
|
export default async ({
|
|
12
12
|
account,
|
|
13
13
|
adminKey,
|
|
14
|
+
accessToken,
|
|
14
15
|
deploymentType,
|
|
15
16
|
folder,
|
|
16
17
|
name,
|
|
17
18
|
sdkConfig,
|
|
18
19
|
}: {
|
|
19
|
-
account
|
|
20
|
-
adminKey
|
|
20
|
+
account?: string
|
|
21
|
+
adminKey?: string
|
|
22
|
+
accessToken?: string
|
|
21
23
|
deploymentType: string
|
|
22
24
|
folder: string
|
|
23
25
|
name: string
|
|
@@ -33,8 +35,9 @@ export default async ({
|
|
|
33
35
|
}>({
|
|
34
36
|
account,
|
|
35
37
|
adminKey,
|
|
38
|
+
accessToken,
|
|
36
39
|
deploymentType,
|
|
37
|
-
query: `mutation DeleteEndpoint($a: String
|
|
40
|
+
query: `mutation DeleteEndpoint($a: String, $dt: String!, $f: String!, $e: String!, $ak: String) {
|
|
38
41
|
removeEndpoint(
|
|
39
42
|
account: $a
|
|
40
43
|
deploymentType: $dt
|
|
@@ -19,9 +19,10 @@ export default async ({
|
|
|
19
19
|
schemaFiles,
|
|
20
20
|
configuration,
|
|
21
21
|
adminKey,
|
|
22
|
+
accessToken,
|
|
22
23
|
sdkConfig,
|
|
23
24
|
}: {
|
|
24
|
-
account
|
|
25
|
+
account?: string
|
|
25
26
|
deploymentType: string
|
|
26
27
|
folderName: string
|
|
27
28
|
endpointName: string
|
|
@@ -29,7 +30,8 @@ export default async ({
|
|
|
29
30
|
endpointType: string
|
|
30
31
|
schemaFiles: Readonly<SchemaFiles>
|
|
31
32
|
configuration: Readonly<Configuration> | null
|
|
32
|
-
adminKey
|
|
33
|
+
adminKey?: string
|
|
34
|
+
accessToken?: string
|
|
33
35
|
sdkConfig: SDKConfigurationV2
|
|
34
36
|
}): Promise<ZenCtlResponseV2<StepZenEndpointV2>> => {
|
|
35
37
|
const {data, errors} = await fetchZenCtlGraphQLQuery<{
|
|
@@ -47,9 +49,10 @@ export default async ({
|
|
|
47
49
|
account,
|
|
48
50
|
adminKey,
|
|
49
51
|
deploymentType,
|
|
52
|
+
accessToken,
|
|
50
53
|
query: /* GraphQL */ `
|
|
51
54
|
mutation CreateEndpoint(
|
|
52
|
-
$account: String
|
|
55
|
+
$account: String
|
|
53
56
|
$deploymentType: String!
|
|
54
57
|
$folderName: String!
|
|
55
58
|
$endpointName: String!
|
|
@@ -57,7 +60,7 @@ export default async ({
|
|
|
57
60
|
$endpointType: String!
|
|
58
61
|
$schemaFiles: SchemaFilesInput!
|
|
59
62
|
$configuration: Configuration
|
|
60
|
-
$adminKey: String
|
|
63
|
+
$adminKey: String
|
|
61
64
|
) {
|
|
62
65
|
endpoints: addEndpoint(
|
|
63
66
|
account: $account
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// Copyright IBM Corp. 2020, 2025
|
|
2
|
+
|
|
3
|
+
import {SDKConfigurationV2} from '../shared/types.js'
|
|
4
|
+
import {fetchZenCtlGraphQLQuery} from '../shared/graphql-client.js'
|
|
5
|
+
|
|
6
|
+
export default async ({
|
|
7
|
+
accessToken,
|
|
8
|
+
sdkConfig,
|
|
9
|
+
fetchAdminKey = false,
|
|
10
|
+
fetachApiKey = false,
|
|
11
|
+
}: {
|
|
12
|
+
accessToken: string
|
|
13
|
+
sdkConfig: SDKConfigurationV2
|
|
14
|
+
fetchAdminKey: boolean
|
|
15
|
+
fetachApiKey: boolean
|
|
16
|
+
}): Promise<{
|
|
17
|
+
errors: {message: string}[] | undefined
|
|
18
|
+
data:
|
|
19
|
+
| {account: string; adminkey?: string; apikeysAsJsonArray?: string}
|
|
20
|
+
| undefined
|
|
21
|
+
}> => {
|
|
22
|
+
const fields = ['account: account_name']
|
|
23
|
+
if (fetchAdminKey) {
|
|
24
|
+
fields.push('adminkey: key_value_admin')
|
|
25
|
+
}
|
|
26
|
+
if (fetachApiKey) {
|
|
27
|
+
fields.push('apikeysAsJsonArray: key_value_apikeys')
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const query = `query RecoverAccountForToken {
|
|
31
|
+
recoverAccount {
|
|
32
|
+
${fields.join(' ')}
|
|
33
|
+
}
|
|
34
|
+
}`
|
|
35
|
+
|
|
36
|
+
const {data, errors} = await fetchZenCtlGraphQLQuery<{
|
|
37
|
+
recoverAccount: {
|
|
38
|
+
account: string
|
|
39
|
+
adminkey?: string
|
|
40
|
+
apikeysAsJsonArray?: string
|
|
41
|
+
}
|
|
42
|
+
}>({
|
|
43
|
+
accessToken,
|
|
44
|
+
query,
|
|
45
|
+
sdkConfig,
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
if (errors) {
|
|
49
|
+
const message = errors.map(({message}) => message).join('\n')
|
|
50
|
+
return {
|
|
51
|
+
data: undefined,
|
|
52
|
+
errors: [{message}],
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
errors,
|
|
57
|
+
data: data?.recoverAccount,
|
|
58
|
+
}
|
|
59
|
+
}
|
package/src/commands-v2/list.ts
CHANGED
|
@@ -11,13 +11,15 @@ export default async ({
|
|
|
11
11
|
account,
|
|
12
12
|
deploymentType,
|
|
13
13
|
adminKey,
|
|
14
|
+
accessToken,
|
|
14
15
|
sdkConfig,
|
|
15
16
|
folder,
|
|
16
17
|
name,
|
|
17
18
|
}: {
|
|
18
|
-
account
|
|
19
|
+
account?: string
|
|
19
20
|
deploymentType: string
|
|
20
|
-
adminKey
|
|
21
|
+
adminKey?: string
|
|
22
|
+
accessToken?: string
|
|
21
23
|
folder?: string
|
|
22
24
|
name?: string
|
|
23
25
|
sdkConfig: SDKConfigurationV2
|
|
@@ -56,11 +58,12 @@ export default async ({
|
|
|
56
58
|
account,
|
|
57
59
|
adminKey,
|
|
58
60
|
deploymentType,
|
|
61
|
+
accessToken,
|
|
59
62
|
query: /* GraphQL */ `
|
|
60
63
|
query ListEndpoints(
|
|
61
|
-
$account: String
|
|
64
|
+
$account: String
|
|
62
65
|
$deploymentType: String!
|
|
63
|
-
$adminKey: String
|
|
66
|
+
$adminKey: String
|
|
64
67
|
$filter: EndpointFilter
|
|
65
68
|
) {
|
|
66
69
|
endpoints: endpointsForAccount(
|
package/src/init-v2.ts
CHANGED
|
@@ -24,11 +24,14 @@ export const initV2 = (sdkConfig: SDKConfigurationV2) => {
|
|
|
24
24
|
return false
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
|
-
client: async (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
client: async (
|
|
28
|
+
auth: {
|
|
29
|
+
account?: string
|
|
30
|
+
adminKey?: string
|
|
31
|
+
deploymentType?: string
|
|
32
|
+
accessToken?: string
|
|
33
|
+
} = {},
|
|
34
|
+
) => {
|
|
32
35
|
return createSdkClient(auth, sdkConfig)
|
|
33
36
|
},
|
|
34
37
|
get userAgent() {
|
|
@@ -63,10 +63,16 @@ export const fetchGraphQLQuery = async <T = Record<string, any>>({
|
|
|
63
63
|
})
|
|
64
64
|
const endTime = Date.now()
|
|
65
65
|
if (response.status !== 200) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
if (response.status === 401 && response.statusText === 'Unauthorized') {
|
|
67
|
+
throw new Error(
|
|
68
|
+
'Action denied: You are not authorized to perform this action',
|
|
69
|
+
)
|
|
70
|
+
} else {
|
|
71
|
+
throw new Error(
|
|
72
|
+
`Unexpected HTTP status ${response.status}` +
|
|
73
|
+
` from the GraphQL endpoint '${url}' (expected 200)`,
|
|
74
|
+
)
|
|
75
|
+
}
|
|
70
76
|
}
|
|
71
77
|
|
|
72
78
|
const json = await response.json()
|
|
@@ -104,25 +110,34 @@ export const fetchZenCtlGraphQLQuery = async <T = Record<string, any>>({
|
|
|
104
110
|
account,
|
|
105
111
|
adminKey,
|
|
106
112
|
deploymentType,
|
|
113
|
+
accessToken,
|
|
107
114
|
query,
|
|
108
115
|
variables = {},
|
|
109
116
|
sdkConfig,
|
|
110
117
|
}: {
|
|
111
|
-
account
|
|
112
|
-
adminKey
|
|
113
|
-
|
|
118
|
+
account?: string
|
|
119
|
+
adminKey?: string
|
|
120
|
+
accessToken?: string
|
|
121
|
+
deploymentType?: string
|
|
114
122
|
query: string
|
|
115
123
|
variables?: Record<string, any>
|
|
116
124
|
sdkConfig: SDKConfigurationV2
|
|
117
125
|
}): Promise<GraphQLResponse<T>> => {
|
|
118
126
|
try {
|
|
127
|
+
let header: HeadersInit = {
|
|
128
|
+
'user-agent': getUserAgent(sdkConfig),
|
|
129
|
+
}
|
|
130
|
+
if (accessToken) {
|
|
131
|
+
header = {
|
|
132
|
+
...header,
|
|
133
|
+
Authorization: `Bearer ${accessToken}`,
|
|
134
|
+
}
|
|
135
|
+
}
|
|
119
136
|
return (await fetchGraphQLQuery({
|
|
120
137
|
url: sdkConfig.zenctlApiUrl,
|
|
121
138
|
query,
|
|
122
139
|
variables,
|
|
123
|
-
headers:
|
|
124
|
-
'user-agent': getUserAgent(sdkConfig),
|
|
125
|
-
},
|
|
140
|
+
headers: header,
|
|
126
141
|
})) as GraphQLResponse<T>
|
|
127
142
|
} catch (error) {
|
|
128
143
|
throw new Error(`Failed to connect to ZenCtl API. ${error}`)
|
package/src/shared/types.ts
CHANGED
|
@@ -107,18 +107,23 @@ export type ZenCtlResponseV2<T> =
|
|
|
107
107
|
| ZenCtlErrorResponseV2
|
|
108
108
|
|
|
109
109
|
export interface StepZenCredentialsV2 {
|
|
110
|
-
account
|
|
111
|
-
adminKey
|
|
112
|
-
apiKeys
|
|
110
|
+
account?: string
|
|
111
|
+
adminKey?: string
|
|
112
|
+
apiKeys?: string[]
|
|
113
|
+
accessToken?: string
|
|
114
|
+
instanceId?: string
|
|
115
|
+
ownerEmail?: string
|
|
113
116
|
deploymentType: string
|
|
114
117
|
}
|
|
115
118
|
|
|
116
119
|
export interface StepZenAccountV2 {
|
|
117
|
-
account
|
|
118
|
-
ownerEmail
|
|
119
|
-
adminKey
|
|
120
|
-
apiKeys
|
|
120
|
+
account?: string
|
|
121
|
+
ownerEmail?: string
|
|
122
|
+
adminKey?: string
|
|
123
|
+
apiKeys?: string[]
|
|
121
124
|
deploymentType: string
|
|
125
|
+
instanceId?: string
|
|
126
|
+
accessToken?: string
|
|
122
127
|
}
|
|
123
128
|
|
|
124
129
|
export interface StepZenDeleteV2 {
|
package/src/shared/validation.ts
CHANGED
|
@@ -4,6 +4,7 @@ import debug from 'debug'
|
|
|
4
4
|
import fs from 'node:fs'
|
|
5
5
|
import glob from 'glob'
|
|
6
6
|
import yaml from 'yaml'
|
|
7
|
+
import {decodeJwt} from 'jose'
|
|
7
8
|
|
|
8
9
|
// Validate the Configurationset file
|
|
9
10
|
export const validateConfigurationset = async (file: string | undefined) => {
|
|
@@ -50,3 +51,50 @@ export const validateSchema = async (directory: string | undefined) => {
|
|
|
50
51
|
throw new Error('Schemas must include an `index.graphql` file')
|
|
51
52
|
}
|
|
52
53
|
}
|
|
54
|
+
|
|
55
|
+
// parse JWT and return instanceId and email
|
|
56
|
+
export const parseJwt = async (
|
|
57
|
+
token: string,
|
|
58
|
+
): Promise<{instanceId?: string; email?: string}> => {
|
|
59
|
+
try {
|
|
60
|
+
const [, payloadBase64] = token.split('.')
|
|
61
|
+
if (!payloadBase64) {
|
|
62
|
+
throw new Error('Invalid JWT format')
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const payloadJson = Buffer.from(payloadBase64, 'base64').toString('utf-8')
|
|
66
|
+
const payload = JSON.parse(payloadJson)
|
|
67
|
+
const {aud, email} = payload
|
|
68
|
+
|
|
69
|
+
let instanceId: string | undefined
|
|
70
|
+
|
|
71
|
+
if (typeof aud === 'string' && aud.startsWith('SERVICE/')) {
|
|
72
|
+
instanceId = aud.split('/')[1]
|
|
73
|
+
} else if (Array.isArray(aud)) {
|
|
74
|
+
const match = aud.find(
|
|
75
|
+
entry => typeof entry === 'string' && entry.startsWith('SERVICE/'),
|
|
76
|
+
)
|
|
77
|
+
if (match) {
|
|
78
|
+
instanceId = match.split('/')[1]
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return {instanceId, email}
|
|
83
|
+
} catch (error) {
|
|
84
|
+
console.error('Failed to parse JWT token:', error)
|
|
85
|
+
return {}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** Validates a JSON Web Token (JWT) by verifying its structure and expiration. */
|
|
90
|
+
export const isValidJWT = async (token: string): Promise<boolean> => {
|
|
91
|
+
try {
|
|
92
|
+
const payload = decodeJwt(token)
|
|
93
|
+
if (!payload.exp) return false
|
|
94
|
+
const currentTime = Math.floor(Date.now() / 1000)
|
|
95
|
+
return payload.exp > currentTime
|
|
96
|
+
} catch (error) {
|
|
97
|
+
console.error('Failed to validate JWT token:', error)
|
|
98
|
+
return false
|
|
99
|
+
}
|
|
100
|
+
}
|