@integrity-labs/agt-cli 0.28.862 → 0.28.863

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.
@@ -16,7 +16,7 @@ import {
16
16
  parseEnvIntegrations,
17
17
  shellQuote,
18
18
  summarizeUnanswerablePane
19
- } from "./chunk-KEF52TAB.js";
19
+ } from "./chunk-PXDYKP5O.js";
20
20
  import {
21
21
  BIND_FAILURE_QUARANTINE_THRESHOLD,
22
22
  INTEGRATIONS_SECTION_END,
@@ -76,7 +76,7 @@ import {
76
76
  sessionTranscriptDir,
77
77
  worseConnectivityOutcome,
78
78
  wrapScheduledTaskPrompt
79
- } from "./chunk-3DDF2R5V.js";
79
+ } from "./chunk-JG3EAFZO.js";
80
80
  import {
81
81
  parsePsRows
82
82
  } from "./chunk-XWVM4KPK.js";
@@ -6728,7 +6728,7 @@ function exchangeFailureKind(err) {
6728
6728
  }
6729
6729
 
6730
6730
  // src/lib/api-client.ts
6731
- var agtCliVersion = true ? "0.28.862" : "dev";
6731
+ var agtCliVersion = true ? "0.28.863" : "dev";
6732
6732
  var lastConfigHash = null;
6733
6733
  function setConfigHash(hash) {
6734
6734
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -11338,4 +11338,4 @@ export {
11338
11338
  managerInstallSystemUnitCommand,
11339
11339
  managerUninstallSystemUnitCommand
11340
11340
  };
11341
- //# sourceMappingURL=chunk-K6ODYXGF.js.map
11341
+ //# sourceMappingURL=chunk-M5ICLV54.js.map
@@ -18,7 +18,7 @@ import {
18
18
  rotateDailySession,
19
19
  sessionFileExists,
20
20
  todayLocalIso
21
- } from "./chunk-3DDF2R5V.js";
21
+ } from "./chunk-JG3EAFZO.js";
22
22
  import {
23
23
  reapOrphanChannelMcps
24
24
  } from "./chunk-XWVM4KPK.js";
@@ -5431,4 +5431,4 @@ export {
5431
5431
  stopAllSessionsAndWait,
5432
5432
  getProjectDir
5433
5433
  };
5434
- //# sourceMappingURL=chunk-KEF52TAB.js.map
5434
+ //# sourceMappingURL=chunk-PXDYKP5O.js.map
@@ -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-6YD4WBFZ.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-GSXFKCVO.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-K4AALPY6.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-OWOZ2ZQ7.js.map
@@ -63,7 +63,7 @@ import {
63
63
  safeWriteJsonAtomic,
64
64
  setConfigHash,
65
65
  tripClass
66
- } from "../chunk-K6ODYXGF.js";
66
+ } from "../chunk-M5ICLV54.js";
67
67
  import {
68
68
  getProjectDir as getProjectDir2,
69
69
  getReadyTasks,
@@ -129,7 +129,7 @@ import {
129
129
  takeZombieDetection,
130
130
  toOpencodeModel,
131
131
  writeEgressAllowlist
132
- } from "../chunk-KEF52TAB.js";
132
+ } from "../chunk-PXDYKP5O.js";
133
133
  import {
134
134
  ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
135
135
  AnchorSessionClient,
@@ -224,7 +224,7 @@ import {
224
224
  subagentActivityAgeSeconds,
225
225
  sumTranscriptUsageInWindow,
226
226
  transcriptActivityAgeSeconds
227
- } from "../chunk-3DDF2R5V.js";
227
+ } from "../chunk-JG3EAFZO.js";
228
228
  import {
229
229
  reapOrphanChannelMcps
230
230
  } from "../chunk-XWVM4KPK.js";
@@ -13005,7 +13005,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
13005
13005
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
13006
13006
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
13007
13007
  async function channelInboundActivityAgeSecondsFor(codeName) {
13008
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-YST6IPBA.js");
13008
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-GOM3ZYW3.js");
13009
13009
  const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
13010
13010
  if (newest === null) return null;
13011
13011
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -13673,7 +13673,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
13673
13673
  var lastVersionCheckAt = 0;
13674
13674
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
13675
13675
  var lastResponsivenessProbeAt = 0;
13676
- var agtCliVersion = true ? "0.28.862" : "dev";
13676
+ var agtCliVersion = true ? "0.28.863" : "dev";
13677
13677
  function resolveBrewPath(execFileSync2) {
13678
13678
  try {
13679
13679
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -15263,7 +15263,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
15263
15263
  if (codeNames.length === 0) return;
15264
15264
  void (async () => {
15265
15265
  try {
15266
- const { collectDiagnostics } = await import("../persistent-session-6YD4WBFZ.js");
15266
+ const { collectDiagnostics } = await import("../persistent-session-GSXFKCVO.js");
15267
15267
  await api.post("/host/heartbeat", {
15268
15268
  host_id: hostId,
15269
15269
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -15405,7 +15405,7 @@ async function pollCycleInner() {
15405
15405
  }
15406
15406
  try {
15407
15407
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
15408
- const { collectDiagnostics } = await import("../persistent-session-6YD4WBFZ.js");
15408
+ const { collectDiagnostics } = await import("../persistent-session-GSXFKCVO.js");
15409
15409
  const diagCodeNames = [...agentState.persistentSessionAgents];
15410
15410
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
15411
15411
  let tailscaleHostname;
@@ -15574,7 +15574,7 @@ async function pollCycleInner() {
15574
15574
  collectPanelessActivityProbes,
15575
15575
  getResponsivenessIntervalMs,
15576
15576
  occupancyQualificationClassifications
15577
- } = await import("../responsiveness-probe-YST6IPBA.js");
15577
+ } = await import("../responsiveness-probe-GOM3ZYW3.js");
15578
15578
  const probeIntervalMs = getResponsivenessIntervalMs();
15579
15579
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
15580
15580
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -15691,7 +15691,7 @@ async function pollCycleInner() {
15691
15691
  collectResponsivenessProbes,
15692
15692
  livePendingInboundOldestAgeSeconds,
15693
15693
  parkPendingInbound
15694
- } = await import("../responsiveness-probe-YST6IPBA.js");
15694
+ } = await import("../responsiveness-probe-GOM3ZYW3.js");
15695
15695
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
15696
15696
  const wedgeNow = /* @__PURE__ */ new Date();
15697
15697
  const liveAgents = agentState.persistentSessionAgents;
@@ -15847,7 +15847,7 @@ async function pollCycleInner() {
15847
15847
  }
15848
15848
  try {
15849
15849
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
15850
- const { probeSessionAuth } = await import("../session-auth-dead-DW6PJHGO.js");
15850
+ const { probeSessionAuth } = await import("../session-auth-dead-ID4L35CN.js");
15851
15851
  const observations = [];
15852
15852
  const pendingCacheCommits = [];
15853
15853
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -20092,7 +20092,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
20092
20092
  try {
20093
20093
  const freshId = rotateSessionForWedge(codeName);
20094
20094
  consecutiveWedgeCycles.delete(codeName);
20095
- const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-YST6IPBA.js");
20095
+ const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-GOM3ZYW3.js");
20096
20096
  const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
20097
20097
  const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
20098
20098
  const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
@@ -20130,7 +20130,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
20130
20130
  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}`));
20131
20131
  void (async () => {
20132
20132
  try {
20133
- const { collectDiagnostics } = await import("../persistent-session-6YD4WBFZ.js");
20133
+ const { collectDiagnostics } = await import("../persistent-session-GSXFKCVO.js");
20134
20134
  await api.post("/host/heartbeat", {
20135
20135
  host_id: hostId,
20136
20136
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -20176,7 +20176,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
20176
20176
  }
20177
20177
  try {
20178
20178
  const hostId = await getHostId();
20179
- const { collectDiagnostics } = await import("../persistent-session-6YD4WBFZ.js");
20179
+ const { collectDiagnostics } = await import("../persistent-session-GSXFKCVO.js");
20180
20180
  await api.post("/host/heartbeat", {
20181
20181
  host_id: hostId,
20182
20182
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -20812,7 +20812,7 @@ async function processClaudePairSessions(agents) {
20812
20812
  killPairSession,
20813
20813
  pairTmuxSession,
20814
20814
  finalizeClaudePairOnboarding
20815
- } = await import("../claude-pair-runtime-K4AALPY6.js");
20815
+ } = await import("../claude-pair-runtime-OWOZ2ZQ7.js");
20816
20816
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
20817
20817
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
20818
20818
  const killed = await killPairSession(pairTmuxSession(pairId));
@@ -36401,7 +36401,26 @@ var FLAG_REGISTRY = [
36401
36401
  // Migration override (ADR-0022): the pre-flags env gate stays the
36402
36402
  // highest-precedence operator override so a host already running with
36403
36403
  // AGT_RESUME_RECONCILER_ENABLED set keeps that value until the env is retired.
36404
- envVar: "AGT_RESUME_RECONCILER_ENABLED"
36404
+ envVar: "AGT_RESUME_RECONCILER_ENABLED",
36405
+ // ENG-10036: bisected from the PUBLISHED agt-cli dists, same method as its
36406
+ // sibling `auto-resume-enabled` (ENG-10034). Taken out of that ticket's
36407
+ // grandfather list rather than deferred with the other 20, because the
36408
+ // arming decision for this flag is live this week and a `since` that is
36409
+ // merely RECORDED as missing is still missing at the moment somebody reads
36410
+ // the flip-reach modal.
36411
+ //
36412
+ // AND THIS ONE IS WHY THE PROBE MATTERS. Bisecting on the module symbols
36413
+ // gives the WRONG release, and plausibly so:
36414
+ //
36415
+ // 0.28.19 2026-06-12T05:35:32Z decideResumeReconcile ✓ readResumeReconcilerConfig ✓ AGT_RESUME_RECONCILER_ENABLED ✓ 'resume-reconciler' ✗
36416
+ // 0.28.20 2026-06-12T06:17:28Z decideResumeReconcile ✓ readResumeReconcilerConfig ✓ AGT_RESUME_RECONCILER_ENABLED ✓ 'resume-reconciler' ✓
36417
+ //
36418
+ // ENG-6383 shipped the decision and the env gate; ENG-6395 promoted it to a
36419
+ // registry key 42 minutes later. A host on 0.28.19 honours the ENV VAR and
36420
+ // cannot read the FLAG, so `since: '0.28.19'` would report reach onto hosts
36421
+ // a registry flip cannot touch — the precise defect `since` exists to
36422
+ // prevent. The flag KEY is the only honest discriminator.
36423
+ since: "0.28.20"
36405
36424
  },
36406
36425
  {
36407
36426
  key: "auto-resume-enabled",
package/dist/mcp/index.js CHANGED
@@ -28696,7 +28696,26 @@ var FLAG_REGISTRY = [
28696
28696
  // Migration override (ADR-0022): the pre-flags env gate stays the
28697
28697
  // highest-precedence operator override so a host already running with
28698
28698
  // AGT_RESUME_RECONCILER_ENABLED set keeps that value until the env is retired.
28699
- envVar: "AGT_RESUME_RECONCILER_ENABLED"
28699
+ envVar: "AGT_RESUME_RECONCILER_ENABLED",
28700
+ // ENG-10036: bisected from the PUBLISHED agt-cli dists, same method as its
28701
+ // sibling `auto-resume-enabled` (ENG-10034). Taken out of that ticket's
28702
+ // grandfather list rather than deferred with the other 20, because the
28703
+ // arming decision for this flag is live this week and a `since` that is
28704
+ // merely RECORDED as missing is still missing at the moment somebody reads
28705
+ // the flip-reach modal.
28706
+ //
28707
+ // AND THIS ONE IS WHY THE PROBE MATTERS. Bisecting on the module symbols
28708
+ // gives the WRONG release, and plausibly so:
28709
+ //
28710
+ // 0.28.19 2026-06-12T05:35:32Z decideResumeReconcile ✓ readResumeReconcilerConfig ✓ AGT_RESUME_RECONCILER_ENABLED ✓ 'resume-reconciler' ✗
28711
+ // 0.28.20 2026-06-12T06:17:28Z decideResumeReconcile ✓ readResumeReconcilerConfig ✓ AGT_RESUME_RECONCILER_ENABLED ✓ 'resume-reconciler' ✓
28712
+ //
28713
+ // ENG-6383 shipped the decision and the env gate; ENG-6395 promoted it to a
28714
+ // registry key 42 minutes later. A host on 0.28.19 honours the ENV VAR and
28715
+ // cannot read the FLAG, so `since: '0.28.19'` would report reach onto hosts
28716
+ // a registry flip cannot touch — the precise defect `since` exists to
28717
+ // prevent. The flag KEY is the only honest discriminator.
28718
+ since: "0.28.20"
28700
28719
  },
28701
28720
  {
28702
28721
  key: "auto-resume-enabled",
@@ -42624,7 +42624,26 @@ var FLAG_REGISTRY = [
42624
42624
  // Migration override (ADR-0022): the pre-flags env gate stays the
42625
42625
  // highest-precedence operator override so a host already running with
42626
42626
  // AGT_RESUME_RECONCILER_ENABLED set keeps that value until the env is retired.
42627
- envVar: "AGT_RESUME_RECONCILER_ENABLED"
42627
+ envVar: "AGT_RESUME_RECONCILER_ENABLED",
42628
+ // ENG-10036: bisected from the PUBLISHED agt-cli dists, same method as its
42629
+ // sibling `auto-resume-enabled` (ENG-10034). Taken out of that ticket's
42630
+ // grandfather list rather than deferred with the other 20, because the
42631
+ // arming decision for this flag is live this week and a `since` that is
42632
+ // merely RECORDED as missing is still missing at the moment somebody reads
42633
+ // the flip-reach modal.
42634
+ //
42635
+ // AND THIS ONE IS WHY THE PROBE MATTERS. Bisecting on the module symbols
42636
+ // gives the WRONG release, and plausibly so:
42637
+ //
42638
+ // 0.28.19 2026-06-12T05:35:32Z decideResumeReconcile ✓ readResumeReconcilerConfig ✓ AGT_RESUME_RECONCILER_ENABLED ✓ 'resume-reconciler' ✗
42639
+ // 0.28.20 2026-06-12T06:17:28Z decideResumeReconcile ✓ readResumeReconcilerConfig ✓ AGT_RESUME_RECONCILER_ENABLED ✓ 'resume-reconciler' ✓
42640
+ //
42641
+ // ENG-6383 shipped the decision and the env gate; ENG-6395 promoted it to a
42642
+ // registry key 42 minutes later. A host on 0.28.19 honours the ENV VAR and
42643
+ // cannot read the FLAG, so `since: '0.28.19'` would report reach onto hosts
42644
+ // a registry flip cannot touch — the precise defect `since` exists to
42645
+ // prevent. The flag KEY is the only honest discriminator.
42646
+ since: "0.28.20"
42628
42647
  },
42629
42648
  {
42630
42649
  key: "auto-resume-enabled",