@saadnvd1/agent-os 0.3.596 → 0.3.600
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.
- package/app/api/bus/spawn/route.ts +35 -16
- package/app/api/lumifyhub/cards/[cardId]/run/route.ts +3 -0
- package/app/api/tasks/route.ts +3 -0
- package/app/page.tsx +2 -1
- package/components/SessionList/SessionRow.tsx +2 -1
- package/lib/agents/spawn.ts +16 -4
- package/lib/chat/refresh.ts +2 -1
- package/lib/chat/runner.ts +29 -0
- package/lib/chat/store.ts +53 -0
- package/lib/db/migration-types.ts +15 -0
- package/lib/db/migrations/0001_add_group_path_to_sessions.ts +11 -0
- package/lib/db/migrations/0002_add_agent_type_to_sessions.ts +11 -0
- package/lib/db/migrations/0003_add_worktree_columns_to_sessions.ts +12 -0
- package/lib/db/migrations/0004_add_pr_tracking_to_sessions.ts +11 -0
- package/lib/db/migrations/0005_add_group_path_index.ts +11 -0
- package/lib/db/migrations/0006_add_orchestration_columns_to_sessions.ts +16 -0
- package/lib/db/migrations/0007_add_auto_approve_to_sessions.ts +11 -0
- package/lib/db/migrations/0008_add_dev_server_columns.ts +19 -0
- package/lib/db/migrations/0009_add_project_id_to_sessions.ts +17 -0
- package/lib/db/migrations/0010_add_project_id_to_dev_servers.ts +36 -0
- package/lib/db/migrations/0011_add_tmux_name_to_sessions.ts +13 -0
- package/lib/db/migrations/0012_add_initial_prompt_to_projects.ts +9 -0
- package/lib/db/migrations/0013_add_project_repositories_table.ts +22 -0
- package/lib/db/migrations/0014_add_hosts.ts +23 -0
- package/lib/db/migrations/0015_add_workspaces.ts +18 -0
- package/lib/db/migrations/0016_add_task_columns_to_sessions.ts +13 -0
- package/lib/db/migrations/0017_add_bus_messages.ts +24 -0
- package/lib/db/migrations/0018_add_chat.ts +23 -0
- package/lib/db/migrations/0019_add_lumifyhub.ts +36 -0
- package/lib/db/migrations/0020_add_lumifyhub_published_docs.ts +18 -0
- package/lib/db/migrations/0021_add_chat_access.ts +14 -0
- package/lib/db/migrations/0022_add_last_seen.ts +10 -0
- package/lib/db/migrations/0023_mark_existing_sessions_seen.ts +12 -0
- package/lib/db/migrations/0024_add_stacks.ts +49 -0
- package/lib/db/migrations/0025_add_stack_item_attempts.ts +16 -0
- package/lib/db/migrations/0026_add_workspace_orchestrator.ts +47 -0
- package/lib/db/migrations/0027_add_devices_and_settings.ts +28 -0
- package/lib/db/migrations/0028_add_orchestrator_acting.ts +70 -0
- package/lib/db/migrations/0029_add_orchestrator_asks_and_pause.ts +81 -0
- package/lib/db/migrations/0030_add_sessions_archived_at.ts +14 -0
- package/lib/db/migrations/0031_add_stack_item_restacked_heads.ts +22 -0
- package/lib/db/migrations/0032_add_sessions_pinned.ts +12 -0
- package/lib/db/migrations/0033_add_program_status.ts +18 -0
- package/lib/db/migrations/0034_add_session_names.ts +21 -0
- package/lib/db/migrations/0035_add_artifacts.ts +23 -0
- package/lib/db/migrations/0036_add_chat_queue.ts +26 -0
- package/lib/db/migrations/0037_add_chat_plan_and_turns.ts +39 -0
- package/lib/db/migrations/0038_add_schedules.ts +56 -0
- package/lib/db/migrations/0039_add_session_name_source.ts +21 -0
- package/lib/db/migrations/0040_add_schedule_targets_and_phone_notify.ts +41 -0
- package/lib/db/migrations/0041_add_task_setup.ts +17 -0
- package/lib/db/migrations/0042_add_host_links_and_moved_tasks.ts +29 -0
- package/lib/db/migrations/0043_scratch_project.ts +14 -0
- package/lib/db/migrations/0044_chat_item_kind.ts +21 -0
- package/lib/db/migrations/0045_change_versions.ts +13 -0
- package/lib/db/migrations/0046_session_port_slots.ts +21 -0
- package/lib/db/migrations/0047_pin_orchestrators.ts +12 -0
- package/lib/db/migrations/0048_session_database.ts +15 -0
- package/lib/db/migrations/0049_peer_mirror.ts +14 -0
- package/lib/db/migrations/0050_task_queue.ts +44 -0
- package/lib/db/migrations/0051_chat_queue_sent_by.ts +16 -0
- package/lib/db/migrations/0052_sessions_chat_restarted.ts +17 -0
- package/lib/db/migrations/0053_brief_amendments_failure_sha_ask_raised_by.ts +37 -0
- package/lib/db/migrations/0054_sessions_chat_tools_digest.ts +15 -0
- package/lib/db/migrations/0055_sessions_merge_armed_and_rebase.ts +25 -0
- package/lib/db/migrations/0056_orchestrator_rules.ts +39 -0
- package/lib/db/migrations/0057_task_pr_wakes.ts +34 -0
- package/lib/db/migrations/0058_away_mode.ts +71 -0
- package/lib/db/migrations/0059_gate_failure_commits.ts +33 -0
- package/lib/db/migrations/0060_check_runs_and_compactions.ts +44 -0
- package/lib/db/migrations/0061_model_routing.ts +30 -0
- package/lib/db/migrations/0062_sessions_quick_of.ts +19 -0
- package/lib/db/migrations/0063_one_off_schedules.ts +16 -0
- package/lib/db/migrations/0064_chat_compactions_phase.ts +15 -0
- package/lib/db/migrations/0065_orchestrator_triage.ts +23 -0
- package/lib/db/migrations/0066_workspace_orch_mcp_servers.ts +16 -0
- package/lib/db/migrations/0067_orchestrator_event_log_suppressed.ts +14 -0
- package/lib/db/migrations/0068_usage_calls_and_rollups.ts +74 -0
- package/lib/db/migrations/0069_session_logs.ts +26 -0
- package/lib/db/migrations/0070_chat_items_running.ts +15 -0
- package/lib/db/migrations/0071_devices_push.ts +29 -0
- package/lib/db/migrations/0072_push_outbox.ts +33 -0
- package/lib/db/migrations/0073_orchestrated_task_moves.ts +27 -0
- package/lib/db/migrations/0074_held_task_replies.ts +27 -0
- package/lib/db/migrations/0075_plan_only_tasks.ts +17 -0
- package/lib/db/migrations/0076_welcome_backfill.ts +16 -0
- package/lib/db/migrations/0077_simulator_leases.ts +21 -0
- package/lib/db/migrations/0078_orchestrator_questions.ts +34 -0
- package/lib/db/migrations/0079_task_queue_agent.ts +13 -0
- package/lib/db/migrations/0080_recipes.ts +129 -0
- package/lib/db/migrations/0081_schedules_into_recipes.ts +18 -0
- package/lib/db/migrations/0082_session_shelf_times.ts +23 -0
- package/lib/db/migrations/0083_native_devices_can_approve.ts +18 -0
- package/lib/db/migrations/0084_approval_audit.ts +20 -0
- package/lib/db/migrations/0085_experiment_usage.ts +35 -0
- package/lib/db/migrations/0086_learning_cards.ts +28 -0
- package/lib/db/migrations/0087_plan_pieces_reconcile.ts +29 -0
- package/lib/db/migrations/0088_shared_links.ts +25 -0
- package/lib/db/migrations/0089_passkeys_device_keys.ts +23 -0
- package/lib/db/migrations/20261014T0900_task_scheduling.ts +57 -0
- package/lib/db/migrations/20261014T1235_placed_mirror_started_by.ts +19 -0
- package/lib/db/migrations/20261014T1600_queued_task_messages.ts +21 -0
- package/lib/db/migrations/20261014T1800_task_starter_device.ts +20 -0
- package/lib/db/migrations/20261014T1900_pause_note.ts +13 -0
- package/lib/db/migrations/20261014T2000_chat_bookmarks.ts +33 -0
- package/lib/db/migrations/20261014T2100_gate_failure_ask_held.ts +18 -0
- package/lib/db/migrations/20261014T2110_task_start_record.ts +21 -0
- package/lib/db/migrations/20261014T2200_end_orphaned_tasks.ts +23 -0
- package/lib/db/migrations/README.md +35 -0
- package/lib/db/migrations-legacy-checksums.json +9 -8
- package/lib/db/migrations-split-snapshot.json +1759 -0
- package/lib/db/migrations.ts +76 -2337
- package/lib/db/types.ts +2 -0
- package/lib/learning-cards/apply.ts +7 -1
- package/lib/models/plan-step.ts +25 -8
- package/lib/models/resolve.ts +1 -1
- package/lib/models/resume.ts +1 -1
- package/lib/models/roles.ts +0 -16
- package/lib/models/session-role.ts +19 -0
- package/lib/orchestrator/act.ts +22 -7
- package/lib/orchestrator/amendments.ts +10 -3
- package/lib/orchestrator/serve.ts +1 -0
- package/lib/orchestrator/testing.ts +8 -0
- package/lib/orchestrator/tool-schemas.ts +9 -0
- package/lib/orchestrator/tools.ts +1 -1
- package/lib/plans/claim.ts +131 -0
- package/lib/plans/release.ts +5 -2
- package/lib/recipes/run.ts +6 -0
- package/lib/schedules/start.ts +1 -0
- package/lib/sessions/fork.ts +10 -0
- package/lib/sessions/launch.ts +5 -1
- package/lib/stacks/start.ts +1 -0
- package/lib/tasks/held-remote.ts +4 -2
- package/lib/tasks/held-replies.ts +5 -2
- package/lib/tasks/held.ts +2 -1
- package/lib/tasks/index.ts +85 -46
- package/lib/tasks/move-carry.ts +12 -1
- package/lib/tasks/move-guard.ts +2 -1
- package/lib/tasks/move.ts +7 -5
- package/lib/tasks/pause.ts +1 -1
- package/lib/tasks/queue.ts +54 -31
- package/lib/tasks/remote.ts +3 -1
- package/lib/tasks/starter.ts +124 -0
- package/lib/usage/calls.ts +2 -1
- package/lib/usage/turns.ts +2 -1
- package/package.json +6 -3
- package/scripts/check +1 -0
- package/scripts/gen-migrations-index.mjs +44 -0
- package/scripts/screenshots/demo.ts +5 -1
- package/scripts/screenshots/run.ts +5 -1
|
@@ -0,0 +1,1759 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lastKey": "20261014T2100_gate_failure_ask_held",
|
|
3
|
+
"applied": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"key": null,
|
|
7
|
+
"name": "add_group_path_to_sessions"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"id": 2,
|
|
11
|
+
"key": null,
|
|
12
|
+
"name": "add_agent_type_to_sessions"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": 3,
|
|
16
|
+
"key": null,
|
|
17
|
+
"name": "add_worktree_columns_to_sessions"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": 4,
|
|
21
|
+
"key": null,
|
|
22
|
+
"name": "add_pr_tracking_to_sessions"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": 5,
|
|
26
|
+
"key": null,
|
|
27
|
+
"name": "add_group_path_index"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": 6,
|
|
31
|
+
"key": null,
|
|
32
|
+
"name": "add_orchestration_columns_to_sessions"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": 7,
|
|
36
|
+
"key": null,
|
|
37
|
+
"name": "add_auto_approve_to_sessions"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": 8,
|
|
41
|
+
"key": null,
|
|
42
|
+
"name": "add_dev_server_columns"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": 9,
|
|
46
|
+
"key": null,
|
|
47
|
+
"name": "add_project_id_to_sessions"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": 10,
|
|
51
|
+
"key": null,
|
|
52
|
+
"name": "add_project_id_to_dev_servers"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": 11,
|
|
56
|
+
"key": null,
|
|
57
|
+
"name": "add_tmux_name_to_sessions"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": 12,
|
|
61
|
+
"key": null,
|
|
62
|
+
"name": "add_initial_prompt_to_projects"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": 13,
|
|
66
|
+
"key": null,
|
|
67
|
+
"name": "add_project_repositories_table"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": 14,
|
|
71
|
+
"key": null,
|
|
72
|
+
"name": "add_hosts"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": 15,
|
|
76
|
+
"key": null,
|
|
77
|
+
"name": "add_workspaces"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": 16,
|
|
81
|
+
"key": null,
|
|
82
|
+
"name": "add_task_columns_to_sessions"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": 17,
|
|
86
|
+
"key": null,
|
|
87
|
+
"name": "add_bus_messages"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": 18,
|
|
91
|
+
"key": null,
|
|
92
|
+
"name": "add_chat"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": 19,
|
|
96
|
+
"key": null,
|
|
97
|
+
"name": "add_lumifyhub"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"id": 20,
|
|
101
|
+
"key": null,
|
|
102
|
+
"name": "add_lumifyhub_published_docs"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"id": 21,
|
|
106
|
+
"key": null,
|
|
107
|
+
"name": "add_chat_access"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"id": 22,
|
|
111
|
+
"key": null,
|
|
112
|
+
"name": "add_last_seen"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"id": 23,
|
|
116
|
+
"key": null,
|
|
117
|
+
"name": "mark_existing_sessions_seen"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id": 24,
|
|
121
|
+
"key": null,
|
|
122
|
+
"name": "add_stacks"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"id": 25,
|
|
126
|
+
"key": null,
|
|
127
|
+
"name": "add_stack_item_attempts"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"id": 26,
|
|
131
|
+
"key": null,
|
|
132
|
+
"name": "add_workspace_orchestrator"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"id": 27,
|
|
136
|
+
"key": null,
|
|
137
|
+
"name": "add_devices_and_settings"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"id": 28,
|
|
141
|
+
"key": null,
|
|
142
|
+
"name": "add_orchestrator_acting"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"id": 29,
|
|
146
|
+
"key": null,
|
|
147
|
+
"name": "add_orchestrator_asks_and_pause"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"id": 30,
|
|
151
|
+
"key": null,
|
|
152
|
+
"name": "add_sessions_archived_at"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"id": 31,
|
|
156
|
+
"key": null,
|
|
157
|
+
"name": "add_stack_item_restacked_heads"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"id": 32,
|
|
161
|
+
"key": null,
|
|
162
|
+
"name": "add_sessions_pinned"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"id": 33,
|
|
166
|
+
"key": null,
|
|
167
|
+
"name": "add_program_status"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"id": 34,
|
|
171
|
+
"key": null,
|
|
172
|
+
"name": "add_session_names"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"id": 35,
|
|
176
|
+
"key": null,
|
|
177
|
+
"name": "add_artifacts"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"id": 36,
|
|
181
|
+
"key": null,
|
|
182
|
+
"name": "add_chat_queue"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"id": 37,
|
|
186
|
+
"key": null,
|
|
187
|
+
"name": "add_chat_plan_and_turns"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"id": 38,
|
|
191
|
+
"key": null,
|
|
192
|
+
"name": "add_schedules"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"id": 39,
|
|
196
|
+
"key": null,
|
|
197
|
+
"name": "add_session_name_source"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"id": 40,
|
|
201
|
+
"key": null,
|
|
202
|
+
"name": "add_schedule_targets_and_phone_notify"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"id": 41,
|
|
206
|
+
"key": null,
|
|
207
|
+
"name": "add_task_setup"
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"id": 42,
|
|
211
|
+
"key": null,
|
|
212
|
+
"name": "add_host_links_and_moved_tasks"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"id": 43,
|
|
216
|
+
"key": null,
|
|
217
|
+
"name": "scratch_project"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"id": 44,
|
|
221
|
+
"key": null,
|
|
222
|
+
"name": "chat_item_kind"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"id": 45,
|
|
226
|
+
"key": null,
|
|
227
|
+
"name": "change_versions"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"id": 46,
|
|
231
|
+
"key": null,
|
|
232
|
+
"name": "session_port_slots"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"id": 47,
|
|
236
|
+
"key": null,
|
|
237
|
+
"name": "pin_orchestrators"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"id": 48,
|
|
241
|
+
"key": null,
|
|
242
|
+
"name": "session_database"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"id": 49,
|
|
246
|
+
"key": null,
|
|
247
|
+
"name": "peer_mirror"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"id": 50,
|
|
251
|
+
"key": null,
|
|
252
|
+
"name": "task_queue"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"id": 51,
|
|
256
|
+
"key": null,
|
|
257
|
+
"name": "chat_queue_sent_by"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"id": 52,
|
|
261
|
+
"key": null,
|
|
262
|
+
"name": "sessions_chat_restarted"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"id": 53,
|
|
266
|
+
"key": null,
|
|
267
|
+
"name": "brief_amendments_failure_sha_ask_raised_by"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"id": 54,
|
|
271
|
+
"key": null,
|
|
272
|
+
"name": "sessions_chat_tools_digest"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"id": 55,
|
|
276
|
+
"key": null,
|
|
277
|
+
"name": "sessions_merge_armed_and_rebase"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"id": 56,
|
|
281
|
+
"key": null,
|
|
282
|
+
"name": "orchestrator_rules"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"id": 57,
|
|
286
|
+
"key": null,
|
|
287
|
+
"name": "task_pr_wakes"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"id": 58,
|
|
291
|
+
"key": null,
|
|
292
|
+
"name": "away_mode"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"id": 59,
|
|
296
|
+
"key": null,
|
|
297
|
+
"name": "gate_failure_commits"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"id": 60,
|
|
301
|
+
"key": null,
|
|
302
|
+
"name": "check_runs_and_compactions"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"id": 61,
|
|
306
|
+
"key": null,
|
|
307
|
+
"name": "model_routing"
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"id": 62,
|
|
311
|
+
"key": null,
|
|
312
|
+
"name": "sessions_quick_of"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"id": 63,
|
|
316
|
+
"key": null,
|
|
317
|
+
"name": "one_off_schedules"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"id": 64,
|
|
321
|
+
"key": null,
|
|
322
|
+
"name": "chat_compactions_phase"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"id": 65,
|
|
326
|
+
"key": null,
|
|
327
|
+
"name": "orchestrator_triage"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"id": 66,
|
|
331
|
+
"key": null,
|
|
332
|
+
"name": "workspace_orch_mcp_servers"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"id": 67,
|
|
336
|
+
"key": null,
|
|
337
|
+
"name": "orchestrator_event_log_suppressed"
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"id": 68,
|
|
341
|
+
"key": null,
|
|
342
|
+
"name": "usage_calls_and_rollups"
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"id": 69,
|
|
346
|
+
"key": null,
|
|
347
|
+
"name": "session_logs"
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"id": 70,
|
|
351
|
+
"key": null,
|
|
352
|
+
"name": "chat_items_running"
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"id": 71,
|
|
356
|
+
"key": null,
|
|
357
|
+
"name": "devices_push"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"id": 72,
|
|
361
|
+
"key": null,
|
|
362
|
+
"name": "push_outbox"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"id": 73,
|
|
366
|
+
"key": null,
|
|
367
|
+
"name": "orchestrated_task_moves"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"id": 74,
|
|
371
|
+
"key": null,
|
|
372
|
+
"name": "held_task_replies"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"id": 75,
|
|
376
|
+
"key": null,
|
|
377
|
+
"name": "plan_only_tasks"
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"id": 76,
|
|
381
|
+
"key": null,
|
|
382
|
+
"name": "welcome_backfill"
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
"id": 77,
|
|
386
|
+
"key": null,
|
|
387
|
+
"name": "simulator_leases"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"id": 78,
|
|
391
|
+
"key": null,
|
|
392
|
+
"name": "orchestrator_questions"
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"id": 79,
|
|
396
|
+
"key": null,
|
|
397
|
+
"name": "task_queue_agent"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"id": 80,
|
|
401
|
+
"key": null,
|
|
402
|
+
"name": "recipes"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"id": 81,
|
|
406
|
+
"key": null,
|
|
407
|
+
"name": "schedules_into_recipes"
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"id": 82,
|
|
411
|
+
"key": null,
|
|
412
|
+
"name": "session_shelf_times"
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"id": 83,
|
|
416
|
+
"key": null,
|
|
417
|
+
"name": "native_devices_can_approve"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"id": 84,
|
|
421
|
+
"key": null,
|
|
422
|
+
"name": "approval_audit"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"id": 85,
|
|
426
|
+
"key": null,
|
|
427
|
+
"name": "experiment_usage"
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"id": 86,
|
|
431
|
+
"key": null,
|
|
432
|
+
"name": "learning_cards"
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"id": 87,
|
|
436
|
+
"key": null,
|
|
437
|
+
"name": "plan_pieces_reconcile"
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"id": 88,
|
|
441
|
+
"key": null,
|
|
442
|
+
"name": "shared_links"
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
"id": 89,
|
|
446
|
+
"key": null,
|
|
447
|
+
"name": "passkeys_device_keys"
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"id": 90,
|
|
451
|
+
"key": "20261014T0900_task_scheduling",
|
|
452
|
+
"name": "task_scheduling"
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
"id": 91,
|
|
456
|
+
"key": "20261014T1235_placed_mirror_started_by",
|
|
457
|
+
"name": "placed_mirror_started_by"
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"id": 92,
|
|
461
|
+
"key": "20261014T1600_queued_task_messages",
|
|
462
|
+
"name": "queued_task_messages"
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
"id": 93,
|
|
466
|
+
"key": "20261014T1800_task_starter_device",
|
|
467
|
+
"name": "task_starter_device"
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
"id": 94,
|
|
471
|
+
"key": "20261014T1900_pause_note",
|
|
472
|
+
"name": "pause_note"
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
"id": 95,
|
|
476
|
+
"key": "20261014T2000_chat_bookmarks",
|
|
477
|
+
"name": "chat_bookmarks"
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"id": 96,
|
|
481
|
+
"key": "20261014T2100_gate_failure_ask_held",
|
|
482
|
+
"name": "gate_failure_ask_held"
|
|
483
|
+
}
|
|
484
|
+
],
|
|
485
|
+
"schema": [
|
|
486
|
+
{
|
|
487
|
+
"type": "index",
|
|
488
|
+
"name": "idx_artifacts_session",
|
|
489
|
+
"tbl_name": "artifacts",
|
|
490
|
+
"sql": "CREATE INDEX idx_artifacts_session ON artifacts(session_id, created_at)"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"type": "index",
|
|
494
|
+
"name": "idx_brief_amendments_session",
|
|
495
|
+
"tbl_name": "brief_amendments",
|
|
496
|
+
"sql": "CREATE INDEX idx_brief_amendments_session\n ON brief_amendments(session_id)"
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
"type": "index",
|
|
500
|
+
"name": "idx_bus_messages_held_queued",
|
|
501
|
+
"tbl_name": "bus_messages",
|
|
502
|
+
"sql": "CREATE INDEX idx_bus_messages_held_queued\n ON bus_messages(to_id) WHERE held_queued = 1"
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
"type": "index",
|
|
506
|
+
"name": "idx_bus_relay_key",
|
|
507
|
+
"tbl_name": "bus_messages",
|
|
508
|
+
"sql": "CREATE UNIQUE INDEX idx_bus_relay_key ON bus_messages(relay_key) WHERE relay_key IS NOT NULL"
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
"type": "index",
|
|
512
|
+
"name": "idx_bus_relay_pending",
|
|
513
|
+
"tbl_name": "bus_messages",
|
|
514
|
+
"sql": "CREATE INDEX idx_bus_relay_pending ON bus_messages(relay_state) WHERE relay_state = 'pending'"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"type": "index",
|
|
518
|
+
"name": "idx_bus_to",
|
|
519
|
+
"tbl_name": "bus_messages",
|
|
520
|
+
"sql": "CREATE INDEX idx_bus_to ON bus_messages(to_id, read_at)"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"type": "index",
|
|
524
|
+
"name": "idx_chat_bookmarks_ws",
|
|
525
|
+
"tbl_name": "chat_bookmarks",
|
|
526
|
+
"sql": "CREATE INDEX idx_chat_bookmarks_ws\n ON chat_bookmarks(workspace_id, created_at DESC)"
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"type": "index",
|
|
530
|
+
"name": "idx_chat_compactions_at",
|
|
531
|
+
"tbl_name": "chat_compactions",
|
|
532
|
+
"sql": "CREATE INDEX idx_chat_compactions_at ON chat_compactions(at)"
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"type": "index",
|
|
536
|
+
"name": "idx_chat_items_kind",
|
|
537
|
+
"tbl_name": "chat_items",
|
|
538
|
+
"sql": "CREATE INDEX idx_chat_items_kind ON chat_items(session_id, kind, seq)"
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"type": "index",
|
|
542
|
+
"name": "idx_chat_items_running",
|
|
543
|
+
"tbl_name": "chat_items",
|
|
544
|
+
"sql": "CREATE INDEX idx_chat_items_running ON chat_items(session_id, kind, seq)\n WHERE json_extract(data, '$.status') = 'running'"
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"type": "index",
|
|
548
|
+
"name": "idx_chat_items_seq",
|
|
549
|
+
"tbl_name": "chat_items",
|
|
550
|
+
"sql": "CREATE INDEX idx_chat_items_seq ON chat_items(session_id, seq)"
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"type": "index",
|
|
554
|
+
"name": "idx_chat_queue_session",
|
|
555
|
+
"tbl_name": "chat_queue",
|
|
556
|
+
"sql": "CREATE INDEX idx_chat_queue_session ON chat_queue(session_id, position)"
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"type": "index",
|
|
560
|
+
"name": "idx_chat_turns_at",
|
|
561
|
+
"tbl_name": "chat_turns",
|
|
562
|
+
"sql": "CREATE INDEX idx_chat_turns_at ON chat_turns(at)"
|
|
563
|
+
},
|
|
564
|
+
{
|
|
565
|
+
"type": "index",
|
|
566
|
+
"name": "idx_chat_turns_session",
|
|
567
|
+
"tbl_name": "chat_turns",
|
|
568
|
+
"sql": "CREATE INDEX idx_chat_turns_session ON chat_turns(session_id, id)"
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
"type": "index",
|
|
572
|
+
"name": "idx_check_runs_at",
|
|
573
|
+
"tbl_name": "check_runs",
|
|
574
|
+
"sql": "CREATE INDEX idx_check_runs_at ON check_runs(at)"
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
"type": "index",
|
|
578
|
+
"name": "idx_check_runs_sha",
|
|
579
|
+
"tbl_name": "check_runs",
|
|
580
|
+
"sql": "CREATE INDEX idx_check_runs_sha ON check_runs(session_id, sha, kind)"
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"type": "index",
|
|
584
|
+
"name": "idx_devices_push_token",
|
|
585
|
+
"tbl_name": "devices",
|
|
586
|
+
"sql": "CREATE INDEX idx_devices_push_token ON devices(push_token)\n WHERE push_token IS NOT NULL"
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"type": "index",
|
|
590
|
+
"name": "idx_experiment_usage_exp_at",
|
|
591
|
+
"tbl_name": "experiment_usage",
|
|
592
|
+
"sql": "CREATE INDEX idx_experiment_usage_exp_at\n ON experiment_usage(experiment_id, at)"
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"type": "index",
|
|
596
|
+
"name": "idx_experiment_usage_session",
|
|
597
|
+
"tbl_name": "experiment_usage",
|
|
598
|
+
"sql": "CREATE INDEX idx_experiment_usage_session\n ON experiment_usage(session_id, experiment_id, event)"
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"type": "index",
|
|
602
|
+
"name": "idx_feature_pieces_session",
|
|
603
|
+
"tbl_name": "feature_pieces",
|
|
604
|
+
"sql": "CREATE INDEX idx_feature_pieces_session\n ON feature_pieces(session_id)"
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
"type": "index",
|
|
608
|
+
"name": "idx_features_plan",
|
|
609
|
+
"tbl_name": "features",
|
|
610
|
+
"sql": "CREATE INDEX idx_features_plan\n ON features(plan_session_id)"
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
"type": "index",
|
|
614
|
+
"name": "idx_learning_cards_dest",
|
|
615
|
+
"tbl_name": "learning_cards",
|
|
616
|
+
"sql": "CREATE INDEX idx_learning_cards_dest\n ON learning_cards(destination, decided_at)"
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
"type": "index",
|
|
620
|
+
"name": "idx_messages_session",
|
|
621
|
+
"tbl_name": "messages",
|
|
622
|
+
"sql": "CREATE INDEX idx_messages_session ON messages(session_id)"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"type": "index",
|
|
626
|
+
"name": "idx_migrations_key",
|
|
627
|
+
"tbl_name": "_migrations",
|
|
628
|
+
"sql": "CREATE UNIQUE INDEX idx_migrations_key ON _migrations(key)"
|
|
629
|
+
},
|
|
630
|
+
{
|
|
631
|
+
"type": "index",
|
|
632
|
+
"name": "idx_notify_outbox_source",
|
|
633
|
+
"tbl_name": "notify_outbox",
|
|
634
|
+
"sql": "CREATE INDEX idx_notify_outbox_source ON notify_outbox(source, sent_at)"
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"type": "index",
|
|
638
|
+
"name": "idx_orchestrator_asks_open",
|
|
639
|
+
"tbl_name": "orchestrator_asks",
|
|
640
|
+
"sql": "CREATE UNIQUE INDEX idx_orchestrator_asks_open\n ON orchestrator_asks(workspace_id, subject) WHERE status = 'open'"
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
"type": "index",
|
|
644
|
+
"name": "idx_orchestrator_asks_workspace",
|
|
645
|
+
"tbl_name": "orchestrator_asks",
|
|
646
|
+
"sql": "CREATE INDEX idx_orchestrator_asks_workspace\n ON orchestrator_asks(workspace_id, status)"
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
"type": "index",
|
|
650
|
+
"name": "idx_orchestrator_event_log",
|
|
651
|
+
"tbl_name": "orchestrator_event_log",
|
|
652
|
+
"sql": "CREATE INDEX idx_orchestrator_event_log\n ON orchestrator_event_log(workspace_id, delivered_at)"
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"type": "index",
|
|
656
|
+
"name": "idx_orchestrator_notes",
|
|
657
|
+
"tbl_name": "orchestrator_notes",
|
|
658
|
+
"sql": "CREATE INDEX idx_orchestrator_notes\n ON orchestrator_notes(workspace_id, id)"
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"type": "index",
|
|
662
|
+
"name": "idx_orchestrator_questions_open",
|
|
663
|
+
"tbl_name": "orchestrator_questions",
|
|
664
|
+
"sql": "CREATE INDEX idx_orchestrator_questions_open\n ON orchestrator_questions(workspace_id, status)"
|
|
665
|
+
},
|
|
666
|
+
{
|
|
667
|
+
"type": "index",
|
|
668
|
+
"name": "idx_orchestrator_rules",
|
|
669
|
+
"tbl_name": "orchestrator_rules",
|
|
670
|
+
"sql": "CREATE INDEX idx_orchestrator_rules\n ON orchestrator_rules(workspace_id, removed_at, id)"
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"type": "index",
|
|
674
|
+
"name": "idx_orchestrator_starts",
|
|
675
|
+
"tbl_name": "orchestrator_starts",
|
|
676
|
+
"sql": "CREATE INDEX idx_orchestrator_starts\n ON orchestrator_starts(workspace_id, created_at)"
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
"type": "index",
|
|
680
|
+
"name": "idx_passkeys_device",
|
|
681
|
+
"tbl_name": "passkeys",
|
|
682
|
+
"sql": "CREATE INDEX idx_passkeys_device ON passkeys(device_id)"
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
"type": "index",
|
|
686
|
+
"name": "idx_project_dev_servers_project",
|
|
687
|
+
"tbl_name": "project_dev_servers",
|
|
688
|
+
"sql": "CREATE INDEX idx_project_dev_servers_project ON project_dev_servers(project_id)"
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
"type": "index",
|
|
692
|
+
"name": "idx_project_repositories_project",
|
|
693
|
+
"tbl_name": "project_repositories",
|
|
694
|
+
"sql": "CREATE INDEX idx_project_repositories_project ON project_repositories(project_id)"
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"type": "index",
|
|
698
|
+
"name": "idx_push_outbox_device",
|
|
699
|
+
"tbl_name": "push_outbox",
|
|
700
|
+
"sql": "CREATE INDEX idx_push_outbox_device ON push_outbox(device_id, sent_at)"
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
"type": "index",
|
|
704
|
+
"name": "idx_push_outbox_due",
|
|
705
|
+
"tbl_name": "push_outbox",
|
|
706
|
+
"sql": "CREATE INDEX idx_push_outbox_due ON push_outbox(state, next_attempt_at)"
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
"type": "index",
|
|
710
|
+
"name": "idx_rate_limit_readings",
|
|
711
|
+
"tbl_name": "rate_limit_readings",
|
|
712
|
+
"sql": "CREATE INDEX idx_rate_limit_readings ON rate_limit_readings(window, at)"
|
|
713
|
+
},
|
|
714
|
+
{
|
|
715
|
+
"type": "index",
|
|
716
|
+
"name": "idx_recipe_runs_one_live",
|
|
717
|
+
"tbl_name": "recipe_runs",
|
|
718
|
+
"sql": "CREATE UNIQUE INDEX idx_recipe_runs_one_live\n ON recipe_runs(recipe_id)\n WHERE status IN ('queued','starting','running')"
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
"type": "index",
|
|
722
|
+
"name": "idx_recipe_runs_recipe",
|
|
723
|
+
"tbl_name": "recipe_runs",
|
|
724
|
+
"sql": "CREATE INDEX idx_recipe_runs_recipe\n ON recipe_runs(recipe_id, id DESC)"
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
"type": "index",
|
|
728
|
+
"name": "idx_recipe_runs_request",
|
|
729
|
+
"tbl_name": "recipe_runs",
|
|
730
|
+
"sql": "CREATE UNIQUE INDEX idx_recipe_runs_request\n ON recipe_runs(request_id) WHERE request_id IS NOT NULL"
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
"type": "index",
|
|
734
|
+
"name": "idx_recipe_runs_session",
|
|
735
|
+
"tbl_name": "recipe_runs",
|
|
736
|
+
"sql": "CREATE INDEX idx_recipe_runs_session\n ON recipe_runs(session_id)"
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
"type": "index",
|
|
740
|
+
"name": "idx_recipes_name",
|
|
741
|
+
"tbl_name": "recipes",
|
|
742
|
+
"sql": "CREATE UNIQUE INDEX idx_recipes_name\n ON recipes(workspace_id, name COLLATE NOCASE) WHERE archived_at IS NULL"
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"type": "index",
|
|
746
|
+
"name": "idx_schedule_runs_schedule",
|
|
747
|
+
"tbl_name": "schedule_runs",
|
|
748
|
+
"sql": "CREATE INDEX idx_schedule_runs_schedule ON schedule_runs(schedule_id, id)"
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"type": "index",
|
|
752
|
+
"name": "idx_schedules_run_at",
|
|
753
|
+
"tbl_name": "schedules",
|
|
754
|
+
"sql": "CREATE INDEX idx_schedules_run_at ON schedules(run_at) WHERE run_at IS NOT NULL"
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
"type": "index",
|
|
758
|
+
"name": "idx_session_logs_project",
|
|
759
|
+
"tbl_name": "session_logs",
|
|
760
|
+
"sql": "CREATE INDEX idx_session_logs_project\n ON session_logs(project_id, created_at)"
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
"type": "index",
|
|
764
|
+
"name": "idx_session_logs_workspace",
|
|
765
|
+
"tbl_name": "session_logs",
|
|
766
|
+
"sql": "CREATE INDEX idx_session_logs_workspace\n ON session_logs(workspace_id, created_at)"
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
"type": "index",
|
|
770
|
+
"name": "idx_session_names_session",
|
|
771
|
+
"tbl_name": "session_names",
|
|
772
|
+
"sql": "CREATE INDEX idx_session_names_session ON session_names(session_id)"
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
"type": "index",
|
|
776
|
+
"name": "idx_sessions_archived_at",
|
|
777
|
+
"tbl_name": "sessions",
|
|
778
|
+
"sql": "CREATE INDEX idx_sessions_archived_at ON sessions(archived_at)"
|
|
779
|
+
},
|
|
780
|
+
{
|
|
781
|
+
"type": "index",
|
|
782
|
+
"name": "idx_sessions_conductor",
|
|
783
|
+
"tbl_name": "sessions",
|
|
784
|
+
"sql": "CREATE INDEX idx_sessions_conductor ON sessions(conductor_session_id)"
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"type": "index",
|
|
788
|
+
"name": "idx_sessions_group",
|
|
789
|
+
"tbl_name": "sessions",
|
|
790
|
+
"sql": "CREATE INDEX idx_sessions_group ON sessions(group_path)"
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"type": "index",
|
|
794
|
+
"name": "idx_sessions_moved_from",
|
|
795
|
+
"tbl_name": "sessions",
|
|
796
|
+
"sql": "CREATE INDEX idx_sessions_moved_from ON sessions(moved_from)"
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
"type": "index",
|
|
800
|
+
"name": "idx_sessions_orchestrator",
|
|
801
|
+
"tbl_name": "sessions",
|
|
802
|
+
"sql": "CREATE UNIQUE INDEX idx_sessions_orchestrator\n ON sessions(workspace_id) WHERE role = 'orchestrator'"
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
"type": "index",
|
|
806
|
+
"name": "idx_sessions_parent",
|
|
807
|
+
"tbl_name": "sessions",
|
|
808
|
+
"sql": "CREATE INDEX idx_sessions_parent ON sessions(parent_session_id)"
|
|
809
|
+
},
|
|
810
|
+
{
|
|
811
|
+
"type": "index",
|
|
812
|
+
"name": "idx_sessions_port_slot",
|
|
813
|
+
"tbl_name": "sessions",
|
|
814
|
+
"sql": "CREATE UNIQUE INDEX idx_sessions_port_slot ON sessions(port_slot) WHERE port_slot IS NOT NULL"
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
"type": "index",
|
|
818
|
+
"name": "idx_sessions_project",
|
|
819
|
+
"tbl_name": "sessions",
|
|
820
|
+
"sql": "CREATE INDEX idx_sessions_project ON sessions(project_id)"
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
"type": "index",
|
|
824
|
+
"name": "idx_sessions_quick_of",
|
|
825
|
+
"tbl_name": "sessions",
|
|
826
|
+
"sql": "CREATE INDEX idx_sessions_quick_of ON sessions(quick_of) WHERE quick_of IS NOT NULL"
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
"type": "index",
|
|
830
|
+
"name": "idx_sessions_task_status",
|
|
831
|
+
"tbl_name": "sessions",
|
|
832
|
+
"sql": "CREATE INDEX idx_sessions_task_status ON sessions(task_status)"
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"type": "index",
|
|
836
|
+
"name": "idx_shared_links_created",
|
|
837
|
+
"tbl_name": "shared_links",
|
|
838
|
+
"sql": "CREATE INDEX idx_shared_links_created\n ON shared_links(created_at DESC)"
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"type": "index",
|
|
842
|
+
"name": "idx_stack_items_session",
|
|
843
|
+
"tbl_name": "stack_items",
|
|
844
|
+
"sql": "CREATE INDEX idx_stack_items_session ON stack_items(session_id)"
|
|
845
|
+
},
|
|
846
|
+
{
|
|
847
|
+
"type": "index",
|
|
848
|
+
"name": "idx_stack_items_stack",
|
|
849
|
+
"tbl_name": "stack_items",
|
|
850
|
+
"sql": "CREATE INDEX idx_stack_items_stack ON stack_items(stack_id, position)"
|
|
851
|
+
},
|
|
852
|
+
{
|
|
853
|
+
"type": "index",
|
|
854
|
+
"name": "idx_task_pauses_session",
|
|
855
|
+
"tbl_name": "task_pauses",
|
|
856
|
+
"sql": "CREATE INDEX idx_task_pauses_session\n ON task_pauses(session_id, state)"
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
"type": "index",
|
|
860
|
+
"name": "idx_task_queue_after_any_used",
|
|
861
|
+
"tbl_name": "task_queue",
|
|
862
|
+
"sql": "CREATE UNIQUE INDEX idx_task_queue_after_any_used\n ON task_queue(after_any_used) WHERE after_any_used IS NOT NULL"
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"type": "index",
|
|
866
|
+
"name": "idx_task_queue_status",
|
|
867
|
+
"tbl_name": "task_queue",
|
|
868
|
+
"sql": "CREATE INDEX idx_task_queue_status ON task_queue(status, position)"
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
"type": "index",
|
|
872
|
+
"name": "idx_tool_calls_message",
|
|
873
|
+
"tbl_name": "tool_calls",
|
|
874
|
+
"sql": "CREATE INDEX idx_tool_calls_message ON tool_calls(message_id)"
|
|
875
|
+
},
|
|
876
|
+
{
|
|
877
|
+
"type": "index",
|
|
878
|
+
"name": "idx_tool_calls_session",
|
|
879
|
+
"tbl_name": "tool_calls",
|
|
880
|
+
"sql": "CREATE INDEX idx_tool_calls_session ON tool_calls(session_id)"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"type": "index",
|
|
884
|
+
"name": "idx_usage_calls_at",
|
|
885
|
+
"tbl_name": "usage_calls",
|
|
886
|
+
"sql": "CREATE INDEX idx_usage_calls_at ON usage_calls(at)"
|
|
887
|
+
},
|
|
888
|
+
{
|
|
889
|
+
"type": "index",
|
|
890
|
+
"name": "idx_usage_calls_session",
|
|
891
|
+
"tbl_name": "usage_calls",
|
|
892
|
+
"sql": "CREATE INDEX idx_usage_calls_session ON usage_calls(session_id)"
|
|
893
|
+
},
|
|
894
|
+
{
|
|
895
|
+
"type": "index",
|
|
896
|
+
"name": "idx_usage_calls_task",
|
|
897
|
+
"tbl_name": "usage_calls",
|
|
898
|
+
"sql": "CREATE INDEX idx_usage_calls_task ON usage_calls(task_id)"
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"type": "table",
|
|
902
|
+
"name": "_migrations",
|
|
903
|
+
"tbl_name": "_migrations",
|
|
904
|
+
"sql": "CREATE TABLE _migrations (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n applied_at TEXT NOT NULL DEFAULT (datetime('now'))\n , key TEXT)"
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
"type": "table",
|
|
908
|
+
"name": "agent_prs",
|
|
909
|
+
"tbl_name": "agent_prs",
|
|
910
|
+
"sql": "CREATE TABLE agent_prs (\n url TEXT PRIMARY KEY,\n session_id TEXT NOT NULL,\n repo TEXT NOT NULL,\n number INTEGER NOT NULL,\n seen_at TEXT NOT NULL DEFAULT (datetime('now')),\n told_at TEXT\n )"
|
|
911
|
+
},
|
|
912
|
+
{
|
|
913
|
+
"type": "table",
|
|
914
|
+
"name": "approval_audit",
|
|
915
|
+
"tbl_name": "approval_audit",
|
|
916
|
+
"sql": "CREATE TABLE approval_audit (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n at TEXT NOT NULL DEFAULT (datetime('now')),\n source TEXT NOT NULL,\n workspace_id TEXT,\n session_id TEXT,\n subject TEXT NOT NULL,\n detail TEXT NOT NULL DEFAULT ''\n )"
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
"type": "table",
|
|
920
|
+
"name": "artifacts",
|
|
921
|
+
"tbl_name": "artifacts",
|
|
922
|
+
"sql": "CREATE TABLE artifacts (\n id TEXT PRIMARY KEY,\n session_id TEXT NOT NULL,\n title TEXT NOT NULL,\n path TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
"type": "table",
|
|
926
|
+
"name": "away_actions",
|
|
927
|
+
"tbl_name": "away_actions",
|
|
928
|
+
"sql": "CREATE TABLE away_actions (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n away_id INTEGER NOT NULL,\n workspace_id TEXT NOT NULL,\n subject TEXT NOT NULL,\n kind TEXT NOT NULL,\n key TEXT NOT NULL,\n detail TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n UNIQUE (away_id, key)\n )"
|
|
929
|
+
},
|
|
930
|
+
{
|
|
931
|
+
"type": "table",
|
|
932
|
+
"name": "away_periods",
|
|
933
|
+
"tbl_name": "away_periods",
|
|
934
|
+
"sql": "CREATE TABLE away_periods (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n set_by TEXT NOT NULL,\n started_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT,\n ended_at TEXT,\n ended_by TEXT,\n last_sweep_at TEXT,\n asks_notified_at TEXT,\n report TEXT,\n report_seen_at TEXT\n )"
|
|
935
|
+
},
|
|
936
|
+
{
|
|
937
|
+
"type": "table",
|
|
938
|
+
"name": "brief_amendments",
|
|
939
|
+
"tbl_name": "brief_amendments",
|
|
940
|
+
"sql": "CREATE TABLE brief_amendments (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n workspace_id TEXT NOT NULL,\n text TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
941
|
+
},
|
|
942
|
+
{
|
|
943
|
+
"type": "table",
|
|
944
|
+
"name": "bus_messages",
|
|
945
|
+
"tbl_name": "bus_messages",
|
|
946
|
+
"sql": "CREATE TABLE bus_messages (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n from_id TEXT,\n from_name TEXT NOT NULL,\n to_id TEXT NOT NULL,\n to_name TEXT NOT NULL,\n body TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n delivered_at TEXT,\n read_at TEXT\n , relay_state TEXT, relay_key TEXT, held_pause_id INTEGER, held_queued INTEGER)"
|
|
947
|
+
},
|
|
948
|
+
{
|
|
949
|
+
"type": "table",
|
|
950
|
+
"name": "change_versions",
|
|
951
|
+
"tbl_name": "change_versions",
|
|
952
|
+
"sql": "CREATE TABLE change_versions (\n topic TEXT PRIMARY KEY,\n version INTEGER NOT NULL DEFAULT 0\n )"
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
"type": "table",
|
|
956
|
+
"name": "chat_bookmarks",
|
|
957
|
+
"tbl_name": "chat_bookmarks",
|
|
958
|
+
"sql": "CREATE TABLE chat_bookmarks (\n id TEXT PRIMARY KEY,\n session_id TEXT NOT NULL,\n item_id TEXT NOT NULL,\n scope TEXT NOT NULL DEFAULT 'item',\n workspace_id TEXT,\n kind TEXT NOT NULL,\n text TEXT NOT NULL,\n session_name TEXT NOT NULL,\n note TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n UNIQUE (session_id, item_id, scope)\n )"
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
"type": "table",
|
|
962
|
+
"name": "chat_compactions",
|
|
963
|
+
"tbl_name": "chat_compactions",
|
|
964
|
+
"sql": "CREATE TABLE chat_compactions (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n session_name TEXT NOT NULL,\n workspace_id TEXT,\n at INTEGER NOT NULL,\n trigger TEXT NOT NULL,\n before_tokens INTEGER,\n after_tokens INTEGER\n , phase TEXT)"
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
"type": "table",
|
|
968
|
+
"name": "chat_items",
|
|
969
|
+
"tbl_name": "chat_items",
|
|
970
|
+
"sql": "CREATE TABLE chat_items (\n session_id TEXT NOT NULL,\n item_id TEXT NOT NULL,\n seq INTEGER NOT NULL,\n data TEXT NOT NULL, kind TEXT\n GENERATED ALWAYS AS (json_extract(data, '$.kind')) VIRTUAL,\n PRIMARY KEY (session_id, item_id)\n )"
|
|
971
|
+
},
|
|
972
|
+
{
|
|
973
|
+
"type": "table",
|
|
974
|
+
"name": "chat_queue",
|
|
975
|
+
"tbl_name": "chat_queue",
|
|
976
|
+
"sql": "CREATE TABLE chat_queue (\n session_id TEXT NOT NULL,\n id TEXT NOT NULL,\n position REAL NOT NULL,\n text TEXT NOT NULL,\n images TEXT,\n image_count INTEGER NOT NULL DEFAULT 0,\n created_at INTEGER NOT NULL, sent_by TEXT,\n PRIMARY KEY (session_id, id)\n )"
|
|
977
|
+
},
|
|
978
|
+
{
|
|
979
|
+
"type": "table",
|
|
980
|
+
"name": "chat_turns",
|
|
981
|
+
"tbl_name": "chat_turns",
|
|
982
|
+
"sql": "CREATE TABLE chat_turns (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n session_name TEXT NOT NULL,\n workspace_id TEXT,\n at INTEGER NOT NULL,\n cost_usd REAL NOT NULL,\n input_tokens INTEGER NOT NULL,\n output_tokens INTEGER NOT NULL,\n cache_read_tokens INTEGER NOT NULL,\n cache_write_tokens INTEGER NOT NULL\n , model TEXT, provider TEXT, role TEXT, duration_ms INTEGER, window_pct REAL)"
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
"type": "table",
|
|
986
|
+
"name": "check_runs",
|
|
987
|
+
"tbl_name": "check_runs",
|
|
988
|
+
"sql": "CREATE TABLE check_runs (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n workspace_id TEXT NOT NULL,\n session_id TEXT NOT NULL,\n label TEXT NOT NULL,\n pr_number INTEGER,\n sha TEXT NOT NULL,\n kind TEXT NOT NULL,\n model TEXT,\n input_tokens INTEGER NOT NULL,\n cache_write_tokens INTEGER NOT NULL,\n cache_read_tokens INTEGER NOT NULL,\n output_tokens INTEGER NOT NULL,\n cost_usd REAL NOT NULL,\n duration_ms INTEGER,\n at INTEGER NOT NULL\n , provider TEXT)"
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
"type": "table",
|
|
992
|
+
"name": "dev_servers",
|
|
993
|
+
"tbl_name": "dev_servers",
|
|
994
|
+
"sql": "CREATE TABLE dev_servers (\n id TEXT PRIMARY KEY,\n project_id TEXT NOT NULL,\n type TEXT NOT NULL DEFAULT 'node',\n name TEXT NOT NULL DEFAULT '',\n command TEXT NOT NULL DEFAULT '',\n status TEXT NOT NULL DEFAULT 'stopped',\n pid INTEGER,\n container_id TEXT,\n ports TEXT NOT NULL DEFAULT '[]',\n working_directory TEXT NOT NULL DEFAULT '',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now')),\n FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE\n )"
|
|
995
|
+
},
|
|
996
|
+
{
|
|
997
|
+
"type": "table",
|
|
998
|
+
"name": "devices",
|
|
999
|
+
"tbl_name": "devices",
|
|
1000
|
+
"sql": "CREATE TABLE devices (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n token_hash TEXT NOT NULL UNIQUE,\n user_agent TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n last_seen_at TEXT,\n last_address TEXT,\n revoked_at TEXT\n , can_approve INTEGER NOT NULL DEFAULT 0, push_token TEXT, push_platform TEXT, push_environment TEXT, push_categories TEXT, push_updated_at TEXT, push_last_error TEXT)"
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
1003
|
+
"type": "table",
|
|
1004
|
+
"name": "experiment_usage",
|
|
1005
|
+
"tbl_name": "experiment_usage",
|
|
1006
|
+
"sql": "CREATE TABLE experiment_usage (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n experiment_id TEXT NOT NULL,\n event TEXT NOT NULL,\n trigger TEXT NOT NULL,\n session_id TEXT,\n workspace_id TEXT,\n model TEXT,\n provider TEXT,\n input_tokens INTEGER NOT NULL DEFAULT 0,\n cache_write_tokens INTEGER NOT NULL DEFAULT 0,\n cache_read_tokens INTEGER NOT NULL DEFAULT 0,\n output_tokens INTEGER NOT NULL DEFAULT 0,\n cost_usd REAL NOT NULL DEFAULT 0,\n duration_ms INTEGER,\n ok INTEGER NOT NULL DEFAULT 1,\n detail TEXT,\n at INTEGER NOT NULL\n )"
|
|
1007
|
+
},
|
|
1008
|
+
{
|
|
1009
|
+
"type": "table",
|
|
1010
|
+
"name": "feature_pieces",
|
|
1011
|
+
"tbl_name": "feature_pieces",
|
|
1012
|
+
"sql": "CREATE TABLE feature_pieces (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n feature_id TEXT NOT NULL,\n position INTEGER NOT NULL,\n name TEXT NOT NULL,\n slice TEXT NOT NULL,\n project_id TEXT NOT NULL,\n after_position INTEGER,\n after_kind TEXT,\n reasons TEXT,\n owns TEXT,\n status TEXT NOT NULL,\n session_id TEXT,\n note TEXT,\n UNIQUE (feature_id, position)\n )"
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
"type": "table",
|
|
1016
|
+
"name": "features",
|
|
1017
|
+
"tbl_name": "features",
|
|
1018
|
+
"sql": "CREATE TABLE features (\n id TEXT PRIMARY KEY,\n workspace_id TEXT NOT NULL,\n name TEXT NOT NULL,\n plan_session_id TEXT NOT NULL,\n plan_text TEXT NOT NULL,\n status TEXT NOT NULL,\n done_at TEXT,\n cost_usd REAL,\n duration_ms INTEGER,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n , listed INTEGER, folded TEXT)"
|
|
1019
|
+
},
|
|
1020
|
+
{
|
|
1021
|
+
"type": "table",
|
|
1022
|
+
"name": "groups",
|
|
1023
|
+
"tbl_name": "groups",
|
|
1024
|
+
"sql": "CREATE TABLE groups (\n path TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n expanded INTEGER NOT NULL DEFAULT 1,\n sort_order INTEGER NOT NULL DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
"type": "table",
|
|
1028
|
+
"name": "host_links",
|
|
1029
|
+
"tbl_name": "host_links",
|
|
1030
|
+
"sql": "CREATE TABLE host_links (\n host_id TEXT PRIMARY KEY REFERENCES hosts(id) ON DELETE CASCADE,\n url TEXT NOT NULL,\n token TEXT NOT NULL,\n linked_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
1031
|
+
},
|
|
1032
|
+
{
|
|
1033
|
+
"type": "table",
|
|
1034
|
+
"name": "hosts",
|
|
1035
|
+
"tbl_name": "hosts",
|
|
1036
|
+
"sql": "CREATE TABLE hosts (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n ssh_target TEXT NOT NULL,\n sort_order INTEGER NOT NULL DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
1037
|
+
},
|
|
1038
|
+
{
|
|
1039
|
+
"type": "table",
|
|
1040
|
+
"name": "learning_cards",
|
|
1041
|
+
"tbl_name": "learning_cards",
|
|
1042
|
+
"sql": "CREATE TABLE learning_cards (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n workspace_id TEXT,\n kind TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n payload TEXT NOT NULL,\n destination TEXT,\n applied_ref TEXT,\n shown_at INTEGER,\n decided_at INTEGER,\n created_at INTEGER NOT NULL,\n UNIQUE (session_id, kind)\n )"
|
|
1043
|
+
},
|
|
1044
|
+
{
|
|
1045
|
+
"type": "table",
|
|
1046
|
+
"name": "lumifyhub_connect_attempts",
|
|
1047
|
+
"tbl_name": "lumifyhub_connect_attempts",
|
|
1048
|
+
"sql": "CREATE TABLE lumifyhub_connect_attempts (\n state TEXT PRIMARY KEY,\n verifier TEXT NOT NULL,\n redirect_uri TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
1049
|
+
},
|
|
1050
|
+
{
|
|
1051
|
+
"type": "table",
|
|
1052
|
+
"name": "lumifyhub_connection",
|
|
1053
|
+
"tbl_name": "lumifyhub_connection",
|
|
1054
|
+
"sql": "CREATE TABLE lumifyhub_connection (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n base_url TEXT NOT NULL,\n token TEXT NOT NULL,\n user_id TEXT,\n user_email TEXT,\n user_name TEXT,\n connected_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
1055
|
+
},
|
|
1056
|
+
{
|
|
1057
|
+
"type": "table",
|
|
1058
|
+
"name": "lumifyhub_published_docs",
|
|
1059
|
+
"tbl_name": "lumifyhub_published_docs",
|
|
1060
|
+
"sql": "CREATE TABLE lumifyhub_published_docs (\n project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,\n repo_path TEXT NOT NULL,\n page_id TEXT NOT NULL,\n content_hash TEXT NOT NULL,\n published_at TEXT NOT NULL DEFAULT (datetime('now')),\n PRIMARY KEY (project_id, repo_path)\n )"
|
|
1061
|
+
},
|
|
1062
|
+
{
|
|
1063
|
+
"type": "table",
|
|
1064
|
+
"name": "messages",
|
|
1065
|
+
"tbl_name": "messages",
|
|
1066
|
+
"sql": "CREATE TABLE messages (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n role TEXT NOT NULL,\n content TEXT NOT NULL,\n timestamp TEXT NOT NULL DEFAULT (datetime('now')),\n duration_ms INTEGER,\n FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE\n )"
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
"type": "table",
|
|
1070
|
+
"name": "needs_you_dismissed",
|
|
1071
|
+
"tbl_name": "needs_you_dismissed",
|
|
1072
|
+
"sql": "CREATE TABLE needs_you_dismissed (\n workspace_id TEXT NOT NULL,\n key TEXT NOT NULL,\n dismissed_at TEXT NOT NULL DEFAULT (datetime('now')),\n PRIMARY KEY (workspace_id, key)\n )"
|
|
1073
|
+
},
|
|
1074
|
+
{
|
|
1075
|
+
"type": "table",
|
|
1076
|
+
"name": "notify_outbox",
|
|
1077
|
+
"tbl_name": "notify_outbox",
|
|
1078
|
+
"sql": "CREATE TABLE notify_outbox (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n source TEXT NOT NULL,\n text TEXT NOT NULL,\n created_at INTEGER NOT NULL,\n send_after INTEGER NOT NULL,\n sent_at INTEGER,\n error TEXT\n )"
|
|
1079
|
+
},
|
|
1080
|
+
{
|
|
1081
|
+
"type": "table",
|
|
1082
|
+
"name": "notify_settings",
|
|
1083
|
+
"tbl_name": "notify_settings",
|
|
1084
|
+
"sql": "CREATE TABLE notify_settings (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n telegram_token TEXT,\n telegram_chat_id TEXT,\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"type": "table",
|
|
1088
|
+
"name": "orchestrator_asks",
|
|
1089
|
+
"tbl_name": "orchestrator_asks",
|
|
1090
|
+
"sql": "CREATE TABLE orchestrator_asks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n workspace_id TEXT NOT NULL,\n subject TEXT NOT NULL,\n kind TEXT NOT NULL,\n title TEXT NOT NULL,\n detail TEXT NOT NULL DEFAULT '',\n link TEXT,\n sha TEXT,\n status TEXT NOT NULL DEFAULT 'open',\n answer TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n resolved_at TEXT,\n used_at TEXT,\n brake_key TEXT\n , raised_by TEXT)"
|
|
1091
|
+
},
|
|
1092
|
+
{
|
|
1093
|
+
"type": "table",
|
|
1094
|
+
"name": "orchestrator_checks",
|
|
1095
|
+
"tbl_name": "orchestrator_checks",
|
|
1096
|
+
"sql": "CREATE TABLE orchestrator_checks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n workspace_id TEXT NOT NULL,\n session_id TEXT NOT NULL,\n sha TEXT NOT NULL,\n kind TEXT NOT NULL,\n status TEXT NOT NULL,\n detail TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n UNIQUE (session_id, sha, kind)\n )"
|
|
1097
|
+
},
|
|
1098
|
+
{
|
|
1099
|
+
"type": "table",
|
|
1100
|
+
"name": "orchestrator_event_log",
|
|
1101
|
+
"tbl_name": "orchestrator_event_log",
|
|
1102
|
+
"sql": "CREATE TABLE orchestrator_event_log (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n workspace_id TEXT NOT NULL,\n subject TEXT,\n delivered_at TEXT NOT NULL\n , suppressed TEXT)"
|
|
1103
|
+
},
|
|
1104
|
+
{
|
|
1105
|
+
"type": "table",
|
|
1106
|
+
"name": "orchestrator_events",
|
|
1107
|
+
"tbl_name": "orchestrator_events",
|
|
1108
|
+
"sql": "CREATE TABLE orchestrator_events (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n workspace_id TEXT NOT NULL,\n key TEXT NOT NULL,\n subject TEXT,\n line TEXT NOT NULL,\n sticky INTEGER NOT NULL DEFAULT 1,\n low INTEGER NOT NULL DEFAULT 0,\n hits INTEGER NOT NULL DEFAULT 1,\n created_at TEXT NOT NULL,\n delivered_at TEXT,\n cleared_at TEXT,\n UNIQUE (workspace_id, key)\n )"
|
|
1109
|
+
},
|
|
1110
|
+
{
|
|
1111
|
+
"type": "table",
|
|
1112
|
+
"name": "orchestrator_gate_failure_commits",
|
|
1113
|
+
"tbl_name": "orchestrator_gate_failure_commits",
|
|
1114
|
+
"sql": "CREATE TABLE orchestrator_gate_failure_commits (\n session_id TEXT NOT NULL,\n gate TEXT NOT NULL,\n sha TEXT NOT NULL,\n workspace_id TEXT NOT NULL,\n reason TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n PRIMARY KEY (session_id, gate, sha)\n )"
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
"type": "table",
|
|
1118
|
+
"name": "orchestrator_gate_failures",
|
|
1119
|
+
"tbl_name": "orchestrator_gate_failures",
|
|
1120
|
+
"sql": "CREATE TABLE orchestrator_gate_failures (\n session_id TEXT NOT NULL,\n gate TEXT NOT NULL,\n workspace_id TEXT NOT NULL,\n count INTEGER NOT NULL DEFAULT 0,\n last_reason TEXT,\n escalated_at TEXT, last_sha TEXT, ask_held_at TEXT,\n PRIMARY KEY (session_id, gate)\n )"
|
|
1121
|
+
},
|
|
1122
|
+
{
|
|
1123
|
+
"type": "table",
|
|
1124
|
+
"name": "orchestrator_notes",
|
|
1125
|
+
"tbl_name": "orchestrator_notes",
|
|
1126
|
+
"sql": "CREATE TABLE orchestrator_notes (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n workspace_id TEXT NOT NULL,\n kind TEXT NOT NULL DEFAULT 'note',\n text TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
1127
|
+
},
|
|
1128
|
+
{
|
|
1129
|
+
"type": "table",
|
|
1130
|
+
"name": "orchestrator_questions",
|
|
1131
|
+
"tbl_name": "orchestrator_questions",
|
|
1132
|
+
"sql": "CREATE TABLE orchestrator_questions (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n workspace_id TEXT NOT NULL,\n text TEXT NOT NULL,\n task TEXT,\n status TEXT NOT NULL DEFAULT 'open',\n resolved_by TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n resolved_at TEXT\n )"
|
|
1133
|
+
},
|
|
1134
|
+
{
|
|
1135
|
+
"type": "table",
|
|
1136
|
+
"name": "orchestrator_rules",
|
|
1137
|
+
"tbl_name": "orchestrator_rules",
|
|
1138
|
+
"sql": "CREATE TABLE orchestrator_rules (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n workspace_id TEXT NOT NULL,\n text TEXT NOT NULL,\n added_by TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now')),\n removed_at TEXT,\n removed_by TEXT\n )"
|
|
1139
|
+
},
|
|
1140
|
+
{
|
|
1141
|
+
"type": "table",
|
|
1142
|
+
"name": "orchestrator_starts",
|
|
1143
|
+
"tbl_name": "orchestrator_starts",
|
|
1144
|
+
"sql": "CREATE TABLE orchestrator_starts (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n workspace_id TEXT NOT NULL,\n kind TEXT NOT NULL,\n target TEXT,\n created_at TEXT NOT NULL\n )"
|
|
1145
|
+
},
|
|
1146
|
+
{
|
|
1147
|
+
"type": "table",
|
|
1148
|
+
"name": "passkey_enrollments",
|
|
1149
|
+
"tbl_name": "passkey_enrollments",
|
|
1150
|
+
"sql": "CREATE TABLE passkey_enrollments (\n code_hash TEXT PRIMARY KEY,\n expires_at INTEGER NOT NULL,\n used_at INTEGER\n )"
|
|
1151
|
+
},
|
|
1152
|
+
{
|
|
1153
|
+
"type": "table",
|
|
1154
|
+
"name": "passkeys",
|
|
1155
|
+
"tbl_name": "passkeys",
|
|
1156
|
+
"sql": "CREATE TABLE passkeys (\n id TEXT PRIMARY KEY,\n public_key BLOB NOT NULL,\n counter INTEGER NOT NULL DEFAULT 0,\n transports TEXT,\n rp_id TEXT NOT NULL,\n name TEXT NOT NULL,\n registered_via TEXT,\n registered_from TEXT,\n user_agent TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n last_used_at TEXT,\n revoked_at TEXT\n , type TEXT NOT NULL DEFAULT 'webauthn', device_id TEXT)"
|
|
1157
|
+
},
|
|
1158
|
+
{
|
|
1159
|
+
"type": "table",
|
|
1160
|
+
"name": "presence_challenges",
|
|
1161
|
+
"tbl_name": "presence_challenges",
|
|
1162
|
+
"sql": "CREATE TABLE presence_challenges (\n challenge TEXT PRIMARY KEY,\n kind TEXT NOT NULL,\n purpose TEXT NOT NULL,\n binding TEXT NOT NULL,\n rp_id TEXT NOT NULL,\n expires_at INTEGER NOT NULL,\n used_at INTEGER\n )"
|
|
1163
|
+
},
|
|
1164
|
+
{
|
|
1165
|
+
"type": "table",
|
|
1166
|
+
"name": "program_status",
|
|
1167
|
+
"tbl_name": "program_status",
|
|
1168
|
+
"sql": "CREATE TABLE program_status (\n session_name TEXT PRIMARY KEY,\n records TEXT NOT NULL,\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
1169
|
+
},
|
|
1170
|
+
{
|
|
1171
|
+
"type": "table",
|
|
1172
|
+
"name": "project_dev_servers",
|
|
1173
|
+
"tbl_name": "project_dev_servers",
|
|
1174
|
+
"sql": "CREATE TABLE project_dev_servers (\n id TEXT PRIMARY KEY,\n project_id TEXT NOT NULL,\n name TEXT NOT NULL,\n type TEXT NOT NULL DEFAULT 'node',\n command TEXT NOT NULL,\n port INTEGER,\n port_env_var TEXT,\n sort_order INTEGER NOT NULL DEFAULT 0,\n FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE\n )"
|
|
1175
|
+
},
|
|
1176
|
+
{
|
|
1177
|
+
"type": "table",
|
|
1178
|
+
"name": "project_repositories",
|
|
1179
|
+
"tbl_name": "project_repositories",
|
|
1180
|
+
"sql": "CREATE TABLE project_repositories (\n id TEXT PRIMARY KEY,\n project_id TEXT NOT NULL,\n name TEXT NOT NULL,\n path TEXT NOT NULL,\n is_primary INTEGER NOT NULL DEFAULT 0,\n sort_order INTEGER NOT NULL DEFAULT 0,\n FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE\n )"
|
|
1181
|
+
},
|
|
1182
|
+
{
|
|
1183
|
+
"type": "table",
|
|
1184
|
+
"name": "projects",
|
|
1185
|
+
"tbl_name": "projects",
|
|
1186
|
+
"sql": "CREATE TABLE projects (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n working_directory TEXT NOT NULL,\n agent_type TEXT NOT NULL DEFAULT 'claude',\n default_model TEXT NOT NULL DEFAULT 'opus',\n initial_prompt TEXT,\n expanded INTEGER NOT NULL DEFAULT 1,\n sort_order INTEGER NOT NULL DEFAULT 0,\n is_uncategorized INTEGER NOT NULL DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n , host_id TEXT NOT NULL DEFAULT 'local', workspace_id TEXT, lh_board_id TEXT, lh_board_name TEXT, lh_board_page_id TEXT, machine_needs TEXT, machine_needs_source TEXT)"
|
|
1187
|
+
},
|
|
1188
|
+
{
|
|
1189
|
+
"type": "table",
|
|
1190
|
+
"name": "push_outbox",
|
|
1191
|
+
"tbl_name": "push_outbox",
|
|
1192
|
+
"sql": "CREATE TABLE push_outbox (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n event_key TEXT NOT NULL,\n device_id TEXT NOT NULL,\n category TEXT NOT NULL,\n level TEXT NOT NULL,\n payload TEXT NOT NULL,\n collapse_id TEXT,\n state TEXT NOT NULL,\n attempts INTEGER NOT NULL DEFAULT 0,\n next_attempt_at INTEGER NOT NULL,\n created_at INTEGER NOT NULL,\n sent_at INTEGER,\n error TEXT,\n fallback_source TEXT,\n fallback_text TEXT,\n UNIQUE(event_key, device_id)\n )"
|
|
1193
|
+
},
|
|
1194
|
+
{
|
|
1195
|
+
"type": "table",
|
|
1196
|
+
"name": "rate_limit_readings",
|
|
1197
|
+
"tbl_name": "rate_limit_readings",
|
|
1198
|
+
"sql": "CREATE TABLE rate_limit_readings (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n at INTEGER NOT NULL,\n window TEXT NOT NULL,\n utilization REAL NOT NULL,\n raw REAL,\n resets_at INTEGER,\n status TEXT,\n session_id TEXT,\n source TEXT NOT NULL\n )"
|
|
1199
|
+
},
|
|
1200
|
+
{
|
|
1201
|
+
"type": "table",
|
|
1202
|
+
"name": "recipe_revisions",
|
|
1203
|
+
"tbl_name": "recipe_revisions",
|
|
1204
|
+
"sql": "CREATE TABLE recipe_revisions (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n recipe_id TEXT NOT NULL,\n brief TEXT NOT NULL,\n settings TEXT NOT NULL,\n edited_by_session_id TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
1205
|
+
},
|
|
1206
|
+
{
|
|
1207
|
+
"type": "table",
|
|
1208
|
+
"name": "recipe_runs",
|
|
1209
|
+
"tbl_name": "recipe_runs",
|
|
1210
|
+
"sql": "CREATE TABLE recipe_runs (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n recipe_id TEXT NOT NULL,\n seq INTEGER NOT NULL,\n trigger TEXT NOT NULL,\n triggered_by_session_id TEXT,\n schedule_run_id INTEGER,\n request_id TEXT,\n note TEXT,\n prompt TEXT NOT NULL,\n revision_id INTEGER,\n status TEXT NOT NULL,\n session_id TEXT,\n pr_number INTEGER,\n pr_url TEXT,\n summary TEXT,\n outputs TEXT,\n summary_source TEXT,\n error TEXT,\n cost_usd REAL,\n duration_ms INTEGER,\n started_at TEXT,\n ended_at TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n UNIQUE (recipe_id, seq)\n )"
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
"type": "table",
|
|
1214
|
+
"name": "recipes",
|
|
1215
|
+
"tbl_name": "recipes",
|
|
1216
|
+
"sql": "CREATE TABLE recipes (\n id TEXT PRIMARY KEY,\n workspace_id TEXT NOT NULL,\n project_id TEXT NOT NULL,\n name TEXT NOT NULL,\n kind TEXT NOT NULL,\n brief TEXT NOT NULL,\n model TEXT,\n view TEXT NOT NULL DEFAULT 'chat',\n auto_done INTEGER NOT NULL DEFAULT 1,\n max_minutes INTEGER,\n carry_cleared_at INTEGER,\n source_session_id TEXT,\n created_by_session_id TEXT,\n updated_by_session_id TEXT,\n archived_at TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
1217
|
+
},
|
|
1218
|
+
{
|
|
1219
|
+
"type": "table",
|
|
1220
|
+
"name": "schedule_runs",
|
|
1221
|
+
"tbl_name": "schedule_runs",
|
|
1222
|
+
"sql": "CREATE TABLE schedule_runs (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n schedule_id TEXT NOT NULL,\n slot TEXT NOT NULL,\n slot_at INTEGER NOT NULL,\n trigger TEXT NOT NULL,\n outcome TEXT NOT NULL,\n detail TEXT,\n session_id TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n UNIQUE (schedule_id, slot)\n )"
|
|
1223
|
+
},
|
|
1224
|
+
{
|
|
1225
|
+
"type": "table",
|
|
1226
|
+
"name": "scheduler_lease",
|
|
1227
|
+
"tbl_name": "scheduler_lease",
|
|
1228
|
+
"sql": "CREATE TABLE scheduler_lease (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n owner TEXT NOT NULL,\n pid INTEGER NOT NULL,\n heartbeat INTEGER NOT NULL\n )"
|
|
1229
|
+
},
|
|
1230
|
+
{
|
|
1231
|
+
"type": "table",
|
|
1232
|
+
"name": "schedules",
|
|
1233
|
+
"tbl_name": "schedules",
|
|
1234
|
+
"sql": "CREATE TABLE schedules (\n id TEXT PRIMARY KEY,\n workspace_id TEXT NOT NULL,\n project_id TEXT,\n name TEXT NOT NULL,\n cron TEXT NOT NULL,\n timezone TEXT NOT NULL DEFAULT 'America/Chicago',\n prompt TEXT NOT NULL,\n kind TEXT NOT NULL,\n enabled INTEGER NOT NULL DEFAULT 1,\n armed_at INTEGER NOT NULL,\n archived_at TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n , target_session_id TEXT, created_by_session_id TEXT, run_at INTEGER, done_at INTEGER, recipe_id TEXT, migrated_from_kind TEXT)"
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
"type": "table",
|
|
1238
|
+
"name": "session_logs",
|
|
1239
|
+
"tbl_name": "session_logs",
|
|
1240
|
+
"sql": "CREATE TABLE session_logs (\n session_id TEXT PRIMARY KEY,\n project_id TEXT,\n workspace_id TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n markdown TEXT NOT NULL,\n data TEXT NOT NULL,\n file_path TEXT\n )"
|
|
1241
|
+
},
|
|
1242
|
+
{
|
|
1243
|
+
"type": "table",
|
|
1244
|
+
"name": "session_names",
|
|
1245
|
+
"tbl_name": "session_names",
|
|
1246
|
+
"sql": "CREATE TABLE session_names (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n name TEXT NOT NULL,\n renamed_at TEXT NOT NULL DEFAULT (datetime('now'))\n )"
|
|
1247
|
+
},
|
|
1248
|
+
{
|
|
1249
|
+
"type": "table",
|
|
1250
|
+
"name": "sessions",
|
|
1251
|
+
"tbl_name": "sessions",
|
|
1252
|
+
"sql": "CREATE TABLE sessions (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now')),\n status TEXT NOT NULL DEFAULT 'idle',\n working_directory TEXT NOT NULL DEFAULT '~',\n parent_session_id TEXT,\n claude_session_id TEXT,\n model TEXT DEFAULT 'opus',\n system_prompt TEXT,\n group_path TEXT NOT NULL DEFAULT 'sessions',\n agent_type TEXT NOT NULL DEFAULT 'claude', worktree_path TEXT, branch_name TEXT, base_branch TEXT, dev_server_port INTEGER, pr_url TEXT, pr_number INTEGER, pr_status TEXT, conductor_session_id TEXT REFERENCES sessions(id), worker_task TEXT, worker_status TEXT, auto_approve INTEGER NOT NULL DEFAULT 0, project_id TEXT REFERENCES projects(id), tmux_name TEXT, host_id TEXT NOT NULL DEFAULT 'local', task_prompt TEXT, task_status TEXT, view TEXT NOT NULL DEFAULT 'terminal', lh_card_id TEXT, lh_board_id TEXT, lh_card_list TEXT, chat_access TEXT NOT NULL DEFAULT 'full', chat_resume_at TEXT, last_seen_at TEXT, role TEXT, workspace_id TEXT, orch_token TEXT, archived_at TEXT, pinned INTEGER NOT NULL DEFAULT 0, chat_suggestion TEXT, chat_plan INTEGER NOT NULL DEFAULT 0, chat_context TEXT, chat_usage TEXT, name_source TEXT NOT NULL DEFAULT 'default', setup_status TEXT, setup_ms INTEGER, setup_error TEXT, task_brief TEXT, moved_to TEXT, moved_from TEXT, port_slot INTEGER, ports TEXT, database TEXT, peer_mirror INTEGER NOT NULL DEFAULT 0, chat_restarted INTEGER NOT NULL DEFAULT 0, chat_tools_digest TEXT, merge_armed_at TEXT, merge_armed_seen TEXT, rebased_from TEXT, rebased_to TEXT, rebase_asked_head TEXT, chat_refreshed INTEGER NOT NULL DEFAULT 0, pr_wake_since TEXT, merged_at TEXT, task_ended_at TEXT, model_provider TEXT, model_overrides TEXT, plan_phase TEXT, quick_of TEXT, started_by TEXT, plan_decided INTEGER, plan_reason TEXT, task_since TEXT, held_by_device TEXT, held_from TEXT, plan_note TEXT, held_for TEXT, held_for_name TEXT, plan_only INTEGER, plan_edits TEXT, active_at TEXT, settled_at TEXT, snoozed_until TEXT, snoozed_at TEXT, priority TEXT, pause_state TEXT, paused_until TEXT, pause_id INTEGER, placed_note TEXT, started_by_device TEXT, pause_note TEXT,\n FOREIGN KEY (parent_session_id) REFERENCES sessions(id)\n )"
|
|
1253
|
+
},
|
|
1254
|
+
{
|
|
1255
|
+
"type": "table",
|
|
1256
|
+
"name": "settings",
|
|
1257
|
+
"tbl_name": "settings",
|
|
1258
|
+
"sql": "CREATE TABLE settings (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n )"
|
|
1259
|
+
},
|
|
1260
|
+
{
|
|
1261
|
+
"type": "table",
|
|
1262
|
+
"name": "shared_links",
|
|
1263
|
+
"tbl_name": "shared_links",
|
|
1264
|
+
"sql": "CREATE TABLE shared_links (\n id TEXT PRIMARY KEY,\n url TEXT NOT NULL,\n kind TEXT NOT NULL,\n title TEXT NOT NULL,\n session_id TEXT,\n artifact_id TEXT,\n expires_at TEXT,\n created_at TEXT NOT NULL,\n revoked_at TEXT\n )"
|
|
1265
|
+
},
|
|
1266
|
+
{
|
|
1267
|
+
"type": "table",
|
|
1268
|
+
"name": "simulator_leases",
|
|
1269
|
+
"tbl_name": "simulator_leases",
|
|
1270
|
+
"sql": "CREATE TABLE simulator_leases (\n session_id TEXT PRIMARY KEY,\n udid TEXT,\n name TEXT NOT NULL,\n state TEXT NOT NULL,\n error TEXT,\n created_at INTEGER NOT NULL,\n last_used_at INTEGER NOT NULL\n )"
|
|
1271
|
+
},
|
|
1272
|
+
{
|
|
1273
|
+
"type": "table",
|
|
1274
|
+
"name": "stack_items",
|
|
1275
|
+
"tbl_name": "stack_items",
|
|
1276
|
+
"sql": "CREATE TABLE stack_items (\n id TEXT PRIMARY KEY,\n stack_id TEXT NOT NULL REFERENCES stacks(id) ON DELETE CASCADE,\n position INTEGER NOT NULL,\n lh_card_id TEXT NOT NULL,\n ticket TEXT,\n title TEXT NOT NULL,\n parent_item_id TEXT,\n also_item_ids TEXT NOT NULL DEFAULT '[]',\n blocker_item_ids TEXT NOT NULL DEFAULT '[]',\n status TEXT NOT NULL DEFAULT 'planned',\n session_id TEXT,\n base_branch TEXT,\n base_tip TEXT,\n pr_number INTEGER,\n note TEXT,\n error TEXT\n , attempts INTEGER NOT NULL DEFAULT 0, held_outside INTEGER NOT NULL DEFAULT 0, restacked_from TEXT, restacked_to TEXT)"
|
|
1277
|
+
},
|
|
1278
|
+
{
|
|
1279
|
+
"type": "table",
|
|
1280
|
+
"name": "stacks",
|
|
1281
|
+
"tbl_name": "stacks",
|
|
1282
|
+
"sql": "CREATE TABLE stacks (\n id TEXT PRIMARY KEY,\n project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,\n lh_board_id TEXT NOT NULL,\n name TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'running',\n max_parallel INTEGER NOT NULL DEFAULT 3,\n progress TEXT,\n error TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n landed_at TEXT\n )"
|
|
1283
|
+
},
|
|
1284
|
+
{
|
|
1285
|
+
"type": "table",
|
|
1286
|
+
"name": "task_pauses",
|
|
1287
|
+
"tbl_name": "task_pauses",
|
|
1288
|
+
"sql": "CREATE TABLE task_pauses (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n mode TEXT NOT NULL DEFAULT 'turn',\n by_kind TEXT NOT NULL DEFAULT 'person',\n by_id TEXT,\n reason TEXT,\n until_at TEXT,\n state TEXT NOT NULL DEFAULT 'pausing',\n requested_at TEXT NOT NULL DEFAULT (datetime('now')),\n paused_at TEXT,\n resume_requested_at TEXT,\n resume_by_kind TEXT,\n resumed_at TEXT,\n ended_at TEXT,\n end_reason TEXT,\n interrupted INTEGER NOT NULL DEFAULT 0,\n held_count INTEGER NOT NULL DEFAULT 0\n )"
|
|
1289
|
+
},
|
|
1290
|
+
{
|
|
1291
|
+
"type": "table",
|
|
1292
|
+
"name": "task_pr_wakes",
|
|
1293
|
+
"tbl_name": "task_pr_wakes",
|
|
1294
|
+
"sql": "CREATE TABLE task_pr_wakes (\n session_id TEXT NOT NULL,\n key TEXT NOT NULL,\n kind TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n PRIMARY KEY (session_id, key)\n )"
|
|
1295
|
+
},
|
|
1296
|
+
{
|
|
1297
|
+
"type": "table",
|
|
1298
|
+
"name": "task_queue",
|
|
1299
|
+
"tbl_name": "task_queue",
|
|
1300
|
+
"sql": "CREATE TABLE task_queue (\n id TEXT PRIMARY KEY,\n project_id TEXT NOT NULL,\n prompt TEXT NOT NULL,\n name TEXT,\n model TEXT,\n view TEXT,\n base_branch TEXT,\n host_id TEXT,\n after_task TEXT,\n after_any TEXT,\n origin_workspace_id TEXT,\n position INTEGER NOT NULL,\n status TEXT NOT NULL DEFAULT 'queued',\n note TEXT,\n error TEXT,\n attempts INTEGER NOT NULL DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n started_at TEXT\n , model_overrides TEXT, plan INTEGER, plan_reason TEXT, started_by TEXT, plan_only INTEGER, agent_type TEXT, priority TEXT NOT NULL DEFAULT 'normal', machine_needs TEXT, after_any_used TEXT, wait_code TEXT)"
|
|
1301
|
+
},
|
|
1302
|
+
{
|
|
1303
|
+
"type": "table",
|
|
1304
|
+
"name": "tool_calls",
|
|
1305
|
+
"tbl_name": "tool_calls",
|
|
1306
|
+
"sql": "CREATE TABLE tool_calls (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n message_id INTEGER NOT NULL,\n session_id TEXT NOT NULL,\n tool_name TEXT NOT NULL,\n tool_input TEXT NOT NULL,\n tool_result TEXT,\n status TEXT NOT NULL DEFAULT 'pending',\n timestamp TEXT NOT NULL DEFAULT (datetime('now')),\n FOREIGN KEY (message_id) REFERENCES messages(id) ON DELETE CASCADE,\n FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE\n )"
|
|
1307
|
+
},
|
|
1308
|
+
{
|
|
1309
|
+
"type": "table",
|
|
1310
|
+
"name": "usage_alerts",
|
|
1311
|
+
"tbl_name": "usage_alerts",
|
|
1312
|
+
"sql": "CREATE TABLE usage_alerts (\n kind TEXT PRIMARY KEY,\n opened_at INTEGER NOT NULL,\n cleared_at INTEGER,\n message TEXT NOT NULL\n )"
|
|
1313
|
+
},
|
|
1314
|
+
{
|
|
1315
|
+
"type": "table",
|
|
1316
|
+
"name": "usage_baseline",
|
|
1317
|
+
"tbl_name": "usage_baseline",
|
|
1318
|
+
"sql": "CREATE TABLE usage_baseline (\n metric TEXT PRIMARY KEY,\n value REAL NOT NULL,\n set_at INTEGER NOT NULL,\n supporting TEXT\n )"
|
|
1319
|
+
},
|
|
1320
|
+
{
|
|
1321
|
+
"type": "table",
|
|
1322
|
+
"name": "usage_calls",
|
|
1323
|
+
"tbl_name": "usage_calls",
|
|
1324
|
+
"sql": "CREATE TABLE usage_calls (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n call_key TEXT NOT NULL UNIQUE,\n at INTEGER NOT NULL,\n session_id TEXT,\n task_id TEXT,\n workspace_id TEXT,\n project_id TEXT,\n session_name TEXT,\n role TEXT,\n kind TEXT NOT NULL,\n agent_type TEXT,\n model TEXT,\n provider TEXT,\n input_tokens INTEGER NOT NULL DEFAULT 0,\n cache_read_tokens INTEGER NOT NULL DEFAULT 0,\n cache_write_5m_tokens INTEGER NOT NULL DEFAULT 0,\n cache_write_1h_tokens INTEGER NOT NULL DEFAULT 0,\n output_tokens INTEGER NOT NULL DEFAULT 0,\n ctx_tokens INTEGER,\n source TEXT NOT NULL\n )"
|
|
1325
|
+
},
|
|
1326
|
+
{
|
|
1327
|
+
"type": "table",
|
|
1328
|
+
"name": "usage_import_offsets",
|
|
1329
|
+
"tbl_name": "usage_import_offsets",
|
|
1330
|
+
"sql": "CREATE TABLE usage_import_offsets (\n path TEXT PRIMARY KEY,\n offset INTEGER NOT NULL,\n mtime INTEGER NOT NULL\n )"
|
|
1331
|
+
},
|
|
1332
|
+
{
|
|
1333
|
+
"type": "table",
|
|
1334
|
+
"name": "usage_rollups",
|
|
1335
|
+
"tbl_name": "usage_rollups",
|
|
1336
|
+
"sql": "CREATE TABLE usage_rollups (\n day TEXT PRIMARY KEY,\n data TEXT NOT NULL,\n final INTEGER NOT NULL DEFAULT 0,\n computed_at INTEGER NOT NULL\n )"
|
|
1337
|
+
},
|
|
1338
|
+
{
|
|
1339
|
+
"type": "table",
|
|
1340
|
+
"name": "workspaces",
|
|
1341
|
+
"tbl_name": "workspaces",
|
|
1342
|
+
"sql": "CREATE TABLE workspaces (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n sort_order INTEGER NOT NULL DEFAULT 0,\n collapsed INTEGER NOT NULL DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n , lh_workspace_id TEXT, lh_workspace_slug TEXT, lh_workspace_name TEXT, orch_max_running INTEGER NOT NULL DEFAULT 4, orch_max_starts_per_hour INTEGER NOT NULL DEFAULT 6, orch_brake TEXT, orch_paused_at TEXT, max_running_tasks INTEGER, wake_tasks_on_pr INTEGER NOT NULL DEFAULT 1, orch_mcp_servers TEXT NOT NULL DEFAULT '[\"linear\"]')"
|
|
1343
|
+
},
|
|
1344
|
+
{
|
|
1345
|
+
"type": "trigger",
|
|
1346
|
+
"name": "change_away_periods_del",
|
|
1347
|
+
"tbl_name": "away_periods",
|
|
1348
|
+
"sql": "CREATE TRIGGER change_away_periods_del\n AFTER DELETE ON away_periods\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('away_periods', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1349
|
+
},
|
|
1350
|
+
{
|
|
1351
|
+
"type": "trigger",
|
|
1352
|
+
"name": "change_away_periods_ins",
|
|
1353
|
+
"tbl_name": "away_periods",
|
|
1354
|
+
"sql": "CREATE TRIGGER change_away_periods_ins\n AFTER INSERT ON away_periods\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('away_periods', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1355
|
+
},
|
|
1356
|
+
{
|
|
1357
|
+
"type": "trigger",
|
|
1358
|
+
"name": "change_away_periods_upd",
|
|
1359
|
+
"tbl_name": "away_periods",
|
|
1360
|
+
"sql": "CREATE TRIGGER change_away_periods_upd\n AFTER UPDATE ON away_periods\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('away_periods', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1361
|
+
},
|
|
1362
|
+
{
|
|
1363
|
+
"type": "trigger",
|
|
1364
|
+
"name": "change_bus_messages_del",
|
|
1365
|
+
"tbl_name": "bus_messages",
|
|
1366
|
+
"sql": "CREATE TRIGGER change_bus_messages_del\n AFTER DELETE ON bus_messages\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('bus_messages', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1367
|
+
},
|
|
1368
|
+
{
|
|
1369
|
+
"type": "trigger",
|
|
1370
|
+
"name": "change_bus_messages_ins",
|
|
1371
|
+
"tbl_name": "bus_messages",
|
|
1372
|
+
"sql": "CREATE TRIGGER change_bus_messages_ins\n AFTER INSERT ON bus_messages\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('bus_messages', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1373
|
+
},
|
|
1374
|
+
{
|
|
1375
|
+
"type": "trigger",
|
|
1376
|
+
"name": "change_bus_messages_upd",
|
|
1377
|
+
"tbl_name": "bus_messages",
|
|
1378
|
+
"sql": "CREATE TRIGGER change_bus_messages_upd\n AFTER UPDATE ON bus_messages\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('bus_messages', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1379
|
+
},
|
|
1380
|
+
{
|
|
1381
|
+
"type": "trigger",
|
|
1382
|
+
"name": "change_chat_bookmarks_del",
|
|
1383
|
+
"tbl_name": "chat_bookmarks",
|
|
1384
|
+
"sql": "CREATE TRIGGER change_chat_bookmarks_del\n AFTER DELETE ON chat_bookmarks\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('chat_bookmarks', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1385
|
+
},
|
|
1386
|
+
{
|
|
1387
|
+
"type": "trigger",
|
|
1388
|
+
"name": "change_chat_bookmarks_ins",
|
|
1389
|
+
"tbl_name": "chat_bookmarks",
|
|
1390
|
+
"sql": "CREATE TRIGGER change_chat_bookmarks_ins\n AFTER INSERT ON chat_bookmarks\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('chat_bookmarks', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1391
|
+
},
|
|
1392
|
+
{
|
|
1393
|
+
"type": "trigger",
|
|
1394
|
+
"name": "change_chat_bookmarks_upd",
|
|
1395
|
+
"tbl_name": "chat_bookmarks",
|
|
1396
|
+
"sql": "CREATE TRIGGER change_chat_bookmarks_upd\n AFTER UPDATE ON chat_bookmarks\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('chat_bookmarks', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1397
|
+
},
|
|
1398
|
+
{
|
|
1399
|
+
"type": "trigger",
|
|
1400
|
+
"name": "change_dev_servers_del",
|
|
1401
|
+
"tbl_name": "dev_servers",
|
|
1402
|
+
"sql": "CREATE TRIGGER change_dev_servers_del\n AFTER DELETE ON dev_servers\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('dev_servers', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1403
|
+
},
|
|
1404
|
+
{
|
|
1405
|
+
"type": "trigger",
|
|
1406
|
+
"name": "change_dev_servers_ins",
|
|
1407
|
+
"tbl_name": "dev_servers",
|
|
1408
|
+
"sql": "CREATE TRIGGER change_dev_servers_ins\n AFTER INSERT ON dev_servers\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('dev_servers', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1409
|
+
},
|
|
1410
|
+
{
|
|
1411
|
+
"type": "trigger",
|
|
1412
|
+
"name": "change_dev_servers_upd",
|
|
1413
|
+
"tbl_name": "dev_servers",
|
|
1414
|
+
"sql": "CREATE TRIGGER change_dev_servers_upd\n AFTER UPDATE ON dev_servers\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('dev_servers', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1415
|
+
},
|
|
1416
|
+
{
|
|
1417
|
+
"type": "trigger",
|
|
1418
|
+
"name": "change_feature_pieces_del",
|
|
1419
|
+
"tbl_name": "feature_pieces",
|
|
1420
|
+
"sql": "CREATE TRIGGER change_feature_pieces_del\n AFTER DELETE ON feature_pieces\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('feature_pieces', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1421
|
+
},
|
|
1422
|
+
{
|
|
1423
|
+
"type": "trigger",
|
|
1424
|
+
"name": "change_feature_pieces_ins",
|
|
1425
|
+
"tbl_name": "feature_pieces",
|
|
1426
|
+
"sql": "CREATE TRIGGER change_feature_pieces_ins\n AFTER INSERT ON feature_pieces\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('feature_pieces', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1427
|
+
},
|
|
1428
|
+
{
|
|
1429
|
+
"type": "trigger",
|
|
1430
|
+
"name": "change_feature_pieces_upd",
|
|
1431
|
+
"tbl_name": "feature_pieces",
|
|
1432
|
+
"sql": "CREATE TRIGGER change_feature_pieces_upd\n AFTER UPDATE ON feature_pieces\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('feature_pieces', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1433
|
+
},
|
|
1434
|
+
{
|
|
1435
|
+
"type": "trigger",
|
|
1436
|
+
"name": "change_features_del",
|
|
1437
|
+
"tbl_name": "features",
|
|
1438
|
+
"sql": "CREATE TRIGGER change_features_del\n AFTER DELETE ON features\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('features', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1439
|
+
},
|
|
1440
|
+
{
|
|
1441
|
+
"type": "trigger",
|
|
1442
|
+
"name": "change_features_ins",
|
|
1443
|
+
"tbl_name": "features",
|
|
1444
|
+
"sql": "CREATE TRIGGER change_features_ins\n AFTER INSERT ON features\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('features', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1445
|
+
},
|
|
1446
|
+
{
|
|
1447
|
+
"type": "trigger",
|
|
1448
|
+
"name": "change_features_upd",
|
|
1449
|
+
"tbl_name": "features",
|
|
1450
|
+
"sql": "CREATE TRIGGER change_features_upd\n AFTER UPDATE ON features\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('features', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1451
|
+
},
|
|
1452
|
+
{
|
|
1453
|
+
"type": "trigger",
|
|
1454
|
+
"name": "change_groups_del",
|
|
1455
|
+
"tbl_name": "groups",
|
|
1456
|
+
"sql": "CREATE TRIGGER change_groups_del\n AFTER DELETE ON groups\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('groups', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1457
|
+
},
|
|
1458
|
+
{
|
|
1459
|
+
"type": "trigger",
|
|
1460
|
+
"name": "change_groups_ins",
|
|
1461
|
+
"tbl_name": "groups",
|
|
1462
|
+
"sql": "CREATE TRIGGER change_groups_ins\n AFTER INSERT ON groups\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('groups', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1463
|
+
},
|
|
1464
|
+
{
|
|
1465
|
+
"type": "trigger",
|
|
1466
|
+
"name": "change_groups_upd",
|
|
1467
|
+
"tbl_name": "groups",
|
|
1468
|
+
"sql": "CREATE TRIGGER change_groups_upd\n AFTER UPDATE ON groups\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('groups', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1469
|
+
},
|
|
1470
|
+
{
|
|
1471
|
+
"type": "trigger",
|
|
1472
|
+
"name": "change_hosts_del",
|
|
1473
|
+
"tbl_name": "hosts",
|
|
1474
|
+
"sql": "CREATE TRIGGER change_hosts_del\n AFTER DELETE ON hosts\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('hosts', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1475
|
+
},
|
|
1476
|
+
{
|
|
1477
|
+
"type": "trigger",
|
|
1478
|
+
"name": "change_hosts_ins",
|
|
1479
|
+
"tbl_name": "hosts",
|
|
1480
|
+
"sql": "CREATE TRIGGER change_hosts_ins\n AFTER INSERT ON hosts\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('hosts', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1481
|
+
},
|
|
1482
|
+
{
|
|
1483
|
+
"type": "trigger",
|
|
1484
|
+
"name": "change_hosts_upd",
|
|
1485
|
+
"tbl_name": "hosts",
|
|
1486
|
+
"sql": "CREATE TRIGGER change_hosts_upd\n AFTER UPDATE ON hosts\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('hosts', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1487
|
+
},
|
|
1488
|
+
{
|
|
1489
|
+
"type": "trigger",
|
|
1490
|
+
"name": "change_needs_you_dismissed_del",
|
|
1491
|
+
"tbl_name": "needs_you_dismissed",
|
|
1492
|
+
"sql": "CREATE TRIGGER change_needs_you_dismissed_del\n AFTER DELETE ON needs_you_dismissed\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('needs_you_dismissed', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1493
|
+
},
|
|
1494
|
+
{
|
|
1495
|
+
"type": "trigger",
|
|
1496
|
+
"name": "change_needs_you_dismissed_ins",
|
|
1497
|
+
"tbl_name": "needs_you_dismissed",
|
|
1498
|
+
"sql": "CREATE TRIGGER change_needs_you_dismissed_ins\n AFTER INSERT ON needs_you_dismissed\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('needs_you_dismissed', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1499
|
+
},
|
|
1500
|
+
{
|
|
1501
|
+
"type": "trigger",
|
|
1502
|
+
"name": "change_needs_you_dismissed_upd",
|
|
1503
|
+
"tbl_name": "needs_you_dismissed",
|
|
1504
|
+
"sql": "CREATE TRIGGER change_needs_you_dismissed_upd\n AFTER UPDATE ON needs_you_dismissed\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('needs_you_dismissed', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1505
|
+
},
|
|
1506
|
+
{
|
|
1507
|
+
"type": "trigger",
|
|
1508
|
+
"name": "change_orchestrator_asks_del",
|
|
1509
|
+
"tbl_name": "orchestrator_asks",
|
|
1510
|
+
"sql": "CREATE TRIGGER change_orchestrator_asks_del\n AFTER DELETE ON orchestrator_asks\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('orchestrator_asks', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1511
|
+
},
|
|
1512
|
+
{
|
|
1513
|
+
"type": "trigger",
|
|
1514
|
+
"name": "change_orchestrator_asks_ins",
|
|
1515
|
+
"tbl_name": "orchestrator_asks",
|
|
1516
|
+
"sql": "CREATE TRIGGER change_orchestrator_asks_ins\n AFTER INSERT ON orchestrator_asks\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('orchestrator_asks', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1517
|
+
},
|
|
1518
|
+
{
|
|
1519
|
+
"type": "trigger",
|
|
1520
|
+
"name": "change_orchestrator_asks_upd",
|
|
1521
|
+
"tbl_name": "orchestrator_asks",
|
|
1522
|
+
"sql": "CREATE TRIGGER change_orchestrator_asks_upd\n AFTER UPDATE ON orchestrator_asks\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('orchestrator_asks', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1523
|
+
},
|
|
1524
|
+
{
|
|
1525
|
+
"type": "trigger",
|
|
1526
|
+
"name": "change_orchestrator_questions_del",
|
|
1527
|
+
"tbl_name": "orchestrator_questions",
|
|
1528
|
+
"sql": "CREATE TRIGGER change_orchestrator_questions_del\n AFTER DELETE ON orchestrator_questions\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('orchestrator_questions', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1529
|
+
},
|
|
1530
|
+
{
|
|
1531
|
+
"type": "trigger",
|
|
1532
|
+
"name": "change_orchestrator_questions_ins",
|
|
1533
|
+
"tbl_name": "orchestrator_questions",
|
|
1534
|
+
"sql": "CREATE TRIGGER change_orchestrator_questions_ins\n AFTER INSERT ON orchestrator_questions\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('orchestrator_questions', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1535
|
+
},
|
|
1536
|
+
{
|
|
1537
|
+
"type": "trigger",
|
|
1538
|
+
"name": "change_orchestrator_questions_upd",
|
|
1539
|
+
"tbl_name": "orchestrator_questions",
|
|
1540
|
+
"sql": "CREATE TRIGGER change_orchestrator_questions_upd\n AFTER UPDATE ON orchestrator_questions\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('orchestrator_questions', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1541
|
+
},
|
|
1542
|
+
{
|
|
1543
|
+
"type": "trigger",
|
|
1544
|
+
"name": "change_orchestrator_rules_del",
|
|
1545
|
+
"tbl_name": "orchestrator_rules",
|
|
1546
|
+
"sql": "CREATE TRIGGER change_orchestrator_rules_del\n AFTER DELETE ON orchestrator_rules\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('orchestrator_rules', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1547
|
+
},
|
|
1548
|
+
{
|
|
1549
|
+
"type": "trigger",
|
|
1550
|
+
"name": "change_orchestrator_rules_ins",
|
|
1551
|
+
"tbl_name": "orchestrator_rules",
|
|
1552
|
+
"sql": "CREATE TRIGGER change_orchestrator_rules_ins\n AFTER INSERT ON orchestrator_rules\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('orchestrator_rules', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1553
|
+
},
|
|
1554
|
+
{
|
|
1555
|
+
"type": "trigger",
|
|
1556
|
+
"name": "change_orchestrator_rules_upd",
|
|
1557
|
+
"tbl_name": "orchestrator_rules",
|
|
1558
|
+
"sql": "CREATE TRIGGER change_orchestrator_rules_upd\n AFTER UPDATE ON orchestrator_rules\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('orchestrator_rules', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1559
|
+
},
|
|
1560
|
+
{
|
|
1561
|
+
"type": "trigger",
|
|
1562
|
+
"name": "change_projects_del",
|
|
1563
|
+
"tbl_name": "projects",
|
|
1564
|
+
"sql": "CREATE TRIGGER change_projects_del\n AFTER DELETE ON projects\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('projects', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1565
|
+
},
|
|
1566
|
+
{
|
|
1567
|
+
"type": "trigger",
|
|
1568
|
+
"name": "change_projects_ins",
|
|
1569
|
+
"tbl_name": "projects",
|
|
1570
|
+
"sql": "CREATE TRIGGER change_projects_ins\n AFTER INSERT ON projects\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('projects', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1571
|
+
},
|
|
1572
|
+
{
|
|
1573
|
+
"type": "trigger",
|
|
1574
|
+
"name": "change_projects_upd",
|
|
1575
|
+
"tbl_name": "projects",
|
|
1576
|
+
"sql": "CREATE TRIGGER change_projects_upd\n AFTER UPDATE ON projects\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('projects', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1577
|
+
},
|
|
1578
|
+
{
|
|
1579
|
+
"type": "trigger",
|
|
1580
|
+
"name": "change_recipe_runs_del",
|
|
1581
|
+
"tbl_name": "recipe_runs",
|
|
1582
|
+
"sql": "CREATE TRIGGER change_recipe_runs_del\n AFTER DELETE ON recipe_runs\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('recipe_runs', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1583
|
+
},
|
|
1584
|
+
{
|
|
1585
|
+
"type": "trigger",
|
|
1586
|
+
"name": "change_recipe_runs_ins",
|
|
1587
|
+
"tbl_name": "recipe_runs",
|
|
1588
|
+
"sql": "CREATE TRIGGER change_recipe_runs_ins\n AFTER INSERT ON recipe_runs\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('recipe_runs', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1589
|
+
},
|
|
1590
|
+
{
|
|
1591
|
+
"type": "trigger",
|
|
1592
|
+
"name": "change_recipe_runs_upd",
|
|
1593
|
+
"tbl_name": "recipe_runs",
|
|
1594
|
+
"sql": "CREATE TRIGGER change_recipe_runs_upd\n AFTER UPDATE ON recipe_runs\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('recipe_runs', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1595
|
+
},
|
|
1596
|
+
{
|
|
1597
|
+
"type": "trigger",
|
|
1598
|
+
"name": "change_recipes_del",
|
|
1599
|
+
"tbl_name": "recipes",
|
|
1600
|
+
"sql": "CREATE TRIGGER change_recipes_del\n AFTER DELETE ON recipes\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('recipes', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1601
|
+
},
|
|
1602
|
+
{
|
|
1603
|
+
"type": "trigger",
|
|
1604
|
+
"name": "change_recipes_ins",
|
|
1605
|
+
"tbl_name": "recipes",
|
|
1606
|
+
"sql": "CREATE TRIGGER change_recipes_ins\n AFTER INSERT ON recipes\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('recipes', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1607
|
+
},
|
|
1608
|
+
{
|
|
1609
|
+
"type": "trigger",
|
|
1610
|
+
"name": "change_recipes_upd",
|
|
1611
|
+
"tbl_name": "recipes",
|
|
1612
|
+
"sql": "CREATE TRIGGER change_recipes_upd\n AFTER UPDATE ON recipes\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('recipes', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1613
|
+
},
|
|
1614
|
+
{
|
|
1615
|
+
"type": "trigger",
|
|
1616
|
+
"name": "change_schedule_runs_del",
|
|
1617
|
+
"tbl_name": "schedule_runs",
|
|
1618
|
+
"sql": "CREATE TRIGGER change_schedule_runs_del\n AFTER DELETE ON schedule_runs\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('schedule_runs', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1619
|
+
},
|
|
1620
|
+
{
|
|
1621
|
+
"type": "trigger",
|
|
1622
|
+
"name": "change_schedule_runs_ins",
|
|
1623
|
+
"tbl_name": "schedule_runs",
|
|
1624
|
+
"sql": "CREATE TRIGGER change_schedule_runs_ins\n AFTER INSERT ON schedule_runs\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('schedule_runs', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1625
|
+
},
|
|
1626
|
+
{
|
|
1627
|
+
"type": "trigger",
|
|
1628
|
+
"name": "change_schedule_runs_upd",
|
|
1629
|
+
"tbl_name": "schedule_runs",
|
|
1630
|
+
"sql": "CREATE TRIGGER change_schedule_runs_upd\n AFTER UPDATE ON schedule_runs\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('schedule_runs', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1631
|
+
},
|
|
1632
|
+
{
|
|
1633
|
+
"type": "trigger",
|
|
1634
|
+
"name": "change_schedules_del",
|
|
1635
|
+
"tbl_name": "schedules",
|
|
1636
|
+
"sql": "CREATE TRIGGER change_schedules_del\n AFTER DELETE ON schedules\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('schedules', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1637
|
+
},
|
|
1638
|
+
{
|
|
1639
|
+
"type": "trigger",
|
|
1640
|
+
"name": "change_schedules_ins",
|
|
1641
|
+
"tbl_name": "schedules",
|
|
1642
|
+
"sql": "CREATE TRIGGER change_schedules_ins\n AFTER INSERT ON schedules\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('schedules', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1643
|
+
},
|
|
1644
|
+
{
|
|
1645
|
+
"type": "trigger",
|
|
1646
|
+
"name": "change_schedules_upd",
|
|
1647
|
+
"tbl_name": "schedules",
|
|
1648
|
+
"sql": "CREATE TRIGGER change_schedules_upd\n AFTER UPDATE ON schedules\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('schedules', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1649
|
+
},
|
|
1650
|
+
{
|
|
1651
|
+
"type": "trigger",
|
|
1652
|
+
"name": "change_sessions_del",
|
|
1653
|
+
"tbl_name": "sessions",
|
|
1654
|
+
"sql": "CREATE TRIGGER change_sessions_del\n AFTER DELETE ON sessions\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('sessions', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1655
|
+
},
|
|
1656
|
+
{
|
|
1657
|
+
"type": "trigger",
|
|
1658
|
+
"name": "change_sessions_ins",
|
|
1659
|
+
"tbl_name": "sessions",
|
|
1660
|
+
"sql": "CREATE TRIGGER change_sessions_ins\n AFTER INSERT ON sessions\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('sessions', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1661
|
+
},
|
|
1662
|
+
{
|
|
1663
|
+
"type": "trigger",
|
|
1664
|
+
"name": "change_sessions_upd",
|
|
1665
|
+
"tbl_name": "sessions",
|
|
1666
|
+
"sql": "CREATE TRIGGER change_sessions_upd\n AFTER UPDATE ON sessions\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('sessions', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1667
|
+
},
|
|
1668
|
+
{
|
|
1669
|
+
"type": "trigger",
|
|
1670
|
+
"name": "change_stack_items_del",
|
|
1671
|
+
"tbl_name": "stack_items",
|
|
1672
|
+
"sql": "CREATE TRIGGER change_stack_items_del\n AFTER DELETE ON stack_items\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('stack_items', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1673
|
+
},
|
|
1674
|
+
{
|
|
1675
|
+
"type": "trigger",
|
|
1676
|
+
"name": "change_stack_items_ins",
|
|
1677
|
+
"tbl_name": "stack_items",
|
|
1678
|
+
"sql": "CREATE TRIGGER change_stack_items_ins\n AFTER INSERT ON stack_items\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('stack_items', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1679
|
+
},
|
|
1680
|
+
{
|
|
1681
|
+
"type": "trigger",
|
|
1682
|
+
"name": "change_stack_items_upd",
|
|
1683
|
+
"tbl_name": "stack_items",
|
|
1684
|
+
"sql": "CREATE TRIGGER change_stack_items_upd\n AFTER UPDATE ON stack_items\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('stack_items', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1685
|
+
},
|
|
1686
|
+
{
|
|
1687
|
+
"type": "trigger",
|
|
1688
|
+
"name": "change_stacks_del",
|
|
1689
|
+
"tbl_name": "stacks",
|
|
1690
|
+
"sql": "CREATE TRIGGER change_stacks_del\n AFTER DELETE ON stacks\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('stacks', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1691
|
+
},
|
|
1692
|
+
{
|
|
1693
|
+
"type": "trigger",
|
|
1694
|
+
"name": "change_stacks_ins",
|
|
1695
|
+
"tbl_name": "stacks",
|
|
1696
|
+
"sql": "CREATE TRIGGER change_stacks_ins\n AFTER INSERT ON stacks\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('stacks', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1697
|
+
},
|
|
1698
|
+
{
|
|
1699
|
+
"type": "trigger",
|
|
1700
|
+
"name": "change_stacks_upd",
|
|
1701
|
+
"tbl_name": "stacks",
|
|
1702
|
+
"sql": "CREATE TRIGGER change_stacks_upd\n AFTER UPDATE ON stacks\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('stacks', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
"type": "trigger",
|
|
1706
|
+
"name": "change_task_queue_del",
|
|
1707
|
+
"tbl_name": "task_queue",
|
|
1708
|
+
"sql": "CREATE TRIGGER change_task_queue_del\n AFTER DELETE ON task_queue\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('task_queue', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1709
|
+
},
|
|
1710
|
+
{
|
|
1711
|
+
"type": "trigger",
|
|
1712
|
+
"name": "change_task_queue_ins",
|
|
1713
|
+
"tbl_name": "task_queue",
|
|
1714
|
+
"sql": "CREATE TRIGGER change_task_queue_ins\n AFTER INSERT ON task_queue\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('task_queue', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1715
|
+
},
|
|
1716
|
+
{
|
|
1717
|
+
"type": "trigger",
|
|
1718
|
+
"name": "change_task_queue_upd",
|
|
1719
|
+
"tbl_name": "task_queue",
|
|
1720
|
+
"sql": "CREATE TRIGGER change_task_queue_upd\n AFTER UPDATE ON task_queue\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('task_queue', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1721
|
+
},
|
|
1722
|
+
{
|
|
1723
|
+
"type": "trigger",
|
|
1724
|
+
"name": "change_workspaces_del",
|
|
1725
|
+
"tbl_name": "workspaces",
|
|
1726
|
+
"sql": "CREATE TRIGGER change_workspaces_del\n AFTER DELETE ON workspaces\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('workspaces', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1727
|
+
},
|
|
1728
|
+
{
|
|
1729
|
+
"type": "trigger",
|
|
1730
|
+
"name": "change_workspaces_ins",
|
|
1731
|
+
"tbl_name": "workspaces",
|
|
1732
|
+
"sql": "CREATE TRIGGER change_workspaces_ins\n AFTER INSERT ON workspaces\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('workspaces', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1733
|
+
},
|
|
1734
|
+
{
|
|
1735
|
+
"type": "trigger",
|
|
1736
|
+
"name": "change_workspaces_upd",
|
|
1737
|
+
"tbl_name": "workspaces",
|
|
1738
|
+
"sql": "CREATE TRIGGER change_workspaces_upd\n AFTER UPDATE ON workspaces\n BEGIN\n INSERT INTO change_versions (topic, version) VALUES ('workspaces', 1)\n ON CONFLICT(topic) DO UPDATE SET version = version + 1;\n END"
|
|
1739
|
+
},
|
|
1740
|
+
{
|
|
1741
|
+
"type": "trigger",
|
|
1742
|
+
"name": "gate_failures_clear_commits",
|
|
1743
|
+
"tbl_name": "orchestrator_gate_failures",
|
|
1744
|
+
"sql": "CREATE TRIGGER gate_failures_clear_commits\n AFTER DELETE ON orchestrator_gate_failures\n BEGIN\n DELETE FROM orchestrator_gate_failure_commits\n WHERE session_id = OLD.session_id AND gate = OLD.gate;\n END"
|
|
1745
|
+
},
|
|
1746
|
+
{
|
|
1747
|
+
"type": "trigger",
|
|
1748
|
+
"name": "sessions_merged_at",
|
|
1749
|
+
"tbl_name": "sessions",
|
|
1750
|
+
"sql": "CREATE TRIGGER sessions_merged_at\n AFTER UPDATE OF task_status ON sessions\n WHEN NEW.task_status = 'merged' AND OLD.task_status IS NOT 'merged'\n -- unless the same statement set it (an import keeps its own)\n AND NEW.merged_at IS OLD.merged_at\n BEGIN\n UPDATE sessions SET merged_at = datetime('now') WHERE id = NEW.id;\n END"
|
|
1751
|
+
},
|
|
1752
|
+
{
|
|
1753
|
+
"type": "trigger",
|
|
1754
|
+
"name": "sessions_task_ended_at",
|
|
1755
|
+
"tbl_name": "sessions",
|
|
1756
|
+
"sql": "CREATE TRIGGER sessions_task_ended_at\n AFTER UPDATE OF task_status ON sessions\n WHEN NEW.task_status IN ('dropped', 'done')\n AND OLD.task_status IS NOT NEW.task_status\n AND NEW.task_ended_at IS OLD.task_ended_at\n BEGIN\n UPDATE sessions SET task_ended_at = datetime('now') WHERE id = NEW.id;\n END"
|
|
1757
|
+
}
|
|
1758
|
+
]
|
|
1759
|
+
}
|