@integrity-labs/agt-cli 0.28.632 → 0.28.634

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.
@@ -7,7 +7,7 @@ import {
7
7
  expandTemplateVars,
8
8
  isolationMode,
9
9
  parseEnvIntegrations
10
- } from "./chunk-IT2WYXBM.js";
10
+ } from "./chunk-GNTCOXZG.js";
11
11
  import {
12
12
  BIND_FAILURE_QUARANTINE_THRESHOLD,
13
13
  INTEGRATIONS_SECTION_END,
@@ -6069,7 +6069,7 @@ function exchangeFailureKind(err) {
6069
6069
  }
6070
6070
 
6071
6071
  // src/lib/api-client.ts
6072
- var agtCliVersion = true ? "0.28.632" : "dev";
6072
+ var agtCliVersion = true ? "0.28.634" : "dev";
6073
6073
  var lastConfigHash = null;
6074
6074
  function setConfigHash(hash) {
6075
6075
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -9630,4 +9630,4 @@ export {
9630
9630
  managerInstallSystemUnitCommand,
9631
9631
  managerUninstallSystemUnitCommand
9632
9632
  };
9633
- //# sourceMappingURL=chunk-QDIF33SF.js.map
9633
+ //# sourceMappingURL=chunk-IBRK6RYT.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-YER3H6R6.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-ORYBOIBQ.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-JYRAP5M3.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-DWNJWCSU.js.map
@@ -54,7 +54,7 @@ import {
54
54
  safeWriteJsonAtomic,
55
55
  setConfigHash,
56
56
  tripClass
57
- } from "../chunk-QDIF33SF.js";
57
+ } from "../chunk-IBRK6RYT.js";
58
58
  import {
59
59
  getProjectDir as getProjectDir2,
60
60
  getReadyTasks,
@@ -110,7 +110,7 @@ import {
110
110
  takeZombieDetection,
111
111
  toOpencodeModel,
112
112
  writeEgressAllowlist
113
- } from "../chunk-IT2WYXBM.js";
113
+ } from "../chunk-GNTCOXZG.js";
114
114
  import {
115
115
  ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
116
116
  AnchorSessionClient,
@@ -11492,7 +11492,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
11492
11492
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
11493
11493
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
11494
11494
  async function channelInboundActivityAgeSecondsFor(codeName) {
11495
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-MWZBEJOS.js");
11495
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-WYCKY2BJ.js");
11496
11496
  const newest = newestPendingInboundActivityMtimeMs(dirname9(paneLogPath(codeName)));
11497
11497
  if (newest === null) return null;
11498
11498
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -12131,7 +12131,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
12131
12131
  var lastVersionCheckAt = 0;
12132
12132
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
12133
12133
  var lastResponsivenessProbeAt = 0;
12134
- var agtCliVersion = true ? "0.28.632" : "dev";
12134
+ var agtCliVersion = true ? "0.28.634" : "dev";
12135
12135
  function resolveBrewPath(execFileSync3) {
12136
12136
  try {
12137
12137
  const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -13438,7 +13438,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
13438
13438
  if (codeNames.length === 0) return;
13439
13439
  void (async () => {
13440
13440
  try {
13441
- const { collectDiagnostics } = await import("../persistent-session-YER3H6R6.js");
13441
+ const { collectDiagnostics } = await import("../persistent-session-ORYBOIBQ.js");
13442
13442
  await api.post("/host/heartbeat", {
13443
13443
  host_id: hostId,
13444
13444
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor)
@@ -13554,7 +13554,7 @@ async function pollCycleInner() {
13554
13554
  }
13555
13555
  try {
13556
13556
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
13557
- const { collectDiagnostics } = await import("../persistent-session-YER3H6R6.js");
13557
+ const { collectDiagnostics } = await import("../persistent-session-ORYBOIBQ.js");
13558
13558
  const diagCodeNames = [...agentState.persistentSessionAgents];
13559
13559
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor) : void 0;
13560
13560
  let tailscaleHostname;
@@ -13677,7 +13677,7 @@ async function pollCycleInner() {
13677
13677
  collectPanelessActivityProbes,
13678
13678
  getResponsivenessIntervalMs,
13679
13679
  occupancyQualificationClassifications
13680
- } = await import("../responsiveness-probe-MWZBEJOS.js");
13680
+ } = await import("../responsiveness-probe-WYCKY2BJ.js");
13681
13681
  const probeIntervalMs = getResponsivenessIntervalMs();
13682
13682
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
13683
13683
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -13783,7 +13783,7 @@ async function pollCycleInner() {
13783
13783
  collectResponsivenessProbes,
13784
13784
  livePendingInboundOldestAgeSeconds,
13785
13785
  parkPendingInbound
13786
- } = await import("../responsiveness-probe-MWZBEJOS.js");
13786
+ } = await import("../responsiveness-probe-WYCKY2BJ.js");
13787
13787
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
13788
13788
  const wedgeNow = /* @__PURE__ */ new Date();
13789
13789
  const liveAgents = agentState.persistentSessionAgents;
@@ -14265,6 +14265,31 @@ async function pollCycleInner() {
14265
14265
  join35(dir, "watchdog-give-up.json"),
14266
14266
  JSON.stringify({ gave_up_at: (/* @__PURE__ */ new Date()).toISOString() })
14267
14267
  );
14268
+ },
14269
+ // ENG-9006: the agent is parked on Claude Code's usage-limit modal.
14270
+ //
14271
+ // Reuses the ENG-6058 signal file rather than adding a second channel —
14272
+ // the same precedent as the transient-overload wedge path above. What
14273
+ // differs is the `reason`, which makes the channel servers post "I've
14274
+ // reached my usage limit, your message is queued" instead of the
14275
+ // generic "please resend": the message is NOT lost, and telling a
14276
+ // customer to resend into a blocked pane is exactly what the ENG-9006
14277
+ // capture shows them already doing unprompted, four times.
14278
+ //
14279
+ // `resets_hint` is the modal's own reset text, passed through verbatim.
14280
+ // It is the only place Claude Code gives us a DATED reset; the banner
14281
+ // parser elsewhere can only reconstruct an hour (ENG-8901).
14282
+ signalUsageLimit: (codeName, resetsHint) => {
14283
+ const dir = getFramework("claude-code").getAgentDir(codeName);
14284
+ if (!existsSync15(dir)) return;
14285
+ atomicWriteFileSync(
14286
+ join35(dir, "watchdog-give-up.json"),
14287
+ JSON.stringify({
14288
+ gave_up_at: (/* @__PURE__ */ new Date()).toISOString(),
14289
+ reason: "usage_limit",
14290
+ ...resetsHint ? { resets_hint: resetsHint } : {}
14291
+ })
14292
+ );
14268
14293
  }
14269
14294
  }, {
14270
14295
  // ENG-6055: heal-keystroke escalation. 'disturb' (default) retries
@@ -17481,7 +17506,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
17481
17506
  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}`));
17482
17507
  void (async () => {
17483
17508
  try {
17484
- const { collectDiagnostics } = await import("../persistent-session-YER3H6R6.js");
17509
+ const { collectDiagnostics } = await import("../persistent-session-ORYBOIBQ.js");
17485
17510
  await api.post("/host/heartbeat", {
17486
17511
  host_id: hostId,
17487
17512
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor)
@@ -17532,7 +17557,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
17532
17557
  }
17533
17558
  try {
17534
17559
  const hostId = await getHostId();
17535
- const { collectDiagnostics } = await import("../persistent-session-YER3H6R6.js");
17560
+ const { collectDiagnostics } = await import("../persistent-session-ORYBOIBQ.js");
17536
17561
  await api.post("/host/heartbeat", {
17537
17562
  host_id: hostId,
17538
17563
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor)
@@ -18128,7 +18153,7 @@ async function processClaudePairSessions(agents) {
18128
18153
  killPairSession,
18129
18154
  pairTmuxSession,
18130
18155
  finalizeClaudePairOnboarding
18131
- } = await import("../claude-pair-runtime-JYRAP5M3.js");
18156
+ } = await import("../claude-pair-runtime-DWNJWCSU.js");
18132
18157
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
18133
18158
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
18134
18159
  const killed = await killPairSession(pairTmuxSession(pairId));