@usine/engine 0.2.0 → 0.4.0

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.
Files changed (192) hide show
  1. package/README.md +109 -36
  2. package/dist/board-moves/board-moves.d.ts +20 -0
  3. package/dist/board-moves/board-moves.d.ts.map +1 -0
  4. package/dist/board-moves/board-moves.js +74 -0
  5. package/dist/board-moves/board-moves.js.map +1 -0
  6. package/dist/board-moves/model.d.ts +21 -0
  7. package/dist/board-moves/model.d.ts.map +1 -0
  8. package/dist/board-moves/model.js +22 -0
  9. package/dist/board-moves/model.js.map +1 -0
  10. package/dist/cursor/cursor.d.ts +2 -6
  11. package/dist/cursor/cursor.d.ts.map +1 -1
  12. package/dist/cursor/cursor.js +2 -6
  13. package/dist/cursor/cursor.js.map +1 -1
  14. package/dist/cycle-budget/cycle-budget.d.ts +6 -6
  15. package/dist/cycle-budget/cycle-budget.d.ts.map +1 -1
  16. package/dist/cycle-budget/cycle-budget.js +5 -5
  17. package/dist/cycle-budget/cycle-budget.js.map +1 -1
  18. package/dist/cycle-budget/model.d.ts +2 -2
  19. package/dist/cycle-budget/model.d.ts.map +1 -1
  20. package/dist/cycle-budget/model.js +2 -2
  21. package/dist/cycle-budget/model.js.map +1 -1
  22. package/dist/cycle-budget/queries.d.ts +1 -1
  23. package/dist/cycle-budget/queries.d.ts.map +1 -1
  24. package/dist/cycle-budget/queries.js +3 -3
  25. package/dist/cycle-budget/queries.js.map +1 -1
  26. package/dist/database/database.d.ts +1 -1
  27. package/dist/database/database.d.ts.map +1 -1
  28. package/dist/database/local-sqlite.d.ts +10 -8
  29. package/dist/database/local-sqlite.d.ts.map +1 -1
  30. package/dist/database/local-sqlite.js +16 -9
  31. package/dist/database/local-sqlite.js.map +1 -1
  32. package/dist/database/schema.d.ts +581 -22
  33. package/dist/database/schema.d.ts.map +1 -1
  34. package/dist/database/schema.js +104 -23
  35. package/dist/database/schema.js.map +1 -1
  36. package/dist/{workflow → engine}/admission.d.ts +2 -2
  37. package/dist/engine/admission.d.ts.map +1 -0
  38. package/dist/{workflow → engine}/admission.js +4 -4
  39. package/dist/engine/admission.js.map +1 -0
  40. package/dist/engine/checkout-recovery.d.ts +69 -0
  41. package/dist/engine/checkout-recovery.d.ts.map +1 -0
  42. package/dist/engine/checkout-recovery.js +181 -0
  43. package/dist/engine/checkout-recovery.js.map +1 -0
  44. package/dist/engine/engine.d.ts +57 -24
  45. package/dist/engine/engine.d.ts.map +1 -1
  46. package/dist/engine/engine.js +144 -120
  47. package/dist/engine/engine.js.map +1 -1
  48. package/dist/engine/error.d.ts +36 -9
  49. package/dist/engine/error.d.ts.map +1 -1
  50. package/dist/engine/error.js +35 -7
  51. package/dist/engine/error.js.map +1 -1
  52. package/dist/engine/lifecycle.d.ts +81 -28
  53. package/dist/engine/lifecycle.d.ts.map +1 -1
  54. package/dist/engine/lifecycle.js +83 -44
  55. package/dist/engine/lifecycle.js.map +1 -1
  56. package/dist/engine/retry.d.ts +16 -0
  57. package/dist/engine/retry.d.ts.map +1 -0
  58. package/dist/engine/retry.js +18 -0
  59. package/dist/engine/retry.js.map +1 -0
  60. package/dist/engine/run-again.d.ts +45 -0
  61. package/dist/engine/run-again.d.ts.map +1 -0
  62. package/dist/engine/run-again.js +56 -0
  63. package/dist/engine/run-again.js.map +1 -0
  64. package/dist/engine/run-driver.d.ts +54 -0
  65. package/dist/engine/run-driver.d.ts.map +1 -0
  66. package/dist/engine/run-driver.js +362 -0
  67. package/dist/engine/run-driver.js.map +1 -0
  68. package/dist/engine/shutdown.d.ts +3 -4
  69. package/dist/engine/shutdown.d.ts.map +1 -1
  70. package/dist/engine/shutdown.js +3 -4
  71. package/dist/engine/shutdown.js.map +1 -1
  72. package/dist/engine/submission.d.ts +31 -11
  73. package/dist/engine/submission.d.ts.map +1 -1
  74. package/dist/engine/submission.js +42 -12
  75. package/dist/engine/submission.js.map +1 -1
  76. package/dist/item-projection/item-projection.d.ts +12 -4
  77. package/dist/item-projection/item-projection.d.ts.map +1 -1
  78. package/dist/item-projection/item-projection.js +41 -6
  79. package/dist/item-projection/item-projection.js.map +1 -1
  80. package/dist/item-projection/model.d.ts +5 -1
  81. package/dist/item-projection/model.d.ts.map +1 -1
  82. package/dist/item-projection/model.js +6 -2
  83. package/dist/item-projection/model.js.map +1 -1
  84. package/dist/loop-control/loop-control.d.ts +5 -5
  85. package/dist/loop-control/loop-control.d.ts.map +1 -1
  86. package/dist/loop-control/loop-control.js +4 -4
  87. package/dist/loop-control/loop-control.js.map +1 -1
  88. package/dist/loop-control/model.d.ts +1 -1
  89. package/dist/loop-control/model.d.ts.map +1 -1
  90. package/dist/loop-control/model.js +1 -1
  91. package/dist/loop-control/model.js.map +1 -1
  92. package/dist/repository-label-projection/model.d.ts +2 -2
  93. package/dist/repository-label-projection/model.d.ts.map +1 -1
  94. package/dist/repository-label-projection/model.js +2 -2
  95. package/dist/repository-label-projection/model.js.map +1 -1
  96. package/dist/repository-label-projection/repository-label-projection.d.ts +1 -1
  97. package/dist/repository-label-projection/repository-label-projection.d.ts.map +1 -1
  98. package/dist/repository-label-projection/repository-label-projection.js +1 -1
  99. package/dist/repository-label-projection/repository-label-projection.js.map +1 -1
  100. package/dist/run-reader/model.d.ts +62 -4
  101. package/dist/run-reader/model.d.ts.map +1 -1
  102. package/dist/run-reader/model.js +66 -7
  103. package/dist/run-reader/model.js.map +1 -1
  104. package/dist/run-reader/run-reader.d.ts +19 -9
  105. package/dist/run-reader/run-reader.d.ts.map +1 -1
  106. package/dist/run-reader/run-reader.js +23 -7
  107. package/dist/run-reader/run-reader.js.map +1 -1
  108. package/dist/step-executor.d.ts +65 -9
  109. package/dist/step-executor.d.ts.map +1 -1
  110. package/dist/step-executor.js +10 -2
  111. package/dist/step-executor.js.map +1 -1
  112. package/dist/store/attempt-windows.d.ts +8 -0
  113. package/dist/store/attempt-windows.d.ts.map +1 -0
  114. package/dist/store/attempt-windows.js +53 -0
  115. package/dist/store/attempt-windows.js.map +1 -0
  116. package/dist/store/codec.d.ts +381 -42
  117. package/dist/store/codec.d.ts.map +1 -1
  118. package/dist/store/codec.js +59 -15
  119. package/dist/store/codec.js.map +1 -1
  120. package/dist/store/leftovers.d.ts +10 -0
  121. package/dist/store/leftovers.d.ts.map +1 -0
  122. package/dist/store/leftovers.js +43 -0
  123. package/dist/store/leftovers.js.map +1 -0
  124. package/dist/store/loop-items.d.ts +16 -0
  125. package/dist/store/loop-items.d.ts.map +1 -0
  126. package/dist/store/loop-items.js +185 -0
  127. package/dist/store/loop-items.js.map +1 -0
  128. package/dist/store/queries.d.ts +345 -37
  129. package/dist/store/queries.d.ts.map +1 -1
  130. package/dist/store/queries.js +333 -160
  131. package/dist/store/queries.js.map +1 -1
  132. package/dist/store/store.d.ts +91 -54
  133. package/dist/store/store.d.ts.map +1 -1
  134. package/dist/store/store.js +481 -190
  135. package/dist/store/store.js.map +1 -1
  136. package/dist/store/transcript.d.ts +9 -0
  137. package/dist/store/transcript.d.ts.map +1 -0
  138. package/dist/store/transcript.js +90 -0
  139. package/dist/store/transcript.js.map +1 -0
  140. package/dist/transcript.d.ts +41 -20
  141. package/dist/transcript.d.ts.map +1 -1
  142. package/dist/transcript.js +45 -25
  143. package/dist/transcript.js.map +1 -1
  144. package/dist/trigger-condition.d.ts +23 -0
  145. package/dist/trigger-condition.d.ts.map +1 -0
  146. package/dist/trigger-condition.js +8 -0
  147. package/dist/trigger-condition.js.map +1 -0
  148. package/drizzle/20260912111855_operator_intervention/migration.sql +42 -0
  149. package/drizzle/20260912111855_operator_intervention/snapshot.json +1461 -0
  150. package/drizzle/20260917071139_resolve_run_failure/migration.sql +1 -0
  151. package/drizzle/20260917071139_resolve_run_failure/snapshot.json +1471 -0
  152. package/drizzle/20260918032643_attempt_salvage/migration.sql +1 -0
  153. package/drizzle/20260918032643_attempt_salvage/snapshot.json +1481 -0
  154. package/drizzle/20261011153856_drop_workflow_tables/migration.sql +4 -0
  155. package/drizzle/20261011153856_drop_workflow_tables/snapshot.json +1433 -0
  156. package/drizzle/20261017155043_attempt_salvage_check/migration.sql +41 -0
  157. package/drizzle/20261017155043_attempt_salvage_check/snapshot.json +1421 -0
  158. package/drizzle/20261018162700_discard_attempt_leftovers/migration.sql +1 -0
  159. package/drizzle/20261018162700_discard_attempt_leftovers/snapshot.json +1431 -0
  160. package/drizzle/20261018172605_loop_items_and_reopenings/migration.sql +15 -0
  161. package/drizzle/20261018172605_loop_items_and_reopenings/snapshot.json +1574 -0
  162. package/drizzle/20261018180339_attempt_ended_at/migration.sql +1 -0
  163. package/drizzle/20261018180339_attempt_ended_at/snapshot.json +1584 -0
  164. package/drizzle/20261019104043_run_approval_source/migration.sql +15 -0
  165. package/drizzle/20261019104043_run_approval_source/snapshot.json +1610 -0
  166. package/drizzle/20261019133538_board_moves/migration.sql +14 -0
  167. package/drizzle/20261019133538_board_moves/snapshot.json +1731 -0
  168. package/drizzle/20261019170538_item_projection_gone/migration.sql +1 -0
  169. package/drizzle/20261019170538_item_projection_gone/snapshot.json +1741 -0
  170. package/drizzle/20261019180649_run_again_events/migration.sql +7 -0
  171. package/drizzle/20261019180649_run_again_events/snapshot.json +1804 -0
  172. package/drizzle/20261019185008_trigger_event_permissions/migration.sql +1 -0
  173. package/drizzle/20261019185008_trigger_event_permissions/snapshot.json +1814 -0
  174. package/drizzle/20261020103746_attempt_start/migration.sql +5 -0
  175. package/drizzle/20261020103746_attempt_start/snapshot.json +1844 -0
  176. package/drizzle/20261020125211_attempt_comments/migration.sql +1 -0
  177. package/drizzle/20261020125211_attempt_comments/snapshot.json +1854 -0
  178. package/drizzle/20261020191320_run_closed_at/migration.sql +6 -0
  179. package/drizzle/20261020191320_run_closed_at/snapshot.json +1864 -0
  180. package/drizzle/20261023091428_rename_loop_item_hold_to_suppression/migration.sql +2 -0
  181. package/drizzle/20261023091428_rename_loop_item_hold_to_suppression/snapshot.json +1867 -0
  182. package/package.json +15 -5
  183. package/dist/workflow/admission.d.ts.map +0 -1
  184. package/dist/workflow/admission.js.map +0 -1
  185. package/dist/workflow/command.d.ts +0 -13
  186. package/dist/workflow/command.d.ts.map +0 -1
  187. package/dist/workflow/command.js +0 -17
  188. package/dist/workflow/command.js.map +0 -1
  189. package/dist/workflow/workflow.d.ts +0 -18
  190. package/dist/workflow/workflow.d.ts.map +0 -1
  191. package/dist/workflow/workflow.js +0 -108
  192. package/dist/workflow/workflow.js.map +0 -1
@@ -0,0 +1,1741 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "24b37849-af4f-44b2-b0db-f1a0ecbac97f",
5
+ "prevIds": ["b492a009-3aea-41d8-82c6-acd081e27f82"],
6
+ "ddl": [
7
+ {
8
+ "name": "usine_approvals",
9
+ "entityType": "tables"
10
+ },
11
+ {
12
+ "name": "usine_attempt_transcripts",
13
+ "entityType": "tables"
14
+ },
15
+ {
16
+ "name": "usine_attempts",
17
+ "entityType": "tables"
18
+ },
19
+ {
20
+ "name": "usine_board_moves",
21
+ "entityType": "tables"
22
+ },
23
+ {
24
+ "name": "usine_cursors",
25
+ "entityType": "tables"
26
+ },
27
+ {
28
+ "name": "usine_cycle_reservations",
29
+ "entityType": "tables"
30
+ },
31
+ {
32
+ "name": "usine_cycle_resets",
33
+ "entityType": "tables"
34
+ },
35
+ {
36
+ "name": "usine_events",
37
+ "entityType": "tables"
38
+ },
39
+ {
40
+ "name": "usine_ignored_events",
41
+ "entityType": "tables"
42
+ },
43
+ {
44
+ "name": "usine_item_cycle_budgets",
45
+ "entityType": "tables"
46
+ },
47
+ {
48
+ "name": "usine_item_projections",
49
+ "entityType": "tables"
50
+ },
51
+ {
52
+ "name": "usine_loop_items",
53
+ "entityType": "tables"
54
+ },
55
+ {
56
+ "name": "usine_loop_runtime",
57
+ "entityType": "tables"
58
+ },
59
+ {
60
+ "name": "usine_projection_revision",
61
+ "entityType": "tables"
62
+ },
63
+ {
64
+ "name": "usine_repository_label_projections",
65
+ "entityType": "tables"
66
+ },
67
+ {
68
+ "name": "usine_runs",
69
+ "entityType": "tables"
70
+ },
71
+ {
72
+ "name": "usine_steps",
73
+ "entityType": "tables"
74
+ },
75
+ {
76
+ "name": "usine_trigger_events",
77
+ "entityType": "tables"
78
+ },
79
+ {
80
+ "type": "text",
81
+ "notNull": false,
82
+ "autoincrement": false,
83
+ "default": null,
84
+ "generated": null,
85
+ "name": "run_id",
86
+ "entityType": "columns",
87
+ "table": "usine_approvals"
88
+ },
89
+ {
90
+ "type": "text",
91
+ "notNull": true,
92
+ "autoincrement": false,
93
+ "default": null,
94
+ "generated": null,
95
+ "name": "event_id",
96
+ "entityType": "columns",
97
+ "table": "usine_approvals"
98
+ },
99
+ {
100
+ "type": "text",
101
+ "notNull": false,
102
+ "autoincrement": false,
103
+ "default": null,
104
+ "generated": null,
105
+ "name": "channel",
106
+ "entityType": "columns",
107
+ "table": "usine_approvals"
108
+ },
109
+ {
110
+ "type": "text",
111
+ "notNull": false,
112
+ "autoincrement": false,
113
+ "default": null,
114
+ "generated": null,
115
+ "name": "approver",
116
+ "entityType": "columns",
117
+ "table": "usine_approvals"
118
+ },
119
+ {
120
+ "type": "integer",
121
+ "notNull": false,
122
+ "autoincrement": true,
123
+ "default": null,
124
+ "generated": null,
125
+ "name": "sequence",
126
+ "entityType": "columns",
127
+ "table": "usine_attempt_transcripts"
128
+ },
129
+ {
130
+ "type": "text",
131
+ "notNull": true,
132
+ "autoincrement": false,
133
+ "default": null,
134
+ "generated": null,
135
+ "name": "attempt_id",
136
+ "entityType": "columns",
137
+ "table": "usine_attempt_transcripts"
138
+ },
139
+ {
140
+ "type": "text",
141
+ "notNull": true,
142
+ "autoincrement": false,
143
+ "default": null,
144
+ "generated": null,
145
+ "name": "direction",
146
+ "entityType": "columns",
147
+ "table": "usine_attempt_transcripts"
148
+ },
149
+ {
150
+ "type": "integer",
151
+ "notNull": true,
152
+ "autoincrement": false,
153
+ "default": null,
154
+ "generated": null,
155
+ "name": "channel_sequence",
156
+ "entityType": "columns",
157
+ "table": "usine_attempt_transcripts"
158
+ },
159
+ {
160
+ "type": "text",
161
+ "notNull": true,
162
+ "autoincrement": false,
163
+ "default": null,
164
+ "generated": null,
165
+ "name": "envelope",
166
+ "entityType": "columns",
167
+ "table": "usine_attempt_transcripts"
168
+ },
169
+ {
170
+ "type": "text",
171
+ "notNull": true,
172
+ "autoincrement": false,
173
+ "default": null,
174
+ "generated": null,
175
+ "name": "received_at",
176
+ "entityType": "columns",
177
+ "table": "usine_attempt_transcripts"
178
+ },
179
+ {
180
+ "type": "text",
181
+ "notNull": false,
182
+ "autoincrement": false,
183
+ "default": null,
184
+ "generated": null,
185
+ "name": "attempt_id",
186
+ "entityType": "columns",
187
+ "table": "usine_attempts"
188
+ },
189
+ {
190
+ "type": "text",
191
+ "notNull": true,
192
+ "autoincrement": false,
193
+ "default": null,
194
+ "generated": null,
195
+ "name": "run_id",
196
+ "entityType": "columns",
197
+ "table": "usine_attempts"
198
+ },
199
+ {
200
+ "type": "text",
201
+ "notNull": true,
202
+ "autoincrement": false,
203
+ "default": null,
204
+ "generated": null,
205
+ "name": "step_name",
206
+ "entityType": "columns",
207
+ "table": "usine_attempts"
208
+ },
209
+ {
210
+ "type": "text",
211
+ "notNull": true,
212
+ "autoincrement": false,
213
+ "default": null,
214
+ "generated": null,
215
+ "name": "worker_name",
216
+ "entityType": "columns",
217
+ "table": "usine_attempts"
218
+ },
219
+ {
220
+ "type": "integer",
221
+ "notNull": true,
222
+ "autoincrement": false,
223
+ "default": null,
224
+ "generated": null,
225
+ "name": "attempt_number",
226
+ "entityType": "columns",
227
+ "table": "usine_attempts"
228
+ },
229
+ {
230
+ "type": "text",
231
+ "notNull": true,
232
+ "autoincrement": false,
233
+ "default": null,
234
+ "generated": null,
235
+ "name": "brain_json",
236
+ "entityType": "columns",
237
+ "table": "usine_attempts"
238
+ },
239
+ {
240
+ "type": "text",
241
+ "notNull": true,
242
+ "autoincrement": false,
243
+ "default": null,
244
+ "generated": null,
245
+ "name": "task",
246
+ "entityType": "columns",
247
+ "table": "usine_attempts"
248
+ },
249
+ {
250
+ "type": "text",
251
+ "notNull": true,
252
+ "autoincrement": false,
253
+ "default": null,
254
+ "generated": null,
255
+ "name": "agent",
256
+ "entityType": "columns",
257
+ "table": "usine_attempts"
258
+ },
259
+ {
260
+ "type": "integer",
261
+ "notNull": true,
262
+ "autoincrement": false,
263
+ "default": "false",
264
+ "generated": null,
265
+ "name": "operator_intervened",
266
+ "entityType": "columns",
267
+ "table": "usine_attempts"
268
+ },
269
+ {
270
+ "type": "text",
271
+ "notNull": false,
272
+ "autoincrement": false,
273
+ "default": null,
274
+ "generated": null,
275
+ "name": "parent_model",
276
+ "entityType": "columns",
277
+ "table": "usine_attempts"
278
+ },
279
+ {
280
+ "type": "text",
281
+ "notNull": true,
282
+ "autoincrement": false,
283
+ "default": null,
284
+ "generated": null,
285
+ "name": "started_at",
286
+ "entityType": "columns",
287
+ "table": "usine_attempts"
288
+ },
289
+ {
290
+ "type": "text",
291
+ "notNull": false,
292
+ "autoincrement": false,
293
+ "default": null,
294
+ "generated": null,
295
+ "name": "outcome_json",
296
+ "entityType": "columns",
297
+ "table": "usine_attempts"
298
+ },
299
+ {
300
+ "type": "text",
301
+ "notNull": false,
302
+ "autoincrement": false,
303
+ "default": null,
304
+ "generated": null,
305
+ "name": "ended_at",
306
+ "entityType": "columns",
307
+ "table": "usine_attempts"
308
+ },
309
+ {
310
+ "type": "text",
311
+ "notNull": false,
312
+ "autoincrement": false,
313
+ "default": null,
314
+ "generated": null,
315
+ "name": "salvage_json",
316
+ "entityType": "columns",
317
+ "table": "usine_attempts"
318
+ },
319
+ {
320
+ "type": "text",
321
+ "notNull": false,
322
+ "autoincrement": false,
323
+ "default": null,
324
+ "generated": null,
325
+ "name": "leftovers_discarded_at",
326
+ "entityType": "columns",
327
+ "table": "usine_attempts"
328
+ },
329
+ {
330
+ "type": "integer",
331
+ "notNull": false,
332
+ "autoincrement": true,
333
+ "default": null,
334
+ "generated": null,
335
+ "name": "move_id",
336
+ "entityType": "columns",
337
+ "table": "usine_board_moves"
338
+ },
339
+ {
340
+ "type": "text",
341
+ "notNull": true,
342
+ "autoincrement": false,
343
+ "default": null,
344
+ "generated": null,
345
+ "name": "repository",
346
+ "entityType": "columns",
347
+ "table": "usine_board_moves"
348
+ },
349
+ {
350
+ "type": "text",
351
+ "notNull": true,
352
+ "autoincrement": false,
353
+ "default": null,
354
+ "generated": null,
355
+ "name": "item_key",
356
+ "entityType": "columns",
357
+ "table": "usine_board_moves"
358
+ },
359
+ {
360
+ "type": "text",
361
+ "notNull": true,
362
+ "autoincrement": false,
363
+ "default": null,
364
+ "generated": null,
365
+ "name": "moved_at",
366
+ "entityType": "columns",
367
+ "table": "usine_board_moves"
368
+ },
369
+ {
370
+ "type": "text",
371
+ "notNull": true,
372
+ "autoincrement": false,
373
+ "default": null,
374
+ "generated": null,
375
+ "name": "from_lane",
376
+ "entityType": "columns",
377
+ "table": "usine_board_moves"
378
+ },
379
+ {
380
+ "type": "text",
381
+ "notNull": true,
382
+ "autoincrement": false,
383
+ "default": null,
384
+ "generated": null,
385
+ "name": "to_lane",
386
+ "entityType": "columns",
387
+ "table": "usine_board_moves"
388
+ },
389
+ {
390
+ "type": "text",
391
+ "notNull": true,
392
+ "autoincrement": false,
393
+ "default": null,
394
+ "generated": null,
395
+ "name": "added_json",
396
+ "entityType": "columns",
397
+ "table": "usine_board_moves"
398
+ },
399
+ {
400
+ "type": "text",
401
+ "notNull": true,
402
+ "autoincrement": false,
403
+ "default": null,
404
+ "generated": null,
405
+ "name": "removed_json",
406
+ "entityType": "columns",
407
+ "table": "usine_board_moves"
408
+ },
409
+ {
410
+ "type": "text",
411
+ "notNull": false,
412
+ "autoincrement": false,
413
+ "default": null,
414
+ "generated": null,
415
+ "name": "cursor_key",
416
+ "entityType": "columns",
417
+ "table": "usine_cursors"
418
+ },
419
+ {
420
+ "type": "text",
421
+ "notNull": true,
422
+ "autoincrement": false,
423
+ "default": null,
424
+ "generated": null,
425
+ "name": "value_json",
426
+ "entityType": "columns",
427
+ "table": "usine_cursors"
428
+ },
429
+ {
430
+ "type": "text",
431
+ "notNull": false,
432
+ "autoincrement": false,
433
+ "default": null,
434
+ "generated": null,
435
+ "name": "run_id",
436
+ "entityType": "columns",
437
+ "table": "usine_cycle_reservations"
438
+ },
439
+ {
440
+ "type": "text",
441
+ "notNull": true,
442
+ "autoincrement": false,
443
+ "default": null,
444
+ "generated": null,
445
+ "name": "item_key",
446
+ "entityType": "columns",
447
+ "table": "usine_cycle_reservations"
448
+ },
449
+ {
450
+ "type": "integer",
451
+ "notNull": true,
452
+ "autoincrement": false,
453
+ "default": null,
454
+ "generated": null,
455
+ "name": "generation",
456
+ "entityType": "columns",
457
+ "table": "usine_cycle_reservations"
458
+ },
459
+ {
460
+ "type": "text",
461
+ "notNull": true,
462
+ "autoincrement": false,
463
+ "default": null,
464
+ "generated": null,
465
+ "name": "loop",
466
+ "entityType": "columns",
467
+ "table": "usine_cycle_reservations"
468
+ },
469
+ {
470
+ "type": "text",
471
+ "notNull": false,
472
+ "autoincrement": false,
473
+ "default": null,
474
+ "generated": null,
475
+ "name": "ask_id",
476
+ "entityType": "columns",
477
+ "table": "usine_cycle_resets"
478
+ },
479
+ {
480
+ "type": "text",
481
+ "notNull": true,
482
+ "autoincrement": false,
483
+ "default": null,
484
+ "generated": null,
485
+ "name": "event_id",
486
+ "entityType": "columns",
487
+ "table": "usine_cycle_resets"
488
+ },
489
+ {
490
+ "type": "text",
491
+ "notNull": true,
492
+ "autoincrement": false,
493
+ "default": null,
494
+ "generated": null,
495
+ "name": "item_key",
496
+ "entityType": "columns",
497
+ "table": "usine_cycle_resets"
498
+ },
499
+ {
500
+ "type": "text",
501
+ "notNull": false,
502
+ "autoincrement": false,
503
+ "default": null,
504
+ "generated": null,
505
+ "name": "event_id",
506
+ "entityType": "columns",
507
+ "table": "usine_events"
508
+ },
509
+ {
510
+ "type": "text",
511
+ "notNull": true,
512
+ "autoincrement": false,
513
+ "default": null,
514
+ "generated": null,
515
+ "name": "dedup_key",
516
+ "entityType": "columns",
517
+ "table": "usine_events"
518
+ },
519
+ {
520
+ "type": "text",
521
+ "notNull": true,
522
+ "autoincrement": false,
523
+ "default": null,
524
+ "generated": null,
525
+ "name": "payload_json",
526
+ "entityType": "columns",
527
+ "table": "usine_events"
528
+ },
529
+ {
530
+ "type": "text",
531
+ "notNull": true,
532
+ "autoincrement": false,
533
+ "default": null,
534
+ "generated": null,
535
+ "name": "received_at",
536
+ "entityType": "columns",
537
+ "table": "usine_events"
538
+ },
539
+ {
540
+ "type": "text",
541
+ "notNull": false,
542
+ "autoincrement": false,
543
+ "default": null,
544
+ "generated": null,
545
+ "name": "event_id",
546
+ "entityType": "columns",
547
+ "table": "usine_ignored_events"
548
+ },
549
+ {
550
+ "type": "text",
551
+ "notNull": true,
552
+ "autoincrement": false,
553
+ "default": null,
554
+ "generated": null,
555
+ "name": "reason",
556
+ "entityType": "columns",
557
+ "table": "usine_ignored_events"
558
+ },
559
+ {
560
+ "type": "text",
561
+ "notNull": false,
562
+ "autoincrement": false,
563
+ "default": null,
564
+ "generated": null,
565
+ "name": "item_key",
566
+ "entityType": "columns",
567
+ "table": "usine_item_cycle_budgets"
568
+ },
569
+ {
570
+ "type": "text",
571
+ "notNull": true,
572
+ "autoincrement": false,
573
+ "default": null,
574
+ "generated": null,
575
+ "name": "repository",
576
+ "entityType": "columns",
577
+ "table": "usine_item_cycle_budgets"
578
+ },
579
+ {
580
+ "type": "integer",
581
+ "notNull": true,
582
+ "autoincrement": false,
583
+ "default": "0",
584
+ "generated": null,
585
+ "name": "generation",
586
+ "entityType": "columns",
587
+ "table": "usine_item_cycle_budgets"
588
+ },
589
+ {
590
+ "type": "text",
591
+ "notNull": false,
592
+ "autoincrement": false,
593
+ "default": null,
594
+ "generated": null,
595
+ "name": "ask_json",
596
+ "entityType": "columns",
597
+ "table": "usine_item_cycle_budgets"
598
+ },
599
+ {
600
+ "type": "integer",
601
+ "notNull": true,
602
+ "autoincrement": false,
603
+ "default": "false",
604
+ "generated": null,
605
+ "name": "reset_pending",
606
+ "entityType": "columns",
607
+ "table": "usine_item_cycle_budgets"
608
+ },
609
+ {
610
+ "type": "text",
611
+ "notNull": false,
612
+ "autoincrement": false,
613
+ "default": null,
614
+ "generated": null,
615
+ "name": "item_key",
616
+ "entityType": "columns",
617
+ "table": "usine_item_projections"
618
+ },
619
+ {
620
+ "type": "text",
621
+ "notNull": true,
622
+ "autoincrement": false,
623
+ "default": null,
624
+ "generated": null,
625
+ "name": "repository",
626
+ "entityType": "columns",
627
+ "table": "usine_item_projections"
628
+ },
629
+ {
630
+ "type": "text",
631
+ "notNull": true,
632
+ "autoincrement": false,
633
+ "default": null,
634
+ "generated": null,
635
+ "name": "source",
636
+ "entityType": "columns",
637
+ "table": "usine_item_projections"
638
+ },
639
+ {
640
+ "type": "integer",
641
+ "notNull": true,
642
+ "autoincrement": false,
643
+ "default": null,
644
+ "generated": null,
645
+ "name": "item_number",
646
+ "entityType": "columns",
647
+ "table": "usine_item_projections"
648
+ },
649
+ {
650
+ "type": "text",
651
+ "notNull": true,
652
+ "autoincrement": false,
653
+ "default": null,
654
+ "generated": null,
655
+ "name": "content_hash",
656
+ "entityType": "columns",
657
+ "table": "usine_item_projections"
658
+ },
659
+ {
660
+ "type": "text",
661
+ "notNull": true,
662
+ "autoincrement": false,
663
+ "default": null,
664
+ "generated": null,
665
+ "name": "payload_json",
666
+ "entityType": "columns",
667
+ "table": "usine_item_projections"
668
+ },
669
+ {
670
+ "type": "text",
671
+ "notNull": false,
672
+ "autoincrement": false,
673
+ "default": null,
674
+ "generated": null,
675
+ "name": "gone_at",
676
+ "entityType": "columns",
677
+ "table": "usine_item_projections"
678
+ },
679
+ {
680
+ "type": "text",
681
+ "notNull": true,
682
+ "autoincrement": false,
683
+ "default": null,
684
+ "generated": null,
685
+ "name": "loop_name",
686
+ "entityType": "columns",
687
+ "table": "usine_loop_items"
688
+ },
689
+ {
690
+ "type": "text",
691
+ "notNull": true,
692
+ "autoincrement": false,
693
+ "default": null,
694
+ "generated": null,
695
+ "name": "item_key",
696
+ "entityType": "columns",
697
+ "table": "usine_loop_items"
698
+ },
699
+ {
700
+ "type": "text",
701
+ "notNull": false,
702
+ "autoincrement": false,
703
+ "default": null,
704
+ "generated": null,
705
+ "name": "observed_event_id",
706
+ "entityType": "columns",
707
+ "table": "usine_loop_items"
708
+ },
709
+ {
710
+ "type": "text",
711
+ "notNull": false,
712
+ "autoincrement": false,
713
+ "default": null,
714
+ "generated": null,
715
+ "name": "held_by_run_id",
716
+ "entityType": "columns",
717
+ "table": "usine_loop_items"
718
+ },
719
+ {
720
+ "type": "text",
721
+ "notNull": false,
722
+ "autoincrement": false,
723
+ "default": null,
724
+ "generated": null,
725
+ "name": "held_event_id",
726
+ "entityType": "columns",
727
+ "table": "usine_loop_items"
728
+ },
729
+ {
730
+ "type": "text",
731
+ "notNull": false,
732
+ "autoincrement": false,
733
+ "default": null,
734
+ "generated": null,
735
+ "name": "loop_name",
736
+ "entityType": "columns",
737
+ "table": "usine_loop_runtime"
738
+ },
739
+ {
740
+ "type": "integer",
741
+ "notNull": true,
742
+ "autoincrement": false,
743
+ "default": null,
744
+ "generated": null,
745
+ "name": "paused",
746
+ "entityType": "columns",
747
+ "table": "usine_loop_runtime"
748
+ },
749
+ {
750
+ "type": "integer",
751
+ "notNull": false,
752
+ "autoincrement": false,
753
+ "default": "1",
754
+ "generated": null,
755
+ "name": "singleton",
756
+ "entityType": "columns",
757
+ "table": "usine_projection_revision"
758
+ },
759
+ {
760
+ "type": "integer",
761
+ "notNull": true,
762
+ "autoincrement": false,
763
+ "default": "0",
764
+ "generated": null,
765
+ "name": "revision",
766
+ "entityType": "columns",
767
+ "table": "usine_projection_revision"
768
+ },
769
+ {
770
+ "type": "text",
771
+ "notNull": false,
772
+ "autoincrement": false,
773
+ "default": null,
774
+ "generated": null,
775
+ "name": "repository",
776
+ "entityType": "columns",
777
+ "table": "usine_repository_label_projections"
778
+ },
779
+ {
780
+ "type": "text",
781
+ "notNull": true,
782
+ "autoincrement": false,
783
+ "default": null,
784
+ "generated": null,
785
+ "name": "labels_json",
786
+ "entityType": "columns",
787
+ "table": "usine_repository_label_projections"
788
+ },
789
+ {
790
+ "type": "text",
791
+ "notNull": false,
792
+ "autoincrement": false,
793
+ "default": null,
794
+ "generated": null,
795
+ "name": "run_id",
796
+ "entityType": "columns",
797
+ "table": "usine_runs"
798
+ },
799
+ {
800
+ "type": "text",
801
+ "notNull": true,
802
+ "autoincrement": false,
803
+ "default": null,
804
+ "generated": null,
805
+ "name": "event_id",
806
+ "entityType": "columns",
807
+ "table": "usine_runs"
808
+ },
809
+ {
810
+ "type": "text",
811
+ "notNull": true,
812
+ "autoincrement": false,
813
+ "default": null,
814
+ "generated": null,
815
+ "name": "loop_name",
816
+ "entityType": "columns",
817
+ "table": "usine_runs"
818
+ },
819
+ {
820
+ "type": "text",
821
+ "notNull": true,
822
+ "autoincrement": false,
823
+ "default": null,
824
+ "generated": null,
825
+ "name": "state_json",
826
+ "entityType": "columns",
827
+ "table": "usine_runs"
828
+ },
829
+ {
830
+ "type": "text",
831
+ "notNull": false,
832
+ "autoincrement": false,
833
+ "default": null,
834
+ "generated": null,
835
+ "name": "resolved_failure_attempt_id",
836
+ "entityType": "columns",
837
+ "table": "usine_runs"
838
+ },
839
+ {
840
+ "type": "text",
841
+ "notNull": true,
842
+ "autoincrement": false,
843
+ "default": null,
844
+ "generated": null,
845
+ "name": "opened_at",
846
+ "entityType": "columns",
847
+ "table": "usine_runs"
848
+ },
849
+ {
850
+ "type": "text",
851
+ "notNull": true,
852
+ "autoincrement": false,
853
+ "default": null,
854
+ "generated": null,
855
+ "name": "repository",
856
+ "entityType": "columns",
857
+ "table": "usine_runs"
858
+ },
859
+ {
860
+ "type": "text",
861
+ "notNull": true,
862
+ "autoincrement": false,
863
+ "default": null,
864
+ "generated": null,
865
+ "name": "revision",
866
+ "entityType": "columns",
867
+ "table": "usine_runs"
868
+ },
869
+ {
870
+ "type": "text",
871
+ "notNull": true,
872
+ "autoincrement": false,
873
+ "default": null,
874
+ "generated": null,
875
+ "name": "task",
876
+ "entityType": "columns",
877
+ "table": "usine_runs"
878
+ },
879
+ {
880
+ "type": "text",
881
+ "notNull": true,
882
+ "autoincrement": false,
883
+ "default": null,
884
+ "generated": null,
885
+ "name": "agent_json",
886
+ "entityType": "columns",
887
+ "table": "usine_runs"
888
+ },
889
+ {
890
+ "type": "text",
891
+ "notNull": false,
892
+ "autoincrement": false,
893
+ "default": null,
894
+ "generated": null,
895
+ "name": "parent_model",
896
+ "entityType": "columns",
897
+ "table": "usine_runs"
898
+ },
899
+ {
900
+ "type": "text",
901
+ "notNull": true,
902
+ "autoincrement": false,
903
+ "default": null,
904
+ "generated": null,
905
+ "name": "run_id",
906
+ "entityType": "columns",
907
+ "table": "usine_steps"
908
+ },
909
+ {
910
+ "type": "text",
911
+ "notNull": true,
912
+ "autoincrement": false,
913
+ "default": null,
914
+ "generated": null,
915
+ "name": "step_name",
916
+ "entityType": "columns",
917
+ "table": "usine_steps"
918
+ },
919
+ {
920
+ "type": "text",
921
+ "notNull": false,
922
+ "autoincrement": false,
923
+ "default": null,
924
+ "generated": null,
925
+ "name": "result",
926
+ "entityType": "columns",
927
+ "table": "usine_steps"
928
+ },
929
+ {
930
+ "type": "text",
931
+ "notNull": false,
932
+ "autoincrement": false,
933
+ "default": null,
934
+ "generated": null,
935
+ "name": "event_id",
936
+ "entityType": "columns",
937
+ "table": "usine_trigger_events"
938
+ },
939
+ {
940
+ "type": "text",
941
+ "notNull": true,
942
+ "autoincrement": false,
943
+ "default": null,
944
+ "generated": null,
945
+ "name": "item_key",
946
+ "entityType": "columns",
947
+ "table": "usine_trigger_events"
948
+ },
949
+ {
950
+ "type": "text",
951
+ "notNull": true,
952
+ "autoincrement": false,
953
+ "default": null,
954
+ "generated": null,
955
+ "name": "loop_name",
956
+ "entityType": "columns",
957
+ "table": "usine_trigger_events"
958
+ },
959
+ {
960
+ "type": "text",
961
+ "notNull": true,
962
+ "autoincrement": false,
963
+ "default": null,
964
+ "generated": null,
965
+ "name": "step_name",
966
+ "entityType": "columns",
967
+ "table": "usine_trigger_events"
968
+ },
969
+ {
970
+ "type": "text",
971
+ "notNull": true,
972
+ "autoincrement": false,
973
+ "default": null,
974
+ "generated": null,
975
+ "name": "approval",
976
+ "entityType": "columns",
977
+ "table": "usine_trigger_events"
978
+ },
979
+ {
980
+ "type": "integer",
981
+ "notNull": false,
982
+ "autoincrement": false,
983
+ "default": null,
984
+ "generated": null,
985
+ "name": "cycle_limit",
986
+ "entityType": "columns",
987
+ "table": "usine_trigger_events"
988
+ },
989
+ {
990
+ "type": "integer",
991
+ "notNull": true,
992
+ "autoincrement": false,
993
+ "default": "0",
994
+ "generated": null,
995
+ "name": "cycle_generation",
996
+ "entityType": "columns",
997
+ "table": "usine_trigger_events"
998
+ },
999
+ {
1000
+ "type": "text",
1001
+ "notNull": true,
1002
+ "autoincrement": false,
1003
+ "default": null,
1004
+ "generated": null,
1005
+ "name": "repository",
1006
+ "entityType": "columns",
1007
+ "table": "usine_trigger_events"
1008
+ },
1009
+ {
1010
+ "type": "text",
1011
+ "notNull": true,
1012
+ "autoincrement": false,
1013
+ "default": null,
1014
+ "generated": null,
1015
+ "name": "revision",
1016
+ "entityType": "columns",
1017
+ "table": "usine_trigger_events"
1018
+ },
1019
+ {
1020
+ "type": "text",
1021
+ "notNull": true,
1022
+ "autoincrement": false,
1023
+ "default": null,
1024
+ "generated": null,
1025
+ "name": "task",
1026
+ "entityType": "columns",
1027
+ "table": "usine_trigger_events"
1028
+ },
1029
+ {
1030
+ "type": "text",
1031
+ "notNull": true,
1032
+ "autoincrement": false,
1033
+ "default": null,
1034
+ "generated": null,
1035
+ "name": "agent_json",
1036
+ "entityType": "columns",
1037
+ "table": "usine_trigger_events"
1038
+ },
1039
+ {
1040
+ "type": "text",
1041
+ "notNull": false,
1042
+ "autoincrement": false,
1043
+ "default": null,
1044
+ "generated": null,
1045
+ "name": "parent_model",
1046
+ "entityType": "columns",
1047
+ "table": "usine_trigger_events"
1048
+ },
1049
+ {
1050
+ "type": "text",
1051
+ "notNull": false,
1052
+ "autoincrement": false,
1053
+ "default": null,
1054
+ "generated": null,
1055
+ "name": "reopens_event_id",
1056
+ "entityType": "columns",
1057
+ "table": "usine_trigger_events"
1058
+ },
1059
+ {
1060
+ "type": "integer",
1061
+ "notNull": true,
1062
+ "autoincrement": false,
1063
+ "default": "0",
1064
+ "generated": null,
1065
+ "name": "reopening",
1066
+ "entityType": "columns",
1067
+ "table": "usine_trigger_events"
1068
+ },
1069
+ {
1070
+ "columns": ["run_id"],
1071
+ "tableTo": "usine_runs",
1072
+ "columnsTo": ["run_id"],
1073
+ "onUpdate": "NO ACTION",
1074
+ "onDelete": "NO ACTION",
1075
+ "nameExplicit": false,
1076
+ "name": "fk_usine_approvals_run_id_usine_runs_run_id_fk",
1077
+ "entityType": "fks",
1078
+ "table": "usine_approvals"
1079
+ },
1080
+ {
1081
+ "columns": ["event_id"],
1082
+ "tableTo": "usine_events",
1083
+ "columnsTo": ["event_id"],
1084
+ "onUpdate": "NO ACTION",
1085
+ "onDelete": "NO ACTION",
1086
+ "nameExplicit": false,
1087
+ "name": "fk_usine_approvals_event_id_usine_events_event_id_fk",
1088
+ "entityType": "fks",
1089
+ "table": "usine_approvals"
1090
+ },
1091
+ {
1092
+ "columns": ["attempt_id"],
1093
+ "tableTo": "usine_attempts",
1094
+ "columnsTo": ["attempt_id"],
1095
+ "onUpdate": "NO ACTION",
1096
+ "onDelete": "NO ACTION",
1097
+ "nameExplicit": false,
1098
+ "name": "fk_usine_attempt_transcripts_attempt_id_usine_attempts_attempt_id_fk",
1099
+ "entityType": "fks",
1100
+ "table": "usine_attempt_transcripts"
1101
+ },
1102
+ {
1103
+ "columns": ["run_id", "step_name"],
1104
+ "tableTo": "usine_steps",
1105
+ "columnsTo": ["run_id", "step_name"],
1106
+ "onUpdate": "NO ACTION",
1107
+ "onDelete": "NO ACTION",
1108
+ "nameExplicit": false,
1109
+ "name": "fk_usine_attempts_run_id_step_name_usine_steps_run_id_step_name_fk",
1110
+ "entityType": "fks",
1111
+ "table": "usine_attempts"
1112
+ },
1113
+ {
1114
+ "columns": ["run_id"],
1115
+ "tableTo": "usine_runs",
1116
+ "columnsTo": ["run_id"],
1117
+ "onUpdate": "NO ACTION",
1118
+ "onDelete": "NO ACTION",
1119
+ "nameExplicit": false,
1120
+ "name": "fk_usine_cycle_reservations_run_id_usine_runs_run_id_fk",
1121
+ "entityType": "fks",
1122
+ "table": "usine_cycle_reservations"
1123
+ },
1124
+ {
1125
+ "columns": ["item_key"],
1126
+ "tableTo": "usine_item_cycle_budgets",
1127
+ "columnsTo": ["item_key"],
1128
+ "onUpdate": "NO ACTION",
1129
+ "onDelete": "NO ACTION",
1130
+ "nameExplicit": false,
1131
+ "name": "fk_usine_cycle_reservations_item_key_usine_item_cycle_budgets_item_key_fk",
1132
+ "entityType": "fks",
1133
+ "table": "usine_cycle_reservations"
1134
+ },
1135
+ {
1136
+ "columns": ["event_id"],
1137
+ "tableTo": "usine_events",
1138
+ "columnsTo": ["event_id"],
1139
+ "onUpdate": "NO ACTION",
1140
+ "onDelete": "NO ACTION",
1141
+ "nameExplicit": false,
1142
+ "name": "fk_usine_cycle_resets_event_id_usine_events_event_id_fk",
1143
+ "entityType": "fks",
1144
+ "table": "usine_cycle_resets"
1145
+ },
1146
+ {
1147
+ "columns": ["item_key"],
1148
+ "tableTo": "usine_item_cycle_budgets",
1149
+ "columnsTo": ["item_key"],
1150
+ "onUpdate": "NO ACTION",
1151
+ "onDelete": "NO ACTION",
1152
+ "nameExplicit": false,
1153
+ "name": "fk_usine_cycle_resets_item_key_usine_item_cycle_budgets_item_key_fk",
1154
+ "entityType": "fks",
1155
+ "table": "usine_cycle_resets"
1156
+ },
1157
+ {
1158
+ "columns": ["event_id"],
1159
+ "tableTo": "usine_trigger_events",
1160
+ "columnsTo": ["event_id"],
1161
+ "onUpdate": "NO ACTION",
1162
+ "onDelete": "NO ACTION",
1163
+ "nameExplicit": false,
1164
+ "name": "fk_usine_ignored_events_event_id_usine_trigger_events_event_id_fk",
1165
+ "entityType": "fks",
1166
+ "table": "usine_ignored_events"
1167
+ },
1168
+ {
1169
+ "columns": ["observed_event_id"],
1170
+ "tableTo": "usine_events",
1171
+ "columnsTo": ["event_id"],
1172
+ "onUpdate": "NO ACTION",
1173
+ "onDelete": "NO ACTION",
1174
+ "nameExplicit": false,
1175
+ "name": "fk_usine_loop_items_observed_event_id_usine_events_event_id_fk",
1176
+ "entityType": "fks",
1177
+ "table": "usine_loop_items"
1178
+ },
1179
+ {
1180
+ "columns": ["held_by_run_id"],
1181
+ "tableTo": "usine_runs",
1182
+ "columnsTo": ["run_id"],
1183
+ "onUpdate": "NO ACTION",
1184
+ "onDelete": "NO ACTION",
1185
+ "nameExplicit": false,
1186
+ "name": "fk_usine_loop_items_held_by_run_id_usine_runs_run_id_fk",
1187
+ "entityType": "fks",
1188
+ "table": "usine_loop_items"
1189
+ },
1190
+ {
1191
+ "columns": ["held_event_id"],
1192
+ "tableTo": "usine_events",
1193
+ "columnsTo": ["event_id"],
1194
+ "onUpdate": "NO ACTION",
1195
+ "onDelete": "NO ACTION",
1196
+ "nameExplicit": false,
1197
+ "name": "fk_usine_loop_items_held_event_id_usine_events_event_id_fk",
1198
+ "entityType": "fks",
1199
+ "table": "usine_loop_items"
1200
+ },
1201
+ {
1202
+ "columns": ["event_id"],
1203
+ "tableTo": "usine_trigger_events",
1204
+ "columnsTo": ["event_id"],
1205
+ "onUpdate": "NO ACTION",
1206
+ "onDelete": "NO ACTION",
1207
+ "nameExplicit": false,
1208
+ "name": "fk_usine_runs_event_id_usine_trigger_events_event_id_fk",
1209
+ "entityType": "fks",
1210
+ "table": "usine_runs"
1211
+ },
1212
+ {
1213
+ "columns": ["run_id"],
1214
+ "tableTo": "usine_runs",
1215
+ "columnsTo": ["run_id"],
1216
+ "onUpdate": "NO ACTION",
1217
+ "onDelete": "NO ACTION",
1218
+ "nameExplicit": false,
1219
+ "name": "fk_usine_steps_run_id_usine_runs_run_id_fk",
1220
+ "entityType": "fks",
1221
+ "table": "usine_steps"
1222
+ },
1223
+ {
1224
+ "columns": ["event_id"],
1225
+ "tableTo": "usine_events",
1226
+ "columnsTo": ["event_id"],
1227
+ "onUpdate": "NO ACTION",
1228
+ "onDelete": "NO ACTION",
1229
+ "nameExplicit": false,
1230
+ "name": "fk_usine_trigger_events_event_id_usine_events_event_id_fk",
1231
+ "entityType": "fks",
1232
+ "table": "usine_trigger_events"
1233
+ },
1234
+ {
1235
+ "columns": ["reopens_event_id"],
1236
+ "tableTo": "usine_events",
1237
+ "columnsTo": ["event_id"],
1238
+ "onUpdate": "NO ACTION",
1239
+ "onDelete": "NO ACTION",
1240
+ "nameExplicit": false,
1241
+ "name": "fk_usine_trigger_events_reopens_event_id_usine_events_event_id_fk",
1242
+ "entityType": "fks",
1243
+ "table": "usine_trigger_events"
1244
+ },
1245
+ {
1246
+ "columns": ["loop_name", "item_key"],
1247
+ "nameExplicit": false,
1248
+ "name": "usine_loop_items_pk",
1249
+ "entityType": "pks",
1250
+ "table": "usine_loop_items"
1251
+ },
1252
+ {
1253
+ "columns": ["run_id", "step_name"],
1254
+ "nameExplicit": false,
1255
+ "name": "usine_steps_pk",
1256
+ "entityType": "pks",
1257
+ "table": "usine_steps"
1258
+ },
1259
+ {
1260
+ "columns": ["run_id"],
1261
+ "nameExplicit": false,
1262
+ "name": "usine_approvals_pk",
1263
+ "table": "usine_approvals",
1264
+ "entityType": "pks"
1265
+ },
1266
+ {
1267
+ "columns": ["sequence"],
1268
+ "nameExplicit": false,
1269
+ "name": "usine_attempt_transcripts_pk",
1270
+ "table": "usine_attempt_transcripts",
1271
+ "entityType": "pks"
1272
+ },
1273
+ {
1274
+ "columns": ["attempt_id"],
1275
+ "nameExplicit": false,
1276
+ "name": "usine_attempts_pk",
1277
+ "table": "usine_attempts",
1278
+ "entityType": "pks"
1279
+ },
1280
+ {
1281
+ "columns": ["move_id"],
1282
+ "nameExplicit": false,
1283
+ "name": "usine_board_moves_pk",
1284
+ "table": "usine_board_moves",
1285
+ "entityType": "pks"
1286
+ },
1287
+ {
1288
+ "columns": ["cursor_key"],
1289
+ "nameExplicit": false,
1290
+ "name": "usine_cursors_pk",
1291
+ "table": "usine_cursors",
1292
+ "entityType": "pks"
1293
+ },
1294
+ {
1295
+ "columns": ["run_id"],
1296
+ "nameExplicit": false,
1297
+ "name": "usine_cycle_reservations_pk",
1298
+ "table": "usine_cycle_reservations",
1299
+ "entityType": "pks"
1300
+ },
1301
+ {
1302
+ "columns": ["ask_id"],
1303
+ "nameExplicit": false,
1304
+ "name": "usine_cycle_resets_pk",
1305
+ "table": "usine_cycle_resets",
1306
+ "entityType": "pks"
1307
+ },
1308
+ {
1309
+ "columns": ["event_id"],
1310
+ "nameExplicit": false,
1311
+ "name": "usine_events_pk",
1312
+ "table": "usine_events",
1313
+ "entityType": "pks"
1314
+ },
1315
+ {
1316
+ "columns": ["event_id"],
1317
+ "nameExplicit": false,
1318
+ "name": "usine_ignored_events_pk",
1319
+ "table": "usine_ignored_events",
1320
+ "entityType": "pks"
1321
+ },
1322
+ {
1323
+ "columns": ["item_key"],
1324
+ "nameExplicit": false,
1325
+ "name": "usine_item_cycle_budgets_pk",
1326
+ "table": "usine_item_cycle_budgets",
1327
+ "entityType": "pks"
1328
+ },
1329
+ {
1330
+ "columns": ["item_key"],
1331
+ "nameExplicit": false,
1332
+ "name": "usine_item_projections_pk",
1333
+ "table": "usine_item_projections",
1334
+ "entityType": "pks"
1335
+ },
1336
+ {
1337
+ "columns": ["loop_name"],
1338
+ "nameExplicit": false,
1339
+ "name": "usine_loop_runtime_pk",
1340
+ "table": "usine_loop_runtime",
1341
+ "entityType": "pks"
1342
+ },
1343
+ {
1344
+ "columns": ["singleton"],
1345
+ "nameExplicit": false,
1346
+ "name": "usine_projection_revision_pk",
1347
+ "table": "usine_projection_revision",
1348
+ "entityType": "pks"
1349
+ },
1350
+ {
1351
+ "columns": ["repository"],
1352
+ "nameExplicit": false,
1353
+ "name": "usine_repository_label_projections_pk",
1354
+ "table": "usine_repository_label_projections",
1355
+ "entityType": "pks"
1356
+ },
1357
+ {
1358
+ "columns": ["run_id"],
1359
+ "nameExplicit": false,
1360
+ "name": "usine_runs_pk",
1361
+ "table": "usine_runs",
1362
+ "entityType": "pks"
1363
+ },
1364
+ {
1365
+ "columns": ["event_id"],
1366
+ "nameExplicit": false,
1367
+ "name": "usine_trigger_events_pk",
1368
+ "table": "usine_trigger_events",
1369
+ "entityType": "pks"
1370
+ },
1371
+ {
1372
+ "columns": [
1373
+ {
1374
+ "value": "attempt_id",
1375
+ "isExpression": false
1376
+ },
1377
+ {
1378
+ "value": "direction",
1379
+ "isExpression": false
1380
+ },
1381
+ {
1382
+ "value": "channel_sequence",
1383
+ "isExpression": false
1384
+ }
1385
+ ],
1386
+ "isUnique": true,
1387
+ "where": null,
1388
+ "origin": "manual",
1389
+ "name": "usine_attempt_transcript_envelope",
1390
+ "entityType": "indexes",
1391
+ "table": "usine_attempt_transcripts"
1392
+ },
1393
+ {
1394
+ "columns": [
1395
+ {
1396
+ "value": "attempt_id",
1397
+ "isExpression": false
1398
+ },
1399
+ {
1400
+ "value": "sequence",
1401
+ "isExpression": false
1402
+ }
1403
+ ],
1404
+ "isUnique": false,
1405
+ "where": null,
1406
+ "origin": "manual",
1407
+ "name": "usine_attempt_transcript_tail",
1408
+ "entityType": "indexes",
1409
+ "table": "usine_attempt_transcripts"
1410
+ },
1411
+ {
1412
+ "columns": [
1413
+ {
1414
+ "value": "run_id",
1415
+ "isExpression": false
1416
+ },
1417
+ {
1418
+ "value": "step_name",
1419
+ "isExpression": false
1420
+ },
1421
+ {
1422
+ "value": "attempt_number",
1423
+ "isExpression": false
1424
+ }
1425
+ ],
1426
+ "isUnique": true,
1427
+ "where": null,
1428
+ "origin": "manual",
1429
+ "name": "usine_attempt_number",
1430
+ "entityType": "indexes",
1431
+ "table": "usine_attempts"
1432
+ },
1433
+ {
1434
+ "columns": [
1435
+ {
1436
+ "value": "run_id",
1437
+ "isExpression": false
1438
+ }
1439
+ ],
1440
+ "isUnique": true,
1441
+ "where": "\"usine_attempts\".\"outcome_json\" is null",
1442
+ "origin": "manual",
1443
+ "name": "usine_one_in_flight_attempt",
1444
+ "entityType": "indexes",
1445
+ "table": "usine_attempts"
1446
+ },
1447
+ {
1448
+ "columns": [
1449
+ {
1450
+ "value": "item_key",
1451
+ "isExpression": false
1452
+ },
1453
+ {
1454
+ "value": "moved_at",
1455
+ "isExpression": false
1456
+ }
1457
+ ],
1458
+ "isUnique": false,
1459
+ "where": null,
1460
+ "origin": "manual",
1461
+ "name": "usine_board_moves_item",
1462
+ "entityType": "indexes",
1463
+ "table": "usine_board_moves"
1464
+ },
1465
+ {
1466
+ "columns": [
1467
+ {
1468
+ "value": "item_key",
1469
+ "isExpression": false
1470
+ },
1471
+ {
1472
+ "value": "generation",
1473
+ "isExpression": false
1474
+ },
1475
+ {
1476
+ "value": "loop",
1477
+ "isExpression": false
1478
+ }
1479
+ ],
1480
+ "isUnique": false,
1481
+ "where": null,
1482
+ "origin": "manual",
1483
+ "name": "usine_cycle_reservations_item",
1484
+ "entityType": "indexes",
1485
+ "table": "usine_cycle_reservations"
1486
+ },
1487
+ {
1488
+ "columns": [
1489
+ {
1490
+ "value": "repository",
1491
+ "isExpression": false
1492
+ },
1493
+ {
1494
+ "value": "item_number",
1495
+ "isExpression": false
1496
+ }
1497
+ ],
1498
+ "isUnique": true,
1499
+ "where": null,
1500
+ "origin": "manual",
1501
+ "name": "usine_item_projection_number",
1502
+ "entityType": "indexes",
1503
+ "table": "usine_item_projections"
1504
+ },
1505
+ {
1506
+ "columns": [
1507
+ {
1508
+ "value": "loop_name",
1509
+ "isExpression": false
1510
+ },
1511
+ {
1512
+ "value": "item_key",
1513
+ "isExpression": false
1514
+ }
1515
+ ],
1516
+ "isUnique": false,
1517
+ "where": null,
1518
+ "origin": "manual",
1519
+ "name": "usine_trigger_events_item",
1520
+ "entityType": "indexes",
1521
+ "table": "usine_trigger_events"
1522
+ },
1523
+ {
1524
+ "columns": [
1525
+ {
1526
+ "value": "item_key",
1527
+ "isExpression": false
1528
+ }
1529
+ ],
1530
+ "isUnique": false,
1531
+ "where": null,
1532
+ "origin": "manual",
1533
+ "name": "usine_trigger_events_item_history",
1534
+ "entityType": "indexes",
1535
+ "table": "usine_trigger_events"
1536
+ },
1537
+ {
1538
+ "columns": [
1539
+ {
1540
+ "value": "reopens_event_id",
1541
+ "isExpression": false
1542
+ },
1543
+ {
1544
+ "value": "reopening",
1545
+ "isExpression": false
1546
+ }
1547
+ ],
1548
+ "isUnique": true,
1549
+ "where": null,
1550
+ "origin": "manual",
1551
+ "name": "usine_trigger_event_reopening",
1552
+ "entityType": "indexes",
1553
+ "table": "usine_trigger_events"
1554
+ },
1555
+ {
1556
+ "columns": ["event_id"],
1557
+ "nameExplicit": false,
1558
+ "name": "usine_approvals_event_id_unique",
1559
+ "entityType": "uniques",
1560
+ "table": "usine_approvals"
1561
+ },
1562
+ {
1563
+ "columns": ["event_id"],
1564
+ "nameExplicit": false,
1565
+ "name": "usine_cycle_resets_event_id_unique",
1566
+ "entityType": "uniques",
1567
+ "table": "usine_cycle_resets"
1568
+ },
1569
+ {
1570
+ "columns": ["dedup_key"],
1571
+ "nameExplicit": false,
1572
+ "name": "usine_events_dedup_key_unique",
1573
+ "entityType": "uniques",
1574
+ "table": "usine_events"
1575
+ },
1576
+ {
1577
+ "columns": ["event_id"],
1578
+ "nameExplicit": false,
1579
+ "name": "usine_runs_event_id_unique",
1580
+ "entityType": "uniques",
1581
+ "table": "usine_runs"
1582
+ },
1583
+ {
1584
+ "value": "(\"channel\" is null and \"approver\" is null) or \"channel\" = 'ui' or (\"channel\" = 'github-ask' and \"approver\" is not null)",
1585
+ "name": "usine_approvals_source",
1586
+ "entityType": "checks",
1587
+ "table": "usine_approvals"
1588
+ },
1589
+ {
1590
+ "value": "\"direction\" in ('inbound', 'outbound')",
1591
+ "name": "usine_attempt_transcripts_direction",
1592
+ "entityType": "checks",
1593
+ "table": "usine_attempt_transcripts"
1594
+ },
1595
+ {
1596
+ "value": "\"channel_sequence\" >= 1",
1597
+ "name": "usine_attempt_transcripts_sequence",
1598
+ "entityType": "checks",
1599
+ "table": "usine_attempt_transcripts"
1600
+ },
1601
+ {
1602
+ "value": "json_valid(\"envelope\")",
1603
+ "name": "usine_attempt_transcripts_envelope_json_valid",
1604
+ "entityType": "checks",
1605
+ "table": "usine_attempt_transcripts"
1606
+ },
1607
+ {
1608
+ "value": "\"attempt_number\" >= 1",
1609
+ "name": "usine_attempts_number",
1610
+ "entityType": "checks",
1611
+ "table": "usine_attempts"
1612
+ },
1613
+ {
1614
+ "value": "json_valid(\"brain_json\")",
1615
+ "name": "usine_attempts_brain_json_valid",
1616
+ "entityType": "checks",
1617
+ "table": "usine_attempts"
1618
+ },
1619
+ {
1620
+ "value": "\"outcome_json\" is null or json_valid(\"outcome_json\")",
1621
+ "name": "usine_attempts_outcome_json_valid",
1622
+ "entityType": "checks",
1623
+ "table": "usine_attempts"
1624
+ },
1625
+ {
1626
+ "value": "\"salvage_json\" is null or json_valid(\"salvage_json\")",
1627
+ "name": "usine_attempts_salvage_json_valid",
1628
+ "entityType": "checks",
1629
+ "table": "usine_attempts"
1630
+ },
1631
+ {
1632
+ "value": "json_valid(\"added_json\")",
1633
+ "name": "usine_board_moves_added_json_valid",
1634
+ "entityType": "checks",
1635
+ "table": "usine_board_moves"
1636
+ },
1637
+ {
1638
+ "value": "json_valid(\"removed_json\")",
1639
+ "name": "usine_board_moves_removed_json_valid",
1640
+ "entityType": "checks",
1641
+ "table": "usine_board_moves"
1642
+ },
1643
+ {
1644
+ "value": "json_valid(\"value_json\")",
1645
+ "name": "usine_cursors_value_json_valid",
1646
+ "entityType": "checks",
1647
+ "table": "usine_cursors"
1648
+ },
1649
+ {
1650
+ "value": "\"generation\" >= 0",
1651
+ "name": "usine_cycle_reservations_generation",
1652
+ "entityType": "checks",
1653
+ "table": "usine_cycle_reservations"
1654
+ },
1655
+ {
1656
+ "value": "json_valid(\"payload_json\")",
1657
+ "name": "usine_events_payload_json_valid",
1658
+ "entityType": "checks",
1659
+ "table": "usine_events"
1660
+ },
1661
+ {
1662
+ "value": "\"reason\" in ('superseded', 'revoked')",
1663
+ "name": "usine_ignored_events_reason",
1664
+ "entityType": "checks",
1665
+ "table": "usine_ignored_events"
1666
+ },
1667
+ {
1668
+ "value": "\"generation\" >= 0",
1669
+ "name": "usine_item_cycle_generation",
1670
+ "entityType": "checks",
1671
+ "table": "usine_item_cycle_budgets"
1672
+ },
1673
+ {
1674
+ "value": "\"ask_json\" is null or json_valid(\"ask_json\")",
1675
+ "name": "usine_item_cycle_ask_json",
1676
+ "entityType": "checks",
1677
+ "table": "usine_item_cycle_budgets"
1678
+ },
1679
+ {
1680
+ "value": "\"item_number\" >= 1",
1681
+ "name": "usine_item_projections_number",
1682
+ "entityType": "checks",
1683
+ "table": "usine_item_projections"
1684
+ },
1685
+ {
1686
+ "value": "json_valid(\"payload_json\")",
1687
+ "name": "usine_item_projections_payload_json_valid",
1688
+ "entityType": "checks",
1689
+ "table": "usine_item_projections"
1690
+ },
1691
+ {
1692
+ "value": "\"singleton\" = 1",
1693
+ "name": "usine_projection_revision_singleton",
1694
+ "entityType": "checks",
1695
+ "table": "usine_projection_revision"
1696
+ },
1697
+ {
1698
+ "value": "json_valid(\"labels_json\")",
1699
+ "name": "usine_repository_label_projections_labels_json_valid",
1700
+ "entityType": "checks",
1701
+ "table": "usine_repository_label_projections"
1702
+ },
1703
+ {
1704
+ "value": "json_valid(\"state_json\")",
1705
+ "name": "usine_runs_state_json_valid",
1706
+ "entityType": "checks",
1707
+ "table": "usine_runs"
1708
+ },
1709
+ {
1710
+ "value": "json_valid(\"agent_json\")",
1711
+ "name": "usine_runs_agent_json_valid",
1712
+ "entityType": "checks",
1713
+ "table": "usine_runs"
1714
+ },
1715
+ {
1716
+ "value": "\"result\" is null or json_valid(\"result\")",
1717
+ "name": "usine_steps_result_json_valid",
1718
+ "entityType": "checks",
1719
+ "table": "usine_steps"
1720
+ },
1721
+ {
1722
+ "value": "\"approval\" in ('none', 'required')",
1723
+ "name": "usine_trigger_events_approval",
1724
+ "entityType": "checks",
1725
+ "table": "usine_trigger_events"
1726
+ },
1727
+ {
1728
+ "value": "\"cycle_limit\" is null or \"cycle_limit\" >= 1",
1729
+ "name": "usine_trigger_events_cycle_limit",
1730
+ "entityType": "checks",
1731
+ "table": "usine_trigger_events"
1732
+ },
1733
+ {
1734
+ "value": "json_valid(\"agent_json\")",
1735
+ "name": "usine_trigger_events_agent_json_valid",
1736
+ "entityType": "checks",
1737
+ "table": "usine_trigger_events"
1738
+ }
1739
+ ],
1740
+ "renames": []
1741
+ }