@cat-factory/contracts 0.197.0 → 0.199.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/events.d.ts +28 -0
  2. package/dist/events.d.ts.map +1 -1
  3. package/dist/execution.d.ts +14 -0
  4. package/dist/execution.d.ts.map +1 -1
  5. package/dist/infra-setup.d.ts +65 -4
  6. package/dist/infra-setup.d.ts.map +1 -1
  7. package/dist/infra-setup.js +80 -1
  8. package/dist/infra-setup.js.map +1 -1
  9. package/dist/notification-webhooks.d.ts +8 -5
  10. package/dist/notification-webhooks.d.ts.map +1 -1
  11. package/dist/notification-webhooks.js +4 -2
  12. package/dist/notification-webhooks.js.map +1 -1
  13. package/dist/notifications.d.ts +30 -6
  14. package/dist/notifications.d.ts.map +1 -1
  15. package/dist/notifications.js +26 -4
  16. package/dist/notifications.js.map +1 -1
  17. package/dist/prReview.d.ts +103 -0
  18. package/dist/prReview.d.ts.map +1 -1
  19. package/dist/prReview.js +91 -0
  20. package/dist/prReview.js.map +1 -1
  21. package/dist/public-api.d.ts +2 -1
  22. package/dist/public-api.d.ts.map +1 -1
  23. package/dist/routes/agent-runs.d.ts +14 -0
  24. package/dist/routes/agent-runs.d.ts.map +1 -1
  25. package/dist/routes/bug-hunt.d.ts +14 -0
  26. package/dist/routes/bug-hunt.d.ts.map +1 -1
  27. package/dist/routes/execution.d.ts +56 -0
  28. package/dist/routes/execution.d.ts.map +1 -1
  29. package/dist/routes/human-review.d.ts +7 -0
  30. package/dist/routes/human-review.d.ts.map +1 -1
  31. package/dist/routes/human-test.d.ts +35 -0
  32. package/dist/routes/human-test.d.ts.map +1 -1
  33. package/dist/routes/notification-webhooks.d.ts +3 -3
  34. package/dist/routes/notifications.d.ts +6 -3
  35. package/dist/routes/notifications.d.ts.map +1 -1
  36. package/dist/routes/prReview.d.ts +122 -0
  37. package/dist/routes/prReview.d.ts.map +1 -1
  38. package/dist/routes/prReview.js +14 -1
  39. package/dist/routes/prReview.js.map +1 -1
  40. package/dist/routes/public-api.d.ts +6 -3
  41. package/dist/routes/public-api.d.ts.map +1 -1
  42. package/dist/routes/runners.d.ts +10 -0
  43. package/dist/routes/runners.d.ts.map +1 -1
  44. package/dist/routes/slack.d.ts +3 -3
  45. package/dist/routes/visual-confirm.d.ts +21 -0
  46. package/dist/routes/visual-confirm.d.ts.map +1 -1
  47. package/dist/routes/workspaces.d.ts +24 -8
  48. package/dist/routes/workspaces.d.ts.map +1 -1
  49. package/dist/runners.d.ts +120 -0
  50. package/dist/runners.d.ts.map +1 -1
  51. package/dist/runners.js +12 -0
  52. package/dist/runners.js.map +1 -1
  53. package/dist/slack.d.ts +2 -2
  54. package/dist/snapshot.d.ts +12 -4
  55. package/dist/snapshot.d.ts.map +1 -1
  56. package/package.json +1 -1
package/dist/events.d.ts CHANGED
@@ -3,6 +3,7 @@ import type { ExecutionInstance } from './execution.js';
3
3
  import type { BootstrapJob } from './bootstrap.js';
4
4
  import type { EnvConfigRepairJob } from './env-config-repair.js';
5
5
  import type { EnvironmentTestRun } from './environment-test.js';
6
+ import type { InfraSetupArea, InfraSetupStatus } from './infra-setup.js';
6
7
  import type { Notification } from './notifications.js';
7
8
  import type { LlmCallActivity } from './observability.js';
8
9
  import type { RequirementReview } from './requirements.js';
@@ -68,6 +69,33 @@ export type WorkspaceEvent =
68
69
  run: EnvironmentTestRun;
69
70
  at: number;
70
71
  }
72
+ /**
73
+ * One infrastructure area's reachability changed, so the client patches its `infraSetup`
74
+ * projection in place and the setup banner appears or clears IMMEDIATELY.
75
+ *
76
+ * Without this the projection is only recomputed when a workspace snapshot (re)loads, which is
77
+ * fine for the operator-decision states — nobody un-configures a runner pool behind your back —
78
+ * but useless for `unreachable`: a cluster that dies mid-session would stay invisible until
79
+ * somebody happened to reload the app, which in practice means the next day. A dead environment
80
+ * provider silently fails every testing agent in the meantime, so it has to push.
81
+ *
82
+ * Published on TRANSITION only, never per probe: the watcher polls on a sweep cadence, so
83
+ * re-announcing an ongoing outage every pass would turn this into a standing event storm on the
84
+ * workspace bus.
85
+ *
86
+ * `detail` is the probe's own operator-facing reason (a refused connection reads very
87
+ * differently from a rejected token) and is deliberately NOT persisted on the notification the
88
+ * watcher raises: it varies between passes, and the card re-delivers whenever its content
89
+ * changes, so carrying it there would re-toast the inbox for the whole outage. It therefore
90
+ * rides the live transition only — which is exactly when someone is looking.
91
+ */
92
+ | {
93
+ type: 'infraSetup';
94
+ area: InfraSetupArea;
95
+ status: InfraSetupStatus;
96
+ detail?: string;
97
+ at: number;
98
+ }
71
99
  /**
72
100
  * A human-actionable notification was raised or resolved (a PR needs review, a
73
101
  * pipeline finished and wants confirmation, CI fixing gave up). The client
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -1516,6 +1516,13 @@ export declare const pipelineStepSchema: v.ObjectSchema<{
1516
1516
  readonly rationale: v.StringSchema<undefined>;
1517
1517
  readonly paths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
1518
1518
  }, undefined>, undefined>, readonly []>;
1519
+ readonly sliceReviews: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1520
+ readonly label: v.StringSchema<undefined>;
1521
+ readonly status: v.PicklistSchema<["in_progress", "completed"], undefined>;
1522
+ readonly report: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1523
+ }, undefined>, undefined>, readonly []>;
1524
+ readonly resumeAttempts: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
1525
+ readonly resumePendingSlices: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
1519
1526
  readonly findings: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1520
1527
  readonly id: v.StringSchema<undefined>;
1521
1528
  readonly sliceId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
@@ -3027,6 +3034,13 @@ export declare const executionInstanceSchema: v.ObjectSchema<{
3027
3034
  readonly rationale: v.StringSchema<undefined>;
3028
3035
  readonly paths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
3029
3036
  }, undefined>, undefined>, readonly []>;
3037
+ readonly sliceReviews: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
3038
+ readonly label: v.StringSchema<undefined>;
3039
+ readonly status: v.PicklistSchema<["in_progress", "completed"], undefined>;
3040
+ readonly report: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
3041
+ }, undefined>, undefined>, readonly []>;
3042
+ readonly resumeAttempts: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
3043
+ readonly resumePendingSlices: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
3030
3044
  readonly findings: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
3031
3045
  readonly id: v.StringSchema<undefined>;
3032
3046
  readonly sliceId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"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"}
@@ -6,22 +6,44 @@ import * as v from 'valibot';
6
6
  * - `configured` — a connection / backend is defined.
7
7
  * - `not_applicable` — this runtime doesn't need it (the integration isn't wired),
8
8
  * so there is nothing to nag about.
9
+ * - `unreachable` — it IS configured, but a live probe could not reach it.
10
+ *
11
+ * `unreachable` is deliberately carried by this SETUP projection even though it reports runtime
12
+ * health, because the consequence is identical to `not_defined` — a whole class of agents cannot
13
+ * run — and the operator surface that fixes it is the same one. Sharing the projection means
14
+ * sharing the banner, its deep-link and its i18n instead of growing a second "your infra is
15
+ * broken" surface.
16
+ *
17
+ * It is NOT interchangeable with the other three in one respect, and consumers MUST honour the
18
+ * difference: those are stable operator decisions, so the banner offers a PERMANENT per-user
19
+ * "don't notify me again" dismissal. Applying that to `unreachable` would let one click
20
+ * permanently silence every future outage, so a health state is dismissible for the SESSION
21
+ * only and must re-nag when it recurs. See {@link isInfraSetupHealthStatus} and
22
+ * `InfraSetupBanner.vue`.
9
23
  */
10
- export declare const infraSetupStatusSchema: v.PicklistSchema<["not_defined", "configured", "not_applicable"], undefined>;
24
+ export declare const infraSetupStatusSchema: v.PicklistSchema<["not_defined", "configured", "not_applicable", "unreachable"], undefined>;
11
25
  export type InfraSetupStatus = v.InferOutput<typeof infraSetupStatusSchema>;
26
+ /**
27
+ * The {@link InfraSetupStatus} values describing a live-HEALTH problem rather than an operator
28
+ * decision. Exported so the SPA's dismissal fork keys off ONE definition instead of re-listing
29
+ * the literal at each site.
30
+ */
31
+ export declare const INFRA_SETUP_HEALTH_STATUSES: readonly ['unreachable'];
32
+ /** Whether a status is a transient health failure (session-only dismissal, re-nag on recurrence). */
33
+ export declare function isInfraSetupHealthStatus(status: InfraSetupStatus): boolean;
12
34
  /** The per-area infrastructure-setup status projection carried on the snapshot. */
13
35
  export declare const infraSetupSchema: v.ObjectSchema<{
14
36
  /** Ephemeral test environments (deployer / provisioning). Relevant on every runtime. */
15
- readonly ephemeralEnvironments: v.PicklistSchema<["not_defined", "configured", "not_applicable"], undefined>;
37
+ readonly ephemeralEnvironments: v.PicklistSchema<["not_defined", "configured", "not_applicable", "unreachable"], undefined>;
16
38
  /** The container agent executor (self-hosted runner pool). Relevant only on remote Node. */
17
- readonly agentExecutor: v.PicklistSchema<["not_defined", "configured", "not_applicable"], undefined>;
39
+ readonly agentExecutor: v.PicklistSchema<["not_defined", "configured", "not_applicable", "unreachable"], undefined>;
18
40
  /**
19
41
  * Binary/object storage for UI screenshots + reference images. Every facade wires an
20
42
  * artifact-store resolver, so this is `configured`/`not_defined` on every runtime — not just
21
43
  * remote Node: a Cloudflare deployment WITHOUT an `ARTIFACT_BUCKET` binding (or any account
22
44
  * that selected no backend) reads `not_defined` too.
23
45
  */
24
- readonly binaryStorage: v.PicklistSchema<["not_defined", "configured", "not_applicable"], undefined>;
46
+ readonly binaryStorage: v.PicklistSchema<["not_defined", "configured", "not_applicable", "unreachable"], undefined>;
25
47
  }, undefined>;
26
48
  export type InfraSetup = v.InferOutput<typeof infraSetupSchema>;
27
49
  /** The infrastructure areas the setup banner surfaces (leaf names mirror {@link infraSetupSchema}). */
@@ -29,6 +51,45 @@ export declare const infraSetupAreaSchema: v.PicklistSchema<["ephemeralEnvironme
29
51
  export type InfraSetupArea = v.InferOutput<typeof infraSetupAreaSchema>;
30
52
  /** Every infra-setup area, as a plain readonly tuple (the source of truth for iteration). */
31
53
  export declare const INFRA_SETUP_AREAS: ["ephemeralEnvironments", "agentExecutor", "binaryStorage"];
54
+ /**
55
+ * The areas the reachability watcher can report `unreachable` for — those backed by a connection
56
+ * whose provider exposes a live connection probe. `binaryStorage` is deliberately ABSENT: it
57
+ * resolves an artifact store from account settings and has no cheap reachability probe, so it
58
+ * stays a pure operator-decision area and a dead bucket surfaces where it always did (on the
59
+ * write that needs it). Shared so the watcher, the projection fold and the tests agree on ONE
60
+ * list rather than each re-deriving "which areas can be unreachable".
61
+ */
62
+ export declare const INFRA_SETUP_PROBED_AREAS: readonly ["ephemeralEnvironments", "agentExecutor"];
63
+ /** An area the reachability watcher can report on (a member of {@link INFRA_SETUP_PROBED_AREAS}). */
64
+ export type InfraSetupProbedArea = (typeof INFRA_SETUP_PROBED_AREAS)[number];
65
+ /**
66
+ * Whether an area is one the watcher probes — a TYPE GUARD, so a consumer keyed on the probed
67
+ * subset (the outage copy has a per-area title; `binaryStorage` has none because it can never be
68
+ * unreachable) narrows instead of carrying a dead entry for an area that cannot reach it.
69
+ */
70
+ export declare function isInfraSetupProbedArea(area: InfraSetupArea): area is InfraSetupProbedArea;
71
+ /**
72
+ * Apply ONE observed reachability status to an area of a setup projection.
73
+ *
74
+ * This is the single definition of which prior state a probe verdict may overwrite, and BOTH
75
+ * delivery paths fold through it: the backend's snapshot projection (kernel's
76
+ * `applyInfraReachability`, folding the areas recorded on the open card) and the SPA store's
77
+ * live `infraSetup` event patch. They diverged once — the snapshot guarded the write and the live
78
+ * patch assigned unconditionally — so a pushed `unreachable` rendered a red "check that the
79
+ * service is running" banner for an area the projection called `not_applicable`, which then
80
+ * vanished on the next reload. Live and reloaded state must agree, so the rule lives here.
81
+ *
82
+ * Only a `configured` area may become `unreachable`: the other states OUT-RANK a probe verdict.
83
+ * `not_defined` means the connection is gone (the actionable nag is "set it up", and a lingering
84
+ * outage would report on something that no longer exists) and `not_applicable` means this
85
+ * deployment does not use the area at all. Symmetrically, a recovery only clears an area this
86
+ * projection currently calls `unreachable`, so a stale in-flight push cannot overwrite a
87
+ * freshly-read `not_defined` with `configured`.
88
+ *
89
+ * Returns the projection UNCHANGED (by identity) when the status may not be applied, so a caller
90
+ * can cheaply tell "nothing moved" from a real transition.
91
+ */
92
+ export declare function applyInfraSetupTransition(projection: InfraSetup, area: InfraSetupArea, status: InfraSetupStatus): InfraSetup;
32
93
  /**
33
94
  * The `localStorage` key under which the SPA's `InfraSetupBanner` persists its PERMANENT,
34
95
  * per-user "don't notify me again" dismissals ({@link InfraSetupArea}[] keyed by user id).
@@ -1 +1 @@
1
- {"version":3,"file":"infra-setup.d.ts","sourceRoot":"","sources":["../src/infra-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA4B5B;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,8EAA8D,CAAA;AACjG,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,mFAAmF;AACnF,eAAO,MAAM,gBAAgB;IAC3B,wFAAwF;;IAExF,4FAA4F;;IAE5F;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,uGAAuG;AACvG,eAAO,MAAM,oBAAoB,0FAI/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,6DAA+B,CAAA;AAE7D;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,sCAAsC,CAAA"}
1
+ {"version":3,"file":"infra-setup.d.ts","sourceRoot":"","sources":["../src/infra-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA4B5B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,sBAAsB,6FAKjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,YAAI,aAAa,CAAU,CAAA;AAEnE,qGAAqG;AACrG,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAE1E;AAED,mFAAmF;AACnF,eAAO,MAAM,gBAAgB;IAC3B,wFAAwF;;IAExF,4FAA4F;;IAE5F;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,uGAAuG;AACvG,eAAO,MAAM,oBAAoB,0FAI/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,6DAA+B,CAAA;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,qDAGS,CAAA;AAE9C,qGAAqG;AACrG,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE5E;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,IAAI,oBAAoB,CAEzF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,gBAAgB,GACvB,UAAU,CAOZ;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,sCAAsC,CAAA"}
@@ -31,8 +31,37 @@ import * as v from 'valibot';
31
31
  * - `configured` — a connection / backend is defined.
32
32
  * - `not_applicable` — this runtime doesn't need it (the integration isn't wired),
33
33
  * so there is nothing to nag about.
34
+ * - `unreachable` — it IS configured, but a live probe could not reach it.
35
+ *
36
+ * `unreachable` is deliberately carried by this SETUP projection even though it reports runtime
37
+ * health, because the consequence is identical to `not_defined` — a whole class of agents cannot
38
+ * run — and the operator surface that fixes it is the same one. Sharing the projection means
39
+ * sharing the banner, its deep-link and its i18n instead of growing a second "your infra is
40
+ * broken" surface.
41
+ *
42
+ * It is NOT interchangeable with the other three in one respect, and consumers MUST honour the
43
+ * difference: those are stable operator decisions, so the banner offers a PERMANENT per-user
44
+ * "don't notify me again" dismissal. Applying that to `unreachable` would let one click
45
+ * permanently silence every future outage, so a health state is dismissible for the SESSION
46
+ * only and must re-nag when it recurs. See {@link isInfraSetupHealthStatus} and
47
+ * `InfraSetupBanner.vue`.
34
48
  */
35
- export const infraSetupStatusSchema = v.picklist(['not_defined', 'configured', 'not_applicable']);
49
+ export const infraSetupStatusSchema = v.picklist([
50
+ 'not_defined',
51
+ 'configured',
52
+ 'not_applicable',
53
+ 'unreachable',
54
+ ]);
55
+ /**
56
+ * The {@link InfraSetupStatus} values describing a live-HEALTH problem rather than an operator
57
+ * decision. Exported so the SPA's dismissal fork keys off ONE definition instead of re-listing
58
+ * the literal at each site.
59
+ */
60
+ export const INFRA_SETUP_HEALTH_STATUSES = ['unreachable'];
61
+ /** Whether a status is a transient health failure (session-only dismissal, re-nag on recurrence). */
62
+ export function isInfraSetupHealthStatus(status) {
63
+ return INFRA_SETUP_HEALTH_STATUSES.includes(status);
64
+ }
36
65
  /** The per-area infrastructure-setup status projection carried on the snapshot. */
37
66
  export const infraSetupSchema = v.object({
38
67
  /** Ephemeral test environments (deployer / provisioning). Relevant on every runtime. */
@@ -55,6 +84,56 @@ export const infraSetupAreaSchema = v.picklist([
55
84
  ]);
56
85
  /** Every infra-setup area, as a plain readonly tuple (the source of truth for iteration). */
57
86
  export const INFRA_SETUP_AREAS = infraSetupAreaSchema.options;
87
+ /**
88
+ * The areas the reachability watcher can report `unreachable` for — those backed by a connection
89
+ * whose provider exposes a live connection probe. `binaryStorage` is deliberately ABSENT: it
90
+ * resolves an artifact store from account settings and has no cheap reachability probe, so it
91
+ * stays a pure operator-decision area and a dead bucket surfaces where it always did (on the
92
+ * write that needs it). Shared so the watcher, the projection fold and the tests agree on ONE
93
+ * list rather than each re-deriving "which areas can be unreachable".
94
+ */
95
+ export const INFRA_SETUP_PROBED_AREAS = [
96
+ 'ephemeralEnvironments',
97
+ 'agentExecutor',
98
+ ];
99
+ /**
100
+ * Whether an area is one the watcher probes — a TYPE GUARD, so a consumer keyed on the probed
101
+ * subset (the outage copy has a per-area title; `binaryStorage` has none because it can never be
102
+ * unreachable) narrows instead of carrying a dead entry for an area that cannot reach it.
103
+ */
104
+ export function isInfraSetupProbedArea(area) {
105
+ return INFRA_SETUP_PROBED_AREAS.includes(area);
106
+ }
107
+ /**
108
+ * Apply ONE observed reachability status to an area of a setup projection.
109
+ *
110
+ * This is the single definition of which prior state a probe verdict may overwrite, and BOTH
111
+ * delivery paths fold through it: the backend's snapshot projection (kernel's
112
+ * `applyInfraReachability`, folding the areas recorded on the open card) and the SPA store's
113
+ * live `infraSetup` event patch. They diverged once — the snapshot guarded the write and the live
114
+ * patch assigned unconditionally — so a pushed `unreachable` rendered a red "check that the
115
+ * service is running" banner for an area the projection called `not_applicable`, which then
116
+ * vanished on the next reload. Live and reloaded state must agree, so the rule lives here.
117
+ *
118
+ * Only a `configured` area may become `unreachable`: the other states OUT-RANK a probe verdict.
119
+ * `not_defined` means the connection is gone (the actionable nag is "set it up", and a lingering
120
+ * outage would report on something that no longer exists) and `not_applicable` means this
121
+ * deployment does not use the area at all. Symmetrically, a recovery only clears an area this
122
+ * projection currently calls `unreachable`, so a stale in-flight push cannot overwrite a
123
+ * freshly-read `not_defined` with `configured`.
124
+ *
125
+ * Returns the projection UNCHANGED (by identity) when the status may not be applied, so a caller
126
+ * can cheaply tell "nothing moved" from a real transition.
127
+ */
128
+ export function applyInfraSetupTransition(projection, area, status) {
129
+ const current = projection[area];
130
+ const allowed = isInfraSetupHealthStatus(status)
131
+ ? current === 'configured'
132
+ : current === 'unreachable';
133
+ if (!allowed || current === status)
134
+ return projection;
135
+ return { ...projection, [area]: status };
136
+ }
58
137
  /**
59
138
  * The `localStorage` key under which the SPA's `InfraSetupBanner` persists its PERMANENT,
60
139
  * per-user "don't notify me again" dismissals ({@link InfraSetupArea}[] keyed by user id).
@@ -1 +1 @@
1
- {"version":3,"file":"infra-setup.js","sourceRoot":"","sources":["../src/infra-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,+EAA+E;AAC/E,kFAAkF;AAClF,2DAA2D;AAC3D,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,gFAAgF;AAChF,oFAAoF;AACpF,oFAAoF;AACpF,sFAAsF;AACtF,sFAAsF;AACtF,oFAAoF;AACpF,qFAAqF;AACrF,qFAAqF;AACrF,oFAAoF;AACpF,iEAAiE;AACjE,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAA;AAGjG,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,wFAAwF;IACxF,qBAAqB,EAAE,sBAAsB;IAC7C,4FAA4F;IAC5F,aAAa,EAAE,sBAAsB;IACrC;;;;;OAKG;IACH,aAAa,EAAE,sBAAsB;CACtC,CAAC,CAAA;AAGF,uGAAuG;AACvG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC7C,uBAAuB;IACvB,eAAe;IACf,eAAe;CAChB,CAAC,CAAA;AAGF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAA;AAE7D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAA"}
1
+ {"version":3,"file":"infra-setup.js","sourceRoot":"","sources":["../src/infra-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,+EAA+E;AAC/E,kFAAkF;AAClF,2DAA2D;AAC3D,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,gFAAgF;AAChF,oFAAoF;AACpF,oFAAoF;AACpF,sFAAsF;AACtF,sFAAsF;AACtF,oFAAoF;AACpF,qFAAqF;AACrF,qFAAqF;AACrF,oFAAoF;AACpF,iEAAiE;AACjE,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/C,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,aAAa;CACd,CAAC,CAAA;AAGF;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,aAAa,CAAU,CAAA;AAEnE,qGAAqG;AACrG,MAAM,UAAU,wBAAwB,CAAC,MAAwB;IAC/D,OAAQ,2BAAiD,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC5E,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,wFAAwF;IACxF,qBAAqB,EAAE,sBAAsB;IAC7C,4FAA4F;IAC5F,aAAa,EAAE,sBAAsB;IACrC;;;;;OAKG;IACH,aAAa,EAAE,sBAAsB;CACtC,CAAC,CAAA;AAGF,uGAAuG;AACvG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC7C,uBAAuB;IACvB,eAAe;IACf,eAAe;CAChB,CAAC,CAAA;AAGF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAA;AAE7D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,uBAAuB;IACvB,eAAe;CAC6B,CAAA;AAK9C;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAoB;IACzD,OAAQ,wBAAsD,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC/E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAsB,EACtB,IAAoB,EACpB,MAAwB;IAExB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC;QAC9C,CAAC,CAAC,OAAO,KAAK,YAAY;QAC1B,CAAC,CAAC,OAAO,KAAK,aAAa,CAAA;IAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,UAAU,CAAA;IACrD,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAA"}
@@ -8,7 +8,7 @@ export declare const notificationWebhookSchema: v.ObjectSchema<{
8
8
  * headless overseer cares about — rather than "everything", so registering an endpoint can't
9
9
  * accidentally fire-hose every card at an integration that only wanted to hear about parks.
10
10
  */
11
- readonly types: v.ArraySchema<v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "judge_review", "pr_review_ready", "initiative", "platform_health", "budget_paused", "key_drift", "merge_tag_request"], undefined>, undefined>;
11
+ readonly types: v.ArraySchema<v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "judge_review", "pr_review_ready", "initiative", "platform_health", "infra_unreachable", "budget_paused", "key_drift", "merge_tag_request"], undefined>, undefined>;
12
12
  /** Whether deliveries are currently attempted. Registering an endpoint enables it. */
13
13
  readonly enabled: v.BooleanSchema<undefined>;
14
14
  /** Whether a signing secret is set (the secret itself is never returned). */
@@ -24,7 +24,7 @@ export type NotificationWebhook = v.InferOutput<typeof notificationWebhookSchema
24
24
  export declare const putNotificationWebhookSchema: v.ObjectSchema<{
25
25
  readonly url: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.UrlAction<string, undefined>, v.StartsWithAction<string, "https://", "The webhook endpoint must be an https:// URL">, v.MaxLengthAction<string, 2000, undefined>]>;
26
26
  /** Omit ⇒ deliver the default parking types. */
27
- readonly types: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "judge_review", "pr_review_ready", "initiative", "platform_health", "budget_paused", "key_drift", "merge_tag_request"], undefined>, undefined>, undefined>;
27
+ readonly types: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "judge_review", "pr_review_ready", "initiative", "platform_health", "infra_unreachable", "budget_paused", "key_drift", "merge_tag_request"], undefined>, undefined>, undefined>;
28
28
  readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
29
29
  /** New signing secret; omit to keep the current one. */
30
30
  readonly secret: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 16, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
@@ -52,7 +52,7 @@ export declare const notificationWebhookDeliverySchema: v.ObjectSchema<{
52
52
  readonly taskId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
53
53
  readonly notification: v.ObjectSchema<{
54
54
  readonly id: v.StringSchema<undefined>;
55
- readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "judge_review", "pr_review_ready", "initiative", "platform_health", "budget_paused", "key_drift", "merge_tag_request"], undefined>;
55
+ readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "judge_review", "pr_review_ready", "initiative", "platform_health", "infra_unreachable", "budget_paused", "key_drift", "merge_tag_request"], undefined>;
56
56
  readonly status: v.PicklistSchema<["open", "acted", "dismissed"], undefined>;
57
57
  readonly severity: v.OptionalSchema<v.PicklistSchema<["normal", "urgent"], undefined>, undefined>;
58
58
  readonly blockId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -91,6 +91,7 @@ export declare const notificationWebhookDeliverySchema: v.ObjectSchema<{
91
91
  readonly unmergedRepos: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
92
92
  readonly platformWindow: v.OptionalSchema<v.PicklistSchema<["1h", "24h", "7d"], undefined>, undefined>;
93
93
  readonly platformAlerts: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["failure_rate_high", "duration_p99_high", "backlog_high"], undefined>, undefined>, undefined>;
94
+ readonly unreachableAreas: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["ephemeralEnvironments", "agentExecutor", "binaryStorage"], undefined>, undefined>, undefined>;
94
95
  readonly driftAffected: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
95
96
  readonly source: v.StringSchema<undefined>;
96
97
  readonly id: v.StringSchema<undefined>;
@@ -110,8 +111,10 @@ export type NotificationWebhookDelivery = v.InferOutput<typeof notificationWebho
110
111
  * The notification types delivered when a webhook declares no explicit `types` filter: the
111
112
  * human-parking cards a headless overseer must react to, plus the failure tails it can act on
112
113
  * through the public notification surface. Deliberately NOT every type — the block-less/system
113
- * cards (`platform_health`, `budget_paused`, `key_drift`, `initiative`) are operator concerns with
114
- * no external action, and shipping them by default turns the endpoint into a firehose.
114
+ * cards (`platform_health`, `infra_unreachable`, `budget_paused`, `key_drift`, `initiative`) are
115
+ * operator concerns with no external action, and shipping them by default turns the endpoint into a
116
+ * firehose. A deployment that DOES want an infrastructure outage on its webhook can name it in the
117
+ * per-webhook `types` filter, which is exactly what that filter is for.
115
118
  */
116
119
  export declare const DEFAULT_NOTIFICATION_WEBHOOK_TYPES: readonly ["requirement_review", "clarity_review", "decision_required", "fork_decision_pending", "merge_review", "pipeline_complete", "ci_failed", "test_failed"];
117
120
  //# sourceMappingURL=notification-webhooks.d.ts.map
@@ -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,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB;IACpC,mDAAmD;;IAEnD;;;;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;;;IAGhD,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;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,kKAS6B,CAAA"}
1
+ {"version":3,"file":"notification-webhooks.d.ts","sourceRoot":"","sources":["../src/notification-webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmB5B,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB;IACpC,mDAAmD;;IAEnD;;;;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;;;IAGhD,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;;;;;;;;GAQG;AACH,eAAO,MAAM,kCAAkC,kKAS6B,CAAA"}
@@ -70,8 +70,10 @@ export const notificationWebhookDeliverySchema = v.object({
70
70
  * The notification types delivered when a webhook declares no explicit `types` filter: the
71
71
  * human-parking cards a headless overseer must react to, plus the failure tails it can act on
72
72
  * through the public notification surface. Deliberately NOT every type — the block-less/system
73
- * cards (`platform_health`, `budget_paused`, `key_drift`, `initiative`) are operator concerns with
74
- * no external action, and shipping them by default turns the endpoint into a firehose.
73
+ * cards (`platform_health`, `infra_unreachable`, `budget_paused`, `key_drift`, `initiative`) are
74
+ * operator concerns with no external action, and shipping them by default turns the endpoint into a
75
+ * firehose. A deployment that DOES want an infrastructure outage on its webhook can name it in the
76
+ * per-webhook `types` filter, which is exactly what that filter is for.
75
77
  */
76
78
  export const DEFAULT_NOTIFICATION_WEBHOOK_TYPES = [
77
79
  'requirement_review',
@@ -1 +1 @@
1
- {"version":3,"file":"notification-webhooks.js","sourceRoot":"","sources":["../src/notification-webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAE/E,8EAA8E;AAC9E,iGAAiG;AACjG,8FAA8F;AAC9F,wFAAwF;AACxF,EAAE;AACF,6FAA6F;AAC7F,6FAA6F;AAC7F,6FAA6F;AAC7F,qEAAqE;AACrE,0DAA0D;AAC1D,EAAE;AACF,iGAAiG;AACjG,+FAA+F;AAC/F,uDAAuD;AACvD,8EAA8E;AAE9E,+FAA+F;AAC/F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,mDAAmD;IACnD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf;;;;OAIG;IACH,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;IACtC,sFAAsF;IACtF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,6EAA6E;IAC7E,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA;AAGF;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,GAAG,EAAE,CAAC,CAAC,IAAI,CACT,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,IAAI,EAAE,EACR,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,8CAA8C,CAAC,EACxE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAClB;IACD,gDAAgD;IAChD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAClD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,wDAAwD;IACxD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;CACpF,CAAC,CAAA;AAGF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,kGAAkG;IAClG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,4DAA4D;IAC5D,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,mEAAmE;IACnE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,YAAY,EAAE,kBAAkB;CACjC,CAAC,CAAA;AAGF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,oBAAoB;IACpB,gBAAgB;IAChB,mBAAmB;IACnB,uBAAuB;IACvB,cAAc;IACd,mBAAmB;IACnB,WAAW;IACX,aAAa;CAC6D,CAAA"}
1
+ {"version":3,"file":"notification-webhooks.js","sourceRoot":"","sources":["../src/notification-webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAE/E,8EAA8E;AAC9E,iGAAiG;AACjG,8FAA8F;AAC9F,wFAAwF;AACxF,EAAE;AACF,6FAA6F;AAC7F,6FAA6F;AAC7F,6FAA6F;AAC7F,qEAAqE;AACrE,0DAA0D;AAC1D,EAAE;AACF,iGAAiG;AACjG,+FAA+F;AAC/F,uDAAuD;AACvD,8EAA8E;AAE9E,+FAA+F;AAC/F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,mDAAmD;IACnD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf;;;;OAIG;IACH,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;IACtC,sFAAsF;IACtF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,6EAA6E;IAC7E,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA;AAGF;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,GAAG,EAAE,CAAC,CAAC,IAAI,CACT,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,IAAI,EAAE,EACR,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,8CAA8C,CAAC,EACxE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAClB;IACD,gDAAgD;IAChD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAClD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,wDAAwD;IACxD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;CACpF,CAAC,CAAA;AAGF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,kGAAkG;IAClG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,4DAA4D;IAC5D,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,mEAAmE;IACnE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,YAAY,EAAE,kBAAkB;CACjC,CAAC,CAAA;AAGF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,oBAAoB;IACpB,gBAAgB;IAChB,mBAAmB;IACnB,uBAAuB;IACvB,cAAc;IACd,mBAAmB;IACnB,WAAW;IACX,aAAa;CAC6D,CAAA"}
@@ -4,7 +4,7 @@ import * as v from 'valibot';
4
4
  * the frontend can switch on it to render the right action; extending it is a
5
5
  * one-line change here plus a handler in the worker's `act` route.
6
6
  */
7
- export declare const notificationTypeSchema: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "judge_review", "pr_review_ready", "initiative", "platform_health", "budget_paused", "key_drift", "merge_tag_request"], undefined>;
7
+ export declare const notificationTypeSchema: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "judge_review", "pr_review_ready", "initiative", "platform_health", "infra_unreachable", "budget_paused", "key_drift", "merge_tag_request"], undefined>;
8
8
  export type NotificationType = v.InferOutput<typeof notificationTypeSchema>;
9
9
  /**
10
10
  * The closed set of notification types that count as "a task is waiting on a human review"
@@ -17,10 +17,10 @@ export type NotificationType = v.InferOutput<typeof notificationTypeSchema>;
17
17
  *
18
18
  * Deliberately EXCLUDED: failure-remediation cards (`ci_failed`, `test_failed`,
19
19
  * `release_regression`) — "the machine needs help", not "a human owes a review" — and
20
- * block-less/system cards (`platform_health`, `budget_paused`, `key_drift`, `initiative`) that
21
- * aren't tied to a reviewable task. `merge_tag_request` is excluded too: the PR it concerns has
22
- * ALREADY merged, so it is a post-hoc nudge for one tap — counting it as review debt would
23
- * friction task authoring over work that is finished.
20
+ * block-less/system cards (`platform_health`, `infra_unreachable`, `budget_paused`, `key_drift`,
21
+ * `initiative`) that aren't tied to a reviewable task. `merge_tag_request` is excluded too: the PR
22
+ * it concerns has ALREADY merged, so it is a post-hoc nudge for one tap — counting it as review
23
+ * debt would friction task authoring over work that is finished.
24
24
  */
25
25
  export declare const REVIEW_WAIT_NOTIFICATION_TYPES: readonly ["merge_review", "pipeline_complete", "requirement_review", "clarity_review", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "judge_review", "pr_review_ready"];
26
26
  export type ReviewWaitNotificationType = (typeof REVIEW_WAIT_NOTIFICATION_TYPES)[number];
@@ -134,6 +134,18 @@ export declare const notificationPayloadSchema: v.ObjectSchema<{
134
134
  * card links to); the reason set + window are enough to convey "what's wrong, go look".
135
135
  */
136
136
  readonly platformAlerts: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["failure_rate_high", "duration_p99_high", "backlog_high"], undefined>, undefined>, undefined>;
137
+ /**
138
+ * On an `infra_unreachable` notification: the configured infrastructure areas whose live probe
139
+ * is currently failing, sorted. Like {@link platformAlerts} this is the card's dedup identity —
140
+ * the watcher re-raises the SAME card every pass and the service only re-delivers when the set
141
+ * changes — AND the record the snapshot projection folds back into `infraSetup`, so a reload
142
+ * mid-outage still renders the banner without re-probing on the board-load path.
143
+ *
144
+ * The per-area probe REASON is deliberately not carried: it varies between passes (a refused
145
+ * connection, then a timeout), and any content change re-delivers the card, so persisting it
146
+ * would re-toast the inbox for the whole outage. It rides the live `infraSetup` event instead.
147
+ */
148
+ readonly unreachableAreas: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["ephemeralEnvironments", "agentExecutor", "binaryStorage"], undefined>, undefined>, undefined>;
137
149
  /**
138
150
  * On a `key_drift` notification: the stored credentials the drift sweep could not decrypt
139
151
  * (never their values). This is the card's dedup identity — the sweep re-raises the SAME card
@@ -173,7 +185,7 @@ export type NotificationPayload = v.InferOutput<typeof notificationPayloadSchema
173
185
  /** A human-actionable item surfaced on the board. */
174
186
  export declare const notificationSchema: v.ObjectSchema<{
175
187
  readonly id: v.StringSchema<undefined>;
176
- readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "judge_review", "pr_review_ready", "initiative", "platform_health", "budget_paused", "key_drift", "merge_tag_request"], undefined>;
188
+ readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending", "fork_decision_pending", "judge_review", "pr_review_ready", "initiative", "platform_health", "infra_unreachable", "budget_paused", "key_drift", "merge_tag_request"], undefined>;
177
189
  readonly status: v.PicklistSchema<["open", "acted", "dismissed"], undefined>;
178
190
  /**
179
191
  * Render urgency (see {@link notificationSeveritySchema}). Absent ⇒ `normal`. Flipped
@@ -251,6 +263,18 @@ export declare const notificationSchema: v.ObjectSchema<{
251
263
  * card links to); the reason set + window are enough to convey "what's wrong, go look".
252
264
  */
253
265
  readonly platformAlerts: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["failure_rate_high", "duration_p99_high", "backlog_high"], undefined>, undefined>, undefined>;
266
+ /**
267
+ * On an `infra_unreachable` notification: the configured infrastructure areas whose live probe
268
+ * is currently failing, sorted. Like {@link platformAlerts} this is the card's dedup identity —
269
+ * the watcher re-raises the SAME card every pass and the service only re-delivers when the set
270
+ * changes — AND the record the snapshot projection folds back into `infraSetup`, so a reload
271
+ * mid-outage still renders the banner without re-probing on the board-load path.
272
+ *
273
+ * The per-area probe REASON is deliberately not carried: it varies between passes (a refused
274
+ * connection, then a timeout), and any content change re-delivers the card, so persisting it
275
+ * would re-toast the inbox for the whole outage. It rides the live `infraSetup` event instead.
276
+ */
277
+ readonly unreachableAreas: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["ephemeralEnvironments", "agentExecutor", "binaryStorage"], undefined>, undefined>, undefined>;
254
278
  /**
255
279
  * On a `key_drift` notification: the stored credentials the drift sweep could not decrypt
256
280
  * (never their values). This is the card's dedup identity — the sweep re-raises the SAME card
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import * as v from 'valibot';
2
2
  import { mergeAssessmentSchema } from './merge.js';
3
+ import { infraSetupAreaSchema } from './infra-setup.js';
3
4
  import { platformAlertReasonSchema, platformObservabilityWindowSchema } from './observability.js';
4
5
  import { changeClassSchema, reviewEffortSchema } from './mergeTrackRecord.js';
5
6
  import { onCallAssessmentSchema, releaseSignalSchema } from './release.js';
@@ -63,6 +64,14 @@ import { onCallAssessmentSchema, releaseSignalSchema } from './release.js';
63
64
  // provider (bypassing the merge card), so the merge track record has
64
65
  // no reviewer-effort tag. A lightweight, dismissible nudge asking for
65
66
  // one tap; it gates nothing and the record stays valid untagged.
67
+ // - `infra_unreachable`— the reachability watcher found a CONFIGURED infrastructure area (the
68
+ // ephemeral-environment provider, the self-hosted runner pool) that no
69
+ // longer answers its connection probe, so a class of agents cannot run.
70
+ // NOT block-scoped: it concerns the whole workspace. It auto-clears when
71
+ // every area answers again, and re-notifies only when the set of
72
+ // unreachable areas changes (not every sweep). The card doubles as the
73
+ // watcher's durable record of the last observed state, which is what lets
74
+ // the sweep publish `infraSetup` on transitions only; `act` marks it read.
66
75
  // - `budget_paused` — one or more runs were paused by the spend safeguard (the workspace,
67
76
  // account, or user budget is exhausted). Workspace-scoped (one card,
68
77
  // not one per run) and purely informational: the sweeper never re-drives
@@ -97,6 +106,7 @@ export const notificationTypeSchema = v.picklist([
97
106
  'pr_review_ready',
98
107
  'initiative',
99
108
  'platform_health',
109
+ 'infra_unreachable',
100
110
  'budget_paused',
101
111
  'key_drift',
102
112
  'merge_tag_request',
@@ -112,10 +122,10 @@ export const notificationTypeSchema = v.picklist([
112
122
  *
113
123
  * Deliberately EXCLUDED: failure-remediation cards (`ci_failed`, `test_failed`,
114
124
  * `release_regression`) — "the machine needs help", not "a human owes a review" — and
115
- * block-less/system cards (`platform_health`, `budget_paused`, `key_drift`, `initiative`) that
116
- * aren't tied to a reviewable task. `merge_tag_request` is excluded too: the PR it concerns has
117
- * ALREADY merged, so it is a post-hoc nudge for one tap — counting it as review debt would
118
- * friction task authoring over work that is finished.
125
+ * block-less/system cards (`platform_health`, `infra_unreachable`, `budget_paused`, `key_drift`,
126
+ * `initiative`) that aren't tied to a reviewable task. `merge_tag_request` is excluded too: the PR
127
+ * it concerns has ALREADY merged, so it is a post-hoc nudge for one tap — counting it as review
128
+ * debt would friction task authoring over work that is finished.
119
129
  */
120
130
  export const REVIEW_WAIT_NOTIFICATION_TYPES = [
121
131
  'merge_review',
@@ -225,6 +235,18 @@ export const notificationPayloadSchema = v.object({
225
235
  * card links to); the reason set + window are enough to convey "what's wrong, go look".
226
236
  */
227
237
  platformAlerts: v.optional(v.array(platformAlertReasonSchema)),
238
+ /**
239
+ * On an `infra_unreachable` notification: the configured infrastructure areas whose live probe
240
+ * is currently failing, sorted. Like {@link platformAlerts} this is the card's dedup identity —
241
+ * the watcher re-raises the SAME card every pass and the service only re-delivers when the set
242
+ * changes — AND the record the snapshot projection folds back into `infraSetup`, so a reload
243
+ * mid-outage still renders the banner without re-probing on the board-load path.
244
+ *
245
+ * The per-area probe REASON is deliberately not carried: it varies between passes (a refused
246
+ * connection, then a timeout), and any content change re-delivers the card, so persisting it
247
+ * would re-toast the inbox for the whole outage. It rides the live `infraSetup` event instead.
248
+ */
249
+ unreachableAreas: v.optional(v.array(infraSetupAreaSchema)),
228
250
  /**
229
251
  * On a `key_drift` notification: the stored credentials the drift sweep could not decrypt
230
252
  * (never their values). This is the card's dedup identity — the sweep re-raises the SAME card