@integrity-labs/agt-cli 0.28.242 → 0.28.244
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 +4 -4
- package/dist/{chunk-ISEWY25C.js → chunk-JKTHAXOS.js} +3 -3
- package/dist/{chunk-LSOXMJYA.js → chunk-ZS2T67OF.js} +16 -3
- package/dist/chunk-ZS2T67OF.js.map +1 -0
- package/dist/{claude-pair-runtime-4NHJGZBH.js → claude-pair-runtime-OURKHXEW.js} +2 -2
- package/dist/lib/manager-worker.js +37 -24
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/{persistent-session-W2MICXSS.js → persistent-session-X427LHOW.js} +2 -2
- package/dist/{responsiveness-probe-R7NX5NRH.js → responsiveness-probe-CFF27A7B.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-LSOXMJYA.js.map +0 -1
- /package/dist/{chunk-ISEWY25C.js.map → chunk-JKTHAXOS.js.map} +0 -0
- /package/dist/{claude-pair-runtime-4NHJGZBH.js.map → claude-pair-runtime-OURKHXEW.js.map} +0 -0
- /package/dist/{persistent-session-W2MICXSS.js.map → persistent-session-X427LHOW.js.map} +0 -0
- /package/dist/{responsiveness-probe-R7NX5NRH.js.map → responsiveness-probe-CFF27A7B.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-X427LHOW.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-OURKHXEW.js.map
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
requireHost,
|
|
38
38
|
safeWriteJsonAtomic,
|
|
39
39
|
setConfigHash
|
|
40
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-JKTHAXOS.js";
|
|
41
41
|
import {
|
|
42
42
|
getProjectDir as getProjectDir2,
|
|
43
43
|
getReadyTasks,
|
|
@@ -122,7 +122,7 @@ import {
|
|
|
122
122
|
takeZombieDetection,
|
|
123
123
|
transcriptActivityAgeSeconds,
|
|
124
124
|
writeEgressAllowlist
|
|
125
|
-
} from "../chunk-
|
|
125
|
+
} from "../chunk-ZS2T67OF.js";
|
|
126
126
|
import {
|
|
127
127
|
reapOrphanChannelMcps
|
|
128
128
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -6509,7 +6509,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
6509
6509
|
var lastVersionCheckAt = 0;
|
|
6510
6510
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
6511
6511
|
var lastResponsivenessProbeAt = 0;
|
|
6512
|
-
var agtCliVersion = true ? "0.28.
|
|
6512
|
+
var agtCliVersion = true ? "0.28.244" : "dev";
|
|
6513
6513
|
function resolveBrewPath(execFileSync2) {
|
|
6514
6514
|
try {
|
|
6515
6515
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -7355,6 +7355,20 @@ function reorderRestartedFirst(agents, restartedIds) {
|
|
|
7355
7355
|
}
|
|
7356
7356
|
return [...restarted, ...rest];
|
|
7357
7357
|
}
|
|
7358
|
+
function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
7359
|
+
if (codeNames.length === 0) return;
|
|
7360
|
+
void (async () => {
|
|
7361
|
+
try {
|
|
7362
|
+
const { collectDiagnostics } = await import("../persistent-session-X427LHOW.js");
|
|
7363
|
+
await api.post("/host/heartbeat", {
|
|
7364
|
+
host_id: hostId,
|
|
7365
|
+
agent_diagnostics: collectDiagnostics(codeNames)
|
|
7366
|
+
});
|
|
7367
|
+
} catch (err) {
|
|
7368
|
+
log(`[restart] post-respawn diagnostics flush failed: ${err.message}`);
|
|
7369
|
+
}
|
|
7370
|
+
})();
|
|
7371
|
+
}
|
|
7358
7372
|
async function pollCycle() {
|
|
7359
7373
|
if (!config) return;
|
|
7360
7374
|
if (restartAfterUpgrade) return;
|
|
@@ -7443,7 +7457,7 @@ async function pollCycle() {
|
|
|
7443
7457
|
}
|
|
7444
7458
|
try {
|
|
7445
7459
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
7446
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
7460
|
+
const { collectDiagnostics } = await import("../persistent-session-X427LHOW.js");
|
|
7447
7461
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
7448
7462
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
|
|
7449
7463
|
let tailscaleHostname;
|
|
@@ -7591,7 +7605,7 @@ async function pollCycle() {
|
|
|
7591
7605
|
const {
|
|
7592
7606
|
collectResponsivenessProbes,
|
|
7593
7607
|
getResponsivenessIntervalMs
|
|
7594
|
-
} = await import("../responsiveness-probe-
|
|
7608
|
+
} = await import("../responsiveness-probe-CFF27A7B.js");
|
|
7595
7609
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
7596
7610
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
7597
7611
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -7623,7 +7637,7 @@ async function pollCycle() {
|
|
|
7623
7637
|
collectResponsivenessProbes,
|
|
7624
7638
|
livePendingInboundOldestAgeSeconds,
|
|
7625
7639
|
parkPendingInbound
|
|
7626
|
-
} = await import("../responsiveness-probe-
|
|
7640
|
+
} = await import("../responsiveness-probe-CFF27A7B.js");
|
|
7627
7641
|
const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
|
|
7628
7642
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
7629
7643
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -7868,7 +7882,8 @@ async function pollCycle() {
|
|
|
7868
7882
|
}
|
|
7869
7883
|
activeChannels.clear();
|
|
7870
7884
|
const agentStates = [];
|
|
7871
|
-
const
|
|
7885
|
+
const fastRespawn = hostFlagStore().getBoolean("fast-mcp-restart-respawn");
|
|
7886
|
+
const processOrder = fastRespawn ? reorderRestartedFirst(agents, new Set(restartAcks.keys())) : agents;
|
|
7872
7887
|
for (const agent of processOrder) {
|
|
7873
7888
|
if (restartInFlight.has(agent.agent_id)) {
|
|
7874
7889
|
const existing = state6.agents.find((a) => a.agentId === agent.agent_id);
|
|
@@ -7900,6 +7915,9 @@ async function pollCycle() {
|
|
|
7900
7915
|
});
|
|
7901
7916
|
}
|
|
7902
7917
|
}
|
|
7918
|
+
if (fastRespawn && restartAcks.has(agent.agent_id) && isSessionHealthy(agent.code_name)) {
|
|
7919
|
+
flushRestartedAgentDiagnostics(hostId, [agent.code_name]);
|
|
7920
|
+
}
|
|
7903
7921
|
}
|
|
7904
7922
|
void maybeReportActivityCache({ api, log });
|
|
7905
7923
|
const restartAckStateChanged = applyRestartAcks({
|
|
@@ -7917,20 +7935,7 @@ async function pollCycle() {
|
|
|
7917
7935
|
}
|
|
7918
7936
|
if (restartAcks.size > 0) {
|
|
7919
7937
|
const restartedCodeNames = agents.filter((a) => restartAcks.has(a.agent_id)).map((a) => a.code_name);
|
|
7920
|
-
|
|
7921
|
-
void (async () => {
|
|
7922
|
-
try {
|
|
7923
|
-
const { collectDiagnostics } = await import("../persistent-session-W2MICXSS.js");
|
|
7924
|
-
const freshDiagnostics = collectDiagnostics(restartedCodeNames);
|
|
7925
|
-
await api.post("/host/heartbeat", {
|
|
7926
|
-
host_id: hostId,
|
|
7927
|
-
agent_diagnostics: freshDiagnostics
|
|
7928
|
-
});
|
|
7929
|
-
} catch (err) {
|
|
7930
|
-
log(`[restart] post-respawn diagnostics flush failed: ${err.message}`);
|
|
7931
|
-
}
|
|
7932
|
-
})();
|
|
7933
|
-
}
|
|
7938
|
+
flushRestartedAgentDiagnostics(hostId, restartedCodeNames);
|
|
7934
7939
|
}
|
|
7935
7940
|
try {
|
|
7936
7941
|
for (const [channelId, codeNames] of activeChannels) {
|
|
@@ -10179,6 +10184,14 @@ ${truncateForLog(ctx.tail)}` : `; pane_tail_hash=sha256:${createHash10("sha256")
|
|
|
10179
10184
|
} : null,
|
|
10180
10185
|
runId: sessionRunResult.run_id,
|
|
10181
10186
|
agentTimezone,
|
|
10187
|
+
// ENG-6476: materialize the host-side reply-routing flags into the agent
|
|
10188
|
+
// spawn env so the channel MCP + Stop hook (which can't call the flag
|
|
10189
|
+
// evaluator) see the values the operator set. The HostFlagStore resolves
|
|
10190
|
+
// them from the flags-cache the manager already maintains; the launcher
|
|
10191
|
+
// injects AGT_SLACK_REPLY_BINDING / AGT_BLOCK_TURN_END_ALL_MARKERS_ENABLED
|
|
10192
|
+
// unless an operator env override is already present (which keeps precedence).
|
|
10193
|
+
slackReplyBindingMode: hostFlagStore().getString("slack-reply-binding"),
|
|
10194
|
+
blockTurnEndAllMarkers: hostFlagStore().getBoolean("block-turn-end-all-markers"),
|
|
10182
10195
|
egressAllowlist,
|
|
10183
10196
|
log
|
|
10184
10197
|
});
|
|
@@ -10439,7 +10452,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
10439
10452
|
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}`));
|
|
10440
10453
|
void (async () => {
|
|
10441
10454
|
try {
|
|
10442
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
10455
|
+
const { collectDiagnostics } = await import("../persistent-session-X427LHOW.js");
|
|
10443
10456
|
await api.post("/host/heartbeat", {
|
|
10444
10457
|
host_id: hostId,
|
|
10445
10458
|
agent_diagnostics: collectDiagnostics([codeName])
|
|
@@ -10489,7 +10502,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
10489
10502
|
}
|
|
10490
10503
|
try {
|
|
10491
10504
|
const hostId = await getHostId();
|
|
10492
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
10505
|
+
const { collectDiagnostics } = await import("../persistent-session-X427LHOW.js");
|
|
10493
10506
|
await api.post("/host/heartbeat", {
|
|
10494
10507
|
host_id: hostId,
|
|
10495
10508
|
agent_diagnostics: collectDiagnostics([codeName])
|
|
@@ -10880,7 +10893,7 @@ async function processClaudePairSessions(agents) {
|
|
|
10880
10893
|
killPairSession,
|
|
10881
10894
|
pairTmuxSession,
|
|
10882
10895
|
finalizeClaudePairOnboarding
|
|
10883
|
-
} = await import("../claude-pair-runtime-
|
|
10896
|
+
} = await import("../claude-pair-runtime-OURKHXEW.js");
|
|
10884
10897
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
10885
10898
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
10886
10899
|
const killed = await killPairSession(pairTmuxSession(pairId));
|