@integrity-labs/agt-cli 0.28.990 → 0.28.991
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-TGCA3LTI.js → chunk-C72SNMP6.js} +26 -5
- package/dist/chunk-C72SNMP6.js.map +1 -0
- package/dist/{chunk-6KYXH6ZZ.js → chunk-DN3KNGP4.js} +68 -6
- package/dist/{chunk-6KYXH6ZZ.js.map → chunk-DN3KNGP4.js.map} +1 -1
- package/dist/{chunk-P7B5IRH5.js → chunk-RQ3I7GMD.js} +19 -8
- package/dist/chunk-RQ3I7GMD.js.map +1 -0
- package/dist/{claude-pair-runtime-GQM26I3M.js → claude-pair-runtime-6IA4RPMQ.js} +2 -2
- package/dist/lib/manager-worker.js +31 -14
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +15 -1
- package/dist/mcp/index.js +15 -1
- package/dist/mcp/origami.js +15 -1
- package/dist/mcp/remote-oauth-proxy.js +120 -29
- package/dist/mcp/slack-channel.js +15 -1
- package/dist/mcp/telegram-channel.js +15 -1
- package/dist/{persistent-session-PYYD53GZ.js → persistent-session-5EDOQC2H.js} +3 -3
- package/dist/{responsiveness-probe-JENZOOKG.js → responsiveness-probe-SKX77FST.js} +3 -3
- package/dist/{session-auth-dead-BGXRQB27.js → session-auth-dead-XTMVOHUX.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-P7B5IRH5.js.map +0 -1
- package/dist/chunk-TGCA3LTI.js.map +0 -1
- /package/dist/{claude-pair-runtime-GQM26I3M.js.map → claude-pair-runtime-6IA4RPMQ.js.map} +0 -0
- /package/dist/{persistent-session-PYYD53GZ.js.map → persistent-session-5EDOQC2H.js.map} +0 -0
- /package/dist/{responsiveness-probe-JENZOOKG.js.map → responsiveness-probe-SKX77FST.js.map} +0 -0
- /package/dist/{session-auth-dead-BGXRQB27.js.map → session-auth-dead-XTMVOHUX.js.map} +0 -0
|
@@ -258,7 +258,7 @@ async function spawnPairSession(session) {
|
|
|
258
258
|
return { ok: true };
|
|
259
259
|
} catch {
|
|
260
260
|
}
|
|
261
|
-
const { resolveClaudeBinary } = await import("./persistent-session-
|
|
261
|
+
const { resolveClaudeBinary } = await import("./persistent-session-5EDOQC2H.js");
|
|
262
262
|
const claudeBin = resolveClaudeBinary();
|
|
263
263
|
const pairEnv = {
|
|
264
264
|
...process.env,
|
|
@@ -580,4 +580,4 @@ export {
|
|
|
580
580
|
startClaudePair,
|
|
581
581
|
submitClaudePairCode
|
|
582
582
|
};
|
|
583
|
-
//# sourceMappingURL=claude-pair-runtime-
|
|
583
|
+
//# sourceMappingURL=claude-pair-runtime-6IA4RPMQ.js.map
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
safeWriteJsonAtomic,
|
|
64
64
|
setConfigHash,
|
|
65
65
|
tripClass
|
|
66
|
-
} from "../chunk-
|
|
66
|
+
} from "../chunk-RQ3I7GMD.js";
|
|
67
67
|
import {
|
|
68
68
|
getProjectDir as getProjectDir2,
|
|
69
69
|
getReadyTasks,
|
|
@@ -140,7 +140,7 @@ import {
|
|
|
140
140
|
takeZombieDetection,
|
|
141
141
|
toOpencodeModel,
|
|
142
142
|
writeEgressAllowlist
|
|
143
|
-
} from "../chunk-
|
|
143
|
+
} from "../chunk-DN3KNGP4.js";
|
|
144
144
|
import {
|
|
145
145
|
ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
|
|
146
146
|
AnchorSessionClient,
|
|
@@ -153,6 +153,7 @@ import {
|
|
|
153
153
|
FLAG_REGISTRY,
|
|
154
154
|
FORCED_UPDATE_HARD_DEADLINE_MS,
|
|
155
155
|
FORCED_UPDATE_RELAX_AFTER_MS,
|
|
156
|
+
HITL_TIER_ORDER,
|
|
156
157
|
HOST_USAGE_POLL_INTERVAL_MS,
|
|
157
158
|
INTEGRATIONS_SECTION_END,
|
|
158
159
|
INTEGRATIONS_SECTION_START,
|
|
@@ -238,7 +239,7 @@ import {
|
|
|
238
239
|
subagentActivityAgeSeconds,
|
|
239
240
|
sumTranscriptUsageInWindow,
|
|
240
241
|
transcriptActivityAgeSeconds
|
|
241
|
-
} from "../chunk-
|
|
242
|
+
} from "../chunk-C72SNMP6.js";
|
|
242
243
|
import "../chunk-DHWNVVX4.js";
|
|
243
244
|
import {
|
|
244
245
|
reapOrphanChannelMcps
|
|
@@ -583,6 +584,11 @@ function withResolvedRemoteMcp(integration) {
|
|
|
583
584
|
...integration,
|
|
584
585
|
remoteMcp: integration.remote_mcp ?? void 0,
|
|
585
586
|
stdioMcp: integration.stdio_mcp === true ? true : void 0,
|
|
587
|
+
// ENG-10614: same seam as remoteMcp above. An EMPTY object maps to
|
|
588
|
+
// undefined deliberately - the proxy reads an empty table as "authoritative,
|
|
589
|
+
// every tool unknown" and refuses every call, so a definition that happens
|
|
590
|
+
// to have zero rows must stay ungated rather than be bricked.
|
|
591
|
+
toolTiers: normalizeToolTiers(integration.tool_tiers),
|
|
586
592
|
// ENG-8344: same seam, same reason. Only the exact string 'broker' opts a
|
|
587
593
|
// row into use-time credential delivery — anything else (including a value
|
|
588
594
|
// a newer API might add later) reads as today's env delivery, so an
|
|
@@ -590,6 +596,17 @@ function withResolvedRemoteMcp(integration) {
|
|
|
590
596
|
credentialDelivery: normalizeCredentialDelivery(integration.credential_delivery)
|
|
591
597
|
};
|
|
592
598
|
}
|
|
599
|
+
function normalizeToolTiers(raw) {
|
|
600
|
+
if (!raw) return void 0;
|
|
601
|
+
const out = {};
|
|
602
|
+
for (const [tool, tier] of Object.entries(raw)) {
|
|
603
|
+
if (typeof tool !== "string" || !tool) continue;
|
|
604
|
+
if (typeof tier !== "string") continue;
|
|
605
|
+
if (!HITL_TIER_ORDER.includes(tier)) continue;
|
|
606
|
+
out[tool] = tier;
|
|
607
|
+
}
|
|
608
|
+
return out;
|
|
609
|
+
}
|
|
593
610
|
function normalizeCredentialDelivery(value) {
|
|
594
611
|
const anomaly = describeUnrecognisedCredentialDelivery(value);
|
|
595
612
|
if (anomaly) {
|
|
@@ -13292,7 +13309,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
13292
13309
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
13293
13310
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
13294
13311
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
13295
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
13312
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-SKX77FST.js");
|
|
13296
13313
|
const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
|
|
13297
13314
|
if (newest === null) return null;
|
|
13298
13315
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -14035,7 +14052,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
14035
14052
|
var lastVersionCheckAt = 0;
|
|
14036
14053
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
14037
14054
|
var lastResponsivenessProbeAt = 0;
|
|
14038
|
-
var agtCliVersion = true ? "0.28.
|
|
14055
|
+
var agtCliVersion = true ? "0.28.991" : "dev";
|
|
14039
14056
|
function resolveBrewPath(execFileSync2) {
|
|
14040
14057
|
try {
|
|
14041
14058
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -15651,7 +15668,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
15651
15668
|
if (codeNames.length === 0) return;
|
|
15652
15669
|
void (async () => {
|
|
15653
15670
|
try {
|
|
15654
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15671
|
+
const { collectDiagnostics } = await import("../persistent-session-5EDOQC2H.js");
|
|
15655
15672
|
await api.post("/host/heartbeat", {
|
|
15656
15673
|
host_id: hostId,
|
|
15657
15674
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -15793,7 +15810,7 @@ async function pollCycleInner() {
|
|
|
15793
15810
|
}
|
|
15794
15811
|
try {
|
|
15795
15812
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
15796
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15813
|
+
const { collectDiagnostics } = await import("../persistent-session-5EDOQC2H.js");
|
|
15797
15814
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
15798
15815
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
|
|
15799
15816
|
let tailscaleHostname;
|
|
@@ -15969,7 +15986,7 @@ async function pollCycleInner() {
|
|
|
15969
15986
|
collectPanelessActivityProbes,
|
|
15970
15987
|
getResponsivenessIntervalMs,
|
|
15971
15988
|
occupancyQualificationClassifications
|
|
15972
|
-
} = await import("../responsiveness-probe-
|
|
15989
|
+
} = await import("../responsiveness-probe-SKX77FST.js");
|
|
15973
15990
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
15974
15991
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
15975
15992
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -16086,7 +16103,7 @@ async function pollCycleInner() {
|
|
|
16086
16103
|
collectResponsivenessProbes,
|
|
16087
16104
|
livePendingInboundOldestAgeSeconds,
|
|
16088
16105
|
parkPendingInbound
|
|
16089
|
-
} = await import("../responsiveness-probe-
|
|
16106
|
+
} = await import("../responsiveness-probe-SKX77FST.js");
|
|
16090
16107
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
|
|
16091
16108
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
16092
16109
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -16242,7 +16259,7 @@ async function pollCycleInner() {
|
|
|
16242
16259
|
}
|
|
16243
16260
|
try {
|
|
16244
16261
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
|
|
16245
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
16262
|
+
const { probeSessionAuth } = await import("../session-auth-dead-XTMVOHUX.js");
|
|
16246
16263
|
const observations = [];
|
|
16247
16264
|
const pendingCacheCommits = [];
|
|
16248
16265
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -20530,7 +20547,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
20530
20547
|
try {
|
|
20531
20548
|
const freshId = rotateSessionForWedge(codeName);
|
|
20532
20549
|
consecutiveWedgeCycles.delete(codeName);
|
|
20533
|
-
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-
|
|
20550
|
+
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-SKX77FST.js");
|
|
20534
20551
|
const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
|
|
20535
20552
|
const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
|
|
20536
20553
|
const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
|
|
@@ -20573,7 +20590,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
20573
20590
|
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}`));
|
|
20574
20591
|
void (async () => {
|
|
20575
20592
|
try {
|
|
20576
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
20593
|
+
const { collectDiagnostics } = await import("../persistent-session-5EDOQC2H.js");
|
|
20577
20594
|
await api.post("/host/heartbeat", {
|
|
20578
20595
|
host_id: hostId,
|
|
20579
20596
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -20624,7 +20641,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
20624
20641
|
}
|
|
20625
20642
|
try {
|
|
20626
20643
|
const hostId = await getHostId();
|
|
20627
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
20644
|
+
const { collectDiagnostics } = await import("../persistent-session-5EDOQC2H.js");
|
|
20628
20645
|
await api.post("/host/heartbeat", {
|
|
20629
20646
|
host_id: hostId,
|
|
20630
20647
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -21268,7 +21285,7 @@ async function processClaudePairSessions(agents) {
|
|
|
21268
21285
|
killPairSession,
|
|
21269
21286
|
pairTmuxSession,
|
|
21270
21287
|
finalizeClaudePairOnboarding
|
|
21271
|
-
} = await import("../claude-pair-runtime-
|
|
21288
|
+
} = await import("../claude-pair-runtime-6IA4RPMQ.js");
|
|
21272
21289
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
21273
21290
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
21274
21291
|
const killed = await killPairSession(pairTmuxSession(pairId));
|