@integrity-labs/agt-cli 0.28.959 → 0.28.960
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-MSVXOKWK.js → chunk-3ICRKL3Y.js} +4 -4
- package/dist/{chunk-KCAFGTQM.js → chunk-GSRUWWT6.js} +1 -1
- package/dist/{chunk-KCAFGTQM.js.map → chunk-GSRUWWT6.js.map} +1 -1
- package/dist/{chunk-JDULE5NX.js → chunk-SQGW4VAW.js} +2 -2
- package/dist/{claude-pair-runtime-OTLVEMSV.js → claude-pair-runtime-5Q2WNQVB.js} +2 -2
- package/dist/lib/manager-worker.js +14 -14
- package/dist/mcp/augmented-admin.js +1 -1
- package/dist/{persistent-session-TGUC2Z5U.js → persistent-session-OD7M7K5C.js} +3 -3
- package/dist/{responsiveness-probe-YG5KPOSN.js → responsiveness-probe-73TIJ6ZV.js} +3 -3
- package/dist/{session-auth-dead-2Z3PG6RK.js → session-auth-dead-FGWPJVFS.js} +2 -2
- package/package.json +1 -1
- /package/dist/{chunk-MSVXOKWK.js.map → chunk-3ICRKL3Y.js.map} +0 -0
- /package/dist/{chunk-JDULE5NX.js.map → chunk-SQGW4VAW.js.map} +0 -0
- /package/dist/{claude-pair-runtime-OTLVEMSV.js.map → claude-pair-runtime-5Q2WNQVB.js.map} +0 -0
- /package/dist/{persistent-session-TGUC2Z5U.js.map → persistent-session-OD7M7K5C.js.map} +0 -0
- /package/dist/{responsiveness-probe-YG5KPOSN.js.map → responsiveness-probe-73TIJ6ZV.js.map} +0 -0
- /package/dist/{session-auth-dead-2Z3PG6RK.js.map → session-auth-dead-FGWPJVFS.js.map} +0 -0
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
rotateDailySession,
|
|
21
21
|
sessionFileExists,
|
|
22
22
|
todayLocalIso
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-GSRUWWT6.js";
|
|
24
24
|
import {
|
|
25
25
|
classifyUnanswerablePane,
|
|
26
26
|
findUsageLimitResetHint,
|
|
@@ -5575,4 +5575,4 @@ export {
|
|
|
5575
5575
|
stopAllSessionsAndWait,
|
|
5576
5576
|
getProjectDir
|
|
5577
5577
|
};
|
|
5578
|
-
//# sourceMappingURL=chunk-
|
|
5578
|
+
//# sourceMappingURL=chunk-SQGW4VAW.js.map
|
|
@@ -164,7 +164,7 @@ async function spawnPairSession(session) {
|
|
|
164
164
|
return { ok: true };
|
|
165
165
|
} catch {
|
|
166
166
|
}
|
|
167
|
-
const { resolveClaudeBinary } = await import("./persistent-session-
|
|
167
|
+
const { resolveClaudeBinary } = await import("./persistent-session-OD7M7K5C.js");
|
|
168
168
|
const claudeBin = resolveClaudeBinary();
|
|
169
169
|
const pairEnv = {
|
|
170
170
|
...process.env,
|
|
@@ -475,4 +475,4 @@ export {
|
|
|
475
475
|
startClaudePair,
|
|
476
476
|
submitClaudePairCode
|
|
477
477
|
};
|
|
478
|
-
//# sourceMappingURL=claude-pair-runtime-
|
|
478
|
+
//# sourceMappingURL=claude-pair-runtime-5Q2WNQVB.js.map
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
safeWriteJsonAtomic,
|
|
64
64
|
setConfigHash,
|
|
65
65
|
tripClass
|
|
66
|
-
} from "../chunk-
|
|
66
|
+
} from "../chunk-3ICRKL3Y.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-SQGW4VAW.js";
|
|
144
144
|
import {
|
|
145
145
|
ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
|
|
146
146
|
AnchorSessionClient,
|
|
@@ -236,7 +236,7 @@ import {
|
|
|
236
236
|
subagentActivityAgeSeconds,
|
|
237
237
|
sumTranscriptUsageInWindow,
|
|
238
238
|
transcriptActivityAgeSeconds
|
|
239
|
-
} from "../chunk-
|
|
239
|
+
} from "../chunk-GSRUWWT6.js";
|
|
240
240
|
import "../chunk-DHWNVVX4.js";
|
|
241
241
|
import {
|
|
242
242
|
reapOrphanChannelMcps
|
|
@@ -13262,7 +13262,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
13262
13262
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
13263
13263
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
13264
13264
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
13265
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
13265
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-73TIJ6ZV.js");
|
|
13266
13266
|
const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
|
|
13267
13267
|
if (newest === null) return null;
|
|
13268
13268
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -13947,7 +13947,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
13947
13947
|
var lastVersionCheckAt = 0;
|
|
13948
13948
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
13949
13949
|
var lastResponsivenessProbeAt = 0;
|
|
13950
|
-
var agtCliVersion = true ? "0.28.
|
|
13950
|
+
var agtCliVersion = true ? "0.28.960" : "dev";
|
|
13951
13951
|
function resolveBrewPath(execFileSync2) {
|
|
13952
13952
|
try {
|
|
13953
13953
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -15549,7 +15549,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
15549
15549
|
if (codeNames.length === 0) return;
|
|
15550
15550
|
void (async () => {
|
|
15551
15551
|
try {
|
|
15552
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15552
|
+
const { collectDiagnostics } = await import("../persistent-session-OD7M7K5C.js");
|
|
15553
15553
|
await api.post("/host/heartbeat", {
|
|
15554
15554
|
host_id: hostId,
|
|
15555
15555
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -15691,7 +15691,7 @@ async function pollCycleInner() {
|
|
|
15691
15691
|
}
|
|
15692
15692
|
try {
|
|
15693
15693
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
15694
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15694
|
+
const { collectDiagnostics } = await import("../persistent-session-OD7M7K5C.js");
|
|
15695
15695
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
15696
15696
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
|
|
15697
15697
|
let tailscaleHostname;
|
|
@@ -15867,7 +15867,7 @@ async function pollCycleInner() {
|
|
|
15867
15867
|
collectPanelessActivityProbes,
|
|
15868
15868
|
getResponsivenessIntervalMs,
|
|
15869
15869
|
occupancyQualificationClassifications
|
|
15870
|
-
} = await import("../responsiveness-probe-
|
|
15870
|
+
} = await import("../responsiveness-probe-73TIJ6ZV.js");
|
|
15871
15871
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
15872
15872
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
15873
15873
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -15984,7 +15984,7 @@ async function pollCycleInner() {
|
|
|
15984
15984
|
collectResponsivenessProbes,
|
|
15985
15985
|
livePendingInboundOldestAgeSeconds,
|
|
15986
15986
|
parkPendingInbound
|
|
15987
|
-
} = await import("../responsiveness-probe-
|
|
15987
|
+
} = await import("../responsiveness-probe-73TIJ6ZV.js");
|
|
15988
15988
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
|
|
15989
15989
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
15990
15990
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -16140,7 +16140,7 @@ async function pollCycleInner() {
|
|
|
16140
16140
|
}
|
|
16141
16141
|
try {
|
|
16142
16142
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
|
|
16143
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
16143
|
+
const { probeSessionAuth } = await import("../session-auth-dead-FGWPJVFS.js");
|
|
16144
16144
|
const observations = [];
|
|
16145
16145
|
const pendingCacheCommits = [];
|
|
16146
16146
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -20416,7 +20416,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
20416
20416
|
try {
|
|
20417
20417
|
const freshId = rotateSessionForWedge(codeName);
|
|
20418
20418
|
consecutiveWedgeCycles.delete(codeName);
|
|
20419
|
-
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-
|
|
20419
|
+
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-73TIJ6ZV.js");
|
|
20420
20420
|
const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
|
|
20421
20421
|
const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
|
|
20422
20422
|
const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
|
|
@@ -20459,7 +20459,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
20459
20459
|
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}`));
|
|
20460
20460
|
void (async () => {
|
|
20461
20461
|
try {
|
|
20462
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
20462
|
+
const { collectDiagnostics } = await import("../persistent-session-OD7M7K5C.js");
|
|
20463
20463
|
await api.post("/host/heartbeat", {
|
|
20464
20464
|
host_id: hostId,
|
|
20465
20465
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -20510,7 +20510,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
20510
20510
|
}
|
|
20511
20511
|
try {
|
|
20512
20512
|
const hostId = await getHostId();
|
|
20513
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
20513
|
+
const { collectDiagnostics } = await import("../persistent-session-OD7M7K5C.js");
|
|
20514
20514
|
await api.post("/host/heartbeat", {
|
|
20515
20515
|
host_id: hostId,
|
|
20516
20516
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -21152,7 +21152,7 @@ async function processClaudePairSessions(agents) {
|
|
|
21152
21152
|
killPairSession,
|
|
21153
21153
|
pairTmuxSession,
|
|
21154
21154
|
finalizeClaudePairOnboarding
|
|
21155
|
-
} = await import("../claude-pair-runtime-
|
|
21155
|
+
} = await import("../claude-pair-runtime-5Q2WNQVB.js");
|
|
21156
21156
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
21157
21157
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
21158
21158
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
|
@@ -21831,7 +21831,7 @@ server.registerTool(
|
|
|
21831
21831
|
);
|
|
21832
21832
|
server.registerTool(
|
|
21833
21833
|
"debug_probe_integration",
|
|
21834
|
-
{ description: "Force a FRESH host-side connectivity probe for ONE of an agent's integrations and return the LIVE verdict \u2014 use when a user reports an integration \"isn't working\" but the console shows it connected, or to confirm a fix landed. Unlike the cached status the dashboard shows, this SSH-less SSM-invokes the agent's host to run the probe against its actual wired `.mcp.json` + credentials, so it can't disagree with reality. Returns { agent_id, code_name, slug, host, verdict, message, probed_at, ssm_status }. `verdict` is the live result: `ok` | `degraded` | `transient_error` (retryable) | `down` | `not_probeable` (no probe wired for this kind) \u2014 or a central degrade: `unreachable` (agent has no host), `not_installed` (integration not on this agent), `host_cli_too_old` (the host predates the probe \u2014 update its agt-cli), `probe_error`. Pass { agent_id, slug } where slug is the integration's definition code_name (e.g. `gmail`, `slack`, `here-now`). Fails closed for an unauthorized org; every call is audited as a cross-org host access.", inputSchema: probeIntegrationSchema },
|
|
21834
|
+
{ description: "Force a FRESH host-side connectivity probe for ONE of an agent's integrations and return the LIVE verdict \u2014 use when a user reports an integration \"isn't working\" but the console shows it connected, or to confirm a fix landed. Unlike the cached status the dashboard shows, this SSH-less SSM-invokes the agent's host to run the probe against its actual wired `.mcp.json` + credentials, so it can't disagree with reality. Returns { agent_id, code_name, slug, host, verdict, message, probed_at, connection_key, sibling_connection_keys, scope_note, ssm_status }. **READ scope_note BEFORE ACTING ON AN `ok` (ENG-10646).** A toolkit can hold SEVERAL connections under one slug (ENG-7543) and this probes the FIRST one it resolves, so a verdict is about ONE CONNECTION, never the integration as a whole: `connection_key` names which. Worse, the host only searches rows in status active/configured, so a sibling in `error` or `unhealthy` - the one most likely to be the broken row an alert is about - is invisible to it and CANNOT appear in `sibling_connection_keys`; an empty list is not evidence there is only one connection. Measured: agent `ea` holds `composio/outlook` twice and this tool returned `ok` for the healthy row while the `integration_down` alert was about the other one, dead for six weeks. So when an alert and an `ok` disagree, do NOT conclude monitoring artefact - match the alert dedupe_key (it carries the ROW id) against debug_get_agent_integrations, whose `excluded[]` shows the rows the probe cannot see. All three fields are ABSENT when the host agt-cli predates ENG-10488, which means \u201Cthis host did not say\u201D, never \u201Cthere is one connection\u201D - and if the host DID send them in a shape this version cannot read, `scope_unreadable` names those fields, so a parse failure is never mistaken for an old host. `verdict` is the live result: `ok` | `degraded` | `transient_error` (retryable) | `down` | `not_probeable` (no probe wired for this kind) \u2014 or a central degrade: `unreachable` (agent has no host), `not_installed` (integration not on this agent), `host_cli_too_old` (the host predates the probe \u2014 update its agt-cli), `probe_error`. Pass { agent_id, slug } where slug is the integration's definition code_name (e.g. `gmail`, `slack`, `here-now`). Fails closed for an unauthorized org; every call is audited as a cross-org host access.", inputSchema: probeIntegrationSchema },
|
|
21835
21835
|
async (args) => {
|
|
21836
21836
|
try {
|
|
21837
21837
|
const result = await client.probeIntegration(args);
|
|
@@ -62,8 +62,8 @@ import {
|
|
|
62
62
|
writeDirectChatSessionState,
|
|
63
63
|
writeEgressAllowlist,
|
|
64
64
|
writePersistentClaudeWrapper
|
|
65
|
-
} from "./chunk-
|
|
66
|
-
import "./chunk-
|
|
65
|
+
} from "./chunk-SQGW4VAW.js";
|
|
66
|
+
import "./chunk-GSRUWWT6.js";
|
|
67
67
|
import "./chunk-DHWNVVX4.js";
|
|
68
68
|
import "./chunk-XWVM4KPK.js";
|
|
69
69
|
export {
|
|
@@ -131,4 +131,4 @@ export {
|
|
|
131
131
|
writeEgressAllowlist,
|
|
132
132
|
writePersistentClaudeWrapper
|
|
133
133
|
};
|
|
134
|
-
//# sourceMappingURL=persistent-session-
|
|
134
|
+
//# sourceMappingURL=persistent-session-OD7M7K5C.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-SQGW4VAW.js";
|
|
4
|
+
import "./chunk-GSRUWWT6.js";
|
|
5
5
|
import "./chunk-DHWNVVX4.js";
|
|
6
6
|
import "./chunk-XWVM4KPK.js";
|
|
7
7
|
|
|
@@ -800,4 +800,4 @@ export {
|
|
|
800
800
|
readAndResetSlackReplyBindingClassifications,
|
|
801
801
|
readAndResetSlackReplyTargetClassifications
|
|
802
802
|
};
|
|
803
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
803
|
+
//# sourceMappingURL=responsiveness-probe-73TIJ6ZV.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sessionTranscriptDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GSRUWWT6.js";
|
|
4
4
|
|
|
5
5
|
// src/lib/session-auth-dead.ts
|
|
6
6
|
import { closeSync, openSync, readSync, readdirSync, statSync } from "fs";
|
|
@@ -203,4 +203,4 @@ export {
|
|
|
203
203
|
decideSessionAuthState,
|
|
204
204
|
probeSessionAuth
|
|
205
205
|
};
|
|
206
|
-
//# sourceMappingURL=session-auth-dead-
|
|
206
|
+
//# sourceMappingURL=session-auth-dead-FGWPJVFS.js.map
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|