GraphQL API¶
ninja_gql
¶
ninja-gql — GraphQL layer generator for Ninja Stack.
GqlGenerator
¶
GqlGenerator(schema: AgenticSchema)
Generates Strawberry types, input types, queries, and mutations from an ASD.
Source code in libs/ninja-gql/src/ninja_gql/generator.py
generate_types
¶
Create a Strawberry @strawberry.type class per entity.
Returns a mapping {EntityName: StrawberryType}.
Source code in libs/ninja-gql/src/ninja_gql/generator.py
generate_input_types
¶
Create Strawberry input types for create and update operations.
Returns {EntityName: (CreateInput, UpdateInput)}.
Source code in libs/ninja-gql/src/ninja_gql/generator.py
get_type
¶
Return the generated Strawberry type for entity_name.
has_embeddable_fields
¶
has_embeddable_fields(entity: EntitySchema) -> bool
Return True if the entity has any field with embedding config.
build_schema
¶
build_schema(
asd: AgenticSchema,
repo_getter: Callable[[str], Repository[Any]]
| None = None,
agent_router: AgentRouter | None = None,
) -> Schema
Build a Strawberry Schema from an Agentic Schema Definition.
Parameters¶
asd:
The project's ASD.
repo_getter:
A callable (entity_name) -> Repository. When None a stub
that raises at call-time is used (useful for schema-only validation).
agent_router:
Optional agent router for ask_* queries.