@integrity-labs/agt-cli 0.28.959 → 0.28.960

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.
@@ -20,7 +20,7 @@ import {
20
20
  rotateDailySession,
21
21
  sessionFileExists,
22
22
  todayLocalIso
23
- } from "./chunk-KCAFGTQM.js";
23
+ } from "./chunk-GSRUWWT6.js";
24
24
  import {
25
25
  classifyUnanswerablePane,
26
26
  findUsageLimitResetHint,
@@ -5575,4 +5575,4 @@ export {
5575
5575
  stopAllSessionsAndWait,
5576
5576
  getProjectDir
5577
5577
  };
5578
- //# sourceMappingURL=chunk-JDULE5NX.js.map
5578
+ //# sourceMappingURL=chunk-SQGW4VAW.js.map
@@ -164,7 +164,7 @@ async function spawnPairSession(session) {
164
164
  return { ok: true };
165
165
  } catch {
166
166
  }
167
- const { resolveClaudeBinary } = await import("./persistent-session-TGUC2Z5U.js");
167
+ const { resolveClaudeBinary } = await import("./persistent-session-OD7M7K5C.js");
168
168
  const claudeBin = resolveClaudeBinary();
169
169
  const pairEnv = {
170
170
  ...process.env,
@@ -475,4 +475,4 @@ export {
475
475
  startClaudePair,
476
476
  submitClaudePairCode
477
477
  };
478
- //# sourceMappingURL=claude-pair-runtime-OTLVEMSV.js.map
478
+ //# sourceMappingURL=claude-pair-runtime-5Q2WNQVB.js.map
@@ -63,7 +63,7 @@ import {
63
63
  safeWriteJsonAtomic,
64
64
  setConfigHash,
65
65
  tripClass
66
- } from "../chunk-MSVXOKWK.js";
66
+ } from "../chunk-3ICRKL3Y.js";
67
67
  import {
68
68
  getProjectDir as getProjectDir2,
69
69
  getReadyTasks,
@@ -140,7 +140,7 @@ import {
140
140
  takeZombieDetection,
141
141
  toOpencodeModel,
142
142
  writeEgressAllowlist
143
- } from "../chunk-JDULE5NX.js";
143
+ } from "../chunk-SQGW4VAW.js";
144
144
  import {
145
145
  ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
146
146
  AnchorSessionClient,
@@ -236,7 +236,7 @@ import {
236
236
  subagentActivityAgeSeconds,
237
237
  sumTranscriptUsageInWindow,
238
238
  transcriptActivityAgeSeconds
239
- } from "../chunk-KCAFGTQM.js";
239
+ } from "../chunk-GSRUWWT6.js";
240
240
  import "../chunk-DHWNVVX4.js";
241
241
  import {
242
242
  reapOrphanChannelMcps
@@ -13262,7 +13262,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
13262
13262
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
13263
13263
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
13264
13264
  async function channelInboundActivityAgeSecondsFor(codeName) {
13265
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-YG5KPOSN.js");
13265
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-73TIJ6ZV.js");
13266
13266
  const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
13267
13267
  if (newest === null) return null;
13268
13268
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -13947,7 +13947,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
13947
13947
  var lastVersionCheckAt = 0;
13948
13948
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
13949
13949
  var lastResponsivenessProbeAt = 0;
13950
- var agtCliVersion = true ? "0.28.959" : "dev";
13950
+ var agtCliVersion = true ? "0.28.960" : "dev";
13951
13951
  function resolveBrewPath(execFileSync2) {
13952
13952
  try {
13953
13953
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -15549,7 +15549,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
15549
15549
  if (codeNames.length === 0) return;
15550
15550
  void (async () => {
15551
15551
  try {
15552
- const { collectDiagnostics } = await import("../persistent-session-TGUC2Z5U.js");
15552
+ const { collectDiagnostics } = await import("../persistent-session-OD7M7K5C.js");
15553
15553
  await api.post("/host/heartbeat", {
15554
15554
  host_id: hostId,
15555
15555
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -15691,7 +15691,7 @@ async function pollCycleInner() {
15691
15691
  }
15692
15692
  try {
15693
15693
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
15694
- const { collectDiagnostics } = await import("../persistent-session-TGUC2Z5U.js");
15694
+ const { collectDiagnostics } = await import("../persistent-session-OD7M7K5C.js");
15695
15695
  const diagCodeNames = [...agentState.persistentSessionAgents];
15696
15696
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
15697
15697
  let tailscaleHostname;
@@ -15867,7 +15867,7 @@ async function pollCycleInner() {
15867
15867
  collectPanelessActivityProbes,
15868
15868
  getResponsivenessIntervalMs,
15869
15869
  occupancyQualificationClassifications
15870
- } = await import("../responsiveness-probe-YG5KPOSN.js");
15870
+ } = await import("../responsiveness-probe-73TIJ6ZV.js");
15871
15871
  const probeIntervalMs = getResponsivenessIntervalMs();
15872
15872
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
15873
15873
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -15984,7 +15984,7 @@ async function pollCycleInner() {
15984
15984
  collectResponsivenessProbes,
15985
15985
  livePendingInboundOldestAgeSeconds,
15986
15986
  parkPendingInbound
15987
- } = await import("../responsiveness-probe-YG5KPOSN.js");
15987
+ } = await import("../responsiveness-probe-73TIJ6ZV.js");
15988
15988
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
15989
15989
  const wedgeNow = /* @__PURE__ */ new Date();
15990
15990
  const liveAgents = agentState.persistentSessionAgents;
@@ -16140,7 +16140,7 @@ async function pollCycleInner() {
16140
16140
  }
16141
16141
  try {
16142
16142
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
16143
- const { probeSessionAuth } = await import("../session-auth-dead-2Z3PG6RK.js");
16143
+ const { probeSessionAuth } = await import("../session-auth-dead-FGWPJVFS.js");
16144
16144
  const observations = [];
16145
16145
  const pendingCacheCommits = [];
16146
16146
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -20416,7 +20416,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
20416
20416
  try {
20417
20417
  const freshId = rotateSessionForWedge(codeName);
20418
20418
  consecutiveWedgeCycles.delete(codeName);
20419
- const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-YG5KPOSN.js");
20419
+ const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-73TIJ6ZV.js");
20420
20420
  const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
20421
20421
  const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
20422
20422
  const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
@@ -20459,7 +20459,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
20459
20459
  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}`));
20460
20460
  void (async () => {
20461
20461
  try {
20462
- const { collectDiagnostics } = await import("../persistent-session-TGUC2Z5U.js");
20462
+ const { collectDiagnostics } = await import("../persistent-session-OD7M7K5C.js");
20463
20463
  await api.post("/host/heartbeat", {
20464
20464
  host_id: hostId,
20465
20465
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -20510,7 +20510,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
20510
20510
  }
20511
20511
  try {
20512
20512
  const hostId = await getHostId();
20513
- const { collectDiagnostics } = await import("../persistent-session-TGUC2Z5U.js");
20513
+ const { collectDiagnostics } = await import("../persistent-session-OD7M7K5C.js");
20514
20514
  await api.post("/host/heartbeat", {
20515
20515
  host_id: hostId,
20516
20516
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -21152,7 +21152,7 @@ async function processClaudePairSessions(agents) {
21152
21152
  killPairSession,
21153
21153
  pairTmuxSession,
21154
21154
  finalizeClaudePairOnboarding
21155
- } = await import("../claude-pair-runtime-OTLVEMSV.js");
21155
+ } = await import("../claude-pair-runtime-5Q2WNQVB.js");
21156
21156
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
21157
21157
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
21158
21158
  const killed = await killPairSession(pairTmuxSession(pairId));
@@ -21831,7 +21831,7 @@ server.registerTool(
21831
21831
  );
21832
21832
  server.registerTool(
21833
21833
  "debug_probe_integration",
21834
- { description: "Force a FRESH host-side connectivity probe for ONE of an agent's integrations and return the LIVE verdict \u2014 use when a user reports an integration \"isn't working\" but the console shows it connected, or to confirm a fix landed. Unlike the cached status the dashboard shows, this SSH-less SSM-invokes the agent's host to run the probe against its actual wired `.mcp.json` + credentials, so it can't disagree with reality. Returns { agent_id, code_name, slug, host, verdict, message, probed_at, ssm_status }. `verdict` is the live result: `ok` | `degraded` | `transient_error` (retryable) | `down` | `not_probeable` (no probe wired for this kind) \u2014 or a central degrade: `unreachable` (agent has no host), `not_installed` (integration not on this agent), `host_cli_too_old` (the host predates the probe \u2014 update its agt-cli), `probe_error`. Pass { agent_id, slug } where slug is the integration's definition code_name (e.g. `gmail`, `slack`, `here-now`). Fails closed for an unauthorized org; every call is audited as a cross-org host access.", inputSchema: probeIntegrationSchema },
21834
+ { description: "Force a FRESH host-side connectivity probe for ONE of an agent's integrations and return the LIVE verdict \u2014 use when a user reports an integration \"isn't working\" but the console shows it connected, or to confirm a fix landed. Unlike the cached status the dashboard shows, this SSH-less SSM-invokes the agent's host to run the probe against its actual wired `.mcp.json` + credentials, so it can't disagree with reality. Returns { agent_id, code_name, slug, host, verdict, message, probed_at, connection_key, sibling_connection_keys, scope_note, ssm_status }. **READ scope_note BEFORE ACTING ON AN `ok` (ENG-10646).** A toolkit can hold SEVERAL connections under one slug (ENG-7543) and this probes the FIRST one it resolves, so a verdict is about ONE CONNECTION, never the integration as a whole: `connection_key` names which. Worse, the host only searches rows in status active/configured, so a sibling in `error` or `unhealthy` - the one most likely to be the broken row an alert is about - is invisible to it and CANNOT appear in `sibling_connection_keys`; an empty list is not evidence there is only one connection. Measured: agent `ea` holds `composio/outlook` twice and this tool returned `ok` for the healthy row while the `integration_down` alert was about the other one, dead for six weeks. So when an alert and an `ok` disagree, do NOT conclude monitoring artefact - match the alert dedupe_key (it carries the ROW id) against debug_get_agent_integrations, whose `excluded[]` shows the rows the probe cannot see. All three fields are ABSENT when the host agt-cli predates ENG-10488, which means \u201Cthis host did not say\u201D, never \u201Cthere is one connection\u201D - and if the host DID send them in a shape this version cannot read, `scope_unreadable` names those fields, so a parse failure is never mistaken for an old host. `verdict` is the live result: `ok` | `degraded` | `transient_error` (retryable) | `down` | `not_probeable` (no probe wired for this kind) \u2014 or a central degrade: `unreachable` (agent has no host), `not_installed` (integration not on this agent), `host_cli_too_old` (the host predates the probe \u2014 update its agt-cli), `probe_error`. Pass { agent_id, slug } where slug is the integration's definition code_name (e.g. `gmail`, `slack`, `here-now`). Fails closed for an unauthorized org; every call is audited as a cross-org host access.", inputSchema: probeIntegrationSchema },
21835
21835
  async (args) => {
21836
21836
  try {
21837
21837
  const result = await client.probeIntegration(args);
@@ -62,8 +62,8 @@ import {
62
62
  writeDirectChatSessionState,
63
63
  writeEgressAllowlist,
64
64
  writePersistentClaudeWrapper
65
- } from "./chunk-JDULE5NX.js";
66
- import "./chunk-KCAFGTQM.js";
65
+ } from "./chunk-SQGW4VAW.js";
66
+ import "./chunk-GSRUWWT6.js";
67
67
  import "./chunk-DHWNVVX4.js";
68
68
  import "./chunk-XWVM4KPK.js";
69
69
  export {
@@ -131,4 +131,4 @@ export {
131
131
  writeEgressAllowlist,
132
132
  writePersistentClaudeWrapper
133
133
  };
134
- //# sourceMappingURL=persistent-session-TGUC2Z5U.js.map
134
+ //# sourceMappingURL=persistent-session-OD7M7K5C.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-JDULE5NX.js";
4
- import "./chunk-KCAFGTQM.js";
3
+ } from "./chunk-SQGW4VAW.js";
4
+ import "./chunk-GSRUWWT6.js";
5
5
  import "./chunk-DHWNVVX4.js";
6
6
  import "./chunk-XWVM4KPK.js";
7
7
 
@@ -800,4 +800,4 @@ export {
800
800
  readAndResetSlackReplyBindingClassifications,
801
801
  readAndResetSlackReplyTargetClassifications
802
802
  };
803
- //# sourceMappingURL=responsiveness-probe-YG5KPOSN.js.map
803
+ //# sourceMappingURL=responsiveness-probe-73TIJ6ZV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-KCAFGTQM.js";
3
+ } from "./chunk-GSRUWWT6.js";
4
4
 
5
5
  // src/lib/session-auth-dead.ts
6
6
  import { closeSync, openSync, readSync, readdirSync, statSync } from "fs";
@@ -203,4 +203,4 @@ export {
203
203
  decideSessionAuthState,
204
204
  probeSessionAuth
205
205
  };
206
- //# sourceMappingURL=session-auth-dead-2Z3PG6RK.js.map
206
+ //# sourceMappingURL=session-auth-dead-FGWPJVFS.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.959",
3
+ "version": "0.28.960",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {