Expand description
Compiled Schema Types
This module defines the Rust-owned schema representation that is compiled from Python/TypeScript decorators at startup time.
§Architecture
Python/TypeScript Rust
───────────────── ────
@fraiseql.type ─┐
@fraiseql.query ├─→ SchemaCompiler ─→ JSON ─→ CompiledSchema
@fraiseql.mutation─┘ (Rust-owned)
│
▼
Axum serves requests
(Python/TS irrelevant)§Key Invariant
After CompiledSchema::from_json(), all data is Rust-owned.
No Python/TypeScript objects are referenced during request handling.
§Usage
ⓘ
use fraiseql_core::schema::CompiledSchema;
// From Python-compiled JSON
let schema = CompiledSchema::from_json(json_str)?;
// From CLI config file
let schema = CompiledSchema::from_json(&std::fs::read_to_string("schema.json")?)?;
// Access schema info
println!("Types: {}", schema.types.len());
println!("Queries: {}", schema.queries.len());Structs§
- Argument
Definition - Query/mutation/subscription argument definition.
- Authorization
Policy - Authorization policy (RBAC/ABAC).
- Authorization
Rule - Custom authorization rule.
- Auto
Params - Auto-wired query parameters.
- Change
Impact - Result of analyzing the impact of deleting or modifying a type.
- Circuit
Breaker Config - Circuit breaker configuration for federation entity resolution.
- Compiled
Schema - Complete compiled schema - all type information for serving.
- Compiled
Security Config - Security configuration compiled from fraiseql.toml.
- Cycle
Path - A path representing a circular dependency in the schema.
- Deprecation
Info - Deprecation information for a field or type.
- Directive
Definition - A custom directive definition for schema extension.
- Enterprise
Security Config - Enterprise security features.
- Entity
Circuit Breaker Override - Per-entity circuit breaker configuration override.
- Enum
Definition - A GraphQL enum type definition.
- Enum
Value Definition - A single value within a GraphQL enum type.
- Event
Handler - Event handler configuration.
- Federation
Config - Federation configuration for Apollo Federation v2 support.
- Federation
Entity - Federated entity configuration.
- Field
Auth Rule - Field-level authorization rule.
- Field
Definition - A field within a GraphQL type.
- Field
Encryption Config - Encryption configuration for a field in the compiled schema.
- Input
Field Definition - A field within a GraphQL input object type.
- Input
Object Definition - A GraphQL input object type definition.
- Interface
Definition - A GraphQL interface type definition.
- Introspection
Builder - Builds introspection schema from compiled schema.
- Introspection
Directive __Directiveintrospection type.- Introspection
Enum Value __EnumValueintrospection type.- Introspection
Field __Fieldintrospection type.- Introspection
Input Value __InputValueintrospection type.- Introspection
Responses - Pre-built introspection responses for fast serving.
- Introspection
Schema __Schemaintrospection type.- Introspection
Type __Typeintrospection type.- Introspection
Type Ref - Type reference (simplified type with just name).
- Introspection
Validation Rule - Validation rule for input field in introspection format.
- Mutation
Definition - A mutation definition compiled from
@fraiseql.mutation. - Observer
Definition - Observer definition - database change event listener.
- Observers
Config - Observers/event system configuration.
- Query
Definition - A query definition compiled from
@fraiseql.query. - Retry
Config - Retry configuration for observer actions.
- Role
Definition - Role definition for field-level RBAC.
- Schema
Dependency Graph - Schema dependency graph for analyzing type relationships.
- Security
Config - Security configuration from fraiseql.toml.
- SqlProjection
Hint - SQL projection hint for database-specific field projection optimization.
- Static
Filter Condition - A static filter condition for subscription matching.
- Subscription
Definition - A subscription definition.
- Subscription
Filter - Filter configuration for subscription event matching.
- Type
Definition - A GraphQL type definition compiled from
@fraiseql.type. - Union
Definition - A GraphQL union type definition.
- Vector
Config - Configuration for a vector field (pgvector).
Enums§
- Directive
Location __DirectiveLocationenum per GraphQL spec §4.1.5.- Directive
Location Kind - Directive location kinds for custom directive definitions.
- Distance
Metric - Distance metric for vector similarity calculations.
- Field
Type - Supported field types in GraphQL schema.
- Filter
Operator - Filter comparison operators.
- Mutation
Operation - Mutation operation types.
- Type
Kind __TypeKindenum per GraphQL spec §4.1.4.- Vector
Index Type - Index type for vector similarity search.
Constants§
- BUILTIN_
SCALARS - Builtin GraphQL scalar types that are always available.
- RICH_
SCALARS - Rich scalar types with validation rules beyond basic GraphQL scalars.
Functions§
- is_
known_ scalar - Check if a type name is a known scalar (builtin or rich).