@forge/cli-shared 8.3.0-next.0-experimental-8a53773 → 8.3.0-next.2
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 +7 -7
- package/out/apps/create-an-app.d.ts +1 -1
- package/out/apps/create-an-app.d.ts.map +1 -1
- package/out/apps/create-an-app.js +2 -2
- package/out/apps/register-app.d.ts +1 -0
- package/out/apps/register-app.d.ts.map +1 -1
- package/out/auth/personal/credential-store.d.ts +0 -1
- package/out/auth/personal/credential-store.d.ts.map +1 -1
- package/out/auth/personal/credential-store.js +0 -7
- package/out/graphql/debugging-graphql-runner.d.ts +2 -0
- package/out/graphql/debugging-graphql-runner.d.ts.map +1 -1
- package/out/graphql/debugging-graphql-runner.js +25 -2
- package/out/graphql/graphql-types.d.ts +289 -32
- package/out/graphql/graphql-types.d.ts.map +1 -1
- package/out/graphql/graphql-types.js +27 -22
- package/out/ui/text.d.ts +5 -2
- package/out/ui/text.d.ts.map +1 -1
- package/out/ui/text.js +5 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
# @forge/cli-shared
|
|
2
2
|
|
|
3
|
-
## 8.3.0-next.
|
|
3
|
+
## 8.3.0-next.2
|
|
4
4
|
|
|
5
|
-
###
|
|
5
|
+
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- f181a03: Added sensitive token filtering
|
|
8
|
+
|
|
9
|
+
## 8.3.0-next.1
|
|
8
10
|
|
|
9
11
|
### Patch Changes
|
|
10
12
|
|
|
11
|
-
-
|
|
12
|
-
- 93b8edc: Send 'app packaged' analytics event
|
|
13
|
-
- Updated dependencies [10c0bc6]
|
|
13
|
+
- 568c31b: Add support for developer space in forge register command
|
|
14
14
|
- Updated dependencies [6447811]
|
|
15
15
|
- Updated dependencies [2f446cf]
|
|
16
|
-
- @forge/manifest@10.2.1-next.
|
|
16
|
+
- @forge/manifest@10.2.1-next.1
|
|
17
17
|
|
|
18
18
|
## 8.3.0-next.0
|
|
19
19
|
|
|
@@ -21,7 +21,7 @@ export declare class CreateAppCommand {
|
|
|
21
21
|
private readonly packageInstaller;
|
|
22
22
|
private readonly statsig;
|
|
23
23
|
constructor(templater: Templater, registerAppCommand: RegisterAppCommand, packageInstaller: PackageInstaller, statsig: StatsigService);
|
|
24
|
-
execute({ name, description, template, directory, requiredProduct }: CreateAppCommandInput): Promise<CreateAppCommandResult>;
|
|
24
|
+
execute({ name, description, template, directory, requiredProduct, developerSpaceId }: CreateAppCommandInput): Promise<CreateAppCommandResult>;
|
|
25
25
|
getAvailableTemplates(): Promise<string[]>;
|
|
26
26
|
filterAvailableProducts<T extends string>(products: T[], teamworkGraph: T, crossContext: T, dashboards: T): Promise<T[]>;
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-an-app.d.ts","sourceRoot":"","sources":["../../src/apps/create-an-app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;;CAI1C;AAED,oBAAY,sBAAsB,GAAG,iBAAiB,GAAG;IACvD,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHP,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,cAAc;IAG7B,OAAO,CAAC,EACnB,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,SAAS,EACT,eAAe,
|
|
1
|
+
{"version":3,"file":"create-an-app.d.ts","sourceRoot":"","sources":["../../src/apps/create-an-app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;;CAI1C;AAED,oBAAY,sBAAsB,GAAG,iBAAiB,GAAG;IACvD,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHP,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,cAAc;IAG7B,OAAO,CAAC,EACnB,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,SAAS,EACT,eAAe,EACf,gBAAgB,EACjB,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAa7C,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAS1C,uBAAuB,CAAC,CAAC,SAAS,MAAM,EACnD,QAAQ,EAAE,CAAC,EAAE,EACb,aAAa,EAAE,CAAC,EAChB,YAAY,EAAE,CAAC,EACf,UAAU,EAAE,CAAC,GACZ,OAAO,CAAC,CAAC,EAAE,CAAC;CAkBhB"}
|
|
@@ -19,9 +19,9 @@ class CreateAppCommand {
|
|
|
19
19
|
this.packageInstaller = packageInstaller;
|
|
20
20
|
this.statsig = statsig;
|
|
21
21
|
}
|
|
22
|
-
async execute({ name, description, template, directory, requiredProduct }) {
|
|
22
|
+
async execute({ name, description, template, directory, requiredProduct, developerSpaceId }) {
|
|
23
23
|
await this.templater.downloadAndExtract(template, directory);
|
|
24
|
-
const result = await this.registerAppCommand.registerApp({ name, description }, directory, {
|
|
24
|
+
const result = await this.registerAppCommand.registerApp({ name, description, developerSpaceId }, directory, {
|
|
25
25
|
shouldPrependAppName: true,
|
|
26
26
|
requiredProduct
|
|
27
27
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-app.d.ts","sourceRoot":"","sources":["../../src/apps/register-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAqB,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAExH,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"register-app.d.ts","sourceRoot":"","sources":["../../src/apps/register-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAqB,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAExH,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;CACL;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAClE;AAED,oBAAY,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAJV,SAAS,EAAE,eAAe,EAC1B,eAAe,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,EACxD,eAAe,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAChD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU;IAG5B,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,oBAA4B,EAAE;;KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQvG,WAAW,CACtB,KAAK,EAAE,oBAAoB,EAC3B,SAAS,EAAE,MAAM,EACjB,EAAE,oBAAoB,EAAE,eAAe,EAAE,EAAE;QAAE,oBAAoB,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GACrG,OAAO,CAAC,eAAe,CAAC;CAuC5B"}
|
|
@@ -43,7 +43,6 @@ export declare class CredentialStoreImpl implements CredentialStore {
|
|
|
43
43
|
private readonly cachedConfig;
|
|
44
44
|
private readonly userRepository;
|
|
45
45
|
private keytarAccount;
|
|
46
|
-
private cached;
|
|
47
46
|
constructor(logger: Logger, instructionsURL: string, keytar: Keytar | null, cachedConfig: CachedConf, userRepository: UserRepository);
|
|
48
47
|
private wrapKeytarError;
|
|
49
48
|
decodeCredentials(credentialsString: string | null): PersonalApiCredentialsValidated;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../../src/auth/personal/credential-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAuB,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAa,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,MAAM,EAAQ,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,SAAS,gBAAgB,CAAC;AACvC,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAa/C,MAAM,WAAW,MAAM;IACrB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEtE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAUD,eAAO,MAAM,2BAA2B;;;EAGtC,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;EAI/C,CAAC;AAEH,oBAAY,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAClF,oBAAY,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAEpG,qBAAa,mBAAoB,SAAQ,SAAS;;CAIjD;AAED,qBAAa,aAAc,SAAQ,SAAS;;CAI3C;AAED,qBAAa,iBAAkB,SAAQ,SAAS;CAAG;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,cAAc,IAAI,OAAO,CAAC,+BAA+B,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,cAAc,CAAC,WAAW,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,qBAAa,mBAAoB,YAAW,eAAe;
|
|
1
|
+
{"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../../src/auth/personal/credential-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAuB,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAa,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,MAAM,EAAQ,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,SAAS,gBAAgB,CAAC;AACvC,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAa/C,MAAM,WAAW,MAAM;IACrB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEtE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAUD,eAAO,MAAM,2BAA2B;;;EAGtC,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;EAI/C,CAAC;AAEH,oBAAY,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAClF,oBAAY,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAEpG,qBAAa,mBAAoB,SAAQ,SAAS;;CAIjD;AAED,qBAAa,aAAc,SAAQ,SAAS;;CAI3C;AAED,qBAAa,iBAAkB,SAAQ,SAAS;CAAG;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,cAAc,IAAI,OAAO,CAAC,+BAA+B,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,cAAc,CAAC,WAAW,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,qBAAa,mBAAoB,YAAW,eAAe;IAIvD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAPjC,OAAO,CAAC,aAAa,CAAS;gBAGX,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,cAAc;IAKjD,OAAO,CAAC,eAAe;IAoBvB,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,+BAA+B;IAoB9E,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,GAAG,SAAS,CAAC;IAehG,+BAA+B,IAAI,+BAA+B,GAAG,SAAS;IAS9E,kCAAkC,IAAI,IAAI;IAIpC,cAAc,IAAI,OAAO,CAAC,+BAA+B,CAAC;IA8B1D,cAAc,CAAC,WAAW,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3E,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;CAWzC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAG,eAAe,CAKlG"}
|
|
@@ -61,7 +61,6 @@ class CredentialStoreImpl {
|
|
|
61
61
|
cachedConfig;
|
|
62
62
|
userRepository;
|
|
63
63
|
keytarAccount;
|
|
64
|
-
cached = null;
|
|
65
64
|
constructor(logger, instructionsURL, keytar, cachedConfig, userRepository) {
|
|
66
65
|
this.logger = logger;
|
|
67
66
|
this.instructionsURL = instructionsURL;
|
|
@@ -131,9 +130,6 @@ class CredentialStoreImpl {
|
|
|
131
130
|
this.cachedConfig.delete(CACHE_CREDENTIALS_KEY);
|
|
132
131
|
}
|
|
133
132
|
async getCredentials() {
|
|
134
|
-
if (this.cached) {
|
|
135
|
-
return this.cached;
|
|
136
|
-
}
|
|
137
133
|
const plaintextCredentials = this.popInsecurePlaintextCredentials();
|
|
138
134
|
if (plaintextCredentials) {
|
|
139
135
|
if (this.keytar) {
|
|
@@ -155,14 +151,12 @@ class CredentialStoreImpl {
|
|
|
155
151
|
if (this.keytar) {
|
|
156
152
|
const result = await this.getCredentialsKeytar(this.keytar);
|
|
157
153
|
if (result) {
|
|
158
|
-
this.cached = result;
|
|
159
154
|
return result;
|
|
160
155
|
}
|
|
161
156
|
}
|
|
162
157
|
throw new NoTokenInStoreError();
|
|
163
158
|
}
|
|
164
159
|
async setCredentials(credentials) {
|
|
165
|
-
this.cached = null;
|
|
166
160
|
if (this.keytar) {
|
|
167
161
|
try {
|
|
168
162
|
await this.keytar.setPassword(KEYTAR_SERVICE, this.keytarAccount, JSON.stringify(credentials));
|
|
@@ -176,7 +170,6 @@ class CredentialStoreImpl {
|
|
|
176
170
|
}
|
|
177
171
|
}
|
|
178
172
|
async deleteCredentials() {
|
|
179
|
-
this.cached = null;
|
|
180
173
|
if (this.keytar) {
|
|
181
174
|
try {
|
|
182
175
|
await this.keytar.deletePassword(KEYTAR_SERVICE, this.keytarAccount);
|
|
@@ -5,7 +5,9 @@ export declare class DebuggingGraphqlRunner implements GraphQLRunner {
|
|
|
5
5
|
private readonly innerClient;
|
|
6
6
|
private readonly endpoint;
|
|
7
7
|
private readonly logger;
|
|
8
|
+
private readonly sensitivePatterns;
|
|
8
9
|
constructor(innerClient: GraphQLRunner, endpoint: string, logger: Logger);
|
|
10
|
+
private filterSensitiveData;
|
|
9
11
|
run<TVariables extends Variables, TResponse>(query: string, variables: TVariables): Promise<{
|
|
10
12
|
requestId: string | undefined;
|
|
11
13
|
response: TResponse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugging-graphql-runner.d.ts","sourceRoot":"","sources":["../../src/graphql/debugging-graphql-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG5D,wBAAgB,SAAS,CAAC,SAAS,EAAE,GAAG,UAEvC;AAED,qBAAa,sBAAuB,YAAW,aAAa;
|
|
1
|
+
{"version":3,"file":"debugging-graphql-runner.d.ts","sourceRoot":"","sources":["../../src/graphql/debugging-graphql-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG5D,wBAAgB,SAAS,CAAC,SAAS,EAAE,GAAG,UAEvC;AAED,qBAAa,sBAAuB,YAAW,aAAa;IAKxD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;gBAG5C,WAAW,EAAE,aAAa,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM;IAGjC,OAAO,CAAC,mBAAmB;IAsBd,GAAG,CAAC,UAAU,SAAS,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU;;;;CAY/F"}
|
|
@@ -10,15 +10,38 @@ class DebuggingGraphqlRunner {
|
|
|
10
10
|
innerClient;
|
|
11
11
|
endpoint;
|
|
12
12
|
logger;
|
|
13
|
+
sensitivePatterns = [/X-Amz-Security-Token/i];
|
|
13
14
|
constructor(innerClient, endpoint, logger) {
|
|
14
15
|
this.innerClient = innerClient;
|
|
15
16
|
this.endpoint = endpoint;
|
|
16
17
|
this.logger = logger;
|
|
17
18
|
}
|
|
19
|
+
filterSensitiveData(data) {
|
|
20
|
+
if (!data)
|
|
21
|
+
return data;
|
|
22
|
+
if (Array.isArray(data)) {
|
|
23
|
+
return data.map((item) => this.filterSensitiveData(item));
|
|
24
|
+
}
|
|
25
|
+
if (typeof data === 'object' && data !== null) {
|
|
26
|
+
const filtered = { ...data };
|
|
27
|
+
for (const key of Object.keys(filtered)) {
|
|
28
|
+
if (this.sensitivePatterns.some((pattern) => pattern.test(key))) {
|
|
29
|
+
delete filtered[key];
|
|
30
|
+
}
|
|
31
|
+
else if (typeof filtered[key] === 'object' && filtered[key] !== null) {
|
|
32
|
+
filtered[key] = this.filterSensitiveData(filtered[key]);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return filtered;
|
|
36
|
+
}
|
|
37
|
+
return data;
|
|
38
|
+
}
|
|
18
39
|
async run(query, variables) {
|
|
19
|
-
this.
|
|
40
|
+
const filteredVariables = this.filterSensitiveData(variables);
|
|
41
|
+
this.logger.trace(ui_1.Text.graphQL.request(this.endpoint, query, stringify(filteredVariables)));
|
|
20
42
|
const { requestId, response } = await this.innerClient.run(query, variables);
|
|
21
|
-
this.
|
|
43
|
+
const filteredResponse = this.filterSensitiveData(response);
|
|
44
|
+
this.logger.trace(ui_1.Text.graphQL.response(stringify(filteredResponse), requestId));
|
|
22
45
|
return { requestId, response };
|
|
23
46
|
}
|
|
24
47
|
}
|