@integrity-labs/agt-cli 0.28.992 → 0.28.993

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.
package/dist/bin/agt.js CHANGED
@@ -40,12 +40,12 @@ import {
40
40
  success,
41
41
  table,
42
42
  warn
43
- } from "../chunk-PNQCXCEY.js";
43
+ } from "../chunk-ZHXBC3AZ.js";
44
44
  import {
45
45
  getProjectDir,
46
46
  isSessionResumeDisabled,
47
47
  readDirectChatSessionState
48
- } from "../chunk-NF7LESJA.js";
48
+ } from "../chunk-ACCF4BLS.js";
49
49
  import {
50
50
  AnchorSessionClient,
51
51
  CHANNEL_REGISTRY,
@@ -79,7 +79,7 @@ import {
79
79
  serializeManifestForSlackCli,
80
80
  sessionFileExists,
81
81
  sessionTranscriptDir
82
- } from "../chunk-C72SNMP6.js";
82
+ } from "../chunk-IM5LTTRM.js";
83
83
  import "../chunk-DHWNVVX4.js";
84
84
  import "../chunk-XWVM4KPK.js";
85
85
 
@@ -5472,7 +5472,7 @@ import { execFileSync, execSync } from "child_process";
5472
5472
  import { existsSync as existsSync11, realpathSync as realpathSync2 } from "fs";
5473
5473
  import chalk18 from "chalk";
5474
5474
  import ora16 from "ora";
5475
- var cliVersion = true ? "0.28.992" : "dev";
5475
+ var cliVersion = true ? "0.28.993" : "dev";
5476
5476
  async function fetchLatestVersion() {
5477
5477
  const host2 = getHost();
5478
5478
  if (!host2) return null;
@@ -6732,7 +6732,7 @@ function handleError(err) {
6732
6732
  }
6733
6733
 
6734
6734
  // src/bin/agt.ts
6735
- var cliVersion2 = true ? "0.28.992" : "dev";
6735
+ var cliVersion2 = true ? "0.28.993" : "dev";
6736
6736
  var program = new Command();
6737
6737
  program.name("agt").description("Augmented CLI \u2014 agent provisioning and management").version(cliVersion2).option("--json", "Emit machine-readable JSON output (suppress spinners and colors)").option("--skip-update-check", "Skip the automatic update check on startup");
6738
6738
  program.hook("preAction", async (thisCommand, actionCommand) => {
@@ -22,7 +22,7 @@ import {
22
22
  rotateDailySession,
23
23
  sessionFileExists,
24
24
  todayLocalIso
25
- } from "./chunk-C72SNMP6.js";
25
+ } from "./chunk-IM5LTTRM.js";
26
26
  import {
27
27
  classifyUnanswerablePane,
28
28
  findUsageLimitResetHint,
@@ -5642,4 +5642,4 @@ export {
5642
5642
  stopAllSessionsAndWait,
5643
5643
  getProjectDir
5644
5644
  };
5645
- //# sourceMappingURL=chunk-NF7LESJA.js.map
5645
+ //# sourceMappingURL=chunk-ACCF4BLS.js.map
@@ -15279,4 +15279,4 @@ export {
15279
15279
  peekCurrentSession,
15280
15280
  readDailySessionPin
15281
15281
  };
15282
- //# sourceMappingURL=chunk-C72SNMP6.js.map
15282
+ //# sourceMappingURL=chunk-IM5LTTRM.js.map
@@ -15,7 +15,7 @@ import {
15
15
  parseEnvFileEntries,
16
16
  parseEnvIntegrations,
17
17
  shellQuote
18
- } from "./chunk-NF7LESJA.js";
18
+ } from "./chunk-ACCF4BLS.js";
19
19
  import {
20
20
  BIND_FAILURE_QUARANTINE_THRESHOLD,
21
21
  INTEGRATIONS_SECTION_END,
@@ -75,7 +75,7 @@ import {
75
75
  sessionTranscriptDir,
76
76
  worseConnectivityOutcome,
77
77
  wrapScheduledTaskPrompt
78
- } from "./chunk-C72SNMP6.js";
78
+ } from "./chunk-IM5LTTRM.js";
79
79
  import {
80
80
  classifyUnanswerablePane,
81
81
  summarizeUnanswerablePane
@@ -6974,7 +6974,7 @@ function exchangeFailureKind(err) {
6974
6974
  }
6975
6975
 
6976
6976
  // src/lib/api-client.ts
6977
- var agtCliVersion = true ? "0.28.992" : "dev";
6977
+ var agtCliVersion = true ? "0.28.993" : "dev";
6978
6978
  var lastConfigHash = null;
6979
6979
  function setConfigHash(hash) {
6980
6980
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -11725,4 +11725,4 @@ export {
11725
11725
  managerInstallSystemUnitCommand,
11726
11726
  managerUninstallSystemUnitCommand
11727
11727
  };
11728
- //# sourceMappingURL=chunk-PNQCXCEY.js.map
11728
+ //# sourceMappingURL=chunk-ZHXBC3AZ.js.map
@@ -258,7 +258,7 @@ async function spawnPairSession(session) {
258
258
  return { ok: true };
259
259
  } catch {
260
260
  }
261
- const { resolveClaudeBinary } = await import("./persistent-session-HBUVJYYR.js");
261
+ const { resolveClaudeBinary } = await import("./persistent-session-IVDW4O3C.js");
262
262
  const claudeBin = resolveClaudeBinary();
263
263
  const pairEnv = {
264
264
  ...process.env,
@@ -580,4 +580,4 @@ export {
580
580
  startClaudePair,
581
581
  submitClaudePairCode
582
582
  };
583
- //# sourceMappingURL=claude-pair-runtime-EVAYZI57.js.map
583
+ //# sourceMappingURL=claude-pair-runtime-WYZOO6QU.js.map
@@ -63,7 +63,7 @@ import {
63
63
  safeWriteJsonAtomic,
64
64
  setConfigHash,
65
65
  tripClass
66
- } from "../chunk-PNQCXCEY.js";
66
+ } from "../chunk-ZHXBC3AZ.js";
67
67
  import {
68
68
  getProjectDir as getProjectDir2,
69
69
  getReadyTasks,
@@ -141,7 +141,7 @@ import {
141
141
  takeZombieDetection,
142
142
  toOpencodeModel,
143
143
  writeEgressAllowlist
144
- } from "../chunk-NF7LESJA.js";
144
+ } from "../chunk-ACCF4BLS.js";
145
145
  import {
146
146
  ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
147
147
  AnchorSessionClient,
@@ -240,7 +240,7 @@ import {
240
240
  subagentActivityAgeSeconds,
241
241
  sumTranscriptUsageInWindow,
242
242
  transcriptActivityAgeSeconds
243
- } from "../chunk-C72SNMP6.js";
243
+ } from "../chunk-IM5LTTRM.js";
244
244
  import "../chunk-DHWNVVX4.js";
245
245
  import {
246
246
  reapOrphanChannelMcps
@@ -13310,7 +13310,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
13310
13310
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
13311
13311
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
13312
13312
  async function channelInboundActivityAgeSecondsFor(codeName) {
13313
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-AIBA25OP.js");
13313
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-GGRTBWWR.js");
13314
13314
  const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
13315
13315
  if (newest === null) return null;
13316
13316
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -14053,7 +14053,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
14053
14053
  var lastVersionCheckAt = 0;
14054
14054
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
14055
14055
  var lastResponsivenessProbeAt = 0;
14056
- var agtCliVersion = true ? "0.28.992" : "dev";
14056
+ var agtCliVersion = true ? "0.28.993" : "dev";
14057
14057
  function resolveBrewPath(execFileSync2) {
14058
14058
  try {
14059
14059
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -15669,7 +15669,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
15669
15669
  if (codeNames.length === 0) return;
15670
15670
  void (async () => {
15671
15671
  try {
15672
- const { collectDiagnostics } = await import("../persistent-session-HBUVJYYR.js");
15672
+ const { collectDiagnostics } = await import("../persistent-session-IVDW4O3C.js");
15673
15673
  await api.post("/host/heartbeat", {
15674
15674
  host_id: hostId,
15675
15675
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -15811,7 +15811,7 @@ async function pollCycleInner() {
15811
15811
  }
15812
15812
  try {
15813
15813
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
15814
- const { collectDiagnostics } = await import("../persistent-session-HBUVJYYR.js");
15814
+ const { collectDiagnostics } = await import("../persistent-session-IVDW4O3C.js");
15815
15815
  const diagCodeNames = [...agentState.persistentSessionAgents];
15816
15816
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
15817
15817
  let tailscaleHostname;
@@ -15987,7 +15987,7 @@ async function pollCycleInner() {
15987
15987
  collectPanelessActivityProbes,
15988
15988
  getResponsivenessIntervalMs,
15989
15989
  occupancyQualificationClassifications
15990
- } = await import("../responsiveness-probe-AIBA25OP.js");
15990
+ } = await import("../responsiveness-probe-GGRTBWWR.js");
15991
15991
  const probeIntervalMs = getResponsivenessIntervalMs();
15992
15992
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
15993
15993
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -16104,7 +16104,7 @@ async function pollCycleInner() {
16104
16104
  collectResponsivenessProbes,
16105
16105
  livePendingInboundOldestAgeSeconds,
16106
16106
  parkPendingInbound
16107
- } = await import("../responsiveness-probe-AIBA25OP.js");
16107
+ } = await import("../responsiveness-probe-GGRTBWWR.js");
16108
16108
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
16109
16109
  const wedgeNow = /* @__PURE__ */ new Date();
16110
16110
  const liveAgents = agentState.persistentSessionAgents;
@@ -16260,7 +16260,7 @@ async function pollCycleInner() {
16260
16260
  }
16261
16261
  try {
16262
16262
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
16263
- const { probeSessionAuth } = await import("../session-auth-dead-XTMVOHUX.js");
16263
+ const { probeSessionAuth } = await import("../session-auth-dead-XPDRV7M5.js");
16264
16264
  const observations = [];
16265
16265
  const pendingCacheCommits = [];
16266
16266
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -20548,7 +20548,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
20548
20548
  try {
20549
20549
  const freshId = rotateSessionForWedge(codeName);
20550
20550
  consecutiveWedgeCycles.delete(codeName);
20551
- const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-AIBA25OP.js");
20551
+ const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-GGRTBWWR.js");
20552
20552
  const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
20553
20553
  const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
20554
20554
  const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
@@ -20591,7 +20591,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
20591
20591
  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}`));
20592
20592
  void (async () => {
20593
20593
  try {
20594
- const { collectDiagnostics } = await import("../persistent-session-HBUVJYYR.js");
20594
+ const { collectDiagnostics } = await import("../persistent-session-IVDW4O3C.js");
20595
20595
  await api.post("/host/heartbeat", {
20596
20596
  host_id: hostId,
20597
20597
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -20642,7 +20642,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
20642
20642
  }
20643
20643
  try {
20644
20644
  const hostId = await getHostId();
20645
- const { collectDiagnostics } = await import("../persistent-session-HBUVJYYR.js");
20645
+ const { collectDiagnostics } = await import("../persistent-session-IVDW4O3C.js");
20646
20646
  await api.post("/host/heartbeat", {
20647
20647
  host_id: hostId,
20648
20648
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -21286,7 +21286,7 @@ async function processClaudePairSessions(agents) {
21286
21286
  killPairSession,
21287
21287
  pairTmuxSession,
21288
21288
  finalizeClaudePairOnboarding
21289
- } = await import("../claude-pair-runtime-EVAYZI57.js");
21289
+ } = await import("../claude-pair-runtime-WYZOO6QU.js");
21290
21290
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
21291
21291
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
21292
21292
  const killed = await killPairSession(pairTmuxSession(pairId));
@@ -39084,9 +39084,28 @@ function undeliverableNoticeTextForRepeat(i) {
39084
39084
  }
39085
39085
  return null;
39086
39086
  }
39087
+ function channelInboundGateOpen(readFile = (p2) => readFileSync7(p2, "utf-8")) {
39088
+ const path = process.platform === "darwin" ? "/Library/Application Support/ClaudeCode/managed-settings.json" : "/etc/claude-code/managed-settings.json";
39089
+ let raw;
39090
+ try {
39091
+ raw = readFile(path);
39092
+ } catch {
39093
+ return void 0;
39094
+ }
39095
+ let parsed;
39096
+ try {
39097
+ parsed = JSON.parse(raw);
39098
+ } catch {
39099
+ return void 0;
39100
+ }
39101
+ if (!parsed || typeof parsed !== "object") return void 0;
39102
+ const value = parsed["channelsEnabled"];
39103
+ return typeof value === "boolean" ? value : void 0;
39104
+ }
39087
39105
  function noticePromiseIsHonest(replay) {
39088
39106
  if (replay === void 0) return false;
39089
39107
  if (typeof replay === "boolean") return replay;
39108
+ if (replay.destinationReachable !== true) return false;
39090
39109
  return markerReplayable({
39091
39110
  enabled: replay.enabled ?? channelReplayEnabled(),
39092
39111
  hasPayload: replay.hasPayload,
@@ -41119,7 +41138,11 @@ function directChatSessionReplayFacts(sessionId) {
41119
41138
  return null;
41120
41139
  }
41121
41140
  const facts = combineMarkerReplayFacts(found);
41122
- return facts ? { enabled: channelReplayEnabled(), ...facts } : null;
41141
+ return facts ? {
41142
+ enabled: channelReplayEnabled(),
41143
+ destinationReachable: channelInboundGateOpen(),
41144
+ ...facts
41145
+ } : null;
41123
41146
  }
41124
41147
  function postDirectChatUndeliverableNotice(sessionId) {
41125
41148
  const now = Date.now();
@@ -39579,9 +39579,28 @@ function undeliverableNoticeTextForRepeat(i) {
39579
39579
  }
39580
39580
  return null;
39581
39581
  }
39582
+ function channelInboundGateOpen(readFile = (p2) => readFileSync3(p2, "utf-8")) {
39583
+ const path = process.platform === "darwin" ? "/Library/Application Support/ClaudeCode/managed-settings.json" : "/etc/claude-code/managed-settings.json";
39584
+ let raw;
39585
+ try {
39586
+ raw = readFile(path);
39587
+ } catch {
39588
+ return void 0;
39589
+ }
39590
+ let parsed;
39591
+ try {
39592
+ parsed = JSON.parse(raw);
39593
+ } catch {
39594
+ return void 0;
39595
+ }
39596
+ if (!parsed || typeof parsed !== "object") return void 0;
39597
+ const value = parsed["channelsEnabled"];
39598
+ return typeof value === "boolean" ? value : void 0;
39599
+ }
39582
39600
  function noticePromiseIsHonest(replay) {
39583
39601
  if (replay === void 0) return false;
39584
39602
  if (typeof replay === "boolean") return replay;
39603
+ if (replay.destinationReachable !== true) return false;
39585
39604
  return markerReplayable({
39586
39605
  enabled: replay.enabled ?? channelReplayEnabled(),
39587
39606
  hasPayload: replay.hasPayload,
@@ -45183,7 +45202,11 @@ function slackConversationReplayFacts(channel, threadTs) {
45183
45202
  return null;
45184
45203
  }
45185
45204
  const facts = combineMarkerReplayFacts(found);
45186
- return facts ? { enabled: channelReplayEnabled(), ...facts } : null;
45205
+ return facts ? {
45206
+ enabled: channelReplayEnabled(),
45207
+ destinationReachable: channelInboundGateOpen(),
45208
+ ...facts
45209
+ } : null;
45187
45210
  }
45188
45211
  function sendUndeliverableNotice(channel, threadTs, conversationKey) {
45189
45212
  if (!BOT_TOKEN || !channel) return;
@@ -42236,6 +42236,7 @@ function undeliverableNoticeTextForRepeat(i) {
42236
42236
  function noticePromiseIsHonest(replay) {
42237
42237
  if (replay === void 0) return false;
42238
42238
  if (typeof replay === "boolean") return replay;
42239
+ if (replay.destinationReachable !== true) return false;
42239
42240
  return markerReplayable({
42240
42241
  enabled: replay.enabled ?? channelReplayEnabled(),
42241
42242
  hasPayload: replay.hasPayload,
@@ -63,8 +63,8 @@ import {
63
63
  writeDirectChatSessionState,
64
64
  writeEgressAllowlist,
65
65
  writePersistentClaudeWrapper
66
- } from "./chunk-NF7LESJA.js";
67
- import "./chunk-C72SNMP6.js";
66
+ } from "./chunk-ACCF4BLS.js";
67
+ import "./chunk-IM5LTTRM.js";
68
68
  import "./chunk-DHWNVVX4.js";
69
69
  import "./chunk-XWVM4KPK.js";
70
70
  export {
@@ -133,4 +133,4 @@ export {
133
133
  writeEgressAllowlist,
134
134
  writePersistentClaudeWrapper
135
135
  };
136
- //# sourceMappingURL=persistent-session-HBUVJYYR.js.map
136
+ //# sourceMappingURL=persistent-session-IVDW4O3C.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-NF7LESJA.js";
4
- import "./chunk-C72SNMP6.js";
3
+ } from "./chunk-ACCF4BLS.js";
4
+ import "./chunk-IM5LTTRM.js";
5
5
  import "./chunk-DHWNVVX4.js";
6
6
  import "./chunk-XWVM4KPK.js";
7
7
 
@@ -800,4 +800,4 @@ export {
800
800
  readAndResetSlackReplyBindingClassifications,
801
801
  readAndResetSlackReplyTargetClassifications
802
802
  };
803
- //# sourceMappingURL=responsiveness-probe-AIBA25OP.js.map
803
+ //# sourceMappingURL=responsiveness-probe-GGRTBWWR.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-C72SNMP6.js";
3
+ } from "./chunk-IM5LTTRM.js";
4
4
 
5
5
  // src/lib/session-auth-dead.ts
6
6
  import { closeSync, openSync, readSync, readdirSync, statSync } from "fs";
@@ -203,4 +203,4 @@ export {
203
203
  decideSessionAuthState,
204
204
  probeSessionAuth
205
205
  };
206
- //# sourceMappingURL=session-auth-dead-XTMVOHUX.js.map
206
+ //# sourceMappingURL=session-auth-dead-XPDRV7M5.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.992",
3
+ "version": "0.28.993",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {