@shipfox/api-runners 10.0.0 → 10.2.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 (118) hide show
  1. package/.turbo/turbo-build.log +4 -4
  2. package/CHANGELOG.md +28 -0
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +8 -13
  5. package/dist/config.js.map +1 -1
  6. package/dist/core/admin-runner-instances.d.ts +34 -0
  7. package/dist/core/admin-runner-instances.d.ts.map +1 -0
  8. package/dist/core/admin-runner-instances.js +58 -0
  9. package/dist/core/admin-runner-instances.js.map +1 -0
  10. package/dist/core/errors.d.ts +6 -0
  11. package/dist/core/errors.d.ts.map +1 -1
  12. package/dist/core/errors.js +12 -0
  13. package/dist/core/errors.js.map +1 -1
  14. package/dist/core/index.d.ts +3 -2
  15. package/dist/core/index.d.ts.map +1 -1
  16. package/dist/core/index.js +3 -2
  17. package/dist/core/index.js.map +1 -1
  18. package/dist/core/provisioner-tokens.d.ts +33 -0
  19. package/dist/core/provisioner-tokens.d.ts.map +1 -1
  20. package/dist/core/provisioner-tokens.js +107 -2
  21. package/dist/core/provisioner-tokens.js.map +1 -1
  22. package/dist/db/admin-runner-instances.d.ts +34 -0
  23. package/dist/db/admin-runner-instances.d.ts.map +1 -0
  24. package/dist/db/admin-runner-instances.js +62 -0
  25. package/dist/db/admin-runner-instances.js.map +1 -0
  26. package/dist/db/db.d.ts +290 -0
  27. package/dist/db/db.d.ts.map +1 -1
  28. package/dist/db/db.js +2 -0
  29. package/dist/db/db.js.map +1 -1
  30. package/dist/db/index.d.ts +3 -1
  31. package/dist/db/index.d.ts.map +1 -1
  32. package/dist/db/index.js +2 -1
  33. package/dist/db/index.js.map +1 -1
  34. package/dist/db/job-executions.d.ts.map +1 -1
  35. package/dist/db/job-executions.js +11 -0
  36. package/dist/db/job-executions.js.map +1 -1
  37. package/dist/db/provisioner-tokens.d.ts +38 -0
  38. package/dist/db/provisioner-tokens.d.ts.map +1 -1
  39. package/dist/db/provisioner-tokens.js +157 -3
  40. package/dist/db/provisioner-tokens.js.map +1 -1
  41. package/dist/db/reservations.d.ts.map +1 -1
  42. package/dist/db/reservations.js +60 -8
  43. package/dist/db/reservations.js.map +1 -1
  44. package/dist/db/schema/admin-command-results.d.ts +134 -0
  45. package/dist/db/schema/admin-command-results.d.ts.map +1 -0
  46. package/dist/db/schema/admin-command-results.js +18 -0
  47. package/dist/db/schema/admin-command-results.js.map +1 -0
  48. package/dist/db/schema/runner-instances.d.ts +17 -0
  49. package/dist/db/schema/runner-instances.d.ts.map +1 -1
  50. package/dist/db/schema/runner-instances.js +3 -0
  51. package/dist/db/schema/runner-instances.js.map +1 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +6 -1
  54. package/dist/index.js.map +1 -1
  55. package/dist/presentation/dto/admin-provisioner-token.d.ts +16 -0
  56. package/dist/presentation/dto/admin-provisioner-token.d.ts.map +1 -0
  57. package/dist/presentation/dto/admin-provisioner-token.js +22 -0
  58. package/dist/presentation/dto/admin-provisioner-token.js.map +1 -0
  59. package/dist/presentation/dto/admin-runner-instances.d.ts +23 -0
  60. package/dist/presentation/dto/admin-runner-instances.d.ts.map +1 -0
  61. package/dist/presentation/dto/admin-runner-instances.js +19 -0
  62. package/dist/presentation/dto/admin-runner-instances.js.map +1 -0
  63. package/dist/presentation/dto/index.d.ts +2 -0
  64. package/dist/presentation/dto/index.d.ts.map +1 -1
  65. package/dist/presentation/dto/index.js +2 -0
  66. package/dist/presentation/dto/index.js.map +1 -1
  67. package/dist/presentation/routes/admin-provisioner-tokens.d.ts +4 -0
  68. package/dist/presentation/routes/admin-provisioner-tokens.d.ts.map +1 -0
  69. package/dist/presentation/routes/admin-provisioner-tokens.js +167 -0
  70. package/dist/presentation/routes/admin-provisioner-tokens.js.map +1 -0
  71. package/dist/presentation/routes/admin-runner-instances.d.ts +3 -0
  72. package/dist/presentation/routes/admin-runner-instances.d.ts.map +1 -0
  73. package/dist/presentation/routes/admin-runner-instances.js +63 -0
  74. package/dist/presentation/routes/admin-runner-instances.js.map +1 -0
  75. package/dist/presentation/routes/index.d.ts.map +1 -1
  76. package/dist/presentation/routes/index.js +11 -1
  77. package/dist/presentation/routes/index.js.map +1 -1
  78. package/dist/presentation/routes/runner-enrollment.d.ts +1 -0
  79. package/dist/presentation/routes/runner-enrollment.d.ts.map +1 -1
  80. package/dist/presentation/routes/runner-enrollment.js +11 -4
  81. package/dist/presentation/routes/runner-enrollment.js.map +1 -1
  82. package/dist/tsconfig.test.tsbuildinfo +1 -1
  83. package/drizzle/0002_special_shadowcat.sql +1 -0
  84. package/drizzle/0003_flaky_sally_floyd.sql +11 -0
  85. package/drizzle/meta/0002_snapshot.json +2099 -0
  86. package/drizzle/meta/0003_snapshot.json +2178 -0
  87. package/drizzle/meta/_journal.json +14 -0
  88. package/package.json +10 -9
  89. package/src/config.test.ts +11 -0
  90. package/src/config.ts +19 -8
  91. package/src/core/admin-runner-instances.ts +125 -0
  92. package/src/core/errors.ts +14 -0
  93. package/src/core/index.ts +12 -0
  94. package/src/core/provisioner-tokens.ts +157 -1
  95. package/src/db/admin-runner-instances.ts +121 -0
  96. package/src/db/db.ts +2 -0
  97. package/src/db/index.ts +10 -0
  98. package/src/db/job-executions.test.ts +17 -0
  99. package/src/db/job-executions.ts +22 -0
  100. package/src/db/provisioner-tokens.ts +263 -9
  101. package/src/db/reservations.test.ts +253 -0
  102. package/src/db/reservations.ts +170 -15
  103. package/src/db/schema/admin-command-results.ts +29 -0
  104. package/src/db/schema/runner-instances.ts +1 -0
  105. package/src/index.test.ts +1 -1
  106. package/src/index.ts +6 -1
  107. package/src/presentation/dto/admin-provisioner-token.ts +23 -0
  108. package/src/presentation/dto/admin-runner-instances.ts +19 -0
  109. package/src/presentation/dto/index.ts +2 -0
  110. package/src/presentation/routes/admin-provisioner-tokens.test.ts +227 -0
  111. package/src/presentation/routes/admin-provisioner-tokens.ts +177 -0
  112. package/src/presentation/routes/admin-runner-instances.test.ts +671 -0
  113. package/src/presentation/routes/admin-runner-instances.ts +67 -0
  114. package/src/presentation/routes/index.ts +8 -0
  115. package/src/presentation/routes/runner-enrollment.test.ts +60 -2
  116. package/src/presentation/routes/runner-enrollment.ts +24 -4
  117. package/test/globalSetup.ts +1 -0
  118. package/tsconfig.build.tsbuildinfo +1 -1
@@ -0,0 +1,2178 @@
1
+ {
2
+ "id": "c9034ead-e269-4022-bc05-ea5b2fd36f6d",
3
+ "prevId": "3609bb76-2973-4692-a383-fabacc26f791",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.runners_admin_command_results": {
8
+ "name": "runners_admin_command_results",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "uuid",
14
+ "primaryKey": true,
15
+ "notNull": true,
16
+ "default": "uuidv7()"
17
+ },
18
+ "actor_id": {
19
+ "name": "actor_id",
20
+ "type": "uuid",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "idempotency_key_fingerprint": {
25
+ "name": "idempotency_key_fingerprint",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "command": {
31
+ "name": "command",
32
+ "type": "text",
33
+ "primaryKey": false,
34
+ "notNull": true
35
+ },
36
+ "request_fingerprint": {
37
+ "name": "request_fingerprint",
38
+ "type": "text",
39
+ "primaryKey": false,
40
+ "notNull": true
41
+ },
42
+ "result": {
43
+ "name": "result",
44
+ "type": "jsonb",
45
+ "primaryKey": false,
46
+ "notNull": true
47
+ },
48
+ "created_at": {
49
+ "name": "created_at",
50
+ "type": "timestamp with time zone",
51
+ "primaryKey": false,
52
+ "notNull": true,
53
+ "default": "now()"
54
+ }
55
+ },
56
+ "indexes": {
57
+ "runners_admin_command_results_actor_key_unique": {
58
+ "name": "runners_admin_command_results_actor_key_unique",
59
+ "columns": [
60
+ {
61
+ "expression": "actor_id",
62
+ "isExpression": false,
63
+ "asc": true,
64
+ "nulls": "last"
65
+ },
66
+ {
67
+ "expression": "idempotency_key_fingerprint",
68
+ "isExpression": false,
69
+ "asc": true,
70
+ "nulls": "last"
71
+ }
72
+ ],
73
+ "isUnique": true,
74
+ "concurrently": false,
75
+ "method": "btree",
76
+ "with": {}
77
+ }
78
+ },
79
+ "foreignKeys": {},
80
+ "compositePrimaryKeys": {},
81
+ "uniqueConstraints": {},
82
+ "policies": {},
83
+ "checkConstraints": {},
84
+ "isRLSEnabled": false
85
+ },
86
+ "public.runners_ephemeral_registration_tokens": {
87
+ "name": "runners_ephemeral_registration_tokens",
88
+ "schema": "",
89
+ "columns": {
90
+ "id": {
91
+ "name": "id",
92
+ "type": "uuid",
93
+ "primaryKey": true,
94
+ "notNull": true,
95
+ "default": "uuidv7()"
96
+ },
97
+ "workspace_id": {
98
+ "name": "workspace_id",
99
+ "type": "uuid",
100
+ "primaryKey": false,
101
+ "notNull": true
102
+ },
103
+ "provisioner_id": {
104
+ "name": "provisioner_id",
105
+ "type": "uuid",
106
+ "primaryKey": false,
107
+ "notNull": true
108
+ },
109
+ "reservation_id": {
110
+ "name": "reservation_id",
111
+ "type": "uuid",
112
+ "primaryKey": false,
113
+ "notNull": false
114
+ },
115
+ "provider_runner_id": {
116
+ "name": "provider_runner_id",
117
+ "type": "text",
118
+ "primaryKey": false,
119
+ "notNull": true
120
+ },
121
+ "hashed_token": {
122
+ "name": "hashed_token",
123
+ "type": "text",
124
+ "primaryKey": false,
125
+ "notNull": true
126
+ },
127
+ "prefix": {
128
+ "name": "prefix",
129
+ "type": "text",
130
+ "primaryKey": false,
131
+ "notNull": true
132
+ },
133
+ "expires_at": {
134
+ "name": "expires_at",
135
+ "type": "timestamp with time zone",
136
+ "primaryKey": false,
137
+ "notNull": true
138
+ },
139
+ "consumed_at": {
140
+ "name": "consumed_at",
141
+ "type": "timestamp with time zone",
142
+ "primaryKey": false,
143
+ "notNull": false
144
+ },
145
+ "consumed_session_id": {
146
+ "name": "consumed_session_id",
147
+ "type": "uuid",
148
+ "primaryKey": false,
149
+ "notNull": false
150
+ },
151
+ "created_at": {
152
+ "name": "created_at",
153
+ "type": "timestamp with time zone",
154
+ "primaryKey": false,
155
+ "notNull": true,
156
+ "default": "now()"
157
+ }
158
+ },
159
+ "indexes": {
160
+ "runners_ephemeral_registration_tokens_hashed_token_unique": {
161
+ "name": "runners_ephemeral_registration_tokens_hashed_token_unique",
162
+ "columns": [
163
+ {
164
+ "expression": "hashed_token",
165
+ "isExpression": false,
166
+ "asc": true,
167
+ "nulls": "last"
168
+ }
169
+ ],
170
+ "isUnique": true,
171
+ "concurrently": false,
172
+ "method": "btree",
173
+ "with": {}
174
+ },
175
+ "runners_ephemeral_registration_tokens_reservation_id_idx": {
176
+ "name": "runners_ephemeral_registration_tokens_reservation_id_idx",
177
+ "columns": [
178
+ {
179
+ "expression": "reservation_id",
180
+ "isExpression": false,
181
+ "asc": true,
182
+ "nulls": "last"
183
+ }
184
+ ],
185
+ "isUnique": false,
186
+ "concurrently": false,
187
+ "method": "btree",
188
+ "with": {}
189
+ },
190
+ "runners_ephemeral_registration_tokens_active_provider_runner_idx": {
191
+ "name": "runners_ephemeral_registration_tokens_active_provider_runner_idx",
192
+ "columns": [
193
+ {
194
+ "expression": "workspace_id",
195
+ "isExpression": false,
196
+ "asc": true,
197
+ "nulls": "last"
198
+ },
199
+ {
200
+ "expression": "provisioner_id",
201
+ "isExpression": false,
202
+ "asc": true,
203
+ "nulls": "last"
204
+ },
205
+ {
206
+ "expression": "provider_runner_id",
207
+ "isExpression": false,
208
+ "asc": true,
209
+ "nulls": "last"
210
+ },
211
+ {
212
+ "expression": "consumed_at",
213
+ "isExpression": false,
214
+ "asc": true,
215
+ "nulls": "last"
216
+ },
217
+ {
218
+ "expression": "expires_at",
219
+ "isExpression": false,
220
+ "asc": true,
221
+ "nulls": "last"
222
+ }
223
+ ],
224
+ "isUnique": false,
225
+ "concurrently": false,
226
+ "method": "btree",
227
+ "with": {}
228
+ },
229
+ "runners_ephemeral_registration_tokens_terminal_idx": {
230
+ "name": "runners_ephemeral_registration_tokens_terminal_idx",
231
+ "columns": [
232
+ {
233
+ "expression": "coalesce(\"consumed_at\", \"expires_at\")",
234
+ "asc": true,
235
+ "isExpression": true,
236
+ "nulls": "last"
237
+ },
238
+ {
239
+ "expression": "id",
240
+ "isExpression": false,
241
+ "asc": true,
242
+ "nulls": "last"
243
+ }
244
+ ],
245
+ "isUnique": false,
246
+ "concurrently": false,
247
+ "method": "btree",
248
+ "with": {}
249
+ }
250
+ },
251
+ "foreignKeys": {},
252
+ "compositePrimaryKeys": {},
253
+ "uniqueConstraints": {},
254
+ "policies": {},
255
+ "checkConstraints": {},
256
+ "isRLSEnabled": false
257
+ },
258
+ "public.runners_manual_registration_tokens": {
259
+ "name": "runners_manual_registration_tokens",
260
+ "schema": "",
261
+ "columns": {
262
+ "id": {
263
+ "name": "id",
264
+ "type": "uuid",
265
+ "primaryKey": true,
266
+ "notNull": true,
267
+ "default": "uuidv7()"
268
+ },
269
+ "workspace_id": {
270
+ "name": "workspace_id",
271
+ "type": "uuid",
272
+ "primaryKey": false,
273
+ "notNull": true
274
+ },
275
+ "hashed_token": {
276
+ "name": "hashed_token",
277
+ "type": "text",
278
+ "primaryKey": false,
279
+ "notNull": true
280
+ },
281
+ "prefix": {
282
+ "name": "prefix",
283
+ "type": "text",
284
+ "primaryKey": false,
285
+ "notNull": true
286
+ },
287
+ "name": {
288
+ "name": "name",
289
+ "type": "text",
290
+ "primaryKey": false,
291
+ "notNull": false
292
+ },
293
+ "expires_at": {
294
+ "name": "expires_at",
295
+ "type": "timestamp with time zone",
296
+ "primaryKey": false,
297
+ "notNull": false
298
+ },
299
+ "revoked_at": {
300
+ "name": "revoked_at",
301
+ "type": "timestamp with time zone",
302
+ "primaryKey": false,
303
+ "notNull": false
304
+ },
305
+ "created_at": {
306
+ "name": "created_at",
307
+ "type": "timestamp with time zone",
308
+ "primaryKey": false,
309
+ "notNull": true,
310
+ "default": "now()"
311
+ },
312
+ "updated_at": {
313
+ "name": "updated_at",
314
+ "type": "timestamp with time zone",
315
+ "primaryKey": false,
316
+ "notNull": true,
317
+ "default": "now()"
318
+ }
319
+ },
320
+ "indexes": {
321
+ "runners_manual_registration_tokens_hashed_token_unique": {
322
+ "name": "runners_manual_registration_tokens_hashed_token_unique",
323
+ "columns": [
324
+ {
325
+ "expression": "hashed_token",
326
+ "isExpression": false,
327
+ "asc": true,
328
+ "nulls": "last"
329
+ }
330
+ ],
331
+ "isUnique": true,
332
+ "concurrently": false,
333
+ "method": "btree",
334
+ "with": {}
335
+ },
336
+ "runners_manual_registration_tokens_workspace_id_idx": {
337
+ "name": "runners_manual_registration_tokens_workspace_id_idx",
338
+ "columns": [
339
+ {
340
+ "expression": "workspace_id",
341
+ "isExpression": false,
342
+ "asc": true,
343
+ "nulls": "last"
344
+ }
345
+ ],
346
+ "isUnique": false,
347
+ "concurrently": false,
348
+ "method": "btree",
349
+ "with": {}
350
+ }
351
+ },
352
+ "foreignKeys": {},
353
+ "compositePrimaryKeys": {},
354
+ "uniqueConstraints": {},
355
+ "policies": {},
356
+ "checkConstraints": {},
357
+ "isRLSEnabled": false
358
+ },
359
+ "public.runners_outbox": {
360
+ "name": "runners_outbox",
361
+ "schema": "",
362
+ "columns": {
363
+ "id": {
364
+ "name": "id",
365
+ "type": "uuid",
366
+ "primaryKey": true,
367
+ "notNull": true,
368
+ "default": "uuidv7()"
369
+ },
370
+ "event_type": {
371
+ "name": "event_type",
372
+ "type": "text",
373
+ "primaryKey": false,
374
+ "notNull": true
375
+ },
376
+ "ordering_key": {
377
+ "name": "ordering_key",
378
+ "type": "text",
379
+ "primaryKey": false,
380
+ "notNull": false
381
+ },
382
+ "payload": {
383
+ "name": "payload",
384
+ "type": "jsonb",
385
+ "primaryKey": false,
386
+ "notNull": true
387
+ },
388
+ "created_at": {
389
+ "name": "created_at",
390
+ "type": "timestamp with time zone",
391
+ "primaryKey": false,
392
+ "notNull": true,
393
+ "default": "now()"
394
+ },
395
+ "dispatched_at": {
396
+ "name": "dispatched_at",
397
+ "type": "timestamp with time zone",
398
+ "primaryKey": false,
399
+ "notNull": false
400
+ },
401
+ "dispatch_attempts": {
402
+ "name": "dispatch_attempts",
403
+ "type": "integer",
404
+ "primaryKey": false,
405
+ "notNull": true,
406
+ "default": 0
407
+ },
408
+ "next_dispatch_at": {
409
+ "name": "next_dispatch_at",
410
+ "type": "timestamp with time zone",
411
+ "primaryKey": false,
412
+ "notNull": true,
413
+ "default": "now()"
414
+ },
415
+ "last_dispatch_error": {
416
+ "name": "last_dispatch_error",
417
+ "type": "jsonb",
418
+ "primaryKey": false,
419
+ "notNull": false
420
+ },
421
+ "last_dispatch_failed_at": {
422
+ "name": "last_dispatch_failed_at",
423
+ "type": "timestamp with time zone",
424
+ "primaryKey": false,
425
+ "notNull": false
426
+ },
427
+ "dead_lettered_at": {
428
+ "name": "dead_lettered_at",
429
+ "type": "timestamp with time zone",
430
+ "primaryKey": false,
431
+ "notNull": false
432
+ }
433
+ },
434
+ "indexes": {
435
+ "runners_outbox_pending_idx": {
436
+ "name": "runners_outbox_pending_idx",
437
+ "columns": [
438
+ {
439
+ "expression": "next_dispatch_at",
440
+ "isExpression": false,
441
+ "asc": true,
442
+ "nulls": "last"
443
+ },
444
+ {
445
+ "expression": "created_at",
446
+ "isExpression": false,
447
+ "asc": true,
448
+ "nulls": "last"
449
+ }
450
+ ],
451
+ "isUnique": false,
452
+ "where": "\"dispatched_at\" IS NULL AND \"dead_lettered_at\" IS NULL",
453
+ "concurrently": false,
454
+ "method": "btree",
455
+ "with": {}
456
+ },
457
+ "runners_outbox_dispatched_retention_idx": {
458
+ "name": "runners_outbox_dispatched_retention_idx",
459
+ "columns": [
460
+ {
461
+ "expression": "dispatched_at",
462
+ "isExpression": false,
463
+ "asc": true,
464
+ "nulls": "last"
465
+ },
466
+ {
467
+ "expression": "id",
468
+ "isExpression": false,
469
+ "asc": true,
470
+ "nulls": "last"
471
+ }
472
+ ],
473
+ "isUnique": false,
474
+ "where": "\"dispatched_at\" IS NOT NULL",
475
+ "concurrently": false,
476
+ "method": "btree",
477
+ "with": {}
478
+ }
479
+ },
480
+ "foreignKeys": {},
481
+ "compositePrimaryKeys": {},
482
+ "uniqueConstraints": {},
483
+ "policies": {},
484
+ "checkConstraints": {},
485
+ "isRLSEnabled": false
486
+ },
487
+ "public.runners_pending_jobs": {
488
+ "name": "runners_pending_jobs",
489
+ "schema": "",
490
+ "columns": {
491
+ "id": {
492
+ "name": "id",
493
+ "type": "uuid",
494
+ "primaryKey": true,
495
+ "notNull": true,
496
+ "default": "uuidv7()"
497
+ },
498
+ "workspace_id": {
499
+ "name": "workspace_id",
500
+ "type": "uuid",
501
+ "primaryKey": false,
502
+ "notNull": true
503
+ },
504
+ "workflow_run_id": {
505
+ "name": "workflow_run_id",
506
+ "type": "uuid",
507
+ "primaryKey": false,
508
+ "notNull": true
509
+ },
510
+ "workflow_run_attempt_id": {
511
+ "name": "workflow_run_attempt_id",
512
+ "type": "uuid",
513
+ "primaryKey": false,
514
+ "notNull": true
515
+ },
516
+ "job_id": {
517
+ "name": "job_id",
518
+ "type": "uuid",
519
+ "primaryKey": false,
520
+ "notNull": true
521
+ },
522
+ "job_execution_id": {
523
+ "name": "job_execution_id",
524
+ "type": "uuid",
525
+ "primaryKey": false,
526
+ "notNull": true
527
+ },
528
+ "project_id": {
529
+ "name": "project_id",
530
+ "type": "uuid",
531
+ "primaryKey": false,
532
+ "notNull": true
533
+ },
534
+ "required_labels": {
535
+ "name": "required_labels",
536
+ "type": "text[]",
537
+ "primaryKey": false,
538
+ "notNull": true
539
+ },
540
+ "created_at": {
541
+ "name": "created_at",
542
+ "type": "timestamp with time zone",
543
+ "primaryKey": false,
544
+ "notNull": true,
545
+ "default": "now()"
546
+ }
547
+ },
548
+ "indexes": {
549
+ "runners_pending_jobs_workspace_created_idx": {
550
+ "name": "runners_pending_jobs_workspace_created_idx",
551
+ "columns": [
552
+ {
553
+ "expression": "workspace_id",
554
+ "isExpression": false,
555
+ "asc": true,
556
+ "nulls": "last"
557
+ },
558
+ {
559
+ "expression": "created_at",
560
+ "isExpression": false,
561
+ "asc": true,
562
+ "nulls": "last"
563
+ }
564
+ ],
565
+ "isUnique": false,
566
+ "concurrently": false,
567
+ "method": "btree",
568
+ "with": {}
569
+ },
570
+ "runners_pending_jobs_job_id_idx": {
571
+ "name": "runners_pending_jobs_job_id_idx",
572
+ "columns": [
573
+ {
574
+ "expression": "job_id",
575
+ "isExpression": false,
576
+ "asc": true,
577
+ "nulls": "last"
578
+ }
579
+ ],
580
+ "isUnique": false,
581
+ "concurrently": false,
582
+ "method": "btree",
583
+ "with": {}
584
+ }
585
+ },
586
+ "foreignKeys": {},
587
+ "compositePrimaryKeys": {},
588
+ "uniqueConstraints": {
589
+ "runners_pending_jobs_job_execution_id_unique": {
590
+ "name": "runners_pending_jobs_job_execution_id_unique",
591
+ "nullsNotDistinct": false,
592
+ "columns": ["job_execution_id"]
593
+ }
594
+ },
595
+ "policies": {},
596
+ "checkConstraints": {},
597
+ "isRLSEnabled": false
598
+ },
599
+ "public.runners_provisioner_capability_snapshots": {
600
+ "name": "runners_provisioner_capability_snapshots",
601
+ "schema": "",
602
+ "columns": {
603
+ "id": {
604
+ "name": "id",
605
+ "type": "uuid",
606
+ "primaryKey": true,
607
+ "notNull": true,
608
+ "default": "uuidv7()"
609
+ },
610
+ "workspace_id": {
611
+ "name": "workspace_id",
612
+ "type": "uuid",
613
+ "primaryKey": false,
614
+ "notNull": true
615
+ },
616
+ "provisioner_id": {
617
+ "name": "provisioner_id",
618
+ "type": "uuid",
619
+ "primaryKey": false,
620
+ "notNull": true
621
+ },
622
+ "template_key": {
623
+ "name": "template_key",
624
+ "type": "text",
625
+ "primaryKey": false,
626
+ "notNull": true
627
+ },
628
+ "labels": {
629
+ "name": "labels",
630
+ "type": "text[]",
631
+ "primaryKey": false,
632
+ "notNull": true
633
+ },
634
+ "available_slots": {
635
+ "name": "available_slots",
636
+ "type": "integer",
637
+ "primaryKey": false,
638
+ "notNull": true
639
+ },
640
+ "starting": {
641
+ "name": "starting",
642
+ "type": "integer",
643
+ "primaryKey": false,
644
+ "notNull": true
645
+ },
646
+ "running": {
647
+ "name": "running",
648
+ "type": "integer",
649
+ "primaryKey": false,
650
+ "notNull": true
651
+ },
652
+ "advertised_at": {
653
+ "name": "advertised_at",
654
+ "type": "timestamp with time zone",
655
+ "primaryKey": false,
656
+ "notNull": true,
657
+ "default": "now()"
658
+ },
659
+ "created_at": {
660
+ "name": "created_at",
661
+ "type": "timestamp with time zone",
662
+ "primaryKey": false,
663
+ "notNull": true,
664
+ "default": "now()"
665
+ }
666
+ },
667
+ "indexes": {
668
+ "runners_provisioner_capability_snapshots_workspace_active_idx": {
669
+ "name": "runners_provisioner_capability_snapshots_workspace_active_idx",
670
+ "columns": [
671
+ {
672
+ "expression": "workspace_id",
673
+ "isExpression": false,
674
+ "asc": true,
675
+ "nulls": "last"
676
+ },
677
+ {
678
+ "expression": "advertised_at",
679
+ "isExpression": false,
680
+ "asc": true,
681
+ "nulls": "last"
682
+ }
683
+ ],
684
+ "isUnique": false,
685
+ "concurrently": false,
686
+ "method": "btree",
687
+ "with": {}
688
+ },
689
+ "runners_provisioner_capability_snapshots_provisioner_idx": {
690
+ "name": "runners_provisioner_capability_snapshots_provisioner_idx",
691
+ "columns": [
692
+ {
693
+ "expression": "provisioner_id",
694
+ "isExpression": false,
695
+ "asc": true,
696
+ "nulls": "last"
697
+ }
698
+ ],
699
+ "isUnique": false,
700
+ "concurrently": false,
701
+ "method": "btree",
702
+ "with": {}
703
+ }
704
+ },
705
+ "foreignKeys": {},
706
+ "compositePrimaryKeys": {},
707
+ "uniqueConstraints": {},
708
+ "policies": {},
709
+ "checkConstraints": {},
710
+ "isRLSEnabled": false
711
+ },
712
+ "public.runners_provisioner_tokens": {
713
+ "name": "runners_provisioner_tokens",
714
+ "schema": "",
715
+ "columns": {
716
+ "id": {
717
+ "name": "id",
718
+ "type": "uuid",
719
+ "primaryKey": true,
720
+ "notNull": true,
721
+ "default": "uuidv7()"
722
+ },
723
+ "scope": {
724
+ "name": "scope",
725
+ "type": "runners_provisioner_scope",
726
+ "typeSchema": "public",
727
+ "primaryKey": false,
728
+ "notNull": true
729
+ },
730
+ "workspace_id": {
731
+ "name": "workspace_id",
732
+ "type": "uuid",
733
+ "primaryKey": false,
734
+ "notNull": false
735
+ },
736
+ "hashed_token": {
737
+ "name": "hashed_token",
738
+ "type": "text",
739
+ "primaryKey": false,
740
+ "notNull": true
741
+ },
742
+ "prefix": {
743
+ "name": "prefix",
744
+ "type": "text",
745
+ "primaryKey": false,
746
+ "notNull": true
747
+ },
748
+ "name": {
749
+ "name": "name",
750
+ "type": "text",
751
+ "primaryKey": false,
752
+ "notNull": false
753
+ },
754
+ "created_by_user_id": {
755
+ "name": "created_by_user_id",
756
+ "type": "uuid",
757
+ "primaryKey": false,
758
+ "notNull": true
759
+ },
760
+ "revoked_by_user_id": {
761
+ "name": "revoked_by_user_id",
762
+ "type": "uuid",
763
+ "primaryKey": false,
764
+ "notNull": false
765
+ },
766
+ "expires_at": {
767
+ "name": "expires_at",
768
+ "type": "timestamp with time zone",
769
+ "primaryKey": false,
770
+ "notNull": false
771
+ },
772
+ "revoked_at": {
773
+ "name": "revoked_at",
774
+ "type": "timestamp with time zone",
775
+ "primaryKey": false,
776
+ "notNull": false
777
+ },
778
+ "last_seen_at": {
779
+ "name": "last_seen_at",
780
+ "type": "timestamp with time zone",
781
+ "primaryKey": false,
782
+ "notNull": false
783
+ },
784
+ "created_at": {
785
+ "name": "created_at",
786
+ "type": "timestamp with time zone",
787
+ "primaryKey": false,
788
+ "notNull": true,
789
+ "default": "now()"
790
+ },
791
+ "updated_at": {
792
+ "name": "updated_at",
793
+ "type": "timestamp with time zone",
794
+ "primaryKey": false,
795
+ "notNull": true,
796
+ "default": "now()"
797
+ }
798
+ },
799
+ "indexes": {
800
+ "runners_provisioner_tokens_hashed_token_unique": {
801
+ "name": "runners_provisioner_tokens_hashed_token_unique",
802
+ "columns": [
803
+ {
804
+ "expression": "hashed_token",
805
+ "isExpression": false,
806
+ "asc": true,
807
+ "nulls": "last"
808
+ }
809
+ ],
810
+ "isUnique": true,
811
+ "concurrently": false,
812
+ "method": "btree",
813
+ "with": {}
814
+ },
815
+ "runners_provisioner_tokens_workspace_last_seen_idx": {
816
+ "name": "runners_provisioner_tokens_workspace_last_seen_idx",
817
+ "columns": [
818
+ {
819
+ "expression": "workspace_id",
820
+ "isExpression": false,
821
+ "asc": true,
822
+ "nulls": "last"
823
+ },
824
+ {
825
+ "expression": "last_seen_at",
826
+ "isExpression": false,
827
+ "asc": false,
828
+ "nulls": "last"
829
+ },
830
+ {
831
+ "expression": "id",
832
+ "isExpression": false,
833
+ "asc": false,
834
+ "nulls": "last"
835
+ }
836
+ ],
837
+ "isUnique": false,
838
+ "concurrently": false,
839
+ "method": "btree",
840
+ "with": {}
841
+ }
842
+ },
843
+ "foreignKeys": {},
844
+ "compositePrimaryKeys": {},
845
+ "uniqueConstraints": {},
846
+ "policies": {},
847
+ "checkConstraints": {
848
+ "runners_provisioner_tokens_scope_workspace_ck": {
849
+ "name": "runners_provisioner_tokens_scope_workspace_ck",
850
+ "value": "(scope = 'workspace' AND workspace_id IS NOT NULL) OR (scope = 'installation' AND workspace_id IS NULL)"
851
+ }
852
+ },
853
+ "isRLSEnabled": false
854
+ },
855
+ "public.runners_rate_limits": {
856
+ "name": "runners_rate_limits",
857
+ "schema": "",
858
+ "columns": {
859
+ "action": {
860
+ "name": "action",
861
+ "type": "text",
862
+ "primaryKey": false,
863
+ "notNull": true
864
+ },
865
+ "scope": {
866
+ "name": "scope",
867
+ "type": "text",
868
+ "primaryKey": false,
869
+ "notNull": true
870
+ },
871
+ "identifier_hmac": {
872
+ "name": "identifier_hmac",
873
+ "type": "text",
874
+ "primaryKey": false,
875
+ "notNull": true
876
+ },
877
+ "window_start": {
878
+ "name": "window_start",
879
+ "type": "timestamp with time zone",
880
+ "primaryKey": false,
881
+ "notNull": true
882
+ },
883
+ "count": {
884
+ "name": "count",
885
+ "type": "integer",
886
+ "primaryKey": false,
887
+ "notNull": true,
888
+ "default": 1
889
+ },
890
+ "expires_at": {
891
+ "name": "expires_at",
892
+ "type": "timestamp with time zone",
893
+ "primaryKey": false,
894
+ "notNull": true
895
+ },
896
+ "created_at": {
897
+ "name": "created_at",
898
+ "type": "timestamp with time zone",
899
+ "primaryKey": false,
900
+ "notNull": true,
901
+ "default": "now()"
902
+ },
903
+ "updated_at": {
904
+ "name": "updated_at",
905
+ "type": "timestamp with time zone",
906
+ "primaryKey": false,
907
+ "notNull": true,
908
+ "default": "now()"
909
+ }
910
+ },
911
+ "indexes": {
912
+ "runners_rate_limits_window_unique": {
913
+ "name": "runners_rate_limits_window_unique",
914
+ "columns": [
915
+ {
916
+ "expression": "action",
917
+ "isExpression": false,
918
+ "asc": true,
919
+ "nulls": "last"
920
+ },
921
+ {
922
+ "expression": "scope",
923
+ "isExpression": false,
924
+ "asc": true,
925
+ "nulls": "last"
926
+ },
927
+ {
928
+ "expression": "identifier_hmac",
929
+ "isExpression": false,
930
+ "asc": true,
931
+ "nulls": "last"
932
+ },
933
+ {
934
+ "expression": "window_start",
935
+ "isExpression": false,
936
+ "asc": true,
937
+ "nulls": "last"
938
+ }
939
+ ],
940
+ "isUnique": true,
941
+ "concurrently": false,
942
+ "method": "btree",
943
+ "with": {}
944
+ },
945
+ "runners_rate_limits_expires_at_idx": {
946
+ "name": "runners_rate_limits_expires_at_idx",
947
+ "columns": [
948
+ {
949
+ "expression": "expires_at",
950
+ "isExpression": false,
951
+ "asc": true,
952
+ "nulls": "last"
953
+ }
954
+ ],
955
+ "isUnique": false,
956
+ "concurrently": false,
957
+ "method": "btree",
958
+ "with": {}
959
+ }
960
+ },
961
+ "foreignKeys": {},
962
+ "compositePrimaryKeys": {},
963
+ "uniqueConstraints": {},
964
+ "policies": {},
965
+ "checkConstraints": {},
966
+ "isRLSEnabled": false
967
+ },
968
+ "public.runners_reservations": {
969
+ "name": "runners_reservations",
970
+ "schema": "",
971
+ "columns": {
972
+ "id": {
973
+ "name": "id",
974
+ "type": "uuid",
975
+ "primaryKey": true,
976
+ "notNull": true,
977
+ "default": "uuidv7()"
978
+ },
979
+ "workspace_id": {
980
+ "name": "workspace_id",
981
+ "type": "uuid",
982
+ "primaryKey": false,
983
+ "notNull": true
984
+ },
985
+ "provisioner_id": {
986
+ "name": "provisioner_id",
987
+ "type": "uuid",
988
+ "primaryKey": false,
989
+ "notNull": true
990
+ },
991
+ "required_labels": {
992
+ "name": "required_labels",
993
+ "type": "text[]",
994
+ "primaryKey": false,
995
+ "notNull": true
996
+ },
997
+ "count": {
998
+ "name": "count",
999
+ "type": "integer",
1000
+ "primaryKey": false,
1001
+ "notNull": true
1002
+ },
1003
+ "created_at": {
1004
+ "name": "created_at",
1005
+ "type": "timestamp with time zone",
1006
+ "primaryKey": false,
1007
+ "notNull": true,
1008
+ "default": "now()"
1009
+ },
1010
+ "expires_at": {
1011
+ "name": "expires_at",
1012
+ "type": "timestamp with time zone",
1013
+ "primaryKey": false,
1014
+ "notNull": true
1015
+ }
1016
+ },
1017
+ "indexes": {
1018
+ "runners_reservations_workspace_expires_idx": {
1019
+ "name": "runners_reservations_workspace_expires_idx",
1020
+ "columns": [
1021
+ {
1022
+ "expression": "workspace_id",
1023
+ "isExpression": false,
1024
+ "asc": true,
1025
+ "nulls": "last"
1026
+ },
1027
+ {
1028
+ "expression": "expires_at",
1029
+ "isExpression": false,
1030
+ "asc": true,
1031
+ "nulls": "last"
1032
+ }
1033
+ ],
1034
+ "isUnique": false,
1035
+ "concurrently": false,
1036
+ "method": "btree",
1037
+ "with": {}
1038
+ },
1039
+ "runners_reservations_expires_idx": {
1040
+ "name": "runners_reservations_expires_idx",
1041
+ "columns": [
1042
+ {
1043
+ "expression": "expires_at",
1044
+ "isExpression": false,
1045
+ "asc": true,
1046
+ "nulls": "last"
1047
+ }
1048
+ ],
1049
+ "isUnique": false,
1050
+ "concurrently": false,
1051
+ "method": "btree",
1052
+ "with": {}
1053
+ }
1054
+ },
1055
+ "foreignKeys": {},
1056
+ "compositePrimaryKeys": {},
1057
+ "uniqueConstraints": {},
1058
+ "policies": {},
1059
+ "checkConstraints": {
1060
+ "runners_reservations_count_positive_ck": {
1061
+ "name": "runners_reservations_count_positive_ck",
1062
+ "value": "\"runners_reservations\".\"count\" > 0"
1063
+ }
1064
+ },
1065
+ "isRLSEnabled": false
1066
+ },
1067
+ "public.runners_runner_activation_tokens": {
1068
+ "name": "runners_runner_activation_tokens",
1069
+ "schema": "",
1070
+ "columns": {
1071
+ "id": {
1072
+ "name": "id",
1073
+ "type": "uuid",
1074
+ "primaryKey": true,
1075
+ "notNull": true,
1076
+ "default": "uuidv7()"
1077
+ },
1078
+ "runner_instance_id": {
1079
+ "name": "runner_instance_id",
1080
+ "type": "uuid",
1081
+ "primaryKey": false,
1082
+ "notNull": true
1083
+ },
1084
+ "hashed_token": {
1085
+ "name": "hashed_token",
1086
+ "type": "text",
1087
+ "primaryKey": false,
1088
+ "notNull": true
1089
+ },
1090
+ "prefix": {
1091
+ "name": "prefix",
1092
+ "type": "text",
1093
+ "primaryKey": false,
1094
+ "notNull": true
1095
+ },
1096
+ "expires_at": {
1097
+ "name": "expires_at",
1098
+ "type": "timestamp with time zone",
1099
+ "primaryKey": false,
1100
+ "notNull": true
1101
+ },
1102
+ "consumed_at": {
1103
+ "name": "consumed_at",
1104
+ "type": "timestamp with time zone",
1105
+ "primaryKey": false,
1106
+ "notNull": false
1107
+ },
1108
+ "revoked_at": {
1109
+ "name": "revoked_at",
1110
+ "type": "timestamp with time zone",
1111
+ "primaryKey": false,
1112
+ "notNull": false
1113
+ },
1114
+ "consumed_session_id": {
1115
+ "name": "consumed_session_id",
1116
+ "type": "uuid",
1117
+ "primaryKey": false,
1118
+ "notNull": false
1119
+ },
1120
+ "created_at": {
1121
+ "name": "created_at",
1122
+ "type": "timestamp with time zone",
1123
+ "primaryKey": false,
1124
+ "notNull": true,
1125
+ "default": "now()"
1126
+ }
1127
+ },
1128
+ "indexes": {
1129
+ "runners_runner_activation_tokens_hashed_token_unique": {
1130
+ "name": "runners_runner_activation_tokens_hashed_token_unique",
1131
+ "columns": [
1132
+ {
1133
+ "expression": "hashed_token",
1134
+ "isExpression": false,
1135
+ "asc": true,
1136
+ "nulls": "last"
1137
+ }
1138
+ ],
1139
+ "isUnique": true,
1140
+ "concurrently": false,
1141
+ "method": "btree",
1142
+ "with": {}
1143
+ },
1144
+ "runners_runner_activation_tokens_runner_instance_idx": {
1145
+ "name": "runners_runner_activation_tokens_runner_instance_idx",
1146
+ "columns": [
1147
+ {
1148
+ "expression": "runner_instance_id",
1149
+ "isExpression": false,
1150
+ "asc": true,
1151
+ "nulls": "last"
1152
+ }
1153
+ ],
1154
+ "isUnique": false,
1155
+ "concurrently": false,
1156
+ "method": "btree",
1157
+ "with": {}
1158
+ }
1159
+ },
1160
+ "foreignKeys": {},
1161
+ "compositePrimaryKeys": {},
1162
+ "uniqueConstraints": {},
1163
+ "policies": {},
1164
+ "checkConstraints": {},
1165
+ "isRLSEnabled": false
1166
+ },
1167
+ "public.runners_runner_bootstrap_tokens": {
1168
+ "name": "runners_runner_bootstrap_tokens",
1169
+ "schema": "",
1170
+ "columns": {
1171
+ "id": {
1172
+ "name": "id",
1173
+ "type": "uuid",
1174
+ "primaryKey": true,
1175
+ "notNull": true,
1176
+ "default": "uuidv7()"
1177
+ },
1178
+ "runner_instance_id": {
1179
+ "name": "runner_instance_id",
1180
+ "type": "uuid",
1181
+ "primaryKey": false,
1182
+ "notNull": true
1183
+ },
1184
+ "provisioner_id": {
1185
+ "name": "provisioner_id",
1186
+ "type": "uuid",
1187
+ "primaryKey": false,
1188
+ "notNull": true
1189
+ },
1190
+ "hashed_token": {
1191
+ "name": "hashed_token",
1192
+ "type": "text",
1193
+ "primaryKey": false,
1194
+ "notNull": true
1195
+ },
1196
+ "prefix": {
1197
+ "name": "prefix",
1198
+ "type": "text",
1199
+ "primaryKey": false,
1200
+ "notNull": true
1201
+ },
1202
+ "expires_at": {
1203
+ "name": "expires_at",
1204
+ "type": "timestamp with time zone",
1205
+ "primaryKey": false,
1206
+ "notNull": true
1207
+ },
1208
+ "consumed_at": {
1209
+ "name": "consumed_at",
1210
+ "type": "timestamp with time zone",
1211
+ "primaryKey": false,
1212
+ "notNull": false
1213
+ },
1214
+ "revoked_at": {
1215
+ "name": "revoked_at",
1216
+ "type": "timestamp with time zone",
1217
+ "primaryKey": false,
1218
+ "notNull": false
1219
+ },
1220
+ "created_at": {
1221
+ "name": "created_at",
1222
+ "type": "timestamp with time zone",
1223
+ "primaryKey": false,
1224
+ "notNull": true,
1225
+ "default": "now()"
1226
+ }
1227
+ },
1228
+ "indexes": {
1229
+ "runners_runner_bootstrap_tokens_hashed_token_unique": {
1230
+ "name": "runners_runner_bootstrap_tokens_hashed_token_unique",
1231
+ "columns": [
1232
+ {
1233
+ "expression": "hashed_token",
1234
+ "isExpression": false,
1235
+ "asc": true,
1236
+ "nulls": "last"
1237
+ }
1238
+ ],
1239
+ "isUnique": true,
1240
+ "concurrently": false,
1241
+ "method": "btree",
1242
+ "with": {}
1243
+ },
1244
+ "runners_runner_bootstrap_tokens_runner_instance_idx": {
1245
+ "name": "runners_runner_bootstrap_tokens_runner_instance_idx",
1246
+ "columns": [
1247
+ {
1248
+ "expression": "runner_instance_id",
1249
+ "isExpression": false,
1250
+ "asc": true,
1251
+ "nulls": "last"
1252
+ }
1253
+ ],
1254
+ "isUnique": false,
1255
+ "concurrently": false,
1256
+ "method": "btree",
1257
+ "with": {}
1258
+ }
1259
+ },
1260
+ "foreignKeys": {},
1261
+ "compositePrimaryKeys": {},
1262
+ "uniqueConstraints": {},
1263
+ "policies": {},
1264
+ "checkConstraints": {},
1265
+ "isRLSEnabled": false
1266
+ },
1267
+ "public.runners_runner_control_sessions": {
1268
+ "name": "runners_runner_control_sessions",
1269
+ "schema": "",
1270
+ "columns": {
1271
+ "id": {
1272
+ "name": "id",
1273
+ "type": "uuid",
1274
+ "primaryKey": true,
1275
+ "notNull": true,
1276
+ "default": "uuidv7()"
1277
+ },
1278
+ "runner_instance_id": {
1279
+ "name": "runner_instance_id",
1280
+ "type": "uuid",
1281
+ "primaryKey": false,
1282
+ "notNull": true
1283
+ },
1284
+ "provisioner_id": {
1285
+ "name": "provisioner_id",
1286
+ "type": "uuid",
1287
+ "primaryKey": false,
1288
+ "notNull": true
1289
+ },
1290
+ "hashed_token": {
1291
+ "name": "hashed_token",
1292
+ "type": "text",
1293
+ "primaryKey": false,
1294
+ "notNull": true
1295
+ },
1296
+ "prefix": {
1297
+ "name": "prefix",
1298
+ "type": "text",
1299
+ "primaryKey": false,
1300
+ "notNull": true
1301
+ },
1302
+ "expires_at": {
1303
+ "name": "expires_at",
1304
+ "type": "timestamp with time zone",
1305
+ "primaryKey": false,
1306
+ "notNull": true
1307
+ },
1308
+ "last_seen_at": {
1309
+ "name": "last_seen_at",
1310
+ "type": "timestamp with time zone",
1311
+ "primaryKey": false,
1312
+ "notNull": true,
1313
+ "default": "now()"
1314
+ },
1315
+ "closed_at": {
1316
+ "name": "closed_at",
1317
+ "type": "timestamp with time zone",
1318
+ "primaryKey": false,
1319
+ "notNull": false
1320
+ },
1321
+ "close_reason": {
1322
+ "name": "close_reason",
1323
+ "type": "text",
1324
+ "primaryKey": false,
1325
+ "notNull": false
1326
+ },
1327
+ "created_at": {
1328
+ "name": "created_at",
1329
+ "type": "timestamp with time zone",
1330
+ "primaryKey": false,
1331
+ "notNull": true,
1332
+ "default": "now()"
1333
+ }
1334
+ },
1335
+ "indexes": {
1336
+ "runners_runner_control_sessions_hashed_token_unique": {
1337
+ "name": "runners_runner_control_sessions_hashed_token_unique",
1338
+ "columns": [
1339
+ {
1340
+ "expression": "hashed_token",
1341
+ "isExpression": false,
1342
+ "asc": true,
1343
+ "nulls": "last"
1344
+ }
1345
+ ],
1346
+ "isUnique": true,
1347
+ "concurrently": false,
1348
+ "method": "btree",
1349
+ "with": {}
1350
+ },
1351
+ "runners_runner_control_sessions_active_runner_instance_unique": {
1352
+ "name": "runners_runner_control_sessions_active_runner_instance_unique",
1353
+ "columns": [
1354
+ {
1355
+ "expression": "runner_instance_id",
1356
+ "isExpression": false,
1357
+ "asc": true,
1358
+ "nulls": "last"
1359
+ }
1360
+ ],
1361
+ "isUnique": true,
1362
+ "where": "\"closed_at\" is null",
1363
+ "concurrently": false,
1364
+ "method": "btree",
1365
+ "with": {}
1366
+ },
1367
+ "runners_runner_control_sessions_runner_instance_idx": {
1368
+ "name": "runners_runner_control_sessions_runner_instance_idx",
1369
+ "columns": [
1370
+ {
1371
+ "expression": "runner_instance_id",
1372
+ "isExpression": false,
1373
+ "asc": true,
1374
+ "nulls": "last"
1375
+ }
1376
+ ],
1377
+ "isUnique": false,
1378
+ "concurrently": false,
1379
+ "method": "btree",
1380
+ "with": {}
1381
+ }
1382
+ },
1383
+ "foreignKeys": {},
1384
+ "compositePrimaryKeys": {},
1385
+ "uniqueConstraints": {},
1386
+ "policies": {},
1387
+ "checkConstraints": {},
1388
+ "isRLSEnabled": false
1389
+ },
1390
+ "public.runners_runner_instances": {
1391
+ "name": "runners_runner_instances",
1392
+ "schema": "",
1393
+ "columns": {
1394
+ "id": {
1395
+ "name": "id",
1396
+ "type": "uuid",
1397
+ "primaryKey": true,
1398
+ "notNull": true,
1399
+ "default": "uuidv7()"
1400
+ },
1401
+ "workspace_id": {
1402
+ "name": "workspace_id",
1403
+ "type": "uuid",
1404
+ "primaryKey": false,
1405
+ "notNull": false
1406
+ },
1407
+ "provisioner_id": {
1408
+ "name": "provisioner_id",
1409
+ "type": "uuid",
1410
+ "primaryKey": false,
1411
+ "notNull": true
1412
+ },
1413
+ "provider_runner_id": {
1414
+ "name": "provider_runner_id",
1415
+ "type": "text",
1416
+ "primaryKey": false,
1417
+ "notNull": false
1418
+ },
1419
+ "intended_reservation_id": {
1420
+ "name": "intended_reservation_id",
1421
+ "type": "uuid",
1422
+ "primaryKey": false,
1423
+ "notNull": false
1424
+ },
1425
+ "reservation_id": {
1426
+ "name": "reservation_id",
1427
+ "type": "uuid",
1428
+ "primaryKey": false,
1429
+ "notNull": false
1430
+ },
1431
+ "assigned_at": {
1432
+ "name": "assigned_at",
1433
+ "type": "timestamp with time zone",
1434
+ "primaryKey": false,
1435
+ "notNull": false
1436
+ },
1437
+ "template_key": {
1438
+ "name": "template_key",
1439
+ "type": "text",
1440
+ "primaryKey": false,
1441
+ "notNull": false
1442
+ },
1443
+ "labels": {
1444
+ "name": "labels",
1445
+ "type": "text[]",
1446
+ "primaryKey": false,
1447
+ "notNull": true,
1448
+ "default": "'{}'"
1449
+ },
1450
+ "state": {
1451
+ "name": "state",
1452
+ "type": "runners_provider_runner_state",
1453
+ "typeSchema": "public",
1454
+ "primaryKey": false,
1455
+ "notNull": true
1456
+ },
1457
+ "reason": {
1458
+ "name": "reason",
1459
+ "type": "text",
1460
+ "primaryKey": false,
1461
+ "notNull": false
1462
+ },
1463
+ "runner_session_id": {
1464
+ "name": "runner_session_id",
1465
+ "type": "uuid",
1466
+ "primaryKey": false,
1467
+ "notNull": false
1468
+ },
1469
+ "first_claimed_at": {
1470
+ "name": "first_claimed_at",
1471
+ "type": "timestamp with time zone",
1472
+ "primaryKey": false,
1473
+ "notNull": false
1474
+ },
1475
+ "provider_kind": {
1476
+ "name": "provider_kind",
1477
+ "type": "text",
1478
+ "primaryKey": false,
1479
+ "notNull": false
1480
+ },
1481
+ "protocol_version": {
1482
+ "name": "protocol_version",
1483
+ "type": "text",
1484
+ "primaryKey": false,
1485
+ "notNull": false
1486
+ },
1487
+ "capabilities": {
1488
+ "name": "capabilities",
1489
+ "type": "jsonb",
1490
+ "primaryKey": false,
1491
+ "notNull": false
1492
+ },
1493
+ "reported_at": {
1494
+ "name": "reported_at",
1495
+ "type": "timestamp with time zone",
1496
+ "primaryKey": false,
1497
+ "notNull": true
1498
+ },
1499
+ "started_at": {
1500
+ "name": "started_at",
1501
+ "type": "timestamp with time zone",
1502
+ "primaryKey": false,
1503
+ "notNull": false
1504
+ },
1505
+ "stopping_at": {
1506
+ "name": "stopping_at",
1507
+ "type": "timestamp with time zone",
1508
+ "primaryKey": false,
1509
+ "notNull": false
1510
+ },
1511
+ "stopped_at": {
1512
+ "name": "stopped_at",
1513
+ "type": "timestamp with time zone",
1514
+ "primaryKey": false,
1515
+ "notNull": false
1516
+ },
1517
+ "failed_at": {
1518
+ "name": "failed_at",
1519
+ "type": "timestamp with time zone",
1520
+ "primaryKey": false,
1521
+ "notNull": false
1522
+ },
1523
+ "terminated_at": {
1524
+ "name": "terminated_at",
1525
+ "type": "timestamp with time zone",
1526
+ "primaryKey": false,
1527
+ "notNull": false
1528
+ },
1529
+ "reservation_released_at": {
1530
+ "name": "reservation_released_at",
1531
+ "type": "timestamp with time zone",
1532
+ "primaryKey": false,
1533
+ "notNull": false
1534
+ },
1535
+ "created_at": {
1536
+ "name": "created_at",
1537
+ "type": "timestamp with time zone",
1538
+ "primaryKey": false,
1539
+ "notNull": true,
1540
+ "default": "now()"
1541
+ },
1542
+ "updated_at": {
1543
+ "name": "updated_at",
1544
+ "type": "timestamp with time zone",
1545
+ "primaryKey": false,
1546
+ "notNull": true,
1547
+ "default": "now()"
1548
+ }
1549
+ },
1550
+ "indexes": {
1551
+ "runners_runner_instances_provisioner_runner_unique": {
1552
+ "name": "runners_runner_instances_provisioner_runner_unique",
1553
+ "columns": [
1554
+ {
1555
+ "expression": "provisioner_id",
1556
+ "isExpression": false,
1557
+ "asc": true,
1558
+ "nulls": "last"
1559
+ },
1560
+ {
1561
+ "expression": "provider_runner_id",
1562
+ "isExpression": false,
1563
+ "asc": true,
1564
+ "nulls": "last"
1565
+ }
1566
+ ],
1567
+ "isUnique": true,
1568
+ "where": "\"runners_runner_instances\".\"provider_runner_id\" is not null",
1569
+ "concurrently": false,
1570
+ "method": "btree",
1571
+ "with": {}
1572
+ },
1573
+ "runners_runner_instances_workspace_state_updated_idx": {
1574
+ "name": "runners_runner_instances_workspace_state_updated_idx",
1575
+ "columns": [
1576
+ {
1577
+ "expression": "state",
1578
+ "isExpression": false,
1579
+ "asc": true,
1580
+ "nulls": "last"
1581
+ },
1582
+ {
1583
+ "expression": "updated_at",
1584
+ "isExpression": false,
1585
+ "asc": true,
1586
+ "nulls": "last"
1587
+ }
1588
+ ],
1589
+ "isUnique": false,
1590
+ "concurrently": false,
1591
+ "method": "btree",
1592
+ "with": {}
1593
+ },
1594
+ "runners_runner_instances_stale_reaper_idx": {
1595
+ "name": "runners_runner_instances_stale_reaper_idx",
1596
+ "columns": [
1597
+ {
1598
+ "expression": "state",
1599
+ "isExpression": false,
1600
+ "asc": true,
1601
+ "nulls": "last"
1602
+ },
1603
+ {
1604
+ "expression": "updated_at",
1605
+ "isExpression": false,
1606
+ "asc": true,
1607
+ "nulls": "last"
1608
+ },
1609
+ {
1610
+ "expression": "reported_at",
1611
+ "isExpression": false,
1612
+ "asc": true,
1613
+ "nulls": "last"
1614
+ }
1615
+ ],
1616
+ "isUnique": false,
1617
+ "concurrently": false,
1618
+ "method": "btree",
1619
+ "with": {}
1620
+ },
1621
+ "runners_runner_instances_provisioner_intended_reservation_idx": {
1622
+ "name": "runners_runner_instances_provisioner_intended_reservation_idx",
1623
+ "columns": [
1624
+ {
1625
+ "expression": "provisioner_id",
1626
+ "isExpression": false,
1627
+ "asc": true,
1628
+ "nulls": "last"
1629
+ },
1630
+ {
1631
+ "expression": "intended_reservation_id",
1632
+ "isExpression": false,
1633
+ "asc": true,
1634
+ "nulls": "last"
1635
+ }
1636
+ ],
1637
+ "isUnique": false,
1638
+ "where": "\"runners_runner_instances\".\"intended_reservation_id\" is not null and \"runners_runner_instances\".\"reservation_released_at\" is null",
1639
+ "concurrently": false,
1640
+ "method": "btree",
1641
+ "with": {}
1642
+ },
1643
+ "runners_runner_instances_provisioner_reservation_idx": {
1644
+ "name": "runners_runner_instances_provisioner_reservation_idx",
1645
+ "columns": [
1646
+ {
1647
+ "expression": "provisioner_id",
1648
+ "isExpression": false,
1649
+ "asc": true,
1650
+ "nulls": "last"
1651
+ },
1652
+ {
1653
+ "expression": "reservation_id",
1654
+ "isExpression": false,
1655
+ "asc": true,
1656
+ "nulls": "last"
1657
+ }
1658
+ ],
1659
+ "isUnique": false,
1660
+ "where": "\"runners_runner_instances\".\"reservation_id\" is not null",
1661
+ "concurrently": false,
1662
+ "method": "btree",
1663
+ "with": {}
1664
+ },
1665
+ "runners_runner_instances_active_template_counts_idx": {
1666
+ "name": "runners_runner_instances_active_template_counts_idx",
1667
+ "columns": [
1668
+ {
1669
+ "expression": "provisioner_id",
1670
+ "isExpression": false,
1671
+ "asc": true,
1672
+ "nulls": "last"
1673
+ },
1674
+ {
1675
+ "expression": "state",
1676
+ "isExpression": false,
1677
+ "asc": true,
1678
+ "nulls": "last"
1679
+ },
1680
+ {
1681
+ "expression": "template_key",
1682
+ "isExpression": false,
1683
+ "asc": true,
1684
+ "nulls": "last"
1685
+ }
1686
+ ],
1687
+ "isUnique": false,
1688
+ "where": "\"state\" in ('starting', 'running') and \"template_key\" is not null",
1689
+ "concurrently": false,
1690
+ "method": "btree",
1691
+ "with": {}
1692
+ }
1693
+ },
1694
+ "foreignKeys": {},
1695
+ "compositePrimaryKeys": {},
1696
+ "uniqueConstraints": {},
1697
+ "policies": {},
1698
+ "checkConstraints": {},
1699
+ "isRLSEnabled": false
1700
+ },
1701
+ "public.runners_runner_sessions": {
1702
+ "name": "runners_runner_sessions",
1703
+ "schema": "",
1704
+ "columns": {
1705
+ "id": {
1706
+ "name": "id",
1707
+ "type": "uuid",
1708
+ "primaryKey": true,
1709
+ "notNull": true,
1710
+ "default": "uuidv7()"
1711
+ },
1712
+ "workspace_id": {
1713
+ "name": "workspace_id",
1714
+ "type": "uuid",
1715
+ "primaryKey": false,
1716
+ "notNull": true
1717
+ },
1718
+ "scope": {
1719
+ "name": "scope",
1720
+ "type": "runners_runner_session_scope",
1721
+ "typeSchema": "public",
1722
+ "primaryKey": false,
1723
+ "notNull": true,
1724
+ "default": "'workspace'"
1725
+ },
1726
+ "registration_token_id": {
1727
+ "name": "registration_token_id",
1728
+ "type": "uuid",
1729
+ "primaryKey": false,
1730
+ "notNull": true
1731
+ },
1732
+ "registration_token_kind": {
1733
+ "name": "registration_token_kind",
1734
+ "type": "runners_runner_session_registration_token_kind",
1735
+ "typeSchema": "public",
1736
+ "primaryKey": false,
1737
+ "notNull": true
1738
+ },
1739
+ "runner_instance_id": {
1740
+ "name": "runner_instance_id",
1741
+ "type": "uuid",
1742
+ "primaryKey": false,
1743
+ "notNull": false
1744
+ },
1745
+ "provisioner_id": {
1746
+ "name": "provisioner_id",
1747
+ "type": "uuid",
1748
+ "primaryKey": false,
1749
+ "notNull": false
1750
+ },
1751
+ "provider_runner_id": {
1752
+ "name": "provider_runner_id",
1753
+ "type": "text",
1754
+ "primaryKey": false,
1755
+ "notNull": false
1756
+ },
1757
+ "labels": {
1758
+ "name": "labels",
1759
+ "type": "text[]",
1760
+ "primaryKey": false,
1761
+ "notNull": true
1762
+ },
1763
+ "tool_capabilities": {
1764
+ "name": "tool_capabilities",
1765
+ "type": "jsonb",
1766
+ "primaryKey": false,
1767
+ "notNull": false
1768
+ },
1769
+ "tool_capabilities_reported_at": {
1770
+ "name": "tool_capabilities_reported_at",
1771
+ "type": "timestamp with time zone",
1772
+ "primaryKey": false,
1773
+ "notNull": false
1774
+ },
1775
+ "max_claims": {
1776
+ "name": "max_claims",
1777
+ "type": "integer",
1778
+ "primaryKey": false,
1779
+ "notNull": false
1780
+ },
1781
+ "claims_used": {
1782
+ "name": "claims_used",
1783
+ "type": "integer",
1784
+ "primaryKey": false,
1785
+ "notNull": true,
1786
+ "default": 0
1787
+ },
1788
+ "revoked_at": {
1789
+ "name": "revoked_at",
1790
+ "type": "timestamp with time zone",
1791
+ "primaryKey": false,
1792
+ "notNull": false
1793
+ },
1794
+ "created_at": {
1795
+ "name": "created_at",
1796
+ "type": "timestamp with time zone",
1797
+ "primaryKey": false,
1798
+ "notNull": true,
1799
+ "default": "now()"
1800
+ },
1801
+ "updated_at": {
1802
+ "name": "updated_at",
1803
+ "type": "timestamp with time zone",
1804
+ "primaryKey": false,
1805
+ "notNull": true,
1806
+ "default": "now()"
1807
+ }
1808
+ },
1809
+ "indexes": {
1810
+ "runners_runner_sessions_kind_created_id_idx": {
1811
+ "name": "runners_runner_sessions_kind_created_id_idx",
1812
+ "columns": [
1813
+ {
1814
+ "expression": "registration_token_kind",
1815
+ "isExpression": false,
1816
+ "asc": true,
1817
+ "nulls": "last"
1818
+ },
1819
+ {
1820
+ "expression": "created_at",
1821
+ "isExpression": false,
1822
+ "asc": true,
1823
+ "nulls": "last"
1824
+ },
1825
+ {
1826
+ "expression": "id",
1827
+ "isExpression": false,
1828
+ "asc": true,
1829
+ "nulls": "last"
1830
+ }
1831
+ ],
1832
+ "isUnique": false,
1833
+ "concurrently": false,
1834
+ "method": "btree",
1835
+ "with": {}
1836
+ },
1837
+ "runners_runner_sessions_provider_runner_updated_idx": {
1838
+ "name": "runners_runner_sessions_provider_runner_updated_idx",
1839
+ "columns": [
1840
+ {
1841
+ "expression": "workspace_id",
1842
+ "isExpression": false,
1843
+ "asc": true,
1844
+ "nulls": "last"
1845
+ },
1846
+ {
1847
+ "expression": "provisioner_id",
1848
+ "isExpression": false,
1849
+ "asc": true,
1850
+ "nulls": "last"
1851
+ },
1852
+ {
1853
+ "expression": "provider_runner_id",
1854
+ "isExpression": false,
1855
+ "asc": true,
1856
+ "nulls": "last"
1857
+ },
1858
+ {
1859
+ "expression": "updated_at",
1860
+ "isExpression": false,
1861
+ "asc": true,
1862
+ "nulls": "last"
1863
+ }
1864
+ ],
1865
+ "isUnique": false,
1866
+ "where": "\"provisioner_id\" IS NOT NULL",
1867
+ "concurrently": false,
1868
+ "method": "btree",
1869
+ "with": {}
1870
+ }
1871
+ },
1872
+ "foreignKeys": {},
1873
+ "compositePrimaryKeys": {},
1874
+ "uniqueConstraints": {},
1875
+ "policies": {},
1876
+ "checkConstraints": {
1877
+ "runners_runner_sessions_claims_ck": {
1878
+ "name": "runners_runner_sessions_claims_ck",
1879
+ "value": "\"runners_runner_sessions\".\"claims_used\" >= 0 AND ((\"runners_runner_sessions\".\"registration_token_kind\" = 'manual' AND \"runners_runner_sessions\".\"max_claims\" IS NULL) OR (\"runners_runner_sessions\".\"registration_token_kind\" in ('ephemeral', 'activation') AND \"runners_runner_sessions\".\"max_claims\" IS NOT NULL AND \"runners_runner_sessions\".\"max_claims\" > 0 AND \"runners_runner_sessions\".\"claims_used\" <= \"runners_runner_sessions\".\"max_claims\"))"
1880
+ },
1881
+ "runners_runner_sessions_link_ck": {
1882
+ "name": "runners_runner_sessions_link_ck",
1883
+ "value": "((\"runners_runner_sessions\".\"registration_token_kind\" = 'manual' AND \"runners_runner_sessions\".\"runner_instance_id\" IS NULL AND \"runners_runner_sessions\".\"provisioner_id\" IS NULL AND \"runners_runner_sessions\".\"provider_runner_id\" IS NULL) OR (\"runners_runner_sessions\".\"registration_token_kind\" = 'ephemeral' AND \"runners_runner_sessions\".\"runner_instance_id\" IS NULL AND \"runners_runner_sessions\".\"provisioner_id\" IS NOT NULL AND \"runners_runner_sessions\".\"provider_runner_id\" IS NOT NULL) OR (\"runners_runner_sessions\".\"registration_token_kind\" = 'activation' AND \"runners_runner_sessions\".\"runner_instance_id\" IS NOT NULL AND \"runners_runner_sessions\".\"provisioner_id\" IS NOT NULL AND \"runners_runner_sessions\".\"provider_runner_id\" IS NOT NULL))"
1884
+ }
1885
+ },
1886
+ "isRLSEnabled": false
1887
+ },
1888
+ "public.runners_running_jobs": {
1889
+ "name": "runners_running_jobs",
1890
+ "schema": "",
1891
+ "columns": {
1892
+ "id": {
1893
+ "name": "id",
1894
+ "type": "uuid",
1895
+ "primaryKey": true,
1896
+ "notNull": true,
1897
+ "default": "uuidv7()"
1898
+ },
1899
+ "workspace_id": {
1900
+ "name": "workspace_id",
1901
+ "type": "uuid",
1902
+ "primaryKey": false,
1903
+ "notNull": true
1904
+ },
1905
+ "workflow_run_id": {
1906
+ "name": "workflow_run_id",
1907
+ "type": "uuid",
1908
+ "primaryKey": false,
1909
+ "notNull": true
1910
+ },
1911
+ "workflow_run_attempt_id": {
1912
+ "name": "workflow_run_attempt_id",
1913
+ "type": "uuid",
1914
+ "primaryKey": false,
1915
+ "notNull": true
1916
+ },
1917
+ "job_id": {
1918
+ "name": "job_id",
1919
+ "type": "uuid",
1920
+ "primaryKey": false,
1921
+ "notNull": true
1922
+ },
1923
+ "job_execution_id": {
1924
+ "name": "job_execution_id",
1925
+ "type": "uuid",
1926
+ "primaryKey": false,
1927
+ "notNull": true
1928
+ },
1929
+ "project_id": {
1930
+ "name": "project_id",
1931
+ "type": "uuid",
1932
+ "primaryKey": false,
1933
+ "notNull": true
1934
+ },
1935
+ "runner_session_id": {
1936
+ "name": "runner_session_id",
1937
+ "type": "uuid",
1938
+ "primaryKey": false,
1939
+ "notNull": true
1940
+ },
1941
+ "provisioner_id": {
1942
+ "name": "provisioner_id",
1943
+ "type": "uuid",
1944
+ "primaryKey": false,
1945
+ "notNull": false
1946
+ },
1947
+ "provider_runner_id": {
1948
+ "name": "provider_runner_id",
1949
+ "type": "text",
1950
+ "primaryKey": false,
1951
+ "notNull": false
1952
+ },
1953
+ "required_labels": {
1954
+ "name": "required_labels",
1955
+ "type": "text[]",
1956
+ "primaryKey": false,
1957
+ "notNull": true
1958
+ },
1959
+ "runner_labels": {
1960
+ "name": "runner_labels",
1961
+ "type": "text[]",
1962
+ "primaryKey": false,
1963
+ "notNull": true
1964
+ },
1965
+ "started_at": {
1966
+ "name": "started_at",
1967
+ "type": "timestamp with time zone",
1968
+ "primaryKey": false,
1969
+ "notNull": true,
1970
+ "default": "now()"
1971
+ },
1972
+ "first_heartbeat_at": {
1973
+ "name": "first_heartbeat_at",
1974
+ "type": "timestamp with time zone",
1975
+ "primaryKey": false,
1976
+ "notNull": false
1977
+ },
1978
+ "last_heartbeat_at": {
1979
+ "name": "last_heartbeat_at",
1980
+ "type": "timestamp with time zone",
1981
+ "primaryKey": false,
1982
+ "notNull": true,
1983
+ "default": "now()"
1984
+ },
1985
+ "cancellation_requested_at": {
1986
+ "name": "cancellation_requested_at",
1987
+ "type": "timestamp with time zone",
1988
+ "primaryKey": false,
1989
+ "notNull": false
1990
+ }
1991
+ },
1992
+ "indexes": {
1993
+ "runners_running_jobs_no_first_heartbeat_started_idx": {
1994
+ "name": "runners_running_jobs_no_first_heartbeat_started_idx",
1995
+ "columns": [
1996
+ {
1997
+ "expression": "started_at",
1998
+ "isExpression": false,
1999
+ "asc": true,
2000
+ "nulls": "last"
2001
+ }
2002
+ ],
2003
+ "isUnique": false,
2004
+ "where": "\"first_heartbeat_at\" IS NULL",
2005
+ "concurrently": false,
2006
+ "method": "btree",
2007
+ "with": {}
2008
+ },
2009
+ "runners_running_jobs_last_heartbeat_at_idx": {
2010
+ "name": "runners_running_jobs_last_heartbeat_at_idx",
2011
+ "columns": [
2012
+ {
2013
+ "expression": "last_heartbeat_at",
2014
+ "isExpression": false,
2015
+ "asc": true,
2016
+ "nulls": "last"
2017
+ }
2018
+ ],
2019
+ "isUnique": false,
2020
+ "concurrently": false,
2021
+ "method": "btree",
2022
+ "with": {}
2023
+ },
2024
+ "runners_running_jobs_provider_runner_started_idx": {
2025
+ "name": "runners_running_jobs_provider_runner_started_idx",
2026
+ "columns": [
2027
+ {
2028
+ "expression": "workspace_id",
2029
+ "isExpression": false,
2030
+ "asc": true,
2031
+ "nulls": "last"
2032
+ },
2033
+ {
2034
+ "expression": "provisioner_id",
2035
+ "isExpression": false,
2036
+ "asc": true,
2037
+ "nulls": "last"
2038
+ },
2039
+ {
2040
+ "expression": "provider_runner_id",
2041
+ "isExpression": false,
2042
+ "asc": true,
2043
+ "nulls": "last"
2044
+ },
2045
+ {
2046
+ "expression": "started_at",
2047
+ "isExpression": false,
2048
+ "asc": false,
2049
+ "nulls": "last"
2050
+ }
2051
+ ],
2052
+ "isUnique": false,
2053
+ "where": "\"provisioner_id\" IS NOT NULL",
2054
+ "concurrently": false,
2055
+ "method": "btree",
2056
+ "with": {}
2057
+ },
2058
+ "runners_running_jobs_cancellation_requested_idx": {
2059
+ "name": "runners_running_jobs_cancellation_requested_idx",
2060
+ "columns": [
2061
+ {
2062
+ "expression": "workspace_id",
2063
+ "isExpression": false,
2064
+ "asc": true,
2065
+ "nulls": "last"
2066
+ },
2067
+ {
2068
+ "expression": "provisioner_id",
2069
+ "isExpression": false,
2070
+ "asc": true,
2071
+ "nulls": "last"
2072
+ },
2073
+ {
2074
+ "expression": "provider_runner_id",
2075
+ "isExpression": false,
2076
+ "asc": true,
2077
+ "nulls": "last"
2078
+ }
2079
+ ],
2080
+ "isUnique": false,
2081
+ "where": "\"cancellation_requested_at\" IS NOT NULL",
2082
+ "concurrently": false,
2083
+ "method": "btree",
2084
+ "with": {}
2085
+ },
2086
+ "runners_running_jobs_job_id_idx": {
2087
+ "name": "runners_running_jobs_job_id_idx",
2088
+ "columns": [
2089
+ {
2090
+ "expression": "job_id",
2091
+ "isExpression": false,
2092
+ "asc": true,
2093
+ "nulls": "last"
2094
+ }
2095
+ ],
2096
+ "isUnique": false,
2097
+ "concurrently": false,
2098
+ "method": "btree",
2099
+ "with": {}
2100
+ },
2101
+ "runners_running_jobs_runner_session_id_idx": {
2102
+ "name": "runners_running_jobs_runner_session_id_idx",
2103
+ "columns": [
2104
+ {
2105
+ "expression": "runner_session_id",
2106
+ "isExpression": false,
2107
+ "asc": true,
2108
+ "nulls": "last"
2109
+ }
2110
+ ],
2111
+ "isUnique": false,
2112
+ "concurrently": false,
2113
+ "method": "btree",
2114
+ "with": {}
2115
+ }
2116
+ },
2117
+ "foreignKeys": {
2118
+ "runners_running_jobs_runner_session_id_runners_runner_sessions_id_fk": {
2119
+ "name": "runners_running_jobs_runner_session_id_runners_runner_sessions_id_fk",
2120
+ "tableFrom": "runners_running_jobs",
2121
+ "tableTo": "runners_runner_sessions",
2122
+ "columnsFrom": ["runner_session_id"],
2123
+ "columnsTo": ["id"],
2124
+ "onDelete": "no action",
2125
+ "onUpdate": "no action"
2126
+ }
2127
+ },
2128
+ "compositePrimaryKeys": {},
2129
+ "uniqueConstraints": {
2130
+ "runners_running_jobs_job_execution_id_unique": {
2131
+ "name": "runners_running_jobs_job_execution_id_unique",
2132
+ "nullsNotDistinct": false,
2133
+ "columns": ["job_execution_id"]
2134
+ }
2135
+ },
2136
+ "policies": {},
2137
+ "checkConstraints": {
2138
+ "runners_running_jobs_link_ck": {
2139
+ "name": "runners_running_jobs_link_ck",
2140
+ "value": "(\"runners_running_jobs\".\"provisioner_id\" IS NULL) = (\"runners_running_jobs\".\"provider_runner_id\" IS NULL)"
2141
+ }
2142
+ },
2143
+ "isRLSEnabled": false
2144
+ }
2145
+ },
2146
+ "enums": {
2147
+ "public.runners_provisioner_scope": {
2148
+ "name": "runners_provisioner_scope",
2149
+ "schema": "public",
2150
+ "values": ["workspace", "installation"]
2151
+ },
2152
+ "public.runners_provider_runner_state": {
2153
+ "name": "runners_provider_runner_state",
2154
+ "schema": "public",
2155
+ "values": ["starting", "running", "stopping", "stopped", "failed", "terminated"]
2156
+ },
2157
+ "public.runners_runner_session_registration_token_kind": {
2158
+ "name": "runners_runner_session_registration_token_kind",
2159
+ "schema": "public",
2160
+ "values": ["manual", "ephemeral", "activation"]
2161
+ },
2162
+ "public.runners_runner_session_scope": {
2163
+ "name": "runners_runner_session_scope",
2164
+ "schema": "public",
2165
+ "values": ["workspace"]
2166
+ }
2167
+ },
2168
+ "schemas": {},
2169
+ "sequences": {},
2170
+ "roles": {},
2171
+ "policies": {},
2172
+ "views": {},
2173
+ "_meta": {
2174
+ "columns": {},
2175
+ "schemas": {},
2176
+ "tables": {}
2177
+ }
2178
+ }