Files
OpenJarvis/docs/api/core.md
T
Jon Saad-FalconandClaude Opus 4.6 f75afefcfb Add MkDocs Material documentation site with 40 pages and auto-generated API reference
Sets up a complete documentation website with 7 navigable sections (Home, Getting
Started, User Guide, Architecture, API Reference, Deployment, Development), light/dark
mode, search, code copy, and Mermaid diagram support. API reference pages use
mkdocstrings to auto-generate docs from source docstrings. GitHub Actions workflow
deploys to GitHub Pages on push to main.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 06:09:36 +00:00

291 lines
5.4 KiB
Markdown

# Core Module
The core module contains the foundational abstractions shared across all
OpenJarvis pillars: the decorator-based registry system for runtime discovery,
canonical data types, configuration loading with hardware detection, and the
pub/sub event bus for inter-pillar communication.
## Registry System
The registry pattern is the primary extension mechanism. Each pillar has its
own typed registry subclass. New implementations are added by decorating a
class with `@XRegistry.register("name")`.
### RegistryBase
::: openjarvis.core.registry.RegistryBase
options:
show_source: true
members_order: source
### ModelRegistry
::: openjarvis.core.registry.ModelRegistry
options:
show_source: true
members_order: source
### EngineRegistry
::: openjarvis.core.registry.EngineRegistry
options:
show_source: true
members_order: source
### MemoryRegistry
::: openjarvis.core.registry.MemoryRegistry
options:
show_source: true
members_order: source
### AgentRegistry
::: openjarvis.core.registry.AgentRegistry
options:
show_source: true
members_order: source
### ToolRegistry
::: openjarvis.core.registry.ToolRegistry
options:
show_source: true
members_order: source
### RouterPolicyRegistry
::: openjarvis.core.registry.RouterPolicyRegistry
options:
show_source: true
members_order: source
### BenchmarkRegistry
::: openjarvis.core.registry.BenchmarkRegistry
options:
show_source: true
members_order: source
---
## Types
Canonical data types shared across all OpenJarvis pillars, including message
structures, model specifications, telemetry records, and trace objects.
### Role
::: openjarvis.core.types.Role
options:
show_source: true
members_order: source
### Quantization
::: openjarvis.core.types.Quantization
options:
show_source: true
members_order: source
### StepType
::: openjarvis.core.types.StepType
options:
show_source: true
members_order: source
### ToolCall
::: openjarvis.core.types.ToolCall
options:
show_source: true
members_order: source
### Message
::: openjarvis.core.types.Message
options:
show_source: true
members_order: source
### Conversation
::: openjarvis.core.types.Conversation
options:
show_source: true
members_order: source
### ModelSpec
::: openjarvis.core.types.ModelSpec
options:
show_source: true
members_order: source
### ToolResult
::: openjarvis.core.types.ToolResult
options:
show_source: true
members_order: source
### TelemetryRecord
::: openjarvis.core.types.TelemetryRecord
options:
show_source: true
members_order: source
### TraceStep
::: openjarvis.core.types.TraceStep
options:
show_source: true
members_order: source
### Trace
::: openjarvis.core.types.Trace
options:
show_source: true
members_order: source
---
## Configuration
Configuration loading, hardware detection, and engine recommendation. User
configuration lives at `~/.openjarvis/config.toml`. The `load_config()`
function detects hardware, fills sensible defaults, then overlays any user
overrides from the TOML file.
### JarvisConfig
::: openjarvis.core.config.JarvisConfig
options:
show_source: true
members_order: source
### EngineConfig
::: openjarvis.core.config.EngineConfig
options:
show_source: true
members_order: source
### IntelligenceConfig
::: openjarvis.core.config.IntelligenceConfig
options:
show_source: true
members_order: source
### LearningConfig
::: openjarvis.core.config.LearningConfig
options:
show_source: true
members_order: source
### MemoryConfig
::: openjarvis.core.config.MemoryConfig
options:
show_source: true
members_order: source
### AgentConfig
::: openjarvis.core.config.AgentConfig
options:
show_source: true
members_order: source
### ServerConfig
::: openjarvis.core.config.ServerConfig
options:
show_source: true
members_order: source
### TelemetryConfig
::: openjarvis.core.config.TelemetryConfig
options:
show_source: true
members_order: source
### HardwareInfo
::: openjarvis.core.config.HardwareInfo
options:
show_source: true
members_order: source
### GpuInfo
::: openjarvis.core.config.GpuInfo
options:
show_source: true
members_order: source
### detect_hardware
::: openjarvis.core.config.detect_hardware
options:
show_source: true
### load_config
::: openjarvis.core.config.load_config
options:
show_source: true
### recommend_engine
::: openjarvis.core.config.recommend_engine
options:
show_source: true
---
## Event Bus
Thread-safe pub/sub event bus for inter-pillar telemetry. Any pillar can emit
events (e.g. `INFERENCE_END`) and any other pillar can react without direct
coupling.
### EventType
::: openjarvis.core.events.EventType
options:
show_source: true
members_order: source
### Event
::: openjarvis.core.events.Event
options:
show_source: true
members_order: source
### EventBus
::: openjarvis.core.events.EventBus
options:
show_source: true
members_order: source
### get_event_bus
::: openjarvis.core.events.get_event_bus
options:
show_source: true
### reset_event_bus
::: openjarvis.core.events.reset_event_bus
options:
show_source: true