This commit is contained in:
Ian Gulliver
2026-10-18 21:24:41 -07:00
parent 7728484e86
commit 57788cc711
59 changed files with 465 additions and 512 deletions
@@ -0,0 +1,38 @@
CREATE TABLE inbox_items_next (
id TEXT PRIMARY KEY,
project_id TEXT NOT NULL REFERENCES projects(id),
task_id TEXT NOT NULL REFERENCES tasks(id),
agent_session_id TEXT NOT NULL REFERENCES agent_sessions(id),
thread_id TEXT NOT NULL,
kind TEXT NOT NULL,
priority INTEGER NOT NULL DEFAULT 0,
blocking INTEGER NOT NULL DEFAULT 1,
payload TEXT NOT NULL,
state TEXT NOT NULL,
snoozed_until TEXT,
created_at TEXT NOT NULL,
resolved_by TEXT REFERENCES users(login),
resolved_at TEXT
);
INSERT INTO inbox_items_next SELECT id, project_id, task_id, agent_session_id, thread_id, kind, priority, blocking, payload, state, snoozed_until, created_at, resolved_by, resolved_at FROM inbox_items;
DROP TABLE inbox_items;
ALTER TABLE inbox_items_next RENAME TO inbox_items;
CREATE INDEX inbox_items_open ON inbox_items(state, created_at);
CREATE INDEX inbox_items_session ON inbox_items(agent_session_id, state);
CREATE TABLE users_next (
login TEXT PRIMARY KEY,
display_name TEXT NOT NULL,
git_name TEXT NOT NULL DEFAULT '',
git_email TEXT NOT NULL DEFAULT '',
created_at TEXT NOT NULL,
notification_prefs TEXT NOT NULL DEFAULT '{"questions":true,"reports":false,"errors":false,"rate_limits":false}',
focus TEXT NOT NULL DEFAULT '{"tabs":["transcript"],"tab":"transcript"}'
);
INSERT INTO users_next (login, display_name, git_name, git_email, created_at, notification_prefs, focus)
SELECT login, display_name, git_name, git_email, created_at,
json_remove(json_set(notification_prefs, '$.questions', json(CASE WHEN json_extract(notification_prefs, '$.blocking_questions') THEN 'true' ELSE 'false' END)), '$.blocking_questions'),
focus
FROM users;
DROP TABLE users;
ALTER TABLE users_next RENAME TO users;