@integrity-labs/agt-cli 0.28.410 → 0.28.412

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-W5QSIM7F.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-EDUFOS36.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-XGPENQB7.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-BMYJSZIZ.js.map
@@ -45,7 +45,7 @@ import {
45
45
  resolveEffectivePinRaw,
46
46
  safeWriteJsonAtomic,
47
47
  setConfigHash
48
- } from "../chunk-QZEA7FWB.js";
48
+ } from "../chunk-5ES25OE6.js";
49
49
  import {
50
50
  getProjectDir as getProjectDir2,
51
51
  getReadyTasks,
@@ -85,6 +85,7 @@ import {
85
85
  getFramework,
86
86
  getIntegration,
87
87
  getLastFailureContext,
88
+ getOpencodeSessionState,
88
89
  getProjectDir,
89
90
  getSessionState,
90
91
  hashFile,
@@ -147,7 +148,7 @@ import {
147
148
  toOpencodeModel,
148
149
  transcriptActivityAgeSeconds,
149
150
  writeEgressAllowlist
150
- } from "../chunk-YLLK4G3B.js";
151
+ } from "../chunk-QZUKHEMO.js";
151
152
  import {
152
153
  reapOrphanChannelMcps
153
154
  } from "../chunk-XWVM4KPK.js";
@@ -9377,7 +9378,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
9377
9378
  var lastVersionCheckAt = 0;
9378
9379
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
9379
9380
  var lastResponsivenessProbeAt = 0;
9380
- var agtCliVersion = true ? "0.28.410" : "dev";
9381
+ var agtCliVersion = true ? "0.28.412" : "dev";
9381
9382
  function resolveBrewPath(execFileSync2) {
9382
9383
  try {
9383
9384
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -10525,7 +10526,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
10525
10526
  if (codeNames.length === 0) return;
10526
10527
  void (async () => {
10527
10528
  try {
10528
- const { collectDiagnostics } = await import("../persistent-session-W5QSIM7F.js");
10529
+ const { collectDiagnostics } = await import("../persistent-session-EDUFOS36.js");
10529
10530
  await api.post("/host/heartbeat", {
10530
10531
  host_id: hostId,
10531
10532
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor)
@@ -10632,7 +10633,7 @@ async function pollCycle() {
10632
10633
  }
10633
10634
  try {
10634
10635
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
10635
- const { collectDiagnostics } = await import("../persistent-session-W5QSIM7F.js");
10636
+ const { collectDiagnostics } = await import("../persistent-session-EDUFOS36.js");
10636
10637
  const diagCodeNames = [...agentState.persistentSessionAgents];
10637
10638
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor) : void 0;
10638
10639
  let tailscaleHostname;
@@ -10745,7 +10746,7 @@ async function pollCycle() {
10745
10746
  const {
10746
10747
  collectResponsivenessProbes,
10747
10748
  getResponsivenessIntervalMs
10748
- } = await import("../responsiveness-probe-B7XCQQN4.js");
10749
+ } = await import("../responsiveness-probe-SVTUFKX5.js");
10749
10750
  const probeIntervalMs = getResponsivenessIntervalMs();
10750
10751
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
10751
10752
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -10777,7 +10778,7 @@ async function pollCycle() {
10777
10778
  collectResponsivenessProbes,
10778
10779
  livePendingInboundOldestAgeSeconds,
10779
10780
  parkPendingInbound
10780
- } = await import("../responsiveness-probe-B7XCQQN4.js");
10781
+ } = await import("../responsiveness-probe-SVTUFKX5.js");
10781
10782
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-HYOOQV4A.js");
10782
10783
  const wedgeNow = /* @__PURE__ */ new Date();
10783
10784
  const liveAgents = agentState.persistentSessionAgents;
@@ -13497,6 +13498,7 @@ async function ensureOpencodeRuntime(agent, refreshData, agentTimezone) {
13497
13498
  };
13498
13499
  if (openRouterRaw?.auth_token) serveEnv["OPENROUTER_API_KEY"] = openRouterRaw.auth_token;
13499
13500
  if (anthropicRaw?.api_key) serveEnv["ANTHROPIC_API_KEY"] = anthropicRaw.api_key;
13501
+ const startedAtBefore = getOpencodeSessionState(codeName)?.startedAt ?? null;
13500
13502
  const session = await startOpencodeSession({
13501
13503
  codeName,
13502
13504
  agentId: agent.agent_id,
@@ -13510,18 +13512,19 @@ async function ensureOpencodeRuntime(agent, refreshData, agentTimezone) {
13510
13512
  log
13511
13513
  });
13512
13514
  agentState.persistentSessionAgents.add(codeName);
13515
+ const spawnAttempted = session.startedAt !== startedAtBefore;
13513
13516
  if (session.status === "crashed") {
13514
13517
  const tail = session.lastFailureTail ?? readOpencodePaneLogTail(codeName);
13515
13518
  return {
13516
13519
  decision: "spawn",
13517
- spawnAttempted: true,
13520
+ spawnAttempted,
13518
13521
  sessionHealthyAfter: isOpencodeSessionHealthy(codeName),
13519
13522
  detail: tail ? `opencode spawn failed: ${tail.slice(0, 200)}` : "opencode spawn failed"
13520
13523
  };
13521
13524
  }
13522
13525
  return {
13523
13526
  decision: "spawn",
13524
- spawnAttempted: true,
13527
+ spawnAttempted,
13525
13528
  sessionHealthyAfter: isOpencodeSessionHealthy(codeName),
13526
13529
  detail: `opencode serve on 127.0.0.1:${session.port ?? "?"}`
13527
13530
  };
@@ -14079,7 +14082,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
14079
14082
  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}`));
14080
14083
  void (async () => {
14081
14084
  try {
14082
- const { collectDiagnostics } = await import("../persistent-session-W5QSIM7F.js");
14085
+ const { collectDiagnostics } = await import("../persistent-session-EDUFOS36.js");
14083
14086
  await api.post("/host/heartbeat", {
14084
14087
  host_id: hostId,
14085
14088
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor)
@@ -14129,7 +14132,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
14129
14132
  }
14130
14133
  try {
14131
14134
  const hostId = await getHostId();
14132
- const { collectDiagnostics } = await import("../persistent-session-W5QSIM7F.js");
14135
+ const { collectDiagnostics } = await import("../persistent-session-EDUFOS36.js");
14133
14136
  await api.post("/host/heartbeat", {
14134
14137
  host_id: hostId,
14135
14138
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor)
@@ -14582,7 +14585,7 @@ async function processClaudePairSessions(agents) {
14582
14585
  killPairSession,
14583
14586
  pairTmuxSession,
14584
14587
  finalizeClaudePairOnboarding
14585
- } = await import("../claude-pair-runtime-XGPENQB7.js");
14588
+ } = await import("../claude-pair-runtime-BMYJSZIZ.js");
14586
14589
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
14587
14590
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
14588
14591
  const killed = await killPairSession(pairTmuxSession(pairId));