@checkstack/healthcheck-backend 1.4.0 → 1.6.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 (54) hide show
  1. package/CHANGELOG.md +303 -0
  2. package/drizzle/0018_abnormal_preak.sql +10 -0
  3. package/drizzle/meta/0018_snapshot.json +600 -0
  4. package/drizzle/meta/_journal.json +7 -0
  5. package/package.json +26 -21
  6. package/src/ai/assertion-validation.test.ts +117 -0
  7. package/src/ai/assertion-validation.ts +147 -0
  8. package/src/ai/healthcheck-capabilities.test.ts +158 -0
  9. package/src/ai/healthcheck-capabilities.ts +217 -0
  10. package/src/ai/healthcheck-delete.test.ts +81 -0
  11. package/src/ai/healthcheck-delete.ts +81 -0
  12. package/src/ai/healthcheck-projection.test.ts +36 -0
  13. package/src/ai/healthcheck-propose.test.ts +268 -0
  14. package/src/ai/healthcheck-propose.ts +290 -0
  15. package/src/ai/healthcheck-script-tools.test.ts +93 -0
  16. package/src/ai/healthcheck-script-tools.ts +179 -0
  17. package/src/ai/healthcheck-update.test.ts +123 -0
  18. package/src/ai/healthcheck-update.ts +123 -0
  19. package/src/ai/notify-subscribers.test.ts +109 -0
  20. package/src/ai/notify-subscribers.ts +176 -0
  21. package/src/ai/register-ai-tools.test.ts +41 -0
  22. package/src/ai/register-ai-tools.ts +53 -0
  23. package/src/ai/shell-env-table.test.ts +47 -0
  24. package/src/automations.test.ts +2 -1
  25. package/src/automations.ts +9 -1
  26. package/src/collector-script-test.test.ts +53 -1
  27. package/src/collector-script-test.ts +59 -7
  28. package/src/effective-environments.test.ts +93 -0
  29. package/src/effective-environments.ts +64 -0
  30. package/src/health-entity-id.ts +57 -0
  31. package/src/health-entity.test.ts +405 -31
  32. package/src/health-entity.ts +99 -43
  33. package/src/health-state.ts +41 -4
  34. package/src/healthcheck-gitops-kinds.test.ts +95 -0
  35. package/src/healthcheck-gitops-kinds.ts +56 -13
  36. package/src/index.ts +33 -0
  37. package/src/migration-chain-contract.test.ts +57 -0
  38. package/src/queue-executor.test.ts +814 -0
  39. package/src/queue-executor.ts +342 -50
  40. package/src/realtime-aggregation.test.ts +30 -0
  41. package/src/realtime-aggregation.ts +16 -0
  42. package/src/retention-job.ts +167 -93
  43. package/src/retention-rollup.test.ts +118 -0
  44. package/src/router.test.ts +120 -1
  45. package/src/router.ts +20 -0
  46. package/src/schema.ts +44 -6
  47. package/src/service.ts +199 -43
  48. package/src/state-evaluator.test.ts +50 -5
  49. package/src/state-evaluator.ts +9 -2
  50. package/src/state-transitions.test.ts +104 -0
  51. package/src/state-transitions.ts +39 -1
  52. package/src/validate-configuration.test.ts +205 -0
  53. package/src/validate-configuration.ts +159 -0
  54. package/tsconfig.json +9 -0
@@ -0,0 +1,600 @@
1
+ {
2
+ "id": "5a28baf8-e7a8-4ee4-8028-ce6e1f0e1a63",
3
+ "prevId": "8248bbb2-65d2-4c51-924a-0ccdf81f3f5d",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.health_check_aggregates": {
8
+ "name": "health_check_aggregates",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "uuid",
14
+ "primaryKey": true,
15
+ "notNull": true,
16
+ "default": "gen_random_uuid()"
17
+ },
18
+ "configuration_id": {
19
+ "name": "configuration_id",
20
+ "type": "uuid",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "system_id": {
25
+ "name": "system_id",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "environment_id": {
31
+ "name": "environment_id",
32
+ "type": "text",
33
+ "primaryKey": false,
34
+ "notNull": false
35
+ },
36
+ "bucket_start": {
37
+ "name": "bucket_start",
38
+ "type": "timestamp",
39
+ "primaryKey": false,
40
+ "notNull": true
41
+ },
42
+ "bucket_size": {
43
+ "name": "bucket_size",
44
+ "type": "bucket_size",
45
+ "typeSchema": "public",
46
+ "primaryKey": false,
47
+ "notNull": true
48
+ },
49
+ "run_count": {
50
+ "name": "run_count",
51
+ "type": "integer",
52
+ "primaryKey": false,
53
+ "notNull": true
54
+ },
55
+ "healthy_count": {
56
+ "name": "healthy_count",
57
+ "type": "integer",
58
+ "primaryKey": false,
59
+ "notNull": true
60
+ },
61
+ "degraded_count": {
62
+ "name": "degraded_count",
63
+ "type": "integer",
64
+ "primaryKey": false,
65
+ "notNull": true
66
+ },
67
+ "unhealthy_count": {
68
+ "name": "unhealthy_count",
69
+ "type": "integer",
70
+ "primaryKey": false,
71
+ "notNull": true
72
+ },
73
+ "latency_sum_ms": {
74
+ "name": "latency_sum_ms",
75
+ "type": "integer",
76
+ "primaryKey": false,
77
+ "notNull": false
78
+ },
79
+ "avg_latency_ms": {
80
+ "name": "avg_latency_ms",
81
+ "type": "integer",
82
+ "primaryKey": false,
83
+ "notNull": false
84
+ },
85
+ "min_latency_ms": {
86
+ "name": "min_latency_ms",
87
+ "type": "integer",
88
+ "primaryKey": false,
89
+ "notNull": false
90
+ },
91
+ "max_latency_ms": {
92
+ "name": "max_latency_ms",
93
+ "type": "integer",
94
+ "primaryKey": false,
95
+ "notNull": false
96
+ },
97
+ "p95_latency_ms": {
98
+ "name": "p95_latency_ms",
99
+ "type": "integer",
100
+ "primaryKey": false,
101
+ "notNull": false
102
+ },
103
+ "aggregated_result": {
104
+ "name": "aggregated_result",
105
+ "type": "jsonb",
106
+ "primaryKey": false,
107
+ "notNull": false
108
+ },
109
+ "tdigest_state": {
110
+ "name": "tdigest_state",
111
+ "type": "jsonb",
112
+ "primaryKey": false,
113
+ "notNull": false
114
+ },
115
+ "source_id": {
116
+ "name": "source_id",
117
+ "type": "text",
118
+ "primaryKey": false,
119
+ "notNull": false
120
+ },
121
+ "source_label": {
122
+ "name": "source_label",
123
+ "type": "text",
124
+ "primaryKey": false,
125
+ "notNull": false
126
+ }
127
+ },
128
+ "indexes": {},
129
+ "foreignKeys": {
130
+ "health_check_aggregates_configuration_id_health_check_configurations_id_fk": {
131
+ "name": "health_check_aggregates_configuration_id_health_check_configurations_id_fk",
132
+ "tableFrom": "health_check_aggregates",
133
+ "tableTo": "health_check_configurations",
134
+ "columnsFrom": [
135
+ "configuration_id"
136
+ ],
137
+ "columnsTo": [
138
+ "id"
139
+ ],
140
+ "onDelete": "cascade",
141
+ "onUpdate": "no action"
142
+ }
143
+ },
144
+ "compositePrimaryKeys": {},
145
+ "uniqueConstraints": {
146
+ "health_check_aggregates_bucket_unique": {
147
+ "name": "health_check_aggregates_bucket_unique",
148
+ "nullsNotDistinct": true,
149
+ "columns": [
150
+ "configuration_id",
151
+ "system_id",
152
+ "environment_id",
153
+ "bucket_start",
154
+ "bucket_size",
155
+ "source_id"
156
+ ]
157
+ }
158
+ },
159
+ "policies": {},
160
+ "checkConstraints": {},
161
+ "isRLSEnabled": false
162
+ },
163
+ "public.health_check_configurations": {
164
+ "name": "health_check_configurations",
165
+ "schema": "",
166
+ "columns": {
167
+ "id": {
168
+ "name": "id",
169
+ "type": "uuid",
170
+ "primaryKey": true,
171
+ "notNull": true,
172
+ "default": "gen_random_uuid()"
173
+ },
174
+ "name": {
175
+ "name": "name",
176
+ "type": "text",
177
+ "primaryKey": false,
178
+ "notNull": true
179
+ },
180
+ "strategy_id": {
181
+ "name": "strategy_id",
182
+ "type": "text",
183
+ "primaryKey": false,
184
+ "notNull": true
185
+ },
186
+ "config": {
187
+ "name": "config",
188
+ "type": "jsonb",
189
+ "primaryKey": false,
190
+ "notNull": true
191
+ },
192
+ "collectors": {
193
+ "name": "collectors",
194
+ "type": "jsonb",
195
+ "primaryKey": false,
196
+ "notNull": false
197
+ },
198
+ "interval_seconds": {
199
+ "name": "interval_seconds",
200
+ "type": "integer",
201
+ "primaryKey": false,
202
+ "notNull": true
203
+ },
204
+ "is_template": {
205
+ "name": "is_template",
206
+ "type": "boolean",
207
+ "primaryKey": false,
208
+ "notNull": false,
209
+ "default": false
210
+ },
211
+ "paused": {
212
+ "name": "paused",
213
+ "type": "boolean",
214
+ "primaryKey": false,
215
+ "notNull": true,
216
+ "default": false
217
+ },
218
+ "created_at": {
219
+ "name": "created_at",
220
+ "type": "timestamp",
221
+ "primaryKey": false,
222
+ "notNull": true,
223
+ "default": "now()"
224
+ },
225
+ "updated_at": {
226
+ "name": "updated_at",
227
+ "type": "timestamp",
228
+ "primaryKey": false,
229
+ "notNull": true,
230
+ "default": "now()"
231
+ }
232
+ },
233
+ "indexes": {},
234
+ "foreignKeys": {},
235
+ "compositePrimaryKeys": {},
236
+ "uniqueConstraints": {},
237
+ "policies": {},
238
+ "checkConstraints": {},
239
+ "isRLSEnabled": false
240
+ },
241
+ "public.health_check_runs": {
242
+ "name": "health_check_runs",
243
+ "schema": "",
244
+ "columns": {
245
+ "id": {
246
+ "name": "id",
247
+ "type": "uuid",
248
+ "primaryKey": true,
249
+ "notNull": true,
250
+ "default": "gen_random_uuid()"
251
+ },
252
+ "configuration_id": {
253
+ "name": "configuration_id",
254
+ "type": "uuid",
255
+ "primaryKey": false,
256
+ "notNull": true
257
+ },
258
+ "system_id": {
259
+ "name": "system_id",
260
+ "type": "text",
261
+ "primaryKey": false,
262
+ "notNull": true
263
+ },
264
+ "environment_id": {
265
+ "name": "environment_id",
266
+ "type": "text",
267
+ "primaryKey": false,
268
+ "notNull": false
269
+ },
270
+ "status": {
271
+ "name": "status",
272
+ "type": "health_check_status",
273
+ "typeSchema": "public",
274
+ "primaryKey": false,
275
+ "notNull": true
276
+ },
277
+ "latency_ms": {
278
+ "name": "latency_ms",
279
+ "type": "integer",
280
+ "primaryKey": false,
281
+ "notNull": false
282
+ },
283
+ "result": {
284
+ "name": "result",
285
+ "type": "jsonb",
286
+ "primaryKey": false,
287
+ "notNull": false
288
+ },
289
+ "source_id": {
290
+ "name": "source_id",
291
+ "type": "text",
292
+ "primaryKey": false,
293
+ "notNull": false
294
+ },
295
+ "source_label": {
296
+ "name": "source_label",
297
+ "type": "text",
298
+ "primaryKey": false,
299
+ "notNull": false
300
+ },
301
+ "timestamp": {
302
+ "name": "timestamp",
303
+ "type": "timestamp",
304
+ "primaryKey": false,
305
+ "notNull": true,
306
+ "default": "now()"
307
+ }
308
+ },
309
+ "indexes": {},
310
+ "foreignKeys": {
311
+ "health_check_runs_configuration_id_health_check_configurations_id_fk": {
312
+ "name": "health_check_runs_configuration_id_health_check_configurations_id_fk",
313
+ "tableFrom": "health_check_runs",
314
+ "tableTo": "health_check_configurations",
315
+ "columnsFrom": [
316
+ "configuration_id"
317
+ ],
318
+ "columnsTo": [
319
+ "id"
320
+ ],
321
+ "onDelete": "cascade",
322
+ "onUpdate": "no action"
323
+ }
324
+ },
325
+ "compositePrimaryKeys": {},
326
+ "uniqueConstraints": {},
327
+ "policies": {},
328
+ "checkConstraints": {},
329
+ "isRLSEnabled": false
330
+ },
331
+ "public.health_check_state_transitions": {
332
+ "name": "health_check_state_transitions",
333
+ "schema": "",
334
+ "columns": {
335
+ "id": {
336
+ "name": "id",
337
+ "type": "uuid",
338
+ "primaryKey": true,
339
+ "notNull": true,
340
+ "default": "gen_random_uuid()"
341
+ },
342
+ "system_id": {
343
+ "name": "system_id",
344
+ "type": "text",
345
+ "primaryKey": false,
346
+ "notNull": true
347
+ },
348
+ "configuration_id": {
349
+ "name": "configuration_id",
350
+ "type": "uuid",
351
+ "primaryKey": false,
352
+ "notNull": true
353
+ },
354
+ "environment_id": {
355
+ "name": "environment_id",
356
+ "type": "text",
357
+ "primaryKey": false,
358
+ "notNull": false
359
+ },
360
+ "from_status": {
361
+ "name": "from_status",
362
+ "type": "health_check_status",
363
+ "typeSchema": "public",
364
+ "primaryKey": false,
365
+ "notNull": false
366
+ },
367
+ "to_status": {
368
+ "name": "to_status",
369
+ "type": "health_check_status",
370
+ "typeSchema": "public",
371
+ "primaryKey": false,
372
+ "notNull": true
373
+ },
374
+ "transitioned_at": {
375
+ "name": "transitioned_at",
376
+ "type": "timestamp",
377
+ "primaryKey": false,
378
+ "notNull": true,
379
+ "default": "now()"
380
+ }
381
+ },
382
+ "indexes": {
383
+ "health_check_state_transitions_lookup_idx": {
384
+ "name": "health_check_state_transitions_lookup_idx",
385
+ "columns": [
386
+ {
387
+ "expression": "system_id",
388
+ "isExpression": false,
389
+ "asc": true,
390
+ "nulls": "last"
391
+ },
392
+ {
393
+ "expression": "environment_id",
394
+ "isExpression": false,
395
+ "asc": true,
396
+ "nulls": "last"
397
+ },
398
+ {
399
+ "expression": "to_status",
400
+ "isExpression": false,
401
+ "asc": true,
402
+ "nulls": "last"
403
+ },
404
+ {
405
+ "expression": "transitioned_at",
406
+ "isExpression": false,
407
+ "asc": true,
408
+ "nulls": "last"
409
+ }
410
+ ],
411
+ "isUnique": false,
412
+ "concurrently": false,
413
+ "method": "btree",
414
+ "with": {}
415
+ },
416
+ "health_check_state_transitions_system_recent_idx": {
417
+ "name": "health_check_state_transitions_system_recent_idx",
418
+ "columns": [
419
+ {
420
+ "expression": "system_id",
421
+ "isExpression": false,
422
+ "asc": true,
423
+ "nulls": "last"
424
+ },
425
+ {
426
+ "expression": "environment_id",
427
+ "isExpression": false,
428
+ "asc": true,
429
+ "nulls": "last"
430
+ },
431
+ {
432
+ "expression": "transitioned_at",
433
+ "isExpression": false,
434
+ "asc": true,
435
+ "nulls": "last"
436
+ }
437
+ ],
438
+ "isUnique": false,
439
+ "concurrently": false,
440
+ "method": "btree",
441
+ "with": {}
442
+ }
443
+ },
444
+ "foreignKeys": {
445
+ "health_check_state_transitions_configuration_id_health_check_configurations_id_fk": {
446
+ "name": "health_check_state_transitions_configuration_id_health_check_configurations_id_fk",
447
+ "tableFrom": "health_check_state_transitions",
448
+ "tableTo": "health_check_configurations",
449
+ "columnsFrom": [
450
+ "configuration_id"
451
+ ],
452
+ "columnsTo": [
453
+ "id"
454
+ ],
455
+ "onDelete": "cascade",
456
+ "onUpdate": "no action"
457
+ }
458
+ },
459
+ "compositePrimaryKeys": {},
460
+ "uniqueConstraints": {},
461
+ "policies": {},
462
+ "checkConstraints": {},
463
+ "isRLSEnabled": false
464
+ },
465
+ "public.system_health_checks": {
466
+ "name": "system_health_checks",
467
+ "schema": "",
468
+ "columns": {
469
+ "system_id": {
470
+ "name": "system_id",
471
+ "type": "text",
472
+ "primaryKey": false,
473
+ "notNull": true
474
+ },
475
+ "configuration_id": {
476
+ "name": "configuration_id",
477
+ "type": "uuid",
478
+ "primaryKey": false,
479
+ "notNull": true
480
+ },
481
+ "enabled": {
482
+ "name": "enabled",
483
+ "type": "boolean",
484
+ "primaryKey": false,
485
+ "notNull": true,
486
+ "default": true
487
+ },
488
+ "state_thresholds": {
489
+ "name": "state_thresholds",
490
+ "type": "jsonb",
491
+ "primaryKey": false,
492
+ "notNull": false
493
+ },
494
+ "retention_config": {
495
+ "name": "retention_config",
496
+ "type": "jsonb",
497
+ "primaryKey": false,
498
+ "notNull": false
499
+ },
500
+ "satellite_ids": {
501
+ "name": "satellite_ids",
502
+ "type": "jsonb",
503
+ "primaryKey": false,
504
+ "notNull": false
505
+ },
506
+ "environment_ids": {
507
+ "name": "environment_ids",
508
+ "type": "jsonb",
509
+ "primaryKey": false,
510
+ "notNull": false
511
+ },
512
+ "include_local": {
513
+ "name": "include_local",
514
+ "type": "boolean",
515
+ "primaryKey": false,
516
+ "notNull": true,
517
+ "default": true
518
+ },
519
+ "notification_policy": {
520
+ "name": "notification_policy",
521
+ "type": "jsonb",
522
+ "primaryKey": false,
523
+ "notNull": false
524
+ },
525
+ "created_at": {
526
+ "name": "created_at",
527
+ "type": "timestamp",
528
+ "primaryKey": false,
529
+ "notNull": true,
530
+ "default": "now()"
531
+ },
532
+ "updated_at": {
533
+ "name": "updated_at",
534
+ "type": "timestamp",
535
+ "primaryKey": false,
536
+ "notNull": true,
537
+ "default": "now()"
538
+ }
539
+ },
540
+ "indexes": {},
541
+ "foreignKeys": {
542
+ "system_health_checks_configuration_id_health_check_configurations_id_fk": {
543
+ "name": "system_health_checks_configuration_id_health_check_configurations_id_fk",
544
+ "tableFrom": "system_health_checks",
545
+ "tableTo": "health_check_configurations",
546
+ "columnsFrom": [
547
+ "configuration_id"
548
+ ],
549
+ "columnsTo": [
550
+ "id"
551
+ ],
552
+ "onDelete": "cascade",
553
+ "onUpdate": "no action"
554
+ }
555
+ },
556
+ "compositePrimaryKeys": {
557
+ "system_health_checks_system_id_configuration_id_pk": {
558
+ "name": "system_health_checks_system_id_configuration_id_pk",
559
+ "columns": [
560
+ "system_id",
561
+ "configuration_id"
562
+ ]
563
+ }
564
+ },
565
+ "uniqueConstraints": {},
566
+ "policies": {},
567
+ "checkConstraints": {},
568
+ "isRLSEnabled": false
569
+ }
570
+ },
571
+ "enums": {
572
+ "public.bucket_size": {
573
+ "name": "bucket_size",
574
+ "schema": "public",
575
+ "values": [
576
+ "hourly",
577
+ "daily"
578
+ ]
579
+ },
580
+ "public.health_check_status": {
581
+ "name": "health_check_status",
582
+ "schema": "public",
583
+ "values": [
584
+ "healthy",
585
+ "unhealthy",
586
+ "degraded"
587
+ ]
588
+ }
589
+ },
590
+ "schemas": {},
591
+ "sequences": {},
592
+ "roles": {},
593
+ "policies": {},
594
+ "views": {},
595
+ "_meta": {
596
+ "columns": {},
597
+ "schemas": {},
598
+ "tables": {}
599
+ }
600
+ }
@@ -127,6 +127,13 @@
127
127
  "when": 1780249120147,
128
128
  "tag": "0017_pretty_caretaker",
129
129
  "breakpoints": true
130
+ },
131
+ {
132
+ "idx": 18,
133
+ "version": "7",
134
+ "when": 1780357035712,
135
+ "tag": "0018_abnormal_preak",
136
+ "breakpoints": true
130
137
  }
131
138
  ]
132
139
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@checkstack/healthcheck-backend",
3
- "version": "1.4.0",
3
+ "version": "1.6.0",
4
4
  "license": "Elastic-2.0",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -14,42 +14,47 @@
14
14
  "lint:code": "eslint . --max-warnings 0"
15
15
  },
16
16
  "dependencies": {
17
- "@checkstack/backend-api": "0.18.0",
18
- "@checkstack/script-packages-backend": "0.1.0",
19
- "@checkstack/cache-api": "0.3.6",
20
- "@checkstack/cache-utils": "0.2.11",
21
- "@checkstack/catalog-backend": "1.2.0",
17
+ "@checkstack/backend-api": "0.20.0",
18
+ "@checkstack/ai-backend": "0.0.0",
19
+ "@checkstack/ai-common": "0.0.0",
20
+ "@checkstack/script-packages-backend": "0.2.1",
21
+ "@checkstack/cache-api": "0.3.8",
22
+ "@checkstack/cache-utils": "0.2.13",
23
+ "@checkstack/catalog-backend": "1.3.1",
22
24
  "@checkstack/catalog-common": "2.2.3",
23
- "@checkstack/command-backend": "0.1.31",
25
+ "@checkstack/command-backend": "0.1.33",
24
26
  "@checkstack/common": "0.12.0",
25
- "@checkstack/gitops-backend": "0.3.7",
26
- "@checkstack/gitops-common": "0.4.2",
27
- "@checkstack/healthcheck-common": "1.3.0",
28
- "@checkstack/secrets-common": "0.0.1",
29
- "@checkstack/secrets-backend": "0.0.1",
30
- "@checkstack/incident-backend": "1.3.0",
27
+ "@checkstack/gitops-backend": "0.4.1",
28
+ "@checkstack/gitops-common": "0.5.0",
29
+ "@checkstack/healthcheck-common": "1.4.0",
30
+ "@checkstack/secrets-common": "0.1.0",
31
+ "@checkstack/secrets-backend": "0.1.1",
32
+ "@checkstack/incident-backend": "1.5.0",
31
33
  "@checkstack/incident-common": "1.3.1",
32
- "@checkstack/automation-backend": "0.2.0",
33
- "@checkstack/maintenance-common": "1.2.3",
34
+ "@checkstack/automation-backend": "0.4.0",
35
+ "@checkstack/maintenance-common": "1.3.0",
34
36
  "@checkstack/notification-common": "1.2.1",
35
- "@checkstack/queue-api": "0.3.6",
36
- "@checkstack/satellite-backend": "0.4.0",
37
+ "@checkstack/queue-api": "0.3.8",
38
+ "@checkstack/satellite-backend": "0.5.1",
39
+ "@checkstack/sdk": "0.93.0",
37
40
  "@checkstack/signal-common": "0.2.5",
38
41
  "@hono/zod-validator": "^0.7.6",
39
42
  "drizzle-orm": "^0.45.0",
40
- "hono": "^4.12.14",
43
+ "hono": "^4.12.23",
41
44
  "tdigest": "^0.1.2",
45
+ "yaml": "^2.6.1",
42
46
  "zod": "^4.2.1",
43
- "@orpc/server": "^1.13.2"
47
+ "@orpc/contract": "^1.14.4",
48
+ "@orpc/server": "^1.14.4"
44
49
  },
45
50
  "devDependencies": {
46
51
  "@checkstack/drizzle-helper": "0.0.5",
47
52
  "@checkstack/scripts": "0.3.4",
48
- "@checkstack/test-utils-backend": "0.1.31",
53
+ "@checkstack/test-utils-backend": "0.1.33",
49
54
  "@checkstack/tsconfig": "0.0.7",
50
55
  "@types/bun": "^1.0.0",
51
56
  "@types/tdigest": "^0.1.5",
52
- "date-fns": "^4.1.0",
57
+ "date-fns": "^4.4.0",
53
58
  "drizzle-kit": "^0.31.10",
54
59
  "typescript": "^5.0.0"
55
60
  }