npm package diff

Package: @forge/cli

Versions: 10.6.1 - 10.7.0-next.9

Modified:package/out/installations/site-translation/cloudid-products.js

Index: package/out/installations/site-translation/cloudid-products.js
===================================================================
--- package/out/installations/site-translation/cloudid-products.js
+++ package/out/installations/site-translation/cloudid-products.js
@@ -1,24 +1,33 @@
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.CloudIdTranslator = exports.InvalidAtlassianSiteError = void 0;
-const ari_1 = require("@forge/util/packages/ari");
+exports.CloudIdTranslator = exports.ActivationIdMissingError = exports.InvalidAtlassianSiteError = void 0;
 const cli_shared_1 = require("@forge/cli-shared");
 class InvalidAtlassianSiteError extends cli_shared_1.UserError {
     constructor(url) {
         super(cli_shared_1.Text.install.error.invalidAtlassianSite(url));
     }
 }
 exports.InvalidAtlassianSiteError = InvalidAtlassianSiteError;
-const tenantContextsToCloudId = (url, contexts) => {
+class ActivationIdMissingError extends Error {
+    constructor(url, product) {
+        super(cli_shared_1.Text.install.error.activationIdMissing(url, product));
+    }
+}
+exports.ActivationIdMissingError = ActivationIdMissingError;
+const tenantContextsToCloudIdAndActivationId = (url, contexts, product) => {
     if (!contexts.length) {
         throw new InvalidAtlassianSiteError(url);
     }
     const context = contexts[0];
     if (!context || !context.cloudId) {
         throw new InvalidAtlassianSiteError(url);
     }
-    return context.cloudId;
+    const activationId = context.activationIdByProduct?.active;
+    if (!activationId) {
+        throw new ActivationIdMissingError(url.toString(), product);
+    }
+    return { cloudId: context.cloudId, activationId: activationId };
 };
 const tenantToHostname = (tenantInfo) => {
     if (!tenantInfo) {
         return null;
@@ -35,15 +44,13 @@
             (ari.resourceType === cli_shared_1.WORKSPACE_RESOURCE_TYPE &&
                 ![cli_shared_1.TRELLO_RESOURCE_OWNER, cli_shared_1.BITBUCKET_RESOURCE_OWNER].includes(ari.resourceOwner)));
     }
     async buildInstallationContext(product, site) {
-        const cloudId = await this.getCloudId(site);
-        const ari = ari_1.AnyAri.create({
-            resourceOwner: (0, cli_shared_1.ariResourceOwner)(product),
-            resourceType: cli_shared_1.SITE_RESOURCE_TYPE,
-            resourceId: cloudId
-        });
-        return ari;
+        const lowerCaseProduct = product.toLowerCase();
+        const { cloudId, activationId } = await this.getCloudIdAndActivationId(site, lowerCaseProduct);
+        const workspaceAriCreator = cli_shared_1.createWorkspaceAriByProduct[lowerCaseProduct];
+        const workspaceAri = workspaceAriCreator(cloudId, activationId);
+        return workspaceAri;
     }
     async getSitesForResourceAris(aris) {
         const MAX_CLOUD_IDS_AT_ONCE = 20;
         const cloudIds = [...new Set(aris.map((ari) => ari.derivedCloudId))];
@@ -72,20 +79,25 @@
             ariToHostname[ari.toString()] = cloudIdToHostname[ari.derivedCloudId];
         });
         return ariToHostname;
     }
-    async getCloudId(site) {
+    async getCloudIdAndActivationId(site, product) {
         const query = `
-          query forge_cli_getCloudIfForTenantContexts($hostNames: [String!]) {
-            tenantContexts(hostNames: $hostNames) {
-              cloudId
+        query getTenantContextDetails($hostNames: [String!], $product: String!) {
+          tenantContexts(hostNames: $hostNames) {
+            cloudId
+            activationIdByProduct(product: $product) {
+              product
+              active
             }
           }
+        }
         `;
         const result = await this.graphqlClient.query(query, {
-            hostNames: [site.hostname]
+            hostNames: [site.hostname],
+            product
         });
         const tenantContexts = result.tenantContexts || [];
-        return tenantContextsToCloudId(site, tenantContexts);
+        return tenantContextsToCloudIdAndActivationId(site, tenantContexts, product);
     }
 }
 exports.CloudIdTranslator = CloudIdTranslator;

Modified:package/out/command-line/dependency-injection.js

Index: package/out/command-line/dependency-injection.js
===================================================================
--- package/out/command-line/dependency-injection.js
+++ package/out/command-line/dependency-injection.js
@@ -135,9 +135,9 @@
     const customEntitiesService = new custom_entities_service_1.CustomEntitiesService(assertiveAppConfigReader, appOauthClientGraphql, entitiesClient);
     const listEntitiesIndexesCommand = new list_indexes_1.ListEntitiesIndexesCommand(customEntitiesService);
     const bitbucketTranslation = new site_translation_1.BitbucketTranslator();
     const cloudProductTranslation = new site_translation_1.CloudIdTranslator(graphQLClient);
-    const installationsClient = new graphql_client_6.InstallationsGraphqlClient(graphQLClient, cloudProductTranslation, bitbucketTranslation, cli_shared_1.pause, featureFlagService);
+    const installationsClient = new graphql_client_6.InstallationsGraphqlClient(graphQLClient, cloudProductTranslation, bitbucketTranslation, cli_shared_1.pause);
     const installAppSiteCommand = new install_app_site_1.InstallAppSiteCommand(assertiveAppConfigReader, installationsClient);
     const uninstallAppCommand = new uninstall_app_1.UninstallAppCommand(assertiveAppConfigReader, installationsClient);
     const deployMonitorClient = new deploy_1.DeployMonitorGraphqlClient(graphQLClient);
     const webTriggerGraphqlClient = new graphql_client_7.WebTriggerGraphQLClient(graphQLClient);

Modified:package/out/installations/graphql-client.js

Index: package/out/installations/graphql-client.js
===================================================================
--- package/out/installations/graphql-client.js
+++ package/out/installations/graphql-client.js
@@ -75,9 +75,8 @@
     graphqlClient;
     cloudIdTranslator;
     bitbucketTranslator;
     pause;
-    featureFlagReader;
     SITE_RESOURCE_TYPE = 'site';
     WORKSPACE_RESOURCE_TYPE = 'workspace';
     static buildInstallationContext(product, resourceId, resourceType) {
         const ari = ari_1.AnyAri.create({
@@ -86,14 +85,13 @@
             resourceId: resourceId
         });
         return ari.toString();
     }
-    constructor(graphqlClient, cloudIdTranslator, bitbucketTranslator, pause, featureFlagReader) {
+    constructor(graphqlClient, cloudIdTranslator, bitbucketTranslator, pause) {
         this.graphqlClient = graphqlClient;
         this.cloudIdTranslator = cloudIdTranslator;
         this.bitbucketTranslator = bitbucketTranslator;
         this.pause = pause;
-        this.featureFlagReader = featureFlagReader;
     }
     async buildInstallationContext(product, site) {
         const ari = await this.getProductTranslation(product).buildInstallationContext(product, site);
         return ari.toString();
@@ -104,9 +102,9 @@
         }
         return this.cloudIdTranslator;
     }
     async installAppIntoSite({ environmentKey, site, product, appId, licenseOverride }) {
-        const installationContext = await this.buildInstallationContext(product, site);
+        const workspaceAri = await this.buildInstallationContext(product, site);
         const query = `
       mutation forge_cli_installApplication($input: AppInstallationInput!) {
         installApp(input: $input) {
           success
@@ -122,9 +120,9 @@
       }
     `;
         const variables = {
             input: {
-                installationContext,
+                installationContext: workspaceAri,
                 appId,
                 environmentKey,
                 async: true,
                 licenseOverride
@@ -150,9 +148,9 @@
         }
         await this.monitorAppInstallOrUpgrade(taskId);
     }
     async upgradeInstallation({ site, product, environmentKey, appId }) {
-        const installationContext = await this.buildInstallationContext(product, site);
+        const workspaceAri = await this.buildInstallationContext(product, site);
         const query = `
       mutation forge_cli_upgradeApplication($input: AppInstallationUpgradeInput!) {
         upgradeApp(input: $input) {
           success
@@ -168,9 +166,9 @@
       }
     `;
         const variables = {
             input: {
-                installationContext,
+                installationContext: workspaceAri,
                 appId,
                 environmentKey,
                 async: true
             }
@@ -195,16 +193,13 @@
             const result = await this.getAppInstallationTaskRetry(taskId);
             status = result.state;
             if (status === cli_shared_1.AppTaskState.Failed) {
                 const { errors, requestId } = result;
-                const shouldDisplayHarmonizedAppInstallationErrors = await this.featureFlagReader.shouldDisplayErrorsForHarmonizedApps();
                 const error = errors?.[0];
                 const statusCode = error?.extensions?.statusCode;
                 const isUserError = statusCode && statusCode >= 400 && statusCode < 500 ? true : false;
                 const code = error?.extensions?.errorType ?? undefined;
-                throw new InstallationRequestFailedError(isUserError, code, shouldDisplayHarmonizedAppInstallationErrors
-                    ? (0, harmonized_app_installation_errors_1.expandHarmonizedAppInstallationError)(code, error?.message ?? undefined)
-                    : error?.message ?? undefined, requestId);
+                throw new InstallationRequestFailedError(isUserError, code, (0, harmonized_app_installation_errors_1.expandHarmonizedAppInstallationError)(code, error?.message ?? undefined), requestId);
             }
             if (status !== cli_shared_1.AppTaskState.Complete)
                 await this.pause(exports.UNINSTALLATION_EVENT_POLL_INTERVAL);
         }

Modified:package/npm-shrinkwrap.json

too-big

Modified:package/package.json

Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@forge/cli",
-  "version": "10.6.1",
+  "version": "10.7.0-next.9",
   "description": "A command line interface for managing Atlassian-hosted apps",
   "author": "Atlassian",
   "license": "UNLICENSED",
   "bin": {
@@ -17,15 +17,15 @@
     "postbuild": "chmod +x out/bin/*.js && ts-node scripts/configureAutocomplete.ts",
     "postinstall": "node -e \"fs.existsSync('./out/bin/postinstall.js') && require('./out/bin/postinstall.js')\""
   },
   "dependencies": {
-    "@forge/bundler": "4.19.1",
-    "@forge/cli-shared": "5.5.1",
+    "@forge/bundler": "4.19.2-next.9",
+    "@forge/cli-shared": "5.5.2-next.6",
     "@forge/egress": "1.2.13",
-    "@forge/lint": "5.3.4",
-    "@forge/manifest": "7.7.1",
+    "@forge/lint": "5.4.0-next.7",
+    "@forge/manifest": "7.8.0-next.2",
     "@forge/runtime": "5.10.1",
-    "@forge/tunnel": "5.5.1",
+    "@forge/tunnel": "5.5.2-next.9",
     "@forge/util": "1.4.4",
     "@sentry/node": "7.100.1",
     "@forge/i18n": "0.0.1",
     "ajv": "^8.12.0",

Modified:package/out/installations/site-translation/cloudid-products.d.ts.map

Index: package/out/installations/site-translation/cloudid-products.d.ts.map
===================================================================
--- package/out/installations/site-translation/cloudid-products.d.ts.map
+++ package/out/installations/site-translation/cloudid-products.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"cloudid-products.d.ts","sourceRoot":"","sources":["../../../src/installations/site-translation/cloudid-products.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAU,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACL,aAAa,EAOb,SAAS,EAGT,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,yBAA0B,SAAQ,SAAS;gBAC1C,GAAG,EAAE,GAAG;CAGrB;AAuBD,qBAAa,iBAAkB,YAAW,cAAc;IAC1C,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEzC,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO;IAQxC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAUlE,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YA4C5E,UAAU;CAezB"}
\ No newline at end of file
+{"version":3,"file":"cloudid-products.d.ts","sourceRoot":"","sources":["../../../src/installations/site-translation/cloudid-products.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EACL,aAAa,EAOb,SAAS,EAET,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,yBAA0B,SAAQ,SAAS;gBAC1C,GAAG,EAAE,GAAG;CAGrB;AAED,aAAK,sBAAsB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AACxE,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGzC;AA+BD,qBAAa,iBAAkB,YAAW,cAAc;IAC1C,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEzC,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO;IAQxC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IASlE,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA2C7E,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAsBpG"}
\ No newline at end of file

Modified:package/out/command-line/dependency-injection.d.ts.map

Index: package/out/command-line/dependency-injection.d.ts.map
===================================================================
--- package/out/command-line/dependency-injection.d.ts.map
+++ package/out/command-line/dependency-injection.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAElB,kBAAkB,EAInB,MAAM,mBAAmB,CAAC;AAc3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAML,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAIlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAUlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE3F,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmWvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC7D,oBAAY,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAElB,kBAAkB,EAInB,MAAM,mBAAmB,CAAC;AAc3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAML,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAIlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAUlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE3F,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkWvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC7D,oBAAY,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
\ No newline at end of file

Modified:package/out/installations/graphql-client.d.ts.map

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

Modified:package/CHANGELOG.md

too-big

Modified:package/out/installations/site-translation/cloudid-products.d.ts

Index: package/out/installations/site-translation/cloudid-products.d.ts
===================================================================
--- package/out/installations/site-translation/cloudid-products.d.ts
+++ package/out/installations/site-translation/cloudid-products.d.ts
@@ -5,13 +5,21 @@
 import { GraphQLClient, UserError, EnrichedAri } from '@forge/cli-shared';
 export declare class InvalidAtlassianSiteError extends UserError {
     constructor(url: URL);
 }
+declare type CloudIdAndActivationId = {
+    cloudId: string;
+    activationId: string;
+};
+export declare class ActivationIdMissingError extends Error {
+    constructor(url: string, product: string);
+}
 export declare class CloudIdTranslator implements SiteTranslator {
     private graphqlClient;
     constructor(graphqlClient: GraphQLClient);
     ariBelongsToProduct(ari: EnrichedAri): boolean;
     buildInstallationContext(product: string, site: URL): Promise<Ari>;
     getSitesForResourceAris(aris: EnrichedAri[]): Promise<Record<string, string>>;
-    private getCloudId;
+    getCloudIdAndActivationId(site: URL, product: string): Promise<CloudIdAndActivationId>;
 }
+export {};
 //# sourceMappingURL=cloudid-products.d.ts.map
\ No newline at end of file

Modified:package/out/installations/graphql-client.d.ts

Index: package/out/installations/graphql-client.d.ts
===================================================================
--- package/out/installations/graphql-client.d.ts
+++ package/out/installations/graphql-client.d.ts
@@ -1,5 +1,5 @@
-import { AppUninstallationInput, GraphQLClient, GraphQlMutationError, Pause, BaseError, UserError, FeatureFlagReader } from '@forge/cli-shared';
+import { AppUninstallationInput, GraphQLClient, GraphQlMutationError, Pause, BaseError, UserError } from '@forge/cli-shared';
 import { AppInstallSiteDetails, InstallAppClient } from './install-app-site';
 import { AppEnvironmentVersionData, Installation, ListAppInstallationsClient, UpgradeAppInstallationsClient } from '../service/installation-service';
 import { UninstallAppClient, UninstallAppOutput } from './uninstall-app';
 import { SiteTranslator } from './site-translation';
@@ -48,13 +48,12 @@
     private readonly graphqlClient;
     private readonly cloudIdTranslator;
     private readonly bitbucketTranslator;
     private readonly pause;
-    private readonly featureFlagReader;
     SITE_RESOURCE_TYPE: string;
     WORKSPACE_RESOURCE_TYPE: string;
     static buildInstallationContext(product: string, resourceId: string, resourceType: string): string;
-    constructor(graphqlClient: GraphQLClient, cloudIdTranslator: SiteTranslator, bitbucketTranslator: SiteTranslator, pause: Pause, featureFlagReader: FeatureFlagReader);
+    constructor(graphqlClient: GraphQLClient, cloudIdTranslator: SiteTranslator, bitbucketTranslator: SiteTranslator, pause: Pause);
     private buildInstallationContext;
     private getProductTranslation;
     installAppIntoSite({ environmentKey, site, product, appId, licenseOverride }: AppInstallSiteDetails): Promise<void>;
     upgradeInstallation({ site, product, environmentKey, appId }: AppInstallSiteDetails): Promise<void>;