[console_scripts]
metaguard = metamorphic_guard.cli:main
metamorphic-guard = metamorphic_guard.cli:main
metamorphic-guard-worker = metamorphic_guard.worker:main

[metamorphic_guard.executors]
anthropic = metamorphic_guard.executors.anthropic:AnthropicExecutor
openai = metamorphic_guard.executors.openai:OpenAIExecutor
vllm = metamorphic_guard.executors.vllm:VLLMExecutor

[metamorphic_guard.judges]
attribution = metamorphic_guard.judges.rag_guards:AttributionJudge
citation = metamorphic_guard.judges.structured:CitationJudge
citation_verification = metamorphic_guard.judges.rag_guards:CitationVerificationJudge
length = metamorphic_guard.judges.builtin:LengthJudge
llm_as_judge = metamorphic_guard.judges.llm_as_judge:LLMAsJudge
no_pii = metamorphic_guard.judges.builtin:NoPIIJudge
rubric = metamorphic_guard.judges.structured:RubricJudge

[metamorphic_guard.monitors]
fairness = metamorphic_guard.monitoring:FairnessGapMonitor
latency = metamorphic_guard.monitoring:LatencyMonitor
llm_cost = metamorphic_guard.monitoring:LLMCostMonitor
resource = metamorphic_guard.monitoring:ResourceUsageMonitor
success_rate = metamorphic_guard.monitoring:SuccessRateMonitor
test_monitor = tests.fixtures.plugins.test_monitor:TestMonitor

[metamorphic_guard.mutants]
chain_of_thought = metamorphic_guard.mutants.advanced:ChainOfThoughtToggleMutant
citation_shuffle = metamorphic_guard.mutant_bank.rag_mutants:CitationShuffleMutant
context_reorder = metamorphic_guard.mutant_bank.rag_mutants:ContextReorderMutant
instruction_permutation = metamorphic_guard.mutants.advanced:InstructionPermutationMutant
jailbreak_probe = metamorphic_guard.mutants.advanced:JailbreakProbeMutant
negation_flip = metamorphic_guard.mutants.builtin:NegationFlipMutant
paraphrase = metamorphic_guard.mutants.builtin:ParaphraseMutant
role_swap = metamorphic_guard.mutants.builtin:RoleSwapMutant

[pytest11]
metamorphic = pytest_metamorphic.plugin
