@integrity-labs/agt-cli 0.28.890 → 0.28.891

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.
@@ -19,7 +19,7 @@ import {
19
19
  rotateDailySession,
20
20
  sessionFileExists,
21
21
  todayLocalIso
22
- } from "./chunk-FHJLOWU2.js";
22
+ } from "./chunk-BH5RFBUM.js";
23
23
  import {
24
24
  reapOrphanChannelMcps
25
25
  } from "./chunk-XWVM4KPK.js";
@@ -5730,4 +5730,4 @@ export {
5730
5730
  stopAllSessionsAndWait,
5731
5731
  getProjectDir
5732
5732
  };
5733
- //# sourceMappingURL=chunk-AQM4A5JF.js.map
5733
+ //# sourceMappingURL=chunk-SXYTFXPO.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-DVG5WKZZ.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-ZDZSEODJ.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-XSOXRHGZ.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-TCDKO2CZ.js.map
@@ -63,7 +63,7 @@ import {
63
63
  safeWriteJsonAtomic,
64
64
  setConfigHash,
65
65
  tripClass
66
- } from "../chunk-WGMIKXTX.js";
66
+ } from "../chunk-2IVLMJXQ.js";
67
67
  import {
68
68
  getProjectDir as getProjectDir2,
69
69
  getReadyTasks,
@@ -136,7 +136,7 @@ import {
136
136
  takeZombieDetection,
137
137
  toOpencodeModel,
138
138
  writeEgressAllowlist
139
- } from "../chunk-AQM4A5JF.js";
139
+ } from "../chunk-SXYTFXPO.js";
140
140
  import {
141
141
  ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
142
142
  AnchorSessionClient,
@@ -231,7 +231,7 @@ import {
231
231
  subagentActivityAgeSeconds,
232
232
  sumTranscriptUsageInWindow,
233
233
  transcriptActivityAgeSeconds
234
- } from "../chunk-FHJLOWU2.js";
234
+ } from "../chunk-BH5RFBUM.js";
235
235
  import {
236
236
  reapOrphanChannelMcps
237
237
  } from "../chunk-XWVM4KPK.js";
@@ -13023,7 +13023,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
13023
13023
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
13024
13024
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
13025
13025
  async function channelInboundActivityAgeSecondsFor(codeName) {
13026
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-PPI3AFQG.js");
13026
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-7CY5VZMG.js");
13027
13027
  const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
13028
13028
  if (newest === null) return null;
13029
13029
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -13691,7 +13691,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
13691
13691
  var lastVersionCheckAt = 0;
13692
13692
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
13693
13693
  var lastResponsivenessProbeAt = 0;
13694
- var agtCliVersion = true ? "0.28.890" : "dev";
13694
+ var agtCliVersion = true ? "0.28.891" : "dev";
13695
13695
  function resolveBrewPath(execFileSync2) {
13696
13696
  try {
13697
13697
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -15281,7 +15281,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
15281
15281
  if (codeNames.length === 0) return;
15282
15282
  void (async () => {
15283
15283
  try {
15284
- const { collectDiagnostics } = await import("../persistent-session-DVG5WKZZ.js");
15284
+ const { collectDiagnostics } = await import("../persistent-session-ZDZSEODJ.js");
15285
15285
  await api.post("/host/heartbeat", {
15286
15286
  host_id: hostId,
15287
15287
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -15423,7 +15423,7 @@ async function pollCycleInner() {
15423
15423
  }
15424
15424
  try {
15425
15425
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
15426
- const { collectDiagnostics } = await import("../persistent-session-DVG5WKZZ.js");
15426
+ const { collectDiagnostics } = await import("../persistent-session-ZDZSEODJ.js");
15427
15427
  const diagCodeNames = [...agentState.persistentSessionAgents];
15428
15428
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
15429
15429
  let tailscaleHostname;
@@ -15592,7 +15592,7 @@ async function pollCycleInner() {
15592
15592
  collectPanelessActivityProbes,
15593
15593
  getResponsivenessIntervalMs,
15594
15594
  occupancyQualificationClassifications
15595
- } = await import("../responsiveness-probe-PPI3AFQG.js");
15595
+ } = await import("../responsiveness-probe-7CY5VZMG.js");
15596
15596
  const probeIntervalMs = getResponsivenessIntervalMs();
15597
15597
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
15598
15598
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -15709,7 +15709,7 @@ async function pollCycleInner() {
15709
15709
  collectResponsivenessProbes,
15710
15710
  livePendingInboundOldestAgeSeconds,
15711
15711
  parkPendingInbound
15712
- } = await import("../responsiveness-probe-PPI3AFQG.js");
15712
+ } = await import("../responsiveness-probe-7CY5VZMG.js");
15713
15713
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
15714
15714
  const wedgeNow = /* @__PURE__ */ new Date();
15715
15715
  const liveAgents = agentState.persistentSessionAgents;
@@ -15865,7 +15865,7 @@ async function pollCycleInner() {
15865
15865
  }
15866
15866
  try {
15867
15867
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
15868
- const { probeSessionAuth } = await import("../session-auth-dead-L7TAICNC.js");
15868
+ const { probeSessionAuth } = await import("../session-auth-dead-65TG2DLW.js");
15869
15869
  const observations = [];
15870
15870
  const pendingCacheCommits = [];
15871
15871
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -20128,7 +20128,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
20128
20128
  try {
20129
20129
  const freshId = rotateSessionForWedge(codeName);
20130
20130
  consecutiveWedgeCycles.delete(codeName);
20131
- const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-PPI3AFQG.js");
20131
+ const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-7CY5VZMG.js");
20132
20132
  const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
20133
20133
  const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
20134
20134
  const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
@@ -20171,7 +20171,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
20171
20171
  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}`));
20172
20172
  void (async () => {
20173
20173
  try {
20174
- const { collectDiagnostics } = await import("../persistent-session-DVG5WKZZ.js");
20174
+ const { collectDiagnostics } = await import("../persistent-session-ZDZSEODJ.js");
20175
20175
  await api.post("/host/heartbeat", {
20176
20176
  host_id: hostId,
20177
20177
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -20222,7 +20222,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
20222
20222
  }
20223
20223
  try {
20224
20224
  const hostId = await getHostId();
20225
- const { collectDiagnostics } = await import("../persistent-session-DVG5WKZZ.js");
20225
+ const { collectDiagnostics } = await import("../persistent-session-ZDZSEODJ.js");
20226
20226
  await api.post("/host/heartbeat", {
20227
20227
  host_id: hostId,
20228
20228
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -20864,7 +20864,7 @@ async function processClaudePairSessions(agents) {
20864
20864
  killPairSession,
20865
20865
  pairTmuxSession,
20866
20866
  finalizeClaudePairOnboarding
20867
- } = await import("../claude-pair-runtime-XSOXRHGZ.js");
20867
+ } = await import("../claude-pair-runtime-TCDKO2CZ.js");
20868
20868
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
20869
20869
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
20870
20870
  const killed = await killPairSession(pairTmuxSession(pairId));
@@ -37484,14 +37484,38 @@ var FLAG_REGISTRY = [
37484
37484
  },
37485
37485
  {
37486
37486
  key: "agent-unified-screen",
37487
- description: 'Unified agent screen redesign (ENG-8478 epic / ENG-8480). When ON, the webapp renders the new single-screen "viewing is editing" agent surface (stripped-back hero, working agent switcher, inline-editable profile, embedded operational panels + a live direct-chat drawer) in place of the separate agent view/edit pages; when OFF, the current view/edit pages are unchanged. Additive UI gate \u2014 no data-model change: each panel reads the same existing endpoints the current pages use. Composes independently with app-top-nav-shell (the two flags are reconciled in ENG-8488). Ships dark.',
37487
+ description: 'Unified agent screen redesign (ENG-8478 epic / ENG-8480). When ON, the webapp renders the new single-screen "viewing is editing" agent surface (stripped-back hero, working agent switcher, inline-editable profile, embedded operational panels + a live direct-chat drawer) in place of the separate agent view/edit pages; when OFF, the current view/edit pages are unchanged. Additive UI gate \u2014 no data-model change: each panel reads the same existing endpoints the current pages use. Composes independently with app-top-nav-shell (the two flags are reconciled in ENG-8488). NO LONGER DARK: ENG-9832 cutover step 1 flipped the default to true, so an org with no override now gets the unified screen. The key survives only until cutover step 2 deletes it \u2014 which is blocked on ENG-8547 and ENG-8559, because the flag-off branch is still the only home for the /edit tabs.',
37488
37488
  flagType: "boolean",
37489
- // Declared safe value is `false` = the current view/edit pages. A flag-DB read
37490
- // error must fall back to what ships today, never a half-built redesign.
37491
- defaultValue: false,
37492
- // Read CLIENT-SIDE by the agent screen ("use client") via usePublicBooleanFlag,
37493
- // so the key must be in the browser-exposed public map. Additive viewer gate,
37494
- // resolved within the active-org cookie's scope not sensitive.
37489
+ // ENG-9832 (cutover step 1): flipped `false` -> `true`. The comment this
37490
+ // replaces called `false` the safe direction "the current view/edit
37491
+ // pages", never "a half-built redesign". That was true while the redesign
37492
+ // was half built. It has been the shipped surface for the pilot orgs since
37493
+ // ENG-8481, so `false` now points at the pages being retired, not at safety.
37494
+ // The old rationale is recorded rather than deleted because it was correct
37495
+ // under a premise that has since expired.
37496
+ //
37497
+ // MIND THE SPLIT. This value is consulted by the API evaluator when it
37498
+ // builds the `GET /flags` map for an org with NO override. It is NOT the
37499
+ // fallback the webapp uses when that fetch fails: `getPublicBooleanFlagServer`
37500
+ // and `usePublicBooleanFlag` both return the argument passed at the CALL
37501
+ // SITE and never consult this registry. Three call sites carry `true` to
37502
+ // match — agents/[agentId]/page.tsx, agents/[agentId]/edit/page.tsx and
37503
+ // `useAgentUnifiedScreenEnabled` in lib/redesign-flags.ts. Flipping the
37504
+ // registry alone leaves the cutover half-applied with no error anywhere;
37505
+ // eng-9832-unified-fallback-parity.test.ts fails if any of the three drifts.
37506
+ defaultValue: true,
37507
+ // Read BOTH server-side (agents/[agentId]/page.tsx and its /edit sibling, via
37508
+ // getPublicBooleanFlagServer) and client-side (dashboard-sherlock-shell.tsx,
37509
+ // via usePublicBooleanFlag), so the key must be in the browser-exposed public
37510
+ // map. Additive viewer gate, resolved within the active-org cookie's scope
37511
+ // — not sensitive.
37512
+ //
37513
+ // `public` MUST STAY until step 2 deletes the key, and the reason reads
37514
+ // backwards: the server helper resolves against the very SAME public-filtered
37515
+ // `GET /flags` the browser uses (routes/flags.ts filters to
37516
+ // listPublicFlagKeys()). Drop `public` and the key is simply absent from the
37517
+ // map, so both server readers fall through to their call-site argument
37518
+ // forever — silently, with no error raised anywhere.
37495
37519
  public: true
37496
37520
  },
37497
37521
  {