@cat-factory/contracts 0.220.0 → 0.221.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/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/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 +14 -0
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +7 -0
- package/dist/snapshot.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -95,6 +95,31 @@ export declare const accountSettingsConfigSchema: v.ObjectSchema<{
|
|
|
95
95
|
* `backend/docs/security-model.md`.
|
|
96
96
|
*/
|
|
97
97
|
readonly allowInitiatorPat: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
98
|
+
/**
|
|
99
|
+
* Per-account overrides for the platform-health alert sweep (see
|
|
100
|
+
* {@link platformAlertSettingsSchema}). Absent ⇒ the deployment's env-derived defaults,
|
|
101
|
+
* unchanged. This is the settings-UI half of the alerting slice: retuning a ceiling that
|
|
102
|
+
* pages too often, or muting one account, without a redeploy.
|
|
103
|
+
*
|
|
104
|
+
* It lives on the ACCOUNT rather than the workspace because that is the scope the sweep
|
|
105
|
+
* already evaluates: the run-health projection behind every condition is one account-scoped
|
|
106
|
+
* rollup, so a per-workspace threshold would be a setting with nothing of its own to
|
|
107
|
+
* measure.
|
|
108
|
+
*/
|
|
109
|
+
readonly platformAlerts: v.OptionalSchema<v.ObjectSchema<{
|
|
110
|
+
readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
111
|
+
readonly window: v.OptionalSchema<v.PicklistSchema<["1h", "24h", "7d"], undefined>, undefined>;
|
|
112
|
+
readonly thresholds: v.OptionalSchema<v.ObjectSchema<{
|
|
113
|
+
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>;
|
|
114
|
+
readonly maxFailureRate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
115
|
+
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>;
|
|
116
|
+
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>;
|
|
117
|
+
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>;
|
|
118
|
+
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>;
|
|
119
|
+
readonly maxFailureKindShare: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, number, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
120
|
+
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>;
|
|
121
|
+
}, undefined>, undefined>;
|
|
122
|
+
}, undefined>, undefined>;
|
|
98
123
|
}, undefined>;
|
|
99
124
|
export type AccountSettingsConfig = v.InferOutput<typeof accountSettingsConfigSchema>;
|
|
100
125
|
/** Built-in config used when an account has no row yet. */
|
|
@@ -219,6 +244,31 @@ export declare const updateAccountSettingsSchema: v.ObjectSchema<{
|
|
|
219
244
|
* `backend/docs/security-model.md`.
|
|
220
245
|
*/
|
|
221
246
|
readonly allowInitiatorPat: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
247
|
+
/**
|
|
248
|
+
* Per-account overrides for the platform-health alert sweep (see
|
|
249
|
+
* {@link platformAlertSettingsSchema}). Absent ⇒ the deployment's env-derived defaults,
|
|
250
|
+
* unchanged. This is the settings-UI half of the alerting slice: retuning a ceiling that
|
|
251
|
+
* pages too often, or muting one account, without a redeploy.
|
|
252
|
+
*
|
|
253
|
+
* It lives on the ACCOUNT rather than the workspace because that is the scope the sweep
|
|
254
|
+
* already evaluates: the run-health projection behind every condition is one account-scoped
|
|
255
|
+
* rollup, so a per-workspace threshold would be a setting with nothing of its own to
|
|
256
|
+
* measure.
|
|
257
|
+
*/
|
|
258
|
+
readonly platformAlerts: v.OptionalSchema<v.ObjectSchema<{
|
|
259
|
+
readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
260
|
+
readonly window: v.OptionalSchema<v.PicklistSchema<["1h", "24h", "7d"], undefined>, undefined>;
|
|
261
|
+
readonly thresholds: v.OptionalSchema<v.ObjectSchema<{
|
|
262
|
+
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>;
|
|
263
|
+
readonly maxFailureRate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
264
|
+
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>;
|
|
265
|
+
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>;
|
|
266
|
+
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>;
|
|
267
|
+
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>;
|
|
268
|
+
readonly maxFailureKindShare: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, number, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
269
|
+
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>;
|
|
270
|
+
}, undefined>, undefined>;
|
|
271
|
+
}, undefined>, undefined>;
|
|
222
272
|
}, undefined>, undefined>;
|
|
223
273
|
readonly secrets: v.OptionalSchema<v.ObjectSchema<{
|
|
224
274
|
readonly slackOAuth: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
@@ -331,6 +381,31 @@ export declare const accountSettingsViewSchema: v.ObjectSchema<{
|
|
|
331
381
|
* `backend/docs/security-model.md`.
|
|
332
382
|
*/
|
|
333
383
|
readonly allowInitiatorPat: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
384
|
+
/**
|
|
385
|
+
* Per-account overrides for the platform-health alert sweep (see
|
|
386
|
+
* {@link platformAlertSettingsSchema}). Absent ⇒ the deployment's env-derived defaults,
|
|
387
|
+
* unchanged. This is the settings-UI half of the alerting slice: retuning a ceiling that
|
|
388
|
+
* pages too often, or muting one account, without a redeploy.
|
|
389
|
+
*
|
|
390
|
+
* It lives on the ACCOUNT rather than the workspace because that is the scope the sweep
|
|
391
|
+
* already evaluates: the run-health projection behind every condition is one account-scoped
|
|
392
|
+
* rollup, so a per-workspace threshold would be a setting with nothing of its own to
|
|
393
|
+
* measure.
|
|
394
|
+
*/
|
|
395
|
+
readonly platformAlerts: v.OptionalSchema<v.ObjectSchema<{
|
|
396
|
+
readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
397
|
+
readonly window: v.OptionalSchema<v.PicklistSchema<["1h", "24h", "7d"], undefined>, undefined>;
|
|
398
|
+
readonly thresholds: v.OptionalSchema<v.ObjectSchema<{
|
|
399
|
+
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>;
|
|
400
|
+
readonly maxFailureRate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
401
|
+
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>;
|
|
402
|
+
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>;
|
|
403
|
+
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>;
|
|
404
|
+
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>;
|
|
405
|
+
readonly maxFailureKindShare: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, number, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
406
|
+
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>;
|
|
407
|
+
}, undefined>, undefined>;
|
|
408
|
+
}, undefined>, undefined>;
|
|
334
409
|
}, undefined>;
|
|
335
410
|
readonly summary: v.ObjectSchema<{
|
|
336
411
|
readonly slackOAuthConfigured: v.BooleanSchema<undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSettings.d.ts","sourceRoot":"","sources":["../src/accountSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"accountSettings.d.ts","sourceRoot":"","sources":["../src/accountSettings.ts"],"names":[],"mappings":"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"}
|
package/dist/accountSettings.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { modelFamilyPolicySchema } from './modelPolicy.js';
|
|
3
|
+
import { platformAlertSettingsSchema } from './observability.js';
|
|
3
4
|
// ---------------------------------------------------------------------------
|
|
4
5
|
// Per-account (deployment-wide) integration settings, moved out of env vars into a
|
|
5
6
|
// single DB row per account, gated behind account-admin. ONE sealed secrets blob groups
|
|
@@ -70,6 +71,18 @@ export const accountSettingsConfigSchema = v.object({
|
|
|
70
71
|
* `backend/docs/security-model.md`.
|
|
71
72
|
*/
|
|
72
73
|
allowInitiatorPat: v.optional(v.boolean()),
|
|
74
|
+
/**
|
|
75
|
+
* Per-account overrides for the platform-health alert sweep (see
|
|
76
|
+
* {@link platformAlertSettingsSchema}). Absent ⇒ the deployment's env-derived defaults,
|
|
77
|
+
* unchanged. This is the settings-UI half of the alerting slice: retuning a ceiling that
|
|
78
|
+
* pages too often, or muting one account, without a redeploy.
|
|
79
|
+
*
|
|
80
|
+
* It lives on the ACCOUNT rather than the workspace because that is the scope the sweep
|
|
81
|
+
* already evaluates: the run-health projection behind every condition is one account-scoped
|
|
82
|
+
* rollup, so a per-workspace threshold would be a setting with nothing of its own to
|
|
83
|
+
* measure.
|
|
84
|
+
*/
|
|
85
|
+
platformAlerts: v.optional(platformAlertSettingsSchema),
|
|
73
86
|
});
|
|
74
87
|
/** Built-in config used when an account has no row yet. */
|
|
75
88
|
export const DEFAULT_ACCOUNT_SETTINGS_CONFIG = v.parse(accountSettingsConfigSchema, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSettings.js","sourceRoot":"","sources":["../src/accountSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"accountSettings.js","sourceRoot":"","sources":["../src/accountSettings.ts"],"names":[],"mappings":"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"}
|
|
@@ -110,6 +110,13 @@ export declare const notificationWebhookDeliverySchema: v.ObjectSchema<{
|
|
|
110
110
|
readonly unmergedRepos: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
111
111
|
readonly platformWindow: v.OptionalSchema<v.PicklistSchema<["1h", "24h", "7d"], undefined>, undefined>;
|
|
112
112
|
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>;
|
|
113
|
+
readonly platformFailingRuns: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
114
|
+
readonly executionId: v.StringSchema<undefined>;
|
|
115
|
+
readonly blockId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
116
|
+
readonly failureKind: v.StringSchema<undefined>;
|
|
117
|
+
readonly createdAt: v.NumberSchema<undefined>;
|
|
118
|
+
}, undefined>, undefined>, undefined>;
|
|
119
|
+
readonly platformFailedTotal: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
113
120
|
readonly unreachableAreas: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["ephemeralEnvironments", "agentExecutor", "binaryStorage"], undefined>, undefined>, undefined>;
|
|
114
121
|
readonly driftAffected: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
115
122
|
readonly source: v.StringSchema<undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-webhooks.d.ts","sourceRoot":"","sources":["../src/notification-webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmB5B;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,6EAA6D,CAAA;AACjG,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEjF,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB;IACpC,mDAAmD;;IAEnD;;;;OAIG;;IAEH;;;;OAIG;;IAEH,sFAAsF;;IAEtF,6EAA6E;;;aAG7E,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;;IAQvC,gDAAgD;;IAEhD,iGAAiG;;;IAGjG,wDAAwD;;aAExD,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAE5F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iCAAiC;;IAE5C,kGAAkG;;;IAGlG,4DAA4D;;IAE5D,mEAAmE
|
|
1
|
+
{"version":3,"file":"notification-webhooks.d.ts","sourceRoot":"","sources":["../src/notification-webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmB5B;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,6EAA6D,CAAA;AACjG,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEjF,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB;IACpC,mDAAmD;;IAEnD;;;;OAIG;;IAEH;;;;OAIG;;IAEH,sFAAsF;;IAEtF,6EAA6E;;;aAG7E,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;;IAQvC,gDAAgD;;IAEhD,iGAAiG;;;IAGjG,wDAAwD;;aAExD,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAE5F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iCAAiC;;IAE5C,kGAAkG;;;IAGlG,4DAA4D;;IAE5D,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAGnE,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAEjG;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,wBAAwB;;IAEnC,kGAAkG;;;;;;QAMhG,8FAA8F;;;;;QAK9F,sFAAsF;;;QAGtF;;;WAGG;;QAEH,oCAAoC;;;;;;;aAStC,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;;;GAQG;AACH,eAAO,MAAM,kCAAkC,kKAS6B,CAAA"}
|
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":"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,EACL,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAE1E,8EAA8E;AAC9E,iFAAiF;AACjF,wEAAwE;AACxE,8EAA8E;AAC9E,iEAAiE;AACjE,2EAA2E;AAC3E,oFAAoF;AACpF,8EAA8E;AAC9E,8EAA8E;AAC9E,iFAAiF;AACjF,gEAAgE;AAChE,oFAAoF;AACpF,qFAAqF;AACrF,+DAA+D;AAC/D,kFAAkF;AAClF,iFAAiF;AACjF,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,uFAAuF;AACvF,4FAA4F;AAC5F,wFAAwF;AACxF,yFAAyF;AACzF,4FAA4F;AAC5F,0FAA0F;AAC1F,0FAA0F;AAC1F,4FAA4F;AAC5F,2FAA2F;AAC3F,6FAA6F;AAC7F,sFAAsF;AACtF,sFAAsF;AACtF,4FAA4F;AAC5F,gGAAgG;AAChG,6FAA6F;AAC7F,qFAAqF;AACrF,+FAA+F;AAC/F,gGAAgG;AAChG,+FAA+F;AAC/F,kGAAkG;AAClG,2FAA2F;AAC3F,6FAA6F;AAC7F,8FAA8F;AAC9F,0FAA0F;AAC1F,uFAAuF;AACvF,wFAAwF;AACxF,uFAAuF;AACvF,wFAAwF;AACxF,yFAAyF;AACzF,qEAAqE;AACrE,0FAA0F;AAC1F,4FAA4F;AAC5F,6FAA6F;AAC7F,gGAAgG;AAChG,+FAA+F;AAC/F,+FAA+F;AAC/F,mFAAmF;AACnF,4FAA4F;AAC5F,8FAA8F;AAC9F,+FAA+F;AAC/F,0FAA0F;AAC1F,gGAAgG;AAChG,gGAAgG;AAChG,iGAAiG;AACjG,kGAAkG;AAClG,0FAA0F;AAC1F,gGAAgG;AAChG,mGAAmG;AACnG,oGAAoG;AACpG,+FAA+F;AAC/F,8FAA8F;AAC9F,kGAAkG;AAClG,8FAA8F;AAC9F,kGAAkG;AAClG,qDAAqD;AACrD,EAAE;AACF,iFAAiF;AACjF,4EAA4E;AAC5E,4DAA4D;AAC5D,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/C,cAAc;IACd,mBAAmB;IACnB,WAAW;IACX,aAAa;IACb,oBAAoB;IACpB,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;IACnB,kBAAkB;IAClB,2BAA2B;IAC3B,cAAc;IACd,kBAAkB;IAClB,uBAAuB;IACvB,cAAc;IACd,iBAAiB;IACjB,YAAY;IACZ,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,WAAW;IACX,mBAAmB;CACpB,CAAC,CAAA;AAGF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,cAAc;IACd,mBAAmB;IACnB,oBAAoB;IACpB,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,2BAA2B;IAC3B,cAAc;IACd,kBAAkB;IAClB,uBAAuB;IACvB,cAAc;IACd,iBAAiB;CAC6B,CAAA;AAIhD,MAAM,iCAAiC,GAAkC,IAAI,GAAG,CAC9E,8BAA8B,CAC/B,CAAA;AAED,wFAAwF;AACxF,MAAM,UAAU,4BAA4B,CAAC,IAAsB;IACjE,OAAO,iCAAiC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,qGAAqG;IACrG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,2DAA2D;IAC3D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,+DAA+D;IAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC/C,6FAA6F;IAC7F,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACjC,CAAC,CAAA;AAGF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;AAGlF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;AAG1E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,4DAA4D;IAC5D,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC7C,sEAAsE;IACtE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,gFAAgF;IAChF,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,0DAA0D;IAC1D,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,kGAAkG;IAClG,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,iFAAiF;IACjF,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,mEAAmE;IACnE,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACpD,mEAAmE;IACnE,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACxD,4EAA4E;IAC5E,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,gFAAgF;IAChF,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IACpF;;;;OAIG;IACH,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,yGAAyG;IACzG,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,uFAAuF;IACvF,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACrD;;;;;;OAMG;IACH,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC9D;;;;;;;;;;OAUG;IACH,mBAAmB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClE;;;;OAIG;IACH,mBAAmB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3C;;;;;;;;;;OAUG;IACH,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC3D;;;;;OAKG;IACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1D;;;;OAIG;IACH,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC1C;;;;OAIG;IACH,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC3C,CAAC,CAAA;AAGF,qDAAqD;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,wBAAwB;IAChC;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAChD,iFAAiF;IACjF,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,yDAAyD;IACzD,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,wCAAwC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,mCAAmC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,wFAAwF;IACxF,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,8DAA8D;IAC9D,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACnC,CAAC,CAAA;AAGF,8EAA8E;AAE9E,yDAAyD;AACzD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;AAG7E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;CACzD,CAAC,CAAA;AAGF,iGAAiG;AACjG,iGAAiG;AACjG,iGAAiG;AACjG,iGAAiG;AACjG,+BAA+B"}
|