46 lines
1.2 KiB
SQL
46 lines
1.2 KiB
SQL
CREATE TABLE chats (
|
|
id TEXT PRIMARY KEY,
|
|
host_bot_id TEXT NOT NULL,
|
|
guest_bot_id TEXT,
|
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
);
|
|
|
|
CREATE TABLE chat_state (
|
|
chat_id TEXT PRIMARY KEY,
|
|
time TEXT NOT NULL,
|
|
weather TEXT NOT NULL DEFAULT '',
|
|
active_scene_id INTEGER,
|
|
narrative_anchor TEXT
|
|
);
|
|
|
|
CREATE TABLE containers (
|
|
id INTEGER PRIMARY KEY,
|
|
chat_id TEXT NOT NULL,
|
|
name TEXT NOT NULL,
|
|
type TEXT NOT NULL,
|
|
properties_json TEXT NOT NULL DEFAULT '{}',
|
|
parent_id INTEGER REFERENCES containers(id)
|
|
);
|
|
|
|
CREATE TABLE scenes (
|
|
id INTEGER PRIMARY KEY,
|
|
chat_id TEXT NOT NULL,
|
|
container_id INTEGER REFERENCES containers(id),
|
|
started_at TEXT NOT NULL,
|
|
ended_at TEXT,
|
|
significance INTEGER NOT NULL DEFAULT 0,
|
|
participants_json TEXT NOT NULL DEFAULT '[]'
|
|
);
|
|
|
|
CREATE TABLE activity (
|
|
entity_id TEXT PRIMARY KEY,
|
|
container_id INTEGER REFERENCES containers(id),
|
|
slot TEXT,
|
|
posture TEXT NOT NULL DEFAULT '',
|
|
action_json TEXT NOT NULL DEFAULT '{}',
|
|
attention TEXT NOT NULL DEFAULT '',
|
|
holding_json TEXT NOT NULL DEFAULT '[]',
|
|
status_json TEXT NOT NULL DEFAULT '{}',
|
|
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
);
|