@pipeline-builder/pipeline-data 4.1.24 → 4.1.25

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 (64) hide show
  1. package/lib/api/alert-destinations.d.ts +17 -0
  2. package/lib/api/alert-destinations.js +36 -0
  3. package/lib/api/reporting/analytics-queries.d.ts +274 -0
  4. package/lib/api/reporting/analytics-queries.js +598 -0
  5. package/lib/api/reporting/daily-rollup.d.ts +41 -0
  6. package/lib/api/reporting/daily-rollup.js +173 -0
  7. package/lib/api/reporting/deploy-rollup.d.ts +78 -0
  8. package/lib/api/reporting/deploy-rollup.js +203 -0
  9. package/lib/api/reporting/dora-scoring.d.ts +14 -0
  10. package/lib/api/reporting/dora-scoring.js +25 -1
  11. package/lib/api/reporting/dora.js +30 -6
  12. package/lib/api/reporting/failure-classifier.d.ts +54 -0
  13. package/lib/api/reporting/failure-classifier.js +179 -0
  14. package/lib/api/reporting/ingest.d.ts +2 -2
  15. package/lib/api/reporting/ingest.js +129 -4
  16. package/lib/api/reporting/last-deploy.d.ts +31 -0
  17. package/lib/api/reporting/last-deploy.js +93 -0
  18. package/lib/api/reporting/needs-attention.d.ts +93 -0
  19. package/lib/api/reporting/needs-attention.js +152 -0
  20. package/lib/api/reporting/plugin-exposure.d.ts +129 -0
  21. package/lib/api/reporting/plugin-exposure.js +312 -0
  22. package/lib/api/reporting/retention-sweep.js +9 -1
  23. package/lib/api/reporting/sql-helpers.d.ts +35 -2
  24. package/lib/api/reporting/sql-helpers.js +39 -1
  25. package/lib/api/reporting/stakeholder/compose.d.ts +115 -0
  26. package/lib/api/reporting/stakeholder/compose.js +234 -0
  27. package/lib/api/reporting/stakeholder/index.d.ts +14 -0
  28. package/lib/api/reporting/stakeholder/index.js +17 -0
  29. package/lib/api/reporting/stakeholder/period.d.ts +102 -0
  30. package/lib/api/reporting/stakeholder/period.js +273 -0
  31. package/lib/api/reporting/stakeholder/report-html.d.ts +93 -0
  32. package/lib/api/reporting/stakeholder/report-html.js +208 -0
  33. package/lib/api/reporting/stakeholder/sections.d.ts +117 -0
  34. package/lib/api/reporting/stakeholder/sections.js +249 -0
  35. package/lib/api/reporting/stakeholder/store.d.ts +450 -0
  36. package/lib/api/reporting/stakeholder/store.js +981 -0
  37. package/lib/api/reporting/stakeholder/templates.d.ts +21 -0
  38. package/lib/api/reporting/stakeholder/templates.js +104 -0
  39. package/lib/api/reporting/types.d.ts +73 -0
  40. package/lib/api/reporting/types.js +1 -1
  41. package/lib/api/reporting-service.d.ts +94 -5
  42. package/lib/api/reporting-service.js +169 -10
  43. package/lib/api/soft-delete-sweep.d.ts +11 -2
  44. package/lib/api/soft-delete-sweep.js +17 -6
  45. package/lib/database/drizzle-schema.d.ts +2263 -385
  46. package/lib/database/drizzle-schema.js +18 -7
  47. package/lib/database/index.d.ts +1 -1
  48. package/lib/database/index.js +4 -2
  49. package/lib/database/schema/compliance.d.ts +0 -682
  50. package/lib/database/schema/compliance.js +6 -66
  51. package/lib/database/schema/ecosystem.d.ts +20 -157
  52. package/lib/database/schema/ecosystem.js +23 -16
  53. package/lib/database/schema/pipeline.d.ts +200 -0
  54. package/lib/database/schema/pipeline.js +100 -1
  55. package/lib/database/schema/plugin.d.ts +20 -1
  56. package/lib/database/schema/plugin.js +13 -1
  57. package/lib/database/schema/reporting-analytics.d.ts +1212 -0
  58. package/lib/database/schema/reporting-analytics.js +250 -0
  59. package/lib/database/schema/reporting-stakeholder.d.ts +1405 -0
  60. package/lib/database/schema/reporting-stakeholder.js +251 -0
  61. package/lib/index.d.ts +10 -1
  62. package/lib/index.js +15 -1
  63. package/lib/testing/exports.json +67 -4
  64. package/package.json +4 -3
@@ -0,0 +1,1212 @@
1
+ /**
2
+ * Why a deploy's lead time could not be measured. Recorded rather than left NULL
3
+ * with no explanation, because the three causes need different fixes and the
4
+ * report shows the reason: no SCM token for the source, the provider rate-limited
5
+ * the range walk, or the source type has no range API at all.
6
+ */
7
+ export declare const LEAD_TIME_GAPS: readonly ['no_token', 'rate_limited', 'unsupported_source', 'no_commit_data'];
8
+ export type LeadTimeGap = (typeof LEAD_TIME_GAPS)[number];
9
+ /**
10
+ * How confidently an incident was attributed to a deploy. Shown beside change
11
+ * failure rate and time to restore, because "this deploy broke production" and
12
+ * "an incident opened some hours after this deploy" are different claims and a
13
+ * manager acts differently on each.
14
+ */
15
+ export declare const CORRELATION_CONFIDENCES: readonly ['high', 'medium', 'low'];
16
+ export type CorrelationConfidence = (typeof CORRELATION_CONFIDENCES)[number];
17
+ /**
18
+ * How a pipeline came to exist. For the adoption section: an org whose pipelines
19
+ * are all hand-built is a different adoption story from one templating them.
20
+ */
21
+ export declare const PIPELINE_CREATION_SOURCES: readonly ['manual', 'template', 'ai', 'bulk', 'cdk'];
22
+ export type PipelineCreationSource = (typeof PIPELINE_CREATION_SOURCES)[number];
23
+ /**
24
+ * What kind of thing broke. Assigned at ingest by the classifier
25
+ * (`api/reporting/src/services/failure-classifier.ts`), which is rules over the
26
+ * action's type and error text — deliberately data, not code, so the taxonomy can
27
+ * grow without a deploy.
28
+ *
29
+ * The categories overlap the plugin-build taxonomy on purpose: a dependency
30
+ * failure is a dependency failure whether it happened building a plugin or
31
+ * running one, and two vocabularies for the same thing would make the report and
32
+ * the build queue disagree.
33
+ */
34
+ export declare const FAILURE_CATEGORIES: readonly ['source_checkout', 'dependency', 'build', 'unit_test', 'integration_test', 'security_scan', 'infrastructure', 'deployment', 'authentication', 'permissions', 'configuration', 'timeout', 'resource_exhaustion', 'external_service', 'other'];
35
+ export type FailureCategory = (typeof FAILURE_CATEGORIES)[number];
36
+ /** Where a plugin-version exposure was observed. */
37
+ export declare const EXPOSURE_SOURCES: readonly ['declared', 'deployed'];
38
+ export type ExposureSource = (typeof EXPOSURE_SOURCES)[number];
39
+ /**
40
+ * What an org decided about an exposure. `open` until someone looks;
41
+ * `accepted` is a time-boxed decision with a reason and an owner, never a
42
+ * permanent mute; `false_positive` is a scanner disagreement worth recording so
43
+ * the same finding stops being re-raised as news.
44
+ */
45
+ export declare const EXPOSURE_TRIAGE_STATES: readonly ['open', 'accepted', 'false_positive', 'fixed'];
46
+ export type ExposureTriageState = (typeof EXPOSURE_TRIAGE_STATES)[number];
47
+ /**
48
+ * One deployment: an execution that reached an environment.
49
+ *
50
+ * Written at ingest, one row per (execution, environment). Everything DORA
51
+ * reports is here, so `/dora`, the trend and the report sections stop scanning
52
+ * raw events — and keep working after the events are swept.
53
+ *
54
+ * @table dora_deployments
55
+ */
56
+ export declare const doraDeployment: import("drizzle-orm/pg-core").PgTableWithColumns<{
57
+ name: "dora_deployments";
58
+ schema: undefined;
59
+ columns: {
60
+ orgId: import("drizzle-orm/pg-core").PgColumn<{
61
+ name: "org_id";
62
+ tableName: "dora_deployments";
63
+ dataType: "string";
64
+ columnType: "PgVarchar";
65
+ data: string;
66
+ driverParam: string;
67
+ notNull: true;
68
+ hasDefault: false;
69
+ isPrimaryKey: false;
70
+ isAutoincrement: false;
71
+ hasRuntimeDefault: false;
72
+ enumValues: [string, ...string[]];
73
+ baseColumn: never;
74
+ identity: undefined;
75
+ generated: undefined;
76
+ }, {}, {
77
+ length: 255;
78
+ }>;
79
+ executionId: import("drizzle-orm/pg-core").PgColumn<{
80
+ name: "execution_id";
81
+ tableName: "dora_deployments";
82
+ dataType: "string";
83
+ columnType: "PgVarchar";
84
+ data: string;
85
+ driverParam: string;
86
+ notNull: true;
87
+ hasDefault: false;
88
+ isPrimaryKey: false;
89
+ isAutoincrement: false;
90
+ hasRuntimeDefault: false;
91
+ enumValues: [string, ...string[]];
92
+ baseColumn: never;
93
+ identity: undefined;
94
+ generated: undefined;
95
+ }, {}, {
96
+ length: 255;
97
+ }>;
98
+ environment: import("drizzle-orm/pg-core").PgColumn<{
99
+ name: "environment";
100
+ tableName: "dora_deployments";
101
+ dataType: "string";
102
+ columnType: "PgVarchar";
103
+ data: string;
104
+ driverParam: string;
105
+ notNull: true;
106
+ hasDefault: false;
107
+ isPrimaryKey: false;
108
+ isAutoincrement: false;
109
+ hasRuntimeDefault: false;
110
+ enumValues: [string, ...string[]];
111
+ baseColumn: never;
112
+ identity: undefined;
113
+ generated: undefined;
114
+ }, {}, {
115
+ length: 255;
116
+ }>;
117
+ pipelineId: import("drizzle-orm/pg-core").PgColumn<{
118
+ name: "pipeline_id";
119
+ tableName: "dora_deployments";
120
+ dataType: "string";
121
+ columnType: "PgVarchar";
122
+ data: string;
123
+ driverParam: string;
124
+ notNull: false;
125
+ hasDefault: false;
126
+ isPrimaryKey: false;
127
+ isAutoincrement: false;
128
+ hasRuntimeDefault: false;
129
+ enumValues: [string, ...string[]];
130
+ baseColumn: never;
131
+ identity: undefined;
132
+ generated: undefined;
133
+ }, {}, {
134
+ length: 255;
135
+ }>;
136
+ deployedAt: import("drizzle-orm/pg-core").PgColumn<{
137
+ name: "deployed_at";
138
+ tableName: "dora_deployments";
139
+ dataType: "date";
140
+ columnType: "PgTimestamp";
141
+ data: Date;
142
+ driverParam: string;
143
+ notNull: true;
144
+ hasDefault: false;
145
+ isPrimaryKey: false;
146
+ isAutoincrement: false;
147
+ hasRuntimeDefault: false;
148
+ enumValues: undefined;
149
+ baseColumn: never;
150
+ identity: undefined;
151
+ generated: undefined;
152
+ }, {}, {}>;
153
+ succeeded: import("drizzle-orm/pg-core").PgColumn<{
154
+ name: "succeeded";
155
+ tableName: "dora_deployments";
156
+ dataType: "boolean";
157
+ columnType: "PgBoolean";
158
+ data: boolean;
159
+ driverParam: boolean;
160
+ notNull: true;
161
+ hasDefault: false;
162
+ isPrimaryKey: false;
163
+ isAutoincrement: false;
164
+ hasRuntimeDefault: false;
165
+ enumValues: undefined;
166
+ baseColumn: never;
167
+ identity: undefined;
168
+ generated: undefined;
169
+ }, {}, {}>;
170
+ earliestCommitAt: import("drizzle-orm/pg-core").PgColumn<{
171
+ name: "earliest_commit_at";
172
+ tableName: "dora_deployments";
173
+ dataType: "date";
174
+ columnType: "PgTimestamp";
175
+ data: Date;
176
+ driverParam: string;
177
+ notNull: false;
178
+ hasDefault: false;
179
+ isPrimaryKey: false;
180
+ isAutoincrement: false;
181
+ hasRuntimeDefault: false;
182
+ enumValues: undefined;
183
+ baseColumn: never;
184
+ identity: undefined;
185
+ generated: undefined;
186
+ }, {}, {}>;
187
+ leadTimeSeconds: import("drizzle-orm/pg-core").PgColumn<{
188
+ name: "lead_time_seconds";
189
+ tableName: "dora_deployments";
190
+ dataType: "number";
191
+ columnType: "PgInteger";
192
+ data: number;
193
+ driverParam: string | number;
194
+ notNull: false;
195
+ hasDefault: false;
196
+ isPrimaryKey: false;
197
+ isAutoincrement: false;
198
+ hasRuntimeDefault: false;
199
+ enumValues: undefined;
200
+ baseColumn: never;
201
+ identity: undefined;
202
+ generated: undefined;
203
+ }, {}, {}>;
204
+ commitCount: import("drizzle-orm/pg-core").PgColumn<{
205
+ name: "commit_count";
206
+ tableName: "dora_deployments";
207
+ dataType: "number";
208
+ columnType: "PgInteger";
209
+ data: number;
210
+ driverParam: string | number;
211
+ notNull: false;
212
+ hasDefault: false;
213
+ isPrimaryKey: false;
214
+ isAutoincrement: false;
215
+ hasRuntimeDefault: false;
216
+ enumValues: undefined;
217
+ baseColumn: never;
218
+ identity: undefined;
219
+ generated: undefined;
220
+ }, {}, {}>;
221
+ commitSha: import("drizzle-orm/pg-core").PgColumn<{
222
+ name: "commit_sha";
223
+ tableName: "dora_deployments";
224
+ dataType: "string";
225
+ columnType: "PgVarchar";
226
+ data: string;
227
+ driverParam: string;
228
+ notNull: false;
229
+ hasDefault: false;
230
+ isPrimaryKey: false;
231
+ isAutoincrement: false;
232
+ hasRuntimeDefault: false;
233
+ enumValues: [string, ...string[]];
234
+ baseColumn: never;
235
+ identity: undefined;
236
+ generated: undefined;
237
+ }, {}, {
238
+ length: 255;
239
+ }>;
240
+ leadTimeGap: import("drizzle-orm/pg-core").PgColumn<{
241
+ name: "lead_time_gap";
242
+ tableName: "dora_deployments";
243
+ dataType: "string";
244
+ columnType: "PgVarchar";
245
+ data: "no_commit_data" | "no_token" | "rate_limited" | "unsupported_source";
246
+ driverParam: string;
247
+ notNull: false;
248
+ hasDefault: false;
249
+ isPrimaryKey: false;
250
+ isAutoincrement: false;
251
+ hasRuntimeDefault: false;
252
+ enumValues: [string, ...string[]];
253
+ baseColumn: never;
254
+ identity: undefined;
255
+ generated: undefined;
256
+ }, {}, {
257
+ length: 30;
258
+ $type: "no_commit_data" | "no_token" | "rate_limited" | "unsupported_source";
259
+ }>;
260
+ failedAt: import("drizzle-orm/pg-core").PgColumn<{
261
+ name: "failed_at";
262
+ tableName: "dora_deployments";
263
+ dataType: "date";
264
+ columnType: "PgTimestamp";
265
+ data: Date;
266
+ driverParam: string;
267
+ notNull: false;
268
+ hasDefault: false;
269
+ isPrimaryKey: false;
270
+ isAutoincrement: false;
271
+ hasRuntimeDefault: false;
272
+ enumValues: undefined;
273
+ baseColumn: never;
274
+ identity: undefined;
275
+ generated: undefined;
276
+ }, {}, {}>;
277
+ restoredAt: import("drizzle-orm/pg-core").PgColumn<{
278
+ name: "restored_at";
279
+ tableName: "dora_deployments";
280
+ dataType: "date";
281
+ columnType: "PgTimestamp";
282
+ data: Date;
283
+ driverParam: string;
284
+ notNull: false;
285
+ hasDefault: false;
286
+ isPrimaryKey: false;
287
+ isAutoincrement: false;
288
+ hasRuntimeDefault: false;
289
+ enumValues: undefined;
290
+ baseColumn: never;
291
+ identity: undefined;
292
+ generated: undefined;
293
+ }, {}, {}>;
294
+ correlationConfidence: import("drizzle-orm/pg-core").PgColumn<{
295
+ name: "correlation_confidence";
296
+ tableName: "dora_deployments";
297
+ dataType: "string";
298
+ columnType: "PgVarchar";
299
+ data: "high" | "low" | "medium";
300
+ driverParam: string;
301
+ notNull: false;
302
+ hasDefault: false;
303
+ isPrimaryKey: false;
304
+ isAutoincrement: false;
305
+ hasRuntimeDefault: false;
306
+ enumValues: [string, ...string[]];
307
+ baseColumn: never;
308
+ identity: undefined;
309
+ generated: undefined;
310
+ }, {}, {
311
+ length: 10;
312
+ $type: "high" | "low" | "medium";
313
+ }>;
314
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
315
+ name: "created_at";
316
+ tableName: "dora_deployments";
317
+ dataType: "date";
318
+ columnType: "PgTimestamp";
319
+ data: Date;
320
+ driverParam: string;
321
+ notNull: true;
322
+ hasDefault: true;
323
+ isPrimaryKey: false;
324
+ isAutoincrement: false;
325
+ hasRuntimeDefault: false;
326
+ enumValues: undefined;
327
+ baseColumn: never;
328
+ identity: undefined;
329
+ generated: undefined;
330
+ }, {}, {}>;
331
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
332
+ name: "updated_at";
333
+ tableName: "dora_deployments";
334
+ dataType: "date";
335
+ columnType: "PgTimestamp";
336
+ data: Date;
337
+ driverParam: string;
338
+ notNull: true;
339
+ hasDefault: true;
340
+ isPrimaryKey: false;
341
+ isAutoincrement: false;
342
+ hasRuntimeDefault: false;
343
+ enumValues: undefined;
344
+ baseColumn: never;
345
+ identity: undefined;
346
+ generated: undefined;
347
+ }, {}, {}>;
348
+ };
349
+ dialect: 'pg';
350
+ }>;
351
+ /**
352
+ * Pre-aggregated execution counts and timings, one row per org, pipeline, stage
353
+ * and UTC day.
354
+ *
355
+ * Rebuilt for a day when late events arrive, so the rollup and the events agree
356
+ * while both exist. `failuresByCategory` is a JSON map rather than a column per
357
+ * category because the taxonomy grows.
358
+ *
359
+ * @table execution_daily_rollups
360
+ */
361
+ export declare const executionDailyRollup: import("drizzle-orm/pg-core").PgTableWithColumns<{
362
+ name: "execution_daily_rollups";
363
+ schema: undefined;
364
+ columns: {
365
+ orgId: import("drizzle-orm/pg-core").PgColumn<{
366
+ name: "org_id";
367
+ tableName: "execution_daily_rollups";
368
+ dataType: "string";
369
+ columnType: "PgVarchar";
370
+ data: string;
371
+ driverParam: string;
372
+ notNull: true;
373
+ hasDefault: false;
374
+ isPrimaryKey: false;
375
+ isAutoincrement: false;
376
+ hasRuntimeDefault: false;
377
+ enumValues: [string, ...string[]];
378
+ baseColumn: never;
379
+ identity: undefined;
380
+ generated: undefined;
381
+ }, {}, {
382
+ length: 255;
383
+ }>;
384
+ day: import("drizzle-orm/pg-core").PgColumn<{
385
+ name: "day";
386
+ tableName: "execution_daily_rollups";
387
+ dataType: "date";
388
+ columnType: "PgTimestamp";
389
+ data: Date;
390
+ driverParam: string;
391
+ notNull: true;
392
+ hasDefault: false;
393
+ isPrimaryKey: false;
394
+ isAutoincrement: false;
395
+ hasRuntimeDefault: false;
396
+ enumValues: undefined;
397
+ baseColumn: never;
398
+ identity: undefined;
399
+ generated: undefined;
400
+ }, {}, {}>;
401
+ pipelineId: import("drizzle-orm/pg-core").PgColumn<{
402
+ name: "pipeline_id";
403
+ tableName: "execution_daily_rollups";
404
+ dataType: "string";
405
+ columnType: "PgVarchar";
406
+ data: string;
407
+ driverParam: string;
408
+ notNull: true;
409
+ hasDefault: false;
410
+ isPrimaryKey: false;
411
+ isAutoincrement: false;
412
+ hasRuntimeDefault: false;
413
+ enumValues: [string, ...string[]];
414
+ baseColumn: never;
415
+ identity: undefined;
416
+ generated: undefined;
417
+ }, {}, {
418
+ length: 255;
419
+ }>;
420
+ stageName: import("drizzle-orm/pg-core").PgColumn<{
421
+ name: "stage_name";
422
+ tableName: "execution_daily_rollups";
423
+ dataType: "string";
424
+ columnType: "PgVarchar";
425
+ data: string;
426
+ driverParam: string;
427
+ notNull: true;
428
+ hasDefault: true;
429
+ isPrimaryKey: false;
430
+ isAutoincrement: false;
431
+ hasRuntimeDefault: false;
432
+ enumValues: [string, ...string[]];
433
+ baseColumn: never;
434
+ identity: undefined;
435
+ generated: undefined;
436
+ }, {}, {
437
+ length: 255;
438
+ }>;
439
+ runs: import("drizzle-orm/pg-core").PgColumn<{
440
+ name: "runs";
441
+ tableName: "execution_daily_rollups";
442
+ dataType: "number";
443
+ columnType: "PgInteger";
444
+ data: number;
445
+ driverParam: string | number;
446
+ notNull: true;
447
+ hasDefault: true;
448
+ isPrimaryKey: false;
449
+ isAutoincrement: false;
450
+ hasRuntimeDefault: false;
451
+ enumValues: undefined;
452
+ baseColumn: never;
453
+ identity: undefined;
454
+ generated: undefined;
455
+ }, {}, {}>;
456
+ succeeded: import("drizzle-orm/pg-core").PgColumn<{
457
+ name: "succeeded";
458
+ tableName: "execution_daily_rollups";
459
+ dataType: "number";
460
+ columnType: "PgInteger";
461
+ data: number;
462
+ driverParam: string | number;
463
+ notNull: true;
464
+ hasDefault: true;
465
+ isPrimaryKey: false;
466
+ isAutoincrement: false;
467
+ hasRuntimeDefault: false;
468
+ enumValues: undefined;
469
+ baseColumn: never;
470
+ identity: undefined;
471
+ generated: undefined;
472
+ }, {}, {}>;
473
+ failed: import("drizzle-orm/pg-core").PgColumn<{
474
+ name: "failed";
475
+ tableName: "execution_daily_rollups";
476
+ dataType: "number";
477
+ columnType: "PgInteger";
478
+ data: number;
479
+ driverParam: string | number;
480
+ notNull: true;
481
+ hasDefault: true;
482
+ isPrimaryKey: false;
483
+ isAutoincrement: false;
484
+ hasRuntimeDefault: false;
485
+ enumValues: undefined;
486
+ baseColumn: never;
487
+ identity: undefined;
488
+ generated: undefined;
489
+ }, {}, {}>;
490
+ failuresByCategory: import("drizzle-orm/pg-core").PgColumn<{
491
+ name: "failures_by_category";
492
+ tableName: "execution_daily_rollups";
493
+ dataType: "json";
494
+ columnType: "PgJsonb";
495
+ data: Record<string, number>;
496
+ driverParam: unknown;
497
+ notNull: true;
498
+ hasDefault: true;
499
+ isPrimaryKey: false;
500
+ isAutoincrement: false;
501
+ hasRuntimeDefault: false;
502
+ enumValues: undefined;
503
+ baseColumn: never;
504
+ identity: undefined;
505
+ generated: undefined;
506
+ }, {}, {
507
+ $type: Record<string, number>;
508
+ }>;
509
+ p50Ms: import("drizzle-orm/pg-core").PgColumn<{
510
+ name: "p50_ms";
511
+ tableName: "execution_daily_rollups";
512
+ dataType: "number";
513
+ columnType: "PgInteger";
514
+ data: number;
515
+ driverParam: string | number;
516
+ notNull: false;
517
+ hasDefault: false;
518
+ isPrimaryKey: false;
519
+ isAutoincrement: false;
520
+ hasRuntimeDefault: false;
521
+ enumValues: undefined;
522
+ baseColumn: never;
523
+ identity: undefined;
524
+ generated: undefined;
525
+ }, {}, {}>;
526
+ p90Ms: import("drizzle-orm/pg-core").PgColumn<{
527
+ name: "p90_ms";
528
+ tableName: "execution_daily_rollups";
529
+ dataType: "number";
530
+ columnType: "PgInteger";
531
+ data: number;
532
+ driverParam: string | number;
533
+ notNull: false;
534
+ hasDefault: false;
535
+ isPrimaryKey: false;
536
+ isAutoincrement: false;
537
+ hasRuntimeDefault: false;
538
+ enumValues: undefined;
539
+ baseColumn: never;
540
+ identity: undefined;
541
+ generated: undefined;
542
+ }, {}, {}>;
543
+ p95Ms: import("drizzle-orm/pg-core").PgColumn<{
544
+ name: "p95_ms";
545
+ tableName: "execution_daily_rollups";
546
+ dataType: "number";
547
+ columnType: "PgInteger";
548
+ data: number;
549
+ driverParam: string | number;
550
+ notNull: false;
551
+ hasDefault: false;
552
+ isPrimaryKey: false;
553
+ isAutoincrement: false;
554
+ hasRuntimeDefault: false;
555
+ enumValues: undefined;
556
+ baseColumn: never;
557
+ identity: undefined;
558
+ generated: undefined;
559
+ }, {}, {}>;
560
+ buildSeconds: import("drizzle-orm/pg-core").PgColumn<{
561
+ name: "build_seconds";
562
+ tableName: "execution_daily_rollups";
563
+ dataType: "number";
564
+ columnType: "PgInteger";
565
+ data: number;
566
+ driverParam: string | number;
567
+ notNull: true;
568
+ hasDefault: true;
569
+ isPrimaryKey: false;
570
+ isAutoincrement: false;
571
+ hasRuntimeDefault: false;
572
+ enumValues: undefined;
573
+ baseColumn: never;
574
+ identity: undefined;
575
+ generated: undefined;
576
+ }, {}, {}>;
577
+ computedAt: import("drizzle-orm/pg-core").PgColumn<{
578
+ name: "computed_at";
579
+ tableName: "execution_daily_rollups";
580
+ dataType: "date";
581
+ columnType: "PgTimestamp";
582
+ data: Date;
583
+ driverParam: string;
584
+ notNull: true;
585
+ hasDefault: true;
586
+ isPrimaryKey: false;
587
+ isAutoincrement: false;
588
+ hasRuntimeDefault: false;
589
+ enumValues: undefined;
590
+ baseColumn: never;
591
+ identity: undefined;
592
+ generated: undefined;
593
+ }, {}, {}>;
594
+ };
595
+ dialect: 'pg';
596
+ }>;
597
+ /**
598
+ * What a pipeline's declared plugin steps resolve to.
599
+ *
600
+ * Recomputed on pipeline write and on plugin publish, rather than resolved at
601
+ * read time: the outdated-plugin section compares "in use" against "latest
602
+ * available" for every step of every pipeline, and doing that resolution per read
603
+ * made it a query nobody could afford to put in a report.
604
+ *
605
+ * @table pipeline_plugin_resolution
606
+ */
607
+ export declare const pipelinePluginResolution: import("drizzle-orm/pg-core").PgTableWithColumns<{
608
+ name: "pipeline_plugin_resolution";
609
+ schema: undefined;
610
+ columns: {
611
+ orgId: import("drizzle-orm/pg-core").PgColumn<{
612
+ name: "org_id";
613
+ tableName: "pipeline_plugin_resolution";
614
+ dataType: "string";
615
+ columnType: "PgVarchar";
616
+ data: string;
617
+ driverParam: string;
618
+ notNull: true;
619
+ hasDefault: false;
620
+ isPrimaryKey: false;
621
+ isAutoincrement: false;
622
+ hasRuntimeDefault: false;
623
+ enumValues: [string, ...string[]];
624
+ baseColumn: never;
625
+ identity: undefined;
626
+ generated: undefined;
627
+ }, {}, {
628
+ length: 255;
629
+ }>;
630
+ pipelineId: import("drizzle-orm/pg-core").PgColumn<{
631
+ name: "pipeline_id";
632
+ tableName: "pipeline_plugin_resolution";
633
+ dataType: "string";
634
+ columnType: "PgVarchar";
635
+ data: string;
636
+ driverParam: string;
637
+ notNull: true;
638
+ hasDefault: false;
639
+ isPrimaryKey: false;
640
+ isAutoincrement: false;
641
+ hasRuntimeDefault: false;
642
+ enumValues: [string, ...string[]];
643
+ baseColumn: never;
644
+ identity: undefined;
645
+ generated: undefined;
646
+ }, {}, {
647
+ length: 255;
648
+ }>;
649
+ stageName: import("drizzle-orm/pg-core").PgColumn<{
650
+ name: "stage_name";
651
+ tableName: "pipeline_plugin_resolution";
652
+ dataType: "string";
653
+ columnType: "PgVarchar";
654
+ data: string;
655
+ driverParam: string;
656
+ notNull: true;
657
+ hasDefault: false;
658
+ isPrimaryKey: false;
659
+ isAutoincrement: false;
660
+ hasRuntimeDefault: false;
661
+ enumValues: [string, ...string[]];
662
+ baseColumn: never;
663
+ identity: undefined;
664
+ generated: undefined;
665
+ }, {}, {
666
+ length: 255;
667
+ }>;
668
+ stepName: import("drizzle-orm/pg-core").PgColumn<{
669
+ name: "step_name";
670
+ tableName: "pipeline_plugin_resolution";
671
+ dataType: "string";
672
+ columnType: "PgVarchar";
673
+ data: string;
674
+ driverParam: string;
675
+ notNull: true;
676
+ hasDefault: false;
677
+ isPrimaryKey: false;
678
+ isAutoincrement: false;
679
+ hasRuntimeDefault: false;
680
+ enumValues: [string, ...string[]];
681
+ baseColumn: never;
682
+ identity: undefined;
683
+ generated: undefined;
684
+ }, {}, {
685
+ length: 255;
686
+ }>;
687
+ pluginPublisher: import("drizzle-orm/pg-core").PgColumn<{
688
+ name: "plugin_publisher";
689
+ tableName: "pipeline_plugin_resolution";
690
+ dataType: "string";
691
+ columnType: "PgVarchar";
692
+ data: string;
693
+ driverParam: string;
694
+ notNull: false;
695
+ hasDefault: false;
696
+ isPrimaryKey: false;
697
+ isAutoincrement: false;
698
+ hasRuntimeDefault: false;
699
+ enumValues: [string, ...string[]];
700
+ baseColumn: never;
701
+ identity: undefined;
702
+ generated: undefined;
703
+ }, {}, {
704
+ length: 39;
705
+ }>;
706
+ pluginName: import("drizzle-orm/pg-core").PgColumn<{
707
+ name: "plugin_name";
708
+ tableName: "pipeline_plugin_resolution";
709
+ dataType: "string";
710
+ columnType: "PgVarchar";
711
+ data: string;
712
+ driverParam: string;
713
+ notNull: true;
714
+ hasDefault: false;
715
+ isPrimaryKey: false;
716
+ isAutoincrement: false;
717
+ hasRuntimeDefault: false;
718
+ enumValues: [string, ...string[]];
719
+ baseColumn: never;
720
+ identity: undefined;
721
+ generated: undefined;
722
+ }, {}, {
723
+ length: 255;
724
+ }>;
725
+ declaredVersion: import("drizzle-orm/pg-core").PgColumn<{
726
+ name: "declared_version";
727
+ tableName: "pipeline_plugin_resolution";
728
+ dataType: "string";
729
+ columnType: "PgVarchar";
730
+ data: string;
731
+ driverParam: string;
732
+ notNull: false;
733
+ hasDefault: false;
734
+ isPrimaryKey: false;
735
+ isAutoincrement: false;
736
+ hasRuntimeDefault: false;
737
+ enumValues: [string, ...string[]];
738
+ baseColumn: never;
739
+ identity: undefined;
740
+ generated: undefined;
741
+ }, {}, {
742
+ length: 50;
743
+ }>;
744
+ resolvedVersion: import("drizzle-orm/pg-core").PgColumn<{
745
+ name: "resolved_version";
746
+ tableName: "pipeline_plugin_resolution";
747
+ dataType: "string";
748
+ columnType: "PgVarchar";
749
+ data: string;
750
+ driverParam: string;
751
+ notNull: false;
752
+ hasDefault: false;
753
+ isPrimaryKey: false;
754
+ isAutoincrement: false;
755
+ hasRuntimeDefault: false;
756
+ enumValues: [string, ...string[]];
757
+ baseColumn: never;
758
+ identity: undefined;
759
+ generated: undefined;
760
+ }, {}, {
761
+ length: 50;
762
+ }>;
763
+ latestVersion: import("drizzle-orm/pg-core").PgColumn<{
764
+ name: "latest_version";
765
+ tableName: "pipeline_plugin_resolution";
766
+ dataType: "string";
767
+ columnType: "PgVarchar";
768
+ data: string;
769
+ driverParam: string;
770
+ notNull: false;
771
+ hasDefault: false;
772
+ isPrimaryKey: false;
773
+ isAutoincrement: false;
774
+ hasRuntimeDefault: false;
775
+ enumValues: [string, ...string[]];
776
+ baseColumn: never;
777
+ identity: undefined;
778
+ generated: undefined;
779
+ }, {}, {
780
+ length: 50;
781
+ }>;
782
+ versionGap: import("drizzle-orm/pg-core").PgColumn<{
783
+ name: "version_gap";
784
+ tableName: "pipeline_plugin_resolution";
785
+ dataType: "string";
786
+ columnType: "PgVarchar";
787
+ data: string;
788
+ driverParam: string;
789
+ notNull: false;
790
+ hasDefault: false;
791
+ isPrimaryKey: false;
792
+ isAutoincrement: false;
793
+ hasRuntimeDefault: false;
794
+ enumValues: [string, ...string[]];
795
+ baseColumn: never;
796
+ identity: undefined;
797
+ generated: undefined;
798
+ }, {}, {
799
+ length: 10;
800
+ }>;
801
+ withinPolicy: import("drizzle-orm/pg-core").PgColumn<{
802
+ name: "within_policy";
803
+ tableName: "pipeline_plugin_resolution";
804
+ dataType: "boolean";
805
+ columnType: "PgBoolean";
806
+ data: boolean;
807
+ driverParam: boolean;
808
+ notNull: true;
809
+ hasDefault: true;
810
+ isPrimaryKey: false;
811
+ isAutoincrement: false;
812
+ hasRuntimeDefault: false;
813
+ enumValues: undefined;
814
+ baseColumn: never;
815
+ identity: undefined;
816
+ generated: undefined;
817
+ }, {}, {}>;
818
+ computedAt: import("drizzle-orm/pg-core").PgColumn<{
819
+ name: "computed_at";
820
+ tableName: "pipeline_plugin_resolution";
821
+ dataType: "date";
822
+ columnType: "PgTimestamp";
823
+ data: Date;
824
+ driverParam: string;
825
+ notNull: true;
826
+ hasDefault: true;
827
+ isPrimaryKey: false;
828
+ isAutoincrement: false;
829
+ hasRuntimeDefault: false;
830
+ enumValues: undefined;
831
+ baseColumn: never;
832
+ identity: undefined;
833
+ generated: undefined;
834
+ }, {}, {}>;
835
+ };
836
+ dialect: 'pg';
837
+ }>;
838
+ /**
839
+ * One pipeline's exposure to one vulnerable plugin version.
840
+ *
841
+ * Opened by the nightly rescan when a version in use has fixable Critical/High
842
+ * findings, and CLOSED by a deploy that moves the pipeline off it. It is a
843
+ * per-pipeline row rather than a per-version one because the question a manager
844
+ * asks is "which of our pipelines is exposed", and answering that from a
845
+ * version-level table means re-deriving the pipeline set on every read.
846
+ *
847
+ * Keyed by IMAGE DIGEST, not version string: a version rebuilt on a patched base
848
+ * image is a different artifact with different findings, and keying on the string
849
+ * would report the old one forever.
850
+ *
851
+ * @table plugin_vuln_exposure
852
+ */
853
+ export declare const pluginVulnExposure: import("drizzle-orm/pg-core").PgTableWithColumns<{
854
+ name: "plugin_vuln_exposure";
855
+ schema: undefined;
856
+ columns: {
857
+ id: import("drizzle-orm/pg-core").PgColumn<{
858
+ name: "id";
859
+ tableName: "plugin_vuln_exposure";
860
+ dataType: "string";
861
+ columnType: "PgVarchar";
862
+ data: string;
863
+ driverParam: string;
864
+ notNull: true;
865
+ hasDefault: false;
866
+ isPrimaryKey: true;
867
+ isAutoincrement: false;
868
+ hasRuntimeDefault: false;
869
+ enumValues: [string, ...string[]];
870
+ baseColumn: never;
871
+ identity: undefined;
872
+ generated: undefined;
873
+ }, {}, {
874
+ length: 255;
875
+ }>;
876
+ orgId: import("drizzle-orm/pg-core").PgColumn<{
877
+ name: "org_id";
878
+ tableName: "plugin_vuln_exposure";
879
+ dataType: "string";
880
+ columnType: "PgVarchar";
881
+ data: string;
882
+ driverParam: string;
883
+ notNull: true;
884
+ hasDefault: false;
885
+ isPrimaryKey: false;
886
+ isAutoincrement: false;
887
+ hasRuntimeDefault: false;
888
+ enumValues: [string, ...string[]];
889
+ baseColumn: never;
890
+ identity: undefined;
891
+ generated: undefined;
892
+ }, {}, {
893
+ length: 255;
894
+ }>;
895
+ pipelineId: import("drizzle-orm/pg-core").PgColumn<{
896
+ name: "pipeline_id";
897
+ tableName: "plugin_vuln_exposure";
898
+ dataType: "string";
899
+ columnType: "PgVarchar";
900
+ data: string;
901
+ driverParam: string;
902
+ notNull: true;
903
+ hasDefault: false;
904
+ isPrimaryKey: false;
905
+ isAutoincrement: false;
906
+ hasRuntimeDefault: false;
907
+ enumValues: [string, ...string[]];
908
+ baseColumn: never;
909
+ identity: undefined;
910
+ generated: undefined;
911
+ }, {}, {
912
+ length: 255;
913
+ }>;
914
+ pluginPublisher: import("drizzle-orm/pg-core").PgColumn<{
915
+ name: "plugin_publisher";
916
+ tableName: "plugin_vuln_exposure";
917
+ dataType: "string";
918
+ columnType: "PgVarchar";
919
+ data: string;
920
+ driverParam: string;
921
+ notNull: false;
922
+ hasDefault: false;
923
+ isPrimaryKey: false;
924
+ isAutoincrement: false;
925
+ hasRuntimeDefault: false;
926
+ enumValues: [string, ...string[]];
927
+ baseColumn: never;
928
+ identity: undefined;
929
+ generated: undefined;
930
+ }, {}, {
931
+ length: 39;
932
+ }>;
933
+ pluginName: import("drizzle-orm/pg-core").PgColumn<{
934
+ name: "plugin_name";
935
+ tableName: "plugin_vuln_exposure";
936
+ dataType: "string";
937
+ columnType: "PgVarchar";
938
+ data: string;
939
+ driverParam: string;
940
+ notNull: true;
941
+ hasDefault: false;
942
+ isPrimaryKey: false;
943
+ isAutoincrement: false;
944
+ hasRuntimeDefault: false;
945
+ enumValues: [string, ...string[]];
946
+ baseColumn: never;
947
+ identity: undefined;
948
+ generated: undefined;
949
+ }, {}, {
950
+ length: 255;
951
+ }>;
952
+ pluginVersion: import("drizzle-orm/pg-core").PgColumn<{
953
+ name: "plugin_version";
954
+ tableName: "plugin_vuln_exposure";
955
+ dataType: "string";
956
+ columnType: "PgVarchar";
957
+ data: string;
958
+ driverParam: string;
959
+ notNull: true;
960
+ hasDefault: false;
961
+ isPrimaryKey: false;
962
+ isAutoincrement: false;
963
+ hasRuntimeDefault: false;
964
+ enumValues: [string, ...string[]];
965
+ baseColumn: never;
966
+ identity: undefined;
967
+ generated: undefined;
968
+ }, {}, {
969
+ length: 50;
970
+ }>;
971
+ imageDigest: import("drizzle-orm/pg-core").PgColumn<{
972
+ name: "image_digest";
973
+ tableName: "plugin_vuln_exposure";
974
+ dataType: "string";
975
+ columnType: "PgVarchar";
976
+ data: string;
977
+ driverParam: string;
978
+ notNull: false;
979
+ hasDefault: false;
980
+ isPrimaryKey: false;
981
+ isAutoincrement: false;
982
+ hasRuntimeDefault: false;
983
+ enumValues: [string, ...string[]];
984
+ baseColumn: never;
985
+ identity: undefined;
986
+ generated: undefined;
987
+ }, {}, {
988
+ length: 71;
989
+ }>;
990
+ source: import("drizzle-orm/pg-core").PgColumn<{
991
+ name: "source";
992
+ tableName: "plugin_vuln_exposure";
993
+ dataType: "string";
994
+ columnType: "PgVarchar";
995
+ data: "declared" | "deployed";
996
+ driverParam: string;
997
+ notNull: true;
998
+ hasDefault: false;
999
+ isPrimaryKey: false;
1000
+ isAutoincrement: false;
1001
+ hasRuntimeDefault: false;
1002
+ enumValues: [string, ...string[]];
1003
+ baseColumn: never;
1004
+ identity: undefined;
1005
+ generated: undefined;
1006
+ }, {}, {
1007
+ length: 10;
1008
+ $type: "declared" | "deployed";
1009
+ }>;
1010
+ criticalCount: import("drizzle-orm/pg-core").PgColumn<{
1011
+ name: "critical_count";
1012
+ tableName: "plugin_vuln_exposure";
1013
+ dataType: "number";
1014
+ columnType: "PgInteger";
1015
+ data: number;
1016
+ driverParam: string | number;
1017
+ notNull: true;
1018
+ hasDefault: true;
1019
+ isPrimaryKey: false;
1020
+ isAutoincrement: false;
1021
+ hasRuntimeDefault: false;
1022
+ enumValues: undefined;
1023
+ baseColumn: never;
1024
+ identity: undefined;
1025
+ generated: undefined;
1026
+ }, {}, {}>;
1027
+ highCount: import("drizzle-orm/pg-core").PgColumn<{
1028
+ name: "high_count";
1029
+ tableName: "plugin_vuln_exposure";
1030
+ dataType: "number";
1031
+ columnType: "PgInteger";
1032
+ data: number;
1033
+ driverParam: string | number;
1034
+ notNull: true;
1035
+ hasDefault: true;
1036
+ isPrimaryKey: false;
1037
+ isAutoincrement: false;
1038
+ hasRuntimeDefault: false;
1039
+ enumValues: undefined;
1040
+ baseColumn: never;
1041
+ identity: undefined;
1042
+ generated: undefined;
1043
+ }, {}, {}>;
1044
+ topFindings: import("drizzle-orm/pg-core").PgColumn<{
1045
+ name: "top_findings";
1046
+ tableName: "plugin_vuln_exposure";
1047
+ dataType: "json";
1048
+ columnType: "PgJsonb";
1049
+ data: Record<string, unknown>[];
1050
+ driverParam: unknown;
1051
+ notNull: true;
1052
+ hasDefault: true;
1053
+ isPrimaryKey: false;
1054
+ isAutoincrement: false;
1055
+ hasRuntimeDefault: false;
1056
+ enumValues: undefined;
1057
+ baseColumn: never;
1058
+ identity: undefined;
1059
+ generated: undefined;
1060
+ }, {}, {
1061
+ $type: Record<string, unknown>[];
1062
+ }>;
1063
+ flaggedAt: import("drizzle-orm/pg-core").PgColumn<{
1064
+ name: "flagged_at";
1065
+ tableName: "plugin_vuln_exposure";
1066
+ dataType: "date";
1067
+ columnType: "PgTimestamp";
1068
+ data: Date;
1069
+ driverParam: string;
1070
+ notNull: true;
1071
+ hasDefault: true;
1072
+ isPrimaryKey: false;
1073
+ isAutoincrement: false;
1074
+ hasRuntimeDefault: false;
1075
+ enumValues: undefined;
1076
+ baseColumn: never;
1077
+ identity: undefined;
1078
+ generated: undefined;
1079
+ }, {}, {}>;
1080
+ fixedAt: import("drizzle-orm/pg-core").PgColumn<{
1081
+ name: "fixed_at";
1082
+ tableName: "plugin_vuln_exposure";
1083
+ dataType: "date";
1084
+ columnType: "PgTimestamp";
1085
+ data: Date;
1086
+ driverParam: string;
1087
+ notNull: false;
1088
+ hasDefault: false;
1089
+ isPrimaryKey: false;
1090
+ isAutoincrement: false;
1091
+ hasRuntimeDefault: false;
1092
+ enumValues: undefined;
1093
+ baseColumn: never;
1094
+ identity: undefined;
1095
+ generated: undefined;
1096
+ }, {}, {}>;
1097
+ triageState: import("drizzle-orm/pg-core").PgColumn<{
1098
+ name: "triage_state";
1099
+ tableName: "plugin_vuln_exposure";
1100
+ dataType: "string";
1101
+ columnType: "PgVarchar";
1102
+ data: "accepted" | "false_positive" | "fixed" | "open";
1103
+ driverParam: string;
1104
+ notNull: true;
1105
+ hasDefault: true;
1106
+ isPrimaryKey: false;
1107
+ isAutoincrement: false;
1108
+ hasRuntimeDefault: false;
1109
+ enumValues: [string, ...string[]];
1110
+ baseColumn: never;
1111
+ identity: undefined;
1112
+ generated: undefined;
1113
+ }, {}, {
1114
+ length: 20;
1115
+ $type: "accepted" | "false_positive" | "fixed" | "open";
1116
+ }>;
1117
+ acceptedUntil: import("drizzle-orm/pg-core").PgColumn<{
1118
+ name: "accepted_until";
1119
+ tableName: "plugin_vuln_exposure";
1120
+ dataType: "date";
1121
+ columnType: "PgTimestamp";
1122
+ data: Date;
1123
+ driverParam: string;
1124
+ notNull: false;
1125
+ hasDefault: false;
1126
+ isPrimaryKey: false;
1127
+ isAutoincrement: false;
1128
+ hasRuntimeDefault: false;
1129
+ enumValues: undefined;
1130
+ baseColumn: never;
1131
+ identity: undefined;
1132
+ generated: undefined;
1133
+ }, {}, {}>;
1134
+ triageReason: import("drizzle-orm/pg-core").PgColumn<{
1135
+ name: "triage_reason";
1136
+ tableName: "plugin_vuln_exposure";
1137
+ dataType: "string";
1138
+ columnType: "PgText";
1139
+ data: string;
1140
+ driverParam: string;
1141
+ notNull: false;
1142
+ hasDefault: false;
1143
+ isPrimaryKey: false;
1144
+ isAutoincrement: false;
1145
+ hasRuntimeDefault: false;
1146
+ enumValues: [string, ...string[]];
1147
+ baseColumn: never;
1148
+ identity: undefined;
1149
+ generated: undefined;
1150
+ }, {}, {}>;
1151
+ triagedBy: import("drizzle-orm/pg-core").PgColumn<{
1152
+ name: "triaged_by";
1153
+ tableName: "plugin_vuln_exposure";
1154
+ dataType: "string";
1155
+ columnType: "PgText";
1156
+ data: string;
1157
+ driverParam: string;
1158
+ notNull: false;
1159
+ hasDefault: false;
1160
+ isPrimaryKey: false;
1161
+ isAutoincrement: false;
1162
+ hasRuntimeDefault: false;
1163
+ enumValues: [string, ...string[]];
1164
+ baseColumn: never;
1165
+ identity: undefined;
1166
+ generated: undefined;
1167
+ }, {}, {}>;
1168
+ triagedAt: import("drizzle-orm/pg-core").PgColumn<{
1169
+ name: "triaged_at";
1170
+ tableName: "plugin_vuln_exposure";
1171
+ dataType: "date";
1172
+ columnType: "PgTimestamp";
1173
+ data: Date;
1174
+ driverParam: string;
1175
+ notNull: false;
1176
+ hasDefault: false;
1177
+ isPrimaryKey: false;
1178
+ isAutoincrement: false;
1179
+ hasRuntimeDefault: false;
1180
+ enumValues: undefined;
1181
+ baseColumn: never;
1182
+ identity: undefined;
1183
+ generated: undefined;
1184
+ }, {}, {}>;
1185
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
1186
+ name: "updated_at";
1187
+ tableName: "plugin_vuln_exposure";
1188
+ dataType: "date";
1189
+ columnType: "PgTimestamp";
1190
+ data: Date;
1191
+ driverParam: string;
1192
+ notNull: true;
1193
+ hasDefault: true;
1194
+ isPrimaryKey: false;
1195
+ isAutoincrement: false;
1196
+ hasRuntimeDefault: false;
1197
+ enumValues: undefined;
1198
+ baseColumn: never;
1199
+ identity: undefined;
1200
+ generated: undefined;
1201
+ }, {}, {}>;
1202
+ };
1203
+ dialect: 'pg';
1204
+ }>;
1205
+ export type DoraDeployment = typeof doraDeployment.$inferSelect;
1206
+ export type DoraDeploymentInsert = typeof doraDeployment.$inferInsert;
1207
+ export type ExecutionDailyRollup = typeof executionDailyRollup.$inferSelect;
1208
+ export type ExecutionDailyRollupInsert = typeof executionDailyRollup.$inferInsert;
1209
+ export type PipelinePluginResolution = typeof pipelinePluginResolution.$inferSelect;
1210
+ export type PipelinePluginResolutionInsert = typeof pipelinePluginResolution.$inferInsert;
1211
+ export type PluginVulnExposure = typeof pluginVulnExposure.$inferSelect;
1212
+ export type PluginVulnExposureInsert = typeof pluginVulnExposure.$inferInsert;