Skip to main content
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.
One barrel, one subpath: .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.ts constructs the AgentRegistry; openClawAgentSource.ts and clawbooNativeAgentSource.ts implement AgentSource and emit AgentEvent/SyncResult/HealthResult.
  • apps/web/server/api/agents.ts: imports AGENT_FILE_NAMES + AgentFileName (validates the :name route param) and the AgentSource type for the REST handlers.
  • apps/web/src/lib/agentSourceClient.ts: the browser-side REST client types its calls with AgentRecord/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

Last modified on June 26, 2026