@integrity-labs/agt-cli 0.28.839 → 0.28.841

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-N6FIS7UY.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-WLP5YTO2.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-A52UZQ6V.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-XC3AQA4L.js.map
@@ -60,7 +60,7 @@ import {
60
60
  safeWriteJsonAtomic,
61
61
  setConfigHash,
62
62
  tripClass
63
- } from "../chunk-V2JMDOOU.js";
63
+ } from "../chunk-43P6SG7L.js";
64
64
  import {
65
65
  getProjectDir as getProjectDir2,
66
66
  getReadyTasks,
@@ -126,7 +126,7 @@ import {
126
126
  takeZombieDetection,
127
127
  toOpencodeModel,
128
128
  writeEgressAllowlist
129
- } from "../chunk-W4KAZQBS.js";
129
+ } from "../chunk-CFLYGZOF.js";
130
130
  import {
131
131
  ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
132
132
  AnchorSessionClient,
@@ -221,7 +221,7 @@ import {
221
221
  subagentActivityAgeSeconds,
222
222
  sumTranscriptUsageInWindow,
223
223
  transcriptActivityAgeSeconds
224
- } from "../chunk-DUOFKTAD.js";
224
+ } from "../chunk-XBLODN73.js";
225
225
  import {
226
226
  reapOrphanChannelMcps
227
227
  } from "../chunk-XWVM4KPK.js";
@@ -2286,6 +2286,8 @@ var ASSET_FILES = [
2286
2286
  [AUTH_FILENAME, 420]
2287
2287
  ];
2288
2288
  var REVIEW_ASSET_DIRNAME = "review";
2289
+ var SKILL_FILENAME = "SKILL.md";
2290
+ var REVIEW_SKILL_ID = "pr-review";
2289
2291
  function resolveBundledReviewAssetDir() {
2290
2292
  const moduleDir = dirname5(fileURLToPath(import.meta.url));
2291
2293
  const candidates = [
@@ -2322,6 +2324,19 @@ function provisionReviewPoster(codeName, sourceDir = resolveBundledReviewAssetDi
2322
2324
  chmodSync(dest, mode);
2323
2325
  }
2324
2326
  }
2327
+ function provisionReviewSkill(codeName, sourceDir = resolveBundledReviewAssetDir()) {
2328
+ const src = join8(sourceDir, SKILL_FILENAME);
2329
+ if (!existsSync2(src)) {
2330
+ throw new Error(`[review-poster] bundled asset missing: ${src}`);
2331
+ }
2332
+ const adapter = getFramework("claude-code");
2333
+ if (!adapter.installSkillFiles) {
2334
+ throw new Error("[review-poster] claude-code adapter exposes no installSkillFiles");
2335
+ }
2336
+ adapter.installSkillFiles(codeName, REVIEW_SKILL_ID, [
2337
+ { relativePath: SKILL_FILENAME, content: readFileSync8(src, "utf-8") }
2338
+ ]);
2339
+ }
2325
2340
 
2326
2341
  // src/lib/id-keyed-migration.ts
2327
2342
  import { existsSync as existsSync3, lstatSync, readlinkSync, renameSync as renameSync2 } from "fs";
@@ -13006,7 +13021,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
13006
13021
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
13007
13022
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
13008
13023
  async function channelInboundActivityAgeSecondsFor(codeName) {
13009
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-OBQCSEFT.js");
13024
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-7RYNNHKC.js");
13010
13025
  const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
13011
13026
  if (newest === null) return null;
13012
13027
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -13674,7 +13689,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
13674
13689
  var lastVersionCheckAt = 0;
13675
13690
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
13676
13691
  var lastResponsivenessProbeAt = 0;
13677
- var agtCliVersion = true ? "0.28.839" : "dev";
13692
+ var agtCliVersion = true ? "0.28.841" : "dev";
13678
13693
  function resolveBrewPath(execFileSync2) {
13679
13694
  try {
13680
13695
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -15264,7 +15279,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
15264
15279
  if (codeNames.length === 0) return;
15265
15280
  void (async () => {
15266
15281
  try {
15267
- const { collectDiagnostics } = await import("../persistent-session-N6FIS7UY.js");
15282
+ const { collectDiagnostics } = await import("../persistent-session-WLP5YTO2.js");
15268
15283
  await api.post("/host/heartbeat", {
15269
15284
  host_id: hostId,
15270
15285
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -15406,7 +15421,7 @@ async function pollCycleInner() {
15406
15421
  }
15407
15422
  try {
15408
15423
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
15409
- const { collectDiagnostics } = await import("../persistent-session-N6FIS7UY.js");
15424
+ const { collectDiagnostics } = await import("../persistent-session-WLP5YTO2.js");
15410
15425
  const diagCodeNames = [...agentState.persistentSessionAgents];
15411
15426
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
15412
15427
  let tailscaleHostname;
@@ -15575,7 +15590,7 @@ async function pollCycleInner() {
15575
15590
  collectPanelessActivityProbes,
15576
15591
  getResponsivenessIntervalMs,
15577
15592
  occupancyQualificationClassifications
15578
- } = await import("../responsiveness-probe-OBQCSEFT.js");
15593
+ } = await import("../responsiveness-probe-7RYNNHKC.js");
15579
15594
  const probeIntervalMs = getResponsivenessIntervalMs();
15580
15595
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
15581
15596
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -15692,7 +15707,7 @@ async function pollCycleInner() {
15692
15707
  collectResponsivenessProbes,
15693
15708
  livePendingInboundOldestAgeSeconds,
15694
15709
  parkPendingInbound
15695
- } = await import("../responsiveness-probe-OBQCSEFT.js");
15710
+ } = await import("../responsiveness-probe-7RYNNHKC.js");
15696
15711
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
15697
15712
  const wedgeNow = /* @__PURE__ */ new Date();
15698
15713
  const liveAgents = agentState.persistentSessionAgents;
@@ -15848,7 +15863,7 @@ async function pollCycleInner() {
15848
15863
  }
15849
15864
  try {
15850
15865
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
15851
- const { probeSessionAuth } = await import("../session-auth-dead-LIPEYPBX.js");
15866
+ const { probeSessionAuth } = await import("../session-auth-dead-X6B6C3BR.js");
15852
15867
  const observations = [];
15853
15868
  const pendingCacheCommits = [];
15854
15869
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -19531,6 +19546,11 @@ async function ensurePersistentSession(agent, tasks, boardItems, refreshData) {
19531
19546
  } catch (err) {
19532
19547
  log(`[persistent-session] Failed to provision review poster for '${codeName}': ${err.message}`);
19533
19548
  }
19549
+ try {
19550
+ provisionReviewSkill(codeName);
19551
+ } catch (err) {
19552
+ log(`[persistent-session] Failed to provision review skill for '${codeName}': ${err.message}`);
19553
+ }
19534
19554
  if (!isSessionHealthy(codeName)) {
19535
19555
  if (agentState.persistentSessionAgents.has(codeName)) {
19536
19556
  const ctx = getLastFailureContext(codeName);
@@ -20086,7 +20106,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
20086
20106
  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}`));
20087
20107
  void (async () => {
20088
20108
  try {
20089
- const { collectDiagnostics } = await import("../persistent-session-N6FIS7UY.js");
20109
+ const { collectDiagnostics } = await import("../persistent-session-WLP5YTO2.js");
20090
20110
  await api.post("/host/heartbeat", {
20091
20111
  host_id: hostId,
20092
20112
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -20132,7 +20152,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
20132
20152
  }
20133
20153
  try {
20134
20154
  const hostId = await getHostId();
20135
- const { collectDiagnostics } = await import("../persistent-session-N6FIS7UY.js");
20155
+ const { collectDiagnostics } = await import("../persistent-session-WLP5YTO2.js");
20136
20156
  await api.post("/host/heartbeat", {
20137
20157
  host_id: hostId,
20138
20158
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
@@ -20768,7 +20788,7 @@ async function processClaudePairSessions(agents) {
20768
20788
  killPairSession,
20769
20789
  pairTmuxSession,
20770
20790
  finalizeClaudePairOnboarding
20771
- } = await import("../claude-pair-runtime-A52UZQ6V.js");
20791
+ } = await import("../claude-pair-runtime-XC3AQA4L.js");
20772
20792
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
20773
20793
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
20774
20794
  const killed = await killPairSession(pairTmuxSession(pairId));