@cat-factory/node-server 0.114.0 → 0.116.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 (47) hide show
  1. package/dist/config.d.ts.map +1 -1
  2. package/dist/config.js +14 -0
  3. package/dist/config.js.map +1 -1
  4. package/dist/container-core-deps.d.ts +1 -0
  5. package/dist/container-core-deps.d.ts.map +1 -1
  6. package/dist/container-core-deps.js +2 -1
  7. package/dist/container-core-deps.js.map +1 -1
  8. package/dist/container-realtime-deps.d.ts +6 -1
  9. package/dist/container-realtime-deps.d.ts.map +1 -1
  10. package/dist/container-realtime-deps.js +48 -3
  11. package/dist/container-realtime-deps.js.map +1 -1
  12. package/dist/container-run-services-deps.d.ts +9 -1
  13. package/dist/container-run-services-deps.d.ts.map +1 -1
  14. package/dist/container-run-services-deps.js +14 -1
  15. package/dist/container-run-services-deps.js.map +1 -1
  16. package/dist/container.d.ts.map +1 -1
  17. package/dist/container.js +33 -17
  18. package/dist/container.js.map +1 -1
  19. package/dist/db/schema/sandbox.d.ts +952 -0
  20. package/dist/db/schema/sandbox.d.ts.map +1 -0
  21. package/dist/db/schema/sandbox.js +98 -0
  22. package/dist/db/schema/sandbox.js.map +1 -0
  23. package/dist/db/schema-integrations.d.ts +568 -0
  24. package/dist/db/schema-integrations.d.ts.map +1 -0
  25. package/dist/db/schema-integrations.js +83 -0
  26. package/dist/db/schema-integrations.js.map +1 -0
  27. package/dist/db/schema.d.ts +99 -1421
  28. package/dist/db/schema.d.ts.map +1 -1
  29. package/dist/db/schema.js +23 -148
  30. package/dist/db/schema.js.map +1 -1
  31. package/dist/repositories/drizzle/connections.d.ts +15 -1
  32. package/dist/repositories/drizzle/connections.d.ts.map +1 -1
  33. package/dist/repositories/drizzle/connections.js +87 -1
  34. package/dist/repositories/drizzle/connections.js.map +1 -1
  35. package/dist/repositories/drizzle/settings.d.ts +13 -1
  36. package/dist/repositories/drizzle/settings.d.ts.map +1 -1
  37. package/dist/repositories/drizzle/settings.js +47 -1
  38. package/dist/repositories/drizzle/settings.js.map +1 -1
  39. package/dist/repositories/drizzle.d.ts +3 -1
  40. package/dist/repositories/drizzle.d.ts.map +1 -1
  41. package/dist/repositories/drizzle.js +3 -1
  42. package/dist/repositories/drizzle.js.map +1 -1
  43. package/drizzle/20260726224909_rich_rafael_vega/migration.sql +8 -0
  44. package/drizzle/20260726224909_rich_rafael_vega/snapshot.json +16641 -0
  45. package/drizzle/20260726225204_validation_configs/migration.sql +9 -0
  46. package/drizzle/20260726225204_validation_configs/snapshot.json +16642 -0
  47. package/package.json +20 -20
@@ -0,0 +1,568 @@
1
+ export declare const observabilityConnections: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
+ name: "observability_connections";
3
+ schema: undefined;
4
+ columns: {
5
+ workspace_id: import("drizzle-orm/pg-core").PgBuildColumn<"observability_connections", import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
6
+ name: string;
7
+ tableName: "observability_connections";
8
+ dataType: "string";
9
+ data: string;
10
+ driverParam: string;
11
+ notNull: true;
12
+ hasDefault: false;
13
+ isPrimaryKey: false;
14
+ isAutoincrement: false;
15
+ hasRuntimeDefault: false;
16
+ enumValues: undefined;
17
+ identity: undefined;
18
+ generated: undefined;
19
+ }>;
20
+ provider: import("drizzle-orm/pg-core").PgBuildColumn<"observability_connections", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
21
+ name: string;
22
+ tableName: "observability_connections";
23
+ dataType: "string";
24
+ data: string;
25
+ driverParam: string;
26
+ notNull: true;
27
+ hasDefault: false;
28
+ isPrimaryKey: false;
29
+ isAutoincrement: false;
30
+ hasRuntimeDefault: false;
31
+ enumValues: undefined;
32
+ identity: undefined;
33
+ generated: undefined;
34
+ }>;
35
+ credentials: import("drizzle-orm/pg-core").PgBuildColumn<"observability_connections", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
36
+ name: string;
37
+ tableName: "observability_connections";
38
+ dataType: "string";
39
+ data: string;
40
+ driverParam: string;
41
+ notNull: true;
42
+ hasDefault: false;
43
+ isPrimaryKey: false;
44
+ isAutoincrement: false;
45
+ hasRuntimeDefault: false;
46
+ enumValues: undefined;
47
+ identity: undefined;
48
+ generated: undefined;
49
+ }>;
50
+ summary: import("drizzle-orm/pg-core").PgBuildColumn<"observability_connections", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>>, {
51
+ name: string;
52
+ tableName: "observability_connections";
53
+ dataType: "string";
54
+ data: string;
55
+ driverParam: string;
56
+ notNull: true;
57
+ hasDefault: true;
58
+ isPrimaryKey: false;
59
+ isAutoincrement: false;
60
+ hasRuntimeDefault: false;
61
+ enumValues: undefined;
62
+ identity: undefined;
63
+ generated: undefined;
64
+ }>;
65
+ created_at: import("drizzle-orm/pg-core").PgBuildColumn<"observability_connections", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
66
+ name: string;
67
+ tableName: "observability_connections";
68
+ dataType: "number int53";
69
+ data: number;
70
+ driverParam: string | number;
71
+ notNull: true;
72
+ hasDefault: false;
73
+ isPrimaryKey: false;
74
+ isAutoincrement: false;
75
+ hasRuntimeDefault: false;
76
+ enumValues: undefined;
77
+ identity: undefined;
78
+ generated: undefined;
79
+ }>;
80
+ updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"observability_connections", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
81
+ name: string;
82
+ tableName: "observability_connections";
83
+ dataType: "number int53";
84
+ data: number;
85
+ driverParam: string | number;
86
+ notNull: true;
87
+ hasDefault: false;
88
+ isPrimaryKey: false;
89
+ isAutoincrement: false;
90
+ hasRuntimeDefault: false;
91
+ enumValues: undefined;
92
+ identity: undefined;
93
+ generated: undefined;
94
+ }>;
95
+ };
96
+ dialect: 'pg';
97
+ }>;
98
+ export declare const packageRegistryConnections: import("drizzle-orm/pg-core").PgTableWithColumns<{
99
+ name: "package_registry_connections";
100
+ schema: undefined;
101
+ columns: {
102
+ workspace_id: import("drizzle-orm/pg-core").PgBuildColumn<"package_registry_connections", import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
103
+ name: string;
104
+ tableName: "package_registry_connections";
105
+ dataType: "string";
106
+ data: string;
107
+ driverParam: string;
108
+ notNull: true;
109
+ hasDefault: false;
110
+ isPrimaryKey: false;
111
+ isAutoincrement: false;
112
+ hasRuntimeDefault: false;
113
+ enumValues: undefined;
114
+ identity: undefined;
115
+ generated: undefined;
116
+ }>;
117
+ entries: import("drizzle-orm/pg-core").PgBuildColumn<"package_registry_connections", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
118
+ name: string;
119
+ tableName: "package_registry_connections";
120
+ dataType: "string";
121
+ data: string;
122
+ driverParam: string;
123
+ notNull: true;
124
+ hasDefault: false;
125
+ isPrimaryKey: false;
126
+ isAutoincrement: false;
127
+ hasRuntimeDefault: false;
128
+ enumValues: undefined;
129
+ identity: undefined;
130
+ generated: undefined;
131
+ }>;
132
+ summary: import("drizzle-orm/pg-core").PgBuildColumn<"package_registry_connections", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>>, {
133
+ name: string;
134
+ tableName: "package_registry_connections";
135
+ dataType: "string";
136
+ data: string;
137
+ driverParam: string;
138
+ notNull: true;
139
+ hasDefault: true;
140
+ isPrimaryKey: false;
141
+ isAutoincrement: false;
142
+ hasRuntimeDefault: false;
143
+ enumValues: undefined;
144
+ identity: undefined;
145
+ generated: undefined;
146
+ }>;
147
+ created_at: import("drizzle-orm/pg-core").PgBuildColumn<"package_registry_connections", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
148
+ name: string;
149
+ tableName: "package_registry_connections";
150
+ dataType: "number int53";
151
+ data: number;
152
+ driverParam: string | number;
153
+ notNull: true;
154
+ hasDefault: false;
155
+ isPrimaryKey: false;
156
+ isAutoincrement: false;
157
+ hasRuntimeDefault: false;
158
+ enumValues: undefined;
159
+ identity: undefined;
160
+ generated: undefined;
161
+ }>;
162
+ updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"package_registry_connections", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
163
+ name: string;
164
+ tableName: "package_registry_connections";
165
+ dataType: "number int53";
166
+ data: number;
167
+ driverParam: string | number;
168
+ notNull: true;
169
+ hasDefault: false;
170
+ isPrimaryKey: false;
171
+ isAutoincrement: false;
172
+ hasRuntimeDefault: false;
173
+ enumValues: undefined;
174
+ identity: undefined;
175
+ generated: undefined;
176
+ }>;
177
+ };
178
+ dialect: 'pg';
179
+ }>;
180
+ export declare const incidentEnrichmentConnections: import("drizzle-orm/pg-core").PgTableWithColumns<{
181
+ name: "incident_enrichment_connections";
182
+ schema: undefined;
183
+ columns: {
184
+ workspace_id: import("drizzle-orm/pg-core").PgBuildColumn<"incident_enrichment_connections", import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
185
+ name: string;
186
+ tableName: "incident_enrichment_connections";
187
+ dataType: "string";
188
+ data: string;
189
+ driverParam: string;
190
+ notNull: true;
191
+ hasDefault: false;
192
+ isPrimaryKey: false;
193
+ isAutoincrement: false;
194
+ hasRuntimeDefault: false;
195
+ enumValues: undefined;
196
+ identity: undefined;
197
+ generated: undefined;
198
+ }>;
199
+ credentials: import("drizzle-orm/pg-core").PgBuildColumn<"incident_enrichment_connections", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
200
+ name: string;
201
+ tableName: "incident_enrichment_connections";
202
+ dataType: "string";
203
+ data: string;
204
+ driverParam: string;
205
+ notNull: true;
206
+ hasDefault: false;
207
+ isPrimaryKey: false;
208
+ isAutoincrement: false;
209
+ hasRuntimeDefault: false;
210
+ enumValues: undefined;
211
+ identity: undefined;
212
+ generated: undefined;
213
+ }>;
214
+ summary: import("drizzle-orm/pg-core").PgBuildColumn<"incident_enrichment_connections", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>>, {
215
+ name: string;
216
+ tableName: "incident_enrichment_connections";
217
+ dataType: "string";
218
+ data: string;
219
+ driverParam: string;
220
+ notNull: true;
221
+ hasDefault: true;
222
+ isPrimaryKey: false;
223
+ isAutoincrement: false;
224
+ hasRuntimeDefault: false;
225
+ enumValues: undefined;
226
+ identity: undefined;
227
+ generated: undefined;
228
+ }>;
229
+ created_at: import("drizzle-orm/pg-core").PgBuildColumn<"incident_enrichment_connections", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
230
+ name: string;
231
+ tableName: "incident_enrichment_connections";
232
+ dataType: "number int53";
233
+ data: number;
234
+ driverParam: string | number;
235
+ notNull: true;
236
+ hasDefault: false;
237
+ isPrimaryKey: false;
238
+ isAutoincrement: false;
239
+ hasRuntimeDefault: false;
240
+ enumValues: undefined;
241
+ identity: undefined;
242
+ generated: undefined;
243
+ }>;
244
+ updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"incident_enrichment_connections", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
245
+ name: string;
246
+ tableName: "incident_enrichment_connections";
247
+ dataType: "number int53";
248
+ data: number;
249
+ driverParam: string | number;
250
+ notNull: true;
251
+ hasDefault: false;
252
+ isPrimaryKey: false;
253
+ isAutoincrement: false;
254
+ hasRuntimeDefault: false;
255
+ enumValues: undefined;
256
+ identity: undefined;
257
+ generated: undefined;
258
+ }>;
259
+ };
260
+ dialect: 'pg';
261
+ }>;
262
+ export declare const releaseHealthConfigs: import("drizzle-orm/pg-core").PgTableWithColumns<{
263
+ name: "release_health_configs";
264
+ schema: undefined;
265
+ columns: {
266
+ workspace_id: import("drizzle-orm/pg-core").PgBuildColumn<"release_health_configs", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
267
+ name: string;
268
+ tableName: "release_health_configs";
269
+ dataType: "string";
270
+ data: string;
271
+ driverParam: string;
272
+ notNull: true;
273
+ hasDefault: false;
274
+ isPrimaryKey: false;
275
+ isAutoincrement: false;
276
+ hasRuntimeDefault: false;
277
+ enumValues: undefined;
278
+ identity: undefined;
279
+ generated: undefined;
280
+ }>;
281
+ block_id: import("drizzle-orm/pg-core").PgBuildColumn<"release_health_configs", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
282
+ name: string;
283
+ tableName: "release_health_configs";
284
+ dataType: "string";
285
+ data: string;
286
+ driverParam: string;
287
+ notNull: true;
288
+ hasDefault: false;
289
+ isPrimaryKey: false;
290
+ isAutoincrement: false;
291
+ hasRuntimeDefault: false;
292
+ enumValues: undefined;
293
+ identity: undefined;
294
+ generated: undefined;
295
+ }>;
296
+ monitor_ids: import("drizzle-orm/pg-core").PgBuildColumn<"release_health_configs", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>>, {
297
+ name: string;
298
+ tableName: "release_health_configs";
299
+ dataType: "string";
300
+ data: string;
301
+ driverParam: string;
302
+ notNull: true;
303
+ hasDefault: true;
304
+ isPrimaryKey: false;
305
+ isAutoincrement: false;
306
+ hasRuntimeDefault: false;
307
+ enumValues: undefined;
308
+ identity: undefined;
309
+ generated: undefined;
310
+ }>;
311
+ slo_ids: import("drizzle-orm/pg-core").PgBuildColumn<"release_health_configs", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>>, {
312
+ name: string;
313
+ tableName: "release_health_configs";
314
+ dataType: "string";
315
+ data: string;
316
+ driverParam: string;
317
+ notNull: true;
318
+ hasDefault: true;
319
+ isPrimaryKey: false;
320
+ isAutoincrement: false;
321
+ hasRuntimeDefault: false;
322
+ enumValues: undefined;
323
+ identity: undefined;
324
+ generated: undefined;
325
+ }>;
326
+ env_tag: import("drizzle-orm/pg-core").PgBuildColumn<"release_health_configs", import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>, {
327
+ name: string;
328
+ tableName: "release_health_configs";
329
+ dataType: "string";
330
+ data: string;
331
+ driverParam: string;
332
+ notNull: false;
333
+ hasDefault: false;
334
+ isPrimaryKey: false;
335
+ isAutoincrement: false;
336
+ hasRuntimeDefault: false;
337
+ enumValues: undefined;
338
+ identity: undefined;
339
+ generated: undefined;
340
+ }>;
341
+ created_at: import("drizzle-orm/pg-core").PgBuildColumn<"release_health_configs", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
342
+ name: string;
343
+ tableName: "release_health_configs";
344
+ dataType: "number int53";
345
+ data: number;
346
+ driverParam: string | number;
347
+ notNull: true;
348
+ hasDefault: false;
349
+ isPrimaryKey: false;
350
+ isAutoincrement: false;
351
+ hasRuntimeDefault: false;
352
+ enumValues: undefined;
353
+ identity: undefined;
354
+ generated: undefined;
355
+ }>;
356
+ updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"release_health_configs", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
357
+ name: string;
358
+ tableName: "release_health_configs";
359
+ dataType: "number int53";
360
+ data: number;
361
+ driverParam: string | number;
362
+ notNull: true;
363
+ hasDefault: false;
364
+ isPrimaryKey: false;
365
+ isAutoincrement: false;
366
+ hasRuntimeDefault: false;
367
+ enumValues: undefined;
368
+ identity: undefined;
369
+ generated: undefined;
370
+ }>;
371
+ };
372
+ dialect: 'pg';
373
+ }>;
374
+ export declare const validationConfigs: import("drizzle-orm/pg-core").PgTableWithColumns<{
375
+ name: "validation_configs";
376
+ schema: undefined;
377
+ columns: {
378
+ workspace_id: import("drizzle-orm/pg-core").PgBuildColumn<"validation_configs", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
379
+ name: string;
380
+ tableName: "validation_configs";
381
+ dataType: "string";
382
+ data: string;
383
+ driverParam: string;
384
+ notNull: true;
385
+ hasDefault: false;
386
+ isPrimaryKey: false;
387
+ isAutoincrement: false;
388
+ hasRuntimeDefault: false;
389
+ enumValues: undefined;
390
+ identity: undefined;
391
+ generated: undefined;
392
+ }>;
393
+ block_id: import("drizzle-orm/pg-core").PgBuildColumn<"validation_configs", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
394
+ name: string;
395
+ tableName: "validation_configs";
396
+ dataType: "string";
397
+ data: string;
398
+ driverParam: string;
399
+ notNull: true;
400
+ hasDefault: false;
401
+ isPrimaryKey: false;
402
+ isAutoincrement: false;
403
+ hasRuntimeDefault: false;
404
+ enumValues: undefined;
405
+ identity: undefined;
406
+ generated: undefined;
407
+ }>;
408
+ checks: import("drizzle-orm/pg-core").PgBuildColumn<"validation_configs", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>>, {
409
+ name: string;
410
+ tableName: "validation_configs";
411
+ dataType: "string";
412
+ data: string;
413
+ driverParam: string;
414
+ notNull: true;
415
+ hasDefault: true;
416
+ isPrimaryKey: false;
417
+ isAutoincrement: false;
418
+ hasRuntimeDefault: false;
419
+ enumValues: undefined;
420
+ identity: undefined;
421
+ generated: undefined;
422
+ }>;
423
+ max_attempts: import("drizzle-orm/pg-core").PgBuildColumn<"validation_configs", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>>, {
424
+ name: string;
425
+ tableName: "validation_configs";
426
+ dataType: "number int32";
427
+ data: number;
428
+ driverParam: string | number;
429
+ notNull: true;
430
+ hasDefault: true;
431
+ isPrimaryKey: false;
432
+ isAutoincrement: false;
433
+ hasRuntimeDefault: false;
434
+ enumValues: undefined;
435
+ identity: undefined;
436
+ generated: undefined;
437
+ }>;
438
+ created_at: import("drizzle-orm/pg-core").PgBuildColumn<"validation_configs", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
439
+ name: string;
440
+ tableName: "validation_configs";
441
+ dataType: "number int53";
442
+ data: number;
443
+ driverParam: string | number;
444
+ notNull: true;
445
+ hasDefault: false;
446
+ isPrimaryKey: false;
447
+ isAutoincrement: false;
448
+ hasRuntimeDefault: false;
449
+ enumValues: undefined;
450
+ identity: undefined;
451
+ generated: undefined;
452
+ }>;
453
+ updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"validation_configs", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
454
+ name: string;
455
+ tableName: "validation_configs";
456
+ dataType: "number int53";
457
+ data: number;
458
+ driverParam: string | number;
459
+ notNull: true;
460
+ hasDefault: false;
461
+ isPrimaryKey: false;
462
+ isAutoincrement: false;
463
+ hasRuntimeDefault: false;
464
+ enumValues: undefined;
465
+ identity: undefined;
466
+ generated: undefined;
467
+ }>;
468
+ };
469
+ dialect: 'pg';
470
+ }>;
471
+ export declare const testSecrets: import("drizzle-orm/pg-core").PgTableWithColumns<{
472
+ name: "test_secrets";
473
+ schema: undefined;
474
+ columns: {
475
+ workspace_id: import("drizzle-orm/pg-core").PgBuildColumn<"test_secrets", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
476
+ name: string;
477
+ tableName: "test_secrets";
478
+ dataType: "string";
479
+ data: string;
480
+ driverParam: string;
481
+ notNull: true;
482
+ hasDefault: false;
483
+ isPrimaryKey: false;
484
+ isAutoincrement: false;
485
+ hasRuntimeDefault: false;
486
+ enumValues: undefined;
487
+ identity: undefined;
488
+ generated: undefined;
489
+ }>;
490
+ block_id: import("drizzle-orm/pg-core").PgBuildColumn<"test_secrets", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
491
+ name: string;
492
+ tableName: "test_secrets";
493
+ dataType: "string";
494
+ data: string;
495
+ driverParam: string;
496
+ notNull: true;
497
+ hasDefault: false;
498
+ isPrimaryKey: false;
499
+ isAutoincrement: false;
500
+ hasRuntimeDefault: false;
501
+ enumValues: undefined;
502
+ identity: undefined;
503
+ generated: undefined;
504
+ }>;
505
+ credentials: import("drizzle-orm/pg-core").PgBuildColumn<"test_secrets", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
506
+ name: string;
507
+ tableName: "test_secrets";
508
+ dataType: "string";
509
+ data: string;
510
+ driverParam: string;
511
+ notNull: true;
512
+ hasDefault: false;
513
+ isPrimaryKey: false;
514
+ isAutoincrement: false;
515
+ hasRuntimeDefault: false;
516
+ enumValues: undefined;
517
+ identity: undefined;
518
+ generated: undefined;
519
+ }>;
520
+ summary: import("drizzle-orm/pg-core").PgBuildColumn<"test_secrets", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>>, {
521
+ name: string;
522
+ tableName: "test_secrets";
523
+ dataType: "string";
524
+ data: string;
525
+ driverParam: string;
526
+ notNull: true;
527
+ hasDefault: true;
528
+ isPrimaryKey: false;
529
+ isAutoincrement: false;
530
+ hasRuntimeDefault: false;
531
+ enumValues: undefined;
532
+ identity: undefined;
533
+ generated: undefined;
534
+ }>;
535
+ created_at: import("drizzle-orm/pg-core").PgBuildColumn<"test_secrets", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
536
+ name: string;
537
+ tableName: "test_secrets";
538
+ dataType: "number int53";
539
+ data: number;
540
+ driverParam: string | number;
541
+ notNull: true;
542
+ hasDefault: false;
543
+ isPrimaryKey: false;
544
+ isAutoincrement: false;
545
+ hasRuntimeDefault: false;
546
+ enumValues: undefined;
547
+ identity: undefined;
548
+ generated: undefined;
549
+ }>;
550
+ updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"test_secrets", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
551
+ name: string;
552
+ tableName: "test_secrets";
553
+ dataType: "number int53";
554
+ data: number;
555
+ driverParam: string | number;
556
+ notNull: true;
557
+ hasDefault: false;
558
+ isPrimaryKey: false;
559
+ isAutoincrement: false;
560
+ hasRuntimeDefault: false;
561
+ enumValues: undefined;
562
+ identity: undefined;
563
+ generated: undefined;
564
+ }>;
565
+ };
566
+ dialect: 'pg';
567
+ }>;
568
+ //# sourceMappingURL=schema-integrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-integrations.d.ts","sourceRoot":"","sources":["../../src/db/schema-integrations.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOnC,CAAA;AAOF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMrC,CAAA;AAMF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMxC,CAAA;AAIF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYhC,CAAA;AAQD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW7B,CAAA;AAOD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWvB,CAAA"}
@@ -0,0 +1,83 @@
1
+ import { bigint, integer, pgTable, primaryKey, text } from 'drizzle-orm/pg-core';
2
+ // The opt-in INTEGRATION tables: a workspace's sealed third-party connections (observability,
3
+ // private package registries, incident enrichment) and the per-SERVICE-FRAME configuration that
4
+ // drives them (release-health monitor/SLO mappings, sensitive test credentials, pre-PR validation
5
+ // checks). Split out of `schema.ts` — which is the drizzle-kit entry point and re-exports these —
6
+ // because they form a self-contained family: every one of them is keyed by workspace or by
7
+ // (workspace, service-frame block), wired only when the deployment configures the integration,
8
+ // and mirrors a D1 table on the Cloudflare facade. Re-exported rather than moved out of the
9
+ // schema graph, so `pnpm db:generate` still sees exactly one schema module.
10
+ // Post-release-health gate (pluggable observability — Datadog today). One connection per
11
+ // workspace (mirror of D1 migration 0007's `observability_connections`). `credentials` is a
12
+ // sealed JSON blob of the provider-specific secret (domain tag 'cat-factory:observability');
13
+ // `summary` is a non-secret display blob. Plaintext credentials only in memory.
14
+ export const observabilityConnections = pgTable('observability_connections', {
15
+ workspace_id: text('workspace_id').primaryKey(),
16
+ provider: text('provider').notNull(),
17
+ credentials: text('credentials').notNull(),
18
+ summary: text('summary').notNull().default('{}'),
19
+ created_at: bigint('created_at', { mode: 'number' }).notNull(),
20
+ updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
21
+ });
22
+ // Private package-registry entries per workspace (npm private orgs, GitHub Packages), so
23
+ // agent containers can resolve private dependencies on checkout (mirror of D1 migration
24
+ // 0034's `package_registry_connections`). `entries` is ONE sealed JSON array of
25
+ // { id, ecosystem, vendor, scopes, token } (domain tag 'cat-factory:package-registries');
26
+ // `summary` is a non-secret display blob. Plaintext tokens only in memory.
27
+ export const packageRegistryConnections = pgTable('package_registry_connections', {
28
+ workspace_id: text('workspace_id').primaryKey(),
29
+ entries: text('entries').notNull(),
30
+ summary: text('summary').notNull().default('[]'),
31
+ created_at: bigint('created_at', { mode: 'number' }).notNull(),
32
+ updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
33
+ });
34
+ // Per-workspace incident-enrichment connection (PagerDuty + incident.io), moved out of
35
+ // env onto a sealed row (mirror of D1 migration 0013's `incident_enrichment_connections`).
36
+ // `credentials` is ONE sealed JSON blob { pagerDuty?, incidentIo? } (domain tag
37
+ // 'cat-factory:incident-enrichment'); `summary` is a non-secret presence blob.
38
+ export const incidentEnrichmentConnections = pgTable('incident_enrichment_connections', {
39
+ workspace_id: text('workspace_id').primaryKey(),
40
+ credentials: text('credentials').notNull(),
41
+ summary: text('summary').notNull().default('{}'),
42
+ created_at: bigint('created_at', { mode: 'number' }).notNull(),
43
+ updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
44
+ });
45
+ // Per-block (service frame) monitor/SLO mapping the gate reads (mirror of D1
46
+ // `release_health_configs`). `monitor_ids`/`slo_ids` are JSON arrays as `text`.
47
+ export const releaseHealthConfigs = pgTable('release_health_configs', {
48
+ workspace_id: text('workspace_id').notNull(),
49
+ block_id: text('block_id').notNull(),
50
+ monitor_ids: text('monitor_ids').notNull().default('[]'),
51
+ slo_ids: text('slo_ids').notNull().default('[]'),
52
+ env_tag: text('env_tag'),
53
+ created_at: bigint('created_at', { mode: 'number' }).notNull(),
54
+ updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
55
+ }, (t) => [primaryKey({ columns: [t.workspace_id, t.block_id] })]);
56
+ // Per-service-frame PRE-PR VALIDATION CHECKS (mirror of D1 migration 0061's
57
+ // `validation_configs`): the shell commands the executor-harness runs against the checkout
58
+ // after the coding agent settles and BEFORE opening a PR, plus the repair-round budget.
59
+ // `checks` is a JSON array of `{ label, command }`. Keyed by the SERVICE FRAME block; a run
60
+ // resolves its checks by walking its block up the frame chain. Nothing here is secret — the
61
+ // commands run inside the run's own container. See docs/initiatives/pre-pr-validation.md.
62
+ export const validationConfigs = pgTable('validation_configs', {
63
+ workspace_id: text('workspace_id').notNull(),
64
+ block_id: text('block_id').notNull(),
65
+ checks: text('checks').notNull().default('[]'),
66
+ max_attempts: integer('max_attempts').notNull().default(3),
67
+ created_at: bigint('created_at', { mode: 'number' }).notNull(),
68
+ updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
69
+ }, (t) => [primaryKey({ columns: [t.workspace_id, t.block_id] })]);
70
+ // Sensitive per-service test credentials (sealed; mirror of D1 migration 0044's
71
+ // `test_secrets`). The SEALED sibling of the non-sensitive test-credential pools: a
72
+ // third-party API token a Tester needs, delivered to the container out of band. `credentials`
73
+ // is a sealed JSON blob of TestSecretEntry[] (domain tag 'cat-factory:test-secrets'); `summary`
74
+ // is a non-secret TestSecretRef[] display blob. Keyed by the SERVICE FRAME block.
75
+ export const testSecrets = pgTable('test_secrets', {
76
+ workspace_id: text('workspace_id').notNull(),
77
+ block_id: text('block_id').notNull(),
78
+ credentials: text('credentials').notNull(),
79
+ summary: text('summary').notNull().default('[]'),
80
+ created_at: bigint('created_at', { mode: 'number' }).notNull(),
81
+ updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
82
+ }, (t) => [primaryKey({ columns: [t.workspace_id, t.block_id] })]);
83
+ //# sourceMappingURL=schema-integrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-integrations.js","sourceRoot":"","sources":["../../src/db/schema-integrations.ts"],"names":[],"mappings":"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"}