@cat-factory/contracts 0.220.0 → 0.222.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.
- package/dist/accountSettings.d.ts +75 -0
- package/dist/accountSettings.d.ts.map +1 -1
- package/dist/accountSettings.js +13 -0
- package/dist/accountSettings.js.map +1 -1
- package/dist/entities.d.ts +45 -0
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +55 -0
- package/dist/entities.js.map +1 -1
- package/dist/model-presets.d.ts +18 -0
- package/dist/model-presets.d.ts.map +1 -1
- package/dist/model-presets.js +24 -0
- package/dist/model-presets.js.map +1 -1
- package/dist/notification-webhooks.d.ts +7 -0
- package/dist/notification-webhooks.d.ts.map +1 -1
- package/dist/notifications.d.ts +54 -10
- package/dist/notifications.d.ts.map +1 -1
- package/dist/notifications.js +24 -7
- package/dist/notifications.js.map +1 -1
- package/dist/observability.d.ts +230 -3
- package/dist/observability.d.ts.map +1 -1
- package/dist/observability.js +173 -2
- package/dist/observability.js.map +1 -1
- package/dist/public-api.d.ts +7 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/reserved-env-keys.d.ts.map +1 -1
- package/dist/reserved-env-keys.js +2 -0
- package/dist/reserved-env-keys.js.map +1 -1
- package/dist/routes/accounts.d.ts +56 -2
- package/dist/routes/accounts.d.ts.map +1 -1
- package/dist/routes/model-presets.d.ts +6 -0
- package/dist/routes/model-presets.d.ts.map +1 -1
- package/dist/routes/notifications.d.ts +21 -0
- package/dist/routes/notifications.d.ts.map +1 -1
- package/dist/routes/public-api.d.ts +21 -0
- package/dist/routes/public-api.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +16 -0
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +8 -0
- package/dist/snapshot.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/notifications.d.ts
CHANGED
|
@@ -127,13 +127,35 @@ export declare const notificationPayloadSchema: v.ObjectSchema<{
|
|
|
127
127
|
readonly platformWindow: v.OptionalSchema<v.PicklistSchema<["1h", "24h", "7d"], undefined>, undefined>;
|
|
128
128
|
/**
|
|
129
129
|
* On a `platform_health` notification: the alert conditions currently firing, sorted. This
|
|
130
|
-
* is the card's dedup identity
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
* card links to); the reason set + window are enough to convey "what's wrong, go look".
|
|
130
|
+
* is the card's dedup identity: the sweep raises the card only when this set CHANGES, so a
|
|
131
|
+
* persistently unhealthy deployment doesn't re-toast the inbox on every sweep. Live
|
|
132
|
+
* per-condition NUMBERS are deliberately NOT carried here (they fluctuate every sweep and
|
|
133
|
+
* live on the dashboard the card links to); the reason set + window convey "what's wrong".
|
|
135
134
|
*/
|
|
136
135
|
readonly platformAlerts: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["failure_rate_high", "duration_p99_high", "backlog_high", "throughput_stalled", "failure_kind_dominant", "sweep_degraded"], undefined>, undefined>, undefined>;
|
|
136
|
+
/**
|
|
137
|
+
* On a `platform_health` notification whose firing set includes a failure condition: a
|
|
138
|
+
* bounded sample of the runs the alert is aggregating, in THIS workspace, so the card
|
|
139
|
+
* deep-links to the evidence instead of only to the dashboard. Newest first.
|
|
140
|
+
*
|
|
141
|
+
* It rides the payload (the card's dedup identity) precisely because it is captured once,
|
|
142
|
+
* when the firing set changes, rather than refreshed each sweep: a list that churned with
|
|
143
|
+
* every new failure would re-deliver the card for the whole incident, which is the failure
|
|
144
|
+
* mode the reason-set identity exists to prevent. The runs are therefore the ones that were
|
|
145
|
+
* failing WHEN THE ALERT FIRED, and the dashboard behind the card is the live view.
|
|
146
|
+
*/
|
|
147
|
+
readonly platformFailingRuns: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
148
|
+
readonly executionId: v.StringSchema<undefined>;
|
|
149
|
+
readonly blockId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
150
|
+
readonly failureKind: v.StringSchema<undefined>;
|
|
151
|
+
readonly createdAt: v.NumberSchema<undefined>;
|
|
152
|
+
}, undefined>, undefined>, undefined>;
|
|
153
|
+
/**
|
|
154
|
+
* How many runs in this workspace had failed in the window when the card was raised.
|
|
155
|
+
* Reported alongside the capped {@link platformFailingRuns} sample so the card states what
|
|
156
|
+
* it left out ("5 of 23") rather than presenting the cap as the whole story.
|
|
157
|
+
*/
|
|
158
|
+
readonly platformFailedTotal: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
137
159
|
/**
|
|
138
160
|
* On an `infra_unreachable` notification: the configured infrastructure areas whose live probe
|
|
139
161
|
* is currently failing, sorted. Like {@link platformAlerts} this is the card's dedup identity —
|
|
@@ -256,13 +278,35 @@ export declare const notificationSchema: v.ObjectSchema<{
|
|
|
256
278
|
readonly platformWindow: v.OptionalSchema<v.PicklistSchema<["1h", "24h", "7d"], undefined>, undefined>;
|
|
257
279
|
/**
|
|
258
280
|
* On a `platform_health` notification: the alert conditions currently firing, sorted. This
|
|
259
|
-
* is the card's dedup identity
|
|
260
|
-
*
|
|
261
|
-
*
|
|
262
|
-
*
|
|
263
|
-
* card links to); the reason set + window are enough to convey "what's wrong, go look".
|
|
281
|
+
* is the card's dedup identity: the sweep raises the card only when this set CHANGES, so a
|
|
282
|
+
* persistently unhealthy deployment doesn't re-toast the inbox on every sweep. Live
|
|
283
|
+
* per-condition NUMBERS are deliberately NOT carried here (they fluctuate every sweep and
|
|
284
|
+
* live on the dashboard the card links to); the reason set + window convey "what's wrong".
|
|
264
285
|
*/
|
|
265
286
|
readonly platformAlerts: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["failure_rate_high", "duration_p99_high", "backlog_high", "throughput_stalled", "failure_kind_dominant", "sweep_degraded"], undefined>, undefined>, undefined>;
|
|
287
|
+
/**
|
|
288
|
+
* On a `platform_health` notification whose firing set includes a failure condition: a
|
|
289
|
+
* bounded sample of the runs the alert is aggregating, in THIS workspace, so the card
|
|
290
|
+
* deep-links to the evidence instead of only to the dashboard. Newest first.
|
|
291
|
+
*
|
|
292
|
+
* It rides the payload (the card's dedup identity) precisely because it is captured once,
|
|
293
|
+
* when the firing set changes, rather than refreshed each sweep: a list that churned with
|
|
294
|
+
* every new failure would re-deliver the card for the whole incident, which is the failure
|
|
295
|
+
* mode the reason-set identity exists to prevent. The runs are therefore the ones that were
|
|
296
|
+
* failing WHEN THE ALERT FIRED, and the dashboard behind the card is the live view.
|
|
297
|
+
*/
|
|
298
|
+
readonly platformFailingRuns: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
299
|
+
readonly executionId: v.StringSchema<undefined>;
|
|
300
|
+
readonly blockId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
301
|
+
readonly failureKind: v.StringSchema<undefined>;
|
|
302
|
+
readonly createdAt: v.NumberSchema<undefined>;
|
|
303
|
+
}, undefined>, undefined>, undefined>;
|
|
304
|
+
/**
|
|
305
|
+
* How many runs in this workspace had failed in the window when the card was raised.
|
|
306
|
+
* Reported alongside the capped {@link platformFailingRuns} sample so the card states what
|
|
307
|
+
* it left out ("5 of 23") rather than presenting the cap as the whole story.
|
|
308
|
+
*/
|
|
309
|
+
readonly platformFailedTotal: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
266
310
|
/**
|
|
267
311
|
* On an `infra_unreachable` notification: the configured infrastructure areas whose live probe
|
|
268
312
|
* is currently failing, sorted. Like {@link platformAlerts} this is the card's dedup identity —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"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"}
|
package/dist/notifications.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { mergeAssessmentSchema } from './merge.js';
|
|
3
3
|
import { infraSetupAreaSchema } from './infra-setup.js';
|
|
4
|
-
import { platformAlertReasonSchema,
|
|
4
|
+
import { platformAlertReasonSchema, platformAlertWindowSchema, platformFailingRunSchema, } from './observability.js';
|
|
5
5
|
import { changeClassSchema, reviewEffortSchema } from './mergeTrackRecord.js';
|
|
6
6
|
import { onCallAssessmentSchema, releaseSignalSchema } from './release.js';
|
|
7
7
|
// ---------------------------------------------------------------------------
|
|
@@ -225,16 +225,33 @@ export const notificationPayloadSchema = v.object({
|
|
|
225
225
|
/** The repos whose PRs are still UNMERGED after a partial multi-repo merge (see {@link mergedRepos}). */
|
|
226
226
|
unmergedRepos: v.optional(v.array(v.string())),
|
|
227
227
|
/** The window the aggregate was computed over, on a `platform_health` notification. */
|
|
228
|
-
platformWindow: v.optional(
|
|
228
|
+
platformWindow: v.optional(platformAlertWindowSchema),
|
|
229
229
|
/**
|
|
230
230
|
* On a `platform_health` notification: the alert conditions currently firing, sorted. This
|
|
231
|
-
* is the card's dedup identity
|
|
232
|
-
*
|
|
233
|
-
*
|
|
234
|
-
*
|
|
235
|
-
* card links to); the reason set + window are enough to convey "what's wrong, go look".
|
|
231
|
+
* is the card's dedup identity: the sweep raises the card only when this set CHANGES, so a
|
|
232
|
+
* persistently unhealthy deployment doesn't re-toast the inbox on every sweep. Live
|
|
233
|
+
* per-condition NUMBERS are deliberately NOT carried here (they fluctuate every sweep and
|
|
234
|
+
* live on the dashboard the card links to); the reason set + window convey "what's wrong".
|
|
236
235
|
*/
|
|
237
236
|
platformAlerts: v.optional(v.array(platformAlertReasonSchema)),
|
|
237
|
+
/**
|
|
238
|
+
* On a `platform_health` notification whose firing set includes a failure condition: a
|
|
239
|
+
* bounded sample of the runs the alert is aggregating, in THIS workspace, so the card
|
|
240
|
+
* deep-links to the evidence instead of only to the dashboard. Newest first.
|
|
241
|
+
*
|
|
242
|
+
* It rides the payload (the card's dedup identity) precisely because it is captured once,
|
|
243
|
+
* when the firing set changes, rather than refreshed each sweep: a list that churned with
|
|
244
|
+
* every new failure would re-deliver the card for the whole incident, which is the failure
|
|
245
|
+
* mode the reason-set identity exists to prevent. The runs are therefore the ones that were
|
|
246
|
+
* failing WHEN THE ALERT FIRED, and the dashboard behind the card is the live view.
|
|
247
|
+
*/
|
|
248
|
+
platformFailingRuns: v.optional(v.array(platformFailingRunSchema)),
|
|
249
|
+
/**
|
|
250
|
+
* How many runs in this workspace had failed in the window when the card was raised.
|
|
251
|
+
* Reported alongside the capped {@link platformFailingRuns} sample so the card states what
|
|
252
|
+
* it left out ("5 of 23") rather than presenting the cap as the whole story.
|
|
253
|
+
*/
|
|
254
|
+
platformFailedTotal: v.optional(v.number()),
|
|
238
255
|
/**
|
|
239
256
|
* On an `infra_unreachable` notification: the configured infrastructure areas whose live probe
|
|
240
257
|
* is currently failing, sorted. Like {@link platformAlerts} this is the card's dedup identity —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"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"}
|
package/dist/observability.d.ts
CHANGED
|
@@ -511,9 +511,30 @@ export declare const agentSearchQuerySchema: v.ObjectSchema<{
|
|
|
511
511
|
readonly createdAt: v.NumberSchema<undefined>;
|
|
512
512
|
}, undefined>;
|
|
513
513
|
export type AgentSearchQuery = v.InferOutput<typeof agentSearchQuerySchema>;
|
|
514
|
-
/**
|
|
515
|
-
|
|
514
|
+
/**
|
|
515
|
+
* The time window the dashboard aggregates over. `1h`/`24h`/`7d` are scanned live off
|
|
516
|
+
* `agent_runs`; `30d`/`90d` are served from the DAILY ROLLUP table the retention sweep
|
|
517
|
+
* materialises, because a fine-grained scan over a quarter of run history is exactly the
|
|
518
|
+
* "load rows and reduce" cost the rollup exists to avoid. Which source answered is carried
|
|
519
|
+
* on the projection ({@link platformTrendSourceSchema}) rather than left to be inferred.
|
|
520
|
+
*
|
|
521
|
+
* The rollup-backed windows are INCLUSIVE of the day their start falls in, so a `30d` window
|
|
522
|
+
* covers 30 or 31 calendar days depending on the time of day it is read, where the live windows
|
|
523
|
+
* are exact to the millisecond. A day is the smallest bucket that table can answer, and dropping
|
|
524
|
+
* the partial oldest day would under-report it by more than including it over-reports; `since`
|
|
525
|
+
* on the projection is still the exact window start, so a reader is never told otherwise.
|
|
526
|
+
*/
|
|
527
|
+
export declare const platformObservabilityWindowSchema: v.PicklistSchema<["1h", "24h", "7d", "30d", "90d"], undefined>;
|
|
516
528
|
export type PlatformObservabilityWindow = v.InferOutput<typeof platformObservabilityWindowSchema>;
|
|
529
|
+
/**
|
|
530
|
+
* Where a window's outcome totals, trend and failure taxonomy came from: a live scan of
|
|
531
|
+
* `agent_runs` (`runs`) or the daily rollup table (`daily-rollup`). Reported rather than
|
|
532
|
+
* derived from the window, so a reader never has to know the routing table to know what it
|
|
533
|
+
* is looking at, and so a rollup that has not run yet reads as missing data rather than as
|
|
534
|
+
* a quiet deployment (see `rolledUpThrough`).
|
|
535
|
+
*/
|
|
536
|
+
export declare const platformTrendSourceSchema: v.PicklistSchema<["runs", "daily-rollup"], undefined>;
|
|
537
|
+
export type PlatformTrendSource = v.InferOutput<typeof platformTrendSourceSchema>;
|
|
517
538
|
/** Run-outcome totals over the window (each a status bucket, plus the derived success rate). */
|
|
518
539
|
export declare const platformOutcomeTotalsSchema: v.ObjectSchema<{
|
|
519
540
|
/** All runs created in the window. */
|
|
@@ -546,9 +567,48 @@ export declare const platformFailureSliceSchema: v.ObjectSchema<{
|
|
|
546
567
|
readonly count: v.NumberSchema<undefined>;
|
|
547
568
|
}, undefined>;
|
|
548
569
|
export type PlatformFailureSlice = v.InferOutput<typeof platformFailureSliceSchema>;
|
|
570
|
+
/**
|
|
571
|
+
* One gate kind's attempt statistics over the window: the operator view of the
|
|
572
|
+
* precheck-or-escalate loop that `ci` / `conflicts` / `post-release-health` (and a
|
|
573
|
+
* deployment's own gates) run. Folded from the `gate_outcomes` projection, one row of which
|
|
574
|
+
* is written when a gate SETTLES; the per-round detail stays on the run's `step.gate`.
|
|
575
|
+
*
|
|
576
|
+
* The numbers answer three different operator questions that a bare attempt count conflates:
|
|
577
|
+
* how often the gate is satisfied with nothing spun up ({@link cleanPasses}, the whole point
|
|
578
|
+
* of a precheck-first gate), how much helper-agent work the deployment is spending
|
|
579
|
+
* ({@link attempts}), and how often that work runs out without fixing anything
|
|
580
|
+
* ({@link exhausted}, the human hand-off).
|
|
581
|
+
*/
|
|
582
|
+
export declare const platformGateStatSchema: v.ObjectSchema<{
|
|
583
|
+
/** The gate step's agent kind (`ci` / `conflicts` / `post-release-health` / a custom one). */
|
|
584
|
+
readonly gateKind: v.StringSchema<undefined>;
|
|
585
|
+
/** The helper agent this gate escalates to (`ci-fixer` / …), or null when it has none. */
|
|
586
|
+
readonly helperKind: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
587
|
+
/** Gate steps that reached a terminal verdict in the window. */
|
|
588
|
+
readonly gates: v.NumberSchema<undefined>;
|
|
589
|
+
/** Of those, how many the precheck ultimately passed. */
|
|
590
|
+
readonly passed: v.NumberSchema<undefined>;
|
|
591
|
+
/** Of those, how many spent the attempt budget and handed off to a human. */
|
|
592
|
+
readonly exhausted: v.NumberSchema<undefined>;
|
|
593
|
+
/**
|
|
594
|
+
* Gates that passed WITHOUT dispatching a helper at all. Reported separately from
|
|
595
|
+
* {@link passed} because "the gate was green on the first look" and "the fixer got it green
|
|
596
|
+
* on the third try" are the same `passed` and completely different platform health.
|
|
597
|
+
*/
|
|
598
|
+
readonly cleanPasses: v.NumberSchema<undefined>;
|
|
599
|
+
/** Helper-agent dispatches across every gate of this kind (the CI-fixer attempt count). */
|
|
600
|
+
readonly attempts: v.NumberSchema<undefined>;
|
|
601
|
+
/**
|
|
602
|
+
* Helper dispatches whose own job FAILED (as opposed to finishing and leaving the precheck
|
|
603
|
+
* still red). Kept apart because a fixer that keeps crashing is a platform fault, while a
|
|
604
|
+
* fixer that runs clean and cannot fix the build is a product one.
|
|
605
|
+
*/
|
|
606
|
+
readonly helperFailures: v.NumberSchema<undefined>;
|
|
607
|
+
}, undefined>;
|
|
608
|
+
export type PlatformGateStat = v.InferOutput<typeof platformGateStatSchema>;
|
|
549
609
|
/** The complete deployment-health projection the admin dashboard renders. */
|
|
550
610
|
export declare const platformObservabilitySchema: v.ObjectSchema<{
|
|
551
|
-
readonly window: v.PicklistSchema<["1h", "24h", "7d"], undefined>;
|
|
611
|
+
readonly window: v.PicklistSchema<["1h", "24h", "7d", "30d", "90d"], undefined>;
|
|
552
612
|
/** When the projection was computed (epoch ms). */
|
|
553
613
|
readonly generatedAt: v.NumberSchema<undefined>;
|
|
554
614
|
/** Start of the window (epoch ms) — `generatedAt - window`. */
|
|
@@ -566,6 +626,29 @@ export declare const platformObservabilitySchema: v.ObjectSchema<{
|
|
|
566
626
|
/** `done / (done + failed)`, 0..1; null when no run reached a terminal outcome. */
|
|
567
627
|
readonly successRate: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
568
628
|
}, undefined>;
|
|
629
|
+
/**
|
|
630
|
+
* Which store answered the outcome totals, trend and failure taxonomy for this window.
|
|
631
|
+
* `runs` = a live scan of `agent_runs`; `daily-rollup` = the pre-aggregated daily table.
|
|
632
|
+
*/
|
|
633
|
+
readonly source: v.PicklistSchema<["runs", "daily-rollup"], undefined>;
|
|
634
|
+
/**
|
|
635
|
+
* On a `daily-rollup` window: the newest day (epoch ms, UTC midnight) the rollup SWEEP has
|
|
636
|
+
* covered, or NULL when no pass has ever completed.
|
|
637
|
+
*
|
|
638
|
+
* Null is the whole reason this field exists. A rollup that has never run and a deployment
|
|
639
|
+
* that has never run anything both produce an empty series, and only one of them is a fact
|
|
640
|
+
* about the platform, so the reader is told which, rather than being shown 90 days of
|
|
641
|
+
* confident zeros. A value well behind `generatedAt` says the same thing more quietly: the
|
|
642
|
+
* sweep is behind, and the tail of the window is not missing work but missing data.
|
|
643
|
+
* Always null on a `runs` window, where there is no rollup in the path to be behind.
|
|
644
|
+
*
|
|
645
|
+
* It is the SWEEP's recorded coverage, not the newest rolled-up row, and DEPLOYMENT-wide
|
|
646
|
+
* rather than per account. Deriving it from the rows cannot support either reading above: an
|
|
647
|
+
* account idle for a fortnight and a wedged pass share a newest row, and an account created
|
|
648
|
+
* yesterday and a rollup that never ran share an absence. Both pairs call for opposite
|
|
649
|
+
* operator responses, so the number has to come from the thing being asked about.
|
|
650
|
+
*/
|
|
651
|
+
readonly rolledUpThrough: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
569
652
|
readonly trend: v.ObjectSchema<{
|
|
570
653
|
/** Width of each trend bucket (ms). */
|
|
571
654
|
readonly bucketMs: v.NumberSchema<undefined>;
|
|
@@ -584,6 +667,38 @@ export declare const platformObservabilitySchema: v.ObjectSchema<{
|
|
|
584
667
|
readonly kind: v.StringSchema<undefined>;
|
|
585
668
|
readonly count: v.NumberSchema<undefined>;
|
|
586
669
|
}, undefined>, undefined>;
|
|
670
|
+
/**
|
|
671
|
+
* Gate attempt statistics over the window, busiest gate first. Always a live read of the
|
|
672
|
+
* `gate_outcomes` projection (it is small and not rolled up), so it is present on every
|
|
673
|
+
* window; EMPTY means no gate settled in the window, which on a `daily-rollup` window may
|
|
674
|
+
* simply mean the gate projection does not reach that far back.
|
|
675
|
+
*/
|
|
676
|
+
readonly gates: v.ArraySchema<v.ObjectSchema<{
|
|
677
|
+
/** The gate step's agent kind (`ci` / `conflicts` / `post-release-health` / a custom one). */
|
|
678
|
+
readonly gateKind: v.StringSchema<undefined>;
|
|
679
|
+
/** The helper agent this gate escalates to (`ci-fixer` / …), or null when it has none. */
|
|
680
|
+
readonly helperKind: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
681
|
+
/** Gate steps that reached a terminal verdict in the window. */
|
|
682
|
+
readonly gates: v.NumberSchema<undefined>;
|
|
683
|
+
/** Of those, how many the precheck ultimately passed. */
|
|
684
|
+
readonly passed: v.NumberSchema<undefined>;
|
|
685
|
+
/** Of those, how many spent the attempt budget and handed off to a human. */
|
|
686
|
+
readonly exhausted: v.NumberSchema<undefined>;
|
|
687
|
+
/**
|
|
688
|
+
* Gates that passed WITHOUT dispatching a helper at all. Reported separately from
|
|
689
|
+
* {@link passed} because "the gate was green on the first look" and "the fixer got it green
|
|
690
|
+
* on the third try" are the same `passed` and completely different platform health.
|
|
691
|
+
*/
|
|
692
|
+
readonly cleanPasses: v.NumberSchema<undefined>;
|
|
693
|
+
/** Helper-agent dispatches across every gate of this kind (the CI-fixer attempt count). */
|
|
694
|
+
readonly attempts: v.NumberSchema<undefined>;
|
|
695
|
+
/**
|
|
696
|
+
* Helper dispatches whose own job FAILED (as opposed to finishing and leaving the precheck
|
|
697
|
+
* still red). Kept apart because a fixer that keeps crashing is a platform fault, while a
|
|
698
|
+
* fixer that runs clean and cannot fix the build is a product one.
|
|
699
|
+
*/
|
|
700
|
+
readonly helperFailures: v.NumberSchema<undefined>;
|
|
701
|
+
}, undefined>, undefined>;
|
|
587
702
|
/** Live/parked run depth right now (a snapshot, not windowed). */
|
|
588
703
|
readonly live: v.ObjectSchema<{
|
|
589
704
|
readonly running: v.NumberSchema<undefined>;
|
|
@@ -635,6 +750,98 @@ export type PlatformObservability = v.InferOutput<typeof platformObservabilitySc
|
|
|
635
750
|
*/
|
|
636
751
|
export declare const platformAlertReasonSchema: v.PicklistSchema<["failure_rate_high", "duration_p99_high", "backlog_high", "throughput_stalled", "failure_kind_dominant", "sweep_degraded"], undefined>;
|
|
637
752
|
export type PlatformAlertReason = v.InferOutput<typeof platformAlertReasonSchema>;
|
|
753
|
+
/**
|
|
754
|
+
* The windows the ALERT sweep may evaluate over: the live-scanned subset of
|
|
755
|
+
* {@link platformObservabilityWindowSchema}. The rollup-backed `30d`/`90d` windows are
|
|
756
|
+
* deliberately excluded: an alert is a statement about NOW, and a threshold averaged over a
|
|
757
|
+
* quarter answers a question nobody pages on, while riding a table that is materialised at
|
|
758
|
+
* best hourly.
|
|
759
|
+
*/
|
|
760
|
+
export declare const platformAlertWindowSchema: v.PicklistSchema<["1h", "24h", "7d"], undefined>;
|
|
761
|
+
export type PlatformAlertWindow = v.InferOutput<typeof platformAlertWindowSchema>;
|
|
762
|
+
/**
|
|
763
|
+
* Operator-tunable ceilings for the platform-health alert sweep. EVERY field is optional and
|
|
764
|
+
* an absent one INHERITS the deployment's env-derived default rather than meaning zero. The
|
|
765
|
+
* distinction matters here more than most places, because a zero is a live threshold in this
|
|
766
|
+
* vocabulary ("alert on silence even in an idle window") and would page instantly.
|
|
767
|
+
*
|
|
768
|
+
* The bounds mirror the env parser's clamps (`resolvePlatformAlertConfig`), so a threshold
|
|
769
|
+
* typed into the settings panel is refused at the write boundary for the same reasons an
|
|
770
|
+
* env value is corrected at boot: a `stalledBuckets` of 0 makes "the last zero buckets were
|
|
771
|
+
* empty" trivially true, and a `maxFailureKindShare` of 0 is satisfied by any distribution.
|
|
772
|
+
*/
|
|
773
|
+
export declare const platformAlertThresholdOverridesSchema: v.ObjectSchema<{
|
|
774
|
+
/** Minimum terminal runs before the failure-rate + dominant-kind alerts can fire. */
|
|
775
|
+
readonly minRuns: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 100000, undefined>]>, undefined>;
|
|
776
|
+
/** Run failure rate (0..1) at or above which `failure_rate_high` fires. */
|
|
777
|
+
readonly maxFailureRate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
778
|
+
/** p99 wall-clock run duration (ms) at or above which `duration_p99_high` fires. */
|
|
779
|
+
readonly maxP99DurationMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, number, undefined>]>, undefined>;
|
|
780
|
+
/** Live running/blocked/paused/pending depth at or above which `backlog_high` fires. */
|
|
781
|
+
readonly maxBacklog: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000000, undefined>]>, undefined>;
|
|
782
|
+
/** Trailing empty trend buckets before `throughput_stalled` can fire. */
|
|
783
|
+
readonly stalledBuckets: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>;
|
|
784
|
+
/**
|
|
785
|
+
* Runs the earlier part of the window must have carried before a stall counts. `0` is a
|
|
786
|
+
* meaningful setting ("this deployment should never be quiet"), which is why the floor here
|
|
787
|
+
* is 0 and not 1, unlike every other count in this object.
|
|
788
|
+
*/
|
|
789
|
+
readonly minStalledPriorRuns: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1000000, undefined>]>, undefined>;
|
|
790
|
+
/**
|
|
791
|
+
* Share (0..1] of the window's failures one kind must reach for `failure_kind_dominant`.
|
|
792
|
+
* The floor excludes 0 on its own (a share of 0 is satisfied by any distribution, so it would
|
|
793
|
+
* page constantly), which is why there is no separate `notValue(0)` beside it.
|
|
794
|
+
*/
|
|
795
|
+
readonly maxFailureKindShare: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, number, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
796
|
+
/** Consecutive failed passes of one sweeper before `sweep_degraded` fires. */
|
|
797
|
+
readonly maxSweepFailures: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 10000, undefined>]>, undefined>;
|
|
798
|
+
}, undefined>;
|
|
799
|
+
export type PlatformAlertThresholdOverrides = v.InferOutput<typeof platformAlertThresholdOverridesSchema>;
|
|
800
|
+
/**
|
|
801
|
+
* An account's stored platform-health alert settings: the settings-UI half of the alert
|
|
802
|
+
* config, layered over the deployment's env-derived defaults so an operator can retune a
|
|
803
|
+
* threshold without a redeploy.
|
|
804
|
+
*
|
|
805
|
+
* `enabled` can only turn the account's alerts OFF, never on: the env switch
|
|
806
|
+
* (`PLATFORM_ALERTS`) decides whether the SWEEP RUNS AT ALL on this deployment, and no stored
|
|
807
|
+
* row can start a timer that was never started. Saying so here rather than pretending the
|
|
808
|
+
* setting is symmetric is what keeps the panel from offering a toggle that silently does
|
|
809
|
+
* nothing on a deployment that never opted in.
|
|
810
|
+
*/
|
|
811
|
+
export declare const platformAlertSettingsSchema: v.ObjectSchema<{
|
|
812
|
+
/** `false` mutes this account's alerts. Absent ⇒ follow the deployment switch. */
|
|
813
|
+
readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
814
|
+
/** The window each condition is evaluated over. Absent ⇒ the deployment default. */
|
|
815
|
+
readonly window: v.OptionalSchema<v.PicklistSchema<["1h", "24h", "7d"], undefined>, undefined>;
|
|
816
|
+
/** Per-condition ceilings; each absent field inherits the deployment default. */
|
|
817
|
+
readonly thresholds: v.OptionalSchema<v.ObjectSchema<{
|
|
818
|
+
/** Minimum terminal runs before the failure-rate + dominant-kind alerts can fire. */
|
|
819
|
+
readonly minRuns: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 100000, undefined>]>, undefined>;
|
|
820
|
+
/** Run failure rate (0..1) at or above which `failure_rate_high` fires. */
|
|
821
|
+
readonly maxFailureRate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
822
|
+
/** p99 wall-clock run duration (ms) at or above which `duration_p99_high` fires. */
|
|
823
|
+
readonly maxP99DurationMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, number, undefined>]>, undefined>;
|
|
824
|
+
/** Live running/blocked/paused/pending depth at or above which `backlog_high` fires. */
|
|
825
|
+
readonly maxBacklog: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000000, undefined>]>, undefined>;
|
|
826
|
+
/** Trailing empty trend buckets before `throughput_stalled` can fire. */
|
|
827
|
+
readonly stalledBuckets: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>;
|
|
828
|
+
/**
|
|
829
|
+
* Runs the earlier part of the window must have carried before a stall counts. `0` is a
|
|
830
|
+
* meaningful setting ("this deployment should never be quiet"), which is why the floor here
|
|
831
|
+
* is 0 and not 1, unlike every other count in this object.
|
|
832
|
+
*/
|
|
833
|
+
readonly minStalledPriorRuns: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1000000, undefined>]>, undefined>;
|
|
834
|
+
/**
|
|
835
|
+
* Share (0..1] of the window's failures one kind must reach for `failure_kind_dominant`.
|
|
836
|
+
* The floor excludes 0 on its own (a share of 0 is satisfied by any distribution, so it would
|
|
837
|
+
* page constantly), which is why there is no separate `notValue(0)` beside it.
|
|
838
|
+
*/
|
|
839
|
+
readonly maxFailureKindShare: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, number, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
840
|
+
/** Consecutive failed passes of one sweeper before `sweep_degraded` fires. */
|
|
841
|
+
readonly maxSweepFailures: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 10000, undefined>]>, undefined>;
|
|
842
|
+
}, undefined>, undefined>;
|
|
843
|
+
}, undefined>;
|
|
844
|
+
export type PlatformAlertSettings = v.InferOutput<typeof platformAlertSettingsSchema>;
|
|
638
845
|
/** One fired platform-health alert: the tripped condition, its observed value + threshold. */
|
|
639
846
|
export declare const platformAlertSchema: v.ObjectSchema<{
|
|
640
847
|
readonly reason: v.PicklistSchema<["failure_rate_high", "duration_p99_high", "backlog_high", "throughput_stalled", "failure_kind_dominant", "sweep_degraded"], undefined>;
|
|
@@ -644,4 +851,24 @@ export declare const platformAlertSchema: v.ObjectSchema<{
|
|
|
644
851
|
readonly threshold: v.NumberSchema<undefined>;
|
|
645
852
|
}, undefined>;
|
|
646
853
|
export type PlatformAlert = v.InferOutput<typeof platformAlertSchema>;
|
|
854
|
+
/**
|
|
855
|
+
* One failed run behind a `platform_health` card, so the alert deep-links to the EVIDENCE
|
|
856
|
+
* rather than only to the dashboard. Carried on the notification payload, always scoped to
|
|
857
|
+
* the card's own workspace (a card in one workspace must never link into another's run).
|
|
858
|
+
*
|
|
859
|
+
* Captured at the moment the firing set CHANGES, not refreshed every sweep: the payload is
|
|
860
|
+
* the card's dedup identity, so a list that churned with each new failure would re-deliver
|
|
861
|
+
* the alert (and re-toast the inbox) for the entire length of an incident.
|
|
862
|
+
*/
|
|
863
|
+
export declare const platformFailingRunSchema: v.ObjectSchema<{
|
|
864
|
+
/** The run id, which is what the SPA opens. */
|
|
865
|
+
readonly executionId: v.StringSchema<undefined>;
|
|
866
|
+
/** The block the run belongs to, so the SPA can reveal it on the board. Null if unset. */
|
|
867
|
+
readonly blockId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
868
|
+
/** The run's `failure.kind` (or `unknown`): why this one is in the list. */
|
|
869
|
+
readonly failureKind: v.StringSchema<undefined>;
|
|
870
|
+
/** When the run was created (epoch ms). */
|
|
871
|
+
readonly createdAt: v.NumberSchema<undefined>;
|
|
872
|
+
}, undefined>;
|
|
873
|
+
export type PlatformFailingRun = v.InferOutput<typeof platformFailingRunSchema>;
|
|
647
874
|
//# sourceMappingURL=observability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"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"}
|