Skip to content

angee.graphql.schema

Live GraphQL schema assembly from discovered addon parts.

DEFAULT_SCHEMA_NAME

Default GraphQL schema name served by Angee hosts.

SCHEMA_PART_KEYS

GraphQL merge buckets accepted from addon schema declarations.

AngeeSchema

python
class AngeeSchema(strawberry.Schema)

Strawberry schema that exposes stable REBAC denial codes.

angee_resources

Model resource metadata carried by this built schema.

process_errors

python
def process_errors(errors: list[GraphQLError],
                   execution_context: ExecutionContext | None = None) -> None

Attach GraphQL error codes before Strawberry logs errors.

SchemaParts

python
@dataclass(frozen=True, slots=True)
class SchemaParts()

Normalized GraphQL merge buckets for one schema name.

query

Root query surfaces.

mutation

Root mutation surfaces.

subscription

Root subscription surfaces.

types

Additional Strawberry types included in the schema.

extensions

Additional Strawberry schema extensions.

type_extensions

Native Strawberry extension types registered after addon bucket merging.

input_extensions

Native Strawberry input extension types registered after addon bucket merging.

from_mapping

python
@classmethod
def from_mapping(cls, app_config: AppConfig, name: str,
                 raw_entry: Mapping[object, object]) -> SchemaParts

Return normalized schema parts declared by one addon.

merge

python
def merge(other: SchemaParts) -> SchemaParts

Return these parts folded with other and deduped by identity.

GraphQLSchemas

python
class GraphQLSchemas()

Collection owner for named GraphQL schema parts and builds.

__init__

python
def __init__(addons: Iterable[AppConfig]) -> None

Store addon configs in deterministic discovery order.

from_discovery

python
@classmethod
def from_discovery(cls) -> GraphQLSchemas

Return schemas built from installed addon discovery.

parts

python
@cached_property
def parts() -> dict[str, SchemaParts]

Return deduplicated schema parts folded in addon order.

names

python
def names() -> tuple[str, ...]

Return contributed schema names in deterministic order.

build

python
def build(name: str = DEFAULT_SCHEMA_NAME) -> strawberry.Schema

Return the merged live Strawberry schema named name.

graphql_schema

python
def graphql_schema(name: str = DEFAULT_SCHEMA_NAME) -> GraphQLSchema

Return the introspectable graphql-core schema for the named bucket.

The public accessor for callers (e.g. the MCP tool layer) that walk the schema's types/fields/args. Owns the one reach into Strawberry's underlying graphql-core schema so siblings don't couple to that private attribute.

resources

python
def resources(
        name: str = DEFAULT_SCHEMA_NAME) -> tuple[DataResourceMetadata, ...]

Return model resource metadata contributed to the named schema bucket.

render_sdl

python
def render_sdl() -> dict[str, str]

Return printed GraphQL SDL for every contributed schema.

render_metadata

python
def render_metadata() -> dict[str, dict[str, object]]

Return JSON-safe schema metadata for every contributed schema.

schema_parts_for

python
def schema_parts_for(app_config: AppConfig) -> dict[str, SchemaParts]

Return normalized GraphQL schema parts declared by one addon.

Released under the AGPL-3.0 License.