@integrity-labs/agt-cli 0.28.874 → 0.28.876

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-UG2N5V4P.js → chunk-4FPSI5P4.js} +4 -4
  3. package/dist/{chunk-SQ7PB5A6.js → chunk-CA46EUVN.js} +2 -2
  4. package/dist/{chunk-Q2OVEMUG.js → chunk-EARM456T.js} +92 -1
  5. package/dist/chunk-EARM456T.js.map +1 -0
  6. package/dist/{claude-pair-runtime-GRZ2EHHR.js → claude-pair-runtime-G3SEYGH6.js} +2 -2
  7. package/dist/lib/manager-worker.js +21 -15
  8. package/dist/lib/manager-worker.js.map +1 -1
  9. package/dist/mcp/direct-chat-channel.js +91 -0
  10. package/dist/mcp/index.js +91 -0
  11. package/dist/mcp/origami.js +91 -0
  12. package/dist/mcp/slack-channel.js +188 -5
  13. package/dist/mcp/telegram-channel.js +91 -0
  14. package/dist/{persistent-session-MG6FEYRY.js → persistent-session-XQG5H4KI.js} +3 -3
  15. package/dist/{responsiveness-probe-2OGWHDXE.js → responsiveness-probe-LA4VGH5W.js} +3 -3
  16. package/dist/{session-auth-dead-AHL6D3CM.js → session-auth-dead-DFLSWVAQ.js} +2 -2
  17. package/package.json +1 -1
  18. package/dist/chunk-Q2OVEMUG.js.map +0 -1
  19. /package/dist/{chunk-UG2N5V4P.js.map → chunk-4FPSI5P4.js.map} +0 -0
  20. /package/dist/{chunk-SQ7PB5A6.js.map → chunk-CA46EUVN.js.map} +0 -0
  21. /package/dist/{claude-pair-runtime-GRZ2EHHR.js.map → claude-pair-runtime-G3SEYGH6.js.map} +0 -0
  22. /package/dist/{persistent-session-MG6FEYRY.js.map → persistent-session-XQG5H4KI.js.map} +0 -0
  23. /package/dist/{responsiveness-probe-2OGWHDXE.js.map → responsiveness-probe-LA4VGH5W.js.map} +0 -0
  24. /package/dist/{session-auth-dead-AHL6D3CM.js.map → session-auth-dead-DFLSWVAQ.js.map} +0 -0
@@ -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-MG6FEYRY.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-XQG5H4KI.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-GRZ2EHHR.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-G3SEYGH6.js.map
@@ -63,7 +63,7 @@ import {
63
63
  safeWriteJsonAtomic,
64
64
  setConfigHash,
65
65
  tripClass
66
- } from "../chunk-UG2N5V4P.js";
66
+ } from "../chunk-4FPSI5P4.js";
67
67
  import {
68
68
  getProjectDir as getProjectDir2,
69
69
  getReadyTasks,
@@ -129,7 +129,7 @@ import {
129
129
  takeZombieDetection,
130
130
  toOpencodeModel,
131
131
  writeEgressAllowlist
132
- } from "../chunk-SQ7PB5A6.js";
132
+ } from "../chunk-CA46EUVN.js";
133
133
  import {
134
134
  ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
135
135
  AnchorSessionClient,
@@ -224,7 +224,7 @@ import {
224
224
  subagentActivityAgeSeconds,
225
225
  sumTranscriptUsageInWindow,
226
226
  transcriptActivityAgeSeconds
227
- } from "../chunk-Q2OVEMUG.js";
227
+ } from "../chunk-EARM456T.js";
228
228
  import {
229
229
  reapOrphanChannelMcps
230
230
  } from "../chunk-XWVM4KPK.js";
@@ -9542,13 +9542,19 @@ function isAppMentionEcho(evt, botUserId) {
9542
9542
  return false;
9543
9543
  if (evt.channel?.startsWith("D"))
9544
9544
  return false;
9545
- return typeof evt.text === "string" && evt.text.includes(`<@${botUserId}>`);
9545
+ return typeof evt.text === "string" && mentionsUser(evt.text, botUserId);
9546
9546
  }
9547
9547
  function slackInboundDedupId(evt) {
9548
9548
  if (!evt.channel || !evt.ts)
9549
9549
  return null;
9550
9550
  return `${evt.channel}:${evt.ts}:${evt.type ?? "unknown"}`;
9551
9551
  }
9552
+ function mentionsUser(text, userId) {
9553
+ if (!userId)
9554
+ return false;
9555
+ const escaped = userId.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
9556
+ return new RegExp(`<@${escaped}[|>]`).test(text);
9557
+ }
9552
9558
  function extractAugmentedSlackLabel(evt) {
9553
9559
  if (evt.metadata?.event_type !== "augmented_agent_message")
9554
9560
  return null;
@@ -13010,7 +13016,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
13010
13016
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
13011
13017
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
13012
13018
  async function channelInboundActivityAgeSecondsFor(codeName) {
13013
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-2OGWHDXE.js");
13019
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-LA4VGH5W.js");
13014
13020
  const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
13015
13021
  if (newest === null) return null;
13016
13022
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -13678,7 +13684,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
13678
13684
  var lastVersionCheckAt = 0;
13679
13685
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
13680
13686
  var lastResponsivenessProbeAt = 0;
13681
- var agtCliVersion = true ? "0.28.874" : "dev";
13687
+ var agtCliVersion = true ? "0.28.876" : "dev";
13682
13688
  function resolveBrewPath(execFileSync2) {
13683
13689
  try {
13684
13690
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -15268,7 +15274,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
15268
15274
  if (codeNames.length === 0) return;
15269
15275
  void (async () => {
15270
15276
  try {
15271
- const { collectDiagnostics } = await import("../persistent-session-MG6FEYRY.js");
15277
+ const { collectDiagnostics } = await import("../persistent-session-XQG5H4KI.js");
15272
15278
  await api.post("/host/heartbeat", {
15273
15279
  host_id: hostId,
15274
15280
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -15410,7 +15416,7 @@ async function pollCycleInner() {
15410
15416
  }
15411
15417
  try {
15412
15418
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
15413
- const { collectDiagnostics } = await import("../persistent-session-MG6FEYRY.js");
15419
+ const { collectDiagnostics } = await import("../persistent-session-XQG5H4KI.js");
15414
15420
  const diagCodeNames = [...agentState.persistentSessionAgents];
15415
15421
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
15416
15422
  let tailscaleHostname;
@@ -15579,7 +15585,7 @@ async function pollCycleInner() {
15579
15585
  collectPanelessActivityProbes,
15580
15586
  getResponsivenessIntervalMs,
15581
15587
  occupancyQualificationClassifications
15582
- } = await import("../responsiveness-probe-2OGWHDXE.js");
15588
+ } = await import("../responsiveness-probe-LA4VGH5W.js");
15583
15589
  const probeIntervalMs = getResponsivenessIntervalMs();
15584
15590
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
15585
15591
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -15696,7 +15702,7 @@ async function pollCycleInner() {
15696
15702
  collectResponsivenessProbes,
15697
15703
  livePendingInboundOldestAgeSeconds,
15698
15704
  parkPendingInbound
15699
- } = await import("../responsiveness-probe-2OGWHDXE.js");
15705
+ } = await import("../responsiveness-probe-LA4VGH5W.js");
15700
15706
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
15701
15707
  const wedgeNow = /* @__PURE__ */ new Date();
15702
15708
  const liveAgents = agentState.persistentSessionAgents;
@@ -15852,7 +15858,7 @@ async function pollCycleInner() {
15852
15858
  }
15853
15859
  try {
15854
15860
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
15855
- const { probeSessionAuth } = await import("../session-auth-dead-AHL6D3CM.js");
15861
+ const { probeSessionAuth } = await import("../session-auth-dead-DFLSWVAQ.js");
15856
15862
  const observations = [];
15857
15863
  const pendingCacheCommits = [];
15858
15864
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -20097,7 +20103,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
20097
20103
  try {
20098
20104
  const freshId = rotateSessionForWedge(codeName);
20099
20105
  consecutiveWedgeCycles.delete(codeName);
20100
- const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-2OGWHDXE.js");
20106
+ const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-LA4VGH5W.js");
20101
20107
  const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
20102
20108
  const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
20103
20109
  const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
@@ -20135,7 +20141,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
20135
20141
  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}`));
20136
20142
  void (async () => {
20137
20143
  try {
20138
- const { collectDiagnostics } = await import("../persistent-session-MG6FEYRY.js");
20144
+ const { collectDiagnostics } = await import("../persistent-session-XQG5H4KI.js");
20139
20145
  await api.post("/host/heartbeat", {
20140
20146
  host_id: hostId,
20141
20147
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -20181,7 +20187,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
20181
20187
  }
20182
20188
  try {
20183
20189
  const hostId = await getHostId();
20184
- const { collectDiagnostics } = await import("../persistent-session-MG6FEYRY.js");
20190
+ const { collectDiagnostics } = await import("../persistent-session-XQG5H4KI.js");
20185
20191
  await api.post("/host/heartbeat", {
20186
20192
  host_id: hostId,
20187
20193
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -20817,7 +20823,7 @@ async function processClaudePairSessions(agents) {
20817
20823
  killPairSession,
20818
20824
  pairTmuxSession,
20819
20825
  finalizeClaudePairOnboarding
20820
- } = await import("../claude-pair-runtime-GRZ2EHHR.js");
20826
+ } = await import("../claude-pair-runtime-G3SEYGH6.js");
20821
20827
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
20822
20828
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
20823
20829
  const killed = await killPairSession(pairTmuxSession(pairId));