@usine/engine 0.3.0 → 0.5.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 (201) hide show
  1. package/LICENSE +661 -21
  2. package/README.md +112 -38
  3. package/dist/board-moves/board-moves.d.ts +20 -0
  4. package/dist/board-moves/board-moves.d.ts.map +1 -0
  5. package/dist/board-moves/board-moves.js +74 -0
  6. package/dist/board-moves/board-moves.js.map +1 -0
  7. package/dist/board-moves/model.d.ts +21 -0
  8. package/dist/board-moves/model.d.ts.map +1 -0
  9. package/dist/board-moves/model.js +22 -0
  10. package/dist/board-moves/model.js.map +1 -0
  11. package/dist/cursor/cursor.d.ts +2 -6
  12. package/dist/cursor/cursor.d.ts.map +1 -1
  13. package/dist/cursor/cursor.js +2 -6
  14. package/dist/cursor/cursor.js.map +1 -1
  15. package/dist/cycle-budget/cycle-budget.d.ts +14 -8
  16. package/dist/cycle-budget/cycle-budget.d.ts.map +1 -1
  17. package/dist/cycle-budget/cycle-budget.js +51 -10
  18. package/dist/cycle-budget/cycle-budget.js.map +1 -1
  19. package/dist/cycle-budget/model.d.ts +6 -2
  20. package/dist/cycle-budget/model.d.ts.map +1 -1
  21. package/dist/cycle-budget/model.js +5 -2
  22. package/dist/cycle-budget/model.js.map +1 -1
  23. package/dist/cycle-budget/queries.d.ts +1 -1
  24. package/dist/cycle-budget/queries.d.ts.map +1 -1
  25. package/dist/cycle-budget/queries.js +3 -3
  26. package/dist/cycle-budget/queries.js.map +1 -1
  27. package/dist/database/database.d.ts +1 -1
  28. package/dist/database/database.d.ts.map +1 -1
  29. package/dist/database/local-sqlite.d.ts +13 -10
  30. package/dist/database/local-sqlite.d.ts.map +1 -1
  31. package/dist/database/local-sqlite.js +22 -17
  32. package/dist/database/local-sqlite.js.map +1 -1
  33. package/dist/database/schema.d.ts +668 -36
  34. package/dist/database/schema.d.ts.map +1 -1
  35. package/dist/database/schema.js +123 -23
  36. package/dist/database/schema.js.map +1 -1
  37. package/dist/{workflow → engine}/admission.d.ts +2 -2
  38. package/dist/engine/admission.d.ts.map +1 -0
  39. package/dist/{workflow → engine}/admission.js +4 -4
  40. package/dist/engine/admission.js.map +1 -0
  41. package/dist/engine/checkout-recovery.d.ts +79 -0
  42. package/dist/engine/checkout-recovery.d.ts.map +1 -0
  43. package/dist/engine/checkout-recovery.js +238 -0
  44. package/dist/engine/checkout-recovery.js.map +1 -0
  45. package/dist/engine/engine.d.ts +67 -26
  46. package/dist/engine/engine.d.ts.map +1 -1
  47. package/dist/engine/engine.js +136 -129
  48. package/dist/engine/engine.js.map +1 -1
  49. package/dist/engine/error.d.ts +29 -10
  50. package/dist/engine/error.d.ts.map +1 -1
  51. package/dist/engine/error.js +28 -8
  52. package/dist/engine/error.js.map +1 -1
  53. package/dist/engine/lifecycle.d.ts +83 -28
  54. package/dist/engine/lifecycle.d.ts.map +1 -1
  55. package/dist/engine/lifecycle.js +94 -45
  56. package/dist/engine/lifecycle.js.map +1 -1
  57. package/dist/engine/retry.d.ts +16 -0
  58. package/dist/engine/retry.d.ts.map +1 -0
  59. package/dist/engine/retry.js +18 -0
  60. package/dist/engine/retry.js.map +1 -0
  61. package/dist/engine/run-again.d.ts +45 -0
  62. package/dist/engine/run-again.d.ts.map +1 -0
  63. package/dist/engine/run-again.js +56 -0
  64. package/dist/engine/run-again.js.map +1 -0
  65. package/dist/engine/run-driver.d.ts +68 -0
  66. package/dist/engine/run-driver.d.ts.map +1 -0
  67. package/dist/engine/run-driver.js +448 -0
  68. package/dist/engine/run-driver.js.map +1 -0
  69. package/dist/engine/shutdown.d.ts +3 -4
  70. package/dist/engine/shutdown.d.ts.map +1 -1
  71. package/dist/engine/shutdown.js +3 -4
  72. package/dist/engine/shutdown.js.map +1 -1
  73. package/dist/engine/submission.d.ts +31 -11
  74. package/dist/engine/submission.d.ts.map +1 -1
  75. package/dist/engine/submission.js +43 -12
  76. package/dist/engine/submission.js.map +1 -1
  77. package/dist/engine/unconfirmed-stops.d.ts +27 -0
  78. package/dist/engine/unconfirmed-stops.d.ts.map +1 -0
  79. package/dist/engine/unconfirmed-stops.js +26 -0
  80. package/dist/engine/unconfirmed-stops.js.map +1 -0
  81. package/dist/item-projection/item-projection.d.ts +14 -4
  82. package/dist/item-projection/item-projection.d.ts.map +1 -1
  83. package/dist/item-projection/item-projection.js +60 -14
  84. package/dist/item-projection/item-projection.js.map +1 -1
  85. package/dist/item-projection/model.d.ts +5 -1
  86. package/dist/item-projection/model.d.ts.map +1 -1
  87. package/dist/item-projection/model.js +6 -2
  88. package/dist/item-projection/model.js.map +1 -1
  89. package/dist/loop-control/loop-control.d.ts +5 -5
  90. package/dist/loop-control/loop-control.d.ts.map +1 -1
  91. package/dist/loop-control/loop-control.js +4 -4
  92. package/dist/loop-control/loop-control.js.map +1 -1
  93. package/dist/loop-control/model.d.ts +1 -1
  94. package/dist/loop-control/model.d.ts.map +1 -1
  95. package/dist/loop-control/model.js +1 -1
  96. package/dist/loop-control/model.js.map +1 -1
  97. package/dist/repository-label-projection/model.d.ts +2 -2
  98. package/dist/repository-label-projection/model.d.ts.map +1 -1
  99. package/dist/repository-label-projection/model.js +2 -2
  100. package/dist/repository-label-projection/model.js.map +1 -1
  101. package/dist/repository-label-projection/repository-label-projection.d.ts +1 -1
  102. package/dist/repository-label-projection/repository-label-projection.d.ts.map +1 -1
  103. package/dist/repository-label-projection/repository-label-projection.js +1 -1
  104. package/dist/repository-label-projection/repository-label-projection.js.map +1 -1
  105. package/dist/run-reader/model.d.ts +62 -4
  106. package/dist/run-reader/model.d.ts.map +1 -1
  107. package/dist/run-reader/model.js +66 -7
  108. package/dist/run-reader/model.js.map +1 -1
  109. package/dist/run-reader/run-reader.d.ts +25 -10
  110. package/dist/run-reader/run-reader.d.ts.map +1 -1
  111. package/dist/run-reader/run-reader.js +25 -7
  112. package/dist/run-reader/run-reader.js.map +1 -1
  113. package/dist/step-executor.d.ts +86 -13
  114. package/dist/step-executor.d.ts.map +1 -1
  115. package/dist/step-executor.js +10 -2
  116. package/dist/step-executor.js.map +1 -1
  117. package/dist/store/attempt-windows.d.ts +8 -0
  118. package/dist/store/attempt-windows.d.ts.map +1 -0
  119. package/dist/store/attempt-windows.js +53 -0
  120. package/dist/store/attempt-windows.js.map +1 -0
  121. package/dist/store/codec.d.ts +242 -43
  122. package/dist/store/codec.d.ts.map +1 -1
  123. package/dist/store/codec.js +61 -16
  124. package/dist/store/codec.js.map +1 -1
  125. package/dist/store/leftovers.d.ts +10 -0
  126. package/dist/store/leftovers.d.ts.map +1 -0
  127. package/dist/store/leftovers.js +43 -0
  128. package/dist/store/leftovers.js.map +1 -0
  129. package/dist/store/loop-items.d.ts +16 -0
  130. package/dist/store/loop-items.d.ts.map +1 -0
  131. package/dist/store/loop-items.js +185 -0
  132. package/dist/store/loop-items.js.map +1 -0
  133. package/dist/store/queries.d.ts +385 -36
  134. package/dist/store/queries.d.ts.map +1 -1
  135. package/dist/store/queries.js +355 -107
  136. package/dist/store/queries.js.map +1 -1
  137. package/dist/store/store.d.ts +106 -54
  138. package/dist/store/store.d.ts.map +1 -1
  139. package/dist/store/store.js +497 -190
  140. package/dist/store/store.js.map +1 -1
  141. package/dist/store/transcript.d.ts +3 -3
  142. package/dist/store/transcript.d.ts.map +1 -1
  143. package/dist/store/transcript.js +25 -6
  144. package/dist/store/transcript.js.map +1 -1
  145. package/dist/transcript.d.ts +19 -20
  146. package/dist/transcript.d.ts.map +1 -1
  147. package/dist/transcript.js +23 -21
  148. package/dist/transcript.js.map +1 -1
  149. package/dist/trigger-condition.d.ts +23 -0
  150. package/dist/trigger-condition.d.ts.map +1 -0
  151. package/dist/trigger-condition.js +8 -0
  152. package/dist/trigger-condition.js.map +1 -0
  153. package/drizzle/20260917071139_resolve_run_failure/migration.sql +1 -0
  154. package/drizzle/20260917071139_resolve_run_failure/snapshot.json +1471 -0
  155. package/drizzle/20260918032643_attempt_salvage/migration.sql +1 -0
  156. package/drizzle/20260918032643_attempt_salvage/snapshot.json +1481 -0
  157. package/drizzle/20261011153856_drop_workflow_tables/migration.sql +4 -0
  158. package/drizzle/20261011153856_drop_workflow_tables/snapshot.json +1433 -0
  159. package/drizzle/20261017155043_attempt_salvage_check/migration.sql +41 -0
  160. package/drizzle/20261017155043_attempt_salvage_check/snapshot.json +1421 -0
  161. package/drizzle/20261018162700_discard_attempt_leftovers/migration.sql +1 -0
  162. package/drizzle/20261018162700_discard_attempt_leftovers/snapshot.json +1431 -0
  163. package/drizzle/20261018172605_loop_items_and_reopenings/migration.sql +15 -0
  164. package/drizzle/20261018172605_loop_items_and_reopenings/snapshot.json +1574 -0
  165. package/drizzle/20261018180339_attempt_ended_at/migration.sql +1 -0
  166. package/drizzle/20261018180339_attempt_ended_at/snapshot.json +1584 -0
  167. package/drizzle/20261019104043_run_approval_source/migration.sql +15 -0
  168. package/drizzle/20261019104043_run_approval_source/snapshot.json +1610 -0
  169. package/drizzle/20261019133538_board_moves/migration.sql +14 -0
  170. package/drizzle/20261019133538_board_moves/snapshot.json +1731 -0
  171. package/drizzle/20261019170538_item_projection_gone/migration.sql +1 -0
  172. package/drizzle/20261019170538_item_projection_gone/snapshot.json +1741 -0
  173. package/drizzle/20261019180649_run_again_events/migration.sql +7 -0
  174. package/drizzle/20261019180649_run_again_events/snapshot.json +1804 -0
  175. package/drizzle/20261019185008_trigger_event_permissions/migration.sql +1 -0
  176. package/drizzle/20261019185008_trigger_event_permissions/snapshot.json +1814 -0
  177. package/drizzle/20261020103746_attempt_start/migration.sql +5 -0
  178. package/drizzle/20261020103746_attempt_start/snapshot.json +1844 -0
  179. package/drizzle/20261020125211_attempt_comments/migration.sql +1 -0
  180. package/drizzle/20261020125211_attempt_comments/snapshot.json +1854 -0
  181. package/drizzle/20261020191320_run_closed_at/migration.sql +6 -0
  182. package/drizzle/20261020191320_run_closed_at/snapshot.json +1864 -0
  183. package/drizzle/20261023091428_rename_loop_item_hold_to_suppression/migration.sql +2 -0
  184. package/drizzle/20261023091428_rename_loop_item_hold_to_suppression/snapshot.json +1867 -0
  185. package/drizzle/20261024162954_cycle_ask_closures/migration.sql +10 -0
  186. package/drizzle/20261024162954_cycle_ask_closures/snapshot.json +1948 -0
  187. package/drizzle/20261027104206_attempt_out_of_memory/migration.sql +1 -0
  188. package/drizzle/20261027104206_attempt_out_of_memory/snapshot.json +1958 -0
  189. package/drizzle/20261027191944_failure_resolution/migration.sql +1 -0
  190. package/drizzle/20261027191944_failure_resolution/snapshot.json +1968 -0
  191. package/package.json +22 -12
  192. package/dist/workflow/admission.d.ts.map +0 -1
  193. package/dist/workflow/admission.js.map +0 -1
  194. package/dist/workflow/command.d.ts +0 -13
  195. package/dist/workflow/command.d.ts.map +0 -1
  196. package/dist/workflow/command.js +0 -17
  197. package/dist/workflow/command.js.map +0 -1
  198. package/dist/workflow/workflow.d.ts +0 -18
  199. package/dist/workflow/workflow.d.ts.map +0 -1
  200. package/dist/workflow/workflow.js +0 -108
  201. package/dist/workflow/workflow.js.map +0 -1
@@ -0,0 +1,1731 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "b492a009-3aea-41d8-82c6-acd081e27f82",
5
+ "prevIds": ["4e12fd76-e580-49fa-80d5-a0333d229c5a"],
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": true,
672
+ "autoincrement": false,
673
+ "default": null,
674
+ "generated": null,
675
+ "name": "loop_name",
676
+ "entityType": "columns",
677
+ "table": "usine_loop_items"
678
+ },
679
+ {
680
+ "type": "text",
681
+ "notNull": true,
682
+ "autoincrement": false,
683
+ "default": null,
684
+ "generated": null,
685
+ "name": "item_key",
686
+ "entityType": "columns",
687
+ "table": "usine_loop_items"
688
+ },
689
+ {
690
+ "type": "text",
691
+ "notNull": false,
692
+ "autoincrement": false,
693
+ "default": null,
694
+ "generated": null,
695
+ "name": "observed_event_id",
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": "held_by_run_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_event_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": "loop_name",
726
+ "entityType": "columns",
727
+ "table": "usine_loop_runtime"
728
+ },
729
+ {
730
+ "type": "integer",
731
+ "notNull": true,
732
+ "autoincrement": false,
733
+ "default": null,
734
+ "generated": null,
735
+ "name": "paused",
736
+ "entityType": "columns",
737
+ "table": "usine_loop_runtime"
738
+ },
739
+ {
740
+ "type": "integer",
741
+ "notNull": false,
742
+ "autoincrement": false,
743
+ "default": "1",
744
+ "generated": null,
745
+ "name": "singleton",
746
+ "entityType": "columns",
747
+ "table": "usine_projection_revision"
748
+ },
749
+ {
750
+ "type": "integer",
751
+ "notNull": true,
752
+ "autoincrement": false,
753
+ "default": "0",
754
+ "generated": null,
755
+ "name": "revision",
756
+ "entityType": "columns",
757
+ "table": "usine_projection_revision"
758
+ },
759
+ {
760
+ "type": "text",
761
+ "notNull": false,
762
+ "autoincrement": false,
763
+ "default": null,
764
+ "generated": null,
765
+ "name": "repository",
766
+ "entityType": "columns",
767
+ "table": "usine_repository_label_projections"
768
+ },
769
+ {
770
+ "type": "text",
771
+ "notNull": true,
772
+ "autoincrement": false,
773
+ "default": null,
774
+ "generated": null,
775
+ "name": "labels_json",
776
+ "entityType": "columns",
777
+ "table": "usine_repository_label_projections"
778
+ },
779
+ {
780
+ "type": "text",
781
+ "notNull": false,
782
+ "autoincrement": false,
783
+ "default": null,
784
+ "generated": null,
785
+ "name": "run_id",
786
+ "entityType": "columns",
787
+ "table": "usine_runs"
788
+ },
789
+ {
790
+ "type": "text",
791
+ "notNull": true,
792
+ "autoincrement": false,
793
+ "default": null,
794
+ "generated": null,
795
+ "name": "event_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": "loop_name",
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": "state_json",
816
+ "entityType": "columns",
817
+ "table": "usine_runs"
818
+ },
819
+ {
820
+ "type": "text",
821
+ "notNull": false,
822
+ "autoincrement": false,
823
+ "default": null,
824
+ "generated": null,
825
+ "name": "resolved_failure_attempt_id",
826
+ "entityType": "columns",
827
+ "table": "usine_runs"
828
+ },
829
+ {
830
+ "type": "text",
831
+ "notNull": true,
832
+ "autoincrement": false,
833
+ "default": null,
834
+ "generated": null,
835
+ "name": "opened_at",
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": "repository",
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": "revision",
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": "task",
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": "agent_json",
876
+ "entityType": "columns",
877
+ "table": "usine_runs"
878
+ },
879
+ {
880
+ "type": "text",
881
+ "notNull": false,
882
+ "autoincrement": false,
883
+ "default": null,
884
+ "generated": null,
885
+ "name": "parent_model",
886
+ "entityType": "columns",
887
+ "table": "usine_runs"
888
+ },
889
+ {
890
+ "type": "text",
891
+ "notNull": true,
892
+ "autoincrement": false,
893
+ "default": null,
894
+ "generated": null,
895
+ "name": "run_id",
896
+ "entityType": "columns",
897
+ "table": "usine_steps"
898
+ },
899
+ {
900
+ "type": "text",
901
+ "notNull": true,
902
+ "autoincrement": false,
903
+ "default": null,
904
+ "generated": null,
905
+ "name": "step_name",
906
+ "entityType": "columns",
907
+ "table": "usine_steps"
908
+ },
909
+ {
910
+ "type": "text",
911
+ "notNull": false,
912
+ "autoincrement": false,
913
+ "default": null,
914
+ "generated": null,
915
+ "name": "result",
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": "event_id",
926
+ "entityType": "columns",
927
+ "table": "usine_trigger_events"
928
+ },
929
+ {
930
+ "type": "text",
931
+ "notNull": true,
932
+ "autoincrement": false,
933
+ "default": null,
934
+ "generated": null,
935
+ "name": "item_key",
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": "loop_name",
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": "step_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": "approval",
966
+ "entityType": "columns",
967
+ "table": "usine_trigger_events"
968
+ },
969
+ {
970
+ "type": "integer",
971
+ "notNull": false,
972
+ "autoincrement": false,
973
+ "default": null,
974
+ "generated": null,
975
+ "name": "cycle_limit",
976
+ "entityType": "columns",
977
+ "table": "usine_trigger_events"
978
+ },
979
+ {
980
+ "type": "integer",
981
+ "notNull": true,
982
+ "autoincrement": false,
983
+ "default": "0",
984
+ "generated": null,
985
+ "name": "cycle_generation",
986
+ "entityType": "columns",
987
+ "table": "usine_trigger_events"
988
+ },
989
+ {
990
+ "type": "text",
991
+ "notNull": true,
992
+ "autoincrement": false,
993
+ "default": null,
994
+ "generated": null,
995
+ "name": "repository",
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": "revision",
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": "task",
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": "agent_json",
1026
+ "entityType": "columns",
1027
+ "table": "usine_trigger_events"
1028
+ },
1029
+ {
1030
+ "type": "text",
1031
+ "notNull": false,
1032
+ "autoincrement": false,
1033
+ "default": null,
1034
+ "generated": null,
1035
+ "name": "parent_model",
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": "reopens_event_id",
1046
+ "entityType": "columns",
1047
+ "table": "usine_trigger_events"
1048
+ },
1049
+ {
1050
+ "type": "integer",
1051
+ "notNull": true,
1052
+ "autoincrement": false,
1053
+ "default": "0",
1054
+ "generated": null,
1055
+ "name": "reopening",
1056
+ "entityType": "columns",
1057
+ "table": "usine_trigger_events"
1058
+ },
1059
+ {
1060
+ "columns": ["run_id"],
1061
+ "tableTo": "usine_runs",
1062
+ "columnsTo": ["run_id"],
1063
+ "onUpdate": "NO ACTION",
1064
+ "onDelete": "NO ACTION",
1065
+ "nameExplicit": false,
1066
+ "name": "fk_usine_approvals_run_id_usine_runs_run_id_fk",
1067
+ "entityType": "fks",
1068
+ "table": "usine_approvals"
1069
+ },
1070
+ {
1071
+ "columns": ["event_id"],
1072
+ "tableTo": "usine_events",
1073
+ "columnsTo": ["event_id"],
1074
+ "onUpdate": "NO ACTION",
1075
+ "onDelete": "NO ACTION",
1076
+ "nameExplicit": false,
1077
+ "name": "fk_usine_approvals_event_id_usine_events_event_id_fk",
1078
+ "entityType": "fks",
1079
+ "table": "usine_approvals"
1080
+ },
1081
+ {
1082
+ "columns": ["attempt_id"],
1083
+ "tableTo": "usine_attempts",
1084
+ "columnsTo": ["attempt_id"],
1085
+ "onUpdate": "NO ACTION",
1086
+ "onDelete": "NO ACTION",
1087
+ "nameExplicit": false,
1088
+ "name": "fk_usine_attempt_transcripts_attempt_id_usine_attempts_attempt_id_fk",
1089
+ "entityType": "fks",
1090
+ "table": "usine_attempt_transcripts"
1091
+ },
1092
+ {
1093
+ "columns": ["run_id", "step_name"],
1094
+ "tableTo": "usine_steps",
1095
+ "columnsTo": ["run_id", "step_name"],
1096
+ "onUpdate": "NO ACTION",
1097
+ "onDelete": "NO ACTION",
1098
+ "nameExplicit": false,
1099
+ "name": "fk_usine_attempts_run_id_step_name_usine_steps_run_id_step_name_fk",
1100
+ "entityType": "fks",
1101
+ "table": "usine_attempts"
1102
+ },
1103
+ {
1104
+ "columns": ["run_id"],
1105
+ "tableTo": "usine_runs",
1106
+ "columnsTo": ["run_id"],
1107
+ "onUpdate": "NO ACTION",
1108
+ "onDelete": "NO ACTION",
1109
+ "nameExplicit": false,
1110
+ "name": "fk_usine_cycle_reservations_run_id_usine_runs_run_id_fk",
1111
+ "entityType": "fks",
1112
+ "table": "usine_cycle_reservations"
1113
+ },
1114
+ {
1115
+ "columns": ["item_key"],
1116
+ "tableTo": "usine_item_cycle_budgets",
1117
+ "columnsTo": ["item_key"],
1118
+ "onUpdate": "NO ACTION",
1119
+ "onDelete": "NO ACTION",
1120
+ "nameExplicit": false,
1121
+ "name": "fk_usine_cycle_reservations_item_key_usine_item_cycle_budgets_item_key_fk",
1122
+ "entityType": "fks",
1123
+ "table": "usine_cycle_reservations"
1124
+ },
1125
+ {
1126
+ "columns": ["event_id"],
1127
+ "tableTo": "usine_events",
1128
+ "columnsTo": ["event_id"],
1129
+ "onUpdate": "NO ACTION",
1130
+ "onDelete": "NO ACTION",
1131
+ "nameExplicit": false,
1132
+ "name": "fk_usine_cycle_resets_event_id_usine_events_event_id_fk",
1133
+ "entityType": "fks",
1134
+ "table": "usine_cycle_resets"
1135
+ },
1136
+ {
1137
+ "columns": ["item_key"],
1138
+ "tableTo": "usine_item_cycle_budgets",
1139
+ "columnsTo": ["item_key"],
1140
+ "onUpdate": "NO ACTION",
1141
+ "onDelete": "NO ACTION",
1142
+ "nameExplicit": false,
1143
+ "name": "fk_usine_cycle_resets_item_key_usine_item_cycle_budgets_item_key_fk",
1144
+ "entityType": "fks",
1145
+ "table": "usine_cycle_resets"
1146
+ },
1147
+ {
1148
+ "columns": ["event_id"],
1149
+ "tableTo": "usine_trigger_events",
1150
+ "columnsTo": ["event_id"],
1151
+ "onUpdate": "NO ACTION",
1152
+ "onDelete": "NO ACTION",
1153
+ "nameExplicit": false,
1154
+ "name": "fk_usine_ignored_events_event_id_usine_trigger_events_event_id_fk",
1155
+ "entityType": "fks",
1156
+ "table": "usine_ignored_events"
1157
+ },
1158
+ {
1159
+ "columns": ["observed_event_id"],
1160
+ "tableTo": "usine_events",
1161
+ "columnsTo": ["event_id"],
1162
+ "onUpdate": "NO ACTION",
1163
+ "onDelete": "NO ACTION",
1164
+ "nameExplicit": false,
1165
+ "name": "fk_usine_loop_items_observed_event_id_usine_events_event_id_fk",
1166
+ "entityType": "fks",
1167
+ "table": "usine_loop_items"
1168
+ },
1169
+ {
1170
+ "columns": ["held_by_run_id"],
1171
+ "tableTo": "usine_runs",
1172
+ "columnsTo": ["run_id"],
1173
+ "onUpdate": "NO ACTION",
1174
+ "onDelete": "NO ACTION",
1175
+ "nameExplicit": false,
1176
+ "name": "fk_usine_loop_items_held_by_run_id_usine_runs_run_id_fk",
1177
+ "entityType": "fks",
1178
+ "table": "usine_loop_items"
1179
+ },
1180
+ {
1181
+ "columns": ["held_event_id"],
1182
+ "tableTo": "usine_events",
1183
+ "columnsTo": ["event_id"],
1184
+ "onUpdate": "NO ACTION",
1185
+ "onDelete": "NO ACTION",
1186
+ "nameExplicit": false,
1187
+ "name": "fk_usine_loop_items_held_event_id_usine_events_event_id_fk",
1188
+ "entityType": "fks",
1189
+ "table": "usine_loop_items"
1190
+ },
1191
+ {
1192
+ "columns": ["event_id"],
1193
+ "tableTo": "usine_trigger_events",
1194
+ "columnsTo": ["event_id"],
1195
+ "onUpdate": "NO ACTION",
1196
+ "onDelete": "NO ACTION",
1197
+ "nameExplicit": false,
1198
+ "name": "fk_usine_runs_event_id_usine_trigger_events_event_id_fk",
1199
+ "entityType": "fks",
1200
+ "table": "usine_runs"
1201
+ },
1202
+ {
1203
+ "columns": ["run_id"],
1204
+ "tableTo": "usine_runs",
1205
+ "columnsTo": ["run_id"],
1206
+ "onUpdate": "NO ACTION",
1207
+ "onDelete": "NO ACTION",
1208
+ "nameExplicit": false,
1209
+ "name": "fk_usine_steps_run_id_usine_runs_run_id_fk",
1210
+ "entityType": "fks",
1211
+ "table": "usine_steps"
1212
+ },
1213
+ {
1214
+ "columns": ["event_id"],
1215
+ "tableTo": "usine_events",
1216
+ "columnsTo": ["event_id"],
1217
+ "onUpdate": "NO ACTION",
1218
+ "onDelete": "NO ACTION",
1219
+ "nameExplicit": false,
1220
+ "name": "fk_usine_trigger_events_event_id_usine_events_event_id_fk",
1221
+ "entityType": "fks",
1222
+ "table": "usine_trigger_events"
1223
+ },
1224
+ {
1225
+ "columns": ["reopens_event_id"],
1226
+ "tableTo": "usine_events",
1227
+ "columnsTo": ["event_id"],
1228
+ "onUpdate": "NO ACTION",
1229
+ "onDelete": "NO ACTION",
1230
+ "nameExplicit": false,
1231
+ "name": "fk_usine_trigger_events_reopens_event_id_usine_events_event_id_fk",
1232
+ "entityType": "fks",
1233
+ "table": "usine_trigger_events"
1234
+ },
1235
+ {
1236
+ "columns": ["loop_name", "item_key"],
1237
+ "nameExplicit": false,
1238
+ "name": "usine_loop_items_pk",
1239
+ "entityType": "pks",
1240
+ "table": "usine_loop_items"
1241
+ },
1242
+ {
1243
+ "columns": ["run_id", "step_name"],
1244
+ "nameExplicit": false,
1245
+ "name": "usine_steps_pk",
1246
+ "entityType": "pks",
1247
+ "table": "usine_steps"
1248
+ },
1249
+ {
1250
+ "columns": ["run_id"],
1251
+ "nameExplicit": false,
1252
+ "name": "usine_approvals_pk",
1253
+ "table": "usine_approvals",
1254
+ "entityType": "pks"
1255
+ },
1256
+ {
1257
+ "columns": ["sequence"],
1258
+ "nameExplicit": false,
1259
+ "name": "usine_attempt_transcripts_pk",
1260
+ "table": "usine_attempt_transcripts",
1261
+ "entityType": "pks"
1262
+ },
1263
+ {
1264
+ "columns": ["attempt_id"],
1265
+ "nameExplicit": false,
1266
+ "name": "usine_attempts_pk",
1267
+ "table": "usine_attempts",
1268
+ "entityType": "pks"
1269
+ },
1270
+ {
1271
+ "columns": ["move_id"],
1272
+ "nameExplicit": false,
1273
+ "name": "usine_board_moves_pk",
1274
+ "table": "usine_board_moves",
1275
+ "entityType": "pks"
1276
+ },
1277
+ {
1278
+ "columns": ["cursor_key"],
1279
+ "nameExplicit": false,
1280
+ "name": "usine_cursors_pk",
1281
+ "table": "usine_cursors",
1282
+ "entityType": "pks"
1283
+ },
1284
+ {
1285
+ "columns": ["run_id"],
1286
+ "nameExplicit": false,
1287
+ "name": "usine_cycle_reservations_pk",
1288
+ "table": "usine_cycle_reservations",
1289
+ "entityType": "pks"
1290
+ },
1291
+ {
1292
+ "columns": ["ask_id"],
1293
+ "nameExplicit": false,
1294
+ "name": "usine_cycle_resets_pk",
1295
+ "table": "usine_cycle_resets",
1296
+ "entityType": "pks"
1297
+ },
1298
+ {
1299
+ "columns": ["event_id"],
1300
+ "nameExplicit": false,
1301
+ "name": "usine_events_pk",
1302
+ "table": "usine_events",
1303
+ "entityType": "pks"
1304
+ },
1305
+ {
1306
+ "columns": ["event_id"],
1307
+ "nameExplicit": false,
1308
+ "name": "usine_ignored_events_pk",
1309
+ "table": "usine_ignored_events",
1310
+ "entityType": "pks"
1311
+ },
1312
+ {
1313
+ "columns": ["item_key"],
1314
+ "nameExplicit": false,
1315
+ "name": "usine_item_cycle_budgets_pk",
1316
+ "table": "usine_item_cycle_budgets",
1317
+ "entityType": "pks"
1318
+ },
1319
+ {
1320
+ "columns": ["item_key"],
1321
+ "nameExplicit": false,
1322
+ "name": "usine_item_projections_pk",
1323
+ "table": "usine_item_projections",
1324
+ "entityType": "pks"
1325
+ },
1326
+ {
1327
+ "columns": ["loop_name"],
1328
+ "nameExplicit": false,
1329
+ "name": "usine_loop_runtime_pk",
1330
+ "table": "usine_loop_runtime",
1331
+ "entityType": "pks"
1332
+ },
1333
+ {
1334
+ "columns": ["singleton"],
1335
+ "nameExplicit": false,
1336
+ "name": "usine_projection_revision_pk",
1337
+ "table": "usine_projection_revision",
1338
+ "entityType": "pks"
1339
+ },
1340
+ {
1341
+ "columns": ["repository"],
1342
+ "nameExplicit": false,
1343
+ "name": "usine_repository_label_projections_pk",
1344
+ "table": "usine_repository_label_projections",
1345
+ "entityType": "pks"
1346
+ },
1347
+ {
1348
+ "columns": ["run_id"],
1349
+ "nameExplicit": false,
1350
+ "name": "usine_runs_pk",
1351
+ "table": "usine_runs",
1352
+ "entityType": "pks"
1353
+ },
1354
+ {
1355
+ "columns": ["event_id"],
1356
+ "nameExplicit": false,
1357
+ "name": "usine_trigger_events_pk",
1358
+ "table": "usine_trigger_events",
1359
+ "entityType": "pks"
1360
+ },
1361
+ {
1362
+ "columns": [
1363
+ {
1364
+ "value": "attempt_id",
1365
+ "isExpression": false
1366
+ },
1367
+ {
1368
+ "value": "direction",
1369
+ "isExpression": false
1370
+ },
1371
+ {
1372
+ "value": "channel_sequence",
1373
+ "isExpression": false
1374
+ }
1375
+ ],
1376
+ "isUnique": true,
1377
+ "where": null,
1378
+ "origin": "manual",
1379
+ "name": "usine_attempt_transcript_envelope",
1380
+ "entityType": "indexes",
1381
+ "table": "usine_attempt_transcripts"
1382
+ },
1383
+ {
1384
+ "columns": [
1385
+ {
1386
+ "value": "attempt_id",
1387
+ "isExpression": false
1388
+ },
1389
+ {
1390
+ "value": "sequence",
1391
+ "isExpression": false
1392
+ }
1393
+ ],
1394
+ "isUnique": false,
1395
+ "where": null,
1396
+ "origin": "manual",
1397
+ "name": "usine_attempt_transcript_tail",
1398
+ "entityType": "indexes",
1399
+ "table": "usine_attempt_transcripts"
1400
+ },
1401
+ {
1402
+ "columns": [
1403
+ {
1404
+ "value": "run_id",
1405
+ "isExpression": false
1406
+ },
1407
+ {
1408
+ "value": "step_name",
1409
+ "isExpression": false
1410
+ },
1411
+ {
1412
+ "value": "attempt_number",
1413
+ "isExpression": false
1414
+ }
1415
+ ],
1416
+ "isUnique": true,
1417
+ "where": null,
1418
+ "origin": "manual",
1419
+ "name": "usine_attempt_number",
1420
+ "entityType": "indexes",
1421
+ "table": "usine_attempts"
1422
+ },
1423
+ {
1424
+ "columns": [
1425
+ {
1426
+ "value": "run_id",
1427
+ "isExpression": false
1428
+ }
1429
+ ],
1430
+ "isUnique": true,
1431
+ "where": "\"usine_attempts\".\"outcome_json\" is null",
1432
+ "origin": "manual",
1433
+ "name": "usine_one_in_flight_attempt",
1434
+ "entityType": "indexes",
1435
+ "table": "usine_attempts"
1436
+ },
1437
+ {
1438
+ "columns": [
1439
+ {
1440
+ "value": "item_key",
1441
+ "isExpression": false
1442
+ },
1443
+ {
1444
+ "value": "moved_at",
1445
+ "isExpression": false
1446
+ }
1447
+ ],
1448
+ "isUnique": false,
1449
+ "where": null,
1450
+ "origin": "manual",
1451
+ "name": "usine_board_moves_item",
1452
+ "entityType": "indexes",
1453
+ "table": "usine_board_moves"
1454
+ },
1455
+ {
1456
+ "columns": [
1457
+ {
1458
+ "value": "item_key",
1459
+ "isExpression": false
1460
+ },
1461
+ {
1462
+ "value": "generation",
1463
+ "isExpression": false
1464
+ },
1465
+ {
1466
+ "value": "loop",
1467
+ "isExpression": false
1468
+ }
1469
+ ],
1470
+ "isUnique": false,
1471
+ "where": null,
1472
+ "origin": "manual",
1473
+ "name": "usine_cycle_reservations_item",
1474
+ "entityType": "indexes",
1475
+ "table": "usine_cycle_reservations"
1476
+ },
1477
+ {
1478
+ "columns": [
1479
+ {
1480
+ "value": "repository",
1481
+ "isExpression": false
1482
+ },
1483
+ {
1484
+ "value": "item_number",
1485
+ "isExpression": false
1486
+ }
1487
+ ],
1488
+ "isUnique": true,
1489
+ "where": null,
1490
+ "origin": "manual",
1491
+ "name": "usine_item_projection_number",
1492
+ "entityType": "indexes",
1493
+ "table": "usine_item_projections"
1494
+ },
1495
+ {
1496
+ "columns": [
1497
+ {
1498
+ "value": "loop_name",
1499
+ "isExpression": false
1500
+ },
1501
+ {
1502
+ "value": "item_key",
1503
+ "isExpression": false
1504
+ }
1505
+ ],
1506
+ "isUnique": false,
1507
+ "where": null,
1508
+ "origin": "manual",
1509
+ "name": "usine_trigger_events_item",
1510
+ "entityType": "indexes",
1511
+ "table": "usine_trigger_events"
1512
+ },
1513
+ {
1514
+ "columns": [
1515
+ {
1516
+ "value": "item_key",
1517
+ "isExpression": false
1518
+ }
1519
+ ],
1520
+ "isUnique": false,
1521
+ "where": null,
1522
+ "origin": "manual",
1523
+ "name": "usine_trigger_events_item_history",
1524
+ "entityType": "indexes",
1525
+ "table": "usine_trigger_events"
1526
+ },
1527
+ {
1528
+ "columns": [
1529
+ {
1530
+ "value": "reopens_event_id",
1531
+ "isExpression": false
1532
+ },
1533
+ {
1534
+ "value": "reopening",
1535
+ "isExpression": false
1536
+ }
1537
+ ],
1538
+ "isUnique": true,
1539
+ "where": null,
1540
+ "origin": "manual",
1541
+ "name": "usine_trigger_event_reopening",
1542
+ "entityType": "indexes",
1543
+ "table": "usine_trigger_events"
1544
+ },
1545
+ {
1546
+ "columns": ["event_id"],
1547
+ "nameExplicit": false,
1548
+ "name": "usine_approvals_event_id_unique",
1549
+ "entityType": "uniques",
1550
+ "table": "usine_approvals"
1551
+ },
1552
+ {
1553
+ "columns": ["event_id"],
1554
+ "nameExplicit": false,
1555
+ "name": "usine_cycle_resets_event_id_unique",
1556
+ "entityType": "uniques",
1557
+ "table": "usine_cycle_resets"
1558
+ },
1559
+ {
1560
+ "columns": ["dedup_key"],
1561
+ "nameExplicit": false,
1562
+ "name": "usine_events_dedup_key_unique",
1563
+ "entityType": "uniques",
1564
+ "table": "usine_events"
1565
+ },
1566
+ {
1567
+ "columns": ["event_id"],
1568
+ "nameExplicit": false,
1569
+ "name": "usine_runs_event_id_unique",
1570
+ "entityType": "uniques",
1571
+ "table": "usine_runs"
1572
+ },
1573
+ {
1574
+ "value": "(\"channel\" is null and \"approver\" is null) or \"channel\" = 'ui' or (\"channel\" = 'github-ask' and \"approver\" is not null)",
1575
+ "name": "usine_approvals_source",
1576
+ "entityType": "checks",
1577
+ "table": "usine_approvals"
1578
+ },
1579
+ {
1580
+ "value": "\"direction\" in ('inbound', 'outbound')",
1581
+ "name": "usine_attempt_transcripts_direction",
1582
+ "entityType": "checks",
1583
+ "table": "usine_attempt_transcripts"
1584
+ },
1585
+ {
1586
+ "value": "\"channel_sequence\" >= 1",
1587
+ "name": "usine_attempt_transcripts_sequence",
1588
+ "entityType": "checks",
1589
+ "table": "usine_attempt_transcripts"
1590
+ },
1591
+ {
1592
+ "value": "json_valid(\"envelope\")",
1593
+ "name": "usine_attempt_transcripts_envelope_json_valid",
1594
+ "entityType": "checks",
1595
+ "table": "usine_attempt_transcripts"
1596
+ },
1597
+ {
1598
+ "value": "\"attempt_number\" >= 1",
1599
+ "name": "usine_attempts_number",
1600
+ "entityType": "checks",
1601
+ "table": "usine_attempts"
1602
+ },
1603
+ {
1604
+ "value": "json_valid(\"brain_json\")",
1605
+ "name": "usine_attempts_brain_json_valid",
1606
+ "entityType": "checks",
1607
+ "table": "usine_attempts"
1608
+ },
1609
+ {
1610
+ "value": "\"outcome_json\" is null or json_valid(\"outcome_json\")",
1611
+ "name": "usine_attempts_outcome_json_valid",
1612
+ "entityType": "checks",
1613
+ "table": "usine_attempts"
1614
+ },
1615
+ {
1616
+ "value": "\"salvage_json\" is null or json_valid(\"salvage_json\")",
1617
+ "name": "usine_attempts_salvage_json_valid",
1618
+ "entityType": "checks",
1619
+ "table": "usine_attempts"
1620
+ },
1621
+ {
1622
+ "value": "json_valid(\"added_json\")",
1623
+ "name": "usine_board_moves_added_json_valid",
1624
+ "entityType": "checks",
1625
+ "table": "usine_board_moves"
1626
+ },
1627
+ {
1628
+ "value": "json_valid(\"removed_json\")",
1629
+ "name": "usine_board_moves_removed_json_valid",
1630
+ "entityType": "checks",
1631
+ "table": "usine_board_moves"
1632
+ },
1633
+ {
1634
+ "value": "json_valid(\"value_json\")",
1635
+ "name": "usine_cursors_value_json_valid",
1636
+ "entityType": "checks",
1637
+ "table": "usine_cursors"
1638
+ },
1639
+ {
1640
+ "value": "\"generation\" >= 0",
1641
+ "name": "usine_cycle_reservations_generation",
1642
+ "entityType": "checks",
1643
+ "table": "usine_cycle_reservations"
1644
+ },
1645
+ {
1646
+ "value": "json_valid(\"payload_json\")",
1647
+ "name": "usine_events_payload_json_valid",
1648
+ "entityType": "checks",
1649
+ "table": "usine_events"
1650
+ },
1651
+ {
1652
+ "value": "\"reason\" in ('superseded', 'revoked')",
1653
+ "name": "usine_ignored_events_reason",
1654
+ "entityType": "checks",
1655
+ "table": "usine_ignored_events"
1656
+ },
1657
+ {
1658
+ "value": "\"generation\" >= 0",
1659
+ "name": "usine_item_cycle_generation",
1660
+ "entityType": "checks",
1661
+ "table": "usine_item_cycle_budgets"
1662
+ },
1663
+ {
1664
+ "value": "\"ask_json\" is null or json_valid(\"ask_json\")",
1665
+ "name": "usine_item_cycle_ask_json",
1666
+ "entityType": "checks",
1667
+ "table": "usine_item_cycle_budgets"
1668
+ },
1669
+ {
1670
+ "value": "\"item_number\" >= 1",
1671
+ "name": "usine_item_projections_number",
1672
+ "entityType": "checks",
1673
+ "table": "usine_item_projections"
1674
+ },
1675
+ {
1676
+ "value": "json_valid(\"payload_json\")",
1677
+ "name": "usine_item_projections_payload_json_valid",
1678
+ "entityType": "checks",
1679
+ "table": "usine_item_projections"
1680
+ },
1681
+ {
1682
+ "value": "\"singleton\" = 1",
1683
+ "name": "usine_projection_revision_singleton",
1684
+ "entityType": "checks",
1685
+ "table": "usine_projection_revision"
1686
+ },
1687
+ {
1688
+ "value": "json_valid(\"labels_json\")",
1689
+ "name": "usine_repository_label_projections_labels_json_valid",
1690
+ "entityType": "checks",
1691
+ "table": "usine_repository_label_projections"
1692
+ },
1693
+ {
1694
+ "value": "json_valid(\"state_json\")",
1695
+ "name": "usine_runs_state_json_valid",
1696
+ "entityType": "checks",
1697
+ "table": "usine_runs"
1698
+ },
1699
+ {
1700
+ "value": "json_valid(\"agent_json\")",
1701
+ "name": "usine_runs_agent_json_valid",
1702
+ "entityType": "checks",
1703
+ "table": "usine_runs"
1704
+ },
1705
+ {
1706
+ "value": "\"result\" is null or json_valid(\"result\")",
1707
+ "name": "usine_steps_result_json_valid",
1708
+ "entityType": "checks",
1709
+ "table": "usine_steps"
1710
+ },
1711
+ {
1712
+ "value": "\"approval\" in ('none', 'required')",
1713
+ "name": "usine_trigger_events_approval",
1714
+ "entityType": "checks",
1715
+ "table": "usine_trigger_events"
1716
+ },
1717
+ {
1718
+ "value": "\"cycle_limit\" is null or \"cycle_limit\" >= 1",
1719
+ "name": "usine_trigger_events_cycle_limit",
1720
+ "entityType": "checks",
1721
+ "table": "usine_trigger_events"
1722
+ },
1723
+ {
1724
+ "value": "json_valid(\"agent_json\")",
1725
+ "name": "usine_trigger_events_agent_json_valid",
1726
+ "entityType": "checks",
1727
+ "table": "usine_trigger_events"
1728
+ }
1729
+ ],
1730
+ "renames": []
1731
+ }