Collection Map
Last refreshed: 2026-05-21
Workspace-Scoped App Collections
workspaces: tenant root.brand_kits: workspace brand defaults/assets.media_assets: workspace media library.voiceover_audio_assets: generated or stored voiceover audio.rag_sources: source records.rag_chunks: chunked embedded source text.rag_ingestion_jobs: RAG worker queue.presentations: Presentation Video root document.presentation_scenes: ordered scene records.presentation_compilations: public config snapshots.video_generation_jobs: render/final video queue, claim state, and final media linkage.presentation_generation_jobs: audio/image generation worker queue.render_worker_reports: workspace-scoped failure diagnostics for external render workers.ai_interactions: metered AI calls.content_entitlements: workspace/user content grants.user_subscriptions: workspace subscription records.credit_wallets: workspace wallet balances.credit_transactions: ledger entries.credit_pack_purchases: paid credit purchase records.zoho_billing_customers: workspace/customer mapping.zoho_webhook_events: processed webhook audit/idempotency.billing_reconciliation_reports: reconciliation diagnostics.notifications: workspace/user notifications.audit_logs: workspace/user audit records.
erDiagram
WORKSPACES ||--o{ PRESENTATIONS : owns
PRESENTATIONS ||--o{ PRESENTATION_SCENES : has
PRESENTATIONS ||--o{ PRESENTATION_COMPILATIONS : snapshots
PRESENTATIONS ||--o{ PRESENTATION_GENERATION_JOBS : queues
PRESENTATIONS ||--o{ VIDEO_GENERATION_JOBS : renders
WORKSPACES ||--o{ RAG_SOURCES : owns
RAG_SOURCES ||--o{ RAG_CHUNKS : chunks
RAG_SOURCES ||--o{ RAG_INGESTION_JOBS : queues
PRESENTATION_SCENES ||--o{ MEDIA_ASSETS : attaches
PRESENTATION_GENERATION_JOBS ||--o{ MEDIA_ASSETS : creates
VIDEO_GENERATION_JOBS ||--o| MEDIA_ASSETS : result
VIDEO_GENERATION_JOBS ||--o{ RENDER_WORKER_REPORTS : diagnostics
WORKSPACES ||--o{ CONTENT_ENTITLEMENTS : grants
WORKSPACES ||--o{ CREDIT_WALLETS : owns
CREDIT_WALLETS ||--o{ CREDIT_TRANSACTIONS : records
Global Worker Collections
render_workers: latest worker heartbeat and active-job state for the external Python renderer.
render_workers is intentionally global with optional workspace context because idle worker
heartbeats do not always have a workspace to attach.
Mostly Global Catalog Collections
video_use_casestaxonomy_categoriessetsset_variantsbotsbot_variantssubscription_plansai_model_conversion_ratescredit_packs
Some catalog collections still reference media or taxonomy records. Check access rules before assuming global mutability.
CMS And Upload Collections
users: auth and profile collection.blog: public blog posts.payload-uploads: public uploads.private-uploads: private uploads.
Non-Payload Runtime State
- Anuva upgrade API/CLI/worker state is currently owned by
src/lib/anuva/repository.ts. - Future durable repository persistence remains separate from the Payload collection map.
flowchart LR
orchestration["Anuva orchestration"] --> repository["In-memory AnuvaRepository"]
repository --> runs["runs, artifacts, sources, quality, conversation, idempotency"]
repository -. future .-> durable["Durable repository store"]
collections["Payload collections"] -. not V1 upgrade state .-> repository
Key Relationship Chains
- user -> workspace.
- workspace -> brand kits, media, RAG, presentations, billing state.
- presentation -> video use case, brand kit, set variant, bot variant, selected RAG sources.
- presentation -> presentation scenes -> attached audio/images/video.
- presentation -> compilation -> generation/render jobs.
- render worker -> active job -> worker diagnostics report.
- presentation generation job -> Image Gen worker -> generated media asset.
- RAG source -> RAG chunks -> vector records.
- AI interaction -> presentation/scene and optional credit transactions.
- Presentation Video and RAG prompt text is code-owned in Mastra agents, workflows, and prompt-builder helpers, not a Payload collection.
- Anuva upgrade runtime state is repository-owned, not a Payload collection group.