-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathschema.sql
More file actions
48 lines (46 loc) · 1.9 KB
/
Copy pathschema.sql
File metadata and controls
48 lines (46 loc) · 1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
CREATE TABLE IF NOT EXISTS memory_items (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
tenant_id STRING NOT NULL,
agent_id STRING NOT NULL,
namespace STRING NOT NULL,
content STRING NOT NULL,
summary STRING NULL,
embedding VECTOR(1024) NULL,
sensitivity STRING NOT NULL CHECK (sensitivity IN ('public', 'internal', 'confidential', 'restricted')),
status STRING NOT NULL CHECK (status IN ('active', 'pending_review', 'denied', 'revoked')),
risk_score INT NOT NULL CHECK (risk_score BETWEEN 0 AND 100),
purpose STRING NOT NULL,
source_uri STRING NULL,
version INT NOT NULL DEFAULT 1,
expires_at TIMESTAMPTZ NULL,
approved_by STRING NULL,
approved_at TIMESTAMPTZ NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
INDEX memory_lookup_idx (tenant_id, namespace, status, created_at DESC),
VECTOR INDEX memory_semantic_idx (tenant_id, namespace, embedding vector_cosine_ops)
);
CREATE TABLE IF NOT EXISTS memory_audit_events (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
tenant_id STRING NOT NULL,
memory_id UUID NULL,
actor_id STRING NOT NULL,
event_type STRING NOT NULL,
decision STRING NOT NULL,
reason_codes STRING[] NOT NULL DEFAULT ARRAY[]::STRING[],
metadata JSONB NOT NULL DEFAULT '{}'::JSONB,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
INDEX audit_tenant_time_idx (tenant_id, created_at DESC),
INDEX audit_memory_idx (memory_id, created_at DESC)
);
CREATE TABLE IF NOT EXISTS agent_checkpoints (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
tenant_id STRING NOT NULL,
agent_id STRING NOT NULL,
checkpoint_key STRING NOT NULL,
state JSONB NOT NULL,
version INT NOT NULL DEFAULT 1,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
UNIQUE (tenant_id, agent_id, checkpoint_key)
);