"""
SAGE RAG Prompt Management

NCS-specific prompt templates for RAG generation with
proper citation formatting and safety constraints.
"""

from sage.rag.prompts.base import (
    PromptRegistry,
    PromptTemplate,
    PromptVariable,
    SystemPrompt,
    get_registry,
    register_system_prompt,
    register_template,
)
from sage.rag.prompts.ncs_templates import (
    CALCULATION_REVIEW,
    CITATION_FORMAT_FULL,
    CITATION_FORMAT_INLINE,
    # Formatting templates
    CONTEXT_CHUNK_FORMAT,
    DOCUMENT_SUMMARY,
    # Specialized templates
    LIMIT_COMPARISON,
    NCS_CALCULATION_PROMPT,
    NCS_REGULATORY_PROMPT,
    # System prompts
    NCS_SYSTEM_PROMPT,
    QA_INSUFFICIENT_CONTEXT,
    # QA templates
    QA_WITH_CONTEXT,
    QA_WITH_CONTEXT_AND_HISTORY,
    REGULATION_LOOKUP,
    # Helper functions
    get_ncs_system_prompt,
    get_qa_template,
)

__all__ = [
    # Base classes
    "PromptTemplate",
    "PromptVariable",
    "SystemPrompt",
    "PromptRegistry",
    "get_registry",
    "register_template",
    "register_system_prompt",
    # System prompts
    "NCS_SYSTEM_PROMPT",
    "NCS_CALCULATION_PROMPT",
    "NCS_REGULATORY_PROMPT",
    # QA templates
    "QA_WITH_CONTEXT",
    "QA_WITH_CONTEXT_AND_HISTORY",
    "QA_INSUFFICIENT_CONTEXT",
    # Formatting templates
    "CONTEXT_CHUNK_FORMAT",
    "CITATION_FORMAT_INLINE",
    "CITATION_FORMAT_FULL",
    # Specialized templates
    "LIMIT_COMPARISON",
    "REGULATION_LOOKUP",
    "CALCULATION_REVIEW",
    "DOCUMENT_SUMMARY",
    # Helper functions
    "get_ncs_system_prompt",
    "get_qa_template",
]
