@integrity-labs/agt-cli 0.28.1198 → 0.28.1199

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 +6 -6
  2. package/dist/{chunk-7HGQBGOI.js → chunk-JPPFYGOQ.js} +5 -5
  3. package/dist/{chunk-LBQSZVUX.js → chunk-KKQRAJQV.js} +2 -2
  4. package/dist/{chunk-YZSECLT4.js → chunk-M5XKZVBC.js} +3 -3
  5. package/dist/{chunk-W4WVX7D4.js → chunk-QL7LKEYQ.js} +2 -2
  6. package/dist/{chunk-I2ZT7SV2.js → chunk-WCN2OJQT.js} +1 -1
  7. package/dist/{chunk-I2ZT7SV2.js.map → chunk-WCN2OJQT.js.map} +1 -1
  8. package/dist/{claude-code-updater-MO64U3D6.js → claude-code-updater-QRDRPUGF.js} +3 -3
  9. package/dist/{claude-pair-runtime-IMG45YN5.js → claude-pair-runtime-PQNF3H4Q.js} +3 -3
  10. package/dist/lib/manager-worker.js +19 -19
  11. package/dist/mcp/augmented-admin.js +1 -1
  12. package/dist/{persistent-session-YKPIDETF.js → persistent-session-SJ25HFBM.js} +4 -4
  13. package/dist/{responsiveness-probe-VU7CUC7P.js → responsiveness-probe-TB2T2Q4L.js} +4 -4
  14. package/dist/{session-auth-dead-SXJSD34M.js → session-auth-dead-2XSQ6BRX.js} +3 -3
  15. package/package.json +1 -1
  16. /package/dist/{chunk-7HGQBGOI.js.map → chunk-JPPFYGOQ.js.map} +0 -0
  17. /package/dist/{chunk-LBQSZVUX.js.map → chunk-KKQRAJQV.js.map} +0 -0
  18. /package/dist/{chunk-YZSECLT4.js.map → chunk-M5XKZVBC.js.map} +0 -0
  19. /package/dist/{chunk-W4WVX7D4.js.map → chunk-QL7LKEYQ.js.map} +0 -0
  20. /package/dist/{claude-code-updater-MO64U3D6.js.map → claude-code-updater-QRDRPUGF.js.map} +0 -0
  21. /package/dist/{claude-pair-runtime-IMG45YN5.js.map → claude-pair-runtime-PQNF3H4Q.js.map} +0 -0
  22. /package/dist/{persistent-session-YKPIDETF.js.map → persistent-session-SJ25HFBM.js.map} +0 -0
  23. /package/dist/{responsiveness-probe-VU7CUC7P.js.map → responsiveness-probe-TB2T2Q4L.js.map} +0 -0
  24. /package/dist/{session-auth-dead-SXJSD34M.js.map → session-auth-dead-2XSQ6BRX.js.map} +0 -0
@@ -13,9 +13,9 @@ import {
13
13
  probeClaudeInstalls,
14
14
  readsAsNativeInstall,
15
15
  shouldRunClaudeCodeUpdater
16
- } from "./chunk-W4WVX7D4.js";
16
+ } from "./chunk-QL7LKEYQ.js";
17
17
  import "./chunk-XWVM4KPK.js";
18
- import "./chunk-I2ZT7SV2.js";
18
+ import "./chunk-WCN2OJQT.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-MO64U3D6.js.map
37
+ //# sourceMappingURL=claude-code-updater-QRDRPUGF.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  redactPaneFrame,
10
10
  sanitizeTerminalFrame
11
- } from "./chunk-I2ZT7SV2.js";
11
+ } from "./chunk-WCN2OJQT.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-YKPIDETF.js");
324
+ const { resolveClaudeBinary } = await import("./persistent-session-SJ25HFBM.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-IMG45YN5.js.map
839
+ //# sourceMappingURL=claude-pair-runtime-PQNF3H4Q.js.map
@@ -85,7 +85,7 @@ import {
85
85
  tripClass,
86
86
  writeEtcEnvironment,
87
87
  writeProfileDScript
88
- } from "../chunk-7HGQBGOI.js";
88
+ } from "../chunk-JPPFYGOQ.js";
89
89
  import {
90
90
  CLAUDE_CODE_SECURITY_FLOOR,
91
91
  SELF_UPDATE_TIMEOUTS,
@@ -99,7 +99,7 @@ import {
99
99
  runSafeCleanup,
100
100
  tightestDiskStat,
101
101
  withPackageCacheLock
102
- } from "../chunk-W4WVX7D4.js";
102
+ } from "../chunk-QL7LKEYQ.js";
103
103
  import {
104
104
  rewriteSupervisorApiKey,
105
105
  supervisorChannelsRefusing
@@ -192,7 +192,7 @@ import {
192
192
  webFetchBaselineValue,
193
193
  webFetchRestartNeeded,
194
194
  writeEgressAllowlist
195
- } from "../chunk-YZSECLT4.js";
195
+ } from "../chunk-M5XKZVBC.js";
196
196
  import {
197
197
  isAgentIdle,
198
198
  isStaleForToday,
@@ -202,7 +202,7 @@ import {
202
202
  sessionTranscriptDir,
203
203
  subagentActivityAgeSeconds,
204
204
  transcriptActivityAgeSeconds
205
- } from "../chunk-LBQSZVUX.js";
205
+ } from "../chunk-KKQRAJQV.js";
206
206
  import {
207
207
  classifyUnanswerablePane,
208
208
  focusedConfirmDialogBlock,
@@ -330,7 +330,7 @@ import {
330
330
  stabiliseResetInstant,
331
331
  sumTranscriptUsageInWindow,
332
332
  summarizeTranscriptActivity
333
- } from "../chunk-I2ZT7SV2.js";
333
+ } from "../chunk-WCN2OJQT.js";
334
334
  import {
335
335
  CLAUDE_CONFIG_DIR_ENV,
336
336
  claudeConfigDirFor,
@@ -15561,7 +15561,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
15561
15561
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
15562
15562
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
15563
15563
  async function channelInboundActivityAgeSecondsFor(codeName) {
15564
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-VU7CUC7P.js");
15564
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-TB2T2Q4L.js");
15565
15565
  const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
15566
15566
  if (newest === null) return null;
15567
15567
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -16358,7 +16358,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
16358
16358
  var lastVersionCheckAt = 0;
16359
16359
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
16360
16360
  var lastResponsivenessProbeAt = 0;
16361
- var agtCliVersion = true ? "0.28.1198" : "dev";
16361
+ var agtCliVersion = true ? "0.28.1199" : "dev";
16362
16362
  function resolveBrewPath(execFileSync3) {
16363
16363
  try {
16364
16364
  const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -18262,7 +18262,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
18262
18262
  if (codeNames.length === 0) return;
18263
18263
  void (async () => {
18264
18264
  try {
18265
- const { collectDiagnostics } = await import("../persistent-session-YKPIDETF.js");
18265
+ const { collectDiagnostics } = await import("../persistent-session-SJ25HFBM.js");
18266
18266
  await api.post("/host/heartbeat", {
18267
18267
  host_id: hostId,
18268
18268
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
@@ -18405,7 +18405,7 @@ async function pollCycleInner() {
18405
18405
  }
18406
18406
  try {
18407
18407
  const { detectHostSecurity } = await import("../host-security-KQYYZZVW.js");
18408
- const { collectDiagnostics } = await import("../persistent-session-YKPIDETF.js");
18408
+ const { collectDiagnostics } = await import("../persistent-session-SJ25HFBM.js");
18409
18409
  const diagCodeNames = [...agentState.persistentSessionAgents];
18410
18410
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor) : void 0;
18411
18411
  let tailscaleHostname;
@@ -18663,7 +18663,7 @@ async function pollCycleInner() {
18663
18663
  }
18664
18664
  try {
18665
18665
  const desiredClaudeCodeVersion = hbResp?.desired_claude_code_version?.trim();
18666
- const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-MO64U3D6.js");
18666
+ const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-QRDRPUGF.js");
18667
18667
  const securityFloor = currentSecurityFloor();
18668
18668
  claudeUpdaterInFlight = true;
18669
18669
  if (desiredClaudeCodeVersion && (claudePairLoop.busy || claudePairingInProgress())) {
@@ -18698,7 +18698,7 @@ async function pollCycleInner() {
18698
18698
  collectPanelessActivityProbes,
18699
18699
  getResponsivenessIntervalMs,
18700
18700
  occupancyQualificationClassifications
18701
- } = await import("../responsiveness-probe-VU7CUC7P.js");
18701
+ } = await import("../responsiveness-probe-TB2T2Q4L.js");
18702
18702
  const probeIntervalMs = getResponsivenessIntervalMs();
18703
18703
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
18704
18704
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -18815,7 +18815,7 @@ async function pollCycleInner() {
18815
18815
  collectResponsivenessProbes,
18816
18816
  livePendingInboundOldestAgeSeconds,
18817
18817
  parkPendingInbound
18818
- } = await import("../responsiveness-probe-VU7CUC7P.js");
18818
+ } = await import("../responsiveness-probe-TB2T2Q4L.js");
18819
18819
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-M6AFZWNU.js");
18820
18820
  const wedgeNow = /* @__PURE__ */ new Date();
18821
18821
  const liveAgents = agentState.persistentSessionAgents;
@@ -19101,7 +19101,7 @@ async function pollCycleInner() {
19101
19101
  }
19102
19102
  }
19103
19103
  );
19104
- const { parkPendingInbound } = await import("../responsiveness-probe-VU7CUC7P.js");
19104
+ const { parkPendingInbound } = await import("../responsiveness-probe-TB2T2Q4L.js");
19105
19105
  const { parked, deadLettered } = parkPendingInbound(codeName, new Date(fatalNowMs));
19106
19106
  paneFatalStreak.delete(codeName);
19107
19107
  paneFatalRestarts.set(codeName, [...history, fatalNowMs]);
@@ -19132,7 +19132,7 @@ async function pollCycleInner() {
19132
19132
  TRANSCRIPT_MOUNT_ESCALATION_REFRESH_MS,
19133
19133
  bindSourceEscalations
19134
19134
  } = await import("../transcript-mount-health-OHE6IVJV.js");
19135
- const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-YKPIDETF.js");
19135
+ const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-SJ25HFBM.js");
19136
19136
  const mountConfig = resolveTranscriptMountConfig();
19137
19137
  const liveAgents = agentState.persistentSessionAgents;
19138
19138
  for (const tracked of [
@@ -19297,7 +19297,7 @@ async function pollCycleInner() {
19297
19297
  }
19298
19298
  try {
19299
19299
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-VR5QGP3J.js");
19300
- const { probeSessionAuth } = await import("../session-auth-dead-SXJSD34M.js");
19300
+ const { probeSessionAuth } = await import("../session-auth-dead-2XSQ6BRX.js");
19301
19301
  const observations = [];
19302
19302
  const pendingCacheCommits = [];
19303
19303
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -24027,7 +24027,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
24027
24027
  try {
24028
24028
  const freshId = rotateSessionForWedge(codeName);
24029
24029
  consecutiveWedgeCycles.delete(codeName);
24030
- const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-VU7CUC7P.js");
24030
+ const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-TB2T2Q4L.js");
24031
24031
  const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
24032
24032
  const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
24033
24033
  const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
@@ -24070,7 +24070,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
24070
24070
  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}`));
24071
24071
  void (async () => {
24072
24072
  try {
24073
- const { collectDiagnostics } = await import("../persistent-session-YKPIDETF.js");
24073
+ const { collectDiagnostics } = await import("../persistent-session-SJ25HFBM.js");
24074
24074
  await api.post("/host/heartbeat", {
24075
24075
  host_id: hostId,
24076
24076
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
@@ -24121,7 +24121,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
24121
24121
  }
24122
24122
  try {
24123
24123
  const hostId = await getHostId();
24124
- const { collectDiagnostics } = await import("../persistent-session-YKPIDETF.js");
24124
+ const { collectDiagnostics } = await import("../persistent-session-SJ25HFBM.js");
24125
24125
  await api.post("/host/heartbeat", {
24126
24126
  host_id: hostId,
24127
24127
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
@@ -24823,7 +24823,7 @@ async function processClaudePairSessions(agents) {
24823
24823
  snapshotPairConfig,
24824
24824
  // ENG-11659: result -> report body + the manager.log line that records it.
24825
24825
  planPairStartReport
24826
- } = await import("../claude-pair-runtime-IMG45YN5.js");
24826
+ } = await import("../claude-pair-runtime-PQNF3H4Q.js");
24827
24827
  const { resetClaudeSignin, describeSigninResetForLog, describeSigninResetFailure } = await import("../claude-signin-reset-6IJMMVYG.js");
24828
24828
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
24829
24829
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
@@ -21881,7 +21881,7 @@ server.registerTool(
21881
21881
  );
21882
21882
  server.registerTool(
21883
21883
  "debug_search_orgs",
21884
- { description: `List the ORGANIZATIONS you're authorized to read \u2014 the org-level entry point for triage and access decisions, so you don't have to infer orgs off agent/host rows or probe one org's tier with debug_request_access. Returns a projection per org: { organization_id, organization_slug, display_name, is_internal, management_mode (fully_managed | self_managed), standing_reason (internal | fully_managed | granted \u2014 WHY you can read it), has_active_grant (do you hold a live grant right now), host_count, agent_count, active_agent_count, open_alert_count, created_at }. Use it to (1) decide access in one read \u2014 see a self_managed org and its grant state before deciding to debug_request_access; (2) triage the fleet \u2014 "which orgs have open alerts" (open_alert_count includes stuck-restart alerts) without walking agents; (3) disambiguate a slug \u2192 id \u2192 tier without needing an agent/host to exist. Authorized = IL-owned (is_internal) + fully-managed orgs (standing) plus any self-managed org you hold an active grant for. Filter with { q (slug/name substring), management_mode, is_internal, limit }. Projection only \u2014 no secrets, no transcripts; org-walled in SQL and audited as a cross-org access.`, inputSchema: searchOrgsSchema },
21884
+ { description: `List the ORGANIZATIONS you're authorized to read \u2014 the org-level entry point for triage and access decisions, so you don't have to infer orgs off agent/host rows or probe one org's tier with debug_request_access. Returns a projection per org: { organization_id, organization_slug, display_name, is_internal, management_mode (fully_managed | self_managed), standing_reason (internal | fully_managed | granted \u2014 WHY you can read it), has_active_grant (do you hold a live grant right now), host_count, agent_count, active_agent_count, open_alert_count, created_at, plan_key, subscription_status, byo_credentials }. plan_key is the plan the product enforces now, not the one purchased: past_due or incomplete reads starter, so read it with subscription_status (trialing | active | past_due | incomplete | canceled, or null if the org never subscribed). byo_credentials is whether that plan lets the org use its own credential for premium integrations. If the plan read fails, all three are null, so a null byo_credentials means unknown, not no. No billing amounts. Use it to (1) decide access in one read \u2014 see a self_managed org and its grant state before deciding to debug_request_access; (2) triage the fleet \u2014 "which orgs have open alerts" (open_alert_count includes stuck-restart alerts) without walking agents; (3) disambiguate a slug \u2192 id \u2192 tier without needing an agent/host to exist. Authorized = IL-owned (is_internal) + fully-managed orgs (standing) plus any self-managed org you hold an active grant for. Filter with { q (slug/name substring), management_mode, is_internal, limit }. Projection only \u2014 no secrets, no transcripts; org-walled in SQL and audited as a cross-org access.`, inputSchema: searchOrgsSchema },
21885
21885
  async (args) => {
21886
21886
  try {
21887
21887
  const result = await client.searchOrgs(args);
@@ -68,12 +68,12 @@ import {
68
68
  writeDirectChatSessionState,
69
69
  writeEgressAllowlist,
70
70
  writePersistentClaudeWrapper
71
- } from "./chunk-YZSECLT4.js";
72
- import "./chunk-LBQSZVUX.js";
71
+ } from "./chunk-M5XKZVBC.js";
72
+ import "./chunk-KKQRAJQV.js";
73
73
  import "./chunk-HYQ7VOC3.js";
74
74
  import "./chunk-6HBXEJHO.js";
75
75
  import "./chunk-XWVM4KPK.js";
76
- import "./chunk-I2ZT7SV2.js";
76
+ import "./chunk-WCN2OJQT.js";
77
77
  import "./chunk-AIUIMEUS.js";
78
78
  import "./chunk-DGUM43GV.js";
79
79
  export {
@@ -147,4 +147,4 @@ export {
147
147
  writeEgressAllowlist,
148
148
  writePersistentClaudeWrapper
149
149
  };
150
- //# sourceMappingURL=persistent-session-YKPIDETF.js.map
150
+ //# sourceMappingURL=persistent-session-SJ25HFBM.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-YZSECLT4.js";
4
- import "./chunk-LBQSZVUX.js";
3
+ } from "./chunk-M5XKZVBC.js";
4
+ import "./chunk-KKQRAJQV.js";
5
5
  import "./chunk-HYQ7VOC3.js";
6
6
  import "./chunk-6HBXEJHO.js";
7
7
  import "./chunk-XWVM4KPK.js";
8
- import "./chunk-I2ZT7SV2.js";
8
+ import "./chunk-WCN2OJQT.js";
9
9
  import "./chunk-AIUIMEUS.js";
10
10
  import "./chunk-DGUM43GV.js";
11
11
 
@@ -804,4 +804,4 @@ export {
804
804
  readAndResetSlackReplyBindingClassifications,
805
805
  readAndResetSlackReplyTargetClassifications
806
806
  };
807
- //# sourceMappingURL=responsiveness-probe-VU7CUC7P.js.map
807
+ //# sourceMappingURL=responsiveness-probe-TB2T2Q4L.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-LBQSZVUX.js";
4
- import "./chunk-I2ZT7SV2.js";
3
+ } from "./chunk-KKQRAJQV.js";
4
+ import "./chunk-WCN2OJQT.js";
5
5
  import "./chunk-DGUM43GV.js";
6
6
 
7
7
  // src/lib/session-auth-dead.ts
@@ -205,4 +205,4 @@ export {
205
205
  decideSessionAuthState,
206
206
  probeSessionAuth
207
207
  };
208
- //# sourceMappingURL=session-auth-dead-SXJSD34M.js.map
208
+ //# sourceMappingURL=session-auth-dead-2XSQ6BRX.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.1198",
3
+ "version": "0.28.1199",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {