MCPcopy Create free account
hub / github.com/IgorWarzocha/howcode / ensureThreadStateSchema

Function ensureThreadStateSchema

desktop/thread-state-db/schema.ts:125–285  ·  view source on GitHub ↗
(database: Database)

Source from the content-addressed store, hash-verified

123}
124
125export function ensureThreadStateSchema(database: Database) {
126 if (schemaReady) {
127 return
128 }
129
130 database.exec(`
131 PRAGMA journal_mode = WAL;
132 PRAGMA foreign_keys = ON;
133
134 CREATE TABLE IF NOT EXISTS projects (
135 cwd TEXT PRIMARY KEY,
136 name TEXT NOT NULL,
137 custom_name TEXT,
138 order_index INTEGER,
139 pinned INTEGER NOT NULL DEFAULT 0,
140 hidden INTEGER NOT NULL DEFAULT 0,
141 collapsed INTEGER NOT NULL DEFAULT 1,
142 repo_origin_url TEXT,
143 repo_origin_checked INTEGER NOT NULL DEFAULT 0,
144 git_ops_mode TEXT,
145 created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
146 updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
147 );
148
149 CREATE TABLE IF NOT EXISTS threads (
150 id TEXT PRIMARY KEY,
151 cwd TEXT NOT NULL,
152 session_path TEXT NOT NULL UNIQUE,
153 title TEXT NOT NULL,
154 last_assistant_message_json TEXT,
155 last_assistant_preview TEXT,
156 last_assistant_at_ms INTEGER,
157 running INTEGER NOT NULL DEFAULT 0,
158 pinned INTEGER NOT NULL DEFAULT 0,
159 archived INTEGER NOT NULL DEFAULT 0,
160 diff_baseline_json TEXT,
161 diff_render_mode TEXT,
162 last_modified_ms INTEGER NOT NULL,
163 created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
164 updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
165 FOREIGN KEY (cwd) REFERENCES projects(cwd) ON DELETE CASCADE
166 );
167
168 CREATE INDEX IF NOT EXISTS threads_by_cwd_idx ON threads(cwd, pinned DESC, last_modified_ms DESC);
169 CREATE INDEX IF NOT EXISTS threads_by_path_idx ON threads(session_path);
170
171 CREATE TABLE IF NOT EXISTS inbox_items (
172 session_path TEXT PRIMARY KEY,
173 unread INTEGER NOT NULL DEFAULT 1,
174 last_user_prompt TEXT,
175 last_assistant_message_json TEXT,
176 last_assistant_preview TEXT,
177 last_assistant_at_ms INTEGER,
178 created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
179 updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
180 FOREIGN KEY (session_path) REFERENCES threads(session_path) ON DELETE CASCADE
181 );
182

Callers 1

getThreadStateDatabaseFunction · 0.90

Calls 3

hasColumnFunction · 0.85
execMethod · 0.80

Tested by

no test coverage detected