Skip to main content

Documentation Index

Fetch the complete documentation index at: https://greenteagentic.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

All tables are in public, RLS-enabled, and scoped to auth.uid() = user_id.

profiles

One row per user, created automatically by trigger on signup.
ColumnType
iduuid (= auth.users.id)
display_nametext
created_attimestamptz

brews

ColumnType
iduuid
user_iduuid
titletext
brew_typetext (research/prompt/strategy/cleanse/critique)
goal, context, tone, output_formattext
statustext (steeping/ready)
final_outputjsonb
tea_scoreint
created_at, updated_attimestamptz

brew_steps

ColumnType
iduuid
brew_iduuid → brews.id
step_nametext (Leaves/Steep/Taste/Pour/Archive)
agent_nametext
statustext (pending/running/done)
contentjsonb
step_orderint

brew_outputs

Append-only history of refinements.
ColumnType
iduuid
brew_iduuid
output_typetext (refinement, etc.)
contentjsonb
created_attimestamptz

recipes

ColumnType
iduuid
user_iduuid
nametext
brew_typetext
descriptiontext
recipe_configjsonb

cellar_entries

Durable memory distilled from finished brews, re-injected into future brew prompts.
ColumnType
iduuid
user_iduuid
brew_iduuid (nullable — source brew)
kindtext (fact/preference/pattern/glossary)
contenttext (≤ 280 chars)
weightint (higher = more prominent in the prompt)
created_attimestamptz

cellar_settings

Per-user controls for the Cellar.
ColumnType
user_iduuid (pk)
enabledbool
max_entriesint
manual_packtext (always prepended to the Cellar block)

brew_shares

Public read-only links for finished brews.
ColumnType
iduuid
brew_iduuid → brews.id
slugtext (nanoid, unique)
created_attimestamptz
revoked_attimestamptz (nullable)
Anonymous read access to a shared brew goes through supabaseAdmin inside the /api/public/brew/$slug route — there are no anon grants on these tables.

RLS policies

Every table follows the same pattern:
CREATE POLICY "owners only"
ON public.<table>
FOR ALL
TO authenticated
USING (auth.uid() = user_id)
WITH CHECK (auth.uid() = user_id);
brew_steps and brew_outputs join through brews.user_id.