@forge/manifest

12.6.0-next.112.6.0-next.2
out/text/errors.js
~out/text/errors.jsModified
+4−4
Index: package/out/text/errors.js
===================================================================
--- package/out/text/errors.js
+++ package/out/text/errors.js
@@ -33,8 +33,9 @@
     },
     permissions: {
         invalidPermission: (element, value) => `Invalid '${element}' permission in the manifest.yml file - '${value}'. Learn more about permissions at: https://go.atlassian.com/forge-permissions.`,
         missingPermissionFromScope: (scope, event) => `Trigger event: '${event}' requires '${scope}' scope`,
+        missingPermissionFromAgentProductContext: (scope, agentKey, productContexts) => `rovo:agentConnector '${agentKey}' declares productContexts: [${productContexts.join(', ')}] but is missing required scope '${scope}'`,
         missingEndpointPermissionFromScope: (scope, key) => `Endpoint module: '${key}' requires '${scope}' scope.`,
         missingRemotePermissionFromScope: (scope, key) => `Remote: '${key}' requires '${scope}' scope.`,
         deprecatedPermission: (element, value) => `There are deprecated scopes '${element}' in the manifest.yml file: '${value.join(', ')}'. You need to update this app to use new scopes and remove the deprecated scopes. Learn more at: https://go.atlassian.com/forge-permissions.`,
         deprecatedEgressPermission: (key) => `There are deprecated egress permission entries for '${key}' in the manifest.yml file`,
@@ -110,11 +111,9 @@
         jiraJqlFunction: {
             duplicateFunctionNames: (names) => `JQL function names must be unique. Found duplicates: ${names.join(', ')}.`
         },
         jiraActionValidator: {
-            limitPerActionType: (actionType, limit) => `Only ${limit} ${types_1.AllModuleTypes.JiraActionValidator} module is allowed per action type. Found multiple modules for action type: ${actionType}.`,
-            incompatibleModules: (otherModules) => `${types_1.AllModuleTypes.JiraActionValidator} modules can only be declared with page modules and core functions. Found incompatible modules: ${otherModules.join(', ')}.`,
-            tooManyModules: (totalModules, limit) => `Apps with ${types_1.AllModuleTypes.JiraActionValidator} modules can declare up to ${limit} additional modules. Found ${totalModules} total modules.`
+            limitPerActionType: (actionType, limit) => `Only ${limit} ${types_1.AllModuleTypes.JiraActionValidator} module is allowed per action type. Found multiple modules for action type: ${actionType}.`
         },
         jiraFullPageModule: {
             invalidRouteRegex: (pattern, keyName, index) => `The routePrefix '${pattern}' at index '${index}' for key '${keyName}' needs to be in a valid URL route between 1-255 characters and contain only URL safe characters such as: a-z, 0-9 and '\' and '-'.`,
             propertyUniqueness: (property, moduleKey, keys) => `${property} should be unique across all ${moduleKey} modules. Found duplicates: ${keys.join(', ')}`,
@@ -184,9 +183,10 @@
             missingRemote: () => `Missing remote in migration:dataResidency.`
         },
         globalUi: {
             invalidIcon: (icon, keyName, index) => `The icon '${icon}' at index '${index}' for key '${keyName}' needs to be a defined resource of file type svg.`,
-            renderMustBeNative: (keyName, index) => `The render property at index '${index}' for key '${keyName}' must be set to 'native' for global:ui modules.`
+            renderMustBeNative: (keyName, index) => `The render property at index '${index}' for key '${keyName}' must be set to 'native' for global:ui modules.`,
+            installationTargetRequired: () => `Apps using the global:ui module must set app.installationTarget to 'unit'.`
         }
     },
     resources: {
         missingResource: (folder, key) => `missing resource '${folder}' is being referenced by '${key}' in resources`,