@integrity-labs/agt-cli 0.28.1182 → 0.28.1183

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 (30) hide show
  1. package/dist/bin/agt.js +6 -6
  2. package/dist/{chunk-OHGGDZVQ.js → chunk-3QZQ2QUY.js} +5 -5
  3. package/dist/{chunk-UAGBLWU2.js → chunk-44ZVQZCD.js} +2 -2
  4. package/dist/{chunk-AR72EF4W.js → chunk-6N4BQN7E.js} +2 -2
  5. package/dist/{chunk-B4Y5MJHG.js → chunk-D4SFIYLR.js} +3 -3
  6. package/dist/{chunk-475LAYAZ.js → chunk-VWQ4Y6AV.js} +3 -1
  7. package/dist/chunk-VWQ4Y6AV.js.map +1 -0
  8. package/dist/{claude-code-updater-ZKXTHHWL.js → claude-code-updater-RZZNG4MI.js} +3 -3
  9. package/dist/{claude-pair-runtime-YL5FVVDV.js → claude-pair-runtime-N4XK2FPH.js} +3 -3
  10. package/dist/lib/manager-worker.js +25 -20
  11. package/dist/lib/manager-worker.js.map +1 -1
  12. package/dist/mcp/direct-chat-channel.js +3 -0
  13. package/dist/mcp/index.js +86 -0
  14. package/dist/mcp/origami.js +2 -0
  15. package/dist/mcp/slack-channel.js +3 -0
  16. package/dist/mcp/telegram-channel.js +3 -0
  17. package/dist/{persistent-session-KCVIJ5R7.js → persistent-session-3FNAHCU3.js} +4 -4
  18. package/dist/{responsiveness-probe-GLNAS7ZG.js → responsiveness-probe-4Y4OUCB4.js} +4 -4
  19. package/dist/{session-auth-dead-5KYOFOTM.js → session-auth-dead-BOVLUG7N.js} +3 -3
  20. package/package.json +1 -1
  21. package/dist/chunk-475LAYAZ.js.map +0 -1
  22. /package/dist/{chunk-OHGGDZVQ.js.map → chunk-3QZQ2QUY.js.map} +0 -0
  23. /package/dist/{chunk-UAGBLWU2.js.map → chunk-44ZVQZCD.js.map} +0 -0
  24. /package/dist/{chunk-AR72EF4W.js.map → chunk-6N4BQN7E.js.map} +0 -0
  25. /package/dist/{chunk-B4Y5MJHG.js.map → chunk-D4SFIYLR.js.map} +0 -0
  26. /package/dist/{claude-code-updater-ZKXTHHWL.js.map → claude-code-updater-RZZNG4MI.js.map} +0 -0
  27. /package/dist/{claude-pair-runtime-YL5FVVDV.js.map → claude-pair-runtime-N4XK2FPH.js.map} +0 -0
  28. /package/dist/{persistent-session-KCVIJ5R7.js.map → persistent-session-3FNAHCU3.js.map} +0 -0
  29. /package/dist/{responsiveness-probe-GLNAS7ZG.js.map → responsiveness-probe-4Y4OUCB4.js.map} +0 -0
  30. /package/dist/{session-auth-dead-5KYOFOTM.js.map → session-auth-dead-BOVLUG7N.js.map} +0 -0
@@ -13,9 +13,9 @@ import {
13
13
  probeClaudeInstalls,
14
14
  readsAsNativeInstall,
15
15
  shouldRunClaudeCodeUpdater
16
- } from "./chunk-UAGBLWU2.js";
16
+ } from "./chunk-44ZVQZCD.js";
17
17
  import "./chunk-XWVM4KPK.js";
18
- import "./chunk-475LAYAZ.js";
18
+ import "./chunk-VWQ4Y6AV.js";
19
19
  import "./chunk-AIUIMEUS.js";
20
20
  import "./chunk-DGUM43GV.js";
21
21
  export {
@@ -34,4 +34,4 @@ export {
34
34
  readsAsNativeInstall,
35
35
  shouldRunClaudeCodeUpdater
36
36
  };
37
- //# sourceMappingURL=claude-code-updater-ZKXTHHWL.js.map
37
+ //# sourceMappingURL=claude-code-updater-RZZNG4MI.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  redactPaneFrame,
10
10
  sanitizeTerminalFrame
11
- } from "./chunk-475LAYAZ.js";
11
+ } from "./chunk-VWQ4Y6AV.js";
12
12
  import {
13
13
  CLAUDE_CONFIG_DIR_ENV,
14
14
  claudeConfigDirFor,
@@ -321,7 +321,7 @@ async function spawnPairSession(session) {
321
321
  return { ok: true };
322
322
  } catch {
323
323
  }
324
- const { resolveClaudeBinary } = await import("./persistent-session-KCVIJ5R7.js");
324
+ const { resolveClaudeBinary } = await import("./persistent-session-3FNAHCU3.js");
325
325
  const claudeBin = resolveClaudeBinary();
326
326
  const pairEnv = {
327
327
  ...process.env,
@@ -836,4 +836,4 @@ export {
836
836
  startClaudePair,
837
837
  submitClaudePairCode
838
838
  };
839
- //# sourceMappingURL=claude-pair-runtime-YL5FVVDV.js.map
839
+ //# sourceMappingURL=claude-pair-runtime-N4XK2FPH.js.map
@@ -82,7 +82,7 @@ import {
82
82
  tripClass,
83
83
  writeEtcEnvironment,
84
84
  writeProfileDScript
85
- } from "../chunk-OHGGDZVQ.js";
85
+ } from "../chunk-3QZQ2QUY.js";
86
86
  import {
87
87
  CLAUDE_CODE_SECURITY_FLOOR,
88
88
  SELF_UPDATE_TIMEOUTS,
@@ -96,7 +96,7 @@ import {
96
96
  runSafeCleanup,
97
97
  tightestDiskStat,
98
98
  withPackageCacheLock
99
- } from "../chunk-UAGBLWU2.js";
99
+ } from "../chunk-44ZVQZCD.js";
100
100
  import {
101
101
  rewriteSupervisorApiKey,
102
102
  supervisorChannelsRefusing
@@ -188,7 +188,7 @@ import {
188
188
  webFetchBaselineValue,
189
189
  webFetchRestartNeeded,
190
190
  writeEgressAllowlist
191
- } from "../chunk-B4Y5MJHG.js";
191
+ } from "../chunk-D4SFIYLR.js";
192
192
  import {
193
193
  isAgentIdle,
194
194
  isStaleForToday,
@@ -197,7 +197,7 @@ import {
197
197
  sessionTranscriptDir,
198
198
  subagentActivityAgeSeconds,
199
199
  transcriptActivityAgeSeconds
200
- } from "../chunk-AR72EF4W.js";
200
+ } from "../chunk-6N4BQN7E.js";
201
201
  import {
202
202
  classifyUnanswerablePane,
203
203
  focusedConfirmDialogBlock,
@@ -320,7 +320,7 @@ import {
320
320
  stabiliseResetInstant,
321
321
  sumTranscriptUsageInWindow,
322
322
  summarizeTranscriptActivity
323
- } from "../chunk-475LAYAZ.js";
323
+ } from "../chunk-VWQ4Y6AV.js";
324
324
  import {
325
325
  CLAUDE_CONFIG_DIR_ENV,
326
326
  claudeConfigDirFor,
@@ -9741,6 +9741,11 @@ ${isFailed ? "Reason" : "Result"}: ${resultBody.slice(0, NOTIFY_RESULT_MAX_CHARS
9741
9741
  return `${emoji} ${isFailed ? "Task Failed" : "Task Complete"} \u2014 ${displayName}
9742
9742
  ${item.title}${resultLine}`;
9743
9743
  }
9744
+ function isManagerActionWait(item) {
9745
+ const record = item.metadata?.manager_action;
9746
+ const leftByManager = record?.action === "escalate" || record?.action === "reassign" || record?.action === "reopen";
9747
+ return leftByManager && !!item.waiting_on && record?.applied?.waiting_on === item.waiting_on;
9748
+ }
9744
9749
  function resolveRequesterDmTarget(requester) {
9745
9750
  if (requester.channel === "slack" && requester.sender_id) {
9746
9751
  return { channel: "slack", to: requester.sender_id };
@@ -15361,7 +15366,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
15361
15366
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
15362
15367
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
15363
15368
  async function channelInboundActivityAgeSecondsFor(codeName) {
15364
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-GLNAS7ZG.js");
15369
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-4Y4OUCB4.js");
15365
15370
  const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
15366
15371
  if (newest === null) return null;
15367
15372
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -16158,7 +16163,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
16158
16163
  var lastVersionCheckAt = 0;
16159
16164
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
16160
16165
  var lastResponsivenessProbeAt = 0;
16161
- var agtCliVersion = true ? "0.28.1182" : "dev";
16166
+ var agtCliVersion = true ? "0.28.1183" : "dev";
16162
16167
  function resolveBrewPath(execFileSync3) {
16163
16168
  try {
16164
16169
  const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -18056,7 +18061,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
18056
18061
  if (codeNames.length === 0) return;
18057
18062
  void (async () => {
18058
18063
  try {
18059
- const { collectDiagnostics } = await import("../persistent-session-KCVIJ5R7.js");
18064
+ const { collectDiagnostics } = await import("../persistent-session-3FNAHCU3.js");
18060
18065
  await api.post("/host/heartbeat", {
18061
18066
  host_id: hostId,
18062
18067
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
@@ -18199,7 +18204,7 @@ async function pollCycleInner() {
18199
18204
  }
18200
18205
  try {
18201
18206
  const { detectHostSecurity } = await import("../host-security-KQYYZZVW.js");
18202
- const { collectDiagnostics } = await import("../persistent-session-KCVIJ5R7.js");
18207
+ const { collectDiagnostics } = await import("../persistent-session-3FNAHCU3.js");
18203
18208
  const diagCodeNames = [...agentState.persistentSessionAgents];
18204
18209
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor) : void 0;
18205
18210
  let tailscaleHostname;
@@ -18454,7 +18459,7 @@ async function pollCycleInner() {
18454
18459
  }
18455
18460
  try {
18456
18461
  const desiredClaudeCodeVersion = hbResp?.desired_claude_code_version?.trim();
18457
- const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-ZKXTHHWL.js");
18462
+ const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-RZZNG4MI.js");
18458
18463
  const securityFloor = currentSecurityFloor();
18459
18464
  claudeUpdaterInFlight = true;
18460
18465
  if (desiredClaudeCodeVersion && (claudePairLoop.busy || claudePairingInProgress())) {
@@ -18489,7 +18494,7 @@ async function pollCycleInner() {
18489
18494
  collectPanelessActivityProbes,
18490
18495
  getResponsivenessIntervalMs,
18491
18496
  occupancyQualificationClassifications
18492
- } = await import("../responsiveness-probe-GLNAS7ZG.js");
18497
+ } = await import("../responsiveness-probe-4Y4OUCB4.js");
18493
18498
  const probeIntervalMs = getResponsivenessIntervalMs();
18494
18499
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
18495
18500
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -18606,7 +18611,7 @@ async function pollCycleInner() {
18606
18611
  collectResponsivenessProbes,
18607
18612
  livePendingInboundOldestAgeSeconds,
18608
18613
  parkPendingInbound
18609
- } = await import("../responsiveness-probe-GLNAS7ZG.js");
18614
+ } = await import("../responsiveness-probe-4Y4OUCB4.js");
18610
18615
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-M6AFZWNU.js");
18611
18616
  const wedgeNow = /* @__PURE__ */ new Date();
18612
18617
  const liveAgents = agentState.persistentSessionAgents;
@@ -18892,7 +18897,7 @@ async function pollCycleInner() {
18892
18897
  }
18893
18898
  }
18894
18899
  );
18895
- const { parkPendingInbound } = await import("../responsiveness-probe-GLNAS7ZG.js");
18900
+ const { parkPendingInbound } = await import("../responsiveness-probe-4Y4OUCB4.js");
18896
18901
  const { parked, deadLettered } = parkPendingInbound(codeName, new Date(fatalNowMs));
18897
18902
  paneFatalStreak.delete(codeName);
18898
18903
  paneFatalRestarts.set(codeName, [...history, fatalNowMs]);
@@ -18923,7 +18928,7 @@ async function pollCycleInner() {
18923
18928
  TRANSCRIPT_MOUNT_ESCALATION_REFRESH_MS,
18924
18929
  bindSourceEscalations
18925
18930
  } = await import("../transcript-mount-health-OHE6IVJV.js");
18926
- const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-KCVIJ5R7.js");
18931
+ const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-3FNAHCU3.js");
18927
18932
  const mountConfig = resolveTranscriptMountConfig();
18928
18933
  const liveAgents = agentState.persistentSessionAgents;
18929
18934
  for (const tracked of [
@@ -19088,7 +19093,7 @@ async function pollCycleInner() {
19088
19093
  }
19089
19094
  try {
19090
19095
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-VR5QGP3J.js");
19091
- const { probeSessionAuth } = await import("../session-auth-dead-5KYOFOTM.js");
19096
+ const { probeSessionAuth } = await import("../session-auth-dead-BOVLUG7N.js");
19092
19097
  const observations = [];
19093
19098
  const pendingCacheCommits = [];
19094
19099
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -22495,7 +22500,7 @@ async function processAgent(agent, agentStates, managedToolkits) {
22495
22500
  notifiedWaitingHumanIds.set(agent.code_name, freshWaitingHumanIds);
22496
22501
  if (prevWaitingHumanIds) {
22497
22502
  const newlyWaiting = freshBoard.filter(
22498
- (b) => b.status === "waiting" && b.waiting_kind === "human" && !prevWaitingHumanIds.has(b.id) && b.metadata?.requester && // ENG-7643 (P5b-2): the API posts inline Slack buttons for a Slack
22503
+ (b) => b.status === "waiting" && b.waiting_kind === "human" && !prevWaitingHumanIds.has(b.id) && b.metadata?.requester && !isManagerActionWait(b) && // ENG-7643 (P5b-2): the API posts inline Slack buttons for a Slack
22499
22504
  // requester WITH choices; suppress the text DM for that exact case
22500
22505
  // so the requester isn't pinged twice. Non-Slack or no-choices
22501
22506
  // still gets the manager text DM.
@@ -23777,7 +23782,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
23777
23782
  try {
23778
23783
  const freshId = rotateSessionForWedge(codeName);
23779
23784
  consecutiveWedgeCycles.delete(codeName);
23780
- const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-GLNAS7ZG.js");
23785
+ const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-4Y4OUCB4.js");
23781
23786
  const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
23782
23787
  const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
23783
23788
  const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
@@ -23820,7 +23825,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
23820
23825
  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}`));
23821
23826
  void (async () => {
23822
23827
  try {
23823
- const { collectDiagnostics } = await import("../persistent-session-KCVIJ5R7.js");
23828
+ const { collectDiagnostics } = await import("../persistent-session-3FNAHCU3.js");
23824
23829
  await api.post("/host/heartbeat", {
23825
23830
  host_id: hostId,
23826
23831
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
@@ -23871,7 +23876,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
23871
23876
  }
23872
23877
  try {
23873
23878
  const hostId = await getHostId();
23874
- const { collectDiagnostics } = await import("../persistent-session-KCVIJ5R7.js");
23879
+ const { collectDiagnostics } = await import("../persistent-session-3FNAHCU3.js");
23875
23880
  await api.post("/host/heartbeat", {
23876
23881
  host_id: hostId,
23877
23882
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
@@ -24573,7 +24578,7 @@ async function processClaudePairSessions(agents) {
24573
24578
  snapshotPairConfig,
24574
24579
  // ENG-11659: result -> report body + the manager.log line that records it.
24575
24580
  planPairStartReport
24576
- } = await import("../claude-pair-runtime-YL5FVVDV.js");
24581
+ } = await import("../claude-pair-runtime-N4XK2FPH.js");
24577
24582
  const { resetClaudeSignin, describeSigninResetForLog, describeSigninResetFailure } = await import("../claude-signin-reset-6IJMMVYG.js");
24578
24583
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
24579
24584
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);