@forge/cli-shared 0.0.0-experimental-d3a39c9 → 0.0.0-experimental-64caa5a

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.
@@ -32,7 +32,7 @@ class LogsGraphQLClient {
32
32
  }
33
33
  async viewAppLogs(details) {
34
34
  const query = `
35
- query appLogs($appId: ID!, $environmentId: [ID!]!, $limit: Int!, $contextAri: [ID!], $startTime: String) {
35
+ query forge_cli_getApplicationLogs($appId: ID!, $environmentId: [ID!]!, $limit: Int!, $contextAri: [ID!], $startTime: String) {
36
36
  appLogs(
37
37
  appId: $appId,
38
38
  environmentId: $environmentId,
@@ -117,7 +117,7 @@ class LogsGraphQLClient {
117
117
  }
118
118
  async getInvocationLogs(filter) {
119
119
  const query = `
120
- query appLogLines($invocationId: ID!, $after: String) {
120
+ query forge_cli_getInvocationLogs($invocationId: ID!, $after: String) {
121
121
  appLogLines(
122
122
  after: $after,
123
123
  invocation: $invocationId
@@ -12,7 +12,7 @@ class CreateAppGraphQLClient {
12
12
  }
13
13
  async createApp(input) {
14
14
  const createAppQuery = `
15
- mutation createApp($input: CreateAppInput!) {
15
+ mutation forge_cli_createApplication($input: CreateAppInput!) {
16
16
  createApp(input: $input) {
17
17
  success
18
18
  errors {
@@ -11,15 +11,17 @@ export interface TemplateDownloader {
11
11
  export interface TemplateExtractor {
12
12
  extract(zipFile: string, destDirectory: string): Promise<void>;
13
13
  }
14
- export interface Templater {
15
- downloadAndExtract(template: string, directory: string): Promise<void>;
14
+ export interface TemplateLister {
16
15
  getAvailableTemplates(): Promise<string[]>;
17
16
  }
17
+ export interface Templater extends TemplateLister {
18
+ downloadAndExtract(template: string, directory: string): Promise<void>;
19
+ }
18
20
  export declare class BitbucketTemplateDownloader implements TemplateDownloader {
19
21
  download(template: string, zipFile: string): Promise<void>;
20
22
  private buildZipUrl;
21
23
  }
22
- export declare class BitbucketTemplateExtractor implements TemplateExtractor {
24
+ export declare class ZipTemplateExtractor implements TemplateExtractor {
23
25
  private readonly zipAccessor;
24
26
  constructor(zipAccessor: ZipAccessor);
25
27
  extract(zipFile: string, destDirectory: string): Promise<void>;
@@ -28,11 +30,15 @@ export declare class BitbucketTemplateExtractor implements TemplateExtractor {
28
30
  export declare class TemplateFetchError extends Error {
29
31
  constructor();
30
32
  }
31
- export declare class BitbucketTemplater implements Templater {
33
+ export declare class BitbucketTemplateLister implements TemplateLister {
34
+ getAvailableTemplates(): Promise<string[]>;
35
+ }
36
+ export declare class ComposableTemplater implements Templater {
32
37
  private readonly downloader;
33
38
  private readonly extractor;
39
+ private readonly lister;
34
40
  private readonly logger;
35
- constructor(downloader: TemplateDownloader, extractor: TemplateExtractor, logger: Logger);
41
+ constructor(downloader: TemplateDownloader, extractor: TemplateExtractor, lister: TemplateLister, logger: Logger);
36
42
  downloadAndExtract(template: string, directory: string): Promise<void>;
37
43
  getAvailableTemplates(): Promise<string[]>;
38
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/apps/template.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAK/B,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,QAAQ,EAAE,MAAM;CAG7B;AAED,qBAAa,2BAA4B,SAAQ,KAAK;CAAG;AAEzD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,SAAS;IACxB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC5C;AAED,qBAAa,2BAA4B,YAAW,kBAAkB;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvE,OAAO,CAAC,WAAW;CAGpB;AAED,qBAAa,0BAA2B,YAAW,iBAAiB;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAExC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAc7D,2BAA2B;CAqB1C;AAED,qBAAa,kBAAmB,SAAQ,KAAK;;CAI5C;AAED,qBAAa,kBAAmB,YAAW,SAAS;IAEhD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM;IAGpB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBtE,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAgBxD"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/apps/template.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAK/B,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,QAAQ,EAAE,MAAM;CAG7B;AAED,qBAAa,2BAA4B,SAAQ,KAAK;CAAG;AAEzD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,cAAc;IAC7B,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,SAAU,SAAQ,cAAc;IAC/C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED,qBAAa,2BAA4B,YAAW,kBAAkB;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvE,OAAO,CAAC,WAAW;CAGpB;AAED,qBAAa,oBAAqB,YAAW,iBAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAExC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAc7D,2BAA2B;CAqB1C;AAED,qBAAa,kBAAmB,SAAQ,KAAK;;CAI5C;AAED,qBAAa,uBAAwB,YAAW,cAAc;IAC/C,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAgBxD;AAED,qBAAa,mBAAoB,YAAW,SAAS;IAEjD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAHN,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM;IAEpB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnF,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAG3C"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BitbucketTemplater = exports.TemplateFetchError = exports.BitbucketTemplateExtractor = exports.BitbucketTemplateDownloader = exports.InvalidTemplateArchiveError = exports.NoTemplateError = void 0;
3
+ exports.ComposableTemplater = exports.BitbucketTemplateLister = exports.TemplateFetchError = exports.ZipTemplateExtractor = exports.BitbucketTemplateDownloader = exports.InvalidTemplateArchiveError = exports.NoTemplateError = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const fs_1 = tslib_1.__importDefault(require("fs"));
6
6
  const fs_extra_1 = require("fs-extra");
@@ -41,7 +41,7 @@ class BitbucketTemplateDownloader {
41
41
  }
42
42
  }
43
43
  exports.BitbucketTemplateDownloader = BitbucketTemplateDownloader;
44
- class BitbucketTemplateExtractor {
44
+ class ZipTemplateExtractor {
45
45
  constructor(zipAccessor) {
46
46
  this.zipAccessor = zipAccessor;
47
47
  }
@@ -73,17 +73,34 @@ class BitbucketTemplateExtractor {
73
73
  }
74
74
  }
75
75
  }
76
- exports.BitbucketTemplateExtractor = BitbucketTemplateExtractor;
76
+ exports.ZipTemplateExtractor = ZipTemplateExtractor;
77
77
  class TemplateFetchError extends Error {
78
78
  constructor() {
79
79
  super(ui_1.Text.error.templateFetchFailed);
80
80
  }
81
81
  }
82
82
  exports.TemplateFetchError = TemplateFetchError;
83
- class BitbucketTemplater {
84
- constructor(downloader, extractor, logger) {
83
+ class BitbucketTemplateLister {
84
+ async getAvailableTemplates() {
85
+ try {
86
+ const res = await node_fetch_1.default(`https://api.bitbucket.org/2.0/repositories/atlassian?q=project.key=%22${BITBUCKET_PROJECT}%22&sort=name&pagelen=50`);
87
+ if (!res.ok) {
88
+ throw new TemplateFetchError();
89
+ }
90
+ const json = await res.json();
91
+ return json.values.map((repo) => repo.name);
92
+ }
93
+ catch (e) {
94
+ throw new TemplateFetchError();
95
+ }
96
+ }
97
+ }
98
+ exports.BitbucketTemplateLister = BitbucketTemplateLister;
99
+ class ComposableTemplater {
100
+ constructor(downloader, extractor, lister, logger) {
85
101
  this.downloader = downloader;
86
102
  this.extractor = extractor;
103
+ this.lister = lister;
87
104
  this.logger = logger;
88
105
  }
89
106
  async downloadAndExtract(template, directory) {
@@ -105,18 +122,8 @@ class BitbucketTemplater {
105
122
  fs_1.default.unlinkSync(zipFile);
106
123
  }
107
124
  }
108
- async getAvailableTemplates() {
109
- try {
110
- const res = await node_fetch_1.default(`https://api.bitbucket.org/2.0/repositories/atlassian?q=project.key=%22${BITBUCKET_PROJECT}%22&sort=name&pagelen=50`);
111
- if (!res.ok) {
112
- throw new TemplateFetchError();
113
- }
114
- const json = await res.json();
115
- return json.values.map((repo) => repo.name);
116
- }
117
- catch (e) {
118
- throw new TemplateFetchError();
119
- }
125
+ getAvailableTemplates() {
126
+ return this.lister.getAvailableTemplates();
120
127
  }
121
128
  }
122
- exports.BitbucketTemplater = BitbucketTemplater;
129
+ exports.ComposableTemplater = ComposableTemplater;
@@ -1 +1 @@
1
- {"version":3,"file":"me-graphql-client.d.ts","sourceRoot":"","sources":["../../../src/auth/personal/me-graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAgB,MAAM,EAAE,MAAM,UAAU,CAAC;AAEhD,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,aAAa;IAAiB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAArD,aAAa,EAAE,aAAa,EAAmB,MAAM,EAAE,MAAM;IAE7E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAetC"}
1
+ {"version":3,"file":"me-graphql-client.d.ts","sourceRoot":"","sources":["../../../src/auth/personal/me-graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAgB,MAAM,EAAE,MAAM,UAAU,CAAC;AAEhD,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,aAAa;IAAiB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAArD,aAAa,EAAE,aAAa,EAAmB,MAAM,EAAE,MAAM;IAE7E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAwBtC"}
@@ -12,7 +12,16 @@ class MeGraphqlClient {
12
12
  }
13
13
  async getUser() {
14
14
  try {
15
- const query = '{me {user {name accountStatus accountId}}}';
15
+ const query = `
16
+ query forge_cli_getUserDetails {
17
+ me {
18
+ user {
19
+ name
20
+ accountStatus
21
+ accountId
22
+ }
23
+ }
24
+ }`;
16
25
  const result = await this.graphqlClient.query(query, {});
17
26
  if (result.me.user && result.me.user.accountStatus === 'active') {
18
27
  return result.me.user;
@@ -1,7 +1,7 @@
1
1
  import { Document } from 'yaml';
2
2
  import { FileSystemReader, FileSystemWriter } from '../file-system';
3
3
  import { ConfigReader, ConfigWriter } from './';
4
- import { ManifestSchema, Resources } from '@forge/manifest';
4
+ import { ManifestSchema, Resources } from '@forge/manifest/out/schema/manifest';
5
5
  export declare class ResourceDefinitionMissingError extends Error {
6
6
  constructor(resources: string[]);
7
7
  }
@@ -27,6 +27,8 @@ export declare class ConfigFile implements ConfigReader, ConfigWriter, ConfigInt
27
27
  writeToConfigFile<K extends string, V>(configKey: K, config: V): Promise<void>;
28
28
  private getHostedResourceKeys;
29
29
  private findMissingResources;
30
+ private getRemoteFromEgressPermission;
31
+ private instanceOfRemote;
30
32
  getEgressPermissions(): Promise<{
31
33
  type: string;
32
34
  domains: string[] | undefined;
@@ -36,5 +38,6 @@ export declare class ConfigFile implements ConfigReader, ConfigWriter, ConfigInt
36
38
  name: string;
37
39
  }>>;
38
40
  getResources(): Promise<ResourceDetails[]>;
41
+ getConnectKey(): Promise<string | undefined>;
39
42
  }
40
43
  //# sourceMappingURL=config-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/config/config-file.ts"],"names":[],"mappings":"AAAA,OAAa,EAAwB,QAAQ,EAAE,MAAM,MAAM,CAAC;AAI5D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,IAAI,CAAC;AAGlE,OAAO,EAAW,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGrE,qBAAa,8BAA+B,SAAQ,KAAK;gBAC3C,SAAS,EAAE,MAAM,EAAE;CAGhC;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC;AAED,oBAAY,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACpC,oBAAY,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;AAClD,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,qBAAa,UAAW,YAAW,YAAY,EAAE,YAAY,EAAE,gBAAgB;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAoB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAzD,UAAU,EAAE,gBAAgB,EAAmB,UAAU,EAAE,gBAAgB;IAE3F,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IASxC,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IAUrC,oBAAoB,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;IAW5D,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAMjD,OAAO,CAAC,kBAAkB;IAmBb,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAapD,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3F,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,oBAAoB;IAKf,oBAAoB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,EAAE,CAAC;IAoClF,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAe1E,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;CAyBxD"}
1
+ {"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/config/config-file.ts"],"names":[],"mappings":"AAAA,OAAa,EAAwB,QAAQ,EAAE,MAAM,MAAM,CAAC;AAI5D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,IAAI,CAAC;AAGlE,OAAO,EAEL,cAAc,EACd,SAAS,EAMV,MAAM,qCAAqC,CAAC;AAE7C,qBAAa,8BAA+B,SAAQ,KAAK;gBAC3C,SAAS,EAAE,MAAM,EAAE;CAGhC;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC;AAED,oBAAY,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACpC,oBAAY,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;AAClD,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,qBAAa,UAAW,YAAW,YAAY,EAAE,YAAY,EAAE,gBAAgB;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAoB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAzD,UAAU,EAAE,gBAAgB,EAAmB,UAAU,EAAE,gBAAgB;IAE3F,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IASxC,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IAUrC,oBAAoB,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;IAW5D,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAMjD,OAAO,CAAC,kBAAkB;IAmBb,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAapD,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3F,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,6BAA6B;IAYrC,OAAO,CAAC,gBAAgB;IAIX,oBAAoB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,EAAE,CAAC;IAoClF,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAe1E,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA0B1C,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAI1D"}
@@ -112,8 +112,22 @@ class ConfigFile {
112
112
  const missing = resourceKeys.filter((resourceKey) => !resources.some(({ key }) => resourceKey === key));
113
113
  return missing;
114
114
  }
115
+ getRemoteFromEgressPermission(remoteEgressPermission, remotes) {
116
+ if (!remotes) {
117
+ return remoteEgressPermission;
118
+ }
119
+ for (const remote of remotes) {
120
+ if (remote.key === remoteEgressPermission) {
121
+ return new url_1.URL(remote.baseUrl).hostname;
122
+ }
123
+ }
124
+ return remoteEgressPermission;
125
+ }
126
+ instanceOfRemote(remote) {
127
+ return typeof remote !== 'string' && 'remote' in remote;
128
+ }
115
129
  async getEgressPermissions() {
116
- const { permissions } = await this.readConfig();
130
+ const { permissions, remotes } = await this.readConfig();
117
131
  const egressPermissions = permissions === null || permissions === void 0 ? void 0 : permissions.external;
118
132
  if (!egressPermissions) {
119
133
  return [];
@@ -126,9 +140,11 @@ class ConfigFile {
126
140
  return ({
127
141
  type: typePrefix ? `${typePrefix}_${entry[0]}` : entry[0],
128
142
  domains: (_a = entry[1]) === null || _a === void 0 ? void 0 : _a.map((url) => {
129
- let domain = url;
143
+ let domain = this.instanceOfRemote(url) ? url.remote : url;
130
144
  try {
131
- domain = new url_1.URL(url).hostname;
145
+ domain = this.instanceOfRemote(url)
146
+ ? this.getRemoteFromEgressPermission(url.remote, remotes)
147
+ : new url_1.URL(url).hostname;
132
148
  }
133
149
  catch (e) {
134
150
  }
@@ -137,7 +153,7 @@ class ConfigFile {
137
153
  });
138
154
  });
139
155
  const egressUrls = getDomainsFromPermissions(otherEgress);
140
- const fetchUrls = getDomainsFromPermissions(fetchEgress, 'fetch');
156
+ const fetchUrls = fetchEgress ? getDomainsFromPermissions(fetchEgress, 'fetch') : [];
141
157
  return [...egressUrls, ...fetchUrls];
142
158
  }
143
159
  async getAuthProviders() {
@@ -170,5 +186,10 @@ class ConfigFile {
170
186
  const validResourcesWithDetails = validResources.map((resource) => (Object.assign(Object.assign({}, resource), { resourceType: getResourceType(resource.key) })));
171
187
  return validResourcesWithDetails || [];
172
188
  }
189
+ async getConnectKey() {
190
+ var _a;
191
+ const { app } = await this.readConfig();
192
+ return (_a = app.connect) === null || _a === void 0 ? void 0 : _a.key;
193
+ }
173
194
  }
174
195
  exports.ConfigFile = ConfigFile;
@@ -20,7 +20,7 @@ class AppEnvironmentsGraphqlClient {
20
20
  }
21
21
  async getAppEnvironmentId(appId, environmentKey) {
22
22
  const query = `
23
- query app($id: ID!, $key: String!) {
23
+ query forge_cli_getApplicationEnvironmentId($id: ID!, $key: String!) {
24
24
  app(id: $id) {
25
25
  environmentByKey(key: $key) {
26
26
  id