@integrity-labs/agt-cli 0.27.102 → 0.27.104

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.
@@ -9,7 +9,7 @@ import {
9
9
  parseDeliveryTarget,
10
10
  registerFramework,
11
11
  wrapScheduledTaskPrompt
12
- } from "./chunk-XZZXLKFL.js";
12
+ } from "./chunk-I2OTQJH3.js";
13
13
 
14
14
  // ../../packages/core/dist/integrations/registry.js
15
15
  var INTEGRATION_REGISTRY = [
@@ -7586,4 +7586,4 @@ export {
7586
7586
  managerInstallSystemUnitCommand,
7587
7587
  managerUninstallSystemUnitCommand
7588
7588
  };
7589
- //# sourceMappingURL=chunk-4CBW3S76.js.map
7589
+ //# sourceMappingURL=chunk-MIRY4G4G.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-FG6IQD3I.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-YGP6P4SN.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-Q23K5TTP.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-ODVGVMNQ.js.map
@@ -17,7 +17,7 @@ import {
17
17
  provisionStopHook,
18
18
  requireHost,
19
19
  safeWriteJsonAtomic
20
- } from "../chunk-4CBW3S76.js";
20
+ } from "../chunk-MIRY4G4G.js";
21
21
  import {
22
22
  getProjectDir as getProjectDir2,
23
23
  getReadyTasks,
@@ -55,9 +55,10 @@ import {
55
55
  stopPersistentSession,
56
56
  takeWatchdogGiveUpCount,
57
57
  takeZombieDetection
58
- } from "../chunk-ZVNQXGJX.js";
58
+ } from "../chunk-3FYXAPTF.js";
59
59
  import {
60
60
  KANBAN_CHECK_COMMAND,
61
+ SUPPRESS_SENTINEL,
61
62
  appendDmFooter,
62
63
  attributeTranscriptUsageByRun,
63
64
  classifyActor,
@@ -78,7 +79,7 @@ import {
78
79
  resolveConnectivityProbe,
79
80
  resolveDmTarget,
80
81
  wrapScheduledTaskPrompt
81
- } from "../chunk-XZZXLKFL.js";
82
+ } from "../chunk-I2OTQJH3.js";
82
83
  import {
83
84
  parsePsRows,
84
85
  reapOrphanChannelMcps
@@ -4035,7 +4036,7 @@ var cachedMaintenanceWindow = null;
4035
4036
  var lastVersionCheckAt = 0;
4036
4037
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
4037
4038
  var lastResponsivenessProbeAt = 0;
4038
- var agtCliVersion = true ? "0.27.102" : "dev";
4039
+ var agtCliVersion = true ? "0.27.104" : "dev";
4039
4040
  function resolveBrewPath(execFileSync4) {
4040
4041
  try {
4041
4042
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -5228,7 +5229,7 @@ async function pollCycle() {
5228
5229
  }
5229
5230
  try {
5230
5231
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
5231
- const { collectDiagnostics } = await import("../persistent-session-FG6IQD3I.js");
5232
+ const { collectDiagnostics } = await import("../persistent-session-YGP6P4SN.js");
5232
5233
  const diagCodeNames = [...agentState.persistentSessionAgents];
5233
5234
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
5234
5235
  let tailscaleHostname;
@@ -5315,23 +5316,30 @@ async function pollCycle() {
5315
5316
  const {
5316
5317
  collectResponsivenessProbes,
5317
5318
  getResponsivenessIntervalMs
5318
- } = await import("../responsiveness-probe-SQBFB4BN.js");
5319
+ } = await import("../responsiveness-probe-SBK4Y7I3.js");
5319
5320
  const probeIntervalMs = getResponsivenessIntervalMs();
5320
5321
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
5321
5322
  const probeCodeNames = [...agentState.persistentSessionAgents];
5322
5323
  if (probeCodeNames.length > 0) {
5324
+ const { takeAcpxExecFailureCount, creditAcpxExecFailureCount } = await import("../persistent-session-YGP6P4SN.js");
5323
5325
  const drainedGiveUps = /* @__PURE__ */ new Map();
5326
+ const drainedAcpxFailures = /* @__PURE__ */ new Map();
5324
5327
  const probes = collectResponsivenessProbes(probeCodeNames).map((p) => {
5325
5328
  const giveUps = takeWatchdogGiveUpCount(p.code_name);
5326
5329
  if (giveUps > 0) drainedGiveUps.set(p.code_name, giveUps);
5327
- return { ...p, input_stuck_give_ups: giveUps };
5330
+ const acpxFailures = takeAcpxExecFailureCount(p.code_name);
5331
+ if (acpxFailures > 0) drainedAcpxFailures.set(p.code_name, acpxFailures);
5332
+ return { ...p, input_stuck_give_ups: giveUps, acpx_exec_failures: acpxFailures };
5328
5333
  });
5329
5334
  if (probes.length > 0) {
5330
5335
  void api.post("/host/responsiveness-probe", { host_id: hostId, probes }).catch((err) => {
5331
5336
  for (const [codeName, count] of drainedGiveUps) {
5332
5337
  creditWatchdogGiveUpCount(codeName, count);
5333
5338
  }
5334
- log(`[responsiveness-probe] post failed (give-up counts re-credited): ${err.message}`);
5339
+ for (const [codeName, count] of drainedAcpxFailures) {
5340
+ creditAcpxExecFailureCount(codeName, count);
5341
+ }
5342
+ log(`[responsiveness-probe] post failed (give-up + acpx-failure counts re-credited): ${err.message}`);
5335
5343
  });
5336
5344
  }
5337
5345
  }
@@ -7683,6 +7691,7 @@ async function routeScheduledTaskViaKanban(codeName, agentId, task, prompt) {
7683
7691
  return false;
7684
7692
  }
7685
7693
  const nudge = `You have a new scheduled task on your kanban board: id=${kanban_item_id} title=${JSON.stringify(task.name)}. Call kanban_move("${kanban_item_id}", "in_progress"), do the work described on the card, then write the finished result onto the card and mark it done. Do NOT send, post, or message the result to anyone yourself \u2014 recording it on the card is enough; delivery to the recipient is handled for you.
7694
+ If \u2014 and ONLY if \u2014 the task description contains explicit opt-out wording the user typed (e.g. "DO NOT notify me unless urgent", "only if X", "stay silent unless \u2026") and that condition is NOT met this run, write exactly \`${SUPPRESS_SENTINEL}\` ALONE as the card result (no other text, no "nothing urgent", no notes) and mark the card done \u2014 that tells the delivery pipeline to skip the send. A report with zero items ("nothing urgent", "no follow-ups", "all quiet") is still a valid deliverable when the task asks for a digest, NOT a reason to suppress \u2014 when in doubt, deliver.
7686
7695
  ` + formatRunMarker(run_id);
7687
7696
  let injectStatus;
7688
7697
  try {
@@ -9650,7 +9659,7 @@ async function processClaudePairSessions(agents) {
9650
9659
  killPairSession,
9651
9660
  pairTmuxSession,
9652
9661
  finalizeClaudePairOnboarding
9653
- } = await import("../claude-pair-runtime-Q23K5TTP.js");
9662
+ } = await import("../claude-pair-runtime-ODVGVMNQ.js");
9654
9663
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
9655
9664
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
9656
9665
  const killed = await killPairSession(pairTmuxSession(pairId));