UNPKG

firebase-tools

Version:
30 lines (29 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRulesTool = void 0; const zod_1 = require("zod"); const tool_js_1 = require("../../tool.js"); const util_js_1 = require("../../util.js"); const rules_js_1 = require("../../../gcp/rules.js"); function getRulesTool(productName, releaseName) { return (0, tool_js_1.tool)({ name: "get_rules", description: `Retrieves the active ${productName} security rules for the current project.`, inputSchema: zod_1.z.object({}), annotations: { title: `Get Current ${productName} Rules`, readOnlyHint: true, }, _meta: { requiresProject: true, requiresAuth: true, }, }, async (_, { projectId }) => { const rulesetName = await (0, rules_js_1.getLatestRulesetName)(projectId, releaseName); if (!rulesetName) return (0, util_js_1.mcpError)(`No active Firestore rules were found in project '${projectId}'`); const rules = await (0, rules_js_1.getRulesetContent)(rulesetName); return (0, util_js_1.toContent)(rules[0].content); }); } exports.getRulesTool = getRulesTool;