Skip to content

packages

Zachary BENSALEM edited this page Aug 15, 2026 · 1 revision

Packages

Prime Agent is a two-workspace monorepo: the npm workspace at the root holds the four agent packages under packages/ (@earendil-works/pi-*), and the pnpm workspace under web/ holds the four Qredence web packages (@prime-agent/web-*). The Python kernel shim prime-agent-runtime installs the rlm package separately. The root README's repository-layout table is the canonical package map.

npm workspace (packages/)

Package Purpose
AI LLM provider abstraction, streaming, model registry, OAuth, MCP client
Agent core Small standalone agent runtime: Agent class and turn loop
Coding agent The full harness: CLI, SDK, session runtime, daemon, tools, skills, extensions
TUI Terminal UI engine: differential rendering, components, editor

pnpm workspace (web/)

Package Purpose
Web protocol Wire contract: ChatStreamEvent, zod schemas, provider catalog
Web server HTTP adapter: PrimeBridge, event mapper, ring buffer, handlers
Web design UI kit: agent-elements, fleet-pi chrome, OpenUI renderer
Web app TanStack Start frontend: routes, chat client, hooks

Python package

Package Purpose
Python runtime IPython kernel shim: the rlm harness, skills, MCP base

Dependency rules

The web workspace links the in-tree agent packages via pnpm link: overrides (web/pnpm-workspace.yaml), so nested agent deps resolve through the root npm tree. web/server is the only web package that imports @earendil-works/*; browser code in web/app and web/design talks HTTP only. Never add packages/{ai,agent,tui,coding-agent} to web/pnpm-workspace.yaml packages:, they stay npm-only. All agent packages share one lockstep version (0.7.1 at this writing); the web packages are private and versioned separately.

Cross-cutting topics

Capabilities that span packages are documented under Features; shared types are under Primitives.

Clone this wiki locally