@integrity-labs/agt-cli 0.28.338 → 0.28.340

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-G7WNWWJZ.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-4UG3S54C.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-XPWI2M2Z.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-F55PDOWQ.js.map
@@ -43,9 +43,10 @@ import {
43
43
  reapMissingMcpSessions,
44
44
  reapStaleMcpChildren,
45
45
  requireHost,
46
+ resolveEffectivePinRaw,
46
47
  safeWriteJsonAtomic,
47
48
  setConfigHash
48
- } from "../chunk-S2JJ532Q.js";
49
+ } from "../chunk-Z6ASBYHI.js";
49
50
  import {
50
51
  getProjectDir as getProjectDir2,
51
52
  getReadyTasks,
@@ -134,7 +135,7 @@ import {
134
135
  takeZombieDetection,
135
136
  transcriptActivityAgeSeconds,
136
137
  writeEgressAllowlist
137
- } from "../chunk-O4V3TMUI.js";
138
+ } from "../chunk-J6QDPXGS.js";
138
139
  import {
139
140
  reapOrphanChannelMcps
140
141
  } from "../chunk-XWVM4KPK.js";
@@ -8384,11 +8385,13 @@ function clearAgentCaches(agentId, codeName) {
8384
8385
  }
8385
8386
  var cachedFrameworkVersion = null;
8386
8387
  var cachedMaintenanceWindow = null;
8388
+ var cachedDesiredAgtCliVersion = null;
8389
+ var desiredAgtCliVersionHydrated = false;
8387
8390
  var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
8388
8391
  var lastVersionCheckAt = 0;
8389
8392
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
8390
8393
  var lastResponsivenessProbeAt = 0;
8391
- var agtCliVersion = true ? "0.28.338" : "dev";
8394
+ var agtCliVersion = true ? "0.28.340" : "dev";
8392
8395
  function resolveBrewPath(execFileSync2) {
8393
8396
  try {
8394
8397
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -8738,7 +8741,11 @@ async function checkAndUpdateCliViaBrew(force = false) {
8738
8741
  const brewPath = resolveBrewPath(execFileSync2);
8739
8742
  if (!brewPath) return "noop";
8740
8743
  {
8741
- const brewPin = decidePin({ installed: agtCliVersion, pinRaw: process.env.AGT_CLI_PIN_VERSION });
8744
+ const brewPinRaw = resolveAgtCliPinRaw();
8745
+ if (brewPinRaw === void 0 && !desiredAgtCliVersionHydrated) {
8746
+ return "noop";
8747
+ }
8748
+ const brewPin = decidePin({ installed: agtCliVersion, pinRaw: brewPinRaw });
8742
8749
  if (brewPin.kind === "satisfied") {
8743
8750
  if (!selfUpdatePinnedLogged) {
8744
8751
  log(`[self-update] agt CLI pinned to ${brewPin.version} (AGT_CLI_PIN_VERSION); already satisfied on this brew install.`);
@@ -8820,10 +8827,16 @@ async function checkAndUpdateCliViaBrew(force = false) {
8820
8827
  return "failed";
8821
8828
  }
8822
8829
  }
8830
+ function resolveAgtCliPinRaw() {
8831
+ return resolveEffectivePinRaw(process.env.AGT_CLI_PIN_VERSION, cachedDesiredAgtCliVersion);
8832
+ }
8823
8833
  async function checkAndUpdateCliViaNpm(force = false) {
8824
8834
  if (agtCliVersion === "dev") return "noop";
8825
8835
  const channel = process.env.AGT_CLI_RELEASE_CHANNEL || "latest";
8826
- const pinRaw = process.env.AGT_CLI_PIN_VERSION;
8836
+ const pinRaw = resolveAgtCliPinRaw();
8837
+ if (pinRaw === void 0 && !desiredAgtCliVersionHydrated) {
8838
+ return "noop";
8839
+ }
8827
8840
  const pinDecision = decidePin({ installed: agtCliVersion, pinRaw });
8828
8841
  if (pinDecision.kind === "invalid") {
8829
8842
  if (!selfUpdatePinInvalidLogged) {
@@ -9343,7 +9356,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
9343
9356
  if (codeNames.length === 0) return;
9344
9357
  void (async () => {
9345
9358
  try {
9346
- const { collectDiagnostics } = await import("../persistent-session-G7WNWWJZ.js");
9359
+ const { collectDiagnostics } = await import("../persistent-session-4UG3S54C.js");
9347
9360
  await api.post("/host/heartbeat", {
9348
9361
  host_id: hostId,
9349
9362
  agent_diagnostics: collectDiagnostics(codeNames)
@@ -9442,7 +9455,7 @@ async function pollCycle() {
9442
9455
  }
9443
9456
  try {
9444
9457
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
9445
- const { collectDiagnostics } = await import("../persistent-session-G7WNWWJZ.js");
9458
+ const { collectDiagnostics } = await import("../persistent-session-4UG3S54C.js");
9446
9459
  const diagCodeNames = [...agentState.persistentSessionAgents];
9447
9460
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
9448
9461
  let tailscaleHostname;
@@ -9523,6 +9536,12 @@ async function pollCycle() {
9523
9536
  if (hbResp?.maintenance_window) {
9524
9537
  cachedMaintenanceWindow = hbResp.maintenance_window;
9525
9538
  }
9539
+ if (hbResp) {
9540
+ desiredAgtCliVersionHydrated = true;
9541
+ if ("desired_agt_cli_version" in hbResp) {
9542
+ cachedDesiredAgtCliVersion = hbResp.desired_agt_cli_version ?? null;
9543
+ }
9544
+ }
9526
9545
  const requestedUpdateAt = hbResp?.update_requested_at ?? null;
9527
9546
  const forcedUpdate = decideForcedUpdate({
9528
9547
  requestedAt: requestedUpdateAt,
@@ -9591,7 +9610,7 @@ async function pollCycle() {
9591
9610
  const {
9592
9611
  collectResponsivenessProbes,
9593
9612
  getResponsivenessIntervalMs
9594
- } = await import("../responsiveness-probe-X735BG2Q.js");
9613
+ } = await import("../responsiveness-probe-TK47IXPX.js");
9595
9614
  const probeIntervalMs = getResponsivenessIntervalMs();
9596
9615
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
9597
9616
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -9623,7 +9642,7 @@ async function pollCycle() {
9623
9642
  collectResponsivenessProbes,
9624
9643
  livePendingInboundOldestAgeSeconds,
9625
9644
  parkPendingInbound
9626
- } = await import("../responsiveness-probe-X735BG2Q.js");
9645
+ } = await import("../responsiveness-probe-TK47IXPX.js");
9627
9646
  const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
9628
9647
  const wedgeNow = /* @__PURE__ */ new Date();
9629
9648
  const liveAgents = agentState.persistentSessionAgents;
@@ -12721,7 +12740,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
12721
12740
  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}`));
12722
12741
  void (async () => {
12723
12742
  try {
12724
- const { collectDiagnostics } = await import("../persistent-session-G7WNWWJZ.js");
12743
+ const { collectDiagnostics } = await import("../persistent-session-4UG3S54C.js");
12725
12744
  await api.post("/host/heartbeat", {
12726
12745
  host_id: hostId,
12727
12746
  agent_diagnostics: collectDiagnostics([codeName])
@@ -12771,7 +12790,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
12771
12790
  }
12772
12791
  try {
12773
12792
  const hostId = await getHostId();
12774
- const { collectDiagnostics } = await import("../persistent-session-G7WNWWJZ.js");
12793
+ const { collectDiagnostics } = await import("../persistent-session-4UG3S54C.js");
12775
12794
  await api.post("/host/heartbeat", {
12776
12795
  host_id: hostId,
12777
12796
  agent_diagnostics: collectDiagnostics([codeName])
@@ -13269,7 +13288,7 @@ async function processClaudePairSessions(agents) {
13269
13288
  killPairSession,
13270
13289
  pairTmuxSession,
13271
13290
  finalizeClaudePairOnboarding
13272
- } = await import("../claude-pair-runtime-XPWI2M2Z.js");
13291
+ } = await import("../claude-pair-runtime-F55PDOWQ.js");
13273
13292
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
13274
13293
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
13275
13294
  const killed = await killPairSession(pairTmuxSession(pairId));