| 0.47.1 |
|
|---|---|
| 0.47.0 |
|
| 0.38.0 |
|
#14 in #structured-output
Used in 4 crates
5.5MB
126K
SLoC
nika-engine
Embeddable workflow execution engine for Nika.
Purpose
The core runtime that executes .nika.yaml workflows. Can be used as a library — no TUI, no CLI, no ratatui dependencies.
Key Modules
| Module | Purpose |
|---|---|
ast/ |
Phase 3: Analyzed → Runtime types (lowering) |
runtime/ |
DAG execution (Runner, TaskExecutor, verb dispatch) |
dag/ |
DAG validation, cycle detection, IndexedDag |
provider/ |
LLM providers (rig-core cloud + mistral.rs native) |
binding/ |
Template resolution, 27 pipe transforms, JSONPath |
builtin/ |
12 core tools + 24 media/fetch tools |
init/ |
Scaffold generators (minimal, course, showcase) |
secrets/ |
OS Keychain + daemon IPC |
Usage
use nika_engine::{WorkflowRunner, Config};
License
AGPL-3.0-or-later
lib.rs:
Nika Engine — Embeddable workflow execution engine
Module Architecture
┌──────────────────────────────────────────────────────────────┐
│ DOMAIN MODEL │
│ ast/ YAML → Rust types (Workflow, Task, TaskAction) │
└──────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────┐
│ APPLICATION LAYER │
│ runtime/ DAG execution (Runner, TaskExecutor) │
│ dag/ DAG structure (Dag, validate) │
│ binding/ Data binding (WithSpec, ResolvedBindings) │
└──────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────┐
│ INFRASTRUCTURE LAYER │
│ store/ State management (RunContext, TaskResult) │
│ event/ Event sourcing (EventLog, EventKind) │
│ provider/ LLM abstraction (rig-core wrapper) │
└──────────────────────────────────────────────────────────────┘
Dependencies
~54–82MB
~1.5M SLoC