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
class AngeeSchema(strawberry.Schema)Strawberry schema that exposes stable REBAC denial codes.
angee_resources
Model resource metadata carried by this built schema.
process_errors
def process_errors(errors: list[GraphQLError],
execution_context: ExecutionContext | None = None) -> NoneAttach GraphQL error codes before Strawberry logs errors.
SchemaParts
@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
@classmethod
def from_mapping(cls, app_config: AppConfig, name: str,
raw_entry: Mapping[object, object]) -> SchemaPartsReturn normalized schema parts declared by one addon.
merge
def merge(other: SchemaParts) -> SchemaPartsReturn these parts folded with other and deduped by identity.
GraphQLSchemas
class GraphQLSchemas()Collection owner for named GraphQL schema parts and builds.
__init__
def __init__(addons: Iterable[AppConfig]) -> NoneStore addon configs in deterministic discovery order.
from_discovery
@classmethod
def from_discovery(cls) -> GraphQLSchemasReturn schemas built from installed addon discovery.
parts
@cached_property
def parts() -> dict[str, SchemaParts]Return deduplicated schema parts folded in addon order.
names
def names() -> tuple[str, ...]Return contributed schema names in deterministic order.
build
def build(name: str = DEFAULT_SCHEMA_NAME) -> strawberry.SchemaReturn the merged live Strawberry schema named name.
graphql_schema
def graphql_schema(name: str = DEFAULT_SCHEMA_NAME) -> GraphQLSchemaReturn 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
def resources(
name: str = DEFAULT_SCHEMA_NAME) -> tuple[DataResourceMetadata, ...]Return model resource metadata contributed to the named schema bucket.
render_sdl
def render_sdl() -> dict[str, str]Return printed GraphQL SDL for every contributed schema.
render_metadata
def render_metadata() -> dict[str, dict[str, object]]Return JSON-safe schema metadata for every contributed schema.
schema_parts_for
def schema_parts_for(app_config: AppConfig) -> dict[str, SchemaParts]Return normalized GraphQL schema parts declared by one addon.