// tools/register-governance-tools.ts — Registers Data Governance tool (SPEC-030)
import { z } from 'zod';
import { t } from '../i18n/index.js';
import { handleDataGovernance } from './data-governance.js';
import { safeLicensed } from './safe-handler.js';
export function registerGovernanceTools(server) {
    // data_governance — SPEC-030
    server.registerTool('data_governance', {
        description: t('tools.data_governance.description'),
        annotations: { readOnlyHint: true },
        inputSchema: {
            projectId: z.string().max(500).describe('Project ID'),
            subcommand: z
                .enum(['detect', 'retention-policy', 'privacy-notice', 'audit'])
                .describe('detect: find PII in a spec; retention-policy: generate retention policy for a model; ' +
                'privacy-notice: draft technical privacy notice for the project; ' +
                'audit: list all specs with PII and their compliance status'),
            specId: z
                .string()
                .max(500)
                .optional()
                .describe('Spec ID to analyze (required for detect subcommand)'),
            modelName: z
                .string()
                .max(500)
                .optional()
                .describe('Model name for retention-policy subcommand (default: User)'),
            specContent: z
                .string()
                .max(1_000_000)
                .optional()
                .describe('Raw spec content to analyze when specId is not available'),
        },
    }, safeLicensed('data_governance', async (args) => handleDataGovernance(args)));
}
//# sourceMappingURL=register-governance-tools.js.map