@integrity-labs/agt-cli 0.28.384 → 0.28.385
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.
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
resolveEffectivePinRaw,
|
|
44
44
|
safeWriteJsonAtomic,
|
|
45
45
|
setConfigHash
|
|
46
|
-
} from "../chunk-
|
|
46
|
+
} from "../chunk-P3SY6KTF.js";
|
|
47
47
|
import {
|
|
48
48
|
getProjectDir as getProjectDir2,
|
|
49
49
|
getReadyTasks,
|
|
@@ -8207,6 +8207,7 @@ function hasRevokedResiduals(state7) {
|
|
|
8207
8207
|
return state7.gatewayRunning || state7.portAllocated || state7.provisionDirExists;
|
|
8208
8208
|
}
|
|
8209
8209
|
var pendingSessionRestarts = /* @__PURE__ */ new Map();
|
|
8210
|
+
var lastRestartWasExternal = /* @__PURE__ */ new Map();
|
|
8210
8211
|
var pendingRestartVerifications = /* @__PURE__ */ new Map();
|
|
8211
8212
|
var restartBreaker = new RestartBreaker();
|
|
8212
8213
|
var reportedTrips = /* @__PURE__ */ new Map();
|
|
@@ -8907,6 +8908,7 @@ function stopPersistentSessionAndForgetMcpBaseline(codeName, breakerReason, gate
|
|
|
8907
8908
|
}
|
|
8908
8909
|
cancelPendingSessionRestart(codeName);
|
|
8909
8910
|
stopPersistentSession(codeName, log);
|
|
8911
|
+
lastRestartWasExternal.set(codeName, gateReason !== "mcp-presence-reaper");
|
|
8910
8912
|
runningMcpHashes.delete(codeName);
|
|
8911
8913
|
runningMcpServerKeys.delete(codeName);
|
|
8912
8914
|
runningChannelSecretHashes.delete(codeName);
|
|
@@ -9093,7 +9095,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
9093
9095
|
var lastVersionCheckAt = 0;
|
|
9094
9096
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
9095
9097
|
var lastResponsivenessProbeAt = 0;
|
|
9096
|
-
var agtCliVersion = true ? "0.28.
|
|
9098
|
+
var agtCliVersion = true ? "0.28.385" : "dev";
|
|
9097
9099
|
function resolveBrewPath(execFileSync2) {
|
|
9098
9100
|
try {
|
|
9099
9101
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -12723,6 +12725,14 @@ async function processAgent(agent, agentStates) {
|
|
|
12723
12725
|
// but-not-yet-live MCP, so don't let the reaper re-fire + inflate the
|
|
12724
12726
|
// McpReaperRestartsHourly metric into a false flapping alarm.
|
|
12725
12727
|
restartPending: pendingSessionRestarts.has(agent.code_name),
|
|
12728
|
+
// ENG-8013 (storm-awareness): tell the reaper whether THIS session
|
|
12729
|
+
// generation was born from an external respawn (integration-change /
|
|
12730
|
+
// channel-set-change / day-rollover / wedge / operator restart, or a
|
|
12731
|
+
// storm) vs the reaper's own recovery restart. When external, a missing
|
|
12732
|
+
// channel MCP is churn collateral and must not accrue quarantine budget,
|
|
12733
|
+
// the durable fix for the ENG-8003 storm-quarantine incident. Absent map
|
|
12734
|
+
// entry (first boot) → false → count normally.
|
|
12735
|
+
currentGenerationExternallyStarted: lastRestartWasExternal.get(agent.code_name) ?? false,
|
|
12726
12736
|
// ENG-5441 / ENG-5547: a mcp-presence-reaper restart counts against
|
|
12727
12737
|
// the agent-wide breaker ONLY when several distinct MCP servers are
|
|
12728
12738
|
// missing at once — a thrashing collection that rotates restarts of
|