COS498-Group7 / server /db /schema.sql
izzicooki's picture
Add 6 new agent tools, mock demo mode, and skill progression
5647c24
CREATE TABLE IF NOT EXISTS users (
id TEXT PRIMARY KEY,
name TEXT,
os_type TEXT,
vocabulary_level TEXT DEFAULT 'basic',
accessibility_needs TEXT DEFAULT '[]',
comfort_level INTEGER DEFAULT 1,
onboarded INTEGER DEFAULT 0,
created_at TEXT DEFAULT (datetime('now')),
updated_at TEXT DEFAULT (datetime('now'))
);
CREATE TABLE IF NOT EXISTS conversations (
id TEXT PRIMARY KEY,
user_id TEXT NOT NULL,
task_type TEXT,
status TEXT DEFAULT 'active',
context_summary TEXT,
started_at TEXT DEFAULT (datetime('now')),
ended_at TEXT,
FOREIGN KEY (user_id) REFERENCES users(id)
);
CREATE TABLE IF NOT EXISTS messages (
id TEXT PRIMARY KEY,
conversation_id TEXT NOT NULL,
role TEXT NOT NULL,
body TEXT NOT NULL,
created_at TEXT DEFAULT (datetime('now')),
FOREIGN KEY (conversation_id) REFERENCES conversations(id)
);
CREATE TABLE IF NOT EXISTS step_sequences (
id TEXT PRIMARY KEY,
conversation_id TEXT NOT NULL,
steps TEXT NOT NULL,
current_index INTEGER DEFAULT 0,
completed INTEGER DEFAULT 0,
FOREIGN KEY (conversation_id) REFERENCES conversations(id)
);
CREATE TABLE IF NOT EXISTS skill_events (
id TEXT PRIMARY KEY,
user_id TEXT NOT NULL,
skill_name TEXT NOT NULL,
status TEXT DEFAULT 'started',
practiced_at TEXT DEFAULT (datetime('now')),
FOREIGN KEY (user_id) REFERENCES users(id)
);
CREATE TABLE IF NOT EXISTS safety_events (
id TEXT PRIMARY KEY,
user_id TEXT NOT NULL,
event_type TEXT NOT NULL,
trigger_text TEXT,
created_at TEXT DEFAULT (datetime('now')),
FOREIGN KEY (user_id) REFERENCES users(id)
);
CREATE TABLE IF NOT EXISTS user_notes (
id TEXT PRIMARY KEY,
user_id TEXT NOT NULL,
title TEXT NOT NULL,
content TEXT NOT NULL,
created_at TEXT DEFAULT (datetime('now')),
FOREIGN KEY (user_id) REFERENCES users(id)
);