npm package diff

Package: @forge/cli-shared

Versions: 6.6.2-next.5 - 6.6.2-next.6

Modified: package/out/apps/app-config.js

Index: package/out/apps/app-config.js
===================================================================
--- package/out/apps/app-config.js
+++ package/out/apps/app-config.js
@@ -1,12 +1,11 @@
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.assertiveAppConfigProvider = exports.adjustLegacyAppId = exports.appConfigKey = exports.appConfigShape = void 0;
+exports.assertiveConfigAppIdProvider = exports.adjustLegacyAppId = exports.appConfigKey = exports.appConfigShape = void 0;
 const tslib_1 = require("tslib");
 const t = tslib_1.__importStar(require("io-ts"));
 const ari_1 = require("../ari");
 const config_1 = require("../config");
-const ui_1 = require("../ui");
 exports.appConfigShape = t.type({
     id: t.string
 });
 exports.appConfigKey = 'app';
@@ -19,8 +18,6 @@
         id: (0, ari_1.appIdToAriString)(legacyAppDetails.id)
     };
 }
 exports.adjustLegacyAppId = adjustLegacyAppId;
-const assertiveAppConfigProvider = (appConfigReader) => () => (0, config_1.assertive)(appConfigReader)
-    .readConfigSectionOrThrow(ui_1.Text.config.missing, ui_1.Text.config.invalid)
-    .then(adjustLegacyAppId);
-exports.assertiveAppConfigProvider = assertiveAppConfigProvider;
+const assertiveConfigAppIdProvider = (appConfigReader) => () => (0, config_1.assertive)(appConfigReader).readConfigAppIdOrThrow().then(adjustLegacyAppId);
+exports.assertiveConfigAppIdProvider = assertiveConfigAppIdProvider;

Modified: package/out/config/config-file-section-reader.js

Index: package/out/config/config-file-section-reader.js
===================================================================
--- package/out/config/config-file-section-reader.js
+++ package/out/config/config-file-section-reader.js
@@ -21,8 +21,11 @@
         else {
             return 'missing';
         }
     }
+    async readAppId() {
+        return await this.configReader.readAppId();
+    }
 }
 exports.ConfigFileSectionReader = ConfigFileSectionReader;
 class ShapedConfigFileSectionReader {
     configSectionReader;
@@ -35,8 +38,11 @@
     }
     readConfigSection() {
         return this.configSectionReader.readConfigSection(this.key, this.schema);
     }
+    readAppId() {
+        return this.configSectionReader.readAppId();
+    }
 }
 const configFileReaderForSection = (key, schema, configReader) => {
     return new ShapedConfigFileSectionReader(new ConfigFileSectionReader(configReader), key, schema);
 };

Modified: package/out/config/config-file.js

Index: package/out/config/config-file.js
===================================================================
--- package/out/config/config-file.js
+++ package/out/config/config-file.js
@@ -1,7 +1,7 @@
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.ConfigFile = exports.findUIKit1Modules = exports.ResourceDefinitionMissingError = exports.InvalidManifestError = void 0;
+exports.RawConfigFile = exports.ConfigFile = exports.findUIKit1Modules = exports.InvalidConfigAppId = exports.ResourceDefinitionMissingError = exports.InvalidManifestError = void 0;
 const tslib_1 = require("tslib");
 const yaml_1 = require("yaml");
 const ui_1 = require("../ui");
 const _1 = require("./");
@@ -10,8 +10,9 @@
 const manifest_1 = require("@forge/manifest");
 const url_1 = require("url");
 const shared_1 = require("../shared");
 const runtimes_1 = require("../runtimes");
+const ari_1 = require("@forge/util/packages/ari");
 class InvalidManifestError extends shared_1.ValidationError {
     constructor() {
         super(ui_1.Text.artifact.error.invalidYaml(_1.manifestFileName));
     }
@@ -22,8 +23,14 @@
         super(ui_1.Text.error.resourceDefinitionMissing(resources));
     }
 }
 exports.ResourceDefinitionMissingError = ResourceDefinitionMissingError;
+class InvalidConfigAppId extends shared_1.UserError {
+    constructor(appId) {
+        super(ui_1.Text.config.appId.invalid(appId));
+    }
+}
+exports.InvalidConfigAppId = InvalidConfigAppId;
 const isUIKit1 = (module) => {
     return (typeof module === 'object' &&
         module !== null &&
         module.hasOwnProperty('function') &&
@@ -99,8 +106,17 @@
         this.fileReader = fileReader;
         this.fileWriter = fileWriter;
         this.manifestParser = new manifest_1.ManifestParserBuilder().withInterpolators().build();
     }
+    async readAppId() {
+        const manifestFileContents = await this.readConfig();
+        try {
+            return ari_1.EcosystemAppAri.parse(manifestFileContents.app?.id);
+        }
+        catch {
+            throw new InvalidConfigAppId(manifestFileContents.app?.id);
+        }
+    }
     async getAppHandlers() {
         const config = await this.readConfig();
         const functions = config.modules?.function ?? [];
         const handlers = Array.from(new Set(functions.map((f) => f.handler)));
@@ -285,4 +301,16 @@
         return linkedModule.render === 'native' ? 'nativeUI' : 'customUI';
     }
 }
 exports.ConfigFile = ConfigFile;
+class RawConfigFile extends ConfigFile {
+    rawFileReader;
+    constructor(fileReader, fileWriter) {
+        super(fileReader, fileWriter);
+        this.rawFileReader = fileReader;
+    }
+    async readConfig() {
+        const manifest = this.rawFileReader.readFile(_1.manifestFileName);
+        return (0, yaml_1.parse)(manifest);
+    }
+}
+exports.RawConfigFile = RawConfigFile;

Modified: package/out/config/config-section.js

Index: package/out/config/config-section.js
===================================================================
--- package/out/config/config-section.js
+++ package/out/config/config-section.js
@@ -23,8 +23,14 @@
         else {
             return configValue;
         }
     }
+    async readConfigAppIdOrThrow() {
+        const appId = await this.configSectionReader.readAppId();
+        return {
+            id: appId.toString()
+        };
+    }
 }
 exports.AssertiveConfigSectionReader = AssertiveConfigSectionReader;
 const assertive = (configSectionReader) => new AssertiveConfigSectionReader(configSectionReader);
 exports.assertive = assertive;

Modified: package/out/graphql/graphql-types.js

Large diffs are not rendered by default.

Modified: package/out/service/statsig-service.js

Index: package/out/service/statsig-service.js
===================================================================
--- package/out/service/statsig-service.js
+++ package/out/service/statsig-service.js
@@ -71,10 +71,9 @@
         this.getEnvironmentFn = getEnvironmentFn;
     }
     appID = cacheStatsigResult(async () => {
         try {
-            const config = await this.appConfigReader.readConfigSection();
-            return config === 'missing' || config === 'invalid' ? null : config.id;
+            return await this.appConfigReader.readAppId();
         }
         catch {
             return null;
         }
@@ -89,9 +88,9 @@
         }
         catch { }
         const appID = await this.appID();
         if (appID) {
-            context.appId = appID.split('/')[1];
+            context.appId = appID.appId;
         }
         if (this.cliDetails) {
             context.version = this.cliDetails.version;
         }

Modified: package/out/ui/text.js

Index: package/out/ui/text.js
===================================================================
--- package/out/ui/text.js
+++ package/out/ui/text.js
@@ -160,8 +160,11 @@
         finished: 'Bundling succeeded.',
         warnings: (warnings) => `Bundling warnings: ${warnings.join(', ')}`
     },
     config: {
+        appId: {
+            invalid: (appId) => `Invalid app ID found in manifest: '${appId}'`
+        },
         missing: `Your app details are missing from the manifest.yml file. Register your app by running ${forge('register')}.`,
         invalid: `Invalid app details in the manifest.yml file. Register your app by running ${forge('register')}.`,
         manifest: {
             invalid: 'Command failed due to validation error.',

Modified: package/package.json

Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@forge/cli-shared",
-  "version": "6.6.2-next.5",
+  "version": "6.6.2-next.6",
   "description": "Common functionality for Forge CLI",
   "author": "Atlassian",
   "license": "SEE LICENSE IN LICENSE.txt",
   "main": "out/index.js",

Modified: package/out/apps/app-config.d.ts.map

Index: package/out/apps/app-config.d.ts.map
===================================================================
--- package/out/apps/app-config.d.ts.map
+++ package/out/apps/app-config.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"app-config.d.ts","sourceRoot":"","sources":["../../src/apps/app-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAG3B,OAAO,EAAa,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAG3D,eAAO,MAAM,cAAc;;EAEzB,CAAC;AAEH,oBAAY,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AACzD,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC,oBAAY,iBAAiB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;AAE1D,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,UAAU;;EAQ7D;AAED,eAAO,MAAM,0BAA0B,oBACnB,oBAAoB,UAAU,CAAC,KAAG,iBAIxB,CAAC"}
\ No newline at end of file
+{"version":3,"file":"app-config.d.ts","sourceRoot":"","sources":["../../src/apps/app-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAG3B,OAAO,EAAa,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAE3D,eAAO,MAAM,cAAc;;EAEzB,CAAC;AAEH,oBAAY,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AACzD,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC,oBAAY,iBAAiB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;AAE1D,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,UAAU;;EAQ7D;AAED,eAAO,MAAM,4BAA4B,oBACrB,oBAAoB,UAAU,CAAC,KAAG,iBAEyB,CAAC"}
\ No newline at end of file

Modified: package/out/config/config-file-section-reader.d.ts.map

Index: package/out/config/config-file-section-reader.d.ts.map
===================================================================
--- package/out/config/config-file-section-reader.d.ts.map
+++ package/out/config/config-file-section-reader.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"config-file-section-reader.d.ts","sourceRoot":"","sources":["../../src/config/config-file-section-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,oBAAY,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhE,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAE1C,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,KAAK,EAC9D,GAAG,EAAE,CAAC,EACN,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC;CAWjD;AAcD,eAAO,MAAM,0BAA0B,kFAGvB,YAAY,sCAG3B,CAAC"}
\ No newline at end of file
+{"version":3,"file":"config-file-section-reader.d.ts","sourceRoot":"","sources":["../../src/config/config-file-section-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,oBAAY,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhE,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAE1C,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,KAAK,EAC9D,GAAG,EAAE,CAAC,EACN,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC;IAYnC,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;CAGnD;AAkBD,eAAO,MAAM,0BAA0B,kFAGvB,YAAY,sCAG3B,CAAC"}
\ No newline at end of file

Modified: package/out/config/config-file.d.ts.map

Index: package/out/config/config-file.d.ts.map
===================================================================
--- package/out/config/config-file.d.ts.map
+++ package/out/config/config-file.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/config/config-file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,IAAI,CAAC;AAGlE,OAAO,EACL,OAAO,EACP,cAAc,EACd,SAAS,EAMV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAQ,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE1D,qBAAa,oBAAqB,SAAQ,eAAe;;CAIxD;AAED,qBAAa,8BAA+B,SAAQ,SAAS;gBAC/C,SAAS,EAAE,MAAM,EAAE;CAGhC;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC;AAED,oBAAY,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACpC,oBAAY,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AACjE,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,YAAY,EAAE,cAAc,CAAC;CAC9B;AAgBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CA6D5D;AAED,qBAAa,UAAW,YAAW,YAAY,EAAE,YAAY,EAAE,gBAAgB;IAG3E,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAH7B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAE7B,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB;IAKlC,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAiBzC,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IAYrC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAMpC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAMhD,OAAO,CAAC,kBAAkB;IAoBb,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE,OAAO,CAAC,aAAa;IAIR,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1G,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,6BAA6B;IAarC,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,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAsB1E,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKzD,OAAO,CAAC,eAAe;CA0BxB"}
\ No newline at end of file
+{"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/config/config-file.ts"],"names":[],"mappings":"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"}
\ No newline at end of file

Modified: package/out/config/config-section.d.ts.map

Index: package/out/config/config-section.d.ts.map
===================================================================
--- package/out/config/config-section.d.ts.map
+++ package/out/config/config-section.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"config-section.d.ts","sourceRoot":"","sources":["../../src/config/config-section.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM;IACnD,iBAAiB,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM;IACnD,kBAAkB,CAAC,aAAa,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,qBAAa,yBAA0B,SAAQ,KAAK;CAAG;AACvD,qBAAa,0BAA2B,SAAQ,KAAK;CAAG;AAExD,qBAAa,4BAA4B,CAAC,CAAC,SAAS,MAAM;IAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE3D,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAUlG;AAED,eAAO,MAAM,SAAS,oGAEwE,CAAC"}
\ No newline at end of file
+{"version":3,"file":"config-section.d.ts","sourceRoot":"","sources":["../../src/config/config-section.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM;IACnD,iBAAiB,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;IACxD,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM;IACnD,kBAAkB,CAAC,aAAa,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,qBAAa,yBAA0B,SAAQ,KAAK;CAAG;AACvD,qBAAa,0BAA2B,SAAQ,KAAK;CAAG;AAExD,qBAAa,4BAA4B,CAAC,CAAC,SAAS,MAAM;IAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE3D,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAWpF,sBAAsB,IAAI,OAAO,CAAC,UAAU,CAAC;CAM3D;AAED,eAAO,MAAM,SAAS,oGAEwE,CAAC"}
\ No newline at end of file

Modified: package/out/config/config.d.ts.map

Index: package/out/config/config.d.ts.map
===================================================================
--- package/out/config/config.d.ts.map
+++ package/out/config/config.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAC/C,eAAO,MAAM,mBAAmB,UAAqD,CAAC;AAEtF,eAAO,MAAM,iBAAiB,0EAA2E,CAAC;AAC1G,oBAAY,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,oBAAY,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG;KACD,UAAU,IAAI,gBAAgB,CAAC,CAAC,EAAE,UAAU;CAC9C,CAAC;AAEF,oBAAY,qBAAqB,GAAG,UAAU,GAAG;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC/B,GAAG;KACD,UAAU,IAAI,gBAAgB,CAAC,CAAC,EAAE,qBAAqB;CACzD,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,gBAAgB,aAAc,GAAG,0BAG7C,CAAC;AAEF,eAAO,MAAM,sBAAsB,WAAY,GAAG,oCAGjD,CAAC"}
\ No newline at end of file
+{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAC/C,eAAO,MAAM,mBAAmB,UAAqD,CAAC;AAEtF,eAAO,MAAM,iBAAiB,0EAA2E,CAAC;AAC1G,oBAAY,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,oBAAY,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG;KACD,UAAU,IAAI,gBAAgB,CAAC,CAAC,EAAE,UAAU;CAC9C,CAAC;AAEF,oBAAY,qBAAqB,GAAG,UAAU,GAAG;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC/B,GAAG;KACD,UAAU,IAAI,gBAAgB,CAAC,CAAC,EAAE,qBAAqB;CACzD,CAAC;AAEF,MAAM,WAAW,YAAa,SAAQ,iBAAiB;IACrD,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,gBAAgB,aAAc,GAAG,0BAG7C,CAAC;AAEF,eAAO,MAAM,sBAAsB,WAAY,GAAG,oCAGjD,CAAC"}
\ No newline at end of file

Modified: package/out/graphql/graphql-types.d.ts.map

Large diffs are not rendered by default.

Modified: package/out/service/statsig-service.d.ts.map

Index: package/out/service/statsig-service.d.ts.map
===================================================================
--- package/out/service/statsig-service.d.ts.map
+++ package/out/service/statsig-service.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"statsig-service.d.ts","sourceRoot":"","sources":["../../src/service/statsig-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EAEpB,MAAM,EACP,MAAM,UAAU,CAAC;AAElB,oBAAY,WAAW,GACnB,qBAAqB,GACrB,yBAAyB,GACzB,iCAAiC,GACjC,wCAAwC,GACxC,iDAAiD,GACjD,mCAAmC,CAAC;AAExC,oBAAY,aAAa,GAAG;IAC1B,gCAAgC,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACvD,CAAC;AAEF,oBAAY,gBAAgB,GAAG,MAAM,aAAa,CAAC;AAEnD,8BAAsB,aAAa;IACjC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,EACtC,IAAI,EAAE,CAAC,EACP,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAE1B,QAAQ,CAAC,gBAAgB,CAAC,CAAC,SAAS,gBAAgB,EAClD,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAE7B,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC,4BAA4B,IAAI,OAAO,CAAC,GAAG,CAAC;IAI5C,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAItC,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3C,+BAA+B,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C,mCAAmC,IAAI,OAAO,CAAC,OAAO,CAAC;IAIvD,iCAAiC,IAAI,OAAO,CAAC,OAAO,CAAC;CAGnE;AAkBD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EACrC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAC9C,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAYzC;AAED,qBAAa,cAAe,SAAQ,aAAa;IAE7C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAJhB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,SAAS,EACnD,eAAe,EAAE,gBAAgB,EACjC,eAAe,EAAE,mBAAmB,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,EACpD,gBAAgB,GAAE,OAAO,oBAA2C;IAKvF,OAAO,CAAC,KAAK,CAOV;IAEH,OAAO,CAAC,OAAO,CAkBb;IAEF,OAAO,CAAC,UAAU,CA+BhB;IAEF,OAAO,CAAC,mBAAmB,CA+BzB;IAEF,OAAO,CAAC,WAAW,CAGhB;IAEH,OAAO,CAAC,mBAAmB,CAGxB;IAEG,SAAS,CAAC,CAAC,SAAS,WAAW,EACnC,IAAI,EAAE,CAAC,EACP,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC5C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAcpB,gBAAgB,CAAC,CAAC,SAAS,gBAAgB,EAC/C,aAAa,EAAE,CAAC,EAChB,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACpC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAapC"}
\ No newline at end of file
+{"version":3,"file":"statsig-service.d.ts","sourceRoot":"","sources":["../../src/service/statsig-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAgB,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvH,oBAAY,WAAW,GACnB,qBAAqB,GACrB,yBAAyB,GACzB,iCAAiC,GACjC,wCAAwC,GACxC,iDAAiD,GACjD,mCAAmC,CAAC;AAExC,oBAAY,aAAa,GAAG;IAC1B,gCAAgC,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACvD,CAAC;AAEF,oBAAY,gBAAgB,GAAG,MAAM,aAAa,CAAC;AAEnD,8BAAsB,aAAa;IACjC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,EACtC,IAAI,EAAE,CAAC,EACP,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAE1B,QAAQ,CAAC,gBAAgB,CAAC,CAAC,SAAS,gBAAgB,EAClD,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAE7B,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC,4BAA4B,IAAI,OAAO,CAAC,GAAG,CAAC;IAI5C,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAItC,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3C,+BAA+B,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C,mCAAmC,IAAI,OAAO,CAAC,OAAO,CAAC;IAIvD,iCAAiC,IAAI,OAAO,CAAC,OAAO,CAAC;CAGnE;AAkBD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EACrC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAC9C,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAYzC;AAED,qBAAa,cAAe,SAAQ,aAAa;IAE7C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAJhB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,SAAS,EACnD,eAAe,EAAE,gBAAgB,EACjC,eAAe,EAAE,iBAAiB,EAClC,gBAAgB,GAAE,OAAO,oBAA2C;IAKvF,OAAO,CAAC,KAAK,CAMV;IAEH,OAAO,CAAC,OAAO,CAkBb;IAEF,OAAO,CAAC,UAAU,CA+BhB;IAEF,OAAO,CAAC,mBAAmB,CA+BzB;IAEF,OAAO,CAAC,WAAW,CAGhB;IAEH,OAAO,CAAC,mBAAmB,CAGxB;IAEG,SAAS,CAAC,CAAC,SAAS,WAAW,EACnC,IAAI,EAAE,CAAC,EACP,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC5C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAcpB,gBAAgB,CAAC,CAAC,SAAS,gBAAgB,EAC/C,aAAa,EAAE,CAAC,EAChB,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACpC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAapC"}
\ No newline at end of file

Modified: package/out/ui/text.d.ts.map

Index: package/out/ui/text.d.ts.map
===================================================================
--- package/out/ui/text.d.ts.map
+++ package/out/ui/text.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/ui/text.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/ui/text.ts"],"names":[],"mappings":"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"}
\ No newline at end of file

Modified: package/CHANGELOG.md

Large diffs are not rendered by default.

Modified: package/out/apps/app-config.d.ts

Index: package/out/apps/app-config.d.ts
===================================================================
--- package/out/apps/app-config.d.ts
+++ package/out/apps/app-config.d.ts
@@ -8,6 +8,6 @@
 export declare type AppConfigProvider = () => Promise<AppDetails>;
 export declare function adjustLegacyAppId(legacyAppDetails: AppDetails): {
     id: string;
 };
-export declare const assertiveAppConfigProvider: (appConfigReader: ConfigSectionReader<AppDetails>) => AppConfigProvider;
+export declare const assertiveConfigAppIdProvider: (appConfigReader: ConfigSectionReader<AppDetails>) => AppConfigProvider;
 //# sourceMappingURL=app-config.d.ts.map
\ No newline at end of file

Modified: package/out/config/config-file-section-reader.d.ts

Index: package/out/config/config-file-section-reader.d.ts
===================================================================
--- package/out/config/config-file-section-reader.d.ts
+++ package/out/config/config-file-section-reader.d.ts
@@ -1,5 +1,6 @@
 import * as t from 'io-ts';
+import { EcosystemAppAri } from '@forge/util/packages/ari';
 import { ConfigReader } from './config';
 import { Codec, CodecType, InnerType } from './config-codec-types';
 import { ConfigSectionReader } from './config-section';
 export declare const NO_VALIDATION: t.TypeC<{}>;
@@ -7,7 +8,8 @@
 export declare class ConfigFileSectionReader {
     private readonly configReader;
     constructor(configReader: ConfigReader);
     readConfigSection<K extends string, V extends Codec>(key: K, schema: CodecType<V>): Promise<InnerType<V> | 'missing' | 'invalid'>;
+    readAppId(): Promise<EcosystemAppAri>;
 }
 export declare const configFileReaderForSection: <K extends string, P extends Codec>(key: K, schema: CodecType<P>, configReader: ConfigReader) => ConfigSectionReader<InnerType<P>>;
 //# sourceMappingURL=config-file-section-reader.d.ts.map
\ No newline at end of file

Modified: package/out/config/config-file.d.ts

Index: package/out/config/config-file.d.ts
===================================================================
--- package/out/config/config-file.d.ts
+++ package/out/config/config-file.d.ts
@@ -2,14 +2,18 @@
 import { ConfigReader, ConfigWriter } from './';
 import { Modules, ManifestSchema, Resources } from '@forge/manifest';
 import { UserError, ValidationError } from '../shared';
 import { RuntimeType } from '../runtimes';
+import { EcosystemAppAri } from '@forge/util/packages/ari';
 export declare class InvalidManifestError extends ValidationError {
     constructor();
 }
 export declare class ResourceDefinitionMissingError extends UserError {
     constructor(resources: string[]);
 }
+export declare class InvalidConfigAppId extends UserError {
+    constructor(appId: string);
+}
 export interface Handler {
     module: string;
     func: string;
 }
@@ -27,8 +31,9 @@
     private readonly fileReader;
     private readonly fileWriter;
     private readonly manifestParser;
     constructor(fileReader: FileSystemReader, fileWriter: FileSystemWriter);
+    readAppId(): Promise<EcosystemAppAri>;
     getAppHandlers(): Promise<Array<Handler>>;
     readConfig(): Promise<ManifestSchema>;
     snapshotsEnabled(): Promise<boolean>;
     runtimeType(): Promise<RuntimeType>;
@@ -51,5 +56,10 @@
     getResources(resourceTypes?: UIResourceType[]): Promise<ResourceDetails[]>;
     getConnectKey(): Promise<string | undefined>;
     private getResourceType;
 }
+export declare class RawConfigFile extends ConfigFile {
+    private rawFileReader;
+    constructor(fileReader: FileSystemReader, fileWriter: FileSystemWriter);
+    readConfig(): Promise<ManifestSchema>;
+}
 //# sourceMappingURL=config-file.d.ts.map
\ No newline at end of file

Modified: package/out/config/config-section.d.ts

Index: package/out/config/config-section.d.ts
===================================================================
--- package/out/config/config-section.d.ts
+++ package/out/config/config-section.d.ts
@@ -1,6 +1,9 @@
+import { EcosystemAppAri } from '@forge/util/packages/ari';
+import { AppDetails } from '../index';
 export interface ConfigSectionReader<V extends object> {
     readConfigSection(): Promise<V | 'missing' | 'invalid'>;
+    readAppId(): Promise<EcosystemAppAri>;
 }
 export interface ConfigSectionWriter<V extends object> {
     writeConfigSection(configSection: V): Promise<void>;
     prependAppNameToModules(name: string): Promise<void>;
@@ -12,7 +15,8 @@
 export declare class AssertiveConfigSectionReader<V extends object> {
     private readonly configSectionReader;
     constructor(configSectionReader: ConfigSectionReader<V>);
     readConfigSectionOrThrow(missingMessage: string, invalidMessage: string): Promise<V>;
+    readConfigAppIdOrThrow(): Promise<AppDetails>;
 }
 export declare const assertive: <V extends object>(configSectionReader: ConfigSectionReader<V>) => AssertiveConfigSectionReader<V>;
 //# sourceMappingURL=config-section.d.ts.map
\ No newline at end of file

Modified: package/out/config/config.d.ts

Index: package/out/config/config.d.ts
===================================================================
--- package/out/config/config.d.ts
+++ package/out/config/config.d.ts
@@ -1,5 +1,6 @@
 import { ManifestSchema, Resources } from '@forge/manifest';
+import { EcosystemAppAri } from '@forge/util/packages/ari';
 export declare const manifestFileName = "manifest.yml";
 export declare const dependencyFileNames: string[];
 export declare const ModuleEntryPoints: readonly ["view", "edit", "create", "contextConfig", "config", "target"];
 export declare type ModuleEntryPoint = (typeof ModuleEntryPoints)[number];
@@ -13,11 +14,14 @@
     render?: 'default' | 'native';
 } & {
     [entryPoint in ModuleEntryPoint]?: HostedResourcesModule;
 };
-export interface ConfigReader {
+export interface ConfigReader extends ConfigAppIdReader {
     readConfig(): Promise<ManifestSchema>;
 }
+export interface ConfigAppIdReader {
+    readAppId(): Promise<EcosystemAppAri>;
+}
 export interface ConfigWriter {
     writeToConfigFile<K extends string, V extends object>(configKey: K, config: V): Promise<void>;
     prependAppNameToModules(name: string): Promise<void>;
 }

Modified: package/out/graphql/graphql-types.d.ts

Large diffs are not rendered by default.

Modified: package/out/service/statsig-service.d.ts

Index: package/out/service/statsig-service.d.ts
===================================================================
--- package/out/service/statsig-service.d.ts
+++ package/out/service/statsig-service.d.ts
@@ -1,5 +1,5 @@
-import { CLIDetails, ConfigSectionReader, CredentialGetter, getEnvironmentConfig, Logger } from '../index';
+import { CLIDetails, ConfigAppIdReader, CredentialGetter, getEnvironmentConfig, Logger } from '../index';
 export declare type FeatureGate = 'forge-cli-test-gate' | 'is-logs-v-2-api-enabled' | 'forge-cli-bundle-runtime-loader' | 'forge-cli-enable-atlas-product-support' | 'forge-cli-enable-teamwork-graph-product-support' | 'forge-cli-enable-xpa-installation';
 export declare type DynamicConfig = {
     'forge-cli-test-dynamic-configs': {
         value: string[];
@@ -23,11 +23,9 @@
     private readonly cliDetails;
     private readonly credentialStore;
     private readonly appConfigReader;
     private readonly getEnvironmentFn;
-    constructor(logger: Logger, cliDetails: Pick<CLIDetails, 'version'> | undefined, credentialStore: CredentialGetter, appConfigReader: ConfigSectionReader<{
-        id: string;
-    }>, getEnvironmentFn?: typeof getEnvironmentConfig);
+    constructor(logger: Logger, cliDetails: Pick<CLIDetails, 'version'> | undefined, credentialStore: CredentialGetter, appConfigReader: ConfigAppIdReader, getEnvironmentFn?: typeof getEnvironmentConfig);
     private appID;
     private context;
     private fetchGates;
     private fetchDynamicConfigs;

Modified: package/out/ui/text.d.ts

Index: package/out/ui/text.d.ts
===================================================================
--- package/out/ui/text.d.ts
+++ package/out/ui/text.d.ts
@@ -109,8 +109,11 @@
         finished: string;
         warnings: (warnings: string[]) => string;
     };
     config: {
+        appId: {
+            invalid: (appId: string) => string;
+        };
         missing: string;
         invalid: string;
         manifest: {
             invalid: string;