@integrity-labs/agt-cli 0.28.763 → 0.28.764
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.
- package/dist/bin/agt.js +5 -5
- package/dist/{chunk-L4KDOGHB.js → chunk-23KTLVYX.js} +15 -1
- package/dist/{chunk-L4KDOGHB.js.map → chunk-23KTLVYX.js.map} +1 -1
- package/dist/{chunk-EU6RSU5V.js → chunk-LVBINNTQ.js} +157 -40
- package/dist/chunk-LVBINNTQ.js.map +1 -0
- package/dist/{chunk-HVOHM3PB.js → chunk-SMY25FCN.js} +70 -27
- package/dist/{chunk-HVOHM3PB.js.map → chunk-SMY25FCN.js.map} +1 -1
- package/dist/{claude-pair-runtime-5CKIB2IM.js → claude-pair-runtime-U6WDTNK3.js} +2 -2
- package/dist/lib/manager-worker.js +57 -62
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +14 -0
- package/dist/mcp/index.js +14 -0
- package/dist/mcp/origami.js +14 -0
- package/dist/mcp/slack-channel.js +14 -0
- package/dist/mcp/telegram-channel.js +14 -0
- package/dist/{persistent-session-VS44QKVB.js → persistent-session-3OBDKYWF.js} +3 -3
- package/dist/{responsiveness-probe-CNSUJALX.js → responsiveness-probe-ULIAXSCT.js} +3 -3
- package/dist/{session-auth-dead-3AK3MDNT.js → session-auth-dead-67XFJWMA.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-EU6RSU5V.js.map +0 -1
- /package/dist/{claude-pair-runtime-5CKIB2IM.js.map → claude-pair-runtime-U6WDTNK3.js.map} +0 -0
- /package/dist/{persistent-session-VS44QKVB.js.map → persistent-session-3OBDKYWF.js.map} +0 -0
- /package/dist/{responsiveness-probe-CNSUJALX.js.map → responsiveness-probe-ULIAXSCT.js.map} +0 -0
- /package/dist/{session-auth-dead-3AK3MDNT.js.map → session-auth-dead-67XFJWMA.js.map} +0 -0
|
@@ -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-
|
|
103
|
+
const { resolveClaudeBinary } = await import("./persistent-session-3OBDKYWF.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-
|
|
376
|
+
//# sourceMappingURL=claude-pair-runtime-U6WDTNK3.js.map
|
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
safeWriteJsonAtomic,
|
|
59
59
|
setConfigHash,
|
|
60
60
|
tripClass
|
|
61
|
-
} from "../chunk-
|
|
61
|
+
} from "../chunk-SMY25FCN.js";
|
|
62
62
|
import {
|
|
63
63
|
getProjectDir as getProjectDir2,
|
|
64
64
|
getReadyTasks,
|
|
@@ -82,6 +82,7 @@ import {
|
|
|
82
82
|
getOpencodeTurnHealth,
|
|
83
83
|
getProjectDir,
|
|
84
84
|
getSessionState,
|
|
85
|
+
hardBoundedCapture,
|
|
85
86
|
hashFile,
|
|
86
87
|
injectMessage,
|
|
87
88
|
injectMessageWithStatus,
|
|
@@ -119,7 +120,7 @@ import {
|
|
|
119
120
|
takeZombieDetection,
|
|
120
121
|
toOpencodeModel,
|
|
121
122
|
writeEgressAllowlist
|
|
122
|
-
} from "../chunk-
|
|
123
|
+
} from "../chunk-LVBINNTQ.js";
|
|
123
124
|
import {
|
|
124
125
|
ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
|
|
125
126
|
AnchorSessionClient,
|
|
@@ -208,7 +209,7 @@ import {
|
|
|
208
209
|
subagentActivityAgeSeconds,
|
|
209
210
|
sumTranscriptUsageInWindow,
|
|
210
211
|
transcriptActivityAgeSeconds
|
|
211
|
-
} from "../chunk-
|
|
212
|
+
} from "../chunk-23KTLVYX.js";
|
|
212
213
|
import {
|
|
213
214
|
reapOrphanChannelMcps
|
|
214
215
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -8970,7 +8971,6 @@ function stopPaneOccupancySampler() {
|
|
|
8970
8971
|
}
|
|
8971
8972
|
|
|
8972
8973
|
// src/lib/pid-pressure-sampler.ts
|
|
8973
|
-
import { execFileSync as execFileSync2 } from "child_process";
|
|
8974
8974
|
import { existsSync as existsSync16, readFileSync as readFileSync28 } from "fs";
|
|
8975
8975
|
var SAMPLE_INTERVAL_MS2 = 3e4;
|
|
8976
8976
|
function warnFraction() {
|
|
@@ -9023,15 +9023,10 @@ function resolveCgroupDirReal(codeName, deps = {}) {
|
|
|
9023
9023
|
return null;
|
|
9024
9024
|
}
|
|
9025
9025
|
function inspectContainerId(codeName) {
|
|
9026
|
-
|
|
9027
|
-
|
|
9028
|
-
|
|
9029
|
-
|
|
9030
|
-
stdio: ["ignore", "pipe", "ignore"]
|
|
9031
|
-
}).trim();
|
|
9032
|
-
} catch {
|
|
9033
|
-
return null;
|
|
9034
|
-
}
|
|
9026
|
+
const out = hardBoundedCapture("docker", ["inspect", "-f", "{{.Id}}", `agt-${codeName}`], {
|
|
9027
|
+
timeoutMs: 5e3
|
|
9028
|
+
});
|
|
9029
|
+
return out === null ? null : out.trim();
|
|
9035
9030
|
}
|
|
9036
9031
|
function countDefunct(cgroupDir, readText) {
|
|
9037
9032
|
const procs = readText(`${cgroupDir}/cgroup.procs`);
|
|
@@ -12813,7 +12808,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
12813
12808
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
12814
12809
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
12815
12810
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
12816
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
12811
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-ULIAXSCT.js");
|
|
12817
12812
|
const newest = newestPendingInboundActivityMtimeMs(dirname10(paneLogPath(codeName)));
|
|
12818
12813
|
if (newest === null) return null;
|
|
12819
12814
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -13473,10 +13468,10 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
13473
13468
|
var lastVersionCheckAt = 0;
|
|
13474
13469
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
13475
13470
|
var lastResponsivenessProbeAt = 0;
|
|
13476
|
-
var agtCliVersion = true ? "0.28.
|
|
13477
|
-
function resolveBrewPath(
|
|
13471
|
+
var agtCliVersion = true ? "0.28.764" : "dev";
|
|
13472
|
+
function resolveBrewPath(execFileSync2) {
|
|
13478
13473
|
try {
|
|
13479
|
-
const out =
|
|
13474
|
+
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
13480
13475
|
if (out) return out;
|
|
13481
13476
|
} catch {
|
|
13482
13477
|
}
|
|
@@ -13490,7 +13485,7 @@ function resolveBrewPath(execFileSync3) {
|
|
|
13490
13485
|
}
|
|
13491
13486
|
return null;
|
|
13492
13487
|
}
|
|
13493
|
-
function claudeBinaryInstalled(
|
|
13488
|
+
function claudeBinaryInstalled(execFileSync2) {
|
|
13494
13489
|
const canonical = [
|
|
13495
13490
|
"/home/linuxbrew/.linuxbrew/bin/claude",
|
|
13496
13491
|
"/opt/homebrew/bin/claude",
|
|
@@ -13498,7 +13493,7 @@ function claudeBinaryInstalled(execFileSync3) {
|
|
|
13498
13493
|
];
|
|
13499
13494
|
if (canonical.some((path) => existsSync19(path))) return true;
|
|
13500
13495
|
try {
|
|
13501
|
-
|
|
13496
|
+
execFileSync2("which", ["claude"], { timeout: 5e3 });
|
|
13502
13497
|
return true;
|
|
13503
13498
|
} catch {
|
|
13504
13499
|
return false;
|
|
@@ -13532,9 +13527,9 @@ async function ensureToolkitCli(toolkitSlug) {
|
|
|
13532
13527
|
}
|
|
13533
13528
|
const { binary, installer, package: pkg, script } = integration.cli_tool;
|
|
13534
13529
|
const resolvedInstaller = installer ?? "manual";
|
|
13535
|
-
const { execFileSync:
|
|
13530
|
+
const { execFileSync: execFileSync2, execSync } = await import("child_process");
|
|
13536
13531
|
try {
|
|
13537
|
-
|
|
13532
|
+
execFileSync2("which", [binary], { timeout: 5e3, stdio: "pipe" });
|
|
13538
13533
|
toolkitCliEnsured.add(toolkitSlug);
|
|
13539
13534
|
toolkitCliRetryAfter.delete(toolkitSlug);
|
|
13540
13535
|
toolkitCliFailureCount.delete(toolkitSlug);
|
|
@@ -13555,14 +13550,14 @@ async function ensureToolkitCli(toolkitSlug) {
|
|
|
13555
13550
|
return;
|
|
13556
13551
|
}
|
|
13557
13552
|
log(`[toolkit-install] ${toolkitSlug}: installing via npm (${pkg})\u2026`);
|
|
13558
|
-
|
|
13553
|
+
execFileSync2("npm", ["install", "-g", pkg], { timeout: 18e4, stdio: "pipe" });
|
|
13559
13554
|
} else if (resolvedInstaller === "brew") {
|
|
13560
13555
|
if (!pkg) {
|
|
13561
13556
|
log(`[toolkit-install] ${toolkitSlug}: installer=brew but no package declared`);
|
|
13562
13557
|
toolkitCliEnsured.add(toolkitSlug);
|
|
13563
13558
|
return;
|
|
13564
13559
|
}
|
|
13565
|
-
const brewPath = resolveBrewPath(
|
|
13560
|
+
const brewPath = resolveBrewPath(execFileSync2);
|
|
13566
13561
|
if (!brewPath) {
|
|
13567
13562
|
log(`[toolkit-install] ${toolkitSlug}: installer=brew but Homebrew not available \u2014 install manually: brew install ${pkg}`);
|
|
13568
13563
|
toolkitCliEnsured.add(toolkitSlug);
|
|
@@ -13572,9 +13567,9 @@ async function ensureToolkitCli(toolkitSlug) {
|
|
|
13572
13567
|
const isRoot = typeof process.getuid === "function" && process.getuid() === 0;
|
|
13573
13568
|
log(`[toolkit-install] ${toolkitSlug}: installing via brew (${pkg})\u2026`);
|
|
13574
13569
|
if (isRoot) {
|
|
13575
|
-
|
|
13570
|
+
execFileSync2("sudo", ["-u", "ec2-user", "-H", brewPath, "install", pkg], { timeout: 18e4, stdio: "pipe", cwd: "/tmp" });
|
|
13576
13571
|
} else {
|
|
13577
|
-
|
|
13572
|
+
execFileSync2(brewPath, ["install", pkg], { timeout: 18e4, stdio: "pipe" });
|
|
13578
13573
|
}
|
|
13579
13574
|
} else if (resolvedInstaller === "script") {
|
|
13580
13575
|
if (!script) {
|
|
@@ -13596,7 +13591,7 @@ async function ensureToolkitCli(toolkitSlug) {
|
|
|
13596
13591
|
process.env.PATH = `${brewBinDir}:${process.env.PATH ?? ""}`;
|
|
13597
13592
|
}
|
|
13598
13593
|
try {
|
|
13599
|
-
|
|
13594
|
+
execFileSync2("which", [binary], { timeout: 5e3, stdio: "pipe" });
|
|
13600
13595
|
log(`[toolkit-install] ${toolkitSlug}: installed \u2014 ${binary} now on PATH`);
|
|
13601
13596
|
toolkitCliEnsured.add(toolkitSlug);
|
|
13602
13597
|
toolkitCliRetryAfter.delete(toolkitSlug);
|
|
@@ -13644,16 +13639,16 @@ async function ensureIsolationImage(imageUri) {
|
|
|
13644
13639
|
}
|
|
13645
13640
|
isolationImageInFlight.add(imageUri);
|
|
13646
13641
|
try {
|
|
13647
|
-
const { execFileSync:
|
|
13642
|
+
const { execFileSync: execFileSync2 } = await import("child_process");
|
|
13648
13643
|
try {
|
|
13649
|
-
|
|
13644
|
+
execFileSync2("which", ["docker"], { timeout: 5e3, stdio: "pipe" });
|
|
13650
13645
|
} catch {
|
|
13651
13646
|
recordIsolationImageFailure(imageUri, `'docker' not found on host - required to pull the isolation image (install it, then the manager retries)`);
|
|
13652
13647
|
return;
|
|
13653
13648
|
}
|
|
13654
13649
|
const hasAws = (() => {
|
|
13655
13650
|
try {
|
|
13656
|
-
|
|
13651
|
+
execFileSync2("which", ["aws"], { timeout: 5e3, stdio: "pipe" });
|
|
13657
13652
|
return true;
|
|
13658
13653
|
} catch {
|
|
13659
13654
|
return false;
|
|
@@ -13662,11 +13657,11 @@ async function ensureIsolationImage(imageUri) {
|
|
|
13662
13657
|
if (isPublic) {
|
|
13663
13658
|
if (hasAws) {
|
|
13664
13659
|
try {
|
|
13665
|
-
const password =
|
|
13660
|
+
const password = execFileSync2("aws", ["ecr-public", "get-login-password", "--region", "us-east-1"], {
|
|
13666
13661
|
timeout: 3e4,
|
|
13667
13662
|
stdio: ["ignore", "pipe", "pipe"]
|
|
13668
13663
|
}).toString().trim();
|
|
13669
|
-
|
|
13664
|
+
execFileSync2("docker", ["login", "--username", "AWS", "--password-stdin", "public.ecr.aws"], {
|
|
13670
13665
|
input: password,
|
|
13671
13666
|
timeout: 3e4,
|
|
13672
13667
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -13681,11 +13676,11 @@ async function ensureIsolationImage(imageUri) {
|
|
|
13681
13676
|
return;
|
|
13682
13677
|
}
|
|
13683
13678
|
try {
|
|
13684
|
-
const password =
|
|
13679
|
+
const password = execFileSync2("aws", ["ecr", "get-login-password", "--region", privRegion], {
|
|
13685
13680
|
timeout: 3e4,
|
|
13686
13681
|
stdio: ["ignore", "pipe", "pipe"]
|
|
13687
13682
|
}).toString().trim();
|
|
13688
|
-
|
|
13683
|
+
execFileSync2("docker", ["login", "--username", "AWS", "--password-stdin", registry], {
|
|
13689
13684
|
input: password,
|
|
13690
13685
|
timeout: 3e4,
|
|
13691
13686
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -13836,11 +13831,11 @@ function ensureClaudeManagedSettings(path = claudeManagedSettingsPath()) {
|
|
|
13836
13831
|
}
|
|
13837
13832
|
var OPENCODE_NPM_VERSION = "1.18.3";
|
|
13838
13833
|
async function ensureOpencodeBinary() {
|
|
13839
|
-
const { execFileSync:
|
|
13834
|
+
const { execFileSync: execFileSync2 } = await import("child_process");
|
|
13840
13835
|
const bin = process.env["AGT_OPENCODE_BIN"]?.trim() || "opencode";
|
|
13841
13836
|
const probe = () => {
|
|
13842
13837
|
try {
|
|
13843
|
-
|
|
13838
|
+
execFileSync2(bin, ["--version"], { stdio: "ignore", timeout: 1e4 });
|
|
13844
13839
|
return true;
|
|
13845
13840
|
} catch {
|
|
13846
13841
|
return false;
|
|
@@ -13861,7 +13856,7 @@ async function ensureOpencodeBinary() {
|
|
|
13861
13856
|
return false;
|
|
13862
13857
|
}
|
|
13863
13858
|
try {
|
|
13864
|
-
const prefix =
|
|
13859
|
+
const prefix = execFileSync2("npm", ["prefix", "-g"], { encoding: "utf-8", timeout: 1e4 }).trim();
|
|
13865
13860
|
if (prefix) {
|
|
13866
13861
|
const npmBin = join41(prefix, "bin");
|
|
13867
13862
|
const current = (process.env.PATH ?? "").split(pathDelimiter);
|
|
@@ -13893,8 +13888,8 @@ async function ensureFrameworkBinary(frameworkId) {
|
|
|
13893
13888
|
}
|
|
13894
13889
|
frameworkBinaryChecked.add(frameworkId);
|
|
13895
13890
|
lastManagedSettingsStatus = ensureClaudeManagedSettings();
|
|
13896
|
-
const { execFileSync:
|
|
13897
|
-
const brewPath = resolveBrewPath(
|
|
13891
|
+
const { execFileSync: execFileSync2 } = await import("child_process");
|
|
13892
|
+
const brewPath = resolveBrewPath(execFileSync2);
|
|
13898
13893
|
if (!brewPath) {
|
|
13899
13894
|
log("Homebrew not found (no `brew` on PATH, no /home/linuxbrew/.linuxbrew/bin/brew). Cannot auto-install Claude Code. Install manually: https://claude.ai/download");
|
|
13900
13895
|
return;
|
|
@@ -13907,7 +13902,7 @@ async function ensureFrameworkBinary(frameworkId) {
|
|
|
13907
13902
|
}
|
|
13908
13903
|
return runAsync(brewPath, args, opts);
|
|
13909
13904
|
};
|
|
13910
|
-
const claudeExists = claudeBinaryInstalled(
|
|
13905
|
+
const claudeExists = claudeBinaryInstalled(execFileSync2);
|
|
13911
13906
|
if (!claudeExists) {
|
|
13912
13907
|
log(`Claude Code binary not found \u2014 installing via Homebrew${isRoot ? " (as ec2-user via sudo)" : ""}...`);
|
|
13913
13908
|
try {
|
|
@@ -13942,13 +13937,13 @@ async function maybeUpgradeClaudeCode() {
|
|
|
13942
13937
|
}
|
|
13943
13938
|
claudeCodeUpgradeInFlight = true;
|
|
13944
13939
|
stampClaudeCodeUpgradeMarker();
|
|
13945
|
-
const { execFileSync:
|
|
13946
|
-
const brewPath = resolveBrewPath(
|
|
13940
|
+
const { execFileSync: execFileSync2 } = await import("child_process");
|
|
13941
|
+
const brewPath = resolveBrewPath(execFileSync2);
|
|
13947
13942
|
if (!brewPath) {
|
|
13948
13943
|
claudeCodeUpgradeInFlight = false;
|
|
13949
13944
|
return;
|
|
13950
13945
|
}
|
|
13951
|
-
if (!claudeBinaryInstalled(
|
|
13946
|
+
if (!claudeBinaryInstalled(execFileSync2)) {
|
|
13952
13947
|
claudeCodeUpgradeInFlight = false;
|
|
13953
13948
|
return;
|
|
13954
13949
|
}
|
|
@@ -14055,8 +14050,8 @@ async function checkAndUpdateCli(opts) {
|
|
|
14055
14050
|
}
|
|
14056
14051
|
}
|
|
14057
14052
|
async function checkAndUpdateCliViaBrew(force = false) {
|
|
14058
|
-
const { execFileSync:
|
|
14059
|
-
const brewPath = resolveBrewPath(
|
|
14053
|
+
const { execFileSync: execFileSync2 } = await import("child_process");
|
|
14054
|
+
const brewPath = resolveBrewPath(execFileSync2);
|
|
14060
14055
|
if (!brewPath) return "noop";
|
|
14061
14056
|
{
|
|
14062
14057
|
const brewPinRaw = resolveAgtCliPinRaw();
|
|
@@ -14083,13 +14078,13 @@ async function checkAndUpdateCliViaBrew(force = false) {
|
|
|
14083
14078
|
}
|
|
14084
14079
|
let metadataFresh = true;
|
|
14085
14080
|
try {
|
|
14086
|
-
|
|
14081
|
+
execFileSync2(brewPath, ["update", "--quiet"], { timeout: 6e4, stdio: "pipe" });
|
|
14087
14082
|
} catch (err) {
|
|
14088
14083
|
metadataFresh = false;
|
|
14089
14084
|
log(`[self-update] brew update failed (continuing with stale cache): ${err.message}`);
|
|
14090
14085
|
}
|
|
14091
14086
|
try {
|
|
14092
|
-
const outdated =
|
|
14087
|
+
const outdated = execFileSync2(brewPath, ["outdated", "--json=v2"], {
|
|
14093
14088
|
timeout: 3e4,
|
|
14094
14089
|
encoding: "utf-8"
|
|
14095
14090
|
});
|
|
@@ -14122,7 +14117,7 @@ async function checkAndUpdateCliViaBrew(force = false) {
|
|
|
14122
14117
|
}
|
|
14123
14118
|
log(`[self-update] agt CLI update available: ${installed} \u2192 ${latest}. Upgrading via brew${force ? " (forced \u2014 Update CLI now)" : ""}...`);
|
|
14124
14119
|
try {
|
|
14125
|
-
|
|
14120
|
+
execFileSync2(brewPath, ["upgrade", "integrity-labs/tap/agt"], {
|
|
14126
14121
|
timeout: 12e4,
|
|
14127
14122
|
stdio: "pipe"
|
|
14128
14123
|
});
|
|
@@ -14299,7 +14294,7 @@ async function fetchUrgentDistTagVersion() {
|
|
|
14299
14294
|
}
|
|
14300
14295
|
}
|
|
14301
14296
|
async function installAgtCliViaNpm(version, reasonLabel) {
|
|
14302
|
-
const { execFileSync:
|
|
14297
|
+
const { execFileSync: execFileSync2 } = await import("child_process");
|
|
14303
14298
|
const isRoot = typeof process.getuid === "function" && process.getuid() === 0;
|
|
14304
14299
|
const cmd = isRoot ? "npm" : "sudo";
|
|
14305
14300
|
const installArgs = [
|
|
@@ -14310,14 +14305,14 @@ async function installAgtCliViaNpm(version, reasonLabel) {
|
|
|
14310
14305
|
];
|
|
14311
14306
|
const args = isRoot ? installArgs : ["-n", "npm", ...installArgs];
|
|
14312
14307
|
try {
|
|
14313
|
-
|
|
14308
|
+
execFileSync2(cmd, args, { timeout: 18e4, stdio: "pipe" });
|
|
14314
14309
|
} catch (err) {
|
|
14315
14310
|
log(`[self-update] npm upgrade failed: ${err.message}`);
|
|
14316
14311
|
return "failed";
|
|
14317
14312
|
}
|
|
14318
14313
|
let smokeOk = false;
|
|
14319
14314
|
try {
|
|
14320
|
-
const out =
|
|
14315
|
+
const out = execFileSync2("agt", ["--version"], { timeout: 15e3, stdio: "pipe" }).toString();
|
|
14321
14316
|
smokeOk = isAgtVersionSmokeOk(out, version);
|
|
14322
14317
|
if (!smokeOk) {
|
|
14323
14318
|
log(
|
|
@@ -14382,8 +14377,8 @@ function effectiveRuntimeAuthenticated() {
|
|
|
14382
14377
|
async function maybeProbeClaudeRuntimeAuth() {
|
|
14383
14378
|
if (runtimeAuthProbeInFlight) return;
|
|
14384
14379
|
if (Date.now() - lastRuntimeAuthProbeAt < RUNTIME_AUTH_PROBE_INTERVAL_MS) return;
|
|
14385
|
-
const { execFileSync:
|
|
14386
|
-
if (!claudeBinaryInstalled(
|
|
14380
|
+
const { execFileSync: execFileSync2 } = await import("child_process");
|
|
14381
|
+
if (!claudeBinaryInstalled(execFileSync2)) return;
|
|
14387
14382
|
runtimeAuthProbeInFlight = true;
|
|
14388
14383
|
lastRuntimeAuthProbeAt = Date.now();
|
|
14389
14384
|
try {
|
|
@@ -14492,8 +14487,8 @@ async function runHostUsageCommand() {
|
|
|
14492
14487
|
}
|
|
14493
14488
|
}
|
|
14494
14489
|
async function maybePollHostUsageFromCycle() {
|
|
14495
|
-
const { execFileSync:
|
|
14496
|
-
if (!claudeBinaryInstalled(
|
|
14490
|
+
const { execFileSync: execFileSync2 } = await import("child_process");
|
|
14491
|
+
if (!claudeBinaryInstalled(execFileSync2)) return;
|
|
14497
14492
|
await maybePollHostUsage({
|
|
14498
14493
|
api,
|
|
14499
14494
|
runUsageCommand: runHostUsageCommand,
|
|
@@ -15014,7 +15009,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
15014
15009
|
if (codeNames.length === 0) return;
|
|
15015
15010
|
void (async () => {
|
|
15016
15011
|
try {
|
|
15017
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15012
|
+
const { collectDiagnostics } = await import("../persistent-session-3OBDKYWF.js");
|
|
15018
15013
|
await api.post("/host/heartbeat", {
|
|
15019
15014
|
host_id: hostId,
|
|
15020
15015
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -15155,7 +15150,7 @@ async function pollCycleInner() {
|
|
|
15155
15150
|
}
|
|
15156
15151
|
try {
|
|
15157
15152
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
15158
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15153
|
+
const { collectDiagnostics } = await import("../persistent-session-3OBDKYWF.js");
|
|
15159
15154
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
15160
15155
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
|
|
15161
15156
|
let tailscaleHostname;
|
|
@@ -15324,7 +15319,7 @@ async function pollCycleInner() {
|
|
|
15324
15319
|
collectPanelessActivityProbes,
|
|
15325
15320
|
getResponsivenessIntervalMs,
|
|
15326
15321
|
occupancyQualificationClassifications
|
|
15327
|
-
} = await import("../responsiveness-probe-
|
|
15322
|
+
} = await import("../responsiveness-probe-ULIAXSCT.js");
|
|
15328
15323
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
15329
15324
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
15330
15325
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -15434,7 +15429,7 @@ async function pollCycleInner() {
|
|
|
15434
15429
|
collectResponsivenessProbes,
|
|
15435
15430
|
livePendingInboundOldestAgeSeconds,
|
|
15436
15431
|
parkPendingInbound
|
|
15437
|
-
} = await import("../responsiveness-probe-
|
|
15432
|
+
} = await import("../responsiveness-probe-ULIAXSCT.js");
|
|
15438
15433
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
|
|
15439
15434
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
15440
15435
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -15590,7 +15585,7 @@ async function pollCycleInner() {
|
|
|
15590
15585
|
}
|
|
15591
15586
|
try {
|
|
15592
15587
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
|
|
15593
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
15588
|
+
const { probeSessionAuth } = await import("../session-auth-dead-67XFJWMA.js");
|
|
15594
15589
|
const observations = [];
|
|
15595
15590
|
const pendingCacheCommits = [];
|
|
15596
15591
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -19568,7 +19563,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
19568
19563
|
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}`));
|
|
19569
19564
|
void (async () => {
|
|
19570
19565
|
try {
|
|
19571
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
19566
|
+
const { collectDiagnostics } = await import("../persistent-session-3OBDKYWF.js");
|
|
19572
19567
|
await api.post("/host/heartbeat", {
|
|
19573
19568
|
host_id: hostId,
|
|
19574
19569
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -19614,7 +19609,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
19614
19609
|
}
|
|
19615
19610
|
try {
|
|
19616
19611
|
const hostId = await getHostId();
|
|
19617
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
19612
|
+
const { collectDiagnostics } = await import("../persistent-session-3OBDKYWF.js");
|
|
19618
19613
|
await api.post("/host/heartbeat", {
|
|
19619
19614
|
host_id: hostId,
|
|
19620
19615
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -20250,7 +20245,7 @@ async function processClaudePairSessions(agents) {
|
|
|
20250
20245
|
killPairSession,
|
|
20251
20246
|
pairTmuxSession,
|
|
20252
20247
|
finalizeClaudePairOnboarding
|
|
20253
|
-
} = await import("../claude-pair-runtime-
|
|
20248
|
+
} = await import("../claude-pair-runtime-U6WDTNK3.js");
|
|
20254
20249
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
20255
20250
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
20256
20251
|
const killed = await killPairSession(pairTmuxSession(pairId));
|