@shipeasy/devtools-core 1.0.0 → 1.1.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.
@@ -1,15 +1,48 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/generated/zod.gen.ts
2
2
  var _zod = require('zod'); var z = _interopRequireWildcard(_zod);
3
- var zListGatesResponse = z.object({
4
- data: z.array(z.object({
5
- id: z.string(),
6
- name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),
7
- enabled: z.union([
8
- z.boolean(),
9
- z.int().gte(0).lte(1)
3
+ var zGateApiRow = z.object({
4
+ id: z.string(),
5
+ name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),
6
+ enabled: z.union([
7
+ z.boolean(),
8
+ z.int().gte(0).lte(1)
9
+ ]),
10
+ type: z.enum(["targeting", "holdout"]).optional(),
11
+ rolloutPct: z.int().gte(0).lte(1e4),
12
+ rules: z.array(z.object({
13
+ attr: z.string().min(1),
14
+ op: z.enum([
15
+ "eq",
16
+ "neq",
17
+ "in",
18
+ "not_in",
19
+ "gt",
20
+ "gte",
21
+ "lt",
22
+ "lte",
23
+ "contains",
24
+ "regex",
25
+ "semver_gt",
26
+ "semver_gte",
27
+ "semver_lt",
28
+ "semver_lte",
29
+ "gate_pass",
30
+ "exp_in"
10
31
  ]),
11
- type: z.enum(["targeting", "holdout"]).optional(),
12
- rolloutPct: z.int().gte(0).lte(1e4),
32
+ value: z.unknown()
33
+ })).optional(),
34
+ salt: z.string().optional(),
35
+ title: z.string().nullish(),
36
+ description: z.string().nullish(),
37
+ folder: z.string().nullish(),
38
+ groupName: z.string().nullish(),
39
+ ownerEmail: z.string().nullish(),
40
+ stack: z.array(z.union([z.object({
41
+ id: z.string().min(1),
42
+ type: z.literal("condition"),
43
+ name: z.string().optional(),
44
+ fromTemplate: z.string().nullish(),
45
+ pass: z.enum(["all", "any"]).optional(),
13
46
  rules: z.array(z.object({
14
47
  attr: z.string().min(1),
15
48
  op: z.enum([
@@ -31,69 +64,42 @@ var zListGatesResponse = z.object({
31
64
  "exp_in"
32
65
  ]),
33
66
  value: z.unknown()
34
- })).optional(),
67
+ })).optional().default([]),
68
+ rolloutPct: z.int().gte(0).lte(1e4).optional(),
69
+ bucketBy: z.string().optional(),
35
70
  salt: z.string().optional(),
36
- title: z.string().nullish(),
37
- description: z.string().nullish(),
38
- folder: z.string().nullish(),
39
- groupName: z.string().nullish(),
40
- ownerEmail: z.string().nullish(),
41
- stack: z.array(z.union([z.object({
42
- id: z.string().min(1),
43
- type: z.literal("condition"),
44
- name: z.string().optional(),
45
- fromTemplate: z.string().nullish(),
46
- pass: z.enum(["all", "any"]).optional(),
47
- rules: z.array(z.object({
48
- attr: z.string().min(1),
49
- op: z.enum([
50
- "eq",
51
- "neq",
52
- "in",
53
- "not_in",
54
- "gt",
55
- "gte",
56
- "lt",
57
- "lte",
58
- "contains",
59
- "regex",
60
- "semver_gt",
61
- "semver_gte",
62
- "semver_lt",
63
- "semver_lte",
64
- "gate_pass",
65
- "exp_in"
66
- ]),
67
- value: z.unknown()
68
- })).optional().default([]),
69
- rolloutPct: z.int().gte(0).lte(1e4).optional(),
70
- bucketBy: z.string().optional(),
71
- salt: z.string().optional(),
72
- ramp: z.object({
73
- from: z.int().gte(0).lte(1e4),
74
- to: z.int().gte(0).lte(1e4),
75
- startAt: z.int().gte(0).lte(9007199254740991),
76
- durationMs: z.int().gt(0).lte(9007199254740991)
77
- }).optional(),
78
- locked: z.boolean().optional()
79
- }), z.object({
80
- id: z.string().min(1),
81
- type: z.literal("rollout"),
82
- name: z.string().optional(),
83
- fromTemplate: z.string().nullish(),
84
- rolloutPct: z.int().gte(0).lte(1e4),
85
- bucketBy: z.string().optional(),
86
- salt: z.string().optional(),
87
- ramp: z.object({
88
- from: z.int().gte(0).lte(1e4),
89
- to: z.int().gte(0).lte(1e4),
90
- startAt: z.int().gte(0).lte(9007199254740991),
91
- durationMs: z.int().gt(0).lte(9007199254740991)
92
- }).optional(),
93
- locked: z.boolean().optional()
94
- })])).nullish(),
95
- updatedAt: z.string()
96
- })),
71
+ ramp: z.object({
72
+ from: z.int().gte(0).lte(1e4),
73
+ to: z.int().gte(0).lte(1e4),
74
+ startAt: z.int().gte(0).lte(9007199254740991),
75
+ durationMs: z.int().gt(0).lte(9007199254740991)
76
+ }).optional(),
77
+ locked: z.boolean().optional(),
78
+ whitelist: z.boolean().optional()
79
+ }), z.object({
80
+ id: z.string().min(1),
81
+ type: z.literal("rollout"),
82
+ name: z.string().optional(),
83
+ fromTemplate: z.string().nullish(),
84
+ rolloutPct: z.int().gte(0).lte(1e4),
85
+ bucketBy: z.string().optional(),
86
+ salt: z.string().optional(),
87
+ ramp: z.object({
88
+ from: z.int().gte(0).lte(1e4),
89
+ to: z.int().gte(0).lte(1e4),
90
+ startAt: z.int().gte(0).lte(9007199254740991),
91
+ durationMs: z.int().gt(0).lte(9007199254740991)
92
+ }).optional(),
93
+ locked: z.boolean().optional()
94
+ })])).nullish(),
95
+ updatedAt: z.string(),
96
+ creatorEmail: z.string().nullable(),
97
+ updaterEmail: z.string().nullable(),
98
+ version: z.int().gte(1).lte(9007199254740991),
99
+ createdAt: z.string().nullable()
100
+ });
101
+ var zListGatesResponse = z.object({
102
+ data: z.array(zGateApiRow),
97
103
  next_cursor: z.string().nullable()
98
104
  });
99
105
  var zErrorCode = z.enum([
@@ -120,7 +126,8 @@ var zErrorCode = z.enum([
120
126
  "EXPERIMENT_RUNNING_ARCHIVE",
121
127
  "EXPERIMENT_IMMUTABLE_FIELD",
122
128
  "METRIC_NOT_FOUND",
123
- "METRIC_UNKNOWN_ID"
129
+ "METRIC_UNKNOWN_ID",
130
+ "AGENT_NOT_CONNECTED"
124
131
  ]);
125
132
  var zError = z.object({
126
133
  error: z.string(),
@@ -197,7 +204,8 @@ var zCreateGateRequest = z.object({
197
204
  startAt: z.int().gte(0).lte(9007199254740991),
198
205
  durationMs: z.int().gt(0).lte(9007199254740991)
199
206
  }).optional(),
200
- locked: z.boolean().optional()
207
+ locked: z.boolean().optional(),
208
+ whitelist: z.boolean().optional()
201
209
  }), z.object({
202
210
  id: z.string().min(1),
203
211
  type: z.literal("rollout"),
@@ -292,7 +300,8 @@ var zUpdateGateRequest = z.object({
292
300
  startAt: z.int().gte(0).lte(9007199254740991),
293
301
  durationMs: z.int().gt(0).lte(9007199254740991)
294
302
  }).optional(),
295
- locked: z.boolean().optional()
303
+ locked: z.boolean().optional(),
304
+ whitelist: z.boolean().optional()
296
305
  }), z.object({
297
306
  id: z.string().min(1),
298
307
  type: z.literal("rollout"),
@@ -326,47 +335,111 @@ var zDisableGateResponse = z.object({
326
335
  id: z.string(),
327
336
  enabled: z.boolean()
328
337
  });
329
- var zListExperimentsResponse = z.object({
330
- data: z.array(z.object({
331
- id: z.string(),
332
- name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),
333
- description: z.string().nullable(),
334
- hypothesis: z.string().nullable(),
335
- tag: z.string().nullable(),
336
- ownerEmail: z.string().nullable(),
337
- audience: z.string().nullable(),
338
- bucketBy: z.string().min(1).max(128).regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/).nullable(),
339
- folder: z.string().nullable(),
340
- status: z.enum([
341
- "draft",
342
- "running",
343
- "stopped",
344
- "archived"
345
- ]),
346
- universe: z.string(),
347
- targetingGate: z.string().nullable(),
348
- holdoutGate: z.string().nullish(),
349
- allocationPct: z.int().gte(-9007199254740991).lte(9007199254740991),
350
- reservedHeadroom: z.int().gte(0).lte(1e4).optional(),
351
- salt: z.string(),
352
- params: z.record(z.string(), z.enum([
353
- "string",
354
- "bool",
355
- "number"
356
- ])),
357
- groups: z.array(z.object({
358
- name: z.string().min(1).max(64),
359
- weight: z.int().gte(0).lte(1e4),
360
- params: z.record(z.string(), z.unknown()).optional().default({})
361
- })),
362
- significanceThreshold: z.number(),
363
- minRuntimeDays: z.int().gte(-9007199254740991).lte(9007199254740991),
364
- minSampleSize: z.int().gte(-9007199254740991).lte(9007199254740991),
365
- sequentialTesting: z.boolean(),
366
- startedAt: z.string().nullable(),
367
- stoppedAt: z.string().nullish(),
368
- updatedAt: z.string()
338
+ var zListGateActivityResponse = z.array(z.object({
339
+ id: z.string(),
340
+ action: z.string(),
341
+ actorEmail: z.string(),
342
+ actorType: z.enum([
343
+ "user",
344
+ "cli",
345
+ "system"
346
+ ]),
347
+ payload: z.unknown(),
348
+ createdAt: z.string()
349
+ }));
350
+ var zGateWhitelistAttr = z.enum(["email", "user_id"]);
351
+ var zGateWhitelist = z.object({
352
+ id: z.string(),
353
+ name: z.string(),
354
+ attr: zGateWhitelistAttr,
355
+ entries: z.array(z.string().min(1))
356
+ });
357
+ var zSetGateWhitelistRequest = z.object({
358
+ attr: zGateWhitelistAttr.optional(),
359
+ entries: z.array(z.string().min(1))
360
+ });
361
+ var zAddToGateWhitelistRequest = z.object({
362
+ attr: zGateWhitelistAttr.optional(),
363
+ entries: z.array(z.string().min(1)).min(1)
364
+ });
365
+ var zRemoveFromGateWhitelistRequest = z.object({
366
+ entries: z.array(z.string().min(1)).min(1)
367
+ });
368
+ var zExperimentApiRow = z.object({
369
+ id: z.string(),
370
+ name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),
371
+ description: z.string().nullable(),
372
+ hypothesis: z.string().nullable(),
373
+ tag: z.string().nullable(),
374
+ ownerEmail: z.string().nullable(),
375
+ audience: z.string().nullable(),
376
+ bucketBy: z.string().min(1).max(128).regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/).nullable(),
377
+ folder: z.string().nullable(),
378
+ status: z.enum([
379
+ "draft",
380
+ "running",
381
+ "stopped",
382
+ "archived"
383
+ ]),
384
+ universe: z.string(),
385
+ targetingGate: z.string().nullable(),
386
+ holdoutGate: z.string().nullable(),
387
+ allocationPct: z.int().gte(-9007199254740991).lte(9007199254740991),
388
+ reservedHeadroom: z.int().gte(0).lte(1e4),
389
+ hashVersion: z.int().gte(1),
390
+ poolOffsetBp: z.int().gte(0).lte(1e4).nullable(),
391
+ poolSizeBp: z.int().gte(0).lte(1e4).nullable(),
392
+ salt: z.string(),
393
+ params: z.record(z.string(), z.enum([
394
+ "string",
395
+ "bool",
396
+ "number"
397
+ ])),
398
+ groups: z.array(z.object({
399
+ name: z.string().min(1).max(64),
400
+ weight: z.int().gte(0).lte(1e4),
401
+ params: z.record(z.string(), z.unknown()).optional().default({})
369
402
  })),
403
+ significanceThreshold: z.number(),
404
+ minRuntimeDays: z.int().gte(-9007199254740991).lte(9007199254740991),
405
+ minSampleSize: z.int().gte(-9007199254740991).lte(9007199254740991),
406
+ sequentialTesting: z.boolean(),
407
+ startedAt: z.string().nullable(),
408
+ stoppedAt: z.string().nullable(),
409
+ updatedAt: z.string(),
410
+ version: z.int().nullable(),
411
+ creatorEmail: z.string().nullish(),
412
+ updaterEmail: z.string().nullish(),
413
+ verdict: z.enum([
414
+ "ship",
415
+ "hold",
416
+ "wait",
417
+ "invalid",
418
+ "draft"
419
+ ]).optional(),
420
+ verdictTitle: z.string().optional(),
421
+ verdictWhy: z.string().optional(),
422
+ goalMetric: z.object({
423
+ id: z.string(),
424
+ name: z.string()
425
+ }).nullish(),
426
+ guardrails: z.array(z.object({
427
+ id: z.string(),
428
+ name: z.string(),
429
+ eventName: z.string().nullish()
430
+ })).optional(),
431
+ guardrailCount: z.int().gte(0).optional(),
432
+ primaryLiftPct: z.number().nullish(),
433
+ significancePct: z.number().nullish(),
434
+ sampleSize: z.int().nullish(),
435
+ exposure: z.array(z.object({
436
+ ds: z.string(),
437
+ value: z.number()
438
+ })).optional(),
439
+ exposureTotal: z.int().nullish()
440
+ });
441
+ var zListExperimentsResponse = z.object({
442
+ data: z.array(zExperimentApiRow),
370
443
  next_cursor: z.string().nullable()
371
444
  });
372
445
  var zMetricName = z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/);
@@ -375,10 +448,7 @@ var zExperimentInlineMetric = z.object({
375
448
  query: z.string().min(1).max(4096).optional(),
376
449
  event: z.string().min(1).max(256).optional(),
377
450
  aggregation: z.enum([
378
- "count_users",
379
451
  "count_events",
380
- "retention_7d",
381
- "retention_30d",
382
452
  "sum",
383
453
  "avg"
384
454
  ]).optional(),
@@ -422,44 +492,6 @@ var zCreateExperimentResponse = z.object({
422
492
  id: z.string(),
423
493
  name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/)
424
494
  });
425
- var zGetExperimentResponse = z.object({
426
- id: z.string(),
427
- name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),
428
- description: z.string().nullable(),
429
- hypothesis: z.string().nullable(),
430
- tag: z.string().nullable(),
431
- ownerEmail: z.string().nullable(),
432
- audience: z.string().nullable(),
433
- bucketBy: z.string().min(1).max(128).regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/).nullable(),
434
- folder: z.string().nullable(),
435
- status: z.enum([
436
- "draft",
437
- "running",
438
- "stopped",
439
- "archived"
440
- ]),
441
- universe: z.string(),
442
- targetingGate: z.string().nullable(),
443
- allocationPct: z.int().gte(-9007199254740991).lte(9007199254740991),
444
- salt: z.string(),
445
- params: z.record(z.string(), z.enum([
446
- "string",
447
- "bool",
448
- "number"
449
- ])),
450
- groups: z.array(z.object({
451
- name: z.string().min(1).max(64),
452
- weight: z.int().gte(0).lte(1e4),
453
- params: z.record(z.string(), z.unknown()).optional().default({})
454
- })),
455
- significanceThreshold: z.number(),
456
- minRuntimeDays: z.int().gte(-9007199254740991).lte(9007199254740991),
457
- minSampleSize: z.int().gte(-9007199254740991).lte(9007199254740991),
458
- sequentialTesting: z.boolean(),
459
- startedAt: z.string().nullable(),
460
- stoppedAt: z.string().nullish(),
461
- updatedAt: z.string()
462
- });
463
495
  var zDeleteExperimentResponse = z.object({
464
496
  ok: z.literal(true)
465
497
  });
@@ -539,6 +571,31 @@ var zSetExperimentMetricsResponse = z.object({
539
571
  min_effect_of_interest: z.number().nullable()
540
572
  }))
541
573
  });
574
+ var zExperimentResultRow = z.object({
575
+ metric: z.string(),
576
+ groupName: z.string(),
577
+ ds: z.string(),
578
+ n: z.int().nullable(),
579
+ mean: z.number().nullable(),
580
+ variance: z.number().nullable(),
581
+ delta: z.number().nullable(),
582
+ deltaPct: z.number().nullable(),
583
+ ci95Low: z.number().nullable(),
584
+ ci95High: z.number().nullable(),
585
+ ci99Low: z.number().nullable(),
586
+ ci99High: z.number().nullable(),
587
+ ciLow: z.number().nullable(),
588
+ ciHigh: z.number().nullable(),
589
+ pValue: z.number().nullable(),
590
+ expectedN: z.int().nullable(),
591
+ realizedMde: z.number().nullable(),
592
+ srmPValue: z.number().nullable(),
593
+ srmDetected: z.int(),
594
+ msprtSignificant: z.int().nullable(),
595
+ msprtLambda: z.number().nullable(),
596
+ isFinal: z.int(),
597
+ peekWarning: z.int()
598
+ });
542
599
  var zGetExperimentResultsResponse = z.object({
543
600
  experiment: z.object({
544
601
  id: z.string(),
@@ -550,17 +607,7 @@ var zGetExperimentResultsResponse = z.object({
550
607
  "archived"
551
608
  ])
552
609
  }),
553
- results: z.array(z.object({
554
- metric: z.string(),
555
- group_name: z.string(),
556
- ds: z.string(),
557
- n: z.number().nullable(),
558
- mean: z.number().nullable(),
559
- delta_pct: z.number().nullable(),
560
- p_value: z.number().nullable(),
561
- srm_detected: z.number().nullable(),
562
- realized_mde: z.number().nullable()
563
- })),
610
+ results: z.array(zExperimentResultRow),
564
611
  verdict: z.enum([
565
612
  "ship",
566
613
  "hold",
@@ -580,27 +627,82 @@ var zGetExperimentTimeseriesResponse = z.object({
580
627
  "archived"
581
628
  ])
582
629
  }),
583
- series: z.array(z.object({
584
- metric: z.string(),
585
- group_name: z.string(),
586
- ds: z.string(),
587
- n: z.number().nullable(),
588
- mean: z.number().nullable(),
589
- delta_pct: z.number().nullable(),
590
- p_value: z.number().nullable(),
591
- srm_detected: z.number().nullable()
592
- }))
630
+ series: z.array(zExperimentResultRow)
593
631
  });
594
632
  var zReanalyzeExperimentResponse = z.object({
595
633
  id: z.string(),
596
- queued: z.literal(true)
634
+ queued: z.boolean()
635
+ });
636
+ var zCreateExperimentReadoutRequest = z.object({
637
+ kind: z.enum([
638
+ "manual",
639
+ "ship",
640
+ "stop"
641
+ ]),
642
+ acknowledgedCaveatIds: z.array(z.string()).optional(),
643
+ requireAllAcknowledged: z.boolean().optional()
644
+ });
645
+ var zCreateExperimentReadoutResponse = z.object({
646
+ id: z.string()
647
+ });
648
+ var zExperimentReadoutMetric = z.object({
649
+ name: z.string(),
650
+ role: z.enum([
651
+ "goal",
652
+ "guardrail",
653
+ "secondary"
654
+ ]),
655
+ delta: z.number().nullable(),
656
+ deltaPct: z.number().nullable(),
657
+ ci: z.tuple([z.number(), z.number()]).nullable(),
658
+ p: z.number().nullable(),
659
+ sig: z.boolean(),
660
+ pass: z.boolean().optional()
661
+ });
662
+ var zExperimentReadoutCaveat = z.object({
663
+ id: z.string(),
664
+ severity: z.enum([
665
+ "info",
666
+ "warn",
667
+ "danger"
668
+ ]),
669
+ text: z.string(),
670
+ acknowledged: z.boolean()
671
+ });
672
+ var zExperimentReadoutApiRow = z.object({
673
+ id: z.string(),
674
+ experimentId: z.string(),
675
+ experimentName: z.string(),
676
+ kind: z.enum([
677
+ "manual",
678
+ "ship",
679
+ "stop"
680
+ ]),
681
+ createdBy: z.string(),
682
+ createdAt: z.string(),
683
+ verdict: z.string(),
684
+ title: z.string(),
685
+ why: z.string(),
686
+ configHash: z.string(),
687
+ metricsJson: z.array(zExperimentReadoutMetric).nullable(),
688
+ caveatsJson: z.array(zExperimentReadoutCaveat).nullable(),
689
+ usersJson: z.object({
690
+ groups: z.array(z.object({
691
+ name: z.string(),
692
+ n: z.number()
693
+ })),
694
+ days: z.number()
695
+ }).nullable()
597
696
  });
598
697
  var zListConfigsResponse = z.object({
599
698
  data: z.array(z.object({
600
699
  id: z.string(),
601
700
  name: z.string().max(128),
602
701
  description: z.string().nullable(),
702
+ folder: z.string().nullable(),
603
703
  schema: z.record(z.string(), z.unknown()),
704
+ creatorEmail: z.string().nullish(),
705
+ createdAt: z.string().nullish(),
604
706
  updatedAt: z.string(),
605
707
  envs: z.record(z.string(), z.object({
606
708
  version: z.int().gte(-9007199254740991).lte(9007199254740991),
@@ -623,7 +725,10 @@ var zCreateConfigRequest = z.object({
623
725
  description: z.string().max(512).optional(),
624
726
  folder: zFolder.optional(),
625
727
  schema: z.record(z.string(), z.unknown()),
626
- value: z.unknown().optional()
728
+ value: z.record(z.string(), z.unknown()).optional(),
729
+ dev: z.record(z.string(), z.unknown()).optional(),
730
+ staging: z.record(z.string(), z.unknown()).optional(),
731
+ prod: z.record(z.string(), z.unknown()).optional()
627
732
  });
628
733
  var zCreateConfigResponse = z.object({
629
734
  id: z.string(),
@@ -633,7 +738,10 @@ var zGetConfigResponse = z.object({
633
738
  id: z.string(),
634
739
  name: z.string().max(128),
635
740
  description: z.string().nullable(),
741
+ folder: z.string().nullable(),
636
742
  schema: z.record(z.string(), z.unknown()),
743
+ creatorEmail: z.string().nullish(),
744
+ createdAt: z.string().nullish(),
637
745
  updatedAt: z.string(),
638
746
  envs: z.record(z.string(), z.object({
639
747
  version: z.int().gte(-9007199254740991).lte(9007199254740991),
@@ -653,7 +761,10 @@ var zDeleteConfigResponse = z.object({
653
761
  });
654
762
  var zUpdateConfigRequest = z.object({
655
763
  schema: z.record(z.string(), z.unknown()).optional(),
656
- value: z.unknown().optional(),
764
+ value: z.record(z.string(), z.unknown()).optional(),
765
+ dev: z.record(z.string(), z.unknown()).optional(),
766
+ staging: z.record(z.string(), z.unknown()).optional(),
767
+ prod: z.record(z.string(), z.unknown()).optional(),
657
768
  folder: zFolder.optional()
658
769
  });
659
770
  var zUpdateConfigResponse = z.object({
@@ -666,7 +777,7 @@ var zEnv = z.enum([
666
777
  ]);
667
778
  var zSaveConfigDraftRequest = z.object({
668
779
  env: zEnv,
669
- value: z.unknown()
780
+ value: z.record(z.string(), z.unknown())
670
781
  });
671
782
  var zSaveConfigDraftResponse = z.object({
672
783
  id: z.string(),
@@ -706,11 +817,20 @@ var zUpdateConfigSchemaRequest = z.object({
706
817
  var zUpdateConfigSchemaResponse = z.object({
707
818
  id: z.string()
708
819
  });
820
+ var zListConfigVersionsResponse = z.array(z.object({
821
+ version: z.int().gte(1).lte(9007199254740991),
822
+ value: z.unknown(),
823
+ publishedAt: z.string(),
824
+ publishedBy: z.string()
825
+ }));
709
826
  var zListKillswitchesResponse = z.object({
710
827
  data: z.array(z.object({
711
828
  id: z.string(),
712
829
  name: z.string().max(128),
713
830
  description: z.string().nullable(),
831
+ folder: z.string().nullable(),
832
+ creatorEmail: z.string().nullable(),
833
+ createdAt: z.string().nullable(),
714
834
  updatedAt: z.string(),
715
835
  envs: z.record(z.string(), z.object({
716
836
  value: z.boolean(),
@@ -737,6 +857,9 @@ var zGetKillswitchResponse = z.object({
737
857
  id: z.string(),
738
858
  name: z.string().max(128),
739
859
  description: z.string().nullable(),
860
+ folder: z.string().nullable(),
861
+ creatorEmail: z.string().nullable(),
862
+ createdAt: z.string().nullable(),
740
863
  updatedAt: z.string(),
741
864
  envs: z.record(z.string(), z.object({
742
865
  value: z.boolean(),
@@ -793,6 +916,20 @@ var zSetKillswitchValueResponse = z.object({
793
916
  version: z.int().gte(-9007199254740991).lte(9007199254740991),
794
917
  published: zKillswitchValue
795
918
  });
919
+ var zToggleKillswitchRequest = z.object({
920
+ switchKey: z.string().max(64).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/).nullish(),
921
+ value: z.boolean().nullish(),
922
+ env: zEnv.optional()
923
+ });
924
+ var zToggleKillswitchResponse = z.object({
925
+ id: z.string(),
926
+ env: zEnv,
927
+ switchKey: z.string().max(64).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/).nullable(),
928
+ previous: z.boolean(),
929
+ value: z.boolean(),
930
+ version: z.int().gte(-9007199254740991).lte(9007199254740991),
931
+ published: zKillswitchValue
932
+ });
796
933
  var zUniverseParam = z.object({
797
934
  name: z.string().min(1).max(128).regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/),
798
935
  type: z.enum([
@@ -934,10 +1071,6 @@ var zUpdateGateTemplateRequest = z.object({
934
1071
  var zUpdateGateTemplateResponse = z.object({
935
1072
  id: z.string()
936
1073
  });
937
- var zListAttributesResponse = z.array(z.object({
938
- name: z.string(),
939
- type: z.string().optional()
940
- }));
941
1074
  var zAttributeType = z.enum([
942
1075
  "string",
943
1076
  "number",
@@ -945,6 +1078,19 @@ var zAttributeType = z.enum([
945
1078
  "enum",
946
1079
  "date"
947
1080
  ]);
1081
+ var zListAttributesResponse = z.array(z.object({
1082
+ id: z.string(),
1083
+ name: z.string(),
1084
+ type: zAttributeType,
1085
+ enumValues: z.array(z.string()).nullish(),
1086
+ required: z.union([z.literal(0), z.literal(1)]).optional(),
1087
+ description: z.string().nullish(),
1088
+ sdkPath: z.string().nullish(),
1089
+ createdAt: z.string().optional(),
1090
+ source: z.enum(["auto", "manual"]).optional(),
1091
+ lastSeenAt: z.string().nullish(),
1092
+ deprecated: z.union([z.literal(0), z.literal(1)]).optional()
1093
+ }));
948
1094
  var zCreateAttributeRequest = z.object({
949
1095
  name: z.string().regex(/^[a-z0-9][a-z0-9_-]{0,63}$/),
950
1096
  type: zAttributeType,
@@ -980,92 +1126,24 @@ var zUpdateAttributeRequest = z.object({
980
1126
  var zUpdateAttributeResponse = z.object({
981
1127
  id: z.string()
982
1128
  });
1129
+ var zMetricDisplayConfig = z.object({
1130
+ band: z.object({
1131
+ method: z.enum(["seasonal"]),
1132
+ sigma: z.number().gt(0).optional()
1133
+ }).optional(),
1134
+ forecast: z.object({
1135
+ method: z.enum(["linear", "seasonal"]),
1136
+ horizon: z.int().gte(1).lte(500).optional()
1137
+ }).optional()
1138
+ });
983
1139
  var zQueryIr = z.object({
984
- agg: z.union([
985
- z.object({
986
- kind: z.literal("count_users")
987
- }),
988
- z.object({
989
- kind: z.literal("count_events")
990
- }),
991
- z.object({
992
- kind: z.literal("sum")
993
- }),
994
- z.object({
995
- kind: z.literal("avg")
996
- }),
997
- z.object({
998
- kind: z.literal("min")
999
- }),
1000
- z.object({
1001
- kind: z.literal("max")
1002
- }),
1003
- z.object({
1004
- kind: z.literal("unique")
1005
- }),
1006
- z.object({
1007
- kind: z.literal("quantile"),
1008
- p: z.union([
1009
- z.literal(0.5),
1010
- z.literal(0.75),
1011
- z.literal(0.9),
1012
- z.literal(0.95),
1013
- z.literal(0.99),
1014
- z.literal(0.999)
1015
- ])
1016
- }),
1017
- z.object({
1018
- kind: z.literal("retention_Nd"),
1019
- n: z.int().gte(1).lte(90)
1020
- }),
1021
- z.object({
1022
- kind: z.literal("ratio"),
1023
- numerator: z.object({
1024
- agg: z.enum(["count_users", "count_events"]),
1025
- metric: z.string().min(1).max(128),
1026
- filters: z.array(z.object({
1027
- label: z.string().regex(/^[a-z_][a-z0-9_]{0,63}$/),
1028
- op: z.enum([
1029
- "=",
1030
- "!=",
1031
- "=~",
1032
- "!~"
1033
- ]),
1034
- value: z.string().max(512)
1035
- })).max(16).optional()
1036
- }),
1037
- denominator: z.object({
1038
- agg: z.enum(["count_users", "count_events"]),
1039
- metric: z.string().min(1).max(128),
1040
- filters: z.array(z.object({
1041
- label: z.string().regex(/^[a-z_][a-z0-9_]{0,63}$/),
1042
- op: z.enum([
1043
- "=",
1044
- "!=",
1045
- "=~",
1046
- "!~"
1047
- ]),
1048
- value: z.string().max(512)
1049
- })).max(16).optional()
1050
- })
1051
- })
1052
- ]),
1053
- metric: z.string().min(1).max(128),
1054
- valueLabel: z.string().min(1).max(128).optional(),
1055
- filters: z.array(z.object({
1056
- label: z.string().regex(/^[a-z_][a-z0-9_]{0,63}$/),
1057
- op: z.enum([
1058
- "=",
1059
- "!=",
1060
- "=~",
1061
- "!~"
1062
- ]),
1063
- value: z.string().max(512)
1064
- })).max(16).optional().default([]),
1140
+ v: z.literal(2),
1141
+ expr: z.record(z.string(), z.unknown()),
1065
1142
  groupBy: z.object({
1066
1143
  op: z.enum(["by", "without"]),
1067
- labels: z.array(z.string().regex(/^[a-z_][a-z0-9_]{0,63}$/)).max(5)
1068
- }).optional()
1144
+ labels: z.array(z.string().regex(/^[a-z_][a-z0-9_]{0,63}$/)).max(8)
1145
+ }).optional(),
1146
+ display: zMetricDisplayConfig.optional()
1069
1147
  });
1070
1148
  var zListMetricsResponse = z.array(z.object({
1071
1149
  id: z.string(),
@@ -1073,7 +1151,14 @@ var zListMetricsResponse = z.array(z.object({
1073
1151
  folder: z.string().nullable(),
1074
1152
  eventName: z.string(),
1075
1153
  query: z.string().nullable(),
1076
- queryIr: zQueryIr,
1154
+ queryIr: zQueryIr.nullable(),
1155
+ displayName: z.string().nullable(),
1156
+ presetId: z.string().nullable(),
1157
+ unit: z.string().nullable(),
1158
+ version: z.int(),
1159
+ deletedAt: z.string().nullable(),
1160
+ creatorEmail: z.string().nullish(),
1161
+ updaterEmail: z.string().nullish(),
1077
1162
  direction: z.enum([
1078
1163
  "higher_better",
1079
1164
  "lower_better",
@@ -1081,9 +1166,10 @@ var zListMetricsResponse = z.array(z.object({
1081
1166
  ]).optional(),
1082
1167
  winsorizePct: z.number().optional(),
1083
1168
  defaultMinEffectOfInterest: z.number().nullish(),
1084
- createdAt: z.string().optional(),
1169
+ createdAt: z.string().nullish(),
1085
1170
  updatedAt: z.string().optional()
1086
1171
  }));
1172
+ var zMetricDisplayName = z.string().nullable();
1087
1173
  var zMetricEventName = z.string().min(1);
1088
1174
  var zMetricQueryDsl = z.string().min(1).max(4096);
1089
1175
  var zMetricWinsorizePct = z.int().gte(1).lte(99).default(99);
@@ -1093,23 +1179,30 @@ var zMetricDirection = z.enum([
1093
1179
  "lower_better",
1094
1180
  "neutral"
1095
1181
  ]).default("higher_better");
1182
+ var zMetricDisplayUnit = z.string().nullable();
1096
1183
  var zCreateMetricWithQuery = z.object({
1097
1184
  name: zMetricName,
1185
+ display_name: zMetricDisplayName.optional(),
1098
1186
  folder: zFolder.optional(),
1099
1187
  event_name: zMetricEventName,
1100
1188
  query: zMetricQueryDsl,
1101
1189
  winsorize_pct: zMetricWinsorizePct.optional(),
1102
1190
  default_min_effect_of_interest: zMetricDefaultMinEffectOfInterest.optional(),
1103
- direction: zMetricDirection.optional()
1191
+ direction: zMetricDirection.optional(),
1192
+ unit: zMetricDisplayUnit.optional(),
1193
+ display: zMetricDisplayConfig.optional()
1104
1194
  });
1105
1195
  var zCreateMetricWithQueryIr = z.object({
1106
1196
  name: zMetricName,
1197
+ display_name: zMetricDisplayName.optional(),
1107
1198
  folder: zFolder.optional(),
1108
1199
  event_name: zMetricEventName,
1109
1200
  query_ir: zQueryIr,
1110
1201
  winsorize_pct: zMetricWinsorizePct.optional(),
1111
1202
  default_min_effect_of_interest: zMetricDefaultMinEffectOfInterest.optional(),
1112
- direction: zMetricDirection.optional()
1203
+ direction: zMetricDirection.optional(),
1204
+ unit: zMetricDisplayUnit.optional(),
1205
+ display: zMetricDisplayConfig.optional()
1113
1206
  });
1114
1207
  var zCreateMetricRequest = z.union([
1115
1208
  zCreateMetricWithQuery,
@@ -1125,7 +1218,12 @@ var zGetMetricResponse = z.object({
1125
1218
  folder: z.string().nullable(),
1126
1219
  eventName: z.string(),
1127
1220
  query: z.string().nullable(),
1128
- queryIr: zQueryIr,
1221
+ queryIr: zQueryIr.nullable(),
1222
+ displayName: z.string().nullable(),
1223
+ presetId: z.string().nullable(),
1224
+ unit: z.string().nullable(),
1225
+ version: z.int(),
1226
+ deletedAt: z.string().nullable(),
1129
1227
  direction: z.enum([
1130
1228
  "higher_better",
1131
1229
  "lower_better",
@@ -1133,64 +1231,108 @@ var zGetMetricResponse = z.object({
1133
1231
  ]).optional(),
1134
1232
  winsorizePct: z.number().optional(),
1135
1233
  defaultMinEffectOfInterest: z.number().nullish(),
1136
- createdAt: z.string().optional(),
1234
+ createdAt: z.string().nullish(),
1137
1235
  updatedAt: z.string().optional()
1138
1236
  });
1139
1237
  var zDeleteMetricResponse = z.object({
1140
1238
  ok: z.literal(true)
1141
1239
  });
1142
1240
  var zUpdateMetricWithQuery = z.object({
1241
+ display_name: zMetricDisplayName.optional(),
1143
1242
  folder: zFolder.optional(),
1144
1243
  event_name: zMetricEventName.optional(),
1145
1244
  query: zMetricQueryDsl,
1146
1245
  winsorize_pct: zMetricWinsorizePct.optional(),
1147
1246
  default_min_effect_of_interest: zMetricDefaultMinEffectOfInterest.optional(),
1148
- direction: zMetricDirection.optional()
1247
+ direction: zMetricDirection.optional(),
1248
+ unit: zMetricDisplayUnit.optional(),
1249
+ display: zMetricDisplayConfig.optional()
1149
1250
  });
1150
1251
  var zUpdateMetricWithQueryIr = z.object({
1252
+ display_name: zMetricDisplayName.optional(),
1151
1253
  folder: zFolder.optional(),
1152
1254
  event_name: zMetricEventName.optional(),
1153
1255
  query_ir: zQueryIr,
1154
1256
  winsorize_pct: zMetricWinsorizePct.optional(),
1155
1257
  default_min_effect_of_interest: zMetricDefaultMinEffectOfInterest.optional(),
1156
- direction: zMetricDirection.optional()
1258
+ direction: zMetricDirection.optional(),
1259
+ unit: zMetricDisplayUnit.optional(),
1260
+ display: zMetricDisplayConfig.optional()
1157
1261
  });
1158
1262
  var zUpdateMetricFields = z.object({
1263
+ display_name: zMetricDisplayName.optional(),
1159
1264
  folder: zFolder.optional(),
1160
1265
  event_name: zMetricEventName.optional(),
1161
1266
  winsorize_pct: zMetricWinsorizePct.optional(),
1162
1267
  default_min_effect_of_interest: zMetricDefaultMinEffectOfInterest.optional(),
1163
- direction: zMetricDirection.optional()
1268
+ direction: zMetricDirection.optional(),
1269
+ unit: zMetricDisplayUnit.optional(),
1270
+ display: zMetricDisplayConfig.optional()
1164
1271
  });
1165
1272
  var zUpdateMetricRequest = z.union([
1166
1273
  zUpdateMetricWithQuery,
1167
1274
  zUpdateMetricWithQueryIr,
1168
1275
  zUpdateMetricFields
1169
1276
  ]);
1277
+ var zListMetricExperimentsResponse = z.object({
1278
+ experiments: z.array(z.object({
1279
+ id: z.string(),
1280
+ name: z.string(),
1281
+ status: z.enum([
1282
+ "draft",
1283
+ "running",
1284
+ "stopped",
1285
+ "archived"
1286
+ ]),
1287
+ role: z.enum([
1288
+ "goal",
1289
+ "guardrail",
1290
+ "secondary"
1291
+ ])
1292
+ }))
1293
+ });
1294
+ var zUnarchiveMetricResponse = z.object({
1295
+ ok: z.literal(true)
1296
+ });
1297
+ var zGetMetricSeriesRequest = z.object({
1298
+ from: z.int().gte(0),
1299
+ to: z.int().gte(0),
1300
+ bucket: z.int().gte(60).lte(86400).optional().default(3600)
1301
+ });
1302
+ var zGetMetricSeriesResponse = z.object({
1303
+ sql: z.string(),
1304
+ rows: z.array(z.object({
1305
+ t: z.int(),
1306
+ v: z.number(),
1307
+ lo: z.number().optional(),
1308
+ hi: z.number().optional()
1309
+ }))
1310
+ });
1170
1311
  var zListEventsResponse = z.array(z.object({
1171
1312
  id: z.string(),
1172
1313
  name: z.string(),
1173
1314
  folder: z.string().max(256).regex(/^[a-zA-Z0-9_-]+$/).nullish(),
1174
1315
  description: z.string().nullable(),
1175
1316
  properties: z.array(z.object({
1176
- name: z.string().min(1).max(64),
1317
+ name: z.string().min(1).max(64).regex(/^[a-zA-Z_][a-zA-Z_0-9]*$/),
1177
1318
  type: z.enum([
1178
1319
  "string",
1179
1320
  "number",
1180
1321
  "boolean"
1181
1322
  ]),
1182
1323
  required: z.boolean().optional().default(false),
1183
- description: z.string().optional().default("")
1324
+ description: z.string().optional().default(""),
1325
+ pending: z.boolean().optional()
1184
1326
  })),
1185
1327
  pending: z.int().gte(-9007199254740991).lte(9007199254740991),
1186
1328
  createdAt: z.string()
1187
1329
  }));
1188
1330
  var zCreateEventRequest = z.object({
1189
- name: z.string().regex(/^[a-zA-Z0-9_][a-zA-Z0-9_\-.]{0,127}$/),
1331
+ name: z.string().regex(/^[a-zA-Z0-9_][a-zA-Z0-9_\-.]{0,49}$/),
1190
1332
  folder: zFolder.optional(),
1191
1333
  description: z.string().optional(),
1192
1334
  properties: z.array(z.object({
1193
- name: z.string().min(1).max(64),
1335
+ name: z.string().min(1).max(64).regex(/^[a-zA-Z_][a-zA-Z_0-9]*$/),
1194
1336
  type: z.enum([
1195
1337
  "string",
1196
1338
  "number",
@@ -1210,14 +1352,15 @@ var zGetEventResponse = z.object({
1210
1352
  folder: z.string().max(256).regex(/^[a-zA-Z0-9_-]+$/).nullish(),
1211
1353
  description: z.string().nullable(),
1212
1354
  properties: z.array(z.object({
1213
- name: z.string().min(1).max(64),
1355
+ name: z.string().min(1).max(64).regex(/^[a-zA-Z_][a-zA-Z_0-9]*$/),
1214
1356
  type: z.enum([
1215
1357
  "string",
1216
1358
  "number",
1217
1359
  "boolean"
1218
1360
  ]),
1219
1361
  required: z.boolean().optional().default(false),
1220
- description: z.string().optional().default("")
1362
+ description: z.string().optional().default(""),
1363
+ pending: z.boolean().optional()
1221
1364
  })),
1222
1365
  pending: z.int().gte(-9007199254740991).lte(9007199254740991),
1223
1366
  createdAt: z.string()
@@ -1229,7 +1372,7 @@ var zUpdateEventRequest = z.object({
1229
1372
  folder: zFolder.optional(),
1230
1373
  description: z.string().optional(),
1231
1374
  properties: z.array(z.object({
1232
- name: z.string().min(1).max(64),
1375
+ name: z.string().min(1).max(64).regex(/^[a-zA-Z_][a-zA-Z_0-9]*$/),
1233
1376
  type: z.enum([
1234
1377
  "string",
1235
1378
  "number",
@@ -1246,7 +1389,7 @@ var zApproveEventRequest = z.object({
1246
1389
  folder: zFolder.optional(),
1247
1390
  description: z.string().optional(),
1248
1391
  properties: z.array(z.object({
1249
- name: z.string().min(1).max(64),
1392
+ name: z.string().min(1).max(64).regex(/^[a-zA-Z_][a-zA-Z_0-9]*$/),
1250
1393
  type: z.enum([
1251
1394
  "string",
1252
1395
  "number",
@@ -1262,9 +1405,9 @@ var zApproveEventResponse = z.object({
1262
1405
  var zOpsItemStatus = z.enum([
1263
1406
  "open",
1264
1407
  "pending_approval",
1265
- "triage",
1266
- "triaged",
1408
+ "investigating_by_ai",
1267
1409
  "in_progress",
1410
+ "blocked",
1268
1411
  "ready_for_qa",
1269
1412
  "resolved",
1270
1413
  "wont_fix"
@@ -1275,63 +1418,18 @@ var zOpsItemPriority = z.enum([
1275
1418
  "high",
1276
1419
  "critical"
1277
1420
  ]);
1278
- var zListOpsItemsResponse = z.array(z.object({
1279
- id: z.string(),
1280
- number: z.number().nullable(),
1281
- type: z.enum([
1282
- "bug",
1283
- "feature_request",
1284
- "error",
1285
- "alert",
1286
- "measure_plan"
1287
- ]),
1288
- title: z.string(),
1289
- status: zOpsItemStatus,
1290
- priority: zOpsItemPriority.nullable(),
1291
- sourceRef: z.string().nullish(),
1292
- createdAt: z.string()
1293
- }));
1294
- var zNotificationTarget = z.object({
1295
- slackChannel: z.object({
1296
- id: z.string().min(1),
1297
- name: z.string().min(1)
1298
- }).nullish(),
1299
- email: z.email().nullish()
1300
- }).nullable();
1301
- var zCreateBugRequest = z.object({
1302
- type: z.enum(["bug"]),
1303
- title: z.string().min(1).max(200).regex(/^\S(.*\S)?$/),
1304
- stepsToReproduce: z.string().max(8e3).optional().default(""),
1305
- actualResult: z.string().max(8e3).optional().default(""),
1306
- expectedResult: z.string().max(8e3).optional().default(""),
1307
- priority: zOpsItemPriority.nullish(),
1308
- reporterEmail: z.email().nullish(),
1309
- pageUrl: z.url().nullish(),
1310
- userAgent: z.string().max(500).nullish(),
1311
- viewport: z.string().max(40).nullish(),
1312
- context: z.record(z.string(), z.unknown()).nullish(),
1313
- notify: zNotificationTarget.nullish()
1314
- });
1315
- var zCreateFeatureRequestRequest = z.object({
1316
- type: z.enum(["feature_request"]),
1317
- title: z.string().min(1).max(200).regex(/^\S(.*\S)?$/),
1318
- description: z.string().max(8e3).optional().default(""),
1319
- useCase: z.string().max(8e3).optional().default(""),
1320
- priority: zOpsItemPriority.nullish(),
1321
- reporterEmail: z.email().nullish(),
1322
- pageUrl: z.url().nullish(),
1323
- userAgent: z.string().max(500).nullish(),
1324
- context: z.record(z.string(), z.unknown()).nullish(),
1325
- notify: zNotificationTarget.nullish()
1326
- });
1327
- var zCreateOpsItemRequest = z.discriminatedUnion("type", [
1328
- zCreateBugRequest.extend({ type: z.literal("bug") }),
1329
- zCreateFeatureRequestRequest.extend({ type: z.literal("feature_request") })
1421
+ var zOpsInvestigationState = z.enum([
1422
+ "pr_ready",
1423
+ "pr_merged",
1424
+ "pr_closed",
1425
+ "investigated",
1426
+ "detected",
1427
+ "question",
1428
+ "ready_for_qa",
1429
+ "pending_approval",
1430
+ "working",
1431
+ "backlog"
1330
1432
  ]);
1331
- var zCreateOpsItemResponse = z.object({
1332
- id: z.string(),
1333
- number: z.number().nullish()
1334
- });
1335
1433
  var zOpsBrowserContext = z.object({
1336
1434
  pageUrl: z.string().nullish(),
1337
1435
  userAgent: z.string().nullish(),
@@ -1375,16 +1473,19 @@ var zOpsAlertMetricSummary = z.object({
1375
1473
  var zOpsAlertContext = z.object({
1376
1474
  source: z.enum([
1377
1475
  "metric_rule",
1476
+ "killswitch_armed",
1378
1477
  "experiment_srm",
1379
1478
  "experiment_peek",
1380
1479
  "guardrail"
1381
1480
  ]),
1382
1481
  dedupeKey: z.string(),
1482
+ detail: z.string().nullish(),
1483
+ ruleId: z.string().nullish(),
1383
1484
  severity: z.enum([
1384
1485
  "danger",
1385
1486
  "warn",
1386
1487
  "info"
1387
- ]),
1488
+ ]).optional(),
1388
1489
  observedValue: z.number().nullish(),
1389
1490
  href: z.string().nullish(),
1390
1491
  status: z.enum([
@@ -1424,23 +1525,31 @@ var zOpsItemContext = z.object({
1424
1525
  browser: zOpsBrowserContext.optional(),
1425
1526
  error: zOpsErrorContext.optional(),
1426
1527
  alert: zOpsAlertContext.optional(),
1427
- measurePlan: zOpsMeasurePlanContext.optional()
1428
- });
1429
- var zOpsItemAttachment = z.object({
1430
- id: z.string(),
1431
- kind: z.string(),
1432
- filename: z.string(),
1433
- mimeType: z.string(),
1434
- sizeBytes: z.number(),
1435
- fetchUrl: z.string()
1528
+ measurePlan: zOpsMeasurePlanContext.optional(),
1529
+ errorChart: z.object({
1530
+ series: z.array(z.object({
1531
+ t: z.number(),
1532
+ v: z.number()
1533
+ })),
1534
+ domainFrom: z.number(),
1535
+ domainTo: z.number()
1536
+ }).optional()
1436
1537
  });
1437
- var zOpsItemRelated = z.object({
1438
- dashboard: z.string().optional(),
1439
- error: z.string().optional(),
1440
- alertRule: z.string().optional(),
1441
- metric: z.string().optional(),
1442
- githubIssue: z.string().optional(),
1443
- githubPr: z.string().optional()
1538
+ var zGithubPrLink = z.object({
1539
+ number: z.number(),
1540
+ url: z.string(),
1541
+ linkedAt: z.string().optional(),
1542
+ connectedToIssue: z.boolean().optional(),
1543
+ method: z.enum(["closes", "comment"]).optional(),
1544
+ owner: z.string().optional(),
1545
+ repo: z.string().optional(),
1546
+ state: z.enum([
1547
+ "open",
1548
+ "merged",
1549
+ "closed"
1550
+ ]).optional(),
1551
+ mergedAt: z.string().optional(),
1552
+ closedAt: z.string().optional()
1444
1553
  });
1445
1554
  var zGithubConnectorData = z.object({
1446
1555
  issue: z.object({
@@ -1450,13 +1559,7 @@ var zGithubConnectorData = z.object({
1450
1559
  repo: z.string(),
1451
1560
  createdAt: z.string().optional()
1452
1561
  }).optional(),
1453
- pr: z.object({
1454
- number: z.number(),
1455
- url: z.string(),
1456
- linkedAt: z.string().optional(),
1457
- connectedToIssue: z.boolean().optional(),
1458
- method: z.enum(["closes", "comment"]).optional()
1459
- }).optional()
1562
+ pr: zGithubPrLink.optional()
1460
1563
  });
1461
1564
  var zSlackConnectorData = z.object({
1462
1565
  message: z.object({
@@ -1469,6 +1572,181 @@ var zConnectorData = z.object({
1469
1572
  github: zGithubConnectorData.optional(),
1470
1573
  slack: zSlackConnectorData.optional()
1471
1574
  });
1575
+ var zNotificationTarget = z.object({
1576
+ slackChannel: z.object({
1577
+ id: z.string().min(1),
1578
+ name: z.string().min(1)
1579
+ }).nullish(),
1580
+ email: z.email().nullish()
1581
+ }).nullable();
1582
+ var zOpsItemOwner = z.object({
1583
+ user: z.object({
1584
+ id: z.string(),
1585
+ email: z.string(),
1586
+ name: z.string().nullable()
1587
+ }).nullable(),
1588
+ agent: z.object({
1589
+ connectorId: z.string().nullable(),
1590
+ builtin: z.literal("jarvis").nullable(),
1591
+ provider: z.enum([
1592
+ "claude_trigger",
1593
+ "cursor_trigger",
1594
+ "copilot_trigger",
1595
+ "jules_trigger",
1596
+ "jarvis"
1597
+ ]),
1598
+ name: z.string()
1599
+ }).nullable()
1600
+ });
1601
+ var zOpsRunAction = z.enum([
1602
+ "link_pr",
1603
+ "notify",
1604
+ "status",
1605
+ "superseded"
1606
+ ]);
1607
+ var zOpsRunActionOrNull = zOpsRunAction.nullable();
1608
+ var zOpsRun = z.object({
1609
+ id: z.string(),
1610
+ agent: z.string().nullable(),
1611
+ connectorId: z.string().nullable(),
1612
+ ackedBy: z.string().nullable(),
1613
+ sessionId: z.string().nullable(),
1614
+ sessionUrl: z.string().nullable(),
1615
+ startedAt: z.string(),
1616
+ completedAt: z.string().nullable(),
1617
+ completedAction: zOpsRunActionOrNull,
1618
+ prNumber: z.number().nullable(),
1619
+ prUrl: z.string().nullable()
1620
+ });
1621
+ var zListOpsItemsResponse = z.array(z.object({
1622
+ id: z.string(),
1623
+ number: z.number().nullable(),
1624
+ type: z.enum([
1625
+ "bug",
1626
+ "feature_request",
1627
+ "error",
1628
+ "alert",
1629
+ "measure_plan"
1630
+ ]),
1631
+ title: z.string(),
1632
+ status: zOpsItemStatus,
1633
+ priority: zOpsItemPriority.nullable(),
1634
+ sourceRef: z.string().nullish(),
1635
+ investigationState: zOpsInvestigationState.nullish(),
1636
+ source: z.enum(["team", "system"]),
1637
+ reporterEmail: z.string().nullish(),
1638
+ stepsToReproduce: z.string().optional(),
1639
+ actualResult: z.string().optional(),
1640
+ expectedResult: z.string().optional(),
1641
+ description: z.string().optional(),
1642
+ useCase: z.string().optional(),
1643
+ context: zOpsItemContext.nullish(),
1644
+ connectorData: zConnectorData.nullish(),
1645
+ notify: zNotificationTarget.nullish(),
1646
+ assigneeId: z.string().nullish(),
1647
+ assigneeConnectorId: z.string().nullish(),
1648
+ assigneeAgent: z.string().nullish(),
1649
+ owner: zOpsItemOwner,
1650
+ run: zOpsRun.nullable(),
1651
+ lastRun: zOpsRun.nullable(),
1652
+ createdAt: z.string(),
1653
+ updatedAt: z.string()
1654
+ }));
1655
+ var zCreateBugRequest = z.object({
1656
+ type: z.enum(["bug"]),
1657
+ title: z.string().min(1).max(200).regex(/^\S(.*\S)?$/),
1658
+ stepsToReproduce: z.string().max(8e3).optional().default(""),
1659
+ actualResult: z.string().max(8e3).optional().default(""),
1660
+ expectedResult: z.string().max(8e3).optional().default(""),
1661
+ priority: zOpsItemPriority.nullish(),
1662
+ status: zOpsItemStatus.optional(),
1663
+ assigneeId: z.string().nullish(),
1664
+ subscribers: z.array(z.email()).optional().default([]),
1665
+ tags: z.array(z.string()).optional().default([]),
1666
+ reporterEmail: z.email().nullish(),
1667
+ pageUrl: z.url().nullish(),
1668
+ userAgent: z.string().max(500).nullish(),
1669
+ viewport: z.string().max(40).nullish(),
1670
+ context: z.record(z.string(), z.unknown()).nullish(),
1671
+ notify: zNotificationTarget.nullish()
1672
+ });
1673
+ var zCreateFeatureRequestRequest = z.object({
1674
+ type: z.enum(["feature_request"]),
1675
+ title: z.string().min(1).max(200).regex(/^\S(.*\S)?$/),
1676
+ description: z.string().max(8e3).optional().default(""),
1677
+ useCase: z.string().max(8e3).optional().default(""),
1678
+ priority: zOpsItemPriority.nullish(),
1679
+ status: zOpsItemStatus.optional(),
1680
+ assigneeId: z.string().nullish(),
1681
+ subscribers: z.array(z.email()).optional().default([]),
1682
+ tags: z.array(z.string()).optional().default([]),
1683
+ reporterEmail: z.email().nullish(),
1684
+ pageUrl: z.url().nullish(),
1685
+ userAgent: z.string().max(500).nullish(),
1686
+ context: z.record(z.string(), z.unknown()).nullish(),
1687
+ notify: zNotificationTarget.nullish()
1688
+ });
1689
+ var zCreateOpsItemRequest = z.discriminatedUnion("type", [
1690
+ zCreateBugRequest.extend({ type: z.literal("bug") }),
1691
+ zCreateFeatureRequestRequest.extend({ type: z.literal("feature_request") })
1692
+ ]);
1693
+ var zCreateOpsItemResponse = z.object({
1694
+ id: z.string(),
1695
+ number: z.number().nullish()
1696
+ });
1697
+ var zCreatePublicBugRequest = z.object({
1698
+ title: z.string().min(1).max(200).regex(/^\S(.*\S)?$/),
1699
+ stepsToReproduce: z.string().max(8e3).optional().default(""),
1700
+ actualResult: z.string().max(8e3).optional().default(""),
1701
+ expectedResult: z.string().max(8e3).optional().default(""),
1702
+ priority: zOpsItemPriority.nullish(),
1703
+ status: zOpsItemStatus.optional(),
1704
+ assigneeId: z.string().nullish(),
1705
+ subscribers: z.array(z.email()).optional().default([]),
1706
+ tags: z.array(z.string()).optional().default([]),
1707
+ reporterEmail: z.email().nullish(),
1708
+ pageUrl: z.url().nullish(),
1709
+ userAgent: z.string().max(500).nullish(),
1710
+ viewport: z.string().max(40).nullish(),
1711
+ context: z.record(z.string(), z.unknown()).nullish(),
1712
+ notify: zNotificationTarget.nullish()
1713
+ });
1714
+ var zCreatePublicTicketResponse = z.object({
1715
+ id: z.string().optional(),
1716
+ number: z.int(),
1717
+ deduped: z.boolean().optional()
1718
+ });
1719
+ var zCreatePublicFeatureRequestRequest = z.object({
1720
+ title: z.string().min(1).max(200).regex(/^\S(.*\S)?$/),
1721
+ description: z.string().max(8e3).optional().default(""),
1722
+ useCase: z.string().max(8e3).optional().default(""),
1723
+ priority: zOpsItemPriority.nullish(),
1724
+ status: zOpsItemStatus.optional(),
1725
+ assigneeId: z.string().nullish(),
1726
+ subscribers: z.array(z.email()).optional().default([]),
1727
+ tags: z.array(z.string()).optional().default([]),
1728
+ reporterEmail: z.email().nullish(),
1729
+ pageUrl: z.url().nullish(),
1730
+ userAgent: z.string().max(500).nullish(),
1731
+ context: z.record(z.string(), z.unknown()).nullish(),
1732
+ notify: zNotificationTarget.nullish()
1733
+ });
1734
+ var zOpsItemAttachment = z.object({
1735
+ id: z.string(),
1736
+ kind: z.string(),
1737
+ filename: z.string(),
1738
+ mimeType: z.string(),
1739
+ sizeBytes: z.number(),
1740
+ fetchUrl: z.string()
1741
+ });
1742
+ var zOpsItemRelated = z.object({
1743
+ dashboard: z.string().optional(),
1744
+ error: z.string().optional(),
1745
+ alertRule: z.string().optional(),
1746
+ metric: z.string().optional(),
1747
+ githubIssue: z.string().optional(),
1748
+ githubPr: z.string().optional()
1749
+ });
1472
1750
  var zGetOpsItemResponse = z.object({
1473
1751
  id: z.string(),
1474
1752
  number: z.number().nullable(),
@@ -1484,6 +1762,7 @@ var zGetOpsItemResponse = z.object({
1484
1762
  priority: zOpsItemPriority.nullable(),
1485
1763
  source: z.enum(["team", "system"]).optional(),
1486
1764
  sourceRef: z.string().nullish(),
1765
+ investigationState: zOpsInvestigationState.nullish(),
1487
1766
  reporterEmail: z.string().nullish(),
1488
1767
  stepsToReproduce: z.string().optional(),
1489
1768
  actualResult: z.string().optional(),
@@ -1495,9 +1774,16 @@ var zGetOpsItemResponse = z.object({
1495
1774
  related: zOpsItemRelated,
1496
1775
  connectorData: zConnectorData.nullish(),
1497
1776
  notify: zNotificationTarget.nullish(),
1777
+ assigneeId: z.string().nullish(),
1778
+ assigneeConnectorId: z.string().nullish(),
1779
+ assigneeAgent: z.string().nullish(),
1780
+ owner: zOpsItemOwner,
1498
1781
  createdAt: z.string(),
1499
1782
  updatedAt: z.string().optional()
1500
1783
  });
1784
+ var zDeleteOpsItemResponse = z.object({
1785
+ ok: z.literal(true)
1786
+ });
1501
1787
  var zOpsItemPriorityOrNull = zOpsItemPriority.nullable();
1502
1788
  var zOpsItemNotifyOrNull = zNotificationTarget.nullable();
1503
1789
  var zUpdateBugRequest = z.object({
@@ -1537,8 +1823,164 @@ var zLinkPrToOpsItemRequest = z.object({
1537
1823
  prUrl: z.url().optional()
1538
1824
  });
1539
1825
  var zLinkPrToOpsItemResponse = z.object({
1540
- id: z.string()
1826
+ id: z.string(),
1827
+ pr: zGithubPrLink.nullable()
1828
+ });
1829
+ var zAckOpsItemRequest = z.object({
1830
+ agent: z.enum([
1831
+ "claude",
1832
+ "cursor",
1833
+ "copilot",
1834
+ "jules",
1835
+ "gemini",
1836
+ "jarvis"
1837
+ ]).optional(),
1838
+ sessionId: z.string().max(300).optional()
1839
+ });
1840
+ var zAckOpsItemResponse = z.object({
1841
+ id: z.string(),
1842
+ number: z.number().nullable(),
1843
+ status: z.string(),
1844
+ runId: z.string(),
1845
+ agent: z.string().nullable(),
1846
+ connectorName: z.string().nullable(),
1847
+ sessionId: z.string().nullable(),
1848
+ startedAt: z.string()
1849
+ });
1850
+ var zOpsInvestigation = z.object({
1851
+ id: z.string(),
1852
+ feedbackId: z.string(),
1853
+ kind: z.enum([
1854
+ "investigated",
1855
+ "detected",
1856
+ "question",
1857
+ "ready_for_qa",
1858
+ "working",
1859
+ "note"
1860
+ ]),
1861
+ summary: z.string().nullable(),
1862
+ findings: z.string().nullable(),
1863
+ question: z.string().nullable(),
1864
+ qaNotes: z.string().nullable(),
1865
+ agent: z.enum([
1866
+ "jarvis",
1867
+ "claude",
1868
+ "cursor",
1869
+ "copilot",
1870
+ "jules"
1871
+ ]).nullable(),
1872
+ model: z.string().nullable(),
1873
+ connectorId: z.string().nullable(),
1874
+ prNumber: z.number().nullable(),
1875
+ prUrl: z.string().nullable(),
1876
+ sources: z.array(z.object({
1877
+ path: z.string().optional(),
1878
+ url: z.string().optional(),
1879
+ label: z.string().optional()
1880
+ })).nullable(),
1881
+ confidence: z.enum([
1882
+ "low",
1883
+ "medium",
1884
+ "high"
1885
+ ]).nullable(),
1886
+ tokensUsed: z.number().nullable(),
1887
+ durationMs: z.number().nullable(),
1888
+ visibility: z.enum(["draft", "published"]),
1889
+ startedAt: z.string().nullable(),
1890
+ completedAt: z.string().nullable(),
1891
+ sessionId: z.string().nullable(),
1892
+ sessionUrl: z.string().nullable(),
1893
+ ackedBy: z.string().nullable(),
1894
+ completedAction: zOpsRunActionOrNull,
1895
+ createdAt: z.string(),
1896
+ updatedAt: z.string()
1897
+ });
1898
+ var zListOpsInvestigationsResponse = z.array(zOpsInvestigation);
1899
+ var zCreateOpsInvestigationRequest = z.object({
1900
+ kind: z.enum([
1901
+ "investigated",
1902
+ "detected",
1903
+ "question",
1904
+ "ready_for_qa",
1905
+ "working",
1906
+ "note"
1907
+ ]),
1908
+ summary: z.string().max(2e3).optional(),
1909
+ findings: z.string().max(5e4).optional(),
1910
+ question: z.string().max(1e4).optional(),
1911
+ qaNotes: z.string().max(5e4).optional(),
1912
+ agent: z.enum([
1913
+ "jarvis",
1914
+ "claude",
1915
+ "cursor",
1916
+ "copilot",
1917
+ "jules"
1918
+ ]).optional(),
1919
+ model: z.string().max(200).optional(),
1920
+ connectorId: z.string().max(200).optional(),
1921
+ prNumber: z.int().optional(),
1922
+ prUrl: z.url().max(2e3).optional(),
1923
+ sources: z.array(z.object({
1924
+ path: z.string().optional(),
1925
+ url: z.string().optional(),
1926
+ label: z.string().optional()
1927
+ })).max(200).optional(),
1928
+ confidence: z.enum([
1929
+ "low",
1930
+ "medium",
1931
+ "high"
1932
+ ]).optional(),
1933
+ tokensUsed: z.int().optional(),
1934
+ durationMs: z.int().optional(),
1935
+ visibility: z.enum(["draft", "published"]).optional(),
1936
+ startedAt: z.string().optional(),
1937
+ completedAt: z.string().optional(),
1938
+ sessionId: z.string().max(300).optional()
1939
+ });
1940
+ var zUpdateOpsInvestigationRequest = z.object({
1941
+ kind: z.enum([
1942
+ "investigated",
1943
+ "detected",
1944
+ "question",
1945
+ "ready_for_qa",
1946
+ "working",
1947
+ "note"
1948
+ ]).optional(),
1949
+ summary: z.string().max(2e3).optional(),
1950
+ findings: z.string().max(5e4).optional(),
1951
+ question: z.string().max(1e4).optional(),
1952
+ qaNotes: z.string().max(5e4).optional(),
1953
+ model: z.string().max(200).optional(),
1954
+ prNumber: z.int().optional(),
1955
+ prUrl: z.url().max(2e3).optional(),
1956
+ sources: z.array(z.object({
1957
+ path: z.string().optional(),
1958
+ url: z.string().optional(),
1959
+ label: z.string().optional()
1960
+ })).max(200).optional(),
1961
+ confidence: z.enum([
1962
+ "low",
1963
+ "medium",
1964
+ "high"
1965
+ ]).optional(),
1966
+ tokensUsed: z.int().optional(),
1967
+ durationMs: z.int().optional(),
1968
+ visibility: z.enum(["draft", "published"]).optional(),
1969
+ completedAt: z.string().optional(),
1970
+ sessionId: z.string().max(300).optional()
1971
+ });
1972
+ var zOpsAgentProfile = z.object({
1973
+ connectorId: z.string(),
1974
+ provider: z.enum([
1975
+ "claude_trigger",
1976
+ "cursor_trigger",
1977
+ "copilot_trigger",
1978
+ "jules_trigger"
1979
+ ]),
1980
+ name: z.string(),
1981
+ handle: z.string()
1541
1982
  });
1983
+ var zListOpsAgentsResponse = z.array(zOpsAgentProfile);
1542
1984
  var zOpsCommentAuthorType = z.enum(["user", "system"]);
1543
1985
  var zOpsComment = z.object({
1544
1986
  id: z.string(),
@@ -1579,11 +2021,22 @@ var zListSlackChannelsResponse = z.object({
1579
2021
  isPrivate: z.boolean().optional()
1580
2022
  }))
1581
2023
  });
2024
+ var zAlertCompositeSpec = z.object({
2025
+ op: z.enum(["and", "or"]),
2026
+ rules: z.array(z.string().min(1)).min(2)
2027
+ });
1582
2028
  var zListAlertRulesResponse = z.array(z.object({
1583
2029
  id: z.string(),
1584
2030
  name: z.string(),
1585
2031
  metricId: z.string(),
1586
2032
  metricName: z.string().nullable(),
2033
+ kind: z.enum([
2034
+ "normal",
2035
+ "anomaly",
2036
+ "outliers",
2037
+ "no_data",
2038
+ "composite"
2039
+ ]),
1587
2040
  comparator: z.enum([
1588
2041
  "gt",
1589
2042
  "gte",
@@ -1591,7 +2044,26 @@ var zListAlertRulesResponse = z.array(z.object({
1591
2044
  "lte"
1592
2045
  ]),
1593
2046
  threshold: z.number(),
2047
+ rangeMin: z.number().nullable(),
2048
+ rangeMax: z.number().nullable(),
2049
+ sigma: z.number().nullable(),
2050
+ direction: z.enum([
2051
+ "above",
2052
+ "below",
2053
+ "either"
2054
+ ]).nullable(),
2055
+ sustained: z.boolean(),
2056
+ warnThreshold: z.number().nullable(),
2057
+ recoveryThreshold: z.number().nullable(),
2058
+ groupAlerts: z.boolean(),
2059
+ maxGroups: z.int().nullable(),
2060
+ noDataMinutes: z.int().nullable(),
2061
+ delayMinutes: z.int().nullable(),
2062
+ autoResolveMinutes: z.int().nullable(),
2063
+ composite: zAlertCompositeSpec.nullable(),
1594
2064
  windowHours: z.int().gte(-9007199254740991).lte(9007199254740991),
2065
+ bucketMinutes: z.int().nullable(),
2066
+ requiredBuckets: z.int().nullable(),
1595
2067
  severity: z.enum([
1596
2068
  "danger",
1597
2069
  "warn",
@@ -1605,14 +2077,40 @@ var zListAlertRulesResponse = z.array(z.object({
1605
2077
  var zCreateAlertRuleRequest = z.object({
1606
2078
  name: z.string().min(1).max(120),
1607
2079
  metricId: z.string().min(1),
2080
+ kind: z.enum([
2081
+ "normal",
2082
+ "anomaly",
2083
+ "outliers",
2084
+ "no_data",
2085
+ "composite"
2086
+ ]).optional().default("normal"),
1608
2087
  comparator: z.enum([
1609
2088
  "gt",
1610
2089
  "gte",
1611
2090
  "lt",
1612
2091
  "lte"
1613
- ]),
1614
- threshold: z.number(),
2092
+ ]).optional().default("gt"),
2093
+ threshold: z.number().optional(),
2094
+ rangeMin: z.number().nullish(),
2095
+ rangeMax: z.number().nullish(),
2096
+ sigma: z.number().gt(0).nullish(),
2097
+ direction: z.enum([
2098
+ "above",
2099
+ "below",
2100
+ "either"
2101
+ ]).nullish(),
2102
+ sustained: z.boolean().optional().default(false),
1615
2103
  windowHours: z.int().gte(1).lte(720).optional().default(24),
2104
+ bucketMinutes: z.int().gte(1).lte(43200).nullish(),
2105
+ requiredBuckets: z.int().gte(1).nullish(),
2106
+ warnThreshold: z.number().nullish(),
2107
+ recoveryThreshold: z.number().nullish(),
2108
+ groupAlerts: z.boolean().optional().default(false),
2109
+ maxGroups: z.int().gte(1).lte(50).nullish(),
2110
+ noDataMinutes: z.int().gte(5).lte(43200).nullish(),
2111
+ delayMinutes: z.int().gte(1).lte(1440).nullish(),
2112
+ autoResolveMinutes: z.int().gte(1).nullish(),
2113
+ composite: zAlertCompositeSpec.optional(),
1616
2114
  severity: z.enum([
1617
2115
  "danger",
1618
2116
  "warn",
@@ -1629,6 +2127,13 @@ var zDeleteAlertRuleResponse = z.object({
1629
2127
  });
1630
2128
  var zUpdateAlertRuleRequest = z.object({
1631
2129
  name: z.string().min(1).max(120).optional(),
2130
+ kind: z.enum([
2131
+ "normal",
2132
+ "anomaly",
2133
+ "outliers",
2134
+ "no_data",
2135
+ "composite"
2136
+ ]).optional(),
1632
2137
  comparator: z.enum([
1633
2138
  "gt",
1634
2139
  "gte",
@@ -1636,7 +2141,26 @@ var zUpdateAlertRuleRequest = z.object({
1636
2141
  "lte"
1637
2142
  ]).optional(),
1638
2143
  threshold: z.number().optional(),
2144
+ rangeMin: z.number().nullish(),
2145
+ rangeMax: z.number().nullish(),
2146
+ sigma: z.number().gt(0).nullish(),
2147
+ direction: z.enum([
2148
+ "above",
2149
+ "below",
2150
+ "either"
2151
+ ]).nullish(),
2152
+ sustained: z.boolean().optional(),
2153
+ warnThreshold: z.number().nullish(),
2154
+ recoveryThreshold: z.number().nullish(),
2155
+ groupAlerts: z.boolean().optional(),
2156
+ maxGroups: z.int().gte(1).lte(50).nullish(),
2157
+ noDataMinutes: z.int().gte(5).lte(43200).nullish(),
2158
+ delayMinutes: z.int().gte(1).lte(1440).nullish(),
2159
+ autoResolveMinutes: z.int().gte(1).nullish(),
2160
+ composite: zAlertCompositeSpec.optional(),
1639
2161
  windowHours: z.int().gte(1).lte(720).optional(),
2162
+ bucketMinutes: z.int().gte(1).lte(43200).nullish(),
2163
+ requiredBuckets: z.int().gte(1).nullish(),
1640
2164
  severity: z.enum([
1641
2165
  "danger",
1642
2166
  "warn",
@@ -1648,6 +2172,48 @@ var zUpdateAlertRuleRequest = z.object({
1648
2172
  var zUpdateAlertRuleResponse = z.object({
1649
2173
  id: z.string()
1650
2174
  });
2175
+ var zAlertApiRow = z.object({
2176
+ id: z.string(),
2177
+ source: z.enum([
2178
+ "metric_rule",
2179
+ "killswitch_armed",
2180
+ "experiment_srm",
2181
+ "experiment_peek",
2182
+ "guardrail"
2183
+ ]),
2184
+ ruleId: z.string().nullable(),
2185
+ severity: z.enum([
2186
+ "danger",
2187
+ "warn",
2188
+ "info"
2189
+ ]),
2190
+ dedupeKey: z.string(),
2191
+ title: z.string(),
2192
+ detail: z.string(),
2193
+ href: z.string().nullable(),
2194
+ observedValue: z.number().nullable(),
2195
+ status: z.enum([
2196
+ "active",
2197
+ "resolved",
2198
+ "dismissed"
2199
+ ]),
2200
+ createdAt: z.string(),
2201
+ resolvedAt: z.string().nullable(),
2202
+ dismissedAt: z.string().nullable(),
2203
+ assigneeId: z.string().nullable(),
2204
+ assigneeConnectorId: z.string().nullable(),
2205
+ assigneeAgent: z.string().nullable()
2206
+ });
2207
+ var zListAlertsResponse = z.array(zAlertApiRow);
2208
+ var zUpdateAlertRequest = z.object({
2209
+ status: z.enum([
2210
+ "active",
2211
+ "resolved",
2212
+ "dismissed"
2213
+ ]).optional(),
2214
+ assigneeId: z.string().nullish(),
2215
+ agent: z.string().nullish()
2216
+ });
1651
2217
  var zGetCurrentProjectResponse = z.object({
1652
2218
  id: z.string(),
1653
2219
  name: z.string(),
@@ -1690,7 +2256,7 @@ var zGetCurrentProjectResponse = z.object({
1690
2256
  defaultPower: z.number().optional(),
1691
2257
  ciConfidence: z.number().optional(),
1692
2258
  defaultAllocationPct: z.int().optional(),
1693
- defaultHoldout: z.int().optional(),
2259
+ defaultHoldoutBp: z.int(),
1694
2260
  defaultWinsorizePct: z.int().optional(),
1695
2261
  defaultMei: z.number().nullish(),
1696
2262
  cupedBaselineDays: z.int().optional(),
@@ -1699,6 +2265,49 @@ var zGetCurrentProjectResponse = z.object({
1699
2265
  msprtTauMeiFactor: z.number().optional(),
1700
2266
  msprtTauSdFactor: z.number().optional(),
1701
2267
  srmThreshold: z.number().optional(),
2268
+ slug: z.string().nullable(),
2269
+ logo: z.string().nullable(),
2270
+ defaultEnv: z.enum([
2271
+ "dev",
2272
+ "staging",
2273
+ "prod"
2274
+ ]),
2275
+ timezone: z.string(),
2276
+ statMethod: z.enum([
2277
+ "sequential",
2278
+ "fixed",
2279
+ "bayesian"
2280
+ ]),
2281
+ sigThreshold: z.string(),
2282
+ autoRollback: z.boolean(),
2283
+ minSampleDays: z.int(),
2284
+ moduleUser: z.union([
2285
+ z.boolean(),
2286
+ z.number()
2287
+ ]),
2288
+ moduleEvents: z.union([
2289
+ z.boolean(),
2290
+ z.number()
2291
+ ]),
2292
+ allowPublicTickets: z.union([
2293
+ z.boolean(),
2294
+ z.number()
2295
+ ]),
2296
+ errorAutocloseDays: z.int(),
2297
+ errorTicketMinOccurrences: z.int(),
2298
+ stripeSubscriptionId: z.string().nullable(),
2299
+ scheduledInterval: z.enum(["monthly", "annual"]).nullable(),
2300
+ spendLimitEnabled: z.union([
2301
+ z.boolean(),
2302
+ z.number()
2303
+ ]),
2304
+ spendLimitUsd: z.int().nullable(),
2305
+ spendAlertEmail: z.string().nullable(),
2306
+ defaultAssigneePendingApproval: z.string().nullable(),
2307
+ defaultAssigneeConnectorPendingApproval: z.string().nullable(),
2308
+ defaultAssigneeOpen: z.string().nullable(),
2309
+ defaultAssigneeConnectorOpen: z.string().nullable(),
2310
+ deletedAt: z.string().nullable(),
1702
2311
  createdAt: z.string(),
1703
2312
  updatedAt: z.string()
1704
2313
  });
@@ -1756,14 +2365,16 @@ var zUpdateProjectRequest = z.object({
1756
2365
  cupedMinBaselineUsers: z.int().gte(10).lte(1e5).optional(),
1757
2366
  msprtTauMeiFactor: z.number().gte(0.1).lte(2).optional(),
1758
2367
  msprtTauSdFactor: z.number().gte(0.05).lte(1).optional(),
1759
- srmThreshold: z.number().gte(1e-4).lte(0.05).optional()
2368
+ srmThreshold: z.number().gte(1e-4).lte(0.05).optional(),
2369
+ errorAutocloseDays: z.int().gte(0).lte(365).optional(),
2370
+ errorTicketMinOccurrences: z.int().gte(1).lte(1e4).optional()
1760
2371
  });
1761
2372
  var zListI18nProfilesResponse = z.array(z.object({
1762
2373
  id: z.string(),
1763
2374
  name: z.string(),
1764
- isDefault: z.number().optional(),
1765
- createdAt: z.string().optional(),
1766
- deletedAt: z.string().nullish()
2375
+ isDefault: z.number(),
2376
+ createdAt: z.string(),
2377
+ deletedAt: z.string().nullable()
1767
2378
  }));
1768
2379
  var zCreateI18nProfileRequest = z.object({
1769
2380
  name: z.string().min(1).max(64).regex(/^[a-z0-9][a-z0-9_:.-]*$/)
@@ -1777,18 +2388,17 @@ var zListI18nKeysResponse = z.object({
1777
2388
  id: z.string(),
1778
2389
  key: z.string(),
1779
2390
  value: z.string(),
1780
- description: z.string().nullish(),
1781
- variables: z.array(z.string()).nullish(),
1782
- profileId: z.string().optional(),
1783
- chunkId: z.string().optional(),
1784
- updatedAt: z.string().optional(),
1785
- updatedBy: z.string().optional()
2391
+ description: z.string().nullable(),
2392
+ variables: z.array(z.string()).nullable(),
2393
+ profileId: z.string(),
2394
+ profileName: z.string().nullable(),
2395
+ updatedAt: z.string(),
2396
+ updatedBy: z.string()
1786
2397
  })),
1787
2398
  total: z.number()
1788
2399
  });
1789
- var zPushI18nKeysRequest = z.object({
2400
+ var zUpsertI18nKeysRequest = z.object({
1790
2401
  profile_id: z.uuid(),
1791
- chunk: z.string().min(1).max(64).optional().default("default"),
1792
2402
  keys: z.array(z.object({
1793
2403
  key: z.string().min(1).max(256),
1794
2404
  value: z.string(),
@@ -1796,12 +2406,26 @@ var zPushI18nKeysRequest = z.object({
1796
2406
  variables: z.array(z.string().min(1).max(64)).max(32).optional()
1797
2407
  })).min(1).max(5e3)
1798
2408
  });
2409
+ var zUpsertI18nKeysResponse = z.object({
2410
+ upserted: z.number()
2411
+ });
2412
+ var zPushI18nKeysRequest = z.object({
2413
+ profile_id: z.uuid(),
2414
+ keys: z.array(z.object({
2415
+ key: z.string().min(1).max(256),
2416
+ value: z.string(),
2417
+ description: z.string().optional(),
2418
+ variables: z.array(z.string().min(1).max(64)).max(32).optional()
2419
+ })).min(1).max(5e3),
2420
+ force: z.boolean().optional().default(false)
2421
+ });
1799
2422
  var zPushI18nKeysResponse = z.object({
1800
2423
  added: z.array(z.string()),
1801
2424
  skipped: z.array(z.string()),
2425
+ updated: z.array(z.string()),
1802
2426
  pushed_count: z.number(),
1803
2427
  skipped_count: z.number(),
1804
- chunk: z.string().optional()
2428
+ updated_count: z.number()
1805
2429
  });
1806
2430
  var zUpdateI18nKeyRequest = z.object({
1807
2431
  value: z.string(),
@@ -1811,39 +2435,29 @@ var zUpdateI18nKeyRequest = z.object({
1811
2435
  var zUpdateI18nKeyResponse = z.object({
1812
2436
  id: z.string()
1813
2437
  });
1814
- var zListI18nDraftsResponse = z.array(z.object({
2438
+ var zOkResponse = z.object({
2439
+ ok: z.literal(true)
2440
+ });
2441
+ var zI18nDraft = z.object({
1815
2442
  id: z.string(),
1816
- name: z.string().optional(),
1817
- profileId: z.string().optional(),
1818
- sourceProfileId: z.string().nullish(),
2443
+ name: z.string(),
2444
+ profileId: z.string(),
2445
+ sourceProfileId: z.string().nullable(),
1819
2446
  status: z.enum([
1820
2447
  "open",
1821
2448
  "merged",
1822
2449
  "abandoned"
1823
- ]).optional(),
1824
- createdBy: z.string().optional(),
1825
- createdAt: z.string().optional(),
1826
- publishedAt: z.string().nullish()
1827
- }));
2450
+ ]),
2451
+ createdBy: z.string(),
2452
+ createdAt: z.string(),
2453
+ publishedAt: z.string().nullable()
2454
+ });
2455
+ var zListI18nDraftsResponse = z.array(zI18nDraft);
1828
2456
  var zCreateI18nDraftRequest = z.object({
1829
2457
  name: z.string().min(1).max(64),
1830
2458
  profile_id: z.uuid(),
1831
2459
  source_profile_id: z.uuid().optional()
1832
2460
  });
1833
- var zI18nDraft = z.object({
1834
- id: z.string(),
1835
- name: z.string().optional(),
1836
- profileId: z.string().optional(),
1837
- sourceProfileId: z.string().nullish(),
1838
- status: z.enum([
1839
- "open",
1840
- "merged",
1841
- "abandoned"
1842
- ]).optional(),
1843
- createdBy: z.string().optional(),
1844
- createdAt: z.string().optional(),
1845
- publishedAt: z.string().nullish()
1846
- });
1847
2461
  var zUpdateI18nDraftRequest = z.object({
1848
2462
  status: z.enum([
1849
2463
  "open",
@@ -1851,13 +2465,25 @@ var zUpdateI18nDraftRequest = z.object({
1851
2465
  "abandoned"
1852
2466
  ]).optional()
1853
2467
  });
1854
- var zPublishI18nProfileRequest = z.object({
1855
- chunk: z.string().optional()
2468
+ var zListI18nDraftKeysResponse = z.array(z.object({
2469
+ id: z.string(),
2470
+ draftId: z.string(),
2471
+ key: z.string(),
2472
+ value: z.string(),
2473
+ description: z.string().nullable(),
2474
+ variables: z.array(z.string()).nullable(),
2475
+ updatedBy: z.string(),
2476
+ updatedAt: z.string()
2477
+ }));
2478
+ var zUpsertI18nDraftKeyRequest = z.object({
2479
+ key: z.string().min(1).max(256),
2480
+ value: z.string(),
2481
+ description: z.string().optional()
1856
2482
  });
2483
+ var zPublishI18nProfileRequest = z.record(z.string(), z.never());
1857
2484
  var zPublishI18nProfileResponse = z.object({
1858
2485
  ok: z.literal(true),
1859
2486
  profile_id: z.string(),
1860
- chunk: z.string().nullable(),
1861
2487
  published_at: z.string(),
1862
2488
  version: z.string(),
1863
2489
  key_count: z.number(),
@@ -1894,31 +2520,46 @@ var zSetI18nLabelResponse = z.object({
1894
2520
  kv_verified: z.boolean(),
1895
2521
  warning: z.string().optional()
1896
2522
  });
2523
+ var zErrorOccurrence = z.object({
2524
+ id: z.string(),
2525
+ projectId: z.string(),
2526
+ errorId: z.string(),
2527
+ message: z.string(),
2528
+ stack: z.string().nullable(),
2529
+ url: z.string().nullable(),
2530
+ env: z.string().nullable(),
2531
+ side: z.string().nullable(),
2532
+ sdkVersion: z.string().nullable(),
2533
+ extrasJson: z.string().nullable(),
2534
+ sampleRate: z.int().gte(1),
2535
+ seenAt: z.string()
2536
+ });
1897
2537
  var zErrorRecord = z.object({
1898
2538
  id: z.string(),
1899
2539
  projectId: z.string(),
1900
2540
  fingerprint: z.string(),
1901
- causedByFingerprint: z.string().nullish(),
2541
+ causedByFingerprint: z.string().nullable(),
1902
2542
  message: z.string(),
1903
- errorType: z.string().nullish(),
1904
- stack: z.string().nullish(),
1905
- source: z.string().nullish(),
1906
- url: z.string().nullish(),
1907
- seenUrls: z.string().nullish(),
1908
- subject: z.string().nullish(),
1909
- outcome: z.string().nullish(),
1910
- side: z.string().nullish(),
1911
- env: z.string().nullish(),
2543
+ errorType: z.string().nullable(),
2544
+ stack: z.string().nullable(),
2545
+ source: z.string().nullable(),
2546
+ url: z.string().nullable(),
2547
+ seenUrls: z.string().nullable(),
2548
+ subject: z.string().nullable(),
2549
+ outcome: z.string().nullable(),
2550
+ side: z.string().nullable(),
2551
+ env: z.string().nullable(),
1912
2552
  kind: z.enum([
1913
2553
  "caught",
1914
2554
  "uncaught",
1915
2555
  "unhandled_rejection",
1916
2556
  "network",
1917
2557
  "violation"
1918
- ]).nullish(),
1919
- lastExtrasJson: z.string().nullish(),
1920
- sdkVersion: z.string().nullish(),
2558
+ ]).nullable(),
2559
+ lastExtrasJson: z.string().nullable(),
2560
+ sdkVersion: z.string().nullable(),
1921
2561
  count: z.int().gte(1),
2562
+ occurrences: z.array(zErrorOccurrence).optional(),
1922
2563
  status: z.enum([
1923
2564
  "open",
1924
2565
  "resolved",
@@ -1927,7 +2568,10 @@ var zErrorRecord = z.object({
1927
2568
  firstSeenAt: z.string(),
1928
2569
  lastSeenAt: z.string(),
1929
2570
  createdAt: z.string(),
1930
- updatedAt: z.string()
2571
+ updatedAt: z.string(),
2572
+ assigneeId: z.string().nullable(),
2573
+ assigneeConnectorId: z.string().nullable(),
2574
+ assigneeAgent: z.string().nullable()
1931
2575
  });
1932
2576
  var zListErrorsResponse = z.array(zErrorRecord);
1933
2577
  var zUpdateErrorStatusRequest = z.object({
@@ -1939,7 +2583,7 @@ var zUpdateErrorStatusRequest = z.object({
1939
2583
  });
1940
2584
  var zFileErrorTicketResponse = z.object({
1941
2585
  id: z.string(),
1942
- number: z.int()
2586
+ number: z.int().nullable()
1943
2587
  });
1944
2588
  var zErrorSeriesRequest = z.object({
1945
2589
  from: z.int().gte(0),
@@ -1972,6 +2616,7 @@ var zConnectorRecord = z.object({
1972
2616
  events: z.array(zConnectorEvent),
1973
2617
  config: z.record(z.string(), z.unknown()),
1974
2618
  accountLabel: z.string().nullable(),
2619
+ hasCredentials: z.boolean(),
1975
2620
  lastError: z.string().nullable(),
1976
2621
  lastAttemptAt: z.string().nullable(),
1977
2622
  lastSuccessAt: z.string().nullable(),
@@ -2000,10 +2645,17 @@ var zCreateClaudeTriggerRequest = z.object({
2000
2645
  token: z.string().min(1).optional(),
2001
2646
  enabled: z.boolean().optional().default(true)
2002
2647
  });
2648
+ var zCursorTriggerRepo = z.object({
2649
+ url: z.url(),
2650
+ startingRef: z.string().min(1).optional()
2651
+ });
2003
2652
  var zCursorTriggerConfig = z.object({
2004
2653
  repoUrl: z.url(),
2005
2654
  startingRef: z.string().min(1).optional(),
2006
- projectId: z.string().min(1)
2655
+ repos: z.array(zCursorTriggerRepo).min(1).optional(),
2656
+ projectId: z.string().min(1),
2657
+ agentId: z.string().min(1).optional(),
2658
+ fireText: z.string().min(1).optional()
2007
2659
  });
2008
2660
  var zCreateCursorTriggerRequest = z.object({
2009
2661
  provider: z.enum(["cursor_trigger"]),
@@ -2014,11 +2666,18 @@ var zCreateCursorTriggerRequest = z.object({
2014
2666
  opsKey: z.string().min(1),
2015
2667
  enabled: z.boolean().optional().default(true)
2016
2668
  });
2669
+ var zCopilotTriggerRepo = z.object({
2670
+ owner: z.string().min(1),
2671
+ repo: z.string().min(1),
2672
+ baseRef: z.string().min(1).optional()
2673
+ });
2017
2674
  var zCopilotTriggerConfig = z.object({
2018
2675
  owner: z.string().min(1),
2019
2676
  repo: z.string().min(1),
2020
2677
  baseRef: z.string().min(1).optional(),
2021
- projectId: z.string().min(1)
2678
+ repos: z.array(zCopilotTriggerRepo).min(1).optional(),
2679
+ projectId: z.string().min(1),
2680
+ fireText: z.string().min(1).optional()
2022
2681
  });
2023
2682
  var zCreateCopilotTriggerRequest = z.object({
2024
2683
  provider: z.enum(["copilot_trigger"]),
@@ -2031,7 +2690,8 @@ var zCreateCopilotTriggerRequest = z.object({
2031
2690
  var zJulesTriggerConfig = z.object({
2032
2691
  source: z.string().min(1),
2033
2692
  startingBranch: z.string().min(1).optional(),
2034
- projectId: z.string().min(1)
2693
+ projectId: z.string().min(1),
2694
+ fireText: z.string().min(1).optional()
2035
2695
  });
2036
2696
  var zCreateJulesTriggerRequest = z.object({
2037
2697
  provider: z.enum(["jules_trigger"]),
@@ -2132,6 +2792,7 @@ var zKeyRecord = z.object({
2132
2792
  expires_at: z.string().nullable(),
2133
2793
  created_by_email: z.string().nullable(),
2134
2794
  name: z.string().nullable(),
2795
+ description: z.string().nullable(),
2135
2796
  scopes: z.array(z.string()).nullable(),
2136
2797
  last4: z.string().nullable()
2137
2798
  });
@@ -2146,7 +2807,7 @@ var zCreateKeyRequest = z.object({
2146
2807
  "admin",
2147
2808
  "ops"
2148
2809
  ]),
2149
- name: z.string().min(1).max(80).optional(),
2810
+ name: z.string().min(1).max(160).optional(),
2150
2811
  scopes: z.array(z.enum([
2151
2812
  "experiments:read",
2152
2813
  "gates:evaluate",
@@ -2178,6 +2839,10 @@ var zCreateKeyResponse = z.object({
2178
2839
  key: z.string(),
2179
2840
  expires_at: z.string().nullable()
2180
2841
  });
2842
+ var zUpdateKeyRequest = z.object({
2843
+ name: z.string().min(1).max(160).nullish(),
2844
+ description: z.string().min(1).max(500).nullish()
2845
+ });
2181
2846
  var zRevokeKeyResponse = z.object({
2182
2847
  id: z.string(),
2183
2848
  revoked: z.literal(true)
@@ -2220,6 +2885,12 @@ var zDeleteGateHeaders = z.object({
2220
2885
  var zDeleteGatePath = z.object({
2221
2886
  id: zResourceId
2222
2887
  });
2888
+ var zGetGateHeaders = z.object({
2889
+ "X-Project-Id": z.string().optional()
2890
+ });
2891
+ var zGetGatePath = z.object({
2892
+ id: zResourceId
2893
+ });
2223
2894
  var zUpdateGateHeaders = z.object({
2224
2895
  "X-Project-Id": z.string().optional()
2225
2896
  });
@@ -2238,6 +2909,39 @@ var zDisableGateHeaders = z.object({
2238
2909
  var zDisableGatePath = z.object({
2239
2910
  id: zResourceId
2240
2911
  });
2912
+ var zListGateActivityHeaders = z.object({
2913
+ "X-Project-Id": z.string().optional()
2914
+ });
2915
+ var zListGateActivityPath = z.object({
2916
+ id: zResourceId
2917
+ });
2918
+ var zListGateActivityQuery = z.object({
2919
+ limit: z.int().gte(1).lte(100).optional().default(20)
2920
+ });
2921
+ var zRemoveFromGateWhitelistHeaders = z.object({
2922
+ "X-Project-Id": z.string().optional()
2923
+ });
2924
+ var zRemoveFromGateWhitelistPath = z.object({
2925
+ id: zResourceId
2926
+ });
2927
+ var zGetGateWhitelistHeaders = z.object({
2928
+ "X-Project-Id": z.string().optional()
2929
+ });
2930
+ var zGetGateWhitelistPath = z.object({
2931
+ id: zResourceId
2932
+ });
2933
+ var zAddToGateWhitelistHeaders = z.object({
2934
+ "X-Project-Id": z.string().optional()
2935
+ });
2936
+ var zAddToGateWhitelistPath = z.object({
2937
+ id: zResourceId
2938
+ });
2939
+ var zSetGateWhitelistHeaders = z.object({
2940
+ "X-Project-Id": z.string().optional()
2941
+ });
2942
+ var zSetGateWhitelistPath = z.object({
2943
+ id: zResourceId
2944
+ });
2241
2945
  var zListExperimentsHeaders = z.object({
2242
2946
  "X-Project-Id": z.string().optional()
2243
2947
  });
@@ -2301,6 +3005,19 @@ var zReanalyzeExperimentHeaders = z.object({
2301
3005
  var zReanalyzeExperimentPath = z.object({
2302
3006
  id: zResourceId
2303
3007
  });
3008
+ var zCreateExperimentReadoutHeaders = z.object({
3009
+ "X-Project-Id": z.string().optional()
3010
+ });
3011
+ var zCreateExperimentReadoutPath = z.object({
3012
+ id: zResourceId
3013
+ });
3014
+ var zGetExperimentReadoutHeaders = z.object({
3015
+ "X-Project-Id": z.string().optional()
3016
+ });
3017
+ var zGetExperimentReadoutPath = z.object({
3018
+ id: zResourceId,
3019
+ readoutId: zResourceId
3020
+ });
2304
3021
  var zListConfigsHeaders = z.object({
2305
3022
  "X-Project-Id": z.string().optional()
2306
3023
  });
@@ -2363,6 +3080,15 @@ var zUpdateConfigSchemaHeaders = z.object({
2363
3080
  var zUpdateConfigSchemaPath = z.object({
2364
3081
  id: zResourceId
2365
3082
  });
3083
+ var zListConfigVersionsHeaders = z.object({
3084
+ "X-Project-Id": z.string().optional()
3085
+ });
3086
+ var zListConfigVersionsPath = z.object({
3087
+ id: zResourceId
3088
+ });
3089
+ var zListConfigVersionsQuery = z.object({
3090
+ env: zEnv.optional()
3091
+ });
2366
3092
  var zListKillswitchesHeaders = z.object({
2367
3093
  "X-Project-Id": z.string().optional()
2368
3094
  });
@@ -2410,6 +3136,12 @@ var zSetKillswitchValueHeaders = z.object({
2410
3136
  var zSetKillswitchValuePath = z.object({
2411
3137
  id: zResourceId
2412
3138
  });
3139
+ var zToggleKillswitchHeaders = z.object({
3140
+ "X-Project-Id": z.string().optional()
3141
+ });
3142
+ var zToggleKillswitchPath = z.object({
3143
+ id: zResourceId
3144
+ });
2413
3145
  var zListUniversesHeaders = z.object({
2414
3146
  "X-Project-Id": z.string().optional()
2415
3147
  });
@@ -2515,6 +3247,24 @@ var zUpdateMetricHeaders = z.object({
2515
3247
  var zUpdateMetricPath = z.object({
2516
3248
  id: zResourceId
2517
3249
  });
3250
+ var zListMetricExperimentsHeaders = z.object({
3251
+ "X-Project-Id": z.string().optional()
3252
+ });
3253
+ var zListMetricExperimentsPath = z.object({
3254
+ id: zResourceId
3255
+ });
3256
+ var zUnarchiveMetricHeaders = z.object({
3257
+ "X-Project-Id": z.string().optional()
3258
+ });
3259
+ var zUnarchiveMetricPath = z.object({
3260
+ id: zResourceId
3261
+ });
3262
+ var zGetMetricSeriesHeaders = z.object({
3263
+ "X-Project-Id": z.string().optional()
3264
+ });
3265
+ var zGetMetricSeriesPath = z.object({
3266
+ id: zResourceId
3267
+ });
2518
3268
  var zListEventsHeaders = z.object({
2519
3269
  "X-Project-Id": z.string().optional()
2520
3270
  });
@@ -2557,19 +3307,27 @@ var zListOpsItemsQuery = z.object({
2557
3307
  "bug",
2558
3308
  "feature_request",
2559
3309
  "error",
2560
- "alert"
3310
+ "alert",
3311
+ "measure_plan"
2561
3312
  ]),
2562
3313
  z.literal("all")
2563
- ]).optional(),
3314
+ ]).optional().default("all"),
2564
3315
  status: z.union([
2565
3316
  zOpsItemStatus,
2566
3317
  z.literal("all")
2567
- ]).optional(),
2568
- limit: z.int().gte(1).lte(500).optional()
3318
+ ]).optional().default("all"),
3319
+ limit: z.int().gte(1).lte(500).optional().default(200),
3320
+ owner: z.string().optional()
2569
3321
  });
2570
3322
  var zCreateOpsItemHeaders = z.object({
2571
3323
  "X-Project-Id": z.string().optional()
2572
3324
  });
3325
+ var zDeleteOpsItemHeaders = z.object({
3326
+ "X-Project-Id": z.string().optional()
3327
+ });
3328
+ var zDeleteOpsItemPath = z.object({
3329
+ handle: zResourceId
3330
+ });
2573
3331
  var zGetOpsItemHeaders = z.object({
2574
3332
  "X-Project-Id": z.string().optional()
2575
3333
  });
@@ -2588,6 +3346,34 @@ var zLinkPrToOpsItemHeaders = z.object({
2588
3346
  var zLinkPrToOpsItemPath = z.object({
2589
3347
  handle: zResourceId
2590
3348
  });
3349
+ var zAckOpsItemHeaders = z.object({
3350
+ "X-Project-Id": z.string().optional()
3351
+ });
3352
+ var zAckOpsItemPath = z.object({
3353
+ handle: zResourceId
3354
+ });
3355
+ var zListOpsInvestigationsHeaders = z.object({
3356
+ "X-Project-Id": z.string().optional()
3357
+ });
3358
+ var zListOpsInvestigationsPath = z.object({
3359
+ handle: zResourceId
3360
+ });
3361
+ var zCreateOpsInvestigationHeaders = z.object({
3362
+ "X-Project-Id": z.string().optional()
3363
+ });
3364
+ var zCreateOpsInvestigationPath = z.object({
3365
+ handle: zResourceId
3366
+ });
3367
+ var zUpdateOpsInvestigationHeaders = z.object({
3368
+ "X-Project-Id": z.string().optional()
3369
+ });
3370
+ var zUpdateOpsInvestigationPath = z.object({
3371
+ handle: zResourceId,
3372
+ investigationId: zResourceId
3373
+ });
3374
+ var zListOpsAgentsHeaders = z.object({
3375
+ "X-Project-Id": z.string().optional()
3376
+ });
2591
3377
  var zListOpsCommentsHeaders = z.object({
2592
3378
  "X-Project-Id": z.string().optional()
2593
3379
  });
@@ -2627,12 +3413,35 @@ var zUpdateAlertRuleHeaders = z.object({
2627
3413
  var zUpdateAlertRulePath = z.object({
2628
3414
  id: zResourceId
2629
3415
  });
3416
+ var zListAlertsHeaders = z.object({
3417
+ "X-Project-Id": z.string().optional()
3418
+ });
3419
+ var zListAlertsQuery = z.object({
3420
+ status: z.enum([
3421
+ "active",
3422
+ "resolved",
3423
+ "dismissed",
3424
+ "all"
3425
+ ]).optional().default("active")
3426
+ });
3427
+ var zUpdateAlertHeaders = z.object({
3428
+ "X-Project-Id": z.string().optional()
3429
+ });
3430
+ var zUpdateAlertPath = z.object({
3431
+ id: zResourceId
3432
+ });
2630
3433
  var zGetCurrentProjectHeaders = z.object({
2631
3434
  "X-Project-Id": z.string().optional()
2632
3435
  });
2633
3436
  var zUpsertProjectHeaders = z.object({
2634
3437
  "X-Project-Id": z.string().optional()
2635
3438
  });
3439
+ var zGetProjectHeaders = z.object({
3440
+ "X-Project-Id": z.string().optional()
3441
+ });
3442
+ var zGetProjectPath = z.object({
3443
+ id: zResourceId
3444
+ });
2636
3445
  var zUpdateProjectHeaders = z.object({
2637
3446
  "X-Project-Id": z.string().optional()
2638
3447
  });
@@ -2652,12 +3461,21 @@ var zListI18nKeysQuery = z.object({
2652
3461
  profile_id: z.string().optional(),
2653
3462
  prefix: z.string().optional(),
2654
3463
  q: z.string().max(100).optional(),
2655
- limit: z.int().gte(1).lte(500).optional(),
3464
+ limit: z.int().gte(1).lte(500).optional().default(200),
2656
3465
  offset: z.int().gte(0).optional().default(0)
2657
3466
  });
2658
3467
  var zPushI18nKeysHeaders = z.object({
2659
3468
  "X-Project-Id": z.string().optional()
2660
3469
  });
3470
+ var zUpsertI18nKeysHeaders = z.object({
3471
+ "X-Project-Id": z.string().optional()
3472
+ });
3473
+ var zDeleteI18nKeyHeaders = z.object({
3474
+ "X-Project-Id": z.string().optional()
3475
+ });
3476
+ var zDeleteI18nKeyPath = z.object({
3477
+ id: zResourceId
3478
+ });
2661
3479
  var zUpdateI18nKeyHeaders = z.object({
2662
3480
  "X-Project-Id": z.string().optional()
2663
3481
  });
@@ -2670,12 +3488,36 @@ var zListI18nDraftsHeaders = z.object({
2670
3488
  var zCreateI18nDraftHeaders = z.object({
2671
3489
  "X-Project-Id": z.string().optional()
2672
3490
  });
3491
+ var zDeleteI18nDraftHeaders = z.object({
3492
+ "X-Project-Id": z.string().optional()
3493
+ });
3494
+ var zDeleteI18nDraftPath = z.object({
3495
+ draftId: zResourceId
3496
+ });
2673
3497
  var zUpdateI18nDraftHeaders = z.object({
2674
3498
  "X-Project-Id": z.string().optional()
2675
3499
  });
2676
3500
  var zUpdateI18nDraftPath = z.object({
2677
3501
  draftId: zResourceId
2678
3502
  });
3503
+ var zDeleteI18nProfileHeaders = z.object({
3504
+ "X-Project-Id": z.string().optional()
3505
+ });
3506
+ var zDeleteI18nProfilePath = z.object({
3507
+ profileId: zResourceId
3508
+ });
3509
+ var zListI18nDraftKeysHeaders = z.object({
3510
+ "X-Project-Id": z.string().optional()
3511
+ });
3512
+ var zListI18nDraftKeysPath = z.object({
3513
+ draftId: zResourceId
3514
+ });
3515
+ var zUpsertI18nDraftKeyHeaders = z.object({
3516
+ "X-Project-Id": z.string().optional()
3517
+ });
3518
+ var zUpsertI18nDraftKeyPath = z.object({
3519
+ draftId: zResourceId
3520
+ });
2679
3521
  var zPublishI18nProfileHeaders = z.object({
2680
3522
  "X-Project-Id": z.string().optional()
2681
3523
  });
@@ -2716,6 +3558,12 @@ var zFileErrorTicketHeaders = z.object({
2716
3558
  var zFileErrorTicketPath = z.object({
2717
3559
  id: zResourceId
2718
3560
  });
3561
+ var zResolveErrorHeaders = z.object({
3562
+ "X-Project-Id": z.string().optional()
3563
+ });
3564
+ var zResolveErrorPath = z.object({
3565
+ id: zResourceId
3566
+ });
2719
3567
  var zGetErrorSeriesHeaders = z.object({
2720
3568
  "X-Project-Id": z.string().optional()
2721
3569
  });
@@ -2781,6 +3629,12 @@ var zListKeysQuery = z.object({
2781
3629
  var zCreateKeyHeaders = z.object({
2782
3630
  "X-Project-Id": z.string().optional()
2783
3631
  });
3632
+ var zUpdateKeyHeaders = z.object({
3633
+ "X-Project-Id": z.string().optional()
3634
+ });
3635
+ var zUpdateKeyPath = z.object({
3636
+ id: zResourceId
3637
+ });
2784
3638
  var zRevokeKeyHeaders = z.object({
2785
3639
  "X-Project-Id": z.string().optional()
2786
3640
  });