@integrity-labs/agt-cli 0.28.508 → 0.28.510

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-VX37ESOS.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-4VF7V4HB.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-YQ7V5TS6.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-4CYSUXLF.js.map
@@ -53,7 +53,7 @@ import {
53
53
  safeWriteJsonAtomic,
54
54
  setConfigHash,
55
55
  tripClass
56
- } from "../chunk-GK3TSZ4S.js";
56
+ } from "../chunk-EQW3EHDQ.js";
57
57
  import {
58
58
  getProjectDir as getProjectDir2,
59
59
  getReadyTasks,
@@ -173,7 +173,7 @@ import {
173
173
  toOpencodeModel,
174
174
  transcriptActivityAgeSeconds,
175
175
  writeEgressAllowlist
176
- } from "../chunk-LNPJI2AE.js";
176
+ } from "../chunk-7DZNVMMX.js";
177
177
  import {
178
178
  reapOrphanChannelMcps
179
179
  } from "../chunk-XWVM4KPK.js";
@@ -1899,7 +1899,19 @@ var NON_SECRET_ENV_GATES = [
1899
1899
  "AGT_DISABLE_MSTEAMS_HOST_ROUTES",
1900
1900
  "AGT_DEPLOY_CRONS",
1901
1901
  "AGT_CONV_EVAL_BACKEND",
1902
- "AGT_CLI_RELEASE_CHANNEL"
1902
+ "AGT_CLI_RELEASE_CHANNEL",
1903
+ // ENG-8341: the host-local self-update pin. It OUTRANKS
1904
+ // hosts.desired_agt_cli_version in resolveEffectivePinRaw, so without it the
1905
+ // control plane cannot resolve a host's true target: a host env-pinned to X
1906
+ // while the DB says NULL is CORRECT to sit behind `latest`, and a drift
1907
+ // monitor that cannot see the env pin would page on exactly the hosts an
1908
+ // operator deliberately held back. A version string, not a secret (and
1909
+ // SECRET_NAME_PATTERN would drop it if it were shaped like one).
1910
+ "AGT_CLI_PIN_VERSION",
1911
+ // ENG-8341: the paired escape hatch. A host allowing urgent upgrades can
1912
+ // legitimately be AHEAD of its pin, which is the other direction of the same
1913
+ // false positive.
1914
+ "AGT_CLI_PIN_ALLOW_URGENT"
1903
1915
  ];
1904
1916
  var SECRET_NAME_PATTERN = /(KEY|SECRET|TOKEN|PASSWORD|PASSWD|CREDENTIAL|PRIVATE|SIGNING|WEBHOOK)/i;
1905
1917
  function listCapturableEnvGateNames() {
@@ -10038,7 +10050,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
10038
10050
  var lastVersionCheckAt = 0;
10039
10051
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
10040
10052
  var lastResponsivenessProbeAt = 0;
10041
- var agtCliVersion = true ? "0.28.508" : "dev";
10053
+ var agtCliVersion = true ? "0.28.510" : "dev";
10042
10054
  function resolveBrewPath(execFileSync2) {
10043
10055
  try {
10044
10056
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -11245,7 +11257,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
11245
11257
  if (codeNames.length === 0) return;
11246
11258
  void (async () => {
11247
11259
  try {
11248
- const { collectDiagnostics } = await import("../persistent-session-VX37ESOS.js");
11260
+ const { collectDiagnostics } = await import("../persistent-session-4VF7V4HB.js");
11249
11261
  await api.post("/host/heartbeat", {
11250
11262
  host_id: hostId,
11251
11263
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor)
@@ -11352,7 +11364,7 @@ async function pollCycle() {
11352
11364
  }
11353
11365
  try {
11354
11366
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
11355
- const { collectDiagnostics } = await import("../persistent-session-VX37ESOS.js");
11367
+ const { collectDiagnostics } = await import("../persistent-session-4VF7V4HB.js");
11356
11368
  const diagCodeNames = [...agentState.persistentSessionAgents];
11357
11369
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor) : void 0;
11358
11370
  let tailscaleHostname;
@@ -11467,7 +11479,7 @@ async function pollCycle() {
11467
11479
  collectResponsivenessProbes,
11468
11480
  collectPanelessActivityProbes,
11469
11481
  getResponsivenessIntervalMs
11470
- } = await import("../responsiveness-probe-5MEW5XNI.js");
11482
+ } = await import("../responsiveness-probe-PWS3FIRF.js");
11471
11483
  const probeIntervalMs = getResponsivenessIntervalMs();
11472
11484
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
11473
11485
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -11531,7 +11543,7 @@ async function pollCycle() {
11531
11543
  collectResponsivenessProbes,
11532
11544
  livePendingInboundOldestAgeSeconds,
11533
11545
  parkPendingInbound
11534
- } = await import("../responsiveness-probe-5MEW5XNI.js");
11546
+ } = await import("../responsiveness-probe-PWS3FIRF.js");
11535
11547
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
11536
11548
  const wedgeNow = /* @__PURE__ */ new Date();
11537
11549
  const liveAgents = agentState.persistentSessionAgents;
@@ -15023,7 +15035,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
15023
15035
  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}`));
15024
15036
  void (async () => {
15025
15037
  try {
15026
- const { collectDiagnostics } = await import("../persistent-session-VX37ESOS.js");
15038
+ const { collectDiagnostics } = await import("../persistent-session-4VF7V4HB.js");
15027
15039
  await api.post("/host/heartbeat", {
15028
15040
  host_id: hostId,
15029
15041
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor)
@@ -15073,7 +15085,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
15073
15085
  }
15074
15086
  try {
15075
15087
  const hostId = await getHostId();
15076
- const { collectDiagnostics } = await import("../persistent-session-VX37ESOS.js");
15088
+ const { collectDiagnostics } = await import("../persistent-session-4VF7V4HB.js");
15077
15089
  await api.post("/host/heartbeat", {
15078
15090
  host_id: hostId,
15079
15091
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor)
@@ -15591,7 +15603,7 @@ async function processClaudePairSessions(agents) {
15591
15603
  killPairSession,
15592
15604
  pairTmuxSession,
15593
15605
  finalizeClaudePairOnboarding
15594
- } = await import("../claude-pair-runtime-YQ7V5TS6.js");
15606
+ } = await import("../claude-pair-runtime-4CYSUXLF.js");
15595
15607
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
15596
15608
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
15597
15609
  const killed = await killPairSession(pairTmuxSession(pairId));