@integrity-labs/agt-cli 0.28.287 → 0.28.289

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-6Z57G6PS.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-C6IIZKQH.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-ZVPAZDXX.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-MGU5UP3T.js.map
@@ -38,7 +38,7 @@ import {
38
38
  requireHost,
39
39
  safeWriteJsonAtomic,
40
40
  setConfigHash
41
- } from "../chunk-5KMXIPB5.js";
41
+ } from "../chunk-DIHZ2LMQ.js";
42
42
  import {
43
43
  getProjectDir as getProjectDir2,
44
44
  getReadyTasks,
@@ -125,7 +125,7 @@ import {
125
125
  takeZombieDetection,
126
126
  transcriptActivityAgeSeconds,
127
127
  writeEgressAllowlist
128
- } from "../chunk-GAPJUQFT.js";
128
+ } from "../chunk-GUCYHTCJ.js";
129
129
  import {
130
130
  reapOrphanChannelMcps
131
131
  } from "../chunk-XWVM4KPK.js";
@@ -6621,7 +6621,9 @@ async function runAgentConnectivityProbes(agent, integrations, projectDir) {
6621
6621
  definitionId: i.definition_id,
6622
6622
  sourceType,
6623
6623
  authType: i.auth_type,
6624
- connectivityTest: i.connectivity_test ?? null
6624
+ connectivityTest: i.connectivity_test ?? null,
6625
+ // ENG-7543: target this connection's own .mcp.json server.
6626
+ connectionKey: i.connection_key ?? null
6625
6627
  }),
6626
6628
  // ENG-6242: forward the prescribed connectivity-test tool to the executor.
6627
6629
  connectivity_test: i.connectivity_test ?? null
@@ -6895,7 +6897,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
6895
6897
  var lastVersionCheckAt = 0;
6896
6898
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
6897
6899
  var lastResponsivenessProbeAt = 0;
6898
- var agtCliVersion = true ? "0.28.287" : "dev";
6900
+ var agtCliVersion = true ? "0.28.289" : "dev";
6899
6901
  function resolveBrewPath(execFileSync2) {
6900
6902
  try {
6901
6903
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -7748,7 +7750,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
7748
7750
  if (codeNames.length === 0) return;
7749
7751
  void (async () => {
7750
7752
  try {
7751
- const { collectDiagnostics } = await import("../persistent-session-6Z57G6PS.js");
7753
+ const { collectDiagnostics } = await import("../persistent-session-C6IIZKQH.js");
7752
7754
  await api.post("/host/heartbeat", {
7753
7755
  host_id: hostId,
7754
7756
  agent_diagnostics: collectDiagnostics(codeNames)
@@ -7846,7 +7848,7 @@ async function pollCycle() {
7846
7848
  }
7847
7849
  try {
7848
7850
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
7849
- const { collectDiagnostics } = await import("../persistent-session-6Z57G6PS.js");
7851
+ const { collectDiagnostics } = await import("../persistent-session-C6IIZKQH.js");
7850
7852
  const diagCodeNames = [...agentState.persistentSessionAgents];
7851
7853
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
7852
7854
  let tailscaleHostname;
@@ -7994,7 +7996,7 @@ async function pollCycle() {
7994
7996
  const {
7995
7997
  collectResponsivenessProbes,
7996
7998
  getResponsivenessIntervalMs
7997
- } = await import("../responsiveness-probe-Y7BRLZ7O.js");
7999
+ } = await import("../responsiveness-probe-RAHMPI4W.js");
7998
8000
  const probeIntervalMs = getResponsivenessIntervalMs();
7999
8001
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
8000
8002
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -8026,7 +8028,7 @@ async function pollCycle() {
8026
8028
  collectResponsivenessProbes,
8027
8029
  livePendingInboundOldestAgeSeconds,
8028
8030
  parkPendingInbound
8029
- } = await import("../responsiveness-probe-Y7BRLZ7O.js");
8031
+ } = await import("../responsiveness-probe-RAHMPI4W.js");
8030
8032
  const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
8031
8033
  const wedgeNow = /* @__PURE__ */ new Date();
8032
8034
  const liveAgents = agentState.persistentSessionAgents;
@@ -9618,7 +9620,7 @@ async function processAgent(agent, agentStates) {
9618
9620
  expectedServerIds.add(serverId);
9619
9621
  managedToolkitIdByAgentAndServerId.set(
9620
9622
  managedToolkitMapKey(agent.agent_id, serverId),
9621
- tk.toolkit_id
9623
+ { toolkitId: tk.toolkit_id, connectionKey: tk.connection_key ?? "default" }
9622
9624
  );
9623
9625
  const mcpUrl = tk.mcp_url;
9624
9626
  const mcpHeaders = tk.mcp_headers;
@@ -10120,19 +10122,23 @@ async function processAgent(agent, agentStates) {
10120
10122
  // depend on the API call succeeding. Errors are caught inside
10121
10123
  // the .then/.catch chain and logged.
10122
10124
  onGiveUp: (codeName, serverKey) => {
10123
- const toolkitId = managedToolkitIdByAgentAndServerId.get(
10125
+ const mapping = managedToolkitIdByAgentAndServerId.get(
10124
10126
  managedToolkitMapKey(agent.agent_id, serverKey)
10125
10127
  );
10126
- if (!toolkitId) {
10128
+ if (!mapping) {
10127
10129
  log(
10128
10130
  `[mcp-presence-reaper] give-up on '${codeName}:${serverKey}' \u2014 not a managed toolkit (no toolkit_id mapping), skipping integration-health API call`
10129
10131
  );
10130
10132
  return;
10131
10133
  }
10134
+ const { toolkitId, connectionKey } = mapping;
10132
10135
  const agentId = agent.agent_id;
10133
10136
  api.post("/host/integration-health", {
10134
10137
  agent_id: agentId,
10135
10138
  toolkit_id: toolkitId,
10139
+ // ENG-7543: scope the mark-unhealthy to the specific connection whose
10140
+ // MCP server gave up, so a dead 2nd mailbox doesn't disable the first.
10141
+ connection_key: connectionKey,
10136
10142
  action: "mark_unhealthy",
10137
10143
  reason: `mcp-presence-reaper cap (${3} consecutive failed restart cycles) tripped on '${serverKey}'`
10138
10144
  }).then((res) => {
@@ -10946,7 +10952,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
10946
10952
  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}`));
10947
10953
  void (async () => {
10948
10954
  try {
10949
- const { collectDiagnostics } = await import("../persistent-session-6Z57G6PS.js");
10955
+ const { collectDiagnostics } = await import("../persistent-session-C6IIZKQH.js");
10950
10956
  await api.post("/host/heartbeat", {
10951
10957
  host_id: hostId,
10952
10958
  agent_diagnostics: collectDiagnostics([codeName])
@@ -10996,7 +11002,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
10996
11002
  }
10997
11003
  try {
10998
11004
  const hostId = await getHostId();
10999
- const { collectDiagnostics } = await import("../persistent-session-6Z57G6PS.js");
11005
+ const { collectDiagnostics } = await import("../persistent-session-C6IIZKQH.js");
11000
11006
  await api.post("/host/heartbeat", {
11001
11007
  host_id: hostId,
11002
11008
  agent_diagnostics: collectDiagnostics([codeName])
@@ -11400,7 +11406,7 @@ async function processClaudePairSessions(agents) {
11400
11406
  killPairSession,
11401
11407
  pairTmuxSession,
11402
11408
  finalizeClaudePairOnboarding
11403
- } = await import("../claude-pair-runtime-ZVPAZDXX.js");
11409
+ } = await import("../claude-pair-runtime-MGU5UP3T.js");
11404
11410
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
11405
11411
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
11406
11412
  const killed = await killPairSession(pairTmuxSession(pairId));