Skip to content

PRAXO-CORE Primitives

Package Contract Typical adapter
pkg/model Model.Generate, Provider.Chat/ChatStream, ModelRouter, ChatModel, CacheHint, ProviderProfile PRAXOVELA provider router
pkg/agent Agent.Run, Options, New, compatibility aliases PRAXOVELA agent loop
pkg/agent/context budgets, compaction, summarization, offload, AGENTS.md PRAXOVELA context management
pkg/agent/delegation SubagentManager and modes PRAXOVELA subagents
pkg/agent/evaluation Rubric, Evaluator, RubricMiddleware PRAXOVELA evaluation
pkg/agent/hitl InterruptDecision and handlers PRAXOVELA approvals
pkg/agent/middleware call limits, fallback, PII, structured output, tool selection PRAXOVELA middleware
pkg/agent/stream typed StreamPart projections PRAXOVELA streaming
pkg/agent/types shared run-state contracts framework consumers
pkg/checkpoint Checkpoint, Store.Save/Load/List, recovery report PRAXOVELA checkpoint store
pkg/httpclient retry-capable HTTP transport with auth, tracing, and decoding PRAXOVELA adapters
pkg/tool Tool, Registry, SpecProvider, Middleware, Retry, Gateway Janus Gateway tools
pkg/memory Store.Put/Search, MemoryStore, ContextAssembler, RemoteStore Mnemovela
pkg/event Sink.Emit, MultiSink, FilterSink, PublisherSink Harmovela / Argus Trace
pkg/policy Hook.Authorize, PathChecker read/write containment AEGIVELA / Archon Guard
pkg/sandbox Sandbox.Run, optional Interpreter.Eval Vulcan Forge
pkg/scheduler Scheduler.Add/Remove/List; cron engine extracted from PRAXOVELA PRAXOVELA durable scheduler
pkg/toolcall ParseToolCall, StripToolCallMarkup, ParseInputJSON model-output parsing
pkg/tool/jsonschema JSON Schema validation tool input/output validation
pkg/flow Runnable, Chain, Parallel prompt/agent composition
pkg/prompt Template, ChatTemplate prompt assembly
pkg/retriever Document, Retriever Mnemovela/GNOSIVELA retrieval
pkg/formatter code formatter registry PRAXOVELA formatting tools
pkg/vfs Backend, confined local backend, filesystem tools PRAXOVELA file tools
pkg/plugin manifest v1, contract kinds, Host.Invoke, Lifecycle, AdapterRegistry PRAXOVELA runtime plugin plane
pkg/plugin/host/process process host, platform supervisors, JSON-Lines envelopes PRAXOVELA process plugins
pkg/plugin/host/wasm WASM host over wazero PRAXOVELA WASM plugins
pkg/plugin/bridge Host to tool/model/policy/memory/sandbox adapters framework consumers
pkg/plugin/tck lifecycle, registry, and host conformance assertions host/provider implementers

pkg/toolcall holds model-output tool-call parsing. pkg/output, pkg/format, and pkg/tool/schema are deprecated aliases removed in 1.0.0; new code should import pkg/toolcall, pkg/formatter, and pkg/tool/jsonschema.

See Plugin authoring for Manifest v1, the process/WASM host protocol, and the conformance kit.

Tool Contract

A tool has a name, description, and Invoke(ctx, args). Tool specs are exposed to the model through the registry. Arguments are JSON-compatible maps.

Memory Contract

Memory is typed by frame: event, decision, experience, procedure, workspace state, constraint, intention. The framework does not dictate retention or admission; adapters do.

Event Contract

Events are lifecycle facts, not logs. Consumers may publish them to Harmovela or persist them in Argus Trace.

Policy Contract

Every model generation and tool invocation can be authorized. Denial fails closed. The framework does not implement policy; it enforces the hook result.

Scheduler Contract

The framework defines schedules. A runtime owns durable firing and execution. The scheduling contract is intentionally separate from the agent loop.