39 lines
1.2 KiB
SQL
39 lines
1.2 KiB
SQL
-- Phase-1: Router Experience Bus event store (append-only)
|
|
|
|
CREATE TABLE IF NOT EXISTS agent_experience_events (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
event_id UUID NOT NULL UNIQUE,
|
|
ts TIMESTAMPTZ NOT NULL,
|
|
node_id TEXT NOT NULL,
|
|
source TEXT NOT NULL,
|
|
agent_id TEXT NOT NULL,
|
|
task_type TEXT NOT NULL,
|
|
request_id TEXT NULL,
|
|
channel TEXT NOT NULL DEFAULT 'unknown',
|
|
inputs_hash TEXT NOT NULL,
|
|
provider TEXT NOT NULL,
|
|
model TEXT NOT NULL,
|
|
profile TEXT NULL,
|
|
latency_ms INT NOT NULL,
|
|
tokens_in INT NULL,
|
|
tokens_out INT NULL,
|
|
ok BOOLEAN NOT NULL,
|
|
error_class TEXT NULL,
|
|
error_msg_redacted TEXT NULL,
|
|
http_status INT NOT NULL,
|
|
raw JSONB NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_agent_experience_events_agent_ts
|
|
ON agent_experience_events (agent_id, ts DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_agent_experience_events_task_ts
|
|
ON agent_experience_events (task_type, ts DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_agent_experience_events_hash_ts
|
|
ON agent_experience_events (inputs_hash, ts DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_agent_experience_events_ok_ts
|
|
ON agent_experience_events (ok, ts DESC);
|