@cat-factory/server 0.180.0 → 0.181.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.
@@ -0,0 +1,33 @@
1
+ import type { InfraReachabilityConfig } from './types.js';
2
+ /**
3
+ * Whether a CRON-driven facade should run the sweep on this tick, so `INFRA_REACHABILITY_INTERVAL_MS`
4
+ * means the same thing on the Worker as the timer gives it on Node.
5
+ *
6
+ * The Worker's `scheduled` tick fires every 2 minutes for every backstop it drives, and this sweep
7
+ * used to run on all of them — so the one knob an operator has for the one sweep that makes an
8
+ * outbound call per workspace per pass did nothing on Cloudflare, and opting in bought a fixed
9
+ * 2-minute probe cadence. Since a cron tick runs in a fresh isolate there is no "last pass" in
10
+ * memory, and the whole design point is that this feature adds no persistence; so the gate is pure
11
+ * ARITHMETIC on the cron's own aligned timestamp: run only on the tick that opens a new
12
+ * `intervalMs` window. That yields at most one pass per window with no state at all, and is exact
13
+ * (not merely probabilistic) because `scheduledTime` is cron-aligned.
14
+ *
15
+ * An interval at or below the tick period means "every tick", which is what a Node deployment with
16
+ * the same setting gets.
17
+ */
18
+ export declare function shouldRunReachabilityPass(scheduledTime: number, tickPeriodMs: number, intervalMs: number): boolean;
19
+ /** The raw env strings each facade feeds the parser (already extracted from its env source). */
20
+ export interface InfraReachabilityEnvInput {
21
+ /** Whether `INFRA_REACHABILITY_WATCH` opted the watcher in. */
22
+ enabled: boolean;
23
+ intervalMs?: string;
24
+ probeTimeoutMs?: string;
25
+ }
26
+ /**
27
+ * Resolve the reachability-watcher config from raw env strings. Unset/blank/garbage values fall
28
+ * back to the defaults (a non-numeric value emits the shared `parseNumericEnv` warning); negatives
29
+ * are treated as unset. Both durations are clamped, so a hostile/typo'd override degrades to a
30
+ * sane sweep rather than a busy-loop or a watcher that calls everything down.
31
+ */
32
+ export declare function resolveInfraReachabilityConfig(env: InfraReachabilityEnvInput): InfraReachabilityConfig;
33
+ //# sourceMappingURL=infraReachability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infraReachability.d.ts","sourceRoot":"","sources":["../../src/config/infraReachability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AA0BzD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAMT;AAED,gGAAgG;AAChG,MAAM,WAAW,yBAAyB;IACxC,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,yBAAyB,GAC7B,uBAAuB,CAmBzB"}
@@ -0,0 +1,62 @@
1
+ import { parseNumericEnv } from './numeric.js';
2
+ // Shared, runtime-neutral parser for the infrastructure-reachability watcher env, so the Worker's
3
+ // `loadConfig` and the Node/local `loadNodeConfig` derive an IDENTICAL `InfraReachabilityConfig`
4
+ // from the same vars + defaults + clamps ("keep the runtimes symmetric"). Each facade reads its own
5
+ // env source (Cloudflare `Env` vs `process.env`) into the raw-string bag below and calls this — the
6
+ // parsing/clamping lives in exactly one place. Mirrors `platformAlerts.ts`.
7
+ /** How often the Node sweep runs when `INFRA_REACHABILITY_INTERVAL_MS` is unset (5 minutes). */
8
+ const DEFAULT_INTERVAL_MS = 5 * 60_000;
9
+ /** Floor the interval so a `0`/tiny override can't turn the sweep into an outbound busy-loop. */
10
+ const MIN_INTERVAL_MS = 30_000;
11
+ /** Per-probe timeout when `INFRA_REACHABILITY_PROBE_TIMEOUT_MS` is unset. */
12
+ const DEFAULT_PROBE_TIMEOUT_MS = 5_000;
13
+ /**
14
+ * Floor the per-probe timeout. A sub-second budget would report every healthy-but-distant
15
+ * apiserver as an outage, which is worse than not watching at all.
16
+ */
17
+ const MIN_PROBE_TIMEOUT_MS = 1_000;
18
+ /**
19
+ * Ceiling the per-probe timeout at the Worker's cron cadence: a budget longer than the gap between
20
+ * passes lets one hung connection keep a pass in flight when the next is already due.
21
+ */
22
+ const MAX_PROBE_TIMEOUT_MS = 60_000;
23
+ /**
24
+ * Whether a CRON-driven facade should run the sweep on this tick, so `INFRA_REACHABILITY_INTERVAL_MS`
25
+ * means the same thing on the Worker as the timer gives it on Node.
26
+ *
27
+ * The Worker's `scheduled` tick fires every 2 minutes for every backstop it drives, and this sweep
28
+ * used to run on all of them — so the one knob an operator has for the one sweep that makes an
29
+ * outbound call per workspace per pass did nothing on Cloudflare, and opting in bought a fixed
30
+ * 2-minute probe cadence. Since a cron tick runs in a fresh isolate there is no "last pass" in
31
+ * memory, and the whole design point is that this feature adds no persistence; so the gate is pure
32
+ * ARITHMETIC on the cron's own aligned timestamp: run only on the tick that opens a new
33
+ * `intervalMs` window. That yields at most one pass per window with no state at all, and is exact
34
+ * (not merely probabilistic) because `scheduledTime` is cron-aligned.
35
+ *
36
+ * An interval at or below the tick period means "every tick", which is what a Node deployment with
37
+ * the same setting gets.
38
+ */
39
+ export function shouldRunReachabilityPass(scheduledTime, tickPeriodMs, intervalMs) {
40
+ if (intervalMs <= tickPeriodMs)
41
+ return true;
42
+ return (Math.floor(scheduledTime / intervalMs) !==
43
+ Math.floor((scheduledTime - tickPeriodMs) / intervalMs));
44
+ }
45
+ /**
46
+ * Resolve the reachability-watcher config from raw env strings. Unset/blank/garbage values fall
47
+ * back to the defaults (a non-numeric value emits the shared `parseNumericEnv` warning); negatives
48
+ * are treated as unset. Both durations are clamped, so a hostile/typo'd override degrades to a
49
+ * sane sweep rather than a busy-loop or a watcher that calls everything down.
50
+ */
51
+ export function resolveInfraReachabilityConfig(env) {
52
+ const nonNeg = (name, raw, fallback) => {
53
+ const n = parseNumericEnv(name, raw);
54
+ return n !== undefined && n >= 0 ? n : fallback;
55
+ };
56
+ return {
57
+ enabled: env.enabled,
58
+ intervalMs: Math.max(MIN_INTERVAL_MS, nonNeg('INFRA_REACHABILITY_INTERVAL_MS', env.intervalMs, DEFAULT_INTERVAL_MS)),
59
+ probeTimeoutMs: Math.min(MAX_PROBE_TIMEOUT_MS, Math.max(MIN_PROBE_TIMEOUT_MS, nonNeg('INFRA_REACHABILITY_PROBE_TIMEOUT_MS', env.probeTimeoutMs, DEFAULT_PROBE_TIMEOUT_MS))),
60
+ };
61
+ }
62
+ //# sourceMappingURL=infraReachability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infraReachability.js","sourceRoot":"","sources":["../../src/config/infraReachability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,kGAAkG;AAClG,iGAAiG;AACjG,oGAAoG;AACpG,oGAAoG;AACpG,4EAA4E;AAE5E,gGAAgG;AAChG,MAAM,mBAAmB,GAAG,CAAC,GAAG,MAAM,CAAA;AACtC,iGAAiG;AACjG,MAAM,eAAe,GAAG,MAAM,CAAA;AAC9B,6EAA6E;AAC7E,MAAM,wBAAwB,GAAG,KAAK,CAAA;AACtC;;;GAGG;AACH,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAClC;;;GAGG;AACH,MAAM,oBAAoB,GAAG,MAAM,CAAA;AAEnC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAAqB,EACrB,YAAoB,EACpB,UAAkB;IAElB,IAAI,UAAU,IAAI,YAAY;QAAE,OAAO,IAAI,CAAA;IAC3C,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,YAAY,CAAC,GAAG,UAAU,CAAC,CACxD,CAAA;AACH,CAAC;AAUD;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAC5C,GAA8B;IAE9B,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAuB,EAAE,QAAgB,EAAU,EAAE;QACjF,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACpC,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IACjD,CAAC,CAAA;IACD,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,IAAI,CAAC,GAAG,CAClB,eAAe,EACf,MAAM,CAAC,gCAAgC,EAAE,GAAG,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAC9E;QACD,cAAc,EAAE,IAAI,CAAC,GAAG,CACtB,oBAAoB,EACpB,IAAI,CAAC,GAAG,CACN,oBAAoB,EACpB,MAAM,CAAC,qCAAqC,EAAE,GAAG,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAC5F,CACF;KACF,CAAA;AACH,CAAC"}
@@ -364,6 +364,33 @@ export interface PlatformAlertConfig {
364
364
  /** The alert ceilings (env-driven; a settings surface is a later slice). */
365
365
  thresholds: PlatformAlertThresholds;
366
366
  }
367
+ /**
368
+ * The infrastructure-REACHABILITY watcher: periodically probes each workspace's CONFIGURED
369
+ * infrastructure connections and reports a dead one as `unreachable` on the setup projection.
370
+ *
371
+ * Opt-in, because it is the one sweep that makes an OUTBOUND call per workspace per pass — to a
372
+ * cluster apiserver or a runner pool the deployment does not own. On a hosted deployment with many
373
+ * boards that is a real, recurring cost profile the operator has to choose; the motivating case (a
374
+ * local/self-hosted stack whose environment provider dies with the laptop) is one workspace.
375
+ */
376
+ export interface InfraReachabilityConfig {
377
+ /** Opt-in flag (`INFRA_REACHABILITY_WATCH=true`). */
378
+ enabled: boolean;
379
+ /**
380
+ * How often the sweep runs (ms), from `INFRA_REACHABILITY_INTERVAL_MS` (default 5min). Node times
381
+ * it directly; the Worker, whose `scheduled` tick fires every 2 minutes for every backstop, gates
382
+ * this sweep on `shouldRunReachabilityPass` so the same setting means the same cadence there. It
383
+ * is the operator's only lever on the one sweep that calls OUT per workspace, so a facade that
384
+ * ignored it would make opting in an all-or-nothing choice.
385
+ */
386
+ intervalMs: number;
387
+ /**
388
+ * Per-probe timeout (ms), so one hung apiserver can't stall the pass for every other workspace.
389
+ * A timeout counts as UNREACHABLE, not as an indeterminate result: a connection that doesn't
390
+ * answer inside the budget is exactly the outage this watcher exists to report.
391
+ */
392
+ probeTimeoutMs: number;
393
+ }
367
394
  /**
368
395
  * Opt-in GitLab VCS provider config (the neutral-VCS abstraction's second backend).
369
396
  * `enabled` is false unless a `GITLAB_TOKEN` is configured. Single-token model (mirrors
@@ -432,6 +459,11 @@ export interface AppConfig {
432
459
  otel: OtelConfig;
433
460
  /** Platform-health alerting config; `enabled` is false unless `PLATFORM_ALERTS=true`. */
434
461
  platformAlerts: PlatformAlertConfig;
462
+ /**
463
+ * Infrastructure-reachability watcher config; `enabled` is false unless
464
+ * `INFRA_REACHABILITY_WATCH=true`.
465
+ */
466
+ infraReachability: InfraReachabilityConfig;
435
467
  /**
436
468
  * Local-mode facade signals surfaced to the SPA; present only on the local facade
437
469
  * (the Worker/Node facades leave it undefined). Carries the missing-PAT setup prompt.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Block, BootstrapJob, BrainstormSession, ConsensusSession, ClarityReview, DocInterviewSession, EnvConfigRepairJob, EnvironmentTestRun, ExecutionEventPublisher, ExecutionInstance, Initiative, LlmCallActivity, Notification, RequirementReview, WorkspaceMountRepository } from '@cat-factory/kernel';
1
+ import type { Block, BootstrapJob, BrainstormSession, ConsensusSession, ClarityReview, DocInterviewSession, EnvConfigRepairJob, EnvironmentTestRun, ExecutionEventPublisher, ExecutionInstance, InfraSetupTransition, Initiative, KaizenGrading, LlmCallActivity, Notification, RequirementReview, WorkspaceMountRepository } from '@cat-factory/kernel';
2
2
  export interface FanOutEventPublisherDependencies {
3
3
  workspaceMountRepository: Pick<WorkspaceMountRepository, 'listWorkspaceIdsMountingBlock'>;
4
4
  }
@@ -30,6 +30,8 @@ export declare class FanOutEventPublisher implements ExecutionEventPublisher {
30
30
  envConfigRepairChanged(workspaceId: string, job: EnvConfigRepairJob): Promise<void>;
31
31
  envTestChanged(workspaceId: string, run: EnvironmentTestRun): Promise<void>;
32
32
  notificationChanged(workspaceId: string, notification: Notification): Promise<void>;
33
+ infraSetupChanged(workspaceId: string, change: InfraSetupTransition): Promise<void>;
34
+ kaizenGradingChanged(workspaceId: string, grading: KaizenGrading): Promise<void>;
33
35
  llmCallObserved(workspaceId: string, activity: LlmCallActivity): Promise<void>;
34
36
  requirementReviewChanged(workspaceId: string, review: RequirementReview): Promise<void>;
35
37
  consensusSessionChanged(workspaceId: string, session: ConsensusSession): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"FanOutEventPublisher.d.ts","sourceRoot":"","sources":["../../src/events/FanOutEventPublisher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAE5B,MAAM,WAAW,gCAAgC;IAC/C,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE,+BAA+B,CAAC,CAAA;CAC1F;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,oBAAqB,YAAW,uBAAuB;IAEhE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,YACmB,KAAK,EAAE,uBAAuB,EAC9B,IAAI,EAAE,gCAAgC,EACrD;IAEJ,0FAA0F;YAC5E,OAAO;IAWf,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf;IAEK,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GACjC,OAAO,CAAC,IAAI,CAAC,CASf;IAEK,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,YAAY,EACjB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf;IAIK,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF;IAGK,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF;IAEK,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxF;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF;IAEK,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5F;IAEK,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3F;IAEK,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpF;IAEK,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7F;IAEK,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlF;IAEK,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1F;CACF"}
1
+ {"version":3,"file":"FanOutEventPublisher.d.ts","sourceRoot":"","sources":["../../src/events/FanOutEventPublisher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAE5B,MAAM,WAAW,gCAAgC;IAC/C,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE,+BAA+B,CAAC,CAAA;CAC1F;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,oBAAqB,YAAW,uBAAuB;IAEhE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,YACmB,KAAK,EAAE,uBAAuB,EAC9B,IAAI,EAAE,gCAAgC,EACrD;IAEJ,0FAA0F;YAC5E,OAAO;IAWf,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf;IAEK,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GACjC,OAAO,CAAC,IAAI,CAAC,CASf;IAEK,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,YAAY,EACjB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf;IAIK,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF;IAGK,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF;IAEK,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxF;IAKK,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF;IAMK,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAErF;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF;IAEK,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5F;IAEK,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3F;IAEK,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpF;IAEK,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7F;IAEK,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlF;IAEK,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1F;CACF"}
@@ -59,6 +59,19 @@ export class FanOutEventPublisher {
59
59
  const targets = await this.targets(workspaceId, notification.blockId);
60
60
  await Promise.all(targets.map((ws) => this.inner.notificationChanged?.(ws, notification)));
61
61
  }
62
+ // A reachability transition concerns the WORKSPACE's own infrastructure wiring, not a block, so
63
+ // there is nothing to resolve a shared service from — and nothing to fan out: a board that mounts
64
+ // a service from another workspace reads its OWN infra projection. Origin only.
65
+ async infraSetupChanged(workspaceId, change) {
66
+ await this.inner.infraSetupChanged?.(workspaceId, change);
67
+ }
68
+ // Run-details only (never surfaced on the board), so no shared-service fan-out. Forwarded
69
+ // explicitly because this decorator delegates method-by-method: an event it doesn't name is
70
+ // silently DROPPED for every deployment that wires the fan-out, with nothing failing.
71
+ // `fanOutEventPublisher.spec.ts` pins that surface so the next addition can't be forgotten.
72
+ async kaizenGradingChanged(workspaceId, grading) {
73
+ await this.inner.kaizenGradingChanged?.(workspaceId, grading);
74
+ }
62
75
  async llmCallObserved(workspaceId, activity) {
63
76
  // The compact activity carries no block id, so there is nothing to resolve a shared
64
77
  // service from — deliver to the originating workspace only. Model activity for a
@@ -1 +1 @@
1
- {"version":3,"file":"FanOutEventPublisher.js","sourceRoot":"","sources":["../../src/events/FanOutEventPublisher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FanOutEventPublisher.js","sourceRoot":"","sources":["../../src/events/FanOutEventPublisher.ts"],"names":[],"mappings":"AAwBA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,oBAAoB;IAEZ,KAAK;IACL,IAAI;IAFvB,YACmB,KAA8B,EAC9B,IAAsC;qBADtC,KAAK;oBACL,IAAI;IACpB,CAAC;IAEJ,0FAA0F;IAClF,KAAK,CAAC,OAAO,CAAC,iBAAyB,EAAE,OAAuB;QACtE,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;QACxC,2FAA2F;QAC3F,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,6BAA6B,CACrF,iBAAiB,EACjB,OAAO,CACR,CAAA;QACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,QAA2B,EAC3B,KAAoB;QAEpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC9E,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1F,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,WAAmB,EACnB,MAAc,EACd,OAAuB,EACvB,kBAAkC;QAElC,qFAAqF;QACrF,2FAA2F;QAC3F,0FAA0F;QAC1F,uDAAuD;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACxD,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CACtF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,GAAiB,EACjB,KAAoB;QAEpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QACzE,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IACvF,CAAC;IAED,uFAAuF;IACvF,gFAAgF;IAChF,KAAK,CAAC,sBAAsB,CAAC,WAAmB,EAAE,GAAuB;QACvE,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;IAC7D,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,GAAuB;QAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,WAAmB,EAAE,YAA0B;QACvE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;QACrE,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IAC5F,CAAC;IAED,gGAAgG;IAChG,kGAAkG;IAClG,gFAAgF;IAChF,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,MAA4B;QACvE,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAC3D,CAAC;IAED,0FAA0F;IAC1F,4FAA4F;IAC5F,sFAAsF;IACtF,4FAA4F;IAC5F,KAAK,CAAC,oBAAoB,CAAC,WAAmB,EAAE,OAAsB;QACpE,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,QAAyB;QAClE,oFAAoF;QACpF,iFAAiF;QACjF,kFAAkF;QAClF,mFAAmF;QACnF,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,WAAmB,EAAE,MAAyB;QAC3E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/D,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAC3F,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,WAAmB,EAAE,OAAyB;QAC1E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAChE,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3F,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,WAAmB,EAAE,MAAqB;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/D,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IACvF,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,WAAmB,EAAE,OAA0B;QAC5E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAChE,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5F,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,UAAsB;QACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;QACnE,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACxF,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,WAAmB,EAAE,OAA4B;QACzE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAChE,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACvF,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export { InlineTrackerWebhookIngest } from './runtime/inlineTrackerWebhook.js';
5
5
  export { BraveWebSearchUpstream, SearxngWebSearchUpstream, createWebSearchUpstream, createDefaultWebSearchUpstream, DEFAULT_WEB_SEARCH_COUNT, } from './modules/webSearch/upstreams.js';
6
6
  export { escalateStaleNotifications } from './runtime/escalateNotifications.js';
7
7
  export { sweepPlatformHealth } from './runtime/platformHealth.js';
8
+ export { sweepInfraReachability } from './runtime/infraReachability.js';
8
9
  export { sweepKeyDriftAndRaise } from './runtime/keyDrift.js';
9
10
  export { noRunnerBackendAvailableError } from './runtime/runnerBackendError.js';
10
11
  export { GITHUB_RECONCILE_STALE_MS, reconcileStaleRepos, type GitHubReconcileDeps, } from './runtime/reconcileStaleRepos.js';
@@ -70,8 +71,9 @@ export { GitHubPrReportPublisher, type GitHubPrReportPublisherDependencies, } fr
70
71
  export { HmacSigner, TOKEN_AUDIENCE, type MachinePayload, type SessionPayload, type SessionUser, type TokenAudience, } from './auth/signing.js';
71
72
  export { DEFAULT_MACHINE_TOKEN_TTL_MS, mintMachineToken, resolveMachineTokenTtlMs, } from './auth/machineToken.js';
72
73
  export { WS_TICKET_TTL_MS, authorizeWsUpgrade, mintWsTicket, type WsTicket, type WsUpgradeAuth, } from './auth/wsTicket.js';
73
- export type { AgentsConfig, AppConfig, AuthConfig, ReleaseHealthConfig, DocumentsConfig, EmailConfig, EnvironmentsConfig, ExecutionConfig, FragmentLibraryConfig, GitHubConfig, GitLabConfig, GoogleOAuthConfig, LangfuseConfig, ObservabilityConfig, NotificationWebhookConfig, OtelConfig, PlatformAlertConfig, PrivilegedAppConfig, RetentionConfig, RunnerPoolConfig, SlackConfig, TasksConfig, } from './config/types.js';
74
+ export type { AgentsConfig, AppConfig, AuthConfig, ReleaseHealthConfig, DocumentsConfig, EmailConfig, EnvironmentsConfig, ExecutionConfig, FragmentLibraryConfig, GitHubConfig, GitLabConfig, GoogleOAuthConfig, LangfuseConfig, ObservabilityConfig, NotificationWebhookConfig, OtelConfig, InfraReachabilityConfig, PlatformAlertConfig, PrivilegedAppConfig, RetentionConfig, RunnerPoolConfig, SlackConfig, TasksConfig, } from './config/types.js';
74
75
  export { parsePlatformObservabilityWindow, resolvePlatformAlertConfig, type PlatformAlertEnvInput, } from './config/platformAlerts.js';
76
+ export { resolveInfraReachabilityConfig, shouldRunReachabilityPass, type InfraReachabilityEnvInput, } from './config/infraReachability.js';
75
77
  export { resolveUrlSafetyPolicy } from './config/url-safety.js';
76
78
  export { parseDetectionConventions, type DetectionConventionsConfig, } from './config/detection-conventions.js';
77
79
  export { buildInfrastructureCapabilities, testEnvHasZeroConfigDefault, } from './config/infrastructure.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ export { InlineTrackerWebhookIngest } from './runtime/inlineTrackerWebhook.js';
9
9
  export { BraveWebSearchUpstream, SearxngWebSearchUpstream, createWebSearchUpstream, createDefaultWebSearchUpstream, DEFAULT_WEB_SEARCH_COUNT, } from './modules/webSearch/upstreams.js';
10
10
  export { escalateStaleNotifications } from './runtime/escalateNotifications.js';
11
11
  export { sweepPlatformHealth } from './runtime/platformHealth.js';
12
+ export { sweepInfraReachability } from './runtime/infraReachability.js';
12
13
  export { sweepKeyDriftAndRaise } from './runtime/keyDrift.js';
13
14
  export { noRunnerBackendAvailableError } from './runtime/runnerBackendError.js';
14
15
  export { GITHUB_RECONCILE_STALE_MS, reconcileStaleRepos, } from './runtime/reconcileStaleRepos.js';
@@ -103,6 +104,7 @@ export { HmacSigner, TOKEN_AUDIENCE, } from './auth/signing.js';
103
104
  export { DEFAULT_MACHINE_TOKEN_TTL_MS, mintMachineToken, resolveMachineTokenTtlMs, } from './auth/machineToken.js';
104
105
  export { WS_TICKET_TTL_MS, authorizeWsUpgrade, mintWsTicket, } from './auth/wsTicket.js';
105
106
  export { parsePlatformObservabilityWindow, resolvePlatformAlertConfig, } from './config/platformAlerts.js';
107
+ export { resolveInfraReachabilityConfig, shouldRunReachabilityPass, } from './config/infraReachability.js';
106
108
  export { resolveUrlSafetyPolicy } from './config/url-safety.js';
107
109
  export { parseDetectionConventions, } from './config/detection-conventions.js';
108
110
  export { buildInfrastructureCapabilities, testEnvHasZeroConfigDefault, } from './config/infrastructure.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,55 +1,4 @@
1
1
  import { Hono } from 'hono';
2
- import type { InfraSetup } from '@cat-factory/contracts';
3
- import type { Logger } from '@cat-factory/kernel';
4
- export declare function areaStatus(wired: boolean, read: () => Promise<unknown>, opts?: {
5
- area?: string;
6
- logger?: Logger;
7
- timeoutMs?: number;
8
- }): Promise<'not_applicable' | 'not_defined' | 'configured'>;
9
- /**
10
- * The subset of the request container `snapshotInfraSetup` reads. Named (rather than inlined)
11
- * so the presence-probe method shapes are explicit and a signature change is caught here.
12
- *
13
- * The env/runner probes use `hasConnection` — a yes/no that does NOT decrypt the secret bundle.
14
- * `resolveBinaryArtifactStore` is the store's single source of truth (an account can select a
15
- * backend whose credentials don't yet resolve, which a presence-only check couldn't tell from a
16
- * live one); it reads through the AccountSettingsService's short-TTL cache, so the underlying
17
- * secret decrypt is amortized across board loads rather than paid on each.
18
- */
19
- export interface InfraSetupSources {
20
- environments?: {
21
- connectionService: {
22
- hasConnection(ws: string): Promise<boolean>;
23
- };
24
- };
25
- runners?: {
26
- connectionService: {
27
- hasConnection(ws: string): Promise<boolean>;
28
- };
29
- };
30
- /**
31
- * True ONLY when a self-hosted runner pool is the sole execution backend for container agents
32
- * (so an unregistered pool means NO agent can run) — i.e. this facade has no built-in per-run
33
- * container runtime. Only remote/stock Node sets it: Cloudflare has built-in per-run containers
34
- * and local mode runs agents in per-run HOST containers, so on both the pool is an OPTIONAL
35
- * alternate target, not the executor of record. Without this gate the mere presence of the
36
- * (always-wired-on-Node, opt-in-on-Cloudflare) runner surface would falsely nag "no agent can
37
- * run" on local mode and on a Cloudflare deployment that set `RUNNERS_ENABLED`.
38
- */
39
- agentExecutorRequiresRunnerPool?: boolean;
40
- /**
41
- * True when an ephemeral-environment PROVIDER connection is genuinely mandatory for env-dependent
42
- * Tester runs — i.e. this deployment has no zero-config in-container test-env default. Gates the
43
- * `ephemeralEnvironments` area exactly like `agentExecutorRequiresRunnerPool` gates the executor:
44
- * local mode on a Docker-family runtime stands the Tester's deps up with `local-compose` (no
45
- * connection), so a missing provider must NOT nag there. Defaults to required (`?? true`) when
46
- * unset, preserving the Worker / stock-Node behaviour (their only test-env backend needs a
47
- * provider). See `testEnvHasZeroConfigDefault`.
48
- */
49
- ephemeralEnvironmentsRequireProvider?: boolean;
50
- resolveBinaryArtifactStore?: (ws: string) => Promise<unknown>;
51
- }
52
- export declare function snapshotInfraSetup(container: InfraSetupSources, workspaceId: string, logger?: Logger): Promise<InfraSetup>;
53
2
  import type { AppEnv } from '../../http/env.js';
54
3
  /** Board (workspace) lifecycle and full-snapshot retrieval. */
55
4
  export declare function workspaceController(): Hono<AppEnv>;
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceController.d.ts","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAKV,UAAU,EAKX,MAAM,wBAAwB,CAAA;AAG/B,OAAO,KAAK,EAEV,MAAM,EAIP,MAAM,qBAAqB,CAAA;AA+M5B,wBAAsB,UAAU,CAC9B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC5B,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChE,OAAO,CAAC,gBAAgB,GAAG,aAAa,GAAG,YAAY,CAAC,CAwB1D;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE;QAAE,iBAAiB,EAAE;YAAE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;IACrF,OAAO,CAAC,EAAE;QAAE,iBAAiB,EAAE;YAAE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;IAChF;;;;;;;;OAQG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC;;;;;;;;OAQG;IACH,oCAAoC,CAAC,EAAE,OAAO,CAAA;IAC9C,0BAA0B,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9D;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,iBAAiB,EAC5B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,MAAqB,GAC5B,OAAO,CAAC,UAAU,CAAC,CAmBrB;AAcD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAwL/C,+DAA+D;AAC/D,wBAAgB,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,CAmPlD"}
1
+ {"version":3,"file":"WorkspaceController.d.ts","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceController.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AA8M3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAmM/C,+DAA+D;AAC/D,wBAAgB,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,CAmPlD"}
@@ -3,7 +3,10 @@ import { configContributionCatalog } from '@cat-factory/agents';
3
3
  import { buildHonoRoute } from '@toad-contracts/hono';
4
4
  import { Hono } from 'hono';
5
5
  import { logger as sharedLogger } from '../../observability/logger.js';
6
- import { resolveWorkspaceAccess } from '@cat-factory/kernel';
6
+ // The per-area infra-setup projection, extracted so the reachability watcher shares its
7
+ // applicability rule (`infraSetupAreaApplies`) rather than re-deriving a looser one.
8
+ import { snapshotInfraSetup } from './infraSetup.js';
9
+ import { applyInfraReachability, recordedUnreachableAreas, resolveWorkspaceAccess, } from '@cat-factory/kernel';
7
10
  /**
8
11
  * Assemble the account- and user-tier spend widgets for a snapshot: the account-tier
9
12
  * status (across the owning account's workspaces), the signed-in caller's user-tier
@@ -144,73 +147,6 @@ function snapshotBackendKinds(registries) {
144
147
  runnerBackendKinds: registries.runnerBackendRegistry.labelled(),
145
148
  };
146
149
  }
147
- /**
148
- * The per-area infrastructure-setup status for a workspace, computed from whatever THIS
149
- * deployment actually wired (so it's runtime-symmetric by construction — the shared controller
150
- * derives it, no per-facade code). Each area is:
151
- * - `not_applicable` — the integration isn't wired for this runtime (nothing to configure), so
152
- * the read function is absent. The runner-pool executor counts as an area ONLY when the pool is
153
- * the sole way container agents run (`agentExecutorRequiresRunnerPool`) — remote/stock Node;
154
- * Cloudflare (built-in per-run containers) and local mode (per-run host containers) both wire the
155
- * runner surface but keep a built-in executor, so the pool is optional there ⇒ `not_applicable`.
156
- * Symmetrically, the ephemeral-environments area counts ONLY when a provider connection is
157
- * mandatory (`ephemeralEnvironmentsRequireProvider`): local mode on a Docker-family runtime
158
- * stands the Tester's deps up with `local-compose` and needs no provider, so a missing one is
159
- * `not_applicable` there — the nag fires only on facades whose sole test-env backend is the
160
- * `environment-provider` (Worker / stock Node / local Apple `container`).
161
- * Binary storage is `not_applicable` only when the facade wired no artifact-store resolver at all — in practice
162
- * every facade wires one, so this area is `configured`/`not_defined` everywhere: a Cloudflare
163
- * deployment without an `ARTIFACT_BUCKET` binding (or any account that selected no backend)
164
- * reads `not_defined` too, not just stock Node.
165
- * - `not_defined` — the deployment CAN use it but the operator hasn't set it up (banner-worthy):
166
- * no environment/runner-pool connection registered, or the account selected no content-storage
167
- * backend (Node defaults to `off`).
168
- * - `configured` — a connection / backend is defined.
169
- *
170
- * IMPORTANT: this is an ADVISORY projection for a banner — it must never break the workspace
171
- * snapshot (the board load). Each area's read is fault-isolated: a read that throws (e.g. a
172
- * mothership persistence RPC that doesn't expose the connection repo, or a rotated encryption key
173
- * that fails a secret decrypt) OR hangs past {@link AREA_PROBE_TIMEOUT_MS} degrades that area to
174
- * `not_applicable` ("can't tell → don't nag") rather than 500-ing / stalling `GET /workspaces/:id`.
175
- * A swallowed error/timeout is logged (best-effort) so a persistent misconfig that reads as
176
- * `not_applicable` is still diagnosable instead of silently invisible.
177
- */
178
- /** Cap on a single area probe so a slow/stuck backend read can't stall the whole board snapshot. */
179
- const AREA_PROBE_TIMEOUT_MS = 2000;
180
- export async function areaStatus(wired, read, opts = {}) {
181
- if (!wired)
182
- return 'not_applicable';
183
- const timeoutMs = opts.timeoutMs ?? AREA_PROBE_TIMEOUT_MS;
184
- let timer;
185
- try {
186
- const result = await Promise.race([
187
- read(),
188
- new Promise((_, reject) => {
189
- timer = setTimeout(() => reject(new Error(`infra-setup probe timed out after ${timeoutMs}ms`)), timeoutMs);
190
- }),
191
- ]);
192
- return result ? 'configured' : 'not_defined';
193
- }
194
- catch (err) {
195
- opts.logger?.warn('infra-setup probe failed; degrading area to not_applicable', {
196
- area: opts.area,
197
- err: err instanceof Error ? err.message : String(err),
198
- });
199
- return 'not_applicable';
200
- }
201
- finally {
202
- if (timer)
203
- clearTimeout(timer);
204
- }
205
- }
206
- export async function snapshotInfraSetup(container, workspaceId, logger = sharedLogger) {
207
- const [ephemeralEnvironments, agentExecutor, binaryStorage] = await Promise.all([
208
- areaStatus(!!container.environments && (container.ephemeralEnvironmentsRequireProvider ?? true), () => container.environments.connectionService.hasConnection(workspaceId), { area: 'ephemeralEnvironments', logger }),
209
- areaStatus(!!container.runners && !!container.agentExecutorRequiresRunnerPool, () => container.runners.connectionService.hasConnection(workspaceId), { area: 'agentExecutor', logger }),
210
- areaStatus(!!container.resolveBinaryArtifactStore, () => container.resolveBinaryArtifactStore(workspaceId), { area: 'binaryStorage', logger }),
211
- ]);
212
- return { ephemeralEnvironments, agentExecutor, binaryStorage };
213
- }
214
150
  function deploymentModelDefaults(routing) {
215
151
  const ref = (r) => `${r.provider}:${r.model}`;
216
152
  return {
@@ -331,7 +267,10 @@ async function loadSnapshotSlices(container, workspaceId, budgetAccountId) {
331
267
  settings,
332
268
  // In-org shared services: the workspace's mounts + the org catalog it can mount
333
269
  // from (each catalog service annotated with its mount count for the "Shared" badge).
334
- mounts, serviceCatalog, infraSetup,
270
+ mounts, serviceCatalog,
271
+ // The per-area SETUP states. `unreachable` is folded on below, off the notifications read that
272
+ // is already in flight here, rather than probed on this hot path.
273
+ infraSetup,
335
274
  // The workspace's projected repos (with each repo's `linkedVia`), so the per-viewer
336
275
  // redaction can tell an App-reachable frame from a personal-PAT one. Only when GitHub is
337
276
  // wired; absent ⇒ no personal repos, so nothing to redact.
@@ -380,7 +319,11 @@ async function loadSnapshotSlices(container, workspaceId, budgetAccountId) {
380
319
  settings,
381
320
  mounts,
382
321
  serviceCatalog,
383
- infraSetup,
322
+ // Fold the reachability watcher's recorded outage into the setup projection, so a reload
323
+ // mid-outage still renders the banner. The record lives on the workspace's open
324
+ // `infra_unreachable` card, which the `notifications` read above already fetched — so this
325
+ // costs no extra query and, crucially, no probe on the board-load path.
326
+ infraSetup: applyInfraReachability(infraSetup, recordedUnreachableAreas(notifications?.find((n) => n.type === 'infra_unreachable' && n.status === 'open'))),
384
327
  repoProjections,
385
328
  skills,
386
329
  };
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceController.js","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAA;AActE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAW5D;;;;;;;;;;GAUG;AACH,KAAK,UAAU,mBAAmB,CAChC,SAA0B,EAC1B,IAAgF;IAOhF,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IACxC,MAAM,kBAAkB,GACtB,YAAY,IAAI,SAAS,CAAC,YAAY;QACpC,CAAC,CAAC,MAAM,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAC/E,CAAC,CAAC,SAAS,CAAA;IACf,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,SAAS;YACP,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YACnE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QACzB,YAAY;YACV,CAAC,CAAC,SAAS,CAAC,YAAY;iBACnB,UAAU,CACT,YAAY,EACZ,kBAAkB;gBAChB,CAAC,CAAC,EAAE,eAAe,EAAE,kBAAkB,CAAC,iBAAiB,EAAE;gBAC3D,CAAC,CAAC,SAAS,CACd;iBACA,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;KAC1B,CAAC,CAAA;IACF,OAAO;QACL,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE;KAChD,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,QAA2B,EAAE,QAA2B;IAC1F,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS;QAAE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,UAAU;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAClG,OAAO,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AACnD,CAAC;AAED;;;;GAIG;AACH;;;;;;GAMG;AACH,SAAS,wBAAwB,CAC/B,QAA2B,EAC3B,SAA0B;IAE1B,MAAM,KAAK,GAAG,QAAQ;SACnB,GAAG,EAAE;SACL,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC;SACjC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACb,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,YAAY,EAAE,GAAG,CAAC,YAAa;QAC/B,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;KAChD,CAAC,CAAC,CAAA;IACL,yFAAyF;IACzF,4FAA4F;IAC5F,8FAA8F;IAC9F,8FAA8F;IAC9F,gEAAgE;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7E,KAAK,CAAC,YAAY;QAChB,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,EAAE,UAAU,EAAE,OAAgB,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE;gBACrE,SAAS,EAAE,KAAK;aACjB;SACF;QACH,CAAC,CAAC,EAAE,CACP,CAAA;IACD,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,CAAA;IACjC,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,QAA0B;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAA;IAC5B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7C,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,cAAc,CAC3B,SAA0B,EAC1B,SAAoC;IAEpC,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,SAAS,IAAI,IAAI;QAAE,OAAO,SAAS,CAAA;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC1E,OAAO,MAAM,CAAC,MAAM;YAClB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7E,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,6FAA6F;QAC7F,mFAAmF;QACnF,YAAY,CAAC,IAAI,CAAC,8DAA8D,EAAE;YAChF,SAAS;YACT,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACtD,CAAC,CAAA;QACF,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAAC,UAG7B;IAIC,OAAO;QACL,uBAAuB,EAAE,UAAU,CAAC,0BAA0B,CAAC,QAAQ,EAAE;QACzE,kBAAkB,EAAE,UAAU,CAAC,qBAAqB,CAAC,QAAQ,EAAE;KAChE,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,oGAAoG;AACpG,MAAM,qBAAqB,GAAG,IAAI,CAAA;AAElC,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAc,EACd,IAA4B,EAC5B,IAAI,GAA2D,EAAE;IAEjE,IAAI,CAAC,KAAK;QAAE,OAAO,gBAAgB,CAAA;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,qBAAqB,CAAA;IACzD,IAAI,KAAgD,CAAA;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,IAAI,EAAE;YACN,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC/B,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,SAAS,IAAI,CAAC,CAAC,EAC3E,SAAS,CACV,CAAA;YACH,CAAC,CAAC;SACH,CAAC,CAAA;QACF,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAA;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,4DAA4D,EAAE;YAC9E,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACtD,CAAC,CAAA;QACF,OAAO,gBAAgB,CAAA;IACzB,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;AACH,CAAC;AAsCD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAA4B,EAC5B,WAAmB,EACnB,MAAM,GAAW,YAAY;IAE7B,MAAM,CAAC,qBAAqB,EAAE,aAAa,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9E,UAAU,CACR,CAAC,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,oCAAoC,IAAI,IAAI,CAAC,EACpF,GAAG,EAAE,CAAC,SAAS,CAAC,YAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,EAC1E,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAC1C;QACD,UAAU,CACR,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,CAAC,+BAA+B,EAClE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,EACrE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAClC;QACD,UAAU,CACR,CAAC,CAAC,SAAS,CAAC,0BAA0B,EACtC,GAAG,EAAE,CAAC,SAAS,CAAC,0BAA2B,CAAC,WAAW,CAAC,EACxD,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAClC;KACF,CAAC,CAAA;IACF,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAE,CAAA;AAChE,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAqB;IACpD,MAAM,GAAG,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,CAAA;IACvD,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;aAC3B,MAAM,CAAC,CAAC,KAAK,EAAqD,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;aACtF,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAC9C;KACF,CAAA;AACH,CAAC;AAGD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtF,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAEtE;;;;;GAKG;AACH,SAAS,mBAAmB,CAAmB,CAAa;IAC1D,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC1E,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,sBAAsB,CAC7B,MAAc,EACd,SAAoB,EACpB,GAAyF;IAEzF,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,OAAO,CAAA;IAChD,MAAM,YAAY,GAAkB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;QACvE,CAAC,CAAC,CAAC,OAAO,CAAC;QACX,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;YACvC,CAAC,CAAC,CAAC,WAAW,CAAC;YACf,CAAC,CAAC,EAAE,CAAA;IACR,MAAM,MAAM,GAAG,sBAAsB,CAAC;QACpC,MAAM;QACN,SAAS,EAAE;YACT,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,SAAS;SAC9C;QACD,YAAY;QACZ,UAAU,EAAE,GAAG,CAAC,UAAU;KAC3B,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAoC,MAAS;IACjE,MAAM,GAAG,GAAe,EAAE,CAAA;IAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAgB,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,kBAAkB,CAC/B,SAA0B,EAC1B,WAAmB,EACnB,eAA0C;IAE1C,MAAM,CACJ,QAAQ,EACR,KAAK;IACL,+EAA+E;IAC/E,kFAAkF;IAClF,8CAA8C;IAC9C,aAAa;IACb,kFAAkF;IAClF,sFAAsF;IACtF,mBAAmB;IACnB,uFAAuF;IACvF,kFAAkF;IAClF,mBAAmB;IACnB,6EAA6E;IAC7E,uDAAuD;IACvD,aAAa,EACb,YAAY;IACZ,iFAAiF;IACjF,gFAAgF;IAChF,uBAAuB;IACvB,YAAY;IACZ,8EAA8E;IAC9E,8EAA8E;IAC9E,gFAAgF;IAChF,0BAA0B;IAC1B,YAAY;IACZ,qFAAqF;IACrF,sFAAsF;IACtF,WAAW;IACX,eAAe;IACf,iFAAiF;IACjF,uBAAuB;IACvB,8EAA8E;IAC9E,gFAAgF;IAChF,+BAA+B;IAC/B,kBAAkB,EAClB,eAAe;IACf,gFAAgF;IAChF,qDAAqD;IACrD,WAAW;IACX,kFAAkF;IAClF,gEAAgE;IAChE,QAAQ;IACR,gFAAgF;IAChF,qFAAqF;IACrF,MAAM,EACN,cAAc,EACd,UAAU;IACV,oFAAoF;IACpF,yFAAyF;IACzF,2DAA2D;IAC3D,eAAe;IACf,4FAA4F;IAC5F,oFAAoF;IACpF,MAAM,EACP,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC;QAChD,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;QAC1C,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAClD,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QACxD,SAAS,CAAC,YAAY,EAAE,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC;QACjE,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QACtD,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACjD,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACjD,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACjD,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACpD,SAAS,CAAC,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QAC9C,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC3C,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QAChD,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC5C,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;QACnD,SAAS,CAAC,QAAQ,IAAI,eAAe,KAAK,SAAS;YACjD,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC;YAC5D,CAAC,CAAC,SAAS;QACb,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC;QAC1C,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9E,cAAc,CAAC,SAAS,EAAE,eAAe,CAAC;KAC3C,CAAC,CAAA;IACF,OAAO;QACL,QAAQ;QACR,KAAK;QACL,aAAa;QACb,mBAAmB;QACnB,mBAAmB;QACnB,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,eAAe;QACf,uBAAuB;QACvB,kBAAkB;QAClB,eAAe;QACf,WAAW;QACX,QAAQ;QACR,MAAM;QACN,cAAc;QACd,UAAU;QACV,eAAe;QACf,MAAM;KACP,CAAA;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,yFAAyF;IACzF,wFAAwF;IACxF,sFAAsF;IACtF,4FAA4F;IAC5F,4FAA4F;IAC5F,6EAA6E;IAC7E,cAAc,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QAC1E,MAAM,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAC1D,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,uBAAuB,CAC5F,IAAI,CAAC,EAAE,CACR,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACnD,UAAU;YACV,eAAe;YACf,WAAW,EAAE,IAAI,CAAC,EAAE;YACpB,MAAM,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,wBAAwB,CAC3E,IAAI,CAAC,EAAE,EACP,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACxB,CAAA;QACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;QACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAA;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC9C,UAAU;gBACV,QAAQ;gBACR,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;aAC1C,CAAC,CAAA;YACF,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;QACnC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAEhC,8EAA8E;QAC9E,4EAA4E;QAC5E,IAAI,SAAS,GAAkB,IAAI,CAAA;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,2EAA2E;gBAC3E,MAAM,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;gBACrE,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;YAC5B,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,CAAC,MAAM,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;YAC7E,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC5B,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,SAAS,CAAC,CAAA;QAC3F,kFAAkF;QAClF,qFAAqF;QACrF,mFAAmF;QACnF,mFAAmF;QACnF,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjE,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,mBAAmB,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACrE,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC;SACrC,CAAC,CAAA;QACF,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;QACzF,MAAM,eAAe,GAAG,uBAAuB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;QAC3E,iGAAiG;QACjG,8FAA8F;QAC9F,2FAA2F;QAC3F,MAAM,iBAAiB,GAAG,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAA;QAC1E,+FAA+F;QAC/F,iGAAiG;QACjG,MAAM,QAAQ,GAAG,IAAI;YACnB,CAAC,CAAC,MAAM,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;YACtE,CAAC,CAAC,IAAI,CAAA;QACR,MAAM,MAAM,GACV,QAAQ,IAAI,QAAQ,CAAC,OAAO;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE;YACjE,CAAC,CAAC,SAAS,CAAA;QACf,OAAO,CAAC,CAAC,IAAI,CACX;YACE,GAAG,QAAQ;YACX,KAAK;YACL,GAAG,WAAW;YACd,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,kBAAkB,EAAE,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC;YACrF,uBAAuB,EAAE,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YACjF,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,oBAAoB,CAAC,SAAS,CAAC;YAClC,UAAU;SACX,EACD,GAAG,CACJ,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACpD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;QAC3C,uFAAuF;QACvF,iFAAiF;QACjF,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC/E,oFAAoF;QACpF,+EAA+E;QAC/E,qFAAqF;QACrF,MAAM,EACJ,QAAQ,EACR,KAAK,EACL,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,QAAQ,EACR,MAAM,EACN,cAAc,EACd,UAAU,EACV,eAAe,EACf,MAAM,GACP,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,eAAe,CAAC,CAAA;QACrE,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;QACzF,MAAM,eAAe,GAAG,uBAAuB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;QAC3E,iGAAiG;QACjG,8FAA8F;QAC9F,2FAA2F;QAC3F,MAAM,iBAAiB,GAAG,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAA;QAE1E,4FAA4F;QAC5F,4FAA4F;QAC5F,4FAA4F;QAC5F,qCAAqC;QACrC,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC;YACjD,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE;YAC/B,QAAQ,EAAE,cAAc,IAAI,EAAE;YAC9B,KAAK,EAAE,eAAe,IAAI,EAAE;YAC5B,cAAc,EAAE,SAAS,CAAC,cAAc;SACzC,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,WAAW,CAC1B;YACE,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EAAE,cAAc;YACxB,aAAa;YACb,aAAa;SACd,EACD,cAAc,CACf,CAAA;QAED,oFAAoF;QACpF,wFAAwF;QACxF,0FAA0F;QAC1F,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE;YACvD,SAAS,EAAE,eAAe;YAC1B,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE;SAChC,CAAC,CAAA;QAEF,yFAAyF;QACzF,6FAA6F;QAC7F,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC/C,MAAM,MAAM,GACV,cAAc,IAAI,cAAc,CAAC,WAAW,KAAK,WAAW;YAC1D,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,EAAE;YAC7E,CAAC,CAAC,SAAS,CAAA;QAEf,OAAO,CAAC,CAAC,IAAI,CACX;YACE,GAAG,QAAQ;YACX,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,KAAK;YACL,GAAG,WAAW;YACd,kBAAkB,EAAE,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC;YACrF,uBAAuB,EAAE,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YACjF,GAAG,oBAAoB,CAAC,SAAS,CAAC;YAClC,UAAU;YACV,yFAAyF;YACzF,2EAA2E;YAC3E,4FAA4F;YAC5F,2FAA2F;YAC3F,wDAAwD;YACxD,GAAG,aAAa,CAAC;gBACf,MAAM;gBACN,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,mBAAmB;gBACnB,mBAAmB;gBACnB,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,YAAY;gBACZ,YAAY;gBACZ,YAAY;gBACZ,eAAe;gBACf,uBAAuB;gBACvB,kBAAkB;gBAClB,eAAe;gBACf,WAAW;gBACX,QAAQ;gBACR,MAAM;gBACN,cAAc,EAAE,QAAQ,CAAC,QAAQ;gBACjC,gBAAgB;gBAChB,eAAe;gBACf,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;gBAC3E,MAAM;aACP,CAAC;SACH,EACD,GAAG,CACJ,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvD,6FAA6F;QAC7F,6FAA6F;QAC7F,sFAAsF;QACtF,iBAAiB,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE;YAC1F,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,CAAA;QACF,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvD,iBAAiB,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAA;QACvC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAA;QACzE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"WorkspaceController.js","sourceRoot":"","sources":["../../../src/modules/workspaces/WorkspaceController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import type { InfraSetup, InfraSetupArea } from '@cat-factory/contracts';
2
+ import type { Logger } from '@cat-factory/kernel';
3
+ export declare function areaStatus(wired: boolean, read: () => Promise<unknown>, opts?: {
4
+ area?: string;
5
+ logger?: Logger;
6
+ timeoutMs?: number;
7
+ }): Promise<'not_applicable' | 'not_defined' | 'configured'>;
8
+ /**
9
+ * The subset of the request container the infra-setup projection reads. Named (rather than inlined)
10
+ * so the presence-probe method shapes are explicit and a signature change is caught here.
11
+ *
12
+ * The env/runner probes use `hasConnection` — a yes/no that does NOT decrypt the secret bundle.
13
+ * `resolveBinaryArtifactStore` is the store's single source of truth (an account can select a
14
+ * backend whose credentials don't yet resolve, which a presence-only check couldn't tell from a
15
+ * live one); it reads through the AccountSettingsService's short-TTL cache, so the underlying
16
+ * secret decrypt is amortized across board loads rather than paid on each.
17
+ */
18
+ export interface InfraSetupSources {
19
+ environments?: {
20
+ connectionService: {
21
+ hasConnection(ws: string): Promise<boolean>;
22
+ };
23
+ };
24
+ runners?: {
25
+ connectionService: {
26
+ hasConnection(ws: string): Promise<boolean>;
27
+ };
28
+ };
29
+ /**
30
+ * True ONLY when a self-hosted runner pool is the sole execution backend for container agents
31
+ * (so an unregistered pool means NO agent can run) — i.e. this facade has no built-in per-run
32
+ * container runtime. Only remote/stock Node sets it: Cloudflare has built-in per-run containers
33
+ * and local mode runs agents in per-run HOST containers, so on both the pool is an OPTIONAL
34
+ * alternate target, not the executor of record. Without this gate the mere presence of the
35
+ * (always-wired-on-Node, opt-in-on-Cloudflare) runner surface would falsely nag "no agent can
36
+ * run" on local mode and on a Cloudflare deployment that set `RUNNERS_ENABLED`.
37
+ */
38
+ agentExecutorRequiresRunnerPool?: boolean;
39
+ /**
40
+ * True when an ephemeral-environment PROVIDER connection is genuinely mandatory for env-dependent
41
+ * Tester runs — i.e. this deployment has no zero-config in-container test-env default. Gates the
42
+ * `ephemeralEnvironments` area exactly like `agentExecutorRequiresRunnerPool` gates the executor:
43
+ * local mode on a Docker-family runtime stands the Tester's deps up with `local-compose` (no
44
+ * connection), so a missing provider must NOT nag there. Defaults to required (`?? true`) when
45
+ * unset, preserving the Worker / stock-Node behaviour (their only test-env backend needs a
46
+ * provider). See `testEnvHasZeroConfigDefault`.
47
+ */
48
+ ephemeralEnvironmentsRequireProvider?: boolean;
49
+ resolveBinaryArtifactStore?: (ws: string) => Promise<unknown>;
50
+ }
51
+ /**
52
+ * Whether an infra area APPLIES to this deployment at all — the one predicate behind both the
53
+ * projection's `not_applicable` verdict and the reachability watcher's decision to probe.
54
+ *
55
+ * It has to be one definition, because the two paths converge on one banner and the failure of
56
+ * disagreement is silent. The watcher gated only on "is the module wired", which is strictly
57
+ * looser: `agentExecutorRequiresRunnerPool` is unset on Cloudflare and false on local mode, so a
58
+ * dead-but-optional runner pool raised a card, paged Slack and pushed `unreachable` for an area the
59
+ * projection then refused to fold (`applyInfraSetupTransition` only downgrades a `configured`
60
+ * area). The result was an outage nobody could see on reload — a probe cost paid to report nothing.
61
+ * A deployment that does not use an area must not be told it is down.
62
+ */
63
+ export declare function infraSetupAreaApplies(sources: InfraSetupSources, area: InfraSetupArea): boolean;
64
+ export declare function snapshotInfraSetup(container: InfraSetupSources, workspaceId: string, logger?: Logger): Promise<InfraSetup>;
65
+ //# sourceMappingURL=infraSetup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infraSetup.d.ts","sourceRoot":"","sources":["../../../src/modules/workspaces/infraSetup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAqCjD,wBAAsB,UAAU,CAC9B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC5B,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChE,OAAO,CAAC,gBAAgB,GAAG,aAAa,GAAG,YAAY,CAAC,CAwB1D;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE;QAAE,iBAAiB,EAAE;YAAE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;IACrF,OAAO,CAAC,EAAE;QAAE,iBAAiB,EAAE;YAAE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;IAChF;;;;;;;;OAQG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC;;;;;;;;OAQG;IACH,oCAAoC,CAAC,EAAE,OAAO,CAAA;IAC9C,0BAA0B,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAS/F;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,iBAAiB,EAC5B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,MAAqB,GAC5B,OAAO,CAAC,UAAU,CAAC,CAmBrB"}
@@ -0,0 +1,89 @@
1
+ import { logger as sharedLogger } from '../../observability/logger.js';
2
+ // The per-area infrastructure-SETUP projection: which infra areas this deployment uses, and
3
+ // whether the operator has wired each one. Extracted from `WorkspaceController` because it now has
4
+ // TWO consumers that must not disagree — the board snapshot (which reports an area's status) and
5
+ // the reachability watcher (which probes an area's saved connection). See
6
+ // {@link infraSetupAreaApplies} for why that pairing is a correctness constraint rather than a
7
+ // tidiness one.
8
+ /**
9
+ * The per-area infrastructure-setup status for a workspace, computed from whatever THIS
10
+ * deployment actually wired (so it's runtime-symmetric by construction — the shared controller
11
+ * derives it, no per-facade code). Each area is:
12
+ * - `not_applicable` — the integration isn't wired for this runtime (nothing to configure), so
13
+ * the read function is absent, or the area does not APPLY here (see
14
+ * {@link infraSetupAreaApplies}).
15
+ * - `not_defined` — the deployment CAN use it but the operator hasn't set it up (banner-worthy):
16
+ * no environment/runner-pool connection registered, or the account selected no content-storage
17
+ * backend (Node defaults to `off`).
18
+ * - `configured` — a connection / backend is defined.
19
+ * - `unreachable` — configured, but the reachability watcher's live probe cannot reach it. NOT
20
+ * produced here: it is folded on from the watcher's record by `applyInfraReachability`, so the
21
+ * board-load path never probes.
22
+ *
23
+ * IMPORTANT: this is an ADVISORY projection for a banner — it must never break the workspace
24
+ * snapshot (the board load). Each area's read is fault-isolated: a read that throws (e.g. a
25
+ * mothership persistence RPC that doesn't expose the connection repo, or a rotated encryption key
26
+ * that fails a secret decrypt) OR hangs past {@link AREA_PROBE_TIMEOUT_MS} degrades that area to
27
+ * `not_applicable` ("can't tell → don't nag") rather than 500-ing / stalling `GET /workspaces/:id`.
28
+ * A swallowed error/timeout is logged (best-effort) so a persistent misconfig that reads as
29
+ * `not_applicable` is still diagnosable instead of silently invisible.
30
+ */
31
+ /** Cap on a single area probe so a slow/stuck backend read can't stall the whole board snapshot. */
32
+ const AREA_PROBE_TIMEOUT_MS = 2000;
33
+ export async function areaStatus(wired, read, opts = {}) {
34
+ if (!wired)
35
+ return 'not_applicable';
36
+ const timeoutMs = opts.timeoutMs ?? AREA_PROBE_TIMEOUT_MS;
37
+ let timer;
38
+ try {
39
+ const result = await Promise.race([
40
+ read(),
41
+ new Promise((_, reject) => {
42
+ timer = setTimeout(() => reject(new Error(`infra-setup probe timed out after ${timeoutMs}ms`)), timeoutMs);
43
+ }),
44
+ ]);
45
+ return result ? 'configured' : 'not_defined';
46
+ }
47
+ catch (err) {
48
+ opts.logger?.warn('infra-setup probe failed; degrading area to not_applicable', {
49
+ area: opts.area,
50
+ err: err instanceof Error ? err.message : String(err),
51
+ });
52
+ return 'not_applicable';
53
+ }
54
+ finally {
55
+ if (timer)
56
+ clearTimeout(timer);
57
+ }
58
+ }
59
+ /**
60
+ * Whether an infra area APPLIES to this deployment at all — the one predicate behind both the
61
+ * projection's `not_applicable` verdict and the reachability watcher's decision to probe.
62
+ *
63
+ * It has to be one definition, because the two paths converge on one banner and the failure of
64
+ * disagreement is silent. The watcher gated only on "is the module wired", which is strictly
65
+ * looser: `agentExecutorRequiresRunnerPool` is unset on Cloudflare and false on local mode, so a
66
+ * dead-but-optional runner pool raised a card, paged Slack and pushed `unreachable` for an area the
67
+ * projection then refused to fold (`applyInfraSetupTransition` only downgrades a `configured`
68
+ * area). The result was an outage nobody could see on reload — a probe cost paid to report nothing.
69
+ * A deployment that does not use an area must not be told it is down.
70
+ */
71
+ export function infraSetupAreaApplies(sources, area) {
72
+ switch (area) {
73
+ case 'ephemeralEnvironments':
74
+ return !!sources.environments && (sources.ephemeralEnvironmentsRequireProvider ?? true);
75
+ case 'agentExecutor':
76
+ return !!sources.runners && !!sources.agentExecutorRequiresRunnerPool;
77
+ case 'binaryStorage':
78
+ return !!sources.resolveBinaryArtifactStore;
79
+ }
80
+ }
81
+ export async function snapshotInfraSetup(container, workspaceId, logger = sharedLogger) {
82
+ const [ephemeralEnvironments, agentExecutor, binaryStorage] = await Promise.all([
83
+ areaStatus(infraSetupAreaApplies(container, 'ephemeralEnvironments'), () => container.environments.connectionService.hasConnection(workspaceId), { area: 'ephemeralEnvironments', logger }),
84
+ areaStatus(infraSetupAreaApplies(container, 'agentExecutor'), () => container.runners.connectionService.hasConnection(workspaceId), { area: 'agentExecutor', logger }),
85
+ areaStatus(infraSetupAreaApplies(container, 'binaryStorage'), () => container.resolveBinaryArtifactStore(workspaceId), { area: 'binaryStorage', logger }),
86
+ ]);
87
+ return { ephemeralEnvironments, agentExecutor, binaryStorage };
88
+ }
89
+ //# sourceMappingURL=infraSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infraSetup.js","sourceRoot":"","sources":["../../../src/modules/workspaces/infraSetup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type Logger } from '@cat-factory/kernel';
2
+ import type { ServerContainer } from '../http/env.js';
3
+ /**
4
+ * Run one reachability pass across every workspace. Returns how many areas started failing and how
5
+ * many recovered — the two numbers worth a log line; an unchanged pass reports zeros and stays
6
+ * quiet. Enumerates boards from the workspace projection (`workspaceService.list(null)`), the same
7
+ * tenant-enumeration shape the platform-health and artifact-retention sweeps use.
8
+ *
9
+ * Time comes from the notification service's injected clock (`raise`/`clearByType` stamp `now`
10
+ * themselves) and from `Date.now()` for the pushed event, matching every other publisher.
11
+ */
12
+ export declare function sweepInfraReachability(container: ServerContainer, logger?: Logger): Promise<{
13
+ raised: number;
14
+ cleared: number;
15
+ }>;
16
+ //# sourceMappingURL=infraReachability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infraReachability.d.ts","sourceRoot":"","sources":["../../src/runtime/infraReachability.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,MAAM,EAMZ,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AA4BrD;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,eAAe,EAC1B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAqE9C"}
@@ -0,0 +1,188 @@
1
+ import { INFRA_SETUP_PROBED_AREAS } from '@cat-factory/contracts';
2
+ import { decideReachability, describeError, recordedUnreachableAreas, redactSecrets, runBestEffort, } from '@cat-factory/kernel';
3
+ import { infraSetupAreaApplies } from '../modules/workspaces/infraSetup.js';
4
+ /**
5
+ * Run one reachability pass across every workspace. Returns how many areas started failing and how
6
+ * many recovered — the two numbers worth a log line; an unchanged pass reports zeros and stays
7
+ * quiet. Enumerates boards from the workspace projection (`workspaceService.list(null)`), the same
8
+ * tenant-enumeration shape the platform-health and artifact-retention sweeps use.
9
+ *
10
+ * Time comes from the notification service's injected clock (`raise`/`clearByType` stamp `now`
11
+ * themselves) and from `Date.now()` for the pushed event, matching every other publisher.
12
+ */
13
+ export async function sweepInfraReachability(container, logger) {
14
+ const cfg = container.config.infraReachability;
15
+ const notifications = container.notifications;
16
+ if (!cfg.enabled || !notifications)
17
+ return { raised: 0, cleared: 0 };
18
+ // NEVER from a mothership-mode node. This is a DEPLOYMENT-level sweep: every board such a node
19
+ // can see belongs to the org, so each laptop running it would probe every workspace's
20
+ // infrastructure and then race every other laptop on the same shared cards. The mothership runs
21
+ // it. This is also why the card read stays mothership-INTERNAL (`listOpenByType` is classified
22
+ // `sweeper`, not allow-listed on the persistence RPC) — without this guard the pass would fail
23
+ // with `unknown_method` on every interval instead of being cleanly out of scope.
24
+ if (container.config.localMode?.mothership)
25
+ return { raised: 0, cleared: 0 };
26
+ const sources = probeSources(container);
27
+ // Nothing on this deployment can be probed (neither integration is wired, or neither area applies
28
+ // here), so the pass would enumerate every board only to skip it. Bail before the workspace read.
29
+ if (!sources.ephemeralEnvironments && !sources.agentExecutor)
30
+ return { raised: 0, cleared: 0 };
31
+ const workspaces = await container.workspaceService.list(null);
32
+ const workspaceIds = workspaces.map((ws) => ws.id);
33
+ // Which boards already hold an open card — ONE batched read up front rather than a
34
+ // `findOpenByType` point-read per workspace inside the loop (that N+1 would run across the whole
35
+ // deployment every pass). It is also the state `decideReachability` compares against, so the
36
+ // healthy steady state costs exactly this one read plus the probes.
37
+ const cards = await notifications.service.listOpenByType(workspaceIds, 'infra_unreachable');
38
+ let raised = 0;
39
+ let cleared = 0;
40
+ for (const workspaceId of workspaceIds) {
41
+ try {
42
+ const previous = recordedUnreachableAreas(cards.get(workspaceId));
43
+ const observed = await probeWorkspace(sources, workspaceId, cfg.probeTimeoutMs);
44
+ const decision = decideReachability(previous, observed);
45
+ // Gate on the RECORD, not on the transitions: an area that is no longer configured drops out
46
+ // of the record while announcing nothing, and short-circuiting on `transitions` would leave
47
+ // its card open forever (nothing else ever clears it).
48
+ if (!decision.recordChanged && decision.transitions.length === 0)
49
+ continue;
50
+ // Persist FIRST, announce second. The card is the durable record the next pass compares
51
+ // against, so a push that fails after it commits costs one live banner update (the board's
52
+ // own snapshot still folds the card on next load); a push that succeeded against a record
53
+ // that never landed would re-announce the same outage on every subsequent pass.
54
+ if (decision.recordChanged) {
55
+ if (decision.unreachableAreas.length > 0) {
56
+ await notifications.service.raise(workspaceId, {
57
+ type: 'infra_unreachable',
58
+ blockId: null,
59
+ executionId: null,
60
+ ...cardContent(decision.unreachableAreas),
61
+ payload: { unreachableAreas: decision.unreachableAreas },
62
+ });
63
+ }
64
+ else {
65
+ await notifications.service.clearByType(workspaceId, 'infra_unreachable');
66
+ }
67
+ }
68
+ for (const change of decision.transitions) {
69
+ if (change.status === 'unreachable')
70
+ raised += 1;
71
+ else
72
+ cleared += 1;
73
+ await publish(container, workspaceId, change);
74
+ }
75
+ }
76
+ catch (err) {
77
+ logger?.warn('infra-reachability: failed to evaluate workspace', {
78
+ scope: 'infra-reachability',
79
+ workspaceId,
80
+ ...describeError(err),
81
+ });
82
+ }
83
+ }
84
+ return { raised, cleared };
85
+ }
86
+ /**
87
+ * Bind the per-area probes this deployment can actually run. An area that is absent here is one
88
+ * `decideReachability` never hears about, so it keeps whatever the card recorded rather than being
89
+ * reported as recovered by a deployment that never asked.
90
+ *
91
+ * Wiring is necessary but NOT sufficient: each area must also APPLY to this deployment
92
+ * (`infraSetupAreaApplies`, the same predicate the snapshot projection reports `not_applicable`
93
+ * from). Gating on the wired module alone was strictly looser than the projection — on Cloudflare
94
+ * and local mode the runner pool is an optional alternate target, so a dead one raised a card and
95
+ * paged Slack for an area whose banner the projection then refused to render. Probe only what this
96
+ * deployment would actually nag about.
97
+ */
98
+ function probeSources(container) {
99
+ const environments = container.environments?.connectionService;
100
+ const runners = container.runners?.connectionService;
101
+ const applies = (area) => infraSetupAreaApplies(container, area);
102
+ return {
103
+ ...(environments && applies('ephemeralEnvironments')
104
+ ? { ephemeralEnvironments: (ws) => environments.probeSavedConnection(ws) }
105
+ : {}),
106
+ ...(runners && applies('agentExecutor')
107
+ ? { agentExecutor: (ws) => runners.probeSavedConnection(ws) }
108
+ : {}),
109
+ };
110
+ }
111
+ /**
112
+ * Probe every wired area for one workspace, concurrently — the areas are independent connections,
113
+ * so a slow apiserver must not serialise behind a slow runner pool.
114
+ */
115
+ async function probeWorkspace(sources, workspaceId, timeoutMs) {
116
+ const wired = INFRA_SETUP_PROBED_AREAS.filter((area) => sources[area]);
117
+ return Promise.all(wired.map((area) => probeArea(() => sources[area](workspaceId), area, timeoutMs)));
118
+ }
119
+ /**
120
+ * Run one area's probe into a {@link ProbeOutcome}.
121
+ *
122
+ * FOUR results, deliberately distinct (degrade loudly), because they need four dispositions:
123
+ * - a probe that ANSWERED `ok: false`, or didn't answer inside the budget ⇒ a real outage;
124
+ * - a probe that THREW, or that could not be asked (`unprobeable`) ⇒ INDETERMINATE, leaving the
125
+ * record untouched. A throw is a local fault (the connection wouldn't resolve, its secret bundle
126
+ * wouldn't decrypt — classically a node with no access to the sealing key), and blaming the
127
+ * operator's cluster for our own missing key is exactly the "never infer a cause from the
128
+ * presence of an error" trap;
129
+ * - nothing registered (`absent`) ⇒ NOT_CONFIGURED, which forgets a recorded outage without
130
+ * announcing a recovery, so a card can't outlive the connection it reports on.
131
+ *
132
+ * NOTE the timeout only stops us WAITING: the underlying request keeps running to its own
133
+ * completion, because neither connection-test port takes an `AbortSignal` today. Threading one
134
+ * through both provider ports (and every backend that implements them) is the real fix and is out
135
+ * of this change's scope; the cost is a wasted in-flight request per timed-out probe, bounded by
136
+ * the interval.
137
+ */
138
+ async function probeArea(probe, area, timeoutMs) {
139
+ let timer;
140
+ try {
141
+ const timeout = new Promise((resolve) => {
142
+ timer = setTimeout(() => resolve('timeout'), timeoutMs);
143
+ });
144
+ const probed = await Promise.race([probe(), timeout]);
145
+ if (probed === 'timeout') {
146
+ return { area, verdict: 'unreachable', detail: `No answer within ${timeoutMs}ms` };
147
+ }
148
+ if (probed.state === 'absent')
149
+ return { area, verdict: 'not_configured' };
150
+ if (probed.state === 'unprobeable') {
151
+ return { area, verdict: 'indeterminate', detail: probed.reason };
152
+ }
153
+ if (probed.result.ok)
154
+ return { area, verdict: 'reachable' };
155
+ // A provider's failure message routinely echoes the request URL it called, which can carry a
156
+ // token in the query — so it is scrubbed here, at the point it becomes operator-facing text.
157
+ const detail = probed.result.message ? redactSecrets(probed.result.message) : null;
158
+ return { area, verdict: 'unreachable', ...(detail ? { detail } : {}) };
159
+ }
160
+ catch {
161
+ return { area, verdict: 'indeterminate' };
162
+ }
163
+ finally {
164
+ if (timer)
165
+ clearTimeout(timer);
166
+ }
167
+ }
168
+ /** Human-facing card text, derived from the failing AREAS only (see the payload's dedup note). */
169
+ function cardContent(areas) {
170
+ const names = {
171
+ ephemeralEnvironments: 'the ephemeral-environment provider',
172
+ agentExecutor: 'the self-hosted runner pool',
173
+ binaryStorage: 'binary storage',
174
+ };
175
+ const listed = areas.map((area) => names[area]).join(' and ');
176
+ return {
177
+ title: 'Infrastructure is unreachable',
178
+ body: `A live probe could not reach ${listed}. It is configured, so this is an outage rather than a setup gap — the agents that depend on it cannot run until it answers again.`,
179
+ };
180
+ }
181
+ /** Push one transition, best-effort: a failed push must never abort the pass. */
182
+ async function publish(container, workspaceId, change) {
183
+ const publisher = container.executionEventPublisher;
184
+ if (!publisher.infraSetupChanged)
185
+ return;
186
+ await runBestEffort(container.logger, 'infra-reachability publish', () => publisher.infraSetupChanged(workspaceId, change), { workspaceId, area: change.area, status: change.status });
187
+ }
188
+ //# sourceMappingURL=infraReachability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infraReachability.js","sourceRoot":"","sources":["../../src/runtime/infraReachability.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/server",
3
- "version": "0.180.0",
3
+ "version": "0.181.0",
4
4
  "description": "Runtime-neutral HTTP layer for the Agent Architecture Board: the Hono controllers, middleware (auth/authz/CORS/error), request helpers and the gateway seams shared by every deployment facade (Cloudflare Worker, Node service).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,13 +30,13 @@
30
30
  "hono": "^4.12.32",
31
31
  "pino": "^10.3.1",
32
32
  "valibot": "^1.4.2",
33
- "@cat-factory/agents": "0.89.0",
34
- "@cat-factory/contracts": "0.197.0",
35
- "@cat-factory/integrations": "0.111.2",
36
- "@cat-factory/kernel": "0.195.0",
37
- "@cat-factory/orchestration": "0.172.0",
38
- "@cat-factory/prompt-fragments": "0.15.20",
39
- "@cat-factory/spend": "0.12.125"
33
+ "@cat-factory/agents": "0.89.1",
34
+ "@cat-factory/contracts": "0.198.0",
35
+ "@cat-factory/integrations": "0.112.0",
36
+ "@cat-factory/kernel": "0.196.0",
37
+ "@cat-factory/orchestration": "0.172.1",
38
+ "@cat-factory/prompt-fragments": "0.15.21",
39
+ "@cat-factory/spend": "0.12.126"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^26.1.1",