instar 0.28.64 → 0.28.65

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 (57) hide show
  1. package/dashboard/index.html +225 -0
  2. package/dist/cli.js +0 -0
  3. package/dist/commands/init.js +6 -8
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/server.d.ts.map +1 -1
  6. package/dist/commands/server.js +44 -2
  7. package/dist/commands/server.js.map +1 -1
  8. package/dist/core/PostUpdateMigrator.d.ts +12 -1
  9. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  10. package/dist/core/PostUpdateMigrator.js +158 -0
  11. package/dist/core/PostUpdateMigrator.js.map +1 -1
  12. package/dist/monitoring/CommitmentTracker.d.ts +37 -0
  13. package/dist/monitoring/CommitmentTracker.d.ts.map +1 -1
  14. package/dist/monitoring/CommitmentTracker.js +151 -5
  15. package/dist/monitoring/CommitmentTracker.js.map +1 -1
  16. package/dist/monitoring/HelperWatchdog.d.ts +84 -0
  17. package/dist/monitoring/HelperWatchdog.d.ts.map +1 -0
  18. package/dist/monitoring/HelperWatchdog.js +155 -0
  19. package/dist/monitoring/HelperWatchdog.js.map +1 -0
  20. package/dist/monitoring/PresenceProxy.d.ts +71 -0
  21. package/dist/monitoring/PresenceProxy.d.ts.map +1 -1
  22. package/dist/monitoring/PresenceProxy.js +210 -0
  23. package/dist/monitoring/PresenceProxy.js.map +1 -1
  24. package/dist/monitoring/ProxyCoordinator.d.ts +33 -0
  25. package/dist/monitoring/ProxyCoordinator.d.ts.map +1 -1
  26. package/dist/monitoring/ProxyCoordinator.js +42 -0
  27. package/dist/monitoring/ProxyCoordinator.js.map +1 -1
  28. package/dist/monitoring/SessionWatchdog.d.ts.map +1 -1
  29. package/dist/monitoring/SessionWatchdog.js +9 -6
  30. package/dist/monitoring/SessionWatchdog.js.map +1 -1
  31. package/dist/server/AgentServer.d.ts +2 -0
  32. package/dist/server/AgentServer.d.ts.map +1 -1
  33. package/dist/server/AgentServer.js +1 -0
  34. package/dist/server/AgentServer.js.map +1 -1
  35. package/dist/server/routes.d.ts +4 -0
  36. package/dist/server/routes.d.ts.map +1 -1
  37. package/dist/server/routes.js +95 -0
  38. package/dist/server/routes.js.map +1 -1
  39. package/dist/threadline/PipeSessionSpawner.d.ts +5 -0
  40. package/dist/threadline/PipeSessionSpawner.d.ts.map +1 -1
  41. package/dist/threadline/PipeSessionSpawner.js +11 -0
  42. package/dist/threadline/PipeSessionSpawner.js.map +1 -1
  43. package/package.json +1 -1
  44. package/playbook-scripts/build-state.py +102 -0
  45. package/src/data/builtin-manifest.json +63 -63
  46. package/upgrades/0.28.65.md +44 -0
  47. package/upgrades/side-effects/0.28.64.md +5 -0
  48. package/upgrades/side-effects/build-stall-visibility-fix2-3.md +125 -0
  49. package/upgrades/side-effects/build-stop-hook-deployment.md +98 -0
  50. package/upgrades/side-effects/dashboard-secrets-tab.md +86 -0
  51. package/upgrades/side-effects/threadline-relay-rapid-fire-pipe-guard.md +46 -0
  52. package/upgrades/side-effects/watchdog-mcp-version-pin.md +121 -0
  53. package/dist/core/InitiativeDigestJob.d.ts +0 -54
  54. package/dist/core/InitiativeDigestJob.d.ts.map +0 -1
  55. package/dist/core/InitiativeDigestJob.js +0 -128
  56. package/dist/core/InitiativeDigestJob.js.map +0 -1
  57. package/upgrades/0.28.61.md +0 -80
@@ -37,6 +37,27 @@ export interface PresenceProxyConfig {
37
37
  */
38
38
  acquireProxyMutex?: (topicId: number, holder: 'presence-proxy' | 'promise-beacon') => boolean;
39
39
  releaseProxyMutex?: (topicId: number, holder: 'presence-proxy' | 'promise-beacon') => void;
40
+ /**
41
+ * BUILD-STALL-VISIBILITY-SPEC Fix 2 "Routing" — when a /build heartbeat has
42
+ * landed on this topic recently, PresenceProxy suppresses its generic
43
+ * Tier 2/3 standby so the user hears one progress voice per channel.
44
+ * Returns true if a build heartbeat was recorded within the suppression
45
+ * window (default 6 min). Absent/undefined = no build active = no suppression.
46
+ */
47
+ hasRecentBuildHeartbeat?: (topicId: number, windowMs?: number) => boolean;
48
+ /**
49
+ * BUILD-STALL-VISIBILITY-SPEC Fix 3 — long-tool-wait detector.
50
+ * When enabled, detects "agent blocked on a long-running tool with no
51
+ * interleaved text" via snapshot-hash diff + Cogitated-line presence,
52
+ * and swaps the Tier 2/3 templated message to a tool-specific one.
53
+ * Feature-flagged off by default for the introduction release.
54
+ */
55
+ longToolWaitDetector?: {
56
+ enabled?: boolean;
57
+ enterThresholdMs?: number;
58
+ exitHysteresisMs?: number;
59
+ escalationCapMs?: number;
60
+ };
40
61
  recoverContextExhaustion?: (topicId: number, sessionName: string) => Promise<{
41
62
  recovered: boolean;
42
63
  }>;
@@ -134,6 +155,20 @@ export declare function detectQuotaExhaustion(snapshot: string): string | null;
134
155
  * working and is waiting for new input.
135
156
  */
136
157
  export declare function detectSessionIdle(snapshot: string): boolean;
158
+ interface ToolWaitState {
159
+ /** Last time agent emitted new text (snapshot hash changed). */
160
+ lastAgentTextAt: number;
161
+ /** When the current tool wait started (snapshot first detected unchanged with Cogitated). */
162
+ toolStartedAt: number | null;
163
+ /** Tool name extracted from snapshot, or 'unknown'. */
164
+ toolName: string | null;
165
+ /** When we entered long-wait state. */
166
+ longWaitEnteredAt: number | null;
167
+ /** When the one-time escalation message fired. */
168
+ longWaitEscalatedAt: number | null;
169
+ /** Sustained-text-recovery cursor — when uninterrupted new-text first started. */
170
+ sustainedTextSince: number | null;
171
+ }
137
172
  export declare class PresenceProxy {
138
173
  private config;
139
174
  private states;
@@ -149,6 +184,11 @@ export declare class PresenceProxy {
149
184
  private prefix;
150
185
  private maxConversationHistory;
151
186
  private rateLimit;
187
+ private toolWaitState;
188
+ private toolWaitEnabled;
189
+ private toolWaitEnterMs;
190
+ private toolWaitExitHysteresisMs;
191
+ private toolWaitEscalationCapMs;
152
192
  constructor(config: PresenceProxyConfig);
153
193
  start(): void;
154
194
  stop(): void;
@@ -189,6 +229,37 @@ export declare class PresenceProxy {
189
229
  private recoverFromRestart;
190
230
  getState(topicId: number): PresenceState | undefined;
191
231
  getActiveTopics(): number[];
232
+ private getOrCreateToolWaitState;
233
+ /**
234
+ * Record that the agent emitted new text (snapshot hash differs from last
235
+ * tier capture). Resets the tool-wait timer; if currently in long-wait,
236
+ * starts/extends a sustained-text window for hysteresis-based exit.
237
+ */
238
+ recordAgentText(topicId: number, _snapshotHash: string | null): void;
239
+ /**
240
+ * Record that a tool appears to be running (caller-driven path). Optional —
241
+ * snapshot-diff path in fireTier* derives the same signal.
242
+ */
243
+ recordToolWait(topicId: number, toolName: string): ToolWaitState | null;
244
+ /**
245
+ * Returns the long-tool-wait swap message for a topic, or null if the
246
+ * detector isn't tripped. Side-effects: enters long-wait state on first
247
+ * crossing, fires the one-time escalation message at the cap.
248
+ *
249
+ * Called from fireTier2 / fireTier3 AFTER snapshot capture and AFTER the
250
+ * heartbeat-suppression check (so a live /build heartbeat takes priority).
251
+ */
252
+ getLongToolWaitMessage(topicId: number): string | null;
253
+ /**
254
+ * Update the tool-wait detector based on a snapshot diff. Called from
255
+ * fireTier2/fireTier3 after capturing the new snapshot.
256
+ *
257
+ * - If the hash matches the prior tier's hash AND a Cogitated marker is
258
+ * present, the agent is sitting in a single tool call → start/keep the
259
+ * toolStartedAt baseline.
260
+ * - If the hash differs, treat it as new agent text (recordAgentText path).
261
+ */
262
+ private updateToolWaitFromSnapshot;
192
263
  }
193
264
  export {};
194
265
  //# sourceMappingURL=PresenceProxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PresenceProxy.d.ts","sourceRoot":"","sources":["../../src/monitoring/PresenceProxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PresenceProxy.d.ts","sourceRoot":"","sources":["../../src/monitoring/PresenceProxy.ts"],"names":[],"mappings":"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"}
@@ -183,6 +183,12 @@ const LONG_RUNNING_PATTERNS = [
183
183
  function isLongRunningProcess(processes) {
184
184
  return processes.some(p => LONG_RUNNING_PATTERNS.some(pattern => pattern.test(p.command)));
185
185
  }
186
+ // ─── Long-Tool-Wait Detector (Fix 3) ────────────────────────────────────────
187
+ /**
188
+ * Matches Claude Code's "Cogitated for Nm Ns" line — a strong signal that
189
+ * the agent is sitting in a single tool call with no new agent text.
190
+ */
191
+ const COGITATED_RE = /Cogitated for \d+m \d+s/;
186
192
  // ─── LLM Concurrency Queue ─────────────────────────────────────────────────
187
193
  class LlmQueue {
188
194
  maxConcurrent;
@@ -242,6 +248,12 @@ export class PresenceProxy {
242
248
  prefix;
243
249
  maxConversationHistory;
244
250
  rateLimit;
251
+ // Long-tool-wait detector (Fix 3) — per-topic state, off by default
252
+ toolWaitState = new Map();
253
+ toolWaitEnabled;
254
+ toolWaitEnterMs;
255
+ toolWaitExitHysteresisMs;
256
+ toolWaitEscalationCapMs;
245
257
  constructor(config) {
246
258
  this.config = config;
247
259
  const m = config.__dev_timerMultiplier ?? 1.0;
@@ -257,6 +269,11 @@ export class PresenceProxy {
257
269
  tier3MaxRechecks: config.llmRateLimit?.tier3MaxRechecks ?? 5,
258
270
  autoSilenceMinutes: config.llmRateLimit?.autoSilenceMinutes ?? 30,
259
271
  };
272
+ // BUILD-STALL-VISIBILITY-SPEC Fix 3 — long-tool-wait detector defaults
273
+ this.toolWaitEnabled = config.longToolWaitDetector?.enabled ?? false;
274
+ this.toolWaitEnterMs = config.longToolWaitDetector?.enterThresholdMs ?? 8 * 60_000;
275
+ this.toolWaitExitHysteresisMs = config.longToolWaitDetector?.exitHysteresisMs ?? 60_000;
276
+ this.toolWaitEscalationCapMs = config.longToolWaitDetector?.escalationCapMs ?? 30 * 60_000;
260
277
  this.llmQueue = new LlmQueue(config.concurrentLlmCalls ?? 3);
261
278
  this.stateDir = path.join(config.stateDir, 'state', 'presence-proxy');
262
279
  // Ensure state directory exists
@@ -433,6 +450,22 @@ export class PresenceProxy {
433
450
  // Check silence
434
451
  if (state.silencedUntil && Date.now() < state.silencedUntil)
435
452
  return;
453
+ // BUILD-STALL-VISIBILITY-SPEC Fix 2 "Routing": when a /build heartbeat
454
+ // landed recently for this topic, the user is already hearing a progress
455
+ // voice — suppress generic Tier 2/3 standby for this cycle. Tier 1 is
456
+ // not suppressed (it's the first signal of life and useful even for builds).
457
+ if (tier > 1 && this.config.hasRecentBuildHeartbeat?.(topicId)) {
458
+ console.log(`[PresenceProxy] Suppressing Tier ${tier} for topic ${topicId} — recent /build heartbeat`);
459
+ // Reschedule the next tier so we re-check after the heartbeat window passes.
460
+ const nextTier = (tier + 1);
461
+ if (nextTier <= 3) {
462
+ const remaining = (nextTier === 2 ? this.tier2DelayMs : this.tier3DelayMs)
463
+ - (Date.now() - state.userMessageAt);
464
+ if (remaining > 0)
465
+ this.scheduleTier(topicId, nextTier, remaining);
466
+ }
467
+ return;
468
+ }
436
469
  // Rate limit check
437
470
  if (!this.checkRateLimit(state))
438
471
  return;
@@ -534,6 +567,24 @@ export class PresenceProxy {
534
567
  const hash = snapshot ? crypto.createHash('sha256').update(snapshot).digest('hex') : null;
535
568
  state.tier2Snapshot = snapshot;
536
569
  state.tier2SnapshotHash = hash;
570
+ // ── Long-tool-wait detector (Fix 3) ──
571
+ // Update detector state from snapshot diff vs Tier 1 hash, then check
572
+ // if it's tripped. Heartbeat suppression already ran above (in fireTier),
573
+ // so reaching here means no live /build heartbeat is taking the floor.
574
+ this.updateToolWaitFromSnapshot(topicId, hash, state.tier1SnapshotHash, snapshot);
575
+ {
576
+ const swap = this.getLongToolWaitMessage(topicId);
577
+ if (swap) {
578
+ if (state.cancelled)
579
+ return;
580
+ state.tier2FiredAt = Date.now();
581
+ await this.sendProxyMessage(topicId, swap, 2);
582
+ this.persistState(topicId, state);
583
+ // Do not schedule Tier 3 — long-wait already explained. The escalation
584
+ // cap path will cover the only remaining alert.
585
+ return;
586
+ }
587
+ }
537
588
  // ── Quota exhaustion: check before LLM call ──
538
589
  if (snapshot) {
539
590
  const quotaMessage = detectQuotaExhaustion(snapshot);
@@ -631,6 +682,25 @@ export class PresenceProxy {
631
682
  const lines = this.config.maxTmuxLines?.t3 ?? 200;
632
683
  const raw = alive ? this.config.captureSessionOutput(state.sessionName, lines) : null;
633
684
  const snapshot = raw ? sanitizeTmuxOutput(raw, this.config.credentialPatterns) : null;
685
+ const tier3Hash = snapshot ? crypto.createHash('sha256').update(snapshot).digest('hex') : null;
686
+ // ── Long-tool-wait detector (Fix 3) ──
687
+ // Compare against the freshest known snapshot hash (tier 2 if present,
688
+ // else tier 1). Same swap-message contract as Tier 2.
689
+ this.updateToolWaitFromSnapshot(topicId, tier3Hash, state.tier2SnapshotHash ?? state.tier1SnapshotHash, snapshot);
690
+ {
691
+ const swap = this.getLongToolWaitMessage(topicId);
692
+ if (swap) {
693
+ if (state.cancelled) {
694
+ this.config.releaseTriageMutex?.(state.sessionName, 'presence-proxy');
695
+ return;
696
+ }
697
+ state.tier3FiredAt = Date.now();
698
+ await this.sendProxyMessage(topicId, swap, 3);
699
+ this.config.releaseTriageMutex?.(state.sessionName, 'presence-proxy');
700
+ this.persistState(topicId, state);
701
+ return;
702
+ }
703
+ }
634
704
  // ── Quota exhaustion: check before LLM call ──
635
705
  if (snapshot) {
636
706
  const quotaMessage = detectQuotaExhaustion(snapshot);
@@ -1152,5 +1222,145 @@ IMPORTANT BIAS: Default to "working" or "waiting" unless there is STRONG evidenc
1152
1222
  return s && !s.cancelled;
1153
1223
  });
1154
1224
  }
1225
+ // ─── Long-Tool-Wait Detector (Fix 3) ─────────────────────────────────────
1226
+ getOrCreateToolWaitState(topicId) {
1227
+ let s = this.toolWaitState.get(topicId);
1228
+ if (!s) {
1229
+ s = {
1230
+ lastAgentTextAt: Date.now(),
1231
+ toolStartedAt: null,
1232
+ toolName: null,
1233
+ longWaitEnteredAt: null,
1234
+ longWaitEscalatedAt: null,
1235
+ sustainedTextSince: null,
1236
+ };
1237
+ this.toolWaitState.set(topicId, s);
1238
+ }
1239
+ return s;
1240
+ }
1241
+ /**
1242
+ * Record that the agent emitted new text (snapshot hash differs from last
1243
+ * tier capture). Resets the tool-wait timer; if currently in long-wait,
1244
+ * starts/extends a sustained-text window for hysteresis-based exit.
1245
+ */
1246
+ recordAgentText(topicId, _snapshotHash) {
1247
+ if (!this.toolWaitEnabled)
1248
+ return;
1249
+ const s = this.getOrCreateToolWaitState(topicId);
1250
+ const now = Date.now();
1251
+ s.lastAgentTextAt = now;
1252
+ if (s.longWaitEnteredAt !== null) {
1253
+ // We're in long-wait; track sustained new-text for hysteresis exit.
1254
+ if (s.sustainedTextSince === null) {
1255
+ s.sustainedTextSince = now;
1256
+ }
1257
+ if (now - s.sustainedTextSince >= this.toolWaitExitHysteresisMs) {
1258
+ // Exit long-wait state.
1259
+ s.longWaitEnteredAt = null;
1260
+ s.longWaitEscalatedAt = null;
1261
+ s.sustainedTextSince = null;
1262
+ s.toolStartedAt = null;
1263
+ s.toolName = null;
1264
+ }
1265
+ }
1266
+ else {
1267
+ // No long-wait active — sustained-text cursor stays cleared.
1268
+ s.sustainedTextSince = null;
1269
+ // New text means any prior tool-wait baseline is gone.
1270
+ s.toolStartedAt = null;
1271
+ s.toolName = null;
1272
+ }
1273
+ }
1274
+ /**
1275
+ * Record that a tool appears to be running (caller-driven path). Optional —
1276
+ * snapshot-diff path in fireTier* derives the same signal.
1277
+ */
1278
+ recordToolWait(topicId, toolName) {
1279
+ if (!this.toolWaitEnabled)
1280
+ return null;
1281
+ const s = this.getOrCreateToolWaitState(topicId);
1282
+ const now = Date.now();
1283
+ if (s.toolName !== toolName) {
1284
+ // Different tool started — reset.
1285
+ s.toolName = toolName;
1286
+ s.toolStartedAt = now;
1287
+ s.longWaitEnteredAt = null;
1288
+ s.longWaitEscalatedAt = null;
1289
+ s.sustainedTextSince = null;
1290
+ }
1291
+ else if (s.toolStartedAt === null) {
1292
+ s.toolStartedAt = now;
1293
+ }
1294
+ return s;
1295
+ }
1296
+ /**
1297
+ * Returns the long-tool-wait swap message for a topic, or null if the
1298
+ * detector isn't tripped. Side-effects: enters long-wait state on first
1299
+ * crossing, fires the one-time escalation message at the cap.
1300
+ *
1301
+ * Called from fireTier2 / fireTier3 AFTER snapshot capture and AFTER the
1302
+ * heartbeat-suppression check (so a live /build heartbeat takes priority).
1303
+ */
1304
+ getLongToolWaitMessage(topicId) {
1305
+ if (!this.toolWaitEnabled)
1306
+ return null;
1307
+ const s = this.toolWaitState.get(topicId);
1308
+ if (!s || s.toolStartedAt === null)
1309
+ return null;
1310
+ const now = Date.now();
1311
+ const elapsed = now - s.toolStartedAt;
1312
+ if (elapsed < this.toolWaitEnterMs)
1313
+ return null;
1314
+ // Enter long-wait state on first qualifying tick.
1315
+ if (s.longWaitEnteredAt === null) {
1316
+ s.longWaitEnteredAt = now;
1317
+ }
1318
+ // Escalation cap — one-time alert when total long-wait exceeds cap.
1319
+ const longWaitElapsed = now - s.longWaitEnteredAt;
1320
+ if (longWaitElapsed > this.toolWaitEscalationCapMs && s.longWaitEscalatedAt === null) {
1321
+ s.longWaitEscalatedAt = now;
1322
+ const capMin = Math.floor(this.toolWaitEscalationCapMs / 60_000);
1323
+ const tool = s.toolName ?? 'tool';
1324
+ return `🔭 Long-running ${tool} has now exceeded ${capMin}m — escalating once. No further standby messages until output resumes.`;
1325
+ }
1326
+ // After the one-time escalation, stay quiet until exit.
1327
+ if (s.longWaitEscalatedAt !== null)
1328
+ return null;
1329
+ // If we're inside a sustained-text recovery window, suppress the
1330
+ // "blocked" message — the user is already seeing output. We'll either
1331
+ // exit long-wait (recordAgentText path) or fall back to emit if the
1332
+ // text trickle stops before hysteresis crosses.
1333
+ if (s.sustainedTextSince !== null)
1334
+ return null;
1335
+ const elapsedMin = Math.max(1, Math.floor(elapsed / 60_000));
1336
+ const tool = s.toolName ?? 'a long-running tool';
1337
+ return `🔭 Agent appears blocked on ${tool} — elapsed ${elapsedMin}m with no new output.`;
1338
+ }
1339
+ /**
1340
+ * Update the tool-wait detector based on a snapshot diff. Called from
1341
+ * fireTier2/fireTier3 after capturing the new snapshot.
1342
+ *
1343
+ * - If the hash matches the prior tier's hash AND a Cogitated marker is
1344
+ * present, the agent is sitting in a single tool call → start/keep the
1345
+ * toolStartedAt baseline.
1346
+ * - If the hash differs, treat it as new agent text (recordAgentText path).
1347
+ */
1348
+ updateToolWaitFromSnapshot(topicId, currentHash, priorHash, snapshot) {
1349
+ if (!this.toolWaitEnabled)
1350
+ return;
1351
+ const hashChanged = currentHash !== priorHash;
1352
+ if (hashChanged) {
1353
+ this.recordAgentText(topicId, currentHash);
1354
+ return;
1355
+ }
1356
+ // No new text. Is this a cogitated/tool-wait shape?
1357
+ if (snapshot && COGITATED_RE.test(snapshot)) {
1358
+ const s = this.getOrCreateToolWaitState(topicId);
1359
+ if (s.toolStartedAt === null) {
1360
+ s.toolStartedAt = Date.now();
1361
+ s.toolName = s.toolName ?? 'a long-running tool';
1362
+ }
1363
+ }
1364
+ }
1155
1365
  }
1156
1366
  //# sourceMappingURL=PresenceProxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PresenceProxy.js","sourceRoot":"","sources":["../../src/monitoring/PresenceProxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PresenceProxy.js","sourceRoot":"","sources":["../../src/monitoring/PresenceProxy.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,18 @@
14
14
  export type ProxyHolder = 'presence-proxy' | 'promise-beacon';
15
15
  export declare class ProxyCoordinator {
16
16
  private held;
17
+ /**
18
+ * Last /build heartbeat timestamp per topic. Per BUILD-STALL-VISIBILITY-SPEC
19
+ * Fix 2 "Routing": when a build-progress event is fresh (within the suppression
20
+ * window), PresenceProxy suppresses its generic Tier 2/3 standby so the user
21
+ * hears one progress voice per channel, not two.
22
+ *
23
+ * Tracked separately from `held` because heartbeats are stateless pings —
24
+ * we don't want them to permanently hold the per-topic mutex (that would
25
+ * block presence-proxy forever) but we DO want presence-proxy to know a
26
+ * heartbeat arrived recently.
27
+ */
28
+ private lastBuildHeartbeatAt;
17
29
  /** Try to acquire. Returns true on success. */
18
30
  tryAcquire(topicId: number, holder: ProxyHolder): boolean;
19
31
  /** Release. No-op if not held by this holder. */
@@ -26,5 +38,26 @@ export declare class ProxyCoordinator {
26
38
  holder: ProxyHolder;
27
39
  ageMs: number;
28
40
  }>;
41
+ /**
42
+ * Record that a /build heartbeat just went out for this topic. Call from the
43
+ * POST /build/heartbeat handler after a successful dispatch. PresenceProxy
44
+ * reads via `hasRecentBuildHeartbeat` to decide whether to suppress its
45
+ * own tier message.
46
+ */
47
+ recordBuildHeartbeat(topicId: number, atMs?: number): void;
48
+ /**
49
+ * Returns true if a build heartbeat has landed for this topic within
50
+ * `windowMs` of now. PresenceProxy calls this before sending Tier 2/3;
51
+ * if true, it stays silent for this cycle.
52
+ *
53
+ * Default window of 6 min exceeds the 5-min heartbeat cadence so a single
54
+ * missed/delayed heartbeat doesn't immediately unsuppress standby.
55
+ */
56
+ hasRecentBuildHeartbeat(topicId: number, windowMs?: number): boolean;
57
+ /**
58
+ * Clear the heartbeat marker (e.g. on /build complete) so subsequent standby
59
+ * isn't suppressed by a stale timestamp.
60
+ */
61
+ clearBuildHeartbeat(topicId: number): void;
29
62
  }
30
63
  //# sourceMappingURL=ProxyCoordinator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyCoordinator.d.ts","sourceRoot":"","sources":["../../src/monitoring/ProxyCoordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAE9D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAuE;IAEnF,+CAA+C;IAC/C,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO;IASzD,iDAAiD;IACjD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAOnD,mCAAmC;IACnC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAIlD,mBAAmB;IACnB,OAAO,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAQ1E"}
1
+ {"version":3,"file":"ProxyCoordinator.d.ts","sourceRoot":"","sources":["../../src/monitoring/ProxyCoordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAE9D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAuE;IACnF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB,CAAkC;IAE9D,+CAA+C;IAC/C,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO;IASzD,iDAAiD;IACjD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAOnD,mCAAmC;IACnC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAIlD,mBAAmB;IACnB,OAAO,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IASzE;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAmB,GAAG,IAAI;IAItE;;;;;;;OAOG;IACH,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAmB,GAAG,OAAO;IAMhF;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAG3C"}