Skip to content
Packages Examples Agents Blog Get started

AI Platform Overview

The Oridecon AI platform is 17 packages. oridecon-ai is the orchestrator: it discovers the others through entry points and wires them in the container. Application code talks to protocols in oridecon-contracts, not to a concrete SDK.

All of it is alpha (0.1.x), MIT, in dbtinoy-/oridecon under experimental/ai/ (branch dev). Pin versions. Add AI after a working HTTP app — see Adoption Paths.

Terminal window
uv add oridecon-cli
oridecon new project my-app --template web-api
uv add oridecon-ai-llm

Config lives in application.yaml under ai: / per-package keys. Layers and the full catalog: AI Architecture.


  1. Protocol-first. LLM clients, RAG, agents, and memory implement contracts in oridecon.contracts.ai.
  2. Never import each other. oridecon-ai-agents does not import oridecon-ai-rag. The container injects whatever is registered.
  3. Orchestrator discovers. oridecon-ai finds sub-packages via entry points. You install only the ones you use.

LayerPackages
Orchestratororidecon-ai
Baseoridecon-ai-llm
Knowledgeoridecon-ai-rag, oridecon-vector
Reasoningoridecon-ai-agents, oridecon-ai-skills
Memoryoridecon-ai-memory, oridecon-ai-session
Integrationoridecon-ai-mcp
Infrastructureoridecon-ai-workers, oridecon-ai-observability, oridecon-ai-feedback
Policy & qualityoridecon-ai-guard, oridecon-ai-governance, oridecon-ai-evaluation, oridecon-ai-prompt
Relayoridecon-ai-relay, oridecon-ai-relay-gateway

oridecon-vector is a general-purpose package (also used outside AI). It still talks through contracts.


Immutable types live in oridecon.contracts.ai — do not invent a second copy in an extension.

from oridecon.contracts.ai.llm import ChatMessage, Role
msg = ChatMessage(
role=Role.USER,
content="How does Result[T, E] work?",
)
RoleMeaning
SYSTEMInstructions for the model
USERInput from the human
ASSISTANTResponse from the model
TOOLOutput from a function call

Inject the protocol on the constructor. Domain failures are Result. Copy examples/support-agent rather than resolving the container inside a service.