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