Changelog
Changelog — 2026-06-14
Daily docs refresh.
Breaking
- Record-reference writes now require the atomic RPCs. Single-record create and delete each run inside one Postgres transaction, and the old non-atomic per-attribute edge-sync fallback is gone. If the
sync_record_reference_edgesRPC is missing, a write throws aConfigurationErrorinstead of silently degrading — apply the20260613120000_atomic_write_primitivesmigration before writing records with relations. See the Supabase setup guide. - Bulk paths skip lifecycle hooks and need bootstrap tuning.
@BeforeCreate/@AfterCreateand their delete counterparts do not run onbulk-create/bulk-delete. Bulk routes are also capped by a newbulkthrottle category (10 requests/minute) and exceedNestFactory's default 1 MB body parser — bootstrap withbodyParser: falseand a larger explicit limit. See the NestJS backend guide.
Features
- Agent skills are now records. When agents are enabled, the runtime registers a sealed
skillobject so a tenant can author its own skills at runtime. Records merge with the built-in skills (alwaysOnskills are injected into the system prompt; the rest stay discoverable viafind_skill), and a record sharing a builtin's name overrides it. See Agents. - Bulk record operations. A set-based bulk-create endpoint inserts records and their edges in one round trip with per-item validation, returning
{ created, errors }rather than failing the whole batch — a partial failure is not an HTTP error. Bulk delete rides the same atomic cascade primitive. - Durable event delivery. Record and form events now drain from a durable outbox with at-least-once delivery, a dead-letter queue, and trigger idempotency — agent triggers, attribute autofill, and search indexing consume from it instead of inline emission. This applies to single-record writes too, not just bulk.
- Sharper agent model specs. Model capabilities and pricing now resolve from a bundled models.dev snapshot, and runs emit a live token-usage event during streaming.
Fixes
GET /actorsno longer requirespeople:read. The actor listing endpoint dropped the permission requirement that was blocking legitimate callers.