@integrity-labs/agt-cli 0.28.780 → 0.28.782

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.
Files changed (24) hide show
  1. package/dist/bin/agt.js +5 -5
  2. package/dist/{chunk-REPC7LF2.js → chunk-TNETRPYC.js} +22 -1
  3. package/dist/{chunk-REPC7LF2.js.map → chunk-TNETRPYC.js.map} +1 -1
  4. package/dist/{chunk-VYFQRDSP.js → chunk-WP2NPGER.js} +101 -4
  5. package/dist/chunk-WP2NPGER.js.map +1 -0
  6. package/dist/{chunk-HHFDK7WB.js → chunk-YA5PGNN2.js} +2 -2
  7. package/dist/{claude-pair-runtime-CK34MZ6M.js → claude-pair-runtime-2PDHNNKZ.js} +2 -2
  8. package/dist/lib/manager-worker.js +16 -14
  9. package/dist/lib/manager-worker.js.map +1 -1
  10. package/dist/mcp/direct-chat-channel.js +21 -0
  11. package/dist/mcp/index.js +21 -0
  12. package/dist/mcp/origami.js +21 -0
  13. package/dist/mcp/slack-channel.js +21 -0
  14. package/dist/mcp/telegram-channel.js +21 -0
  15. package/dist/{persistent-session-ETZBTCXU.js → persistent-session-PX5UJ3WY.js} +3 -3
  16. package/dist/{responsiveness-probe-EWUJOLVA.js → responsiveness-probe-U4BEPPKX.js} +3 -3
  17. package/dist/{session-auth-dead-TDPTLVBO.js → session-auth-dead-2TLMBIM6.js} +2 -2
  18. package/package.json +1 -1
  19. package/dist/chunk-VYFQRDSP.js.map +0 -1
  20. /package/dist/{chunk-HHFDK7WB.js.map → chunk-YA5PGNN2.js.map} +0 -0
  21. /package/dist/{claude-pair-runtime-CK34MZ6M.js.map → claude-pair-runtime-2PDHNNKZ.js.map} +0 -0
  22. /package/dist/{persistent-session-ETZBTCXU.js.map → persistent-session-PX5UJ3WY.js.map} +0 -0
  23. /package/dist/{responsiveness-probe-EWUJOLVA.js.map → responsiveness-probe-U4BEPPKX.js.map} +0 -0
  24. /package/dist/{session-auth-dead-TDPTLVBO.js.map → session-auth-dead-2TLMBIM6.js.map} +0 -0
@@ -18,7 +18,7 @@ import {
18
18
  rotateDailySession,
19
19
  sessionFileExists,
20
20
  todayLocalIso
21
- } from "./chunk-REPC7LF2.js";
21
+ } from "./chunk-TNETRPYC.js";
22
22
  import {
23
23
  reapOrphanChannelMcps
24
24
  } from "./chunk-XWVM4KPK.js";
@@ -5141,4 +5141,4 @@ export {
5141
5141
  stopAllSessionsAndWait,
5142
5142
  getProjectDir
5143
5143
  };
5144
- //# sourceMappingURL=chunk-HHFDK7WB.js.map
5144
+ //# sourceMappingURL=chunk-YA5PGNN2.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-ETZBTCXU.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-PX5UJ3WY.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-CK34MZ6M.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-2PDHNNKZ.js.map
@@ -58,7 +58,7 @@ import {
58
58
  safeWriteJsonAtomic,
59
59
  setConfigHash,
60
60
  tripClass
61
- } from "../chunk-VYFQRDSP.js";
61
+ } from "../chunk-WP2NPGER.js";
62
62
  import {
63
63
  getProjectDir as getProjectDir2,
64
64
  getReadyTasks,
@@ -120,7 +120,7 @@ import {
120
120
  takeZombieDetection,
121
121
  toOpencodeModel,
122
122
  writeEgressAllowlist
123
- } from "../chunk-HHFDK7WB.js";
123
+ } from "../chunk-YA5PGNN2.js";
124
124
  import {
125
125
  ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
126
126
  AnchorSessionClient,
@@ -211,7 +211,7 @@ import {
211
211
  subagentActivityAgeSeconds,
212
212
  sumTranscriptUsageInWindow,
213
213
  transcriptActivityAgeSeconds
214
- } from "../chunk-REPC7LF2.js";
214
+ } from "../chunk-TNETRPYC.js";
215
215
  import {
216
216
  reapOrphanChannelMcps
217
217
  } from "../chunk-XWVM4KPK.js";
@@ -12900,7 +12900,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
12900
12900
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
12901
12901
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
12902
12902
  async function channelInboundActivityAgeSecondsFor(codeName) {
12903
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-EWUJOLVA.js");
12903
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-U4BEPPKX.js");
12904
12904
  const newest = newestPendingInboundActivityMtimeMs(dirname10(paneLogPath(codeName)));
12905
12905
  if (newest === null) return null;
12906
12906
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -13560,7 +13560,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
13560
13560
  var lastVersionCheckAt = 0;
13561
13561
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
13562
13562
  var lastResponsivenessProbeAt = 0;
13563
- var agtCliVersion = true ? "0.28.780" : "dev";
13563
+ var agtCliVersion = true ? "0.28.782" : "dev";
13564
13564
  function resolveBrewPath(execFileSync2) {
13565
13565
  try {
13566
13566
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -15107,7 +15107,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
15107
15107
  if (codeNames.length === 0) return;
15108
15108
  void (async () => {
15109
15109
  try {
15110
- const { collectDiagnostics } = await import("../persistent-session-ETZBTCXU.js");
15110
+ const { collectDiagnostics } = await import("../persistent-session-PX5UJ3WY.js");
15111
15111
  await api.post("/host/heartbeat", {
15112
15112
  host_id: hostId,
15113
15113
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -15248,7 +15248,7 @@ async function pollCycleInner() {
15248
15248
  }
15249
15249
  try {
15250
15250
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
15251
- const { collectDiagnostics } = await import("../persistent-session-ETZBTCXU.js");
15251
+ const { collectDiagnostics } = await import("../persistent-session-PX5UJ3WY.js");
15252
15252
  const diagCodeNames = [...agentState.persistentSessionAgents];
15253
15253
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
15254
15254
  let tailscaleHostname;
@@ -15417,7 +15417,7 @@ async function pollCycleInner() {
15417
15417
  collectPanelessActivityProbes,
15418
15418
  getResponsivenessIntervalMs,
15419
15419
  occupancyQualificationClassifications
15420
- } = await import("../responsiveness-probe-EWUJOLVA.js");
15420
+ } = await import("../responsiveness-probe-U4BEPPKX.js");
15421
15421
  const probeIntervalMs = getResponsivenessIntervalMs();
15422
15422
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
15423
15423
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -15527,7 +15527,7 @@ async function pollCycleInner() {
15527
15527
  collectResponsivenessProbes,
15528
15528
  livePendingInboundOldestAgeSeconds,
15529
15529
  parkPendingInbound
15530
- } = await import("../responsiveness-probe-EWUJOLVA.js");
15530
+ } = await import("../responsiveness-probe-U4BEPPKX.js");
15531
15531
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
15532
15532
  const wedgeNow = /* @__PURE__ */ new Date();
15533
15533
  const liveAgents = agentState.persistentSessionAgents;
@@ -15683,7 +15683,7 @@ async function pollCycleInner() {
15683
15683
  }
15684
15684
  try {
15685
15685
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
15686
- const { probeSessionAuth } = await import("../session-auth-dead-TDPTLVBO.js");
15686
+ const { probeSessionAuth } = await import("../session-auth-dead-2TLMBIM6.js");
15687
15687
  const observations = [];
15688
15688
  const pendingCacheCommits = [];
15689
15689
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -17198,6 +17198,7 @@ async function processAgent(agent, agentStates, managedToolkits) {
17198
17198
  }
17199
17199
  let msteamsBehaviourRestartScheduled = false;
17200
17200
  let slackBehaviourRestartScheduled = false;
17201
+ let telegramPolicyRestartScheduled = false;
17201
17202
  if (currentChannelIds.has("msteams")) {
17202
17203
  const msteamsEntry = refreshData.channel_configs?.["msteams"];
17203
17204
  const behaviourSubset = extractMsTeamsBehaviourSubset(
@@ -17329,6 +17330,7 @@ async function processAgent(agent, agentStates, managedToolkits) {
17329
17330
  channelSetRestartAlreadyScheduled: channelSetRestartScheduled || senderPolicyDecision.restart || msteamsBehaviourRestartScheduled || slackBehaviourRestartScheduled
17330
17331
  });
17331
17332
  if (telegramPolicyDecision.restart) {
17333
+ telegramPolicyRestartScheduled = true;
17332
17334
  const isTelegramVerifyRestart = telegramPolicyDecision.firstPoll;
17333
17335
  log(
17334
17336
  isTelegramVerifyRestart ? `[hot-reload] telegram chat-policy delivery baseline unknown for '${agent.code_name}' with a policy set (\u2192 ${telegramPolicyHash.slice(0, 8)}) \u2014 restarting session to guarantee enforcement (fail closed, ENG-9802)` : `[hot-reload] telegram chat policy changed for '${agent.code_name}' (${prevTelegramPolicyHash?.slice(0, 8) ?? "first"} \u2192 ${telegramPolicyHash.slice(0, 8)}) \u2014 restarting session`
@@ -17380,7 +17382,7 @@ async function processAgent(agent, agentStates, managedToolkits) {
17380
17382
  // Any earlier restart this tick already respawns the session, which
17381
17383
  // re-reads CLAUDE.md for free. A second would only coalesce and overwrite
17382
17384
  // a friendlier notice.
17383
- channelSetRestartAlreadyScheduled: channelSetRestartScheduled || senderPolicyDecision.restart || msteamsBehaviourRestartScheduled || slackBehaviourRestartScheduled
17385
+ channelSetRestartAlreadyScheduled: channelSetRestartScheduled || senderPolicyDecision.restart || msteamsBehaviourRestartScheduled || slackBehaviourRestartScheduled || telegramPolicyRestartScheduled
17384
17386
  });
17385
17387
  if (agentRulesDecision.restart) {
17386
17388
  const isRulesVerifyRestart = agentRulesDecision.firstPoll;
@@ -19774,7 +19776,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
19774
19776
  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}`));
19775
19777
  void (async () => {
19776
19778
  try {
19777
- const { collectDiagnostics } = await import("../persistent-session-ETZBTCXU.js");
19779
+ const { collectDiagnostics } = await import("../persistent-session-PX5UJ3WY.js");
19778
19780
  await api.post("/host/heartbeat", {
19779
19781
  host_id: hostId,
19780
19782
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -19820,7 +19822,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
19820
19822
  }
19821
19823
  try {
19822
19824
  const hostId = await getHostId();
19823
- const { collectDiagnostics } = await import("../persistent-session-ETZBTCXU.js");
19825
+ const { collectDiagnostics } = await import("../persistent-session-PX5UJ3WY.js");
19824
19826
  await api.post("/host/heartbeat", {
19825
19827
  host_id: hostId,
19826
19828
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -20456,7 +20458,7 @@ async function processClaudePairSessions(agents) {
20456
20458
  killPairSession,
20457
20459
  pairTmuxSession,
20458
20460
  finalizeClaudePairOnboarding
20459
- } = await import("../claude-pair-runtime-CK34MZ6M.js");
20461
+ } = await import("../claude-pair-runtime-2PDHNNKZ.js");
20460
20462
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
20461
20463
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
20462
20464
  const killed = await killPairSession(pairTmuxSession(pairId));