Built-in entity types
The substrate ships a small vocabulary, split into groups by subsystem the way
Kubernetes splits API groups. Extensions install their own
groups beside it and point at it; nothing installed ever redefines a shipped
type. Every declaration is queryable (ssctl types, or
GET …/core.teild.dev/entitytypes), descriptions included, so this page is the
map, not the source of truth.
people.teild.dev
| Entity type | What it is |
|---|
person | One human, one entity: every edge that means "a person" lands here. What a single source holds about them is its own entity, mapped on. |
organization | An org a person belongs to: employer, workspace, publisher. |
The built-in person carries a two-state prominence machine: utility at
birth, known once something promotes it (an address-book sync, or you).
Search ranks utility people below every known match
(search).
messaging.teild.dev
| Entity type | What it is |
|---|
conversation | A DM, a group chat, or a channel. |
conversationmessage | One message in a conversation; outbound ones walk the delivery states. |
emailthread | One mail thread. |
emailmessage | One mail message in a thread. |
calendar.teild.dev
| Entity type | What it is |
|---|
calendar | One provider calendar. |
calendarevent | Always a concrete occurrence; integrations explode series into these. |
calendareventseries | The recurring definition, RRULE and exceptions, never on the timeline. |
transcript | A meeting transcript, pointed at the instance that actually happened. |
tasks.teild.dev
| Entity type | What it is |
|---|
task | Something to do. |
project | What tasks group under. |
| Entity type | What it is |
|---|
book | The work: what an author wrote, independent of any edition you hold. |
bookedition | One edition: the paperback on the shelf, the epub, the audiobook. |
bookseries | An ordered collection a book belongs to, in any format. |
movie | One film. |
moviecollection | A franchise, not a shelf. |
musicalbum | One album or release: the pressing you have. |
musictrack | One track on an album: the recording itself. |
podcast | One podcast feed. |
podcastepisode | One episode; its point on the timeline is the publish date. |
tvseries | One television series. |
tvseason | One season of a series; season 0 is where specials go. |
tvepisode | One episode; its point on the timeline is the air date. |
automation.teild.dev
The delivery machinery, declared as data entities so a trigger is
console-editable and changelog-visible like anything else
(functions):
| Entity type | What it is |
|---|
trigger | One binding of a source (an entity subscription, a schedule, or a webhook) to one callable, owning the delivery cursor. |
run | One settled trigger delivery attempt, the run ledger's row. |
core.teild.dev
The substrate's own machinery, declared as types so it lists, reads, and
filters exactly like vocabulary:
| Entity type | What it is |
|---|
tenant | One tenant: its Postgres schema and its bootstrap credential. |
token | One bearer credential and the actors it may write as. |
actor | One declared actor, the name writes are attributed to. |
agent | One declared agent: an LLM-loop callable (agents). |
blob | One content-addressed blob: the manifest is the metadata, the bytes live in the byte store; the digest is the id. |
entitymerge | One performed merge and what it moved (merges). |
entitysplit | The undo of one merge, likewise performed on creation. |
entitymergerequest | A proposed merge, performed when its decision is accepted. |
entitypatchrequest | A proposed create, patch, or delete, applied when its decision is accepted (the patch request sibling). |
The nine schema resources
(schemagroup, entitytype, propertytype, trait, entitymapping,
function, agent, bundle, actor) live in core too, and so do the four
shipped traits: temporal, which puts an entity on the timeline, and the
bundleconfig, accountconfig, and oauth2 interfaces the OAuth facility
recognizes.
ai.teild.dev
The agent runtime vocabulary is consolidated into one AI group. Agents are
alpha, so this group is a preview, unfrozen at v1 and not part of the frozen
core. Its full type identities are llm.ai.teild.dev, thread.ai.teild.dev,
and message.ai.teild.dev. (The agent kind itself stays a first-class core
kind, agent.core.teild.dev, listed above.)
| Entity type | What it is |
|---|
llm | One model row: provider, base URL, model, pricing, optional key. |
thread | One agent run's conversation state, written as the loop runs. |
message | One turn in a thread, with its tool-call audit. |
Back to teild.dev, or reread the introduction with the pieces
in place.