npm package diff

Package: @forge/cli

Versions: 11.0.1-next.14 - 11.1.0-next.24

File: package/out/service/version-service.js

Index: package/out/service/version-service.js
===================================================================
--- package/out/service/version-service.js
+++ package/out/service/version-service.js
@@ -6,8 +6,9 @@
 const manifest_1 = require("@forge/manifest");
 class VersionService {
     getAppConfig;
     versionDetailsClient;
+    adapters = [this.addDefaultTypeToLegacyWebtriggerDetails];
     constructor(getAppConfig, versionDetailsClient) {
         this.getAppConfig = getAppConfig;
         this.versionDetailsClient = versionDetailsClient;
     }
@@ -82,9 +83,9 @@
         const data = await this.versionDetailsClient.getVersionDetails(appId, environmentKey, majorVersion);
         const functionModules = data.modules?.filter((mod) => mod?.extensionData.type === manifest_1.AllModuleTypes.CoreFunction);
         const remoteModules = data.modules?.filter((mod) => mod?.extensionData.type === manifest_1.AllModuleTypes.CoreRemote);
         const allModules = this.getModulesGroupedByTypes(data.modules);
-        return {
+        const appDetails = {
             requiresLicense: data.requiresLicense,
             egresses: this.getEgresses(data.permissions?.[0].egress, remoteModules),
             scopes: data.permissions?.[0].scopes.map((scope) => scope.key).sort() || [],
             policies: this.getPolicies(data.permissions?.[0].securityPolicies),
@@ -101,8 +102,10 @@
                 baseUrl: entry.extensionData.baseUrl,
                 operations: entry.extensionData.operations || []
             }))
         };
+        this.applyPropertyAdapter(appDetails);
+        return appDetails;
     }
     getTypeFromPermissionType(permissionType) {
         switch (permissionType) {
             case cli_shared_1.AppNetworkPermissionType.FetchBackendSide:
@@ -158,6 +161,33 @@
             modules: entry.modules.map((module) => ({ type: module.type, count: module.items.length })),
             requiresLicense: entry.requiresLicense
         }));
     }
+    applyPropertyAdapter(appDetails) {
+        for (const adapter of this.adapters) {
+            for (const [property, propertyDetails] of Object.entries(appDetails)) {
+                const [propertyKey, updatedPropertyDetails] = adapter([property, propertyDetails]);
+                Object.defineProperty(appDetails, propertyKey, { value: updatedPropertyDetails });
+            }
+        }
+    }
+    addDefaultTypeToLegacyWebtriggerDetails(params) {
+        if (params[0] === 'modules') {
+            for (const module of params[1]) {
+                if (module.type !== 'webtrigger')
+                    continue;
+                for (const wt of module.items) {
+                    if (!wt.properties.response) {
+                        wt.properties = {
+                            ...wt.properties,
+                            response: {
+                                type: 'dynamic (default)'
+                            }
+                        };
+                    }
+                }
+            }
+        }
+        return params;
+    }
 }
 exports.VersionService = VersionService;