@integrity-labs/agt-cli 0.28.852 → 0.28.854
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-XCAI3GSF.js → chunk-2E2NKILK.js} +2 -2
- package/dist/{chunk-WUXQVP7A.js → chunk-4Z4GFQAD.js} +143 -3
- package/dist/chunk-4Z4GFQAD.js.map +1 -0
- package/dist/{chunk-SFKO7OVI.js → chunk-FHOLG6VL.js} +4 -4
- package/dist/{claude-pair-runtime-CJXQTVSC.js → claude-pair-runtime-63TA3LT5.js} +2 -2
- package/dist/lib/manager-worker.js +35 -13
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +104 -0
- package/dist/mcp/index.js +104 -0
- package/dist/mcp/origami.js +104 -0
- package/dist/mcp/slack-channel.js +104 -0
- package/dist/mcp/telegram-channel.js +104 -0
- package/dist/{persistent-session-YGK7YHPR.js → persistent-session-N4DJ4VXZ.js} +3 -3
- package/dist/{responsiveness-probe-NGWO3JK3.js → responsiveness-probe-GYE5MIVB.js} +3 -3
- package/dist/{session-auth-dead-4UZR5655.js → session-auth-dead-K6B6D3WR.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-WUXQVP7A.js.map +0 -1
- /package/dist/{chunk-XCAI3GSF.js.map → chunk-2E2NKILK.js.map} +0 -0
- /package/dist/{chunk-SFKO7OVI.js.map → chunk-FHOLG6VL.js.map} +0 -0
- /package/dist/{claude-pair-runtime-CJXQTVSC.js.map → claude-pair-runtime-63TA3LT5.js.map} +0 -0
- /package/dist/{persistent-session-YGK7YHPR.js.map → persistent-session-N4DJ4VXZ.js.map} +0 -0
- /package/dist/{responsiveness-probe-NGWO3JK3.js.map → responsiveness-probe-GYE5MIVB.js.map} +0 -0
- /package/dist/{session-auth-dead-4UZR5655.js.map → session-auth-dead-K6B6D3WR.js.map} +0 -0
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
parseEnvIntegrations,
|
|
17
17
|
shellQuote,
|
|
18
18
|
summarizeUnanswerablePane
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-2E2NKILK.js";
|
|
20
20
|
import {
|
|
21
21
|
BIND_FAILURE_QUARANTINE_THRESHOLD,
|
|
22
22
|
INTEGRATIONS_SECTION_END,
|
|
@@ -76,7 +76,7 @@ import {
|
|
|
76
76
|
sessionTranscriptDir,
|
|
77
77
|
worseConnectivityOutcome,
|
|
78
78
|
wrapScheduledTaskPrompt
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-4Z4GFQAD.js";
|
|
80
80
|
import {
|
|
81
81
|
parsePsRows
|
|
82
82
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -6566,7 +6566,7 @@ function exchangeFailureKind(err) {
|
|
|
6566
6566
|
}
|
|
6567
6567
|
|
|
6568
6568
|
// src/lib/api-client.ts
|
|
6569
|
-
var agtCliVersion = true ? "0.28.
|
|
6569
|
+
var agtCliVersion = true ? "0.28.854" : "dev";
|
|
6570
6570
|
var lastConfigHash = null;
|
|
6571
6571
|
function setConfigHash(hash) {
|
|
6572
6572
|
lastConfigHash = hash && hash.length > 0 ? hash : null;
|
|
@@ -10924,4 +10924,4 @@ export {
|
|
|
10924
10924
|
managerInstallSystemUnitCommand,
|
|
10925
10925
|
managerUninstallSystemUnitCommand
|
|
10926
10926
|
};
|
|
10927
|
-
//# sourceMappingURL=chunk-
|
|
10927
|
+
//# sourceMappingURL=chunk-FHOLG6VL.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-
|
|
103
|
+
const { resolveClaudeBinary } = await import("./persistent-session-N4DJ4VXZ.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-63TA3LT5.js.map
|
|
@@ -60,7 +60,7 @@ import {
|
|
|
60
60
|
safeWriteJsonAtomic,
|
|
61
61
|
setConfigHash,
|
|
62
62
|
tripClass
|
|
63
|
-
} from "../chunk-
|
|
63
|
+
} from "../chunk-FHOLG6VL.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-
|
|
129
|
+
} from "../chunk-2E2NKILK.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-
|
|
224
|
+
} from "../chunk-4Z4GFQAD.js";
|
|
225
225
|
import {
|
|
226
226
|
reapOrphanChannelMcps
|
|
227
227
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -11222,6 +11222,10 @@ function decideWedgeRestart(input, config2) {
|
|
|
11222
11222
|
if (!isWedgeCandidateCycle(input, config2)) return "none";
|
|
11223
11223
|
return input.consecutiveWedgeCycles >= config2.minCycles ? "wedged" : "none";
|
|
11224
11224
|
}
|
|
11225
|
+
function shouldForceFreshOnManualRestart(consecutiveWedgeCycles2, config2) {
|
|
11226
|
+
if (config2.mode === "off") return false;
|
|
11227
|
+
return consecutiveWedgeCycles2 >= config2.minCycles;
|
|
11228
|
+
}
|
|
11225
11229
|
|
|
11226
11230
|
// src/lib/wedge-poison-card.ts
|
|
11227
11231
|
var DEFAULTS2 = {
|
|
@@ -12996,7 +13000,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
12996
13000
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
12997
13001
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
12998
13002
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
12999
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
13003
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-GYE5MIVB.js");
|
|
13000
13004
|
const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
|
|
13001
13005
|
if (newest === null) return null;
|
|
13002
13006
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -13664,7 +13668,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
13664
13668
|
var lastVersionCheckAt = 0;
|
|
13665
13669
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
13666
13670
|
var lastResponsivenessProbeAt = 0;
|
|
13667
|
-
var agtCliVersion = true ? "0.28.
|
|
13671
|
+
var agtCliVersion = true ? "0.28.854" : "dev";
|
|
13668
13672
|
function resolveBrewPath(execFileSync2) {
|
|
13669
13673
|
try {
|
|
13670
13674
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -15254,7 +15258,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
15254
15258
|
if (codeNames.length === 0) return;
|
|
15255
15259
|
void (async () => {
|
|
15256
15260
|
try {
|
|
15257
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15261
|
+
const { collectDiagnostics } = await import("../persistent-session-N4DJ4VXZ.js");
|
|
15258
15262
|
await api.post("/host/heartbeat", {
|
|
15259
15263
|
host_id: hostId,
|
|
15260
15264
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -15396,7 +15400,7 @@ async function pollCycleInner() {
|
|
|
15396
15400
|
}
|
|
15397
15401
|
try {
|
|
15398
15402
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
15399
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15403
|
+
const { collectDiagnostics } = await import("../persistent-session-N4DJ4VXZ.js");
|
|
15400
15404
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
15401
15405
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
|
|
15402
15406
|
let tailscaleHostname;
|
|
@@ -15565,7 +15569,7 @@ async function pollCycleInner() {
|
|
|
15565
15569
|
collectPanelessActivityProbes,
|
|
15566
15570
|
getResponsivenessIntervalMs,
|
|
15567
15571
|
occupancyQualificationClassifications
|
|
15568
|
-
} = await import("../responsiveness-probe-
|
|
15572
|
+
} = await import("../responsiveness-probe-GYE5MIVB.js");
|
|
15569
15573
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
15570
15574
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
15571
15575
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -15682,7 +15686,7 @@ async function pollCycleInner() {
|
|
|
15682
15686
|
collectResponsivenessProbes,
|
|
15683
15687
|
livePendingInboundOldestAgeSeconds,
|
|
15684
15688
|
parkPendingInbound
|
|
15685
|
-
} = await import("../responsiveness-probe-
|
|
15689
|
+
} = await import("../responsiveness-probe-GYE5MIVB.js");
|
|
15686
15690
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
|
|
15687
15691
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
15688
15692
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -15838,7 +15842,7 @@ async function pollCycleInner() {
|
|
|
15838
15842
|
}
|
|
15839
15843
|
try {
|
|
15840
15844
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
|
|
15841
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
15845
|
+
const { probeSessionAuth } = await import("../session-auth-dead-K6B6D3WR.js");
|
|
15842
15846
|
const observations = [];
|
|
15843
15847
|
const pendingCacheCommits = [];
|
|
15844
15848
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -20046,6 +20050,24 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
20046
20050
|
const refreshData = await fetchSpawnRefreshData(agentId, codeName, "restart-lane");
|
|
20047
20051
|
if (!refreshData) return;
|
|
20048
20052
|
const displayName = refreshData.agent?.display_name ?? codeName;
|
|
20053
|
+
const wedgeStreakAtRestart = consecutiveWedgeCycles.get(codeName) ?? 0;
|
|
20054
|
+
if (shouldForceFreshOnManualRestart(wedgeStreakAtRestart, resolveWedgeConfig())) {
|
|
20055
|
+
try {
|
|
20056
|
+
const freshId = rotateSessionForWedge(codeName);
|
|
20057
|
+
consecutiveWedgeCycles.delete(codeName);
|
|
20058
|
+
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-GYE5MIVB.js");
|
|
20059
|
+
const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
|
|
20060
|
+
const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
|
|
20061
|
+
const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
|
|
20062
|
+
log(
|
|
20063
|
+
`[restart-lane] '${codeName}' reads wedged (cycles=${wedgeStreakAtRestart}) \u2014 forcing a FRESH session ${freshId} instead of resuming the wedged transcript (transcript preserved${parkNote}${deadNote}) (CS-1680)`
|
|
20064
|
+
);
|
|
20065
|
+
} catch (err) {
|
|
20066
|
+
log(
|
|
20067
|
+
`[restart-lane] force-fresh failed for '${codeName}': ${err.message} \u2014 continuing with a normal respawn (CS-1680)`
|
|
20068
|
+
);
|
|
20069
|
+
}
|
|
20070
|
+
}
|
|
20049
20071
|
const framework = refreshData.agent?.framework ?? agentFrameworkCache.get(codeName) ?? DEFAULT_FRAMEWORK;
|
|
20050
20072
|
if (restartTargetsOpencodeServe(framework)) {
|
|
20051
20073
|
stopOpencodeSession(codeName, log);
|
|
@@ -20071,7 +20093,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
20071
20093
|
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}`));
|
|
20072
20094
|
void (async () => {
|
|
20073
20095
|
try {
|
|
20074
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
20096
|
+
const { collectDiagnostics } = await import("../persistent-session-N4DJ4VXZ.js");
|
|
20075
20097
|
await api.post("/host/heartbeat", {
|
|
20076
20098
|
host_id: hostId,
|
|
20077
20099
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -20117,7 +20139,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
20117
20139
|
}
|
|
20118
20140
|
try {
|
|
20119
20141
|
const hostId = await getHostId();
|
|
20120
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
20142
|
+
const { collectDiagnostics } = await import("../persistent-session-N4DJ4VXZ.js");
|
|
20121
20143
|
await api.post("/host/heartbeat", {
|
|
20122
20144
|
host_id: hostId,
|
|
20123
20145
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -20753,7 +20775,7 @@ async function processClaudePairSessions(agents) {
|
|
|
20753
20775
|
killPairSession,
|
|
20754
20776
|
pairTmuxSession,
|
|
20755
20777
|
finalizeClaudePairOnboarding
|
|
20756
|
-
} = await import("../claude-pair-runtime-
|
|
20778
|
+
} = await import("../claude-pair-runtime-63TA3LT5.js");
|
|
20757
20779
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
20758
20780
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
20759
20781
|
const killed = await killPairSession(pairTmuxSession(pairId));
|