yeschef-cli 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
yeschef/hub/schema.sql ADDED
@@ -0,0 +1,106 @@
1
+ PRAGMA journal_mode = WAL;
2
+ PRAGMA foreign_keys = ON;
3
+ PRAGMA busy_timeout = 5000;
4
+
5
+ CREATE TABLE IF NOT EXISTS agents (
6
+ name TEXT PRIMARY KEY,
7
+ kind TEXT NOT NULL,
8
+ node TEXT,
9
+ backend TEXT,
10
+ tags TEXT NOT NULL DEFAULT '[]',
11
+ token_hash TEXT,
12
+ last_seen REAL NOT NULL DEFAULT 0,
13
+ created_at REAL NOT NULL
14
+ );
15
+
16
+ CREATE TABLE IF NOT EXISTS rooms (
17
+ id TEXT PRIMARY KEY,
18
+ topic TEXT NOT NULL,
19
+ created_by TEXT NOT NULL,
20
+ open INTEGER NOT NULL DEFAULT 0,
21
+ policy_json TEXT NOT NULL DEFAULT '{}',
22
+ archived INTEGER NOT NULL DEFAULT 0,
23
+ archived_reason TEXT,
24
+ dm_key TEXT UNIQUE,
25
+ floor_holder TEXT,
26
+ next_seq INTEGER NOT NULL DEFAULT 1,
27
+ message_count INTEGER NOT NULL DEFAULT 0,
28
+ total_tokens INTEGER NOT NULL DEFAULT 0,
29
+ last_activity REAL NOT NULL,
30
+ created_at REAL NOT NULL
31
+ );
32
+
33
+ CREATE TABLE IF NOT EXISTS room_members (
34
+ room_id TEXT NOT NULL REFERENCES rooms(id) ON DELETE CASCADE,
35
+ agent TEXT NOT NULL,
36
+ ring_pos INTEGER NOT NULL DEFAULT 0,
37
+ last_read_seq INTEGER NOT NULL DEFAULT 0,
38
+ joined_at REAL NOT NULL,
39
+ PRIMARY KEY (room_id, agent)
40
+ );
41
+
42
+ CREATE TABLE IF NOT EXISTS messages (
43
+ id TEXT PRIMARY KEY,
44
+ room_id TEXT NOT NULL REFERENCES rooms(id) ON DELETE CASCADE,
45
+ seq INTEGER NOT NULL,
46
+ sender TEXT NOT NULL,
47
+ body TEXT NOT NULL,
48
+ data_json TEXT,
49
+ reply_to TEXT,
50
+ mentions_json TEXT NOT NULL DEFAULT '[]',
51
+ client_msg_id TEXT,
52
+ created_at REAL NOT NULL,
53
+ UNIQUE (room_id, seq)
54
+ );
55
+
56
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_messages_idem
57
+ ON messages (sender, client_msg_id) WHERE client_msg_id IS NOT NULL;
58
+ CREATE INDEX IF NOT EXISTS idx_messages_room_seq ON messages (room_id, seq);
59
+
60
+ CREATE TABLE IF NOT EXISTS tasks (
61
+ id TEXT PRIMARY KEY,
62
+ title TEXT NOT NULL,
63
+ spec TEXT NOT NULL,
64
+ created_by TEXT NOT NULL,
65
+ state TEXT NOT NULL,
66
+ assignee TEXT,
67
+ selector TEXT,
68
+ priority INTEGER NOT NULL DEFAULT 0,
69
+ timeout_s REAL NOT NULL,
70
+ dedupe_key TEXT UNIQUE,
71
+ project TEXT,
72
+ output_mode TEXT,
73
+ data TEXT,
74
+ room_id TEXT REFERENCES rooms(id) ON DELETE SET NULL,
75
+ progress_pct REAL,
76
+ progress_msg TEXT,
77
+ result_json TEXT,
78
+ error TEXT,
79
+ attempts INTEGER NOT NULL DEFAULT 0,
80
+ created_at REAL NOT NULL,
81
+ claimed_at REAL,
82
+ finished_at REAL
83
+ );
84
+
85
+ CREATE INDEX IF NOT EXISTS idx_tasks_state ON tasks (state, priority DESC, created_at);
86
+ CREATE INDEX IF NOT EXISTS idx_tasks_assignee ON tasks (assignee, state);
87
+
88
+ CREATE TABLE IF NOT EXISTS task_events (
89
+ id TEXT PRIMARY KEY,
90
+ task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
91
+ kind TEXT NOT NULL,
92
+ payload_json TEXT NOT NULL DEFAULT '{}',
93
+ created_at REAL NOT NULL
94
+ );
95
+
96
+ CREATE INDEX IF NOT EXISTS idx_task_events_task ON task_events (task_id, created_at);
97
+
98
+ CREATE TABLE IF NOT EXISTS artifacts (
99
+ id TEXT PRIMARY KEY,
100
+ name TEXT,
101
+ mime TEXT NOT NULL,
102
+ bytes INTEGER NOT NULL,
103
+ sha256 TEXT NOT NULL,
104
+ created_by TEXT NOT NULL,
105
+ created_at REAL NOT NULL
106
+ );