Contract
Schemas
The shared contract between the Comitiva desktop, its runner and the hub. Generated from the zod source in @comitiva/contract as JSON Schema draft 2020-12, and served here at their $id.
pinned to v0.1.0source
Entities
- AgentA persistent persona: connection, model, role, tools, folders and permission policy.comitiva.dev/schema/Agent.json
- ConnectionA way to reach an LLM: an API provider or a CLI harness, with a secret reference.comitiva.dev/schema/Connection.json
- ConversationA thread with one agent, its status and the harness session it resumes.comitiva.dev/schema/Conversation.json
- MessageA user, assistant or tool message whose content is a list of blocks.comitiva.dev/schema/Message.json
- ToolServerAn MCP server: stdio or http, built-in or registered by the user.comitiva.dev/schema/ToolServer.json
- ToolApprovalA decision on a tool call: allow, deny or allow-always.comitiva.dev/schema/ToolApproval.json
- UsageRecordTokens, cost and latency of one run, costed when written.comitiva.dev/schema/UsageRecord.json
- UsagePolicyDaily token and cost limits, concurrency and a time window for a connection.comitiva.dev/schema/UsagePolicy.json
Content and errors
Runner protocol
Validate with any draft 2020-12 validator. Schemas are generated from the input side of zod, so fields with defaults are optional: this is what external producers must send. These files change only when comitiva.dev moves to a newer comitiva release.