Spaces:
Running
Running
| create table if not exists studio_sessions ( | |
| id text primary key, | |
| project_id text not null, | |
| workspace_id text, | |
| parent_session_id text references studio_sessions(id) on delete set null, | |
| agent_type text not null, | |
| title text not null, | |
| directory text not null, | |
| permission_level text not null, | |
| permission_rules jsonb not null default '[]'::jsonb, | |
| created_at timestamptz not null default now(), | |
| updated_at timestamptz not null default now() | |
| ); | |
| create table if not exists studio_messages ( | |
| id text primary key, | |
| session_id text not null references studio_sessions(id) on delete cascade, | |
| role text not null, | |
| agent text, | |
| text text, | |
| summary text, | |
| created_at timestamptz not null default now(), | |
| updated_at timestamptz not null default now() | |
| ); | |
| create table if not exists studio_message_parts ( | |
| id text primary key, | |
| message_id text not null references studio_messages(id) on delete cascade, | |
| session_id text not null references studio_sessions(id) on delete cascade, | |
| type text not null, | |
| text text, | |
| tool text, | |
| call_id text, | |
| state jsonb, | |
| metadata jsonb, | |
| time jsonb, | |
| created_at timestamptz not null default now(), | |
| updated_at timestamptz not null default now() | |
| ); | |
| create table if not exists studio_runs ( | |
| id text primary key, | |
| session_id text not null references studio_sessions(id) on delete cascade, | |
| status text not null, | |
| input_text text not null, | |
| active_agent text not null, | |
| created_at timestamptz not null default now(), | |
| completed_at timestamptz, | |
| error text | |
| ); | |
| create table if not exists studio_tasks ( | |
| id text primary key, | |
| session_id text not null references studio_sessions(id) on delete cascade, | |
| run_id text references studio_runs(id) on delete set null, | |
| work_id text, | |
| type text not null, | |
| status text not null, | |
| title text not null, | |
| detail text, | |
| metadata jsonb, | |
| created_at timestamptz not null default now(), | |
| updated_at timestamptz not null default now() | |
| ); | |
| create table if not exists studio_works ( | |
| id text primary key, | |
| session_id text not null references studio_sessions(id) on delete cascade, | |
| run_id text references studio_runs(id) on delete set null, | |
| type text not null, | |
| title text not null, | |
| status text not null, | |
| latest_task_id text, | |
| current_result_id text, | |
| metadata jsonb, | |
| created_at timestamptz not null default now(), | |
| updated_at timestamptz not null default now() | |
| ); | |
| create table if not exists studio_work_results ( | |
| id text primary key, | |
| work_id text not null references studio_works(id) on delete cascade, | |
| kind text not null, | |
| summary text not null, | |
| attachments jsonb, | |
| metadata jsonb, | |
| created_at timestamptz not null default now() | |
| ); | |
| create index if not exists idx_studio_messages_session_created | |
| on studio_messages(session_id, created_at); | |
| create index if not exists idx_studio_message_parts_message_created | |
| on studio_message_parts(message_id, created_at); | |
| create index if not exists idx_studio_runs_session_created | |
| on studio_runs(session_id, created_at desc); | |
| create index if not exists idx_studio_tasks_session_updated | |
| on studio_tasks(session_id, updated_at desc); | |
| create index if not exists idx_studio_works_session_updated | |
| on studio_works(session_id, updated_at desc); | |
| create index if not exists idx_studio_work_results_work_created | |
| on studio_work_results(work_id, created_at); | |