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

5.4 KiB

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