@pipeline-builder/pipeline-data 0.0.1

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 (48) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +61 -0
  3. package/drizzle.config.ts +17 -0
  4. package/lib/api/access-control-builder.d.ts +148 -0
  5. package/lib/api/access-control-builder.js +199 -0
  6. package/lib/api/crud-service.d.ts +343 -0
  7. package/lib/api/crud-service.js +849 -0
  8. package/lib/api/query-builders.d.ts +82 -0
  9. package/lib/api/query-builders.js +460 -0
  10. package/lib/api/reporting-service.d.ts +685 -0
  11. package/lib/api/reporting-service.js +1564 -0
  12. package/lib/api/soft-delete-sweep.d.ts +65 -0
  13. package/lib/api/soft-delete-sweep.js +124 -0
  14. package/lib/api/viewer-context.d.ts +29 -0
  15. package/lib/api/viewer-context.js +63 -0
  16. package/lib/core/query-filters.d.ts +263 -0
  17. package/lib/core/query-filters.js +4 -0
  18. package/lib/database/drizzle-schema.d.ts +7357 -0
  19. package/lib/database/drizzle-schema.js +66 -0
  20. package/lib/database/index.d.ts +5 -0
  21. package/lib/database/index.js +8 -0
  22. package/lib/database/migrator.d.ts +20 -0
  23. package/lib/database/migrator.js +80 -0
  24. package/lib/database/postgres-connection.d.ts +201 -0
  25. package/lib/database/postgres-connection.js +413 -0
  26. package/lib/database/retry-strategy.d.ts +68 -0
  27. package/lib/database/retry-strategy.js +122 -0
  28. package/lib/database/schema/alert.d.ts +588 -0
  29. package/lib/database/schema/alert.js +130 -0
  30. package/lib/database/schema/compliance.d.ts +3319 -0
  31. package/lib/database/schema/compliance.js +377 -0
  32. package/lib/database/schema/dashboard.d.ts +474 -0
  33. package/lib/database/schema/dashboard.js +129 -0
  34. package/lib/database/schema/message-attachment.d.ts +183 -0
  35. package/lib/database/schema/message-attachment.js +40 -0
  36. package/lib/database/schema/message.d.ts +411 -0
  37. package/lib/database/schema/message.js +114 -0
  38. package/lib/database/schema/pipeline-template.d.ts +466 -0
  39. package/lib/database/schema/pipeline-template.js +80 -0
  40. package/lib/database/schema/pipeline.d.ts +1613 -0
  41. package/lib/database/schema/pipeline.js +332 -0
  42. package/lib/database/schema/plugin.d.ts +749 -0
  43. package/lib/database/schema/plugin.js +166 -0
  44. package/lib/database/tenancy.d.ts +103 -0
  45. package/lib/database/tenancy.js +167 -0
  46. package/lib/index.d.ts +32 -0
  47. package/lib/index.js +38 -0
  48. package/package.json +161 -0
@@ -0,0 +1,588 @@
1
+ /**
2
+ * Per-org alert notification destination. Multi-tenant alerting routes
3
+ * Alertmanager webhooks to the platform; the platform looks the firing
4
+ * alert's `org_id` label up here and forwards to each enabled destination.
5
+ *
6
+ * Channels * - `slack` `target` is the incoming-webhook URL
7
+ * - `webhook` `target` is any HTTPS URL; the relay posts the
8
+ * Alertmanager v2 webhook payload verbatim
9
+ * - `in-app` `target` ignored; surfaces as an in-app message via
10
+ * the existing `messages` table
11
+ *
12
+ * Secrets * - For `slack`/`webhook` channels, the URL itself is the secret. We don't
13
+ * log it on `dashboard.update` or surface the full URL on GET endpoints
14
+ * after write; just a masked preview (last 12 chars). Stored in clear
15
+ * text same posture as `compliance_notification_preferences.webhook_url`
16
+ * and consistent with the rest of the app's secret handling for org-level
17
+ * integrations. If we add a KMS-encryption tier for any secret column,
18
+ * this is one of the first to migrate.
19
+ *
20
+ * @table org_alert_destinations
21
+ */
22
+ export declare const orgAlertDestination: import("drizzle-orm/pg-core").PgTableWithColumns<{
23
+ name: "org_alert_destinations";
24
+ schema: undefined;
25
+ columns: {
26
+ id: import("drizzle-orm/pg-core").PgColumn<{
27
+ name: "id";
28
+ tableName: "org_alert_destinations";
29
+ dataType: "string";
30
+ columnType: "PgUUID";
31
+ data: string;
32
+ driverParam: string;
33
+ notNull: true;
34
+ hasDefault: true;
35
+ isPrimaryKey: true;
36
+ isAutoincrement: false;
37
+ hasRuntimeDefault: false;
38
+ enumValues: undefined;
39
+ baseColumn: never;
40
+ identity: undefined;
41
+ generated: undefined;
42
+ }, {}, {}>;
43
+ orgId: import("drizzle-orm/pg-core").PgColumn<{
44
+ name: "org_id";
45
+ tableName: "org_alert_destinations";
46
+ dataType: "string";
47
+ columnType: "PgVarchar";
48
+ data: string;
49
+ driverParam: string;
50
+ notNull: true;
51
+ hasDefault: false;
52
+ isPrimaryKey: false;
53
+ isAutoincrement: false;
54
+ hasRuntimeDefault: false;
55
+ enumValues: [string, ...string[]];
56
+ baseColumn: never;
57
+ identity: undefined;
58
+ generated: undefined;
59
+ }, {}, {
60
+ length: 255;
61
+ }>;
62
+ createdBy: import("drizzle-orm/pg-core").PgColumn<{
63
+ name: "created_by";
64
+ tableName: "org_alert_destinations";
65
+ dataType: "string";
66
+ columnType: "PgText";
67
+ data: string;
68
+ driverParam: string;
69
+ notNull: true;
70
+ hasDefault: false;
71
+ isPrimaryKey: false;
72
+ isAutoincrement: false;
73
+ hasRuntimeDefault: false;
74
+ enumValues: [string, ...string[]];
75
+ baseColumn: never;
76
+ identity: undefined;
77
+ generated: undefined;
78
+ }, {}, {}>;
79
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
80
+ name: "created_at";
81
+ tableName: "org_alert_destinations";
82
+ dataType: "date";
83
+ columnType: "PgTimestamp";
84
+ data: Date;
85
+ driverParam: string;
86
+ notNull: true;
87
+ hasDefault: true;
88
+ isPrimaryKey: false;
89
+ isAutoincrement: false;
90
+ hasRuntimeDefault: false;
91
+ enumValues: undefined;
92
+ baseColumn: never;
93
+ identity: undefined;
94
+ generated: undefined;
95
+ }, {}, {}>;
96
+ updatedBy: import("drizzle-orm/pg-core").PgColumn<{
97
+ name: "updated_by";
98
+ tableName: "org_alert_destinations";
99
+ dataType: "string";
100
+ columnType: "PgText";
101
+ data: string;
102
+ driverParam: string;
103
+ notNull: true;
104
+ hasDefault: false;
105
+ isPrimaryKey: false;
106
+ isAutoincrement: false;
107
+ hasRuntimeDefault: false;
108
+ enumValues: [string, ...string[]];
109
+ baseColumn: never;
110
+ identity: undefined;
111
+ generated: undefined;
112
+ }, {}, {}>;
113
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
114
+ name: "updated_at";
115
+ tableName: "org_alert_destinations";
116
+ dataType: "date";
117
+ columnType: "PgTimestamp";
118
+ data: Date;
119
+ driverParam: string;
120
+ notNull: true;
121
+ hasDefault: true;
122
+ isPrimaryKey: false;
123
+ isAutoincrement: false;
124
+ hasRuntimeDefault: false;
125
+ enumValues: undefined;
126
+ baseColumn: never;
127
+ identity: undefined;
128
+ generated: undefined;
129
+ }, {}, {}>;
130
+ channel: import("drizzle-orm/pg-core").PgColumn<{
131
+ name: "channel";
132
+ tableName: "org_alert_destinations";
133
+ dataType: "string";
134
+ columnType: "PgVarchar";
135
+ data: "email" | "in-app" | "slack" | "webhook";
136
+ driverParam: string;
137
+ notNull: true;
138
+ hasDefault: false;
139
+ isPrimaryKey: false;
140
+ isAutoincrement: false;
141
+ hasRuntimeDefault: false;
142
+ enumValues: [string, ...string[]];
143
+ baseColumn: never;
144
+ identity: undefined;
145
+ generated: undefined;
146
+ }, {}, {
147
+ length: 20;
148
+ $type: "email" | "in-app" | "slack" | "webhook";
149
+ }>;
150
+ target: import("drizzle-orm/pg-core").PgColumn<{
151
+ name: "target";
152
+ tableName: "org_alert_destinations";
153
+ dataType: "string";
154
+ columnType: "PgText";
155
+ data: string;
156
+ driverParam: string;
157
+ notNull: true;
158
+ hasDefault: true;
159
+ isPrimaryKey: false;
160
+ isAutoincrement: false;
161
+ hasRuntimeDefault: false;
162
+ enumValues: [string, ...string[]];
163
+ baseColumn: never;
164
+ identity: undefined;
165
+ generated: undefined;
166
+ }, {}, {}>;
167
+ label: import("drizzle-orm/pg-core").PgColumn<{
168
+ name: "label";
169
+ tableName: "org_alert_destinations";
170
+ dataType: "string";
171
+ columnType: "PgVarchar";
172
+ data: string;
173
+ driverParam: string;
174
+ notNull: true;
175
+ hasDefault: false;
176
+ isPrimaryKey: false;
177
+ isAutoincrement: false;
178
+ hasRuntimeDefault: false;
179
+ enumValues: [string, ...string[]];
180
+ baseColumn: never;
181
+ identity: undefined;
182
+ generated: undefined;
183
+ }, {}, {
184
+ length: 100;
185
+ }>;
186
+ minSeverity: import("drizzle-orm/pg-core").PgColumn<{
187
+ name: "min_severity";
188
+ tableName: "org_alert_destinations";
189
+ dataType: "string";
190
+ columnType: "PgVarchar";
191
+ data: "critical" | "warning";
192
+ driverParam: string;
193
+ notNull: true;
194
+ hasDefault: true;
195
+ isPrimaryKey: false;
196
+ isAutoincrement: false;
197
+ hasRuntimeDefault: false;
198
+ enumValues: [string, ...string[]];
199
+ baseColumn: never;
200
+ identity: undefined;
201
+ generated: undefined;
202
+ }, {}, {
203
+ length: 10;
204
+ $type: "critical" | "warning";
205
+ }>;
206
+ enabled: import("drizzle-orm/pg-core").PgColumn<{
207
+ name: "enabled";
208
+ tableName: "org_alert_destinations";
209
+ dataType: "boolean";
210
+ columnType: "PgBoolean";
211
+ data: boolean;
212
+ driverParam: boolean;
213
+ notNull: true;
214
+ hasDefault: true;
215
+ isPrimaryKey: false;
216
+ isAutoincrement: false;
217
+ hasRuntimeDefault: false;
218
+ enumValues: undefined;
219
+ baseColumn: never;
220
+ identity: undefined;
221
+ generated: undefined;
222
+ }, {}, {}>;
223
+ deletedAt: import("drizzle-orm/pg-core").PgColumn<{
224
+ name: "deleted_at";
225
+ tableName: "org_alert_destinations";
226
+ dataType: "date";
227
+ columnType: "PgTimestamp";
228
+ data: Date;
229
+ driverParam: string;
230
+ notNull: false;
231
+ hasDefault: false;
232
+ isPrimaryKey: false;
233
+ isAutoincrement: false;
234
+ hasRuntimeDefault: false;
235
+ enumValues: undefined;
236
+ baseColumn: never;
237
+ identity: undefined;
238
+ generated: undefined;
239
+ }, {}, {}>;
240
+ deletedBy: import("drizzle-orm/pg-core").PgColumn<{
241
+ name: "deleted_by";
242
+ tableName: "org_alert_destinations";
243
+ dataType: "string";
244
+ columnType: "PgText";
245
+ data: string;
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
+ purgeAfter: import("drizzle-orm/pg-core").PgColumn<{
258
+ name: "purge_after";
259
+ tableName: "org_alert_destinations";
260
+ dataType: "date";
261
+ columnType: "PgTimestamp";
262
+ data: Date;
263
+ driverParam: string;
264
+ notNull: false;
265
+ hasDefault: false;
266
+ isPrimaryKey: false;
267
+ isAutoincrement: false;
268
+ hasRuntimeDefault: false;
269
+ enumValues: undefined;
270
+ baseColumn: never;
271
+ identity: undefined;
272
+ generated: undefined;
273
+ }, {}, {}>;
274
+ };
275
+ dialect: 'pg';
276
+ }>;
277
+ /**
278
+ * Per-org alert rules authored by operators.
279
+ *
280
+ * Each row materializes into a `groups[].rules[]` entry in a Prometheus
281
+ * `rule_files` YAML. The materializer endpoint
282
+ * `GET /api/observability/alert-rules/materialized.yml` renders all enabled
283
+ * rules across all orgs (deleted=null) into one document; Prometheus polls
284
+ * or a sidecar copies it into the rules dir.
285
+ *
286
+ * Tenancy + safety * - `expr` is user-authored PromQL. The CRUD route enforces that the
287
+ * expression substring-contains `org_id="<orgId>"` so an operator can't
288
+ * write rules that fire on other orgs' metrics. This is a coarse gate
289
+ * (a malformed expression can still be syntactically wrong) but it
290
+ * closes the cross-tenant data leak. Real PromQL parsing + automatic
291
+ * org_id injection is a follow-on.
292
+ * - The materialized rule carries `labels.org_id = <orgId>` so the
293
+ * alertmanager-relay routes firing alerts to the right org's
294
+ * destinations (matches the alert-relay model).
295
+ *
296
+ * @table org_alert_rules
297
+ */
298
+ export declare const orgAlertRule: import("drizzle-orm/pg-core").PgTableWithColumns<{
299
+ name: "org_alert_rules";
300
+ schema: undefined;
301
+ columns: {
302
+ id: import("drizzle-orm/pg-core").PgColumn<{
303
+ name: "id";
304
+ tableName: "org_alert_rules";
305
+ dataType: "string";
306
+ columnType: "PgUUID";
307
+ data: string;
308
+ driverParam: string;
309
+ notNull: true;
310
+ hasDefault: true;
311
+ isPrimaryKey: true;
312
+ isAutoincrement: false;
313
+ hasRuntimeDefault: false;
314
+ enumValues: undefined;
315
+ baseColumn: never;
316
+ identity: undefined;
317
+ generated: undefined;
318
+ }, {}, {}>;
319
+ orgId: import("drizzle-orm/pg-core").PgColumn<{
320
+ name: "org_id";
321
+ tableName: "org_alert_rules";
322
+ dataType: "string";
323
+ columnType: "PgVarchar";
324
+ data: string;
325
+ driverParam: string;
326
+ notNull: true;
327
+ hasDefault: false;
328
+ isPrimaryKey: false;
329
+ isAutoincrement: false;
330
+ hasRuntimeDefault: false;
331
+ enumValues: [string, ...string[]];
332
+ baseColumn: never;
333
+ identity: undefined;
334
+ generated: undefined;
335
+ }, {}, {
336
+ length: 255;
337
+ }>;
338
+ createdBy: import("drizzle-orm/pg-core").PgColumn<{
339
+ name: "created_by";
340
+ tableName: "org_alert_rules";
341
+ dataType: "string";
342
+ columnType: "PgText";
343
+ data: string;
344
+ driverParam: string;
345
+ notNull: true;
346
+ hasDefault: false;
347
+ isPrimaryKey: false;
348
+ isAutoincrement: false;
349
+ hasRuntimeDefault: false;
350
+ enumValues: [string, ...string[]];
351
+ baseColumn: never;
352
+ identity: undefined;
353
+ generated: undefined;
354
+ }, {}, {}>;
355
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
356
+ name: "created_at";
357
+ tableName: "org_alert_rules";
358
+ dataType: "date";
359
+ columnType: "PgTimestamp";
360
+ data: Date;
361
+ driverParam: string;
362
+ notNull: true;
363
+ hasDefault: true;
364
+ isPrimaryKey: false;
365
+ isAutoincrement: false;
366
+ hasRuntimeDefault: false;
367
+ enumValues: undefined;
368
+ baseColumn: never;
369
+ identity: undefined;
370
+ generated: undefined;
371
+ }, {}, {}>;
372
+ updatedBy: import("drizzle-orm/pg-core").PgColumn<{
373
+ name: "updated_by";
374
+ tableName: "org_alert_rules";
375
+ dataType: "string";
376
+ columnType: "PgText";
377
+ data: string;
378
+ driverParam: string;
379
+ notNull: true;
380
+ hasDefault: false;
381
+ isPrimaryKey: false;
382
+ isAutoincrement: false;
383
+ hasRuntimeDefault: false;
384
+ enumValues: [string, ...string[]];
385
+ baseColumn: never;
386
+ identity: undefined;
387
+ generated: undefined;
388
+ }, {}, {}>;
389
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
390
+ name: "updated_at";
391
+ tableName: "org_alert_rules";
392
+ dataType: "date";
393
+ columnType: "PgTimestamp";
394
+ data: Date;
395
+ driverParam: string;
396
+ notNull: true;
397
+ hasDefault: true;
398
+ isPrimaryKey: false;
399
+ isAutoincrement: false;
400
+ hasRuntimeDefault: false;
401
+ enumValues: undefined;
402
+ baseColumn: never;
403
+ identity: undefined;
404
+ generated: undefined;
405
+ }, {}, {}>;
406
+ name: import("drizzle-orm/pg-core").PgColumn<{
407
+ name: "name";
408
+ tableName: "org_alert_rules";
409
+ dataType: "string";
410
+ columnType: "PgVarchar";
411
+ data: string;
412
+ driverParam: string;
413
+ notNull: true;
414
+ hasDefault: false;
415
+ isPrimaryKey: false;
416
+ isAutoincrement: false;
417
+ hasRuntimeDefault: false;
418
+ enumValues: [string, ...string[]];
419
+ baseColumn: never;
420
+ identity: undefined;
421
+ generated: undefined;
422
+ }, {}, {
423
+ length: 100;
424
+ }>;
425
+ expr: import("drizzle-orm/pg-core").PgColumn<{
426
+ name: "expr";
427
+ tableName: "org_alert_rules";
428
+ dataType: "string";
429
+ columnType: "PgText";
430
+ data: string;
431
+ driverParam: string;
432
+ notNull: true;
433
+ hasDefault: false;
434
+ isPrimaryKey: false;
435
+ isAutoincrement: false;
436
+ hasRuntimeDefault: false;
437
+ enumValues: [string, ...string[]];
438
+ baseColumn: never;
439
+ identity: undefined;
440
+ generated: undefined;
441
+ }, {}, {}>;
442
+ forDuration: import("drizzle-orm/pg-core").PgColumn<{
443
+ name: "for_duration";
444
+ tableName: "org_alert_rules";
445
+ dataType: "string";
446
+ columnType: "PgVarchar";
447
+ data: string;
448
+ driverParam: string;
449
+ notNull: true;
450
+ hasDefault: true;
451
+ isPrimaryKey: false;
452
+ isAutoincrement: false;
453
+ hasRuntimeDefault: false;
454
+ enumValues: [string, ...string[]];
455
+ baseColumn: never;
456
+ identity: undefined;
457
+ generated: undefined;
458
+ }, {}, {
459
+ length: 20;
460
+ }>;
461
+ severity: import("drizzle-orm/pg-core").PgColumn<{
462
+ name: "severity";
463
+ tableName: "org_alert_rules";
464
+ dataType: "string";
465
+ columnType: "PgVarchar";
466
+ data: "critical" | "warning";
467
+ driverParam: string;
468
+ notNull: true;
469
+ hasDefault: true;
470
+ isPrimaryKey: false;
471
+ isAutoincrement: false;
472
+ hasRuntimeDefault: false;
473
+ enumValues: [string, ...string[]];
474
+ baseColumn: never;
475
+ identity: undefined;
476
+ generated: undefined;
477
+ }, {}, {
478
+ length: 20;
479
+ $type: "critical" | "warning";
480
+ }>;
481
+ summary: import("drizzle-orm/pg-core").PgColumn<{
482
+ name: "summary";
483
+ tableName: "org_alert_rules";
484
+ dataType: "string";
485
+ columnType: "PgText";
486
+ data: string;
487
+ driverParam: string;
488
+ notNull: true;
489
+ hasDefault: false;
490
+ isPrimaryKey: false;
491
+ isAutoincrement: false;
492
+ hasRuntimeDefault: false;
493
+ enumValues: [string, ...string[]];
494
+ baseColumn: never;
495
+ identity: undefined;
496
+ generated: undefined;
497
+ }, {}, {}>;
498
+ description: import("drizzle-orm/pg-core").PgColumn<{
499
+ name: "description";
500
+ tableName: "org_alert_rules";
501
+ dataType: "string";
502
+ columnType: "PgText";
503
+ data: string;
504
+ driverParam: string;
505
+ notNull: true;
506
+ hasDefault: true;
507
+ isPrimaryKey: false;
508
+ isAutoincrement: false;
509
+ hasRuntimeDefault: false;
510
+ enumValues: [string, ...string[]];
511
+ baseColumn: never;
512
+ identity: undefined;
513
+ generated: undefined;
514
+ }, {}, {}>;
515
+ enabled: import("drizzle-orm/pg-core").PgColumn<{
516
+ name: "enabled";
517
+ tableName: "org_alert_rules";
518
+ dataType: "boolean";
519
+ columnType: "PgBoolean";
520
+ data: boolean;
521
+ driverParam: boolean;
522
+ notNull: true;
523
+ hasDefault: true;
524
+ isPrimaryKey: false;
525
+ isAutoincrement: false;
526
+ hasRuntimeDefault: false;
527
+ enumValues: undefined;
528
+ baseColumn: never;
529
+ identity: undefined;
530
+ generated: undefined;
531
+ }, {}, {}>;
532
+ deletedAt: import("drizzle-orm/pg-core").PgColumn<{
533
+ name: "deleted_at";
534
+ tableName: "org_alert_rules";
535
+ dataType: "date";
536
+ columnType: "PgTimestamp";
537
+ data: Date;
538
+ driverParam: string;
539
+ notNull: false;
540
+ hasDefault: false;
541
+ isPrimaryKey: false;
542
+ isAutoincrement: false;
543
+ hasRuntimeDefault: false;
544
+ enumValues: undefined;
545
+ baseColumn: never;
546
+ identity: undefined;
547
+ generated: undefined;
548
+ }, {}, {}>;
549
+ deletedBy: import("drizzle-orm/pg-core").PgColumn<{
550
+ name: "deleted_by";
551
+ tableName: "org_alert_rules";
552
+ dataType: "string";
553
+ columnType: "PgText";
554
+ data: string;
555
+ driverParam: string;
556
+ notNull: false;
557
+ hasDefault: false;
558
+ isPrimaryKey: false;
559
+ isAutoincrement: false;
560
+ hasRuntimeDefault: false;
561
+ enumValues: [string, ...string[]];
562
+ baseColumn: never;
563
+ identity: undefined;
564
+ generated: undefined;
565
+ }, {}, {}>;
566
+ purgeAfter: import("drizzle-orm/pg-core").PgColumn<{
567
+ name: "purge_after";
568
+ tableName: "org_alert_rules";
569
+ dataType: "date";
570
+ columnType: "PgTimestamp";
571
+ data: Date;
572
+ driverParam: string;
573
+ notNull: false;
574
+ hasDefault: false;
575
+ isPrimaryKey: false;
576
+ isAutoincrement: false;
577
+ hasRuntimeDefault: false;
578
+ enumValues: undefined;
579
+ baseColumn: never;
580
+ identity: undefined;
581
+ generated: undefined;
582
+ }, {}, {}>;
583
+ };
584
+ dialect: 'pg';
585
+ }>;
586
+ export type OrgAlertDestination = typeof orgAlertDestination.$inferSelect;
587
+ export type OrgAlertDestinationInsert = typeof orgAlertDestination.$inferInsert;
588
+ export type OrgAlertDestinationUpdate = Partial<Omit<OrgAlertDestinationInsert, 'id' | 'createdAt' | 'createdBy' | 'orgId'>>;