@integrity-labs/agt-cli 0.28.242 → 0.28.244

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-W2MICXSS.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-X427LHOW.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-4NHJGZBH.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-OURKHXEW.js.map
@@ -37,7 +37,7 @@ import {
37
37
  requireHost,
38
38
  safeWriteJsonAtomic,
39
39
  setConfigHash
40
- } from "../chunk-ISEWY25C.js";
40
+ } from "../chunk-JKTHAXOS.js";
41
41
  import {
42
42
  getProjectDir as getProjectDir2,
43
43
  getReadyTasks,
@@ -122,7 +122,7 @@ import {
122
122
  takeZombieDetection,
123
123
  transcriptActivityAgeSeconds,
124
124
  writeEgressAllowlist
125
- } from "../chunk-LSOXMJYA.js";
125
+ } from "../chunk-ZS2T67OF.js";
126
126
  import {
127
127
  reapOrphanChannelMcps
128
128
  } from "../chunk-XWVM4KPK.js";
@@ -6509,7 +6509,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
6509
6509
  var lastVersionCheckAt = 0;
6510
6510
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
6511
6511
  var lastResponsivenessProbeAt = 0;
6512
- var agtCliVersion = true ? "0.28.242" : "dev";
6512
+ var agtCliVersion = true ? "0.28.244" : "dev";
6513
6513
  function resolveBrewPath(execFileSync2) {
6514
6514
  try {
6515
6515
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -7355,6 +7355,20 @@ function reorderRestartedFirst(agents, restartedIds) {
7355
7355
  }
7356
7356
  return [...restarted, ...rest];
7357
7357
  }
7358
+ function flushRestartedAgentDiagnostics(hostId, codeNames) {
7359
+ if (codeNames.length === 0) return;
7360
+ void (async () => {
7361
+ try {
7362
+ const { collectDiagnostics } = await import("../persistent-session-X427LHOW.js");
7363
+ await api.post("/host/heartbeat", {
7364
+ host_id: hostId,
7365
+ agent_diagnostics: collectDiagnostics(codeNames)
7366
+ });
7367
+ } catch (err) {
7368
+ log(`[restart] post-respawn diagnostics flush failed: ${err.message}`);
7369
+ }
7370
+ })();
7371
+ }
7358
7372
  async function pollCycle() {
7359
7373
  if (!config) return;
7360
7374
  if (restartAfterUpgrade) return;
@@ -7443,7 +7457,7 @@ async function pollCycle() {
7443
7457
  }
7444
7458
  try {
7445
7459
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
7446
- const { collectDiagnostics } = await import("../persistent-session-W2MICXSS.js");
7460
+ const { collectDiagnostics } = await import("../persistent-session-X427LHOW.js");
7447
7461
  const diagCodeNames = [...agentState.persistentSessionAgents];
7448
7462
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
7449
7463
  let tailscaleHostname;
@@ -7591,7 +7605,7 @@ async function pollCycle() {
7591
7605
  const {
7592
7606
  collectResponsivenessProbes,
7593
7607
  getResponsivenessIntervalMs
7594
- } = await import("../responsiveness-probe-R7NX5NRH.js");
7608
+ } = await import("../responsiveness-probe-CFF27A7B.js");
7595
7609
  const probeIntervalMs = getResponsivenessIntervalMs();
7596
7610
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
7597
7611
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -7623,7 +7637,7 @@ async function pollCycle() {
7623
7637
  collectResponsivenessProbes,
7624
7638
  livePendingInboundOldestAgeSeconds,
7625
7639
  parkPendingInbound
7626
- } = await import("../responsiveness-probe-R7NX5NRH.js");
7640
+ } = await import("../responsiveness-probe-CFF27A7B.js");
7627
7641
  const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
7628
7642
  const wedgeNow = /* @__PURE__ */ new Date();
7629
7643
  const liveAgents = agentState.persistentSessionAgents;
@@ -7868,7 +7882,8 @@ async function pollCycle() {
7868
7882
  }
7869
7883
  activeChannels.clear();
7870
7884
  const agentStates = [];
7871
- const processOrder = hostFlagStore().getBoolean("fast-mcp-restart-respawn") ? reorderRestartedFirst(agents, new Set(restartAcks.keys())) : agents;
7885
+ const fastRespawn = hostFlagStore().getBoolean("fast-mcp-restart-respawn");
7886
+ const processOrder = fastRespawn ? reorderRestartedFirst(agents, new Set(restartAcks.keys())) : agents;
7872
7887
  for (const agent of processOrder) {
7873
7888
  if (restartInFlight.has(agent.agent_id)) {
7874
7889
  const existing = state6.agents.find((a) => a.agentId === agent.agent_id);
@@ -7900,6 +7915,9 @@ async function pollCycle() {
7900
7915
  });
7901
7916
  }
7902
7917
  }
7918
+ if (fastRespawn && restartAcks.has(agent.agent_id) && isSessionHealthy(agent.code_name)) {
7919
+ flushRestartedAgentDiagnostics(hostId, [agent.code_name]);
7920
+ }
7903
7921
  }
7904
7922
  void maybeReportActivityCache({ api, log });
7905
7923
  const restartAckStateChanged = applyRestartAcks({
@@ -7917,20 +7935,7 @@ async function pollCycle() {
7917
7935
  }
7918
7936
  if (restartAcks.size > 0) {
7919
7937
  const restartedCodeNames = agents.filter((a) => restartAcks.has(a.agent_id)).map((a) => a.code_name);
7920
- if (restartedCodeNames.length > 0) {
7921
- void (async () => {
7922
- try {
7923
- const { collectDiagnostics } = await import("../persistent-session-W2MICXSS.js");
7924
- const freshDiagnostics = collectDiagnostics(restartedCodeNames);
7925
- await api.post("/host/heartbeat", {
7926
- host_id: hostId,
7927
- agent_diagnostics: freshDiagnostics
7928
- });
7929
- } catch (err) {
7930
- log(`[restart] post-respawn diagnostics flush failed: ${err.message}`);
7931
- }
7932
- })();
7933
- }
7938
+ flushRestartedAgentDiagnostics(hostId, restartedCodeNames);
7934
7939
  }
7935
7940
  try {
7936
7941
  for (const [channelId, codeNames] of activeChannels) {
@@ -10179,6 +10184,14 @@ ${truncateForLog(ctx.tail)}` : `; pane_tail_hash=sha256:${createHash10("sha256")
10179
10184
  } : null,
10180
10185
  runId: sessionRunResult.run_id,
10181
10186
  agentTimezone,
10187
+ // ENG-6476: materialize the host-side reply-routing flags into the agent
10188
+ // spawn env so the channel MCP + Stop hook (which can't call the flag
10189
+ // evaluator) see the values the operator set. The HostFlagStore resolves
10190
+ // them from the flags-cache the manager already maintains; the launcher
10191
+ // injects AGT_SLACK_REPLY_BINDING / AGT_BLOCK_TURN_END_ALL_MARKERS_ENABLED
10192
+ // unless an operator env override is already present (which keeps precedence).
10193
+ slackReplyBindingMode: hostFlagStore().getString("slack-reply-binding"),
10194
+ blockTurnEndAllMarkers: hostFlagStore().getBoolean("block-turn-end-all-markers"),
10182
10195
  egressAllowlist,
10183
10196
  log
10184
10197
  });
@@ -10439,7 +10452,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
10439
10452
  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}`));
10440
10453
  void (async () => {
10441
10454
  try {
10442
- const { collectDiagnostics } = await import("../persistent-session-W2MICXSS.js");
10455
+ const { collectDiagnostics } = await import("../persistent-session-X427LHOW.js");
10443
10456
  await api.post("/host/heartbeat", {
10444
10457
  host_id: hostId,
10445
10458
  agent_diagnostics: collectDiagnostics([codeName])
@@ -10489,7 +10502,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
10489
10502
  }
10490
10503
  try {
10491
10504
  const hostId = await getHostId();
10492
- const { collectDiagnostics } = await import("../persistent-session-W2MICXSS.js");
10505
+ const { collectDiagnostics } = await import("../persistent-session-X427LHOW.js");
10493
10506
  await api.post("/host/heartbeat", {
10494
10507
  host_id: hostId,
10495
10508
  agent_diagnostics: collectDiagnostics([codeName])
@@ -10880,7 +10893,7 @@ async function processClaudePairSessions(agents) {
10880
10893
  killPairSession,
10881
10894
  pairTmuxSession,
10882
10895
  finalizeClaudePairOnboarding
10883
- } = await import("../claude-pair-runtime-4NHJGZBH.js");
10896
+ } = await import("../claude-pair-runtime-OURKHXEW.js");
10884
10897
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
10885
10898
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
10886
10899
  const killed = await killPairSession(pairTmuxSession(pairId));