@integrity-labs/agt-cli 0.27.101 → 0.27.102

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.
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  claudeModelAlias,
3
3
  isClaudeFastMode
4
- } from "./chunk-KZVMMXDB.js";
4
+ } from "./chunk-XZZXLKFL.js";
5
5
  import {
6
6
  reapOrphanChannelMcps
7
7
  } from "./chunk-XWVM4KPK.js";
@@ -1557,4 +1557,4 @@ export {
1557
1557
  stopAllSessionsAndWait,
1558
1558
  getProjectDir
1559
1559
  };
1560
- //# sourceMappingURL=chunk-Q5K5YADO.js.map
1560
+ //# sourceMappingURL=chunk-ZVNQXGJX.js.map
@@ -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-KAZNNGUD.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-FG6IQD3I.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-PJSO3JKN.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-Q23K5TTP.js.map
@@ -17,7 +17,7 @@ import {
17
17
  provisionStopHook,
18
18
  requireHost,
19
19
  safeWriteJsonAtomic
20
- } from "../chunk-UBW4SAJF.js";
20
+ } from "../chunk-4CBW3S76.js";
21
21
  import {
22
22
  getProjectDir as getProjectDir2,
23
23
  getReadyTasks,
@@ -55,7 +55,7 @@ import {
55
55
  stopPersistentSession,
56
56
  takeWatchdogGiveUpCount,
57
57
  takeZombieDetection
58
- } from "../chunk-Q5K5YADO.js";
58
+ } from "../chunk-ZVNQXGJX.js";
59
59
  import {
60
60
  KANBAN_CHECK_COMMAND,
61
61
  appendDmFooter,
@@ -78,7 +78,7 @@ import {
78
78
  resolveConnectivityProbe,
79
79
  resolveDmTarget,
80
80
  wrapScheduledTaskPrompt
81
- } from "../chunk-KZVMMXDB.js";
81
+ } from "../chunk-XZZXLKFL.js";
82
82
  import {
83
83
  parsePsRows,
84
84
  reapOrphanChannelMcps
@@ -4008,6 +4008,7 @@ var agentFrameworkCache = /* @__PURE__ */ new Map();
4008
4008
  var migratedSecretStorage = /* @__PURE__ */ new Set();
4009
4009
  var frameworkBinaryChecked = /* @__PURE__ */ new Set();
4010
4010
  var agentRuntimeAuthenticated = false;
4011
+ var lastManagedSettingsStatus = null;
4011
4012
  function resolveAgentFramework(codeName) {
4012
4013
  const frameworkId = agentFrameworkCache.get(codeName) ?? "openclaw";
4013
4014
  return getFramework(frameworkId);
@@ -4034,7 +4035,7 @@ var cachedMaintenanceWindow = null;
4034
4035
  var lastVersionCheckAt = 0;
4035
4036
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
4036
4037
  var lastResponsivenessProbeAt = 0;
4037
- var agtCliVersion = true ? "0.27.101" : "dev";
4038
+ var agtCliVersion = true ? "0.27.102" : "dev";
4038
4039
  function resolveBrewPath(execFileSync4) {
4039
4040
  try {
4040
4041
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -4218,28 +4219,30 @@ function ensureClaudeManagedSettings(path = claudeManagedSettingsPath()) {
4218
4219
  parsed = JSON.parse(raw);
4219
4220
  } catch (err) {
4220
4221
  log(`[managed-settings] ${path} is not valid JSON (${err.message}) \u2014 leaving as-is; Claude Code channels may be blocked`);
4221
- return;
4222
+ return "invalid_json";
4222
4223
  }
4223
4224
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
4224
4225
  settings = parsed;
4225
4226
  }
4226
4227
  }
4227
4228
  }
4228
- if (settings.channelsEnabled === true) return;
4229
+ if (settings.channelsEnabled === true) return "ok";
4229
4230
  settings.channelsEnabled = true;
4230
4231
  mkdirSync4(dirname3(path), { recursive: true });
4231
4232
  writeFileSync4(path, `${JSON.stringify(settings, null, 2)}
4232
4233
  `);
4233
4234
  log(`[managed-settings] set channelsEnabled:true in ${path} (ENG-5786 \u2014 unblocks Claude Code channels)`);
4235
+ return "ok";
4234
4236
  } catch (err) {
4235
4237
  log(`[managed-settings] could not ensure ${path}: ${err.message} \u2014 Claude Code channels may be blocked; set channelsEnabled:true manually`);
4238
+ return "write_failed";
4236
4239
  }
4237
4240
  }
4238
4241
  async function ensureFrameworkBinary(frameworkId) {
4239
4242
  if (frameworkId !== "claude-code") return;
4240
4243
  if (frameworkBinaryChecked.has(frameworkId)) return;
4241
4244
  frameworkBinaryChecked.add(frameworkId);
4242
- ensureClaudeManagedSettings();
4245
+ lastManagedSettingsStatus = ensureClaudeManagedSettings();
4243
4246
  const { execFileSync: execFileSync4 } = await import("child_process");
4244
4247
  const brewPath = resolveBrewPath(execFileSync4);
4245
4248
  if (!brewPath) {
@@ -5225,7 +5228,7 @@ async function pollCycle() {
5225
5228
  }
5226
5229
  try {
5227
5230
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
5228
- const { collectDiagnostics } = await import("../persistent-session-KAZNNGUD.js");
5231
+ const { collectDiagnostics } = await import("../persistent-session-FG6IQD3I.js");
5229
5232
  const diagCodeNames = [...agentState.persistentSessionAgents];
5230
5233
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
5231
5234
  let tailscaleHostname;
@@ -5258,6 +5261,14 @@ async function pollCycle() {
5258
5261
  const errId = createHash3("sha256").update(errText).digest("hex").slice(0, 12);
5259
5262
  log(`Claude auth detection failed (error_id=${errId})`);
5260
5263
  }
5264
+ const hostHasClaudeCode = state5.agents.some(
5265
+ (a) => agentFrameworkCache.get(a.codeName) === "claude-code"
5266
+ );
5267
+ if (hostHasClaudeCode) {
5268
+ lastManagedSettingsStatus = ensureClaudeManagedSettings();
5269
+ } else {
5270
+ lastManagedSettingsStatus = null;
5271
+ }
5261
5272
  const hbResp = await api.post("/host/heartbeat", {
5262
5273
  host_id: hostId,
5263
5274
  framework_version: cachedFrameworkVersion ?? void 0,
@@ -5274,7 +5285,13 @@ async function pollCycle() {
5274
5285
  // polling fallback (healRealtimeSocketDivergence forces it). Surfaced
5275
5286
  // so a sustained socket-down window is observable rather than hidden
5276
5287
  // behind a fresh heartbeat.
5277
- realtime_socket_connected: isRealtimeSocketConnected()
5288
+ realtime_socket_connected: isRealtimeSocketConnected(),
5289
+ // ENG-6068: outcome of the channels managed-settings assertion.
5290
+ // 'invalid_json' / 'write_failed' mean CC may be silently dropping
5291
+ // ALL channel inbound — the API opens a host-scoped alert on it.
5292
+ // Omitted (undefined) on hosts that haven't run the assertion
5293
+ // (non-claude-code frameworks).
5294
+ channels_setting_status: lastManagedSettingsStatus ?? void 0
5278
5295
  });
5279
5296
  if (hbResp?.maintenance_window) {
5280
5297
  cachedMaintenanceWindow = hbResp.maintenance_window;
@@ -5298,7 +5315,7 @@ async function pollCycle() {
5298
5315
  const {
5299
5316
  collectResponsivenessProbes,
5300
5317
  getResponsivenessIntervalMs
5301
- } = await import("../responsiveness-probe-MWVDZLO6.js");
5318
+ } = await import("../responsiveness-probe-SQBFB4BN.js");
5302
5319
  const probeIntervalMs = getResponsivenessIntervalMs();
5303
5320
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
5304
5321
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -9633,7 +9650,7 @@ async function processClaudePairSessions(agents) {
9633
9650
  killPairSession,
9634
9651
  pairTmuxSession,
9635
9652
  finalizeClaudePairOnboarding
9636
- } = await import("../claude-pair-runtime-PJSO3JKN.js");
9653
+ } = await import("../claude-pair-runtime-Q23K5TTP.js");
9637
9654
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
9638
9655
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
9639
9656
  const killed = await killPairSession(pairTmuxSession(pairId));