pub const SCHEMA: &str = "\
CREATE TABLE IF NOT EXISTS users (
id TEXT PRIMARY KEY,
nickname TEXT NOT NULL UNIQUE,
api_key TEXT NOT NULL UNIQUE,
is_admin BOOLEAN NOT NULL DEFAULT 0,
created_at TEXT NOT NULL DEFAULT (datetime('now'))
);
CREATE TABLE IF NOT EXISTS teams (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
description TEXT,
is_public BOOLEAN NOT NULL DEFAULT 0,
created_by TEXT NOT NULL,
created_at TEXT NOT NULL DEFAULT (datetime('now'))
);
CREATE TABLE IF NOT EXISTS team_members (
team_id TEXT NOT NULL,
user_id TEXT NOT NULL,
role TEXT NOT NULL DEFAULT 'member',
joined_at TEXT NOT NULL DEFAULT (datetime('now')),
PRIMARY KEY (team_id, user_id)
);
CREATE TABLE IF NOT EXISTS sessions (
id TEXT PRIMARY KEY,
user_id TEXT,
team_id TEXT NOT NULL,
tool TEXT NOT NULL,
agent_provider TEXT,
agent_model TEXT,
title TEXT,
description TEXT,
tags TEXT,
created_at TEXT NOT NULL,
uploaded_at TEXT NOT NULL DEFAULT (datetime('now')),
message_count INTEGER DEFAULT 0,
task_count INTEGER DEFAULT 0,
event_count INTEGER DEFAULT 0,
duration_seconds INTEGER DEFAULT 0,
total_input_tokens INTEGER DEFAULT 0,
total_output_tokens INTEGER DEFAULT 0,
body_storage_key TEXT NOT NULL
);
";Expand description
SQLite schema (compatible with D1). Does NOT include FTS5 (Axum-only).