@ashlr/hub 3.2.7 → 3.3.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 (149) hide show
  1. package/CHANGELOG.md +268 -0
  2. package/README.md +4 -1
  3. package/dist/build-identity.json +2 -2
  4. package/dist/cli/activation.d.ts +41 -0
  5. package/dist/cli/activation.js +485 -0
  6. package/dist/cli/activation.js.map +1 -0
  7. package/dist/cli/audit.js +18 -0
  8. package/dist/cli/audit.js.map +1 -1
  9. package/dist/cli/backlog.d.ts +0 -5
  10. package/dist/cli/backlog.js +18 -0
  11. package/dist/cli/backlog.js.map +1 -1
  12. package/dist/cli/comms.js +20 -0
  13. package/dist/cli/comms.js.map +1 -1
  14. package/dist/cli/completions.d.ts +6 -1
  15. package/dist/cli/completions.js +35 -11
  16. package/dist/cli/completions.js.map +1 -1
  17. package/dist/cli/daemon.js +10 -3
  18. package/dist/cli/daemon.js.map +1 -1
  19. package/dist/cli/demo.d.ts +0 -27
  20. package/dist/cli/demo.js +17 -0
  21. package/dist/cli/demo.js.map +1 -1
  22. package/dist/cli/help.js +19 -3
  23. package/dist/cli/help.js.map +1 -1
  24. package/dist/cli/inbox.d.ts +14 -2
  25. package/dist/cli/inbox.js +137 -23
  26. package/dist/cli/inbox.js.map +1 -1
  27. package/dist/cli/index.d.ts +1 -0
  28. package/dist/cli/index.js +10 -0
  29. package/dist/cli/index.js.map +1 -1
  30. package/dist/cli/onboard.d.ts +0 -13
  31. package/dist/cli/onboard.js +20 -0
  32. package/dist/cli/onboard.js.map +1 -1
  33. package/dist/cli/resources.js +15 -0
  34. package/dist/cli/resources.js.map +1 -1
  35. package/dist/cli/run.js +1 -1
  36. package/dist/cli/run.js.map +1 -1
  37. package/dist/cli/sandbox.js +43 -0
  38. package/dist/cli/sandbox.js.map +1 -1
  39. package/dist/cli/tui.d.ts +0 -6
  40. package/dist/cli/tui.js +14 -0
  41. package/dist/cli/tui.js.map +1 -1
  42. package/dist/core/config.js +70 -0
  43. package/dist/core/config.js.map +1 -1
  44. package/dist/core/daemon/activation-permit.d.ts +268 -33
  45. package/dist/core/daemon/activation-permit.js +1111 -106
  46. package/dist/core/daemon/activation-permit.js.map +1 -1
  47. package/dist/core/daemon/loop.d.ts +13 -1
  48. package/dist/core/daemon/loop.js +192 -9
  49. package/dist/core/daemon/loop.js.map +1 -1
  50. package/dist/core/daemon/runtime-activation-resident-start-protocol.d.ts +141 -0
  51. package/dist/core/daemon/runtime-activation-resident-start-protocol.js +462 -0
  52. package/dist/core/daemon/runtime-activation-resident-start-protocol.js.map +1 -0
  53. package/dist/core/daemon/runtime-activation-resident-start-runtime.d.ts +27 -0
  54. package/dist/core/daemon/runtime-activation-resident-start-runtime.js +28 -0
  55. package/dist/core/daemon/runtime-activation-resident-start-runtime.js.map +1 -0
  56. package/dist/core/daemon/runtime-activation-stopped-consumer.d.ts +139 -0
  57. package/dist/core/daemon/runtime-activation-stopped-consumer.js +995 -0
  58. package/dist/core/daemon/runtime-activation-stopped-consumer.js.map +1 -0
  59. package/dist/core/daemon/runtime-activation-stopped-runtime.d.ts +36 -0
  60. package/dist/core/daemon/runtime-activation-stopped-runtime.js +134 -0
  61. package/dist/core/daemon/runtime-activation-stopped-runtime.js.map +1 -0
  62. package/dist/core/daemon/runtime-activation-transaction.d.ts +41 -17
  63. package/dist/core/daemon/runtime-activation-transaction.js +80 -11
  64. package/dist/core/daemon/runtime-activation-transaction.js.map +1 -1
  65. package/dist/core/daemon/runtime-release-dependency-inventory.js +1 -0
  66. package/dist/core/daemon/runtime-release-dependency-inventory.js.map +1 -1
  67. package/dist/core/daemon/service-install-authority.d.ts +0 -4
  68. package/dist/core/daemon/service-install-authority.js +18 -3
  69. package/dist/core/daemon/service-install-authority.js.map +1 -1
  70. package/dist/core/dashboard.d.ts +10 -0
  71. package/dist/core/dashboard.js +103 -28
  72. package/dist/core/dashboard.js.map +1 -1
  73. package/dist/core/effective-config.js +7 -0
  74. package/dist/core/effective-config.js.map +1 -1
  75. package/dist/core/fleet/automerge-pass.js +33 -0
  76. package/dist/core/fleet/automerge-pass.js.map +1 -1
  77. package/dist/core/fleet/decisions-ledger.js +35 -12
  78. package/dist/core/fleet/decisions-ledger.js.map +1 -1
  79. package/dist/core/fleet/external-skill-git-capture.js +9 -1
  80. package/dist/core/fleet/external-skill-git-capture.js.map +1 -1
  81. package/dist/core/fleet/judge-decision-metadata.d.ts +8 -1
  82. package/dist/core/fleet/judge-decision-metadata.js +14 -1
  83. package/dist/core/fleet/judge-decision-metadata.js.map +1 -1
  84. package/dist/core/fleet/manager.d.ts +15 -1
  85. package/dist/core/fleet/manager.js +108 -30
  86. package/dist/core/fleet/manager.js.map +1 -1
  87. package/dist/core/fleet/post-merge-credit.d.ts +134 -9
  88. package/dist/core/fleet/post-merge-credit.js +350 -10
  89. package/dist/core/fleet/post-merge-credit.js.map +1 -1
  90. package/dist/core/fleet/self-improve.d.ts +34 -1
  91. package/dist/core/fleet/self-improve.js +106 -1
  92. package/dist/core/fleet/self-improve.js.map +1 -1
  93. package/dist/core/fleet/skill-library.d.ts +21 -2
  94. package/dist/core/fleet/skill-library.js +54 -12
  95. package/dist/core/fleet/skill-library.js.map +1 -1
  96. package/dist/core/fleet/status.js +1 -0
  97. package/dist/core/fleet/status.js.map +1 -1
  98. package/dist/core/fleet/worked-ledger.d.ts +22 -0
  99. package/dist/core/fleet/worked-ledger.js +32 -0
  100. package/dist/core/fleet/worked-ledger.js.map +1 -1
  101. package/dist/core/foundry/automerge-scope-policy.d.ts +2 -2
  102. package/dist/core/foundry/automerge-scope-policy.js +9 -2
  103. package/dist/core/foundry/automerge-scope-policy.js.map +1 -1
  104. package/dist/core/goals/store.js +18 -4
  105. package/dist/core/goals/store.js.map +1 -1
  106. package/dist/core/inbox/apply.js +5 -2
  107. package/dist/core/inbox/apply.js.map +1 -1
  108. package/dist/core/inbox/merge.d.ts +94 -1
  109. package/dist/core/inbox/merge.js +349 -16
  110. package/dist/core/inbox/merge.js.map +1 -1
  111. package/dist/core/integrations/github.d.ts +2 -0
  112. package/dist/core/integrations/github.js +2 -1
  113. package/dist/core/integrations/github.js.map +1 -1
  114. package/dist/core/learn/reflect.d.ts +42 -4
  115. package/dist/core/learn/reflect.js +56 -5
  116. package/dist/core/learn/reflect.js.map +1 -1
  117. package/dist/core/run/engines.d.ts +8 -0
  118. package/dist/core/run/engines.js +9 -1
  119. package/dist/core/run/engines.js.map +1 -1
  120. package/dist/core/run/learned-router.js +28 -3
  121. package/dist/core/run/learned-router.js.map +1 -1
  122. package/dist/core/run/orchestrator.d.ts +7 -2
  123. package/dist/core/run/orchestrator.js +86 -60
  124. package/dist/core/run/orchestrator.js.map +1 -1
  125. package/dist/core/swarm/rollback.d.ts +11 -0
  126. package/dist/core/swarm/rollback.js +54 -0
  127. package/dist/core/swarm/rollback.js.map +1 -1
  128. package/dist/core/swarm/runner.js +94 -8
  129. package/dist/core/swarm/runner.js.map +1 -1
  130. package/dist/core/types.d.ts +100 -1
  131. package/dist/core/types.js.map +1 -1
  132. package/dist/core/web/api.js +105 -7
  133. package/dist/core/web/api.js.map +1 -1
  134. package/dist/core/web/control.d.ts +20 -0
  135. package/dist/core/web/control.js +44 -32
  136. package/dist/core/web/control.js.map +1 -1
  137. package/dist/core/web/fleet-status-cache.d.ts +68 -0
  138. package/dist/core/web/fleet-status-cache.js +120 -0
  139. package/dist/core/web/fleet-status-cache.js.map +1 -0
  140. package/dist/core/web/public/next/assets/index-CY0U241s.css +1 -0
  141. package/dist/core/web/public/next/assets/index-Ct0mf8n4.js +69 -0
  142. package/dist/core/web/public/next/assets/index-Ct0mf8n4.js.map +1 -0
  143. package/dist/core/web/public/next/index.html +15 -0
  144. package/dist/release-dependency-inventory.json +1 -1
  145. package/docs/RUNTIME_ACTIVATION_AUTHORITY.md +126 -21
  146. package/docs/contracts/CONTRACT-M521.md +102 -0
  147. package/package.json +20 -3
  148. package/schema/config.schema.json +800 -5
  149. package/node_modules/which/CHANGELOG.md +0 -166
@@ -15,7 +15,8 @@
15
15
  * ControlSnapshot.subscriptionLimits — rolling-window usage + honest provider notes (M63)
16
16
  * ControlSnapshot.logs — most-recent-first, capped 50
17
17
  */
18
- import { buildFleetStatus, resolveAutonomyControlMode, } from '../fleet/status.js';
18
+ import { resolveAutonomyControlMode, } from '../fleet/status.js';
19
+ import { getCachedFleetStatus } from './fleet-status-cache.js';
19
20
  import { getProviderRegistry } from '../providers.js';
20
21
  import { buildRollup, modelToProviderKey, LOCAL_PROVIDER_KEYS } from '../observability/rollup.js';
21
22
  import { readPublicDaemonObservation, } from '../daemon/public-observation.js';
@@ -576,8 +577,11 @@ export async function buildFleetActivity(cfg) {
576
577
  complete: false,
577
578
  reason: 'unavailable',
578
579
  };
580
+ let recentTicksFreshness = { stale: false, ageMs: 0 };
579
581
  try {
580
- const fleet = await buildFleetStatus(cfg);
582
+ const cachedFleet = await getCachedFleetStatus(cfg);
583
+ const fleet = cachedFleet.status;
584
+ recentTicksFreshness = { stale: cachedFleet.stale, ageMs: cachedFleet.ageMs };
581
585
  const observation = readPublicDaemonObservation(fleet.daemon);
582
586
  if (observation.ticks !== null) {
583
587
  const ticks = observation.ticks;
@@ -621,6 +625,7 @@ export async function buildFleetActivity(cfg) {
621
625
  cooldownCount,
622
626
  recentTicks,
623
627
  recentTicksSourceQuality,
628
+ recentTicksFreshness,
624
629
  };
625
630
  }
626
631
  // ---------------------------------------------------------------------------
@@ -632,46 +637,52 @@ export async function buildFleetActivity(cfg) {
632
637
  */
633
638
  export async function buildControlSnapshot(cfg) {
634
639
  const ts = new Date().toISOString();
635
- const [models, fleet] = await Promise.all([
640
+ const [models, cachedFleet] = await Promise.all([
636
641
  buildModels(cfg),
637
- buildFleetStatus(cfg).catch((err) => {
642
+ getCachedFleetStatus(cfg).catch((err) => {
638
643
  console.warn('[ashlr] control:buildControlSnapshot buildFleetStatus failed:', err?.message ?? err);
639
644
  return {
640
- generatedAt: ts,
641
- daemon: {
642
- running: false,
643
- sourceQuality: {
644
- sourceState: 'degraded',
645
- complete: false,
646
- reason: 'unavailable',
647
- },
648
- lastTickAt: null,
649
- todaySpentUsd: 0,
650
- },
651
- backends: [],
652
- queue: { backlogItems: 0 },
653
- proposals: { pending: 0, frontierPending: 0, applied: 0 },
654
- merges: { recent: 0 },
655
- autonomyControlMode: resolveAutonomyControlMode(cfg),
656
- guardHealth: {
645
+ stale: false,
646
+ ageMs: 0,
647
+ status: {
657
648
  generatedAt: ts,
658
- blocked: true,
659
- blocks: [],
660
- sourceQuality: {
649
+ daemon: {
650
+ running: false,
651
+ sourceQuality: {
652
+ sourceState: 'degraded',
653
+ complete: false,
654
+ reason: 'unavailable',
655
+ },
656
+ lastTickAt: null,
657
+ todaySpentUsd: 0,
658
+ },
659
+ backends: [],
660
+ queue: { backlogItems: 0 },
661
+ proposals: { pending: 0, frontierPending: 0, applied: 0 },
662
+ merges: { recent: 0 },
663
+ autonomyControlMode: resolveAutonomyControlMode(cfg),
664
+ guardHealth: {
665
+ generatedAt: ts,
666
+ blocked: true,
667
+ blocks: [],
668
+ sourceQuality: {
669
+ sourceState: 'degraded',
670
+ complete: false,
671
+ reasons: ['fleet-status-unavailable'],
672
+ },
673
+ },
674
+ killed: true,
675
+ killSwitch: {
676
+ state: 'unknown',
661
677
  sourceState: 'degraded',
662
- complete: false,
663
- reasons: ['fleet-status-unavailable'],
678
+ reason: 'unavailable',
664
679
  },
665
680
  },
666
- killed: true,
667
- killSwitch: {
668
- state: 'unknown',
669
- sourceState: 'degraded',
670
- reason: 'unavailable',
671
- },
672
681
  };
673
682
  }),
674
683
  ]);
684
+ const fleet = cachedFleet.status;
685
+ const fleetFreshness = { stale: cachedFleet.stale, ageMs: cachedFleet.ageMs };
675
686
  const daemonObservation = readPublicDaemonObservation(fleet.daemon);
676
687
  const daemon = buildDaemon(cfg, daemonObservation);
677
688
  const usage = buildUsage(cfg);
@@ -684,6 +695,7 @@ export async function buildControlSnapshot(cfg) {
684
695
  ts,
685
696
  models,
686
697
  fleet,
698
+ fleetFreshness,
687
699
  daemon,
688
700
  daemonObservation,
689
701
  usage,
@@ -1 +1 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../src/core/web/control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../src/core/web/control.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * fleet-status-cache.ts — shared, single-flight, stale-while-refresh cache
3
+ * for `buildFleetStatus(cfg)`.
4
+ *
5
+ * WHY THIS EXISTS (perf incident, measured live against a 239-repo fleet):
6
+ * /api/snapshot went from 2.4s idle to 69.4s under concurrent load;
7
+ * /api/control went from fine to 79.0s. Profiling found `buildFleetStatus`
8
+ * — a large, multi-source aggregator (goals, decisions ledger, judge
9
+ * traces, skill records, phantom status, dispatch manifest, queue
10
+ * coverage, autonomy evidence, etc.) — was being invoked with ZERO caching
11
+ * from up to six independent call sites across dashboard.ts, control.ts,
12
+ * and api.ts. `buildCachedSnapshot` (api.ts) already had a 5s TTL +
13
+ * in-flight-dedup cache for the outer DashboardSnapshot, but that cache
14
+ * did nothing for the other call sites, and every one of THEM triggered
15
+ * its own full recompute. Under concurrent load (SSE poll + /api/control
16
+ * poll + /api/fleet poll, all firing close together) many full
17
+ * `buildFleetStatus` computations ran concurrently, each fanning out to
18
+ * dozens of file reads, and the resulting I/O + CPU contention is exactly
19
+ * why the endpoints were fine idle and catastrophic under load.
20
+ *
21
+ * FIX: one shared cache entry per `cfg`, reused by every READ call site.
22
+ * - Cold call (no value yet): caller awaits a real computation (correct,
23
+ * unavoidable — there is nothing honest to serve yet).
24
+ * - Call within the TTL: return the cached value immediately, `stale: false`.
25
+ * - Call after the TTL but before FLEET_STATUS_MAX_STALE_MS: return the
26
+ * last good value immediately with `stale: true` and kick a background
27
+ * refresh (deduped — concurrent callers during the refresh share the
28
+ * same in-flight promise, so load does not multiply the recompute cost).
29
+ * - Call after FLEET_STATUS_MAX_STALE_MS: the cached value is too old to
30
+ * serve honestly, so the caller waits for a fresh (or already in-flight)
31
+ * computation instead.
32
+ *
33
+ * This NEVER presents old data as current — every result reports `stale`
34
+ * and `ageMs` so callers can propagate honest freshness (mirroring the
35
+ * existing sourceQuality provenance discipline elsewhere in the web layer)
36
+ * instead of silently serving cached numbers as live.
37
+ *
38
+ * Mutation-adjacent call sites (POST /api/fleet/pause|resume, POST
39
+ * /api/daemon/service/repair) intentionally do NOT use this cache — they
40
+ * must observe the effect of the mutation they just made, so they keep
41
+ * calling `buildFleetStatus` directly.
42
+ */
43
+ import type { AshlrConfig } from '../types.js';
44
+ import { type FleetStatus } from '../fleet/status.js';
45
+ export interface CachedFleetStatus {
46
+ status: FleetStatus;
47
+ /** True when this value is older than the cache TTL — a background refresh may be in flight. */
48
+ stale: boolean;
49
+ /** Milliseconds since this value was actually computed. */
50
+ ageMs: number;
51
+ }
52
+ /**
53
+ * Cached, single-flight, stale-while-refresh accessor for buildFleetStatus.
54
+ * Use this for READ paths (dashboard fleet section, /api/control, /api/fleet,
55
+ * /api/fleet-activity). Never throws — buildFleetStatus itself never throws,
56
+ * and a rejected refresh simply leaves the previous entry.value in place for
57
+ * the next call to retry against.
58
+ */
59
+ export declare function getCachedFleetStatus(cfg: AshlrConfig): Promise<CachedFleetStatus>;
60
+ /**
61
+ * Prime the cache with a value the caller ALREADY computed fresh — used by
62
+ * mutation routes (POST /api/fleet/pause|resume) that must call
63
+ * buildFleetStatus directly (they need to observe the effect of the mutation
64
+ * they just made, so they cannot use the possibly-stale getCachedFleetStatus
65
+ * path). Without this, a GET /api/fleet immediately after a mutation could
66
+ * serve a pre-mutation cached value for up to the TTL window.
67
+ */
68
+ export declare function primeFleetStatusCache(cfg: AshlrConfig, status: FleetStatus): void;
@@ -0,0 +1,120 @@
1
+ /**
2
+ * fleet-status-cache.ts — shared, single-flight, stale-while-refresh cache
3
+ * for `buildFleetStatus(cfg)`.
4
+ *
5
+ * WHY THIS EXISTS (perf incident, measured live against a 239-repo fleet):
6
+ * /api/snapshot went from 2.4s idle to 69.4s under concurrent load;
7
+ * /api/control went from fine to 79.0s. Profiling found `buildFleetStatus`
8
+ * — a large, multi-source aggregator (goals, decisions ledger, judge
9
+ * traces, skill records, phantom status, dispatch manifest, queue
10
+ * coverage, autonomy evidence, etc.) — was being invoked with ZERO caching
11
+ * from up to six independent call sites across dashboard.ts, control.ts,
12
+ * and api.ts. `buildCachedSnapshot` (api.ts) already had a 5s TTL +
13
+ * in-flight-dedup cache for the outer DashboardSnapshot, but that cache
14
+ * did nothing for the other call sites, and every one of THEM triggered
15
+ * its own full recompute. Under concurrent load (SSE poll + /api/control
16
+ * poll + /api/fleet poll, all firing close together) many full
17
+ * `buildFleetStatus` computations ran concurrently, each fanning out to
18
+ * dozens of file reads, and the resulting I/O + CPU contention is exactly
19
+ * why the endpoints were fine idle and catastrophic under load.
20
+ *
21
+ * FIX: one shared cache entry per `cfg`, reused by every READ call site.
22
+ * - Cold call (no value yet): caller awaits a real computation (correct,
23
+ * unavoidable — there is nothing honest to serve yet).
24
+ * - Call within the TTL: return the cached value immediately, `stale: false`.
25
+ * - Call after the TTL but before FLEET_STATUS_MAX_STALE_MS: return the
26
+ * last good value immediately with `stale: true` and kick a background
27
+ * refresh (deduped — concurrent callers during the refresh share the
28
+ * same in-flight promise, so load does not multiply the recompute cost).
29
+ * - Call after FLEET_STATUS_MAX_STALE_MS: the cached value is too old to
30
+ * serve honestly, so the caller waits for a fresh (or already in-flight)
31
+ * computation instead.
32
+ *
33
+ * This NEVER presents old data as current — every result reports `stale`
34
+ * and `ageMs` so callers can propagate honest freshness (mirroring the
35
+ * existing sourceQuality provenance discipline elsewhere in the web layer)
36
+ * instead of silently serving cached numbers as live.
37
+ *
38
+ * Mutation-adjacent call sites (POST /api/fleet/pause|resume, POST
39
+ * /api/daemon/service/repair) intentionally do NOT use this cache — they
40
+ * must observe the effect of the mutation they just made, so they keep
41
+ * calling `buildFleetStatus` directly.
42
+ */
43
+ import { buildFleetStatus } from '../fleet/status.js';
44
+ const FLEET_STATUS_CACHE_MS = 5_000;
45
+ /**
46
+ * Upper bound on how long a stale value may be served while a refresh is
47
+ * (or should be) in flight. Guards against serving arbitrarily old data if a
48
+ * refresh gets stuck or starts failing repeatedly.
49
+ */
50
+ const FLEET_STATUS_MAX_STALE_MS = 60_000;
51
+ const fleetStatusCache = new WeakMap();
52
+ function getEntry(cfg) {
53
+ let entry = fleetStatusCache.get(cfg);
54
+ if (!entry) {
55
+ entry = { value: null, computedAt: 0, expiresAt: 0, inFlight: null };
56
+ fleetStatusCache.set(cfg, entry);
57
+ }
58
+ return entry;
59
+ }
60
+ /** Start (or reuse) a single in-flight recompute for this cache entry. */
61
+ function refresh(cfg, entry) {
62
+ if (entry.inFlight)
63
+ return entry.inFlight;
64
+ entry.inFlight = buildFleetStatus(cfg)
65
+ .then((value) => {
66
+ entry.value = value;
67
+ entry.computedAt = Date.now();
68
+ entry.expiresAt = entry.computedAt + FLEET_STATUS_CACHE_MS;
69
+ return value;
70
+ })
71
+ .finally(() => {
72
+ entry.inFlight = null;
73
+ });
74
+ return entry.inFlight;
75
+ }
76
+ /**
77
+ * Cached, single-flight, stale-while-refresh accessor for buildFleetStatus.
78
+ * Use this for READ paths (dashboard fleet section, /api/control, /api/fleet,
79
+ * /api/fleet-activity). Never throws — buildFleetStatus itself never throws,
80
+ * and a rejected refresh simply leaves the previous entry.value in place for
81
+ * the next call to retry against.
82
+ */
83
+ export async function getCachedFleetStatus(cfg) {
84
+ const entry = getEntry(cfg);
85
+ const now = Date.now();
86
+ if (entry.value === null) {
87
+ // Cold start — nothing honest to serve yet, must compute.
88
+ const status = await refresh(cfg, entry);
89
+ return { status, stale: false, ageMs: 0 };
90
+ }
91
+ if (now < entry.expiresAt) {
92
+ return { status: entry.value, stale: false, ageMs: now - entry.computedAt };
93
+ }
94
+ const ageMs = now - entry.computedAt;
95
+ if (ageMs > FLEET_STATUS_MAX_STALE_MS) {
96
+ // Too old to serve honestly — wait for a fresh (or already in-flight) value.
97
+ const status = await refresh(cfg, entry);
98
+ return { status, stale: false, ageMs: 0 };
99
+ }
100
+ // Serve the last good value now; refresh in the background. Concurrent
101
+ // callers in this window share the same in-flight promise via refresh().
102
+ refresh(cfg, entry);
103
+ return { status: entry.value, stale: true, ageMs };
104
+ }
105
+ /**
106
+ * Prime the cache with a value the caller ALREADY computed fresh — used by
107
+ * mutation routes (POST /api/fleet/pause|resume) that must call
108
+ * buildFleetStatus directly (they need to observe the effect of the mutation
109
+ * they just made, so they cannot use the possibly-stale getCachedFleetStatus
110
+ * path). Without this, a GET /api/fleet immediately after a mutation could
111
+ * serve a pre-mutation cached value for up to the TTL window.
112
+ */
113
+ export function primeFleetStatusCache(cfg, status) {
114
+ const entry = getEntry(cfg);
115
+ const now = Date.now();
116
+ entry.value = status;
117
+ entry.computedAt = now;
118
+ entry.expiresAt = now + FLEET_STATUS_CACHE_MS;
119
+ }
120
+ //# sourceMappingURL=fleet-status-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-status-cache.js","sourceRoot":"","sources":["../../../src/core/web/fleet-status-cache.ts"],"names":[],"mappings":"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"}