@integrity-labs/agt-cli 0.28.749 → 0.28.751

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.
@@ -100,7 +100,7 @@ async function spawnPairSession(session) {
100
100
  return { ok: true };
101
101
  } catch {
102
102
  }
103
- const { resolveClaudeBinary } = await import("./persistent-session-VX5THUBN.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-Z3NHK5IW.js");
104
104
  const claudeBin = resolveClaudeBinary();
105
105
  const pairEnv = {
106
106
  ...process.env,
@@ -373,4 +373,4 @@ export {
373
373
  startClaudePair,
374
374
  submitClaudePairCode
375
375
  };
376
- //# sourceMappingURL=claude-pair-runtime-QOHDIQBD.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-MOUA66HF.js.map
@@ -57,7 +57,7 @@ import {
57
57
  safeWriteJsonAtomic,
58
58
  setConfigHash,
59
59
  tripClass
60
- } from "../chunk-WTBSFYTA.js";
60
+ } from "../chunk-QYAJHOZB.js";
61
61
  import {
62
62
  getProjectDir as getProjectDir2,
63
63
  getReadyTasks,
@@ -118,7 +118,7 @@ import {
118
118
  takeZombieDetection,
119
119
  toOpencodeModel,
120
120
  writeEgressAllowlist
121
- } from "../chunk-3LQYVRKX.js";
121
+ } from "../chunk-LCHGVH7O.js";
122
122
  import {
123
123
  ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
124
124
  AnchorSessionClient,
@@ -207,7 +207,7 @@ import {
207
207
  subagentActivityAgeSeconds,
208
208
  sumTranscriptUsageInWindow,
209
209
  transcriptActivityAgeSeconds
210
- } from "../chunk-DFOBTAPL.js";
210
+ } from "../chunk-TZOMZFXF.js";
211
211
  import {
212
212
  reapOrphanChannelMcps
213
213
  } from "../chunk-XWVM4KPK.js";
@@ -1695,7 +1695,28 @@ async function runConnectivityProbes(integrations, options = {}) {
1695
1695
  // assumed. Defaults to 'none' rather than being omitted — an absent field
1696
1696
  // from an older manager and a probe that contacted nothing must land in
1697
1697
  // the same, conservative place.
1698
- evidence: outcome.evidence ?? "none"
1698
+ evidence: outcome.evidence ?? "none",
1699
+ // ENG-9173's other half. That ticket added `last_connectivity_cause` and
1700
+ // the API-side write for it, and the probes compute a cause today
1701
+ // (`causeForHttp` in connectivity-http-probes.ts, and the did-not-run
1702
+ // branches in cli-probe.ts). This line is what puts it ON THE WIRE.
1703
+ //
1704
+ // Without it `ConnectivityReport` had no `cause` field at all, so the
1705
+ // host lane never sent one and the API's
1706
+ // `last_connectivity_cause: item.cause ?? 'unknown'` resolved to
1707
+ // `'unknown'` for EVERY host-probed row on the fleet, forever. The column
1708
+ // added to stop an escalation boundary matching prose was itself never
1709
+ // populated by the lane that does almost all the probing — the identical
1710
+ // parse-then-drop the ENG-9173 header describes, one layer further up.
1711
+ //
1712
+ // Omitted rather than defaulted when absent: unlike `evidence`, where a
1713
+ // missing value and "contacted nothing" must both land conservatively on
1714
+ // `'none'`, the API already coerces an absent or unrecognised cause to
1715
+ // `'unknown'` (`isConnectivityCause`, integration-connectivity-report.ts).
1716
+ // Sending an explicit `'unknown'` would be indistinguishable from an older
1717
+ // manager that cannot classify at all, and that distinction is worth
1718
+ // keeping while this rolls out across hosts.
1719
+ ...outcome.cause ? { cause: outcome.cause } : {}
1699
1720
  });
1700
1721
  }
1701
1722
  return { reports, due: due.length, probed: batch.length, skipped };
@@ -12717,7 +12738,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
12717
12738
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
12718
12739
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
12719
12740
  async function channelInboundActivityAgeSecondsFor(codeName) {
12720
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-PMH4Z3MU.js");
12741
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-62LL7XTQ.js");
12721
12742
  const newest = newestPendingInboundActivityMtimeMs(dirname10(paneLogPath(codeName)));
12722
12743
  if (newest === null) return null;
12723
12744
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -13370,7 +13391,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
13370
13391
  var lastVersionCheckAt = 0;
13371
13392
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
13372
13393
  var lastResponsivenessProbeAt = 0;
13373
- var agtCliVersion = true ? "0.28.749" : "dev";
13394
+ var agtCliVersion = true ? "0.28.751" : "dev";
13374
13395
  function resolveBrewPath(execFileSync3) {
13375
13396
  try {
13376
13397
  const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -14911,7 +14932,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
14911
14932
  if (codeNames.length === 0) return;
14912
14933
  void (async () => {
14913
14934
  try {
14914
- const { collectDiagnostics } = await import("../persistent-session-VX5THUBN.js");
14935
+ const { collectDiagnostics } = await import("../persistent-session-Z3NHK5IW.js");
14915
14936
  await api.post("/host/heartbeat", {
14916
14937
  host_id: hostId,
14917
14938
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -15052,7 +15073,7 @@ async function pollCycleInner() {
15052
15073
  }
15053
15074
  try {
15054
15075
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
15055
- const { collectDiagnostics } = await import("../persistent-session-VX5THUBN.js");
15076
+ const { collectDiagnostics } = await import("../persistent-session-Z3NHK5IW.js");
15056
15077
  const diagCodeNames = [...agentState.persistentSessionAgents];
15057
15078
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
15058
15079
  let tailscaleHostname;
@@ -15221,7 +15242,7 @@ async function pollCycleInner() {
15221
15242
  collectPanelessActivityProbes,
15222
15243
  getResponsivenessIntervalMs,
15223
15244
  occupancyQualificationClassifications
15224
- } = await import("../responsiveness-probe-PMH4Z3MU.js");
15245
+ } = await import("../responsiveness-probe-62LL7XTQ.js");
15225
15246
  const probeIntervalMs = getResponsivenessIntervalMs();
15226
15247
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
15227
15248
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -15331,7 +15352,7 @@ async function pollCycleInner() {
15331
15352
  collectResponsivenessProbes,
15332
15353
  livePendingInboundOldestAgeSeconds,
15333
15354
  parkPendingInbound
15334
- } = await import("../responsiveness-probe-PMH4Z3MU.js");
15355
+ } = await import("../responsiveness-probe-62LL7XTQ.js");
15335
15356
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
15336
15357
  const wedgeNow = /* @__PURE__ */ new Date();
15337
15358
  const liveAgents = agentState.persistentSessionAgents;
@@ -15487,7 +15508,7 @@ async function pollCycleInner() {
15487
15508
  }
15488
15509
  try {
15489
15510
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
15490
- const { probeSessionAuth } = await import("../session-auth-dead-3FTENJFF.js");
15511
+ const { probeSessionAuth } = await import("../session-auth-dead-GEIXRAIM.js");
15491
15512
  const observations = [];
15492
15513
  const pendingCacheCommits = [];
15493
15514
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -19451,7 +19472,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
19451
19472
  void api.post("/host/restart-ack", { host_id: hostId, agent_id: agentId, restart_requested_at: requestedAt }).catch((err) => log(`[restart-lane] ack failed for '${codeName}': ${err.message}`));
19452
19473
  void (async () => {
19453
19474
  try {
19454
- const { collectDiagnostics } = await import("../persistent-session-VX5THUBN.js");
19475
+ const { collectDiagnostics } = await import("../persistent-session-Z3NHK5IW.js");
19455
19476
  await api.post("/host/heartbeat", {
19456
19477
  host_id: hostId,
19457
19478
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -19497,7 +19518,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
19497
19518
  }
19498
19519
  try {
19499
19520
  const hostId = await getHostId();
19500
- const { collectDiagnostics } = await import("../persistent-session-VX5THUBN.js");
19521
+ const { collectDiagnostics } = await import("../persistent-session-Z3NHK5IW.js");
19501
19522
  await api.post("/host/heartbeat", {
19502
19523
  host_id: hostId,
19503
19524
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -20133,7 +20154,7 @@ async function processClaudePairSessions(agents) {
20133
20154
  killPairSession,
20134
20155
  pairTmuxSession,
20135
20156
  finalizeClaudePairOnboarding
20136
- } = await import("../claude-pair-runtime-QOHDIQBD.js");
20157
+ } = await import("../claude-pair-runtime-MOUA66HF.js");
20137
20158
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
20138
20159
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
20139
20160
  const killed = await killPairSession(pairTmuxSession(pairId));