@integrity-labs/agt-cli 0.28.372 → 0.28.374

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.
@@ -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-HXUYS63V.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-G4GDPZ54.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-U2SO44TW.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-DPFC3EF3.js.map
@@ -43,7 +43,7 @@ import {
43
43
  resolveEffectivePinRaw,
44
44
  safeWriteJsonAtomic,
45
45
  setConfigHash
46
- } from "../chunk-FAMCYDMC.js";
46
+ } from "../chunk-NSRSWHXX.js";
47
47
  import {
48
48
  getProjectDir as getProjectDir2,
49
49
  getReadyTasks,
@@ -90,7 +90,6 @@ import {
90
90
  injectMessageWithStatus,
91
91
  injectOpencodeMessage,
92
92
  isAgentIdle,
93
- isAgentPromptReady,
94
93
  isBareAck,
95
94
  isConversationFailureCategory,
96
95
  isEmptyTotals,
@@ -131,7 +130,6 @@ import {
131
130
  resolveDmTarget,
132
131
  restartEgressSidecar,
133
132
  rotateSessionForWedge,
134
- sendToAgent,
135
133
  serializeUsageLimitMarker,
136
134
  sessionTranscriptDir,
137
135
  sha256,
@@ -147,7 +145,7 @@ import {
147
145
  toOpencodeModel,
148
146
  transcriptActivityAgeSeconds,
149
147
  writeEgressAllowlist
150
- } from "../chunk-NDF3YMP5.js";
148
+ } from "../chunk-TRBANZZ4.js";
151
149
  import {
152
150
  reapOrphanChannelMcps
153
151
  } from "../chunk-XWVM4KPK.js";
@@ -4148,9 +4146,6 @@ function shouldNudgeUnchangedBoard(signature, state7, now, fullCadenceMs, maxCad
4148
4146
  if (state7.signature !== signature) return true;
4149
4147
  return now - state7.nudgedAt >= nudgeIntervalForCount(state7.nudgeCount ?? 1, fullCadenceMs, maxCadenceMs);
4150
4148
  }
4151
- function isSlashCommand(command) {
4152
- return command.trimStart().startsWith("/");
4153
- }
4154
4149
  var BOARD_INJECT_TEMPLATES = /* @__PURE__ */ new Set(["morning-plan", "task-update", "hourly-status", "end-of-day-summary"]);
4155
4150
  function parseStandupSummary(summary) {
4156
4151
  const lines = summary.split("\n");
@@ -9105,7 +9100,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
9105
9100
  var lastVersionCheckAt = 0;
9106
9101
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
9107
9102
  var lastResponsivenessProbeAt = 0;
9108
- var agtCliVersion = true ? "0.28.372" : "dev";
9103
+ var agtCliVersion = true ? "0.28.374" : "dev";
9109
9104
  function resolveBrewPath(execFileSync2) {
9110
9105
  try {
9111
9106
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -10124,7 +10119,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
10124
10119
  if (codeNames.length === 0) return;
10125
10120
  void (async () => {
10126
10121
  try {
10127
- const { collectDiagnostics } = await import("../persistent-session-HXUYS63V.js");
10122
+ const { collectDiagnostics } = await import("../persistent-session-G4GDPZ54.js");
10128
10123
  await api.post("/host/heartbeat", {
10129
10124
  host_id: hostId,
10130
10125
  agent_diagnostics: collectDiagnostics(codeNames)
@@ -10223,7 +10218,7 @@ async function pollCycle() {
10223
10218
  }
10224
10219
  try {
10225
10220
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
10226
- const { collectDiagnostics } = await import("../persistent-session-HXUYS63V.js");
10221
+ const { collectDiagnostics } = await import("../persistent-session-G4GDPZ54.js");
10227
10222
  const diagCodeNames = [...agentState.persistentSessionAgents];
10228
10223
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
10229
10224
  let tailscaleHostname;
@@ -10378,7 +10373,7 @@ async function pollCycle() {
10378
10373
  const {
10379
10374
  collectResponsivenessProbes,
10380
10375
  getResponsivenessIntervalMs
10381
- } = await import("../responsiveness-probe-TVSASSZY.js");
10376
+ } = await import("../responsiveness-probe-2JNQBULO.js");
10382
10377
  const probeIntervalMs = getResponsivenessIntervalMs();
10383
10378
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
10384
10379
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -10410,7 +10405,7 @@ async function pollCycle() {
10410
10405
  collectResponsivenessProbes,
10411
10406
  livePendingInboundOldestAgeSeconds,
10412
10407
  parkPendingInbound
10413
- } = await import("../responsiveness-probe-TVSASSZY.js");
10408
+ } = await import("../responsiveness-probe-2JNQBULO.js");
10414
10409
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-HYOOQV4A.js");
10415
10410
  const wedgeNow = /* @__PURE__ */ new Date();
10416
10411
  const liveAgents = agentState.persistentSessionAgents;
@@ -13588,7 +13583,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
13588
13583
  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}`));
13589
13584
  void (async () => {
13590
13585
  try {
13591
- const { collectDiagnostics } = await import("../persistent-session-HXUYS63V.js");
13586
+ const { collectDiagnostics } = await import("../persistent-session-G4GDPZ54.js");
13592
13587
  await api.post("/host/heartbeat", {
13593
13588
  host_id: hostId,
13594
13589
  agent_diagnostics: collectDiagnostics([codeName])
@@ -13638,7 +13633,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
13638
13633
  }
13639
13634
  try {
13640
13635
  const hostId = await getHostId();
13641
- const { collectDiagnostics } = await import("../persistent-session-HXUYS63V.js");
13636
+ const { collectDiagnostics } = await import("../persistent-session-G4GDPZ54.js");
13642
13637
  await api.post("/host/heartbeat", {
13643
13638
  host_id: hostId,
13644
13639
  agent_diagnostics: collectDiagnostics([codeName])
@@ -14059,61 +14054,16 @@ async function maybeInjectKanbanCheck(codeName, agentId, actionableCount, signat
14059
14054
  return;
14060
14055
  }
14061
14056
  lastKanbanInjectAt.set(codeName, Date.now());
14062
- if (hostFlagStore().getBoolean("kanban-doorbell")) {
14063
- const ok = await injectKanbanCheckViaDirectChat(codeName, agentId, actionableCount);
14064
- if (ok) {
14065
- setKanbanNudgeState(codeName, {
14066
- signature,
14067
- nudgedAt: Date.now(),
14068
- nudgeCount: nextKanbanNudgeCount(codeName, signature)
14069
- });
14070
- return;
14071
- }
14072
- log(`[manager-worker] kanban direct-chat enqueue failed for '${codeName}' \u2014 falling back to send-keys`);
14073
- }
14074
- const tmuxSession = `agt-${codeName}`;
14075
- const ready = await isAgentPromptReady(tmuxSession);
14076
- if (!ready) {
14077
- log(`[manager-worker] kanban inject skipped \u2014 agent busy ('${codeName}')`);
14078
- return;
14079
- }
14080
- if (isKanbanHybridDryRun()) {
14081
- log(
14082
- `[manager-worker] kanban inject DRY-RUN \u2014 would inject for '${codeName}' (${actionableCount} actionable items)`
14083
- );
14084
- lastKanbanInjectAt.delete(codeName);
14085
- return;
14086
- }
14087
- closeInjectedRunIfOpen(codeName, "completed", "kanban inject superseded by next inject");
14088
- const { run_id } = await startRun({
14089
- agent_id: agentId,
14090
- source_type: "kanban",
14091
- metadata: { injected: "kanban-check", actionable_count: actionableCount }
14092
- });
14093
- let delivered;
14094
- if (isSlashCommand(KANBAN_CHECK_COMMAND)) {
14095
- delivered = sendToAgent(tmuxSession, KANBAN_CHECK_COMMAND);
14096
- } else {
14097
- const content = run_id ? `${KANBAN_CHECK_COMMAND}
14098
- ${formatRunMarker(run_id)}` : KANBAN_CHECK_COMMAND;
14099
- delivered = await injectMessage(codeName, "system", content, void 0, log);
14100
- }
14101
- if (delivered) {
14102
- if (run_id) openInjectedRunByCode.set(codeName, run_id);
14057
+ const ok = await injectKanbanCheckViaDirectChat(codeName, agentId, actionableCount);
14058
+ if (ok) {
14103
14059
  setKanbanNudgeState(codeName, {
14104
14060
  signature,
14105
14061
  nudgedAt: Date.now(),
14106
14062
  nudgeCount: nextKanbanNudgeCount(codeName, signature)
14107
14063
  });
14108
- log(
14109
- `[manager-worker] Injected kanban check for '${codeName}' (${actionableCount} actionable items)${run_id ? ` run_id=${run_id}` : ""}`
14110
- );
14111
- } else {
14112
- if (run_id) {
14113
- void finishRun(run_id, "failed", { outcomeMessage: "kanban inject delivery failed" });
14114
- }
14115
- log(`[manager-worker] kanban inject failed for '${codeName}'`);
14064
+ return;
14116
14065
  }
14066
+ log(`[manager-worker] kanban direct-chat enqueue failed for '${codeName}' - will re-nudge next tick`);
14117
14067
  }
14118
14068
  var lastHarvestAt = /* @__PURE__ */ new Map();
14119
14069
  var HARVEST_INTERVAL_MS = 3 * 60 * 1e3;
@@ -14136,7 +14086,7 @@ async function processClaudePairSessions(agents) {
14136
14086
  killPairSession,
14137
14087
  pairTmuxSession,
14138
14088
  finalizeClaudePairOnboarding
14139
- } = await import("../claude-pair-runtime-U2SO44TW.js");
14089
+ } = await import("../claude-pair-runtime-DPFC3EF3.js");
14140
14090
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
14141
14091
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
14142
14092
  const killed = await killPairSession(pairTmuxSession(pairId));