Code Generators¶
Models Generator¶
models
¶
Generate Pydantic models from EntitySchema definitions.
generate_model
¶
generate_model(
entity: EntitySchema, output_dir: Path
) -> Path
Generate a Pydantic model file for a single entity.
| PARAMETER | DESCRIPTION |
|---|---|
entity
|
The entity schema to generate from.
TYPE:
|
output_dir
|
Directory to write the generated file into.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Path
|
Path to the generated file. |
Source code in libs/ninja-codegen/src/ninja_codegen/generators/models.py
generate_models
¶
generate_models(
entities: list[EntitySchema], output_dir: Path
) -> list[Path]
Generate Pydantic models for all entities.
| PARAMETER | DESCRIPTION |
|---|---|
entities
|
List of entity schemas.
TYPE:
|
output_dir
|
Base directory for generated model files.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Path]
|
List of paths to generated files. |
Source code in libs/ninja-codegen/src/ninja_codegen/generators/models.py
Agents Generator¶
agents
¶
Generate DataAgent, DomainAgent, and CoordinatorAgent code from ASD definitions.
generate_data_agent
¶
generate_data_agent(
entity: EntitySchema, output_dir: Path
) -> Path
Generate a DataAgent file for a single entity.
| PARAMETER | DESCRIPTION |
|---|---|
entity
|
The entity schema to generate from.
TYPE:
|
output_dir
|
Directory to write the generated file into.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Path
|
Path to the generated file. |
Source code in libs/ninja-codegen/src/ninja_codegen/generators/agents.py
generate_domain_agent
¶
generate_domain_agent(
domain: DomainSchema, output_dir: Path
) -> Path
Generate a DomainAgent file for a single domain.
| PARAMETER | DESCRIPTION |
|---|---|
domain
|
The domain schema to generate from.
TYPE:
|
output_dir
|
Directory to write the generated file into.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Path
|
Path to the generated file. |
Source code in libs/ninja-codegen/src/ninja_codegen/generators/agents.py
generate_coordinator
¶
generate_coordinator(
domains: list[DomainSchema], output_dir: Path
) -> Path
Generate a CoordinatorAgent file wiring all domain agents.
| PARAMETER | DESCRIPTION |
|---|---|
domains
|
List of domain schemas to wire together.
TYPE:
|
output_dir
|
Directory to write the generated file into.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Path
|
Path to the generated file. |
Source code in libs/ninja-codegen/src/ninja_codegen/generators/agents.py
generate_agents
¶
generate_agents(
entities: list[EntitySchema],
domains: list[DomainSchema],
output_dir: Path,
) -> list[Path]
Generate all agent files (data + domain + coordinator).
| PARAMETER | DESCRIPTION |
|---|---|
entities
|
List of entity schemas.
TYPE:
|
domains
|
List of domain schemas.
TYPE:
|
output_dir
|
Base directory for generated agent files.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Path]
|
List of paths to generated files. |
Source code in libs/ninja-codegen/src/ninja_codegen/generators/agents.py
GraphQL Generator¶
graphql
¶
Generate Strawberry GraphQL types and resolvers from EntitySchema definitions.
generate_gql_type
¶
generate_gql_type(
entity: EntitySchema, output_dir: Path
) -> Path
Generate GraphQL type and resolver stubs for a single entity.
| PARAMETER | DESCRIPTION |
|---|---|
entity
|
The entity schema to generate from.
TYPE:
|
output_dir
|
Directory to write the generated file into.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Path
|
Path to the generated file. |
Source code in libs/ninja-codegen/src/ninja_codegen/generators/graphql.py
generate_graphql
¶
generate_graphql(
entities: list[EntitySchema], output_dir: Path
) -> list[Path]
Generate GraphQL types and resolvers for all entities.
| PARAMETER | DESCRIPTION |
|---|---|
entities
|
List of entity schemas.
TYPE:
|
output_dir
|
Base directory for generated GQL files.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Path]
|
List of paths to generated files. |
Source code in libs/ninja-codegen/src/ninja_codegen/generators/graphql.py
App Shell Generator¶
apps
¶
Generate thin FastAPI app shells.
generate_app_shell
¶
Generate a FastAPI app shell.
| PARAMETER | DESCRIPTION |
|---|---|
project_name
|
Name of the project.
TYPE:
|
output_dir
|
Base directory for generated app files.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Path
|
Path to the generated file. |