@rip-user/rls-debugger-mcp
Version:
AI-powered MCP server for debugging Supabase Row Level Security policies with Claude structured outputs
34 lines • 1.26 kB
JavaScript
import { z } from 'zod';
// Structured output schema for RLS analysis
export const RLSAnalysisSchema = z.object({
scenario_summary: z.string().describe('Brief summary of what the user is trying to do'),
applicable_policies: z.array(z.object({
table: z.string(),
policy_name: z.string(),
operation: z.string(),
condition: z.string(),
will_grant_access: z.boolean(),
reason: z.string(),
policy_type: z.enum(['PERMISSIVE', 'RESTRICTIVE'])
})),
policy_combination_logic: z.string().describe('How PERMISSIVE and RESTRICTIVE policies combine'),
root_cause: z.object({
issue: z.string(),
missing_condition: z.string().optional(),
incorrect_policy: z.string().optional(),
conflicting_policies: z.array(z.string()).optional()
}),
required_relationships: z.array(z.object({
table: z.string(),
condition: z.string(),
exists: z.boolean(),
verification_query: z.string()
})).optional(),
recommendations: z.array(z.object({
action: z.string(),
sql: z.string().optional(),
explanation: z.string(),
risk_level: z.enum(['low', 'medium', 'high'])
}))
});
//# sourceMappingURL=types.js.map