@@ -0,0 +1,105 @@
|
||||
-- SPDX-License-Identifier: LicenseRef-ConusAI-Template-1.0
|
||||
create table "assistant_conversation" (
|
||||
"id" uuid primary key,
|
||||
"version" integer not null,
|
||||
"created_at" timestamptz not null,
|
||||
"updated_at" timestamptz not null,
|
||||
"org_id" uuid not null,
|
||||
"workspace_id" uuid not null,
|
||||
"project_id" uuid not null,
|
||||
"title" text not null,
|
||||
"created_by" text not null,
|
||||
"last_turn_at" text not null
|
||||
);
|
||||
|
||||
create index "assistant_conversation_org_id_workspace_id_project_id_created_by_idx" on "assistant_conversation" ("org_id", "workspace_id", "project_id", "created_by");
|
||||
|
||||
create index "assistant_conversation_org_id_workspace_id_project_id_last_turn_at_idx" on "assistant_conversation" ("org_id", "workspace_id", "project_id", "last_turn_at");
|
||||
|
||||
create table "assistant_receipt" (
|
||||
"id" uuid primary key,
|
||||
"version" integer not null,
|
||||
"created_at" timestamptz not null,
|
||||
"updated_at" timestamptz not null,
|
||||
"org_id" uuid not null,
|
||||
"workspace_id" uuid not null,
|
||||
"project_id" uuid not null,
|
||||
"conversation_id" uuid not null,
|
||||
"turn_id" text not null,
|
||||
"tool_call_id" text not null,
|
||||
"tool" text not null,
|
||||
"kind" text not null,
|
||||
"outcome" text not null,
|
||||
"proposal_id" text,
|
||||
"arguments_hash" text not null,
|
||||
"created_by" text not null
|
||||
);
|
||||
|
||||
alter table "assistant_receipt" add constraint "assistant_receipt_org_id_workspace_id_project_id_turn_id_tool_call_id_key" unique nulls not distinct ("org_id", "workspace_id", "project_id", "turn_id", "tool_call_id");
|
||||
|
||||
create index "assistant_receipt_org_id_workspace_id_project_id_created_by_idx" on "assistant_receipt" ("org_id", "workspace_id", "project_id", "created_by");
|
||||
|
||||
create index "assistant_receipt_org_id_workspace_id_project_id_conversation_id_idx" on "assistant_receipt" ("org_id", "workspace_id", "project_id", "conversation_id");
|
||||
|
||||
create table "assistant_thread" (
|
||||
"id" uuid primary key,
|
||||
"version" integer not null,
|
||||
"created_at" timestamptz not null,
|
||||
"updated_at" timestamptz not null,
|
||||
"org_id" uuid not null,
|
||||
"workspace_id" uuid not null,
|
||||
"project_id" uuid not null,
|
||||
"thread_id" text not null,
|
||||
"messages" jsonb not null
|
||||
);
|
||||
|
||||
alter table "assistant_thread" add constraint "assistant_thread_org_id_workspace_id_project_id_thread_id_key" unique nulls not distinct ("org_id", "workspace_id", "project_id", "thread_id");
|
||||
|
||||
create table "assistant_turn" (
|
||||
"id" uuid primary key,
|
||||
"version" integer not null,
|
||||
"created_at" timestamptz not null,
|
||||
"updated_at" timestamptz not null,
|
||||
"org_id" uuid not null,
|
||||
"workspace_id" uuid not null,
|
||||
"project_id" uuid not null,
|
||||
"turn_id" text not null,
|
||||
"conversation_id" uuid not null,
|
||||
"created_by" text not null,
|
||||
"input_hash" text not null,
|
||||
"status" text not null,
|
||||
"steps" integer not null,
|
||||
"tool_calls" integer not null,
|
||||
"degraded" boolean not null,
|
||||
"answer_provenance" jsonb,
|
||||
"started_at" text not null,
|
||||
"finished_at" text
|
||||
);
|
||||
|
||||
alter table "assistant_turn" add constraint "assistant_turn_org_id_workspace_id_project_id_turn_id_key" unique nulls not distinct ("org_id", "workspace_id", "project_id", "turn_id");
|
||||
|
||||
create index "assistant_turn_org_id_workspace_id_project_id_conversation_id_idx" on "assistant_turn" ("org_id", "workspace_id", "project_id", "conversation_id");
|
||||
|
||||
alter table "assistant_conversation" enable row level security;
|
||||
|
||||
alter table "assistant_conversation" force row level security;
|
||||
|
||||
create policy "assistant_conversation_tenant" on "assistant_conversation" using ("org_id" = nullif(current_setting('app.org_id', true), '')::uuid) with check ("org_id" = nullif(current_setting('app.org_id', true), '')::uuid);
|
||||
|
||||
alter table "assistant_receipt" enable row level security;
|
||||
|
||||
alter table "assistant_receipt" force row level security;
|
||||
|
||||
create policy "assistant_receipt_tenant" on "assistant_receipt" using ("org_id" = nullif(current_setting('app.org_id', true), '')::uuid) with check ("org_id" = nullif(current_setting('app.org_id', true), '')::uuid);
|
||||
|
||||
alter table "assistant_thread" enable row level security;
|
||||
|
||||
alter table "assistant_thread" force row level security;
|
||||
|
||||
create policy "assistant_thread_tenant" on "assistant_thread" using ("org_id" = nullif(current_setting('app.org_id', true), '')::uuid) with check ("org_id" = nullif(current_setting('app.org_id', true), '')::uuid);
|
||||
|
||||
alter table "assistant_turn" enable row level security;
|
||||
|
||||
alter table "assistant_turn" force row level security;
|
||||
|
||||
create policy "assistant_turn_tenant" on "assistant_turn" using ("org_id" = nullif(current_setting('app.org_id', true), '')::uuid) with check ("org_id" = nullif(current_setting('app.org_id', true), '')::uuid);
|
||||
Reference in New Issue
Block a user