npm package diff

Package: @forge/manifest

Versions: 7.6.1-next.1 - 7.7.0-next.2

File: package/out/validators/modules-validators/rovo/validate-unreferenced-actions.js

Index: package/out/validators/modules-validators/rovo/validate-unreferenced-actions.js
===================================================================
--- package/out/validators/modules-validators/rovo/validate-unreferenced-actions.js
+++ package/out/validators/modules-validators/rovo/validate-unreferenced-actions.js
@@ -0,0 +1,34 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.validateUnreferencedActions = void 0;
+const types_1 = require("../../../types");
+const text_1 = require("../../../text");
+const utils_1 = require("../../../utils");
+const validateUnreferencedActions = (allModules, yamlContentByLine) => {
+    const validationErrors = [];
+    const unreferencedActions = getUnreferencedActions(allModules);
+    unreferencedActions.forEach((action) => {
+        validationErrors.push(getValidationError(action, yamlContentByLine));
+    });
+    return validationErrors;
+};
+exports.validateUnreferencedActions = validateUnreferencedActions;
+function getUnreferencedActions(allModules) {
+    const actionKey = (0, utils_1.cleanKey)(types_1.AllModuleTypes.CoreAction);
+    const allActions = new Set(allModules[actionKey]?.map((action) => action.key) ?? []);
+    const rovoAgents = allModules[types_1.AllModuleTypes.RovoAgent];
+    rovoAgents?.forEach((agent) => {
+        agent.actions?.forEach((action) => {
+            allActions.delete(action);
+        });
+    });
+    return Array.from(allActions);
+}
+function getValidationError(action, yamlContentByLine) {
+    return {
+        message: text_1.errors.modules.rovo.unreferencedAction(action),
+        reference: text_1.References.Modules,
+        level: 'warning',
+        ...(0, utils_1.findPosition)(action, yamlContentByLine)
+    };
+}