"""
GraphQL interface for MarkiTect - Issue #9

This package provides a GraphQL read interface for querying MarkiTect's
database content including Markdown files, ASTs, schemas, and Information Spaces.
"""

from .schema import schema
from .server import GraphQLServer, GraphQLClient
from .resolvers import Query, Mutation

# Space schema extensions
from .space_schema import (
    InformationSpaceType,
    SpaceDocumentType,
    SpaceVariableType,
    SpaceQuery,
    SpaceMutation,
    CreateSpacePayload,
    UpdateSpacePayload,
    DeleteSpacePayload,
)

__all__ = [
    # Core schema
    'schema',
    'GraphQLServer',
    'GraphQLClient',
    'Query',
    'Mutation',
    # Space types
    'InformationSpaceType',
    'SpaceDocumentType',
    'SpaceVariableType',
    'SpaceQuery',
    'SpaceMutation',
    'CreateSpacePayload',
    'UpdateSpacePayload',
    'DeleteSpacePayload',
]