This package answers a single question: where does the agent list come from?, and nothing else. It holds the clawboo-native record shapes (
AgentRecord/TeamRecord/SessionRecord), the AgentSource interface (SQLite-backed reads that work when the upstream is down; writes + file I/O + sessions that route to the upstream and mirror into SQLite), and a thin AgentRegistry catalog. It deliberately mirrors how @clawboo/executor holds the RuntimeAdapter trait: the trait + types live here (zero deps, browser-safe), the concrete server-side implementations (OpenClawAgentSource, ClawbooNativeAgentSource) live in apps/web.
The concern boundary is hard:
AgentSource is about who exists (the registry). It is NOT about how agents run; that is the RuntimeAdapter in @clawboo/executor. The two interfaces must not entangle.. → src/index.ts. The package ships type-only exports plus two values (AGENT_FILE_NAMES, AgentRegistry).
Public API
.: main barrel (src/index.ts)
Classes
Constants
Types & interfaces
Used by
apps/web/server/lib/agentSource/:registry.tsconstructs theAgentRegistry;openClawAgentSource.tsandclawbooNativeAgentSource.tsimplementAgentSourceand emitAgentEvent/SyncResult/HealthResult.apps/web/server/api/agents.ts: importsAGENT_FILE_NAMES+AgentFileName(validates the:nameroute param) and theAgentSourcetype for the REST handlers.apps/web/src/lib/agentSourceClient.ts: the browser-side REST client types its calls withAgentRecord/SessionRecord/AgentFileName.@clawboo/capability-registry: follows this package’s dependency-free record-mirroring discipline (referenced, not a runtime import).
Source
- Barrel:
packages/agent-registry/src/index.ts - Records:
packages/agent-registry/src/records.ts - Trait:
packages/agent-registry/src/source.ts - Registry:
packages/agent-registry/src/registry.ts
See also
- AgentSource registry of record (internals)
- Agents REST API
- Agent model concept
- @clawboo/executor, the sibling
RuntimeAdaptertrait - Package overview