firebase-tools
Version:
Command-Line Interface for Firebase
30 lines (29 loc) • 1.2 kB
JavaScript
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;
;