duron 0.2.2 → 0.3.0-beta.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 (77) hide show
  1. package/dist/action-job.d.ts +2 -0
  2. package/dist/action-job.d.ts.map +1 -1
  3. package/dist/action-job.js +20 -1
  4. package/dist/action-manager.d.ts +2 -0
  5. package/dist/action-manager.d.ts.map +1 -1
  6. package/dist/action-manager.js +3 -0
  7. package/dist/action.d.ts +7 -0
  8. package/dist/action.d.ts.map +1 -1
  9. package/dist/action.js +1 -0
  10. package/dist/adapters/adapter.d.ts +10 -2
  11. package/dist/adapters/adapter.d.ts.map +1 -1
  12. package/dist/adapters/adapter.js +59 -1
  13. package/dist/adapters/postgres/base.d.ts +9 -4
  14. package/dist/adapters/postgres/base.d.ts.map +1 -1
  15. package/dist/adapters/postgres/base.js +269 -19
  16. package/dist/adapters/postgres/schema.d.ts +249 -105
  17. package/dist/adapters/postgres/schema.d.ts.map +1 -1
  18. package/dist/adapters/postgres/schema.default.d.ts +249 -106
  19. package/dist/adapters/postgres/schema.default.d.ts.map +1 -1
  20. package/dist/adapters/postgres/schema.default.js +2 -2
  21. package/dist/adapters/postgres/schema.js +29 -1
  22. package/dist/adapters/schemas.d.ts +140 -7
  23. package/dist/adapters/schemas.d.ts.map +1 -1
  24. package/dist/adapters/schemas.js +52 -4
  25. package/dist/client.d.ts +8 -1
  26. package/dist/client.d.ts.map +1 -1
  27. package/dist/client.js +28 -0
  28. package/dist/errors.d.ts +6 -0
  29. package/dist/errors.d.ts.map +1 -1
  30. package/dist/errors.js +16 -1
  31. package/dist/index.d.ts +3 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +3 -1
  34. package/dist/server.d.ts +220 -16
  35. package/dist/server.d.ts.map +1 -1
  36. package/dist/server.js +123 -8
  37. package/dist/step-manager.d.ts +8 -2
  38. package/dist/step-manager.d.ts.map +1 -1
  39. package/dist/step-manager.js +138 -15
  40. package/dist/telemetry/adapter.d.ts +85 -0
  41. package/dist/telemetry/adapter.d.ts.map +1 -0
  42. package/dist/telemetry/adapter.js +128 -0
  43. package/dist/telemetry/index.d.ts +5 -0
  44. package/dist/telemetry/index.d.ts.map +1 -0
  45. package/dist/telemetry/index.js +4 -0
  46. package/dist/telemetry/local.d.ts +21 -0
  47. package/dist/telemetry/local.d.ts.map +1 -0
  48. package/dist/telemetry/local.js +180 -0
  49. package/dist/telemetry/noop.d.ts +16 -0
  50. package/dist/telemetry/noop.d.ts.map +1 -0
  51. package/dist/telemetry/noop.js +39 -0
  52. package/dist/telemetry/opentelemetry.d.ts +24 -0
  53. package/dist/telemetry/opentelemetry.d.ts.map +1 -0
  54. package/dist/telemetry/opentelemetry.js +202 -0
  55. package/migrations/postgres/20260117231749_clumsy_penance/migration.sql +3 -0
  56. package/migrations/postgres/20260117231749_clumsy_penance/snapshot.json +988 -0
  57. package/migrations/postgres/20260118202533_wealthy_mysterio/migration.sql +24 -0
  58. package/migrations/postgres/20260118202533_wealthy_mysterio/snapshot.json +1362 -0
  59. package/package.json +6 -4
  60. package/src/action-job.ts +35 -0
  61. package/src/action-manager.ts +5 -0
  62. package/src/action.ts +56 -0
  63. package/src/adapters/adapter.ts +151 -0
  64. package/src/adapters/postgres/base.ts +342 -23
  65. package/src/adapters/postgres/schema.default.ts +2 -2
  66. package/src/adapters/postgres/schema.ts +49 -1
  67. package/src/adapters/schemas.ts +81 -5
  68. package/src/client.ts +78 -0
  69. package/src/errors.ts +45 -1
  70. package/src/index.ts +3 -1
  71. package/src/server.ts +163 -8
  72. package/src/step-manager.ts +232 -13
  73. package/src/telemetry/adapter.ts +468 -0
  74. package/src/telemetry/index.ts +17 -0
  75. package/src/telemetry/local.ts +336 -0
  76. package/src/telemetry/noop.ts +95 -0
  77. package/src/telemetry/opentelemetry.ts +310 -0
@@ -0,0 +1,988 @@
1
+ {
2
+ "version": "8",
3
+ "dialect": "postgres",
4
+ "id": "4dab3234-6e6b-4a65-a5c5-c898bf2f3911",
5
+ "prevIds": ["e32fddc5-6d55-4c79-87b4-13d3a01b7d09"],
6
+ "ddl": [
7
+ {
8
+ "name": "duron",
9
+ "entityType": "schemas"
10
+ },
11
+ {
12
+ "isRlsEnabled": false,
13
+ "name": "job_steps",
14
+ "entityType": "tables",
15
+ "schema": "duron"
16
+ },
17
+ {
18
+ "isRlsEnabled": false,
19
+ "name": "jobs",
20
+ "entityType": "tables",
21
+ "schema": "duron"
22
+ },
23
+ {
24
+ "type": "uuid",
25
+ "typeSchema": null,
26
+ "notNull": true,
27
+ "dimensions": 0,
28
+ "default": "gen_random_uuid()",
29
+ "generated": null,
30
+ "identity": null,
31
+ "name": "id",
32
+ "entityType": "columns",
33
+ "schema": "duron",
34
+ "table": "job_steps"
35
+ },
36
+ {
37
+ "type": "uuid",
38
+ "typeSchema": null,
39
+ "notNull": true,
40
+ "dimensions": 0,
41
+ "default": null,
42
+ "generated": null,
43
+ "identity": null,
44
+ "name": "job_id",
45
+ "entityType": "columns",
46
+ "schema": "duron",
47
+ "table": "job_steps"
48
+ },
49
+ {
50
+ "type": "uuid",
51
+ "typeSchema": null,
52
+ "notNull": false,
53
+ "dimensions": 0,
54
+ "default": null,
55
+ "generated": null,
56
+ "identity": null,
57
+ "name": "parent_step_id",
58
+ "entityType": "columns",
59
+ "schema": "duron",
60
+ "table": "job_steps"
61
+ },
62
+ {
63
+ "type": "boolean",
64
+ "typeSchema": null,
65
+ "notNull": true,
66
+ "dimensions": 0,
67
+ "default": "false",
68
+ "generated": null,
69
+ "identity": null,
70
+ "name": "branch",
71
+ "entityType": "columns",
72
+ "schema": "duron",
73
+ "table": "job_steps"
74
+ },
75
+ {
76
+ "type": "text",
77
+ "typeSchema": null,
78
+ "notNull": true,
79
+ "dimensions": 0,
80
+ "default": null,
81
+ "generated": null,
82
+ "identity": null,
83
+ "name": "name",
84
+ "entityType": "columns",
85
+ "schema": "duron",
86
+ "table": "job_steps"
87
+ },
88
+ {
89
+ "type": "text",
90
+ "typeSchema": null,
91
+ "notNull": true,
92
+ "dimensions": 0,
93
+ "default": "'active'",
94
+ "generated": null,
95
+ "identity": null,
96
+ "name": "status",
97
+ "entityType": "columns",
98
+ "schema": "duron",
99
+ "table": "job_steps"
100
+ },
101
+ {
102
+ "type": "jsonb",
103
+ "typeSchema": null,
104
+ "notNull": false,
105
+ "dimensions": 0,
106
+ "default": null,
107
+ "generated": null,
108
+ "identity": null,
109
+ "name": "output",
110
+ "entityType": "columns",
111
+ "schema": "duron",
112
+ "table": "job_steps"
113
+ },
114
+ {
115
+ "type": "jsonb",
116
+ "typeSchema": null,
117
+ "notNull": false,
118
+ "dimensions": 0,
119
+ "default": null,
120
+ "generated": null,
121
+ "identity": null,
122
+ "name": "error",
123
+ "entityType": "columns",
124
+ "schema": "duron",
125
+ "table": "job_steps"
126
+ },
127
+ {
128
+ "type": "timestamp with time zone",
129
+ "typeSchema": null,
130
+ "notNull": true,
131
+ "dimensions": 0,
132
+ "default": "now()",
133
+ "generated": null,
134
+ "identity": null,
135
+ "name": "started_at",
136
+ "entityType": "columns",
137
+ "schema": "duron",
138
+ "table": "job_steps"
139
+ },
140
+ {
141
+ "type": "timestamp with time zone",
142
+ "typeSchema": null,
143
+ "notNull": false,
144
+ "dimensions": 0,
145
+ "default": null,
146
+ "generated": null,
147
+ "identity": null,
148
+ "name": "finished_at",
149
+ "entityType": "columns",
150
+ "schema": "duron",
151
+ "table": "job_steps"
152
+ },
153
+ {
154
+ "type": "integer",
155
+ "typeSchema": null,
156
+ "notNull": true,
157
+ "dimensions": 0,
158
+ "default": null,
159
+ "generated": null,
160
+ "identity": null,
161
+ "name": "timeout_ms",
162
+ "entityType": "columns",
163
+ "schema": "duron",
164
+ "table": "job_steps"
165
+ },
166
+ {
167
+ "type": "timestamp with time zone",
168
+ "typeSchema": null,
169
+ "notNull": false,
170
+ "dimensions": 0,
171
+ "default": null,
172
+ "generated": null,
173
+ "identity": null,
174
+ "name": "expires_at",
175
+ "entityType": "columns",
176
+ "schema": "duron",
177
+ "table": "job_steps"
178
+ },
179
+ {
180
+ "type": "integer",
181
+ "typeSchema": null,
182
+ "notNull": true,
183
+ "dimensions": 0,
184
+ "default": "0",
185
+ "generated": null,
186
+ "identity": null,
187
+ "name": "retries_limit",
188
+ "entityType": "columns",
189
+ "schema": "duron",
190
+ "table": "job_steps"
191
+ },
192
+ {
193
+ "type": "integer",
194
+ "typeSchema": null,
195
+ "notNull": true,
196
+ "dimensions": 0,
197
+ "default": "0",
198
+ "generated": null,
199
+ "identity": null,
200
+ "name": "retries_count",
201
+ "entityType": "columns",
202
+ "schema": "duron",
203
+ "table": "job_steps"
204
+ },
205
+ {
206
+ "type": "integer",
207
+ "typeSchema": null,
208
+ "notNull": false,
209
+ "dimensions": 0,
210
+ "default": null,
211
+ "generated": null,
212
+ "identity": null,
213
+ "name": "delayed_ms",
214
+ "entityType": "columns",
215
+ "schema": "duron",
216
+ "table": "job_steps"
217
+ },
218
+ {
219
+ "type": "jsonb",
220
+ "typeSchema": null,
221
+ "notNull": true,
222
+ "dimensions": 0,
223
+ "default": "'{}'",
224
+ "generated": null,
225
+ "identity": null,
226
+ "name": "history_failed_attempts",
227
+ "entityType": "columns",
228
+ "schema": "duron",
229
+ "table": "job_steps"
230
+ },
231
+ {
232
+ "type": "timestamp with time zone",
233
+ "typeSchema": null,
234
+ "notNull": true,
235
+ "dimensions": 0,
236
+ "default": "now()",
237
+ "generated": null,
238
+ "identity": null,
239
+ "name": "created_at",
240
+ "entityType": "columns",
241
+ "schema": "duron",
242
+ "table": "job_steps"
243
+ },
244
+ {
245
+ "type": "timestamp with time zone",
246
+ "typeSchema": null,
247
+ "notNull": true,
248
+ "dimensions": 0,
249
+ "default": "now()",
250
+ "generated": null,
251
+ "identity": null,
252
+ "name": "updated_at",
253
+ "entityType": "columns",
254
+ "schema": "duron",
255
+ "table": "job_steps"
256
+ },
257
+ {
258
+ "type": "uuid",
259
+ "typeSchema": null,
260
+ "notNull": true,
261
+ "dimensions": 0,
262
+ "default": "gen_random_uuid()",
263
+ "generated": null,
264
+ "identity": null,
265
+ "name": "id",
266
+ "entityType": "columns",
267
+ "schema": "duron",
268
+ "table": "jobs"
269
+ },
270
+ {
271
+ "type": "text",
272
+ "typeSchema": null,
273
+ "notNull": true,
274
+ "dimensions": 0,
275
+ "default": null,
276
+ "generated": null,
277
+ "identity": null,
278
+ "name": "action_name",
279
+ "entityType": "columns",
280
+ "schema": "duron",
281
+ "table": "jobs"
282
+ },
283
+ {
284
+ "type": "text",
285
+ "typeSchema": null,
286
+ "notNull": true,
287
+ "dimensions": 0,
288
+ "default": null,
289
+ "generated": null,
290
+ "identity": null,
291
+ "name": "group_key",
292
+ "entityType": "columns",
293
+ "schema": "duron",
294
+ "table": "jobs"
295
+ },
296
+ {
297
+ "type": "text",
298
+ "typeSchema": null,
299
+ "notNull": true,
300
+ "dimensions": 0,
301
+ "default": "'created'",
302
+ "generated": null,
303
+ "identity": null,
304
+ "name": "status",
305
+ "entityType": "columns",
306
+ "schema": "duron",
307
+ "table": "jobs"
308
+ },
309
+ {
310
+ "type": "text",
311
+ "typeSchema": null,
312
+ "notNull": true,
313
+ "dimensions": 0,
314
+ "default": null,
315
+ "generated": null,
316
+ "identity": null,
317
+ "name": "checksum",
318
+ "entityType": "columns",
319
+ "schema": "duron",
320
+ "table": "jobs"
321
+ },
322
+ {
323
+ "type": "jsonb",
324
+ "typeSchema": null,
325
+ "notNull": true,
326
+ "dimensions": 0,
327
+ "default": "'{}'",
328
+ "generated": null,
329
+ "identity": null,
330
+ "name": "input",
331
+ "entityType": "columns",
332
+ "schema": "duron",
333
+ "table": "jobs"
334
+ },
335
+ {
336
+ "type": "jsonb",
337
+ "typeSchema": null,
338
+ "notNull": false,
339
+ "dimensions": 0,
340
+ "default": null,
341
+ "generated": null,
342
+ "identity": null,
343
+ "name": "output",
344
+ "entityType": "columns",
345
+ "schema": "duron",
346
+ "table": "jobs"
347
+ },
348
+ {
349
+ "type": "jsonb",
350
+ "typeSchema": null,
351
+ "notNull": false,
352
+ "dimensions": 0,
353
+ "default": null,
354
+ "generated": null,
355
+ "identity": null,
356
+ "name": "error",
357
+ "entityType": "columns",
358
+ "schema": "duron",
359
+ "table": "jobs"
360
+ },
361
+ {
362
+ "type": "integer",
363
+ "typeSchema": null,
364
+ "notNull": true,
365
+ "dimensions": 0,
366
+ "default": null,
367
+ "generated": null,
368
+ "identity": null,
369
+ "name": "timeout_ms",
370
+ "entityType": "columns",
371
+ "schema": "duron",
372
+ "table": "jobs"
373
+ },
374
+ {
375
+ "type": "timestamp with time zone",
376
+ "typeSchema": null,
377
+ "notNull": false,
378
+ "dimensions": 0,
379
+ "default": null,
380
+ "generated": null,
381
+ "identity": null,
382
+ "name": "expires_at",
383
+ "entityType": "columns",
384
+ "schema": "duron",
385
+ "table": "jobs"
386
+ },
387
+ {
388
+ "type": "timestamp with time zone",
389
+ "typeSchema": null,
390
+ "notNull": false,
391
+ "dimensions": 0,
392
+ "default": null,
393
+ "generated": null,
394
+ "identity": null,
395
+ "name": "started_at",
396
+ "entityType": "columns",
397
+ "schema": "duron",
398
+ "table": "jobs"
399
+ },
400
+ {
401
+ "type": "timestamp with time zone",
402
+ "typeSchema": null,
403
+ "notNull": false,
404
+ "dimensions": 0,
405
+ "default": null,
406
+ "generated": null,
407
+ "identity": null,
408
+ "name": "finished_at",
409
+ "entityType": "columns",
410
+ "schema": "duron",
411
+ "table": "jobs"
412
+ },
413
+ {
414
+ "type": "text",
415
+ "typeSchema": null,
416
+ "notNull": false,
417
+ "dimensions": 0,
418
+ "default": null,
419
+ "generated": null,
420
+ "identity": null,
421
+ "name": "client_id",
422
+ "entityType": "columns",
423
+ "schema": "duron",
424
+ "table": "jobs"
425
+ },
426
+ {
427
+ "type": "integer",
428
+ "typeSchema": null,
429
+ "notNull": true,
430
+ "dimensions": 0,
431
+ "default": "10",
432
+ "generated": null,
433
+ "identity": null,
434
+ "name": "concurrency_limit",
435
+ "entityType": "columns",
436
+ "schema": "duron",
437
+ "table": "jobs"
438
+ },
439
+ {
440
+ "type": "timestamp with time zone",
441
+ "typeSchema": null,
442
+ "notNull": true,
443
+ "dimensions": 0,
444
+ "default": "now()",
445
+ "generated": null,
446
+ "identity": null,
447
+ "name": "created_at",
448
+ "entityType": "columns",
449
+ "schema": "duron",
450
+ "table": "jobs"
451
+ },
452
+ {
453
+ "type": "timestamp with time zone",
454
+ "typeSchema": null,
455
+ "notNull": true,
456
+ "dimensions": 0,
457
+ "default": "now()",
458
+ "generated": null,
459
+ "identity": null,
460
+ "name": "updated_at",
461
+ "entityType": "columns",
462
+ "schema": "duron",
463
+ "table": "jobs"
464
+ },
465
+ {
466
+ "nameExplicit": true,
467
+ "columns": [
468
+ {
469
+ "value": "job_id",
470
+ "isExpression": false,
471
+ "asc": true,
472
+ "nullsFirst": false,
473
+ "opclass": null
474
+ }
475
+ ],
476
+ "isUnique": false,
477
+ "where": null,
478
+ "with": "",
479
+ "method": "btree",
480
+ "concurrently": false,
481
+ "name": "idx_job_steps_job_id",
482
+ "entityType": "indexes",
483
+ "schema": "duron",
484
+ "table": "job_steps"
485
+ },
486
+ {
487
+ "nameExplicit": true,
488
+ "columns": [
489
+ {
490
+ "value": "status",
491
+ "isExpression": false,
492
+ "asc": true,
493
+ "nullsFirst": false,
494
+ "opclass": null
495
+ }
496
+ ],
497
+ "isUnique": false,
498
+ "where": null,
499
+ "with": "",
500
+ "method": "btree",
501
+ "concurrently": false,
502
+ "name": "idx_job_steps_status",
503
+ "entityType": "indexes",
504
+ "schema": "duron",
505
+ "table": "job_steps"
506
+ },
507
+ {
508
+ "nameExplicit": true,
509
+ "columns": [
510
+ {
511
+ "value": "name",
512
+ "isExpression": false,
513
+ "asc": true,
514
+ "nullsFirst": false,
515
+ "opclass": null
516
+ }
517
+ ],
518
+ "isUnique": false,
519
+ "where": null,
520
+ "with": "",
521
+ "method": "btree",
522
+ "concurrently": false,
523
+ "name": "idx_job_steps_name",
524
+ "entityType": "indexes",
525
+ "schema": "duron",
526
+ "table": "job_steps"
527
+ },
528
+ {
529
+ "nameExplicit": true,
530
+ "columns": [
531
+ {
532
+ "value": "expires_at",
533
+ "isExpression": false,
534
+ "asc": true,
535
+ "nullsFirst": false,
536
+ "opclass": null
537
+ }
538
+ ],
539
+ "isUnique": false,
540
+ "where": null,
541
+ "with": "",
542
+ "method": "btree",
543
+ "concurrently": false,
544
+ "name": "idx_job_steps_expires_at",
545
+ "entityType": "indexes",
546
+ "schema": "duron",
547
+ "table": "job_steps"
548
+ },
549
+ {
550
+ "nameExplicit": true,
551
+ "columns": [
552
+ {
553
+ "value": "parent_step_id",
554
+ "isExpression": false,
555
+ "asc": true,
556
+ "nullsFirst": false,
557
+ "opclass": null
558
+ }
559
+ ],
560
+ "isUnique": false,
561
+ "where": null,
562
+ "with": "",
563
+ "method": "btree",
564
+ "concurrently": false,
565
+ "name": "idx_job_steps_parent_step_id",
566
+ "entityType": "indexes",
567
+ "schema": "duron",
568
+ "table": "job_steps"
569
+ },
570
+ {
571
+ "nameExplicit": true,
572
+ "columns": [
573
+ {
574
+ "value": "job_id",
575
+ "isExpression": false,
576
+ "asc": true,
577
+ "nullsFirst": false,
578
+ "opclass": null
579
+ },
580
+ {
581
+ "value": "status",
582
+ "isExpression": false,
583
+ "asc": true,
584
+ "nullsFirst": false,
585
+ "opclass": null
586
+ }
587
+ ],
588
+ "isUnique": false,
589
+ "where": null,
590
+ "with": "",
591
+ "method": "btree",
592
+ "concurrently": false,
593
+ "name": "idx_job_steps_job_status",
594
+ "entityType": "indexes",
595
+ "schema": "duron",
596
+ "table": "job_steps"
597
+ },
598
+ {
599
+ "nameExplicit": true,
600
+ "columns": [
601
+ {
602
+ "value": "job_id",
603
+ "isExpression": false,
604
+ "asc": true,
605
+ "nullsFirst": false,
606
+ "opclass": null
607
+ },
608
+ {
609
+ "value": "name",
610
+ "isExpression": false,
611
+ "asc": true,
612
+ "nullsFirst": false,
613
+ "opclass": null
614
+ }
615
+ ],
616
+ "isUnique": false,
617
+ "where": null,
618
+ "with": "",
619
+ "method": "btree",
620
+ "concurrently": false,
621
+ "name": "idx_job_steps_job_name",
622
+ "entityType": "indexes",
623
+ "schema": "duron",
624
+ "table": "job_steps"
625
+ },
626
+ {
627
+ "nameExplicit": true,
628
+ "columns": [
629
+ {
630
+ "value": "to_tsvector('english', \"output\"::text)",
631
+ "isExpression": true,
632
+ "asc": true,
633
+ "nullsFirst": false,
634
+ "opclass": null
635
+ }
636
+ ],
637
+ "isUnique": false,
638
+ "where": null,
639
+ "with": "",
640
+ "method": "gin",
641
+ "concurrently": false,
642
+ "name": "idx_job_steps_output_fts",
643
+ "entityType": "indexes",
644
+ "schema": "duron",
645
+ "table": "job_steps"
646
+ },
647
+ {
648
+ "nameExplicit": true,
649
+ "columns": [
650
+ {
651
+ "value": "action_name",
652
+ "isExpression": false,
653
+ "asc": true,
654
+ "nullsFirst": false,
655
+ "opclass": null
656
+ }
657
+ ],
658
+ "isUnique": false,
659
+ "where": null,
660
+ "with": "",
661
+ "method": "btree",
662
+ "concurrently": false,
663
+ "name": "idx_jobs_action_name",
664
+ "entityType": "indexes",
665
+ "schema": "duron",
666
+ "table": "jobs"
667
+ },
668
+ {
669
+ "nameExplicit": true,
670
+ "columns": [
671
+ {
672
+ "value": "status",
673
+ "isExpression": false,
674
+ "asc": true,
675
+ "nullsFirst": false,
676
+ "opclass": null
677
+ }
678
+ ],
679
+ "isUnique": false,
680
+ "where": null,
681
+ "with": "",
682
+ "method": "btree",
683
+ "concurrently": false,
684
+ "name": "idx_jobs_status",
685
+ "entityType": "indexes",
686
+ "schema": "duron",
687
+ "table": "jobs"
688
+ },
689
+ {
690
+ "nameExplicit": true,
691
+ "columns": [
692
+ {
693
+ "value": "group_key",
694
+ "isExpression": false,
695
+ "asc": true,
696
+ "nullsFirst": false,
697
+ "opclass": null
698
+ }
699
+ ],
700
+ "isUnique": false,
701
+ "where": null,
702
+ "with": "",
703
+ "method": "btree",
704
+ "concurrently": false,
705
+ "name": "idx_jobs_group_key",
706
+ "entityType": "indexes",
707
+ "schema": "duron",
708
+ "table": "jobs"
709
+ },
710
+ {
711
+ "nameExplicit": true,
712
+ "columns": [
713
+ {
714
+ "value": "started_at",
715
+ "isExpression": false,
716
+ "asc": true,
717
+ "nullsFirst": false,
718
+ "opclass": null
719
+ }
720
+ ],
721
+ "isUnique": false,
722
+ "where": null,
723
+ "with": "",
724
+ "method": "btree",
725
+ "concurrently": false,
726
+ "name": "idx_jobs_started_at",
727
+ "entityType": "indexes",
728
+ "schema": "duron",
729
+ "table": "jobs"
730
+ },
731
+ {
732
+ "nameExplicit": true,
733
+ "columns": [
734
+ {
735
+ "value": "finished_at",
736
+ "isExpression": false,
737
+ "asc": true,
738
+ "nullsFirst": false,
739
+ "opclass": null
740
+ }
741
+ ],
742
+ "isUnique": false,
743
+ "where": null,
744
+ "with": "",
745
+ "method": "btree",
746
+ "concurrently": false,
747
+ "name": "idx_jobs_finished_at",
748
+ "entityType": "indexes",
749
+ "schema": "duron",
750
+ "table": "jobs"
751
+ },
752
+ {
753
+ "nameExplicit": true,
754
+ "columns": [
755
+ {
756
+ "value": "expires_at",
757
+ "isExpression": false,
758
+ "asc": true,
759
+ "nullsFirst": false,
760
+ "opclass": null
761
+ }
762
+ ],
763
+ "isUnique": false,
764
+ "where": null,
765
+ "with": "",
766
+ "method": "btree",
767
+ "concurrently": false,
768
+ "name": "idx_jobs_expires_at",
769
+ "entityType": "indexes",
770
+ "schema": "duron",
771
+ "table": "jobs"
772
+ },
773
+ {
774
+ "nameExplicit": true,
775
+ "columns": [
776
+ {
777
+ "value": "client_id",
778
+ "isExpression": false,
779
+ "asc": true,
780
+ "nullsFirst": false,
781
+ "opclass": null
782
+ }
783
+ ],
784
+ "isUnique": false,
785
+ "where": null,
786
+ "with": "",
787
+ "method": "btree",
788
+ "concurrently": false,
789
+ "name": "idx_jobs_client_id",
790
+ "entityType": "indexes",
791
+ "schema": "duron",
792
+ "table": "jobs"
793
+ },
794
+ {
795
+ "nameExplicit": true,
796
+ "columns": [
797
+ {
798
+ "value": "checksum",
799
+ "isExpression": false,
800
+ "asc": true,
801
+ "nullsFirst": false,
802
+ "opclass": null
803
+ }
804
+ ],
805
+ "isUnique": false,
806
+ "where": null,
807
+ "with": "",
808
+ "method": "btree",
809
+ "concurrently": false,
810
+ "name": "idx_jobs_checksum",
811
+ "entityType": "indexes",
812
+ "schema": "duron",
813
+ "table": "jobs"
814
+ },
815
+ {
816
+ "nameExplicit": true,
817
+ "columns": [
818
+ {
819
+ "value": "concurrency_limit",
820
+ "isExpression": false,
821
+ "asc": true,
822
+ "nullsFirst": false,
823
+ "opclass": null
824
+ }
825
+ ],
826
+ "isUnique": false,
827
+ "where": null,
828
+ "with": "",
829
+ "method": "btree",
830
+ "concurrently": false,
831
+ "name": "idx_jobs_concurrency_limit",
832
+ "entityType": "indexes",
833
+ "schema": "duron",
834
+ "table": "jobs"
835
+ },
836
+ {
837
+ "nameExplicit": true,
838
+ "columns": [
839
+ {
840
+ "value": "action_name",
841
+ "isExpression": false,
842
+ "asc": true,
843
+ "nullsFirst": false,
844
+ "opclass": null
845
+ },
846
+ {
847
+ "value": "status",
848
+ "isExpression": false,
849
+ "asc": true,
850
+ "nullsFirst": false,
851
+ "opclass": null
852
+ }
853
+ ],
854
+ "isUnique": false,
855
+ "where": null,
856
+ "with": "",
857
+ "method": "btree",
858
+ "concurrently": false,
859
+ "name": "idx_jobs_action_status",
860
+ "entityType": "indexes",
861
+ "schema": "duron",
862
+ "table": "jobs"
863
+ },
864
+ {
865
+ "nameExplicit": true,
866
+ "columns": [
867
+ {
868
+ "value": "action_name",
869
+ "isExpression": false,
870
+ "asc": true,
871
+ "nullsFirst": false,
872
+ "opclass": null
873
+ },
874
+ {
875
+ "value": "group_key",
876
+ "isExpression": false,
877
+ "asc": true,
878
+ "nullsFirst": false,
879
+ "opclass": null
880
+ }
881
+ ],
882
+ "isUnique": false,
883
+ "where": null,
884
+ "with": "",
885
+ "method": "btree",
886
+ "concurrently": false,
887
+ "name": "idx_jobs_action_group",
888
+ "entityType": "indexes",
889
+ "schema": "duron",
890
+ "table": "jobs"
891
+ },
892
+ {
893
+ "nameExplicit": true,
894
+ "columns": [
895
+ {
896
+ "value": "to_tsvector('english', \"input\"::text)",
897
+ "isExpression": true,
898
+ "asc": true,
899
+ "nullsFirst": false,
900
+ "opclass": null
901
+ }
902
+ ],
903
+ "isUnique": false,
904
+ "where": null,
905
+ "with": "",
906
+ "method": "gin",
907
+ "concurrently": false,
908
+ "name": "idx_jobs_input_fts",
909
+ "entityType": "indexes",
910
+ "schema": "duron",
911
+ "table": "jobs"
912
+ },
913
+ {
914
+ "nameExplicit": true,
915
+ "columns": [
916
+ {
917
+ "value": "to_tsvector('english', \"output\"::text)",
918
+ "isExpression": true,
919
+ "asc": true,
920
+ "nullsFirst": false,
921
+ "opclass": null
922
+ }
923
+ ],
924
+ "isUnique": false,
925
+ "where": null,
926
+ "with": "",
927
+ "method": "gin",
928
+ "concurrently": false,
929
+ "name": "idx_jobs_output_fts",
930
+ "entityType": "indexes",
931
+ "schema": "duron",
932
+ "table": "jobs"
933
+ },
934
+ {
935
+ "nameExplicit": false,
936
+ "columns": ["job_id"],
937
+ "schemaTo": "duron",
938
+ "tableTo": "jobs",
939
+ "columnsTo": ["id"],
940
+ "onUpdate": "NO ACTION",
941
+ "onDelete": "CASCADE",
942
+ "name": "job_steps_job_id_jobs_id_fkey",
943
+ "entityType": "fks",
944
+ "schema": "duron",
945
+ "table": "job_steps"
946
+ },
947
+ {
948
+ "columns": ["id"],
949
+ "nameExplicit": false,
950
+ "name": "job_steps_pkey",
951
+ "schema": "duron",
952
+ "table": "job_steps",
953
+ "entityType": "pks"
954
+ },
955
+ {
956
+ "columns": ["id"],
957
+ "nameExplicit": false,
958
+ "name": "jobs_pkey",
959
+ "schema": "duron",
960
+ "table": "jobs",
961
+ "entityType": "pks"
962
+ },
963
+ {
964
+ "nameExplicit": true,
965
+ "columns": ["job_id", "name"],
966
+ "nullsNotDistinct": false,
967
+ "name": "unique_job_step_name",
968
+ "entityType": "uniques",
969
+ "schema": "duron",
970
+ "table": "job_steps"
971
+ },
972
+ {
973
+ "value": "\"status\" IN ('active','completed','failed','cancelled')",
974
+ "name": "job_steps_status_check",
975
+ "entityType": "checks",
976
+ "schema": "duron",
977
+ "table": "job_steps"
978
+ },
979
+ {
980
+ "value": "\"status\" IN ('created','active','completed','failed','cancelled')",
981
+ "name": "jobs_status_check",
982
+ "entityType": "checks",
983
+ "schema": "duron",
984
+ "table": "jobs"
985
+ }
986
+ ],
987
+ "renames": []
988
+ }