"""MCP server integration for ExStruct."""

from __future__ import annotations

from .chunk_reader import (
    ReadJsonChunkFilter,
    ReadJsonChunkRequest,
    ReadJsonChunkResult,
    read_json_chunk,
)
from .extract_runner import (
    ExtractOptions,
    ExtractRequest,
    ExtractResult,
    WorkbookMeta,
    run_extract,
)
from .io import PathPolicy
from .patch_runner import (
    FormulaIssue,
    MakeRequest,
    PatchDiffItem,
    PatchErrorDetail,
    PatchOp,
    PatchRequest,
    PatchResult,
    PatchValue,
    run_make,
    run_patch,
)
from .sheet_reader import (
    CellReadItem,
    FormulaReadItem,
    ReadCellsRequest,
    ReadCellsResult,
    ReadFormulasRequest,
    ReadFormulasResult,
    ReadRangeRequest,
    ReadRangeResult,
    read_cells,
    read_formulas,
    read_range,
)
from .tools import (
    DescribeOpToolInput,
    DescribeOpToolOutput,
    ExtractToolInput,
    ExtractToolOutput,
    ListOpsToolOutput,
    MakeToolInput,
    MakeToolOutput,
    PatchToolInput,
    PatchToolOutput,
    ReadCellsToolInput,
    ReadCellsToolOutput,
    ReadFormulasToolInput,
    ReadFormulasToolOutput,
    ReadJsonChunkToolInput,
    ReadJsonChunkToolOutput,
    ReadRangeToolInput,
    ReadRangeToolOutput,
    ValidateInputToolInput,
    ValidateInputToolOutput,
    run_describe_op_tool,
    run_extract_tool,
    run_list_ops_tool,
    run_make_tool,
    run_patch_tool,
    run_read_cells_tool,
    run_read_formulas_tool,
    run_read_json_chunk_tool,
    run_read_range_tool,
    run_validate_input_tool,
)
from .validate_input import (
    ValidateInputRequest,
    ValidateInputResult,
    validate_input,
)

__all__ = [
    "DescribeOpToolInput",
    "DescribeOpToolOutput",
    "ExtractRequest",
    "ExtractResult",
    "ExtractOptions",
    "ExtractToolInput",
    "ExtractToolOutput",
    "FormulaIssue",
    "FormulaReadItem",
    "ListOpsToolOutput",
    "MakeRequest",
    "MakeToolInput",
    "MakeToolOutput",
    "PatchDiffItem",
    "PatchErrorDetail",
    "PatchOp",
    "PatchRequest",
    "PatchResult",
    "PatchToolInput",
    "PatchToolOutput",
    "PatchValue",
    "PathPolicy",
    "ReadCellsRequest",
    "ReadCellsResult",
    "ReadCellsToolInput",
    "ReadCellsToolOutput",
    "ReadFormulasRequest",
    "ReadFormulasResult",
    "ReadFormulasToolInput",
    "ReadFormulasToolOutput",
    "ReadJsonChunkFilter",
    "ReadJsonChunkRequest",
    "ReadJsonChunkResult",
    "ReadJsonChunkToolInput",
    "ReadJsonChunkToolOutput",
    "ReadRangeRequest",
    "ReadRangeResult",
    "ReadRangeToolInput",
    "ReadRangeToolOutput",
    "CellReadItem",
    "ValidateInputRequest",
    "ValidateInputResult",
    "ValidateInputToolInput",
    "ValidateInputToolOutput",
    "WorkbookMeta",
    "read_json_chunk",
    "validate_input",
    "run_extract",
    "run_describe_op_tool",
    "run_extract_tool",
    "run_list_ops_tool",
    "run_make",
    "run_make_tool",
    "run_patch",
    "run_patch_tool",
    "read_cells",
    "read_formulas",
    "run_read_json_chunk_tool",
    "read_range",
    "run_read_cells_tool",
    "run_read_formulas_tool",
    "run_read_range_tool",
    "run_validate_input_tool",
]
