@integrity-labs/agt-cli 0.28.890 → 0.28.891
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-WGMIKXTX.js → chunk-2IVLMJXQ.js} +4 -4
- package/dist/{chunk-FHJLOWU2.js → chunk-BH5RFBUM.js} +32 -8
- package/dist/{chunk-FHJLOWU2.js.map → chunk-BH5RFBUM.js.map} +1 -1
- package/dist/{chunk-AQM4A5JF.js → chunk-SXYTFXPO.js} +2 -2
- package/dist/{claude-pair-runtime-XSOXRHGZ.js → claude-pair-runtime-TCDKO2CZ.js} +2 -2
- package/dist/lib/manager-worker.js +14 -14
- package/dist/mcp/direct-chat-channel.js +31 -7
- package/dist/mcp/index.js +1384 -1345
- package/dist/mcp/origami.js +31 -7
- package/dist/mcp/slack-channel.js +31 -7
- package/dist/mcp/telegram-channel.js +31 -7
- package/dist/{persistent-session-DVG5WKZZ.js → persistent-session-ZDZSEODJ.js} +3 -3
- package/dist/{responsiveness-probe-PPI3AFQG.js → responsiveness-probe-7CY5VZMG.js} +3 -3
- package/dist/{session-auth-dead-L7TAICNC.js → session-auth-dead-65TG2DLW.js} +2 -2
- package/package.json +1 -1
- /package/dist/{chunk-WGMIKXTX.js.map → chunk-2IVLMJXQ.js.map} +0 -0
- /package/dist/{chunk-AQM4A5JF.js.map → chunk-SXYTFXPO.js.map} +0 -0
- /package/dist/{claude-pair-runtime-XSOXRHGZ.js.map → claude-pair-runtime-TCDKO2CZ.js.map} +0 -0
- /package/dist/{persistent-session-DVG5WKZZ.js.map → persistent-session-ZDZSEODJ.js.map} +0 -0
- /package/dist/{responsiveness-probe-PPI3AFQG.js.map → responsiveness-probe-7CY5VZMG.js.map} +0 -0
- /package/dist/{session-auth-dead-L7TAICNC.js.map → session-auth-dead-65TG2DLW.js.map} +0 -0
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
rotateDailySession,
|
|
20
20
|
sessionFileExists,
|
|
21
21
|
todayLocalIso
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-BH5RFBUM.js";
|
|
23
23
|
import {
|
|
24
24
|
reapOrphanChannelMcps
|
|
25
25
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -5730,4 +5730,4 @@ export {
|
|
|
5730
5730
|
stopAllSessionsAndWait,
|
|
5731
5731
|
getProjectDir
|
|
5732
5732
|
};
|
|
5733
|
-
//# sourceMappingURL=chunk-
|
|
5733
|
+
//# sourceMappingURL=chunk-SXYTFXPO.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-ZDZSEODJ.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-TCDKO2CZ.js.map
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
safeWriteJsonAtomic,
|
|
64
64
|
setConfigHash,
|
|
65
65
|
tripClass
|
|
66
|
-
} from "../chunk-
|
|
66
|
+
} from "../chunk-2IVLMJXQ.js";
|
|
67
67
|
import {
|
|
68
68
|
getProjectDir as getProjectDir2,
|
|
69
69
|
getReadyTasks,
|
|
@@ -136,7 +136,7 @@ import {
|
|
|
136
136
|
takeZombieDetection,
|
|
137
137
|
toOpencodeModel,
|
|
138
138
|
writeEgressAllowlist
|
|
139
|
-
} from "../chunk-
|
|
139
|
+
} from "../chunk-SXYTFXPO.js";
|
|
140
140
|
import {
|
|
141
141
|
ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
|
|
142
142
|
AnchorSessionClient,
|
|
@@ -231,7 +231,7 @@ import {
|
|
|
231
231
|
subagentActivityAgeSeconds,
|
|
232
232
|
sumTranscriptUsageInWindow,
|
|
233
233
|
transcriptActivityAgeSeconds
|
|
234
|
-
} from "../chunk-
|
|
234
|
+
} from "../chunk-BH5RFBUM.js";
|
|
235
235
|
import {
|
|
236
236
|
reapOrphanChannelMcps
|
|
237
237
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -13023,7 +13023,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
13023
13023
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
13024
13024
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
13025
13025
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
13026
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
13026
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-7CY5VZMG.js");
|
|
13027
13027
|
const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
|
|
13028
13028
|
if (newest === null) return null;
|
|
13029
13029
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -13691,7 +13691,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
13691
13691
|
var lastVersionCheckAt = 0;
|
|
13692
13692
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
13693
13693
|
var lastResponsivenessProbeAt = 0;
|
|
13694
|
-
var agtCliVersion = true ? "0.28.
|
|
13694
|
+
var agtCliVersion = true ? "0.28.891" : "dev";
|
|
13695
13695
|
function resolveBrewPath(execFileSync2) {
|
|
13696
13696
|
try {
|
|
13697
13697
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -15281,7 +15281,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
15281
15281
|
if (codeNames.length === 0) return;
|
|
15282
15282
|
void (async () => {
|
|
15283
15283
|
try {
|
|
15284
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15284
|
+
const { collectDiagnostics } = await import("../persistent-session-ZDZSEODJ.js");
|
|
15285
15285
|
await api.post("/host/heartbeat", {
|
|
15286
15286
|
host_id: hostId,
|
|
15287
15287
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -15423,7 +15423,7 @@ async function pollCycleInner() {
|
|
|
15423
15423
|
}
|
|
15424
15424
|
try {
|
|
15425
15425
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
15426
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15426
|
+
const { collectDiagnostics } = await import("../persistent-session-ZDZSEODJ.js");
|
|
15427
15427
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
15428
15428
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
|
|
15429
15429
|
let tailscaleHostname;
|
|
@@ -15592,7 +15592,7 @@ async function pollCycleInner() {
|
|
|
15592
15592
|
collectPanelessActivityProbes,
|
|
15593
15593
|
getResponsivenessIntervalMs,
|
|
15594
15594
|
occupancyQualificationClassifications
|
|
15595
|
-
} = await import("../responsiveness-probe-
|
|
15595
|
+
} = await import("../responsiveness-probe-7CY5VZMG.js");
|
|
15596
15596
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
15597
15597
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
15598
15598
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -15709,7 +15709,7 @@ async function pollCycleInner() {
|
|
|
15709
15709
|
collectResponsivenessProbes,
|
|
15710
15710
|
livePendingInboundOldestAgeSeconds,
|
|
15711
15711
|
parkPendingInbound
|
|
15712
|
-
} = await import("../responsiveness-probe-
|
|
15712
|
+
} = await import("../responsiveness-probe-7CY5VZMG.js");
|
|
15713
15713
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
|
|
15714
15714
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
15715
15715
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -15865,7 +15865,7 @@ async function pollCycleInner() {
|
|
|
15865
15865
|
}
|
|
15866
15866
|
try {
|
|
15867
15867
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
|
|
15868
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
15868
|
+
const { probeSessionAuth } = await import("../session-auth-dead-65TG2DLW.js");
|
|
15869
15869
|
const observations = [];
|
|
15870
15870
|
const pendingCacheCommits = [];
|
|
15871
15871
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -20128,7 +20128,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
20128
20128
|
try {
|
|
20129
20129
|
const freshId = rotateSessionForWedge(codeName);
|
|
20130
20130
|
consecutiveWedgeCycles.delete(codeName);
|
|
20131
|
-
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-
|
|
20131
|
+
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-7CY5VZMG.js");
|
|
20132
20132
|
const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
|
|
20133
20133
|
const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
|
|
20134
20134
|
const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
|
|
@@ -20171,7 +20171,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
20171
20171
|
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}`));
|
|
20172
20172
|
void (async () => {
|
|
20173
20173
|
try {
|
|
20174
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
20174
|
+
const { collectDiagnostics } = await import("../persistent-session-ZDZSEODJ.js");
|
|
20175
20175
|
await api.post("/host/heartbeat", {
|
|
20176
20176
|
host_id: hostId,
|
|
20177
20177
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -20222,7 +20222,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
20222
20222
|
}
|
|
20223
20223
|
try {
|
|
20224
20224
|
const hostId = await getHostId();
|
|
20225
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
20225
|
+
const { collectDiagnostics } = await import("../persistent-session-ZDZSEODJ.js");
|
|
20226
20226
|
await api.post("/host/heartbeat", {
|
|
20227
20227
|
host_id: hostId,
|
|
20228
20228
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -20864,7 +20864,7 @@ async function processClaudePairSessions(agents) {
|
|
|
20864
20864
|
killPairSession,
|
|
20865
20865
|
pairTmuxSession,
|
|
20866
20866
|
finalizeClaudePairOnboarding
|
|
20867
|
-
} = await import("../claude-pair-runtime-
|
|
20867
|
+
} = await import("../claude-pair-runtime-TCDKO2CZ.js");
|
|
20868
20868
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
20869
20869
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
20870
20870
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
|
@@ -37484,14 +37484,38 @@ var FLAG_REGISTRY = [
|
|
|
37484
37484
|
},
|
|
37485
37485
|
{
|
|
37486
37486
|
key: "agent-unified-screen",
|
|
37487
|
-
description: 'Unified agent screen redesign (ENG-8478 epic / ENG-8480). When ON, the webapp renders the new single-screen "viewing is editing" agent surface (stripped-back hero, working agent switcher, inline-editable profile, embedded operational panels + a live direct-chat drawer) in place of the separate agent view/edit pages; when OFF, the current view/edit pages are unchanged. Additive UI gate \u2014 no data-model change: each panel reads the same existing endpoints the current pages use. Composes independently with app-top-nav-shell (the two flags are reconciled in ENG-8488).
|
|
37487
|
+
description: 'Unified agent screen redesign (ENG-8478 epic / ENG-8480). When ON, the webapp renders the new single-screen "viewing is editing" agent surface (stripped-back hero, working agent switcher, inline-editable profile, embedded operational panels + a live direct-chat drawer) in place of the separate agent view/edit pages; when OFF, the current view/edit pages are unchanged. Additive UI gate \u2014 no data-model change: each panel reads the same existing endpoints the current pages use. Composes independently with app-top-nav-shell (the two flags are reconciled in ENG-8488). NO LONGER DARK: ENG-9832 cutover step 1 flipped the default to true, so an org with no override now gets the unified screen. The key survives only until cutover step 2 deletes it \u2014 which is blocked on ENG-8547 and ENG-8559, because the flag-off branch is still the only home for the /edit tabs.',
|
|
37488
37488
|
flagType: "boolean",
|
|
37489
|
-
//
|
|
37490
|
-
//
|
|
37491
|
-
|
|
37492
|
-
//
|
|
37493
|
-
// so
|
|
37494
|
-
//
|
|
37489
|
+
// ENG-9832 (cutover step 1): flipped `false` -> `true`. The comment this
|
|
37490
|
+
// replaces called `false` the safe direction — "the current view/edit
|
|
37491
|
+
// pages", never "a half-built redesign". That was true while the redesign
|
|
37492
|
+
// was half built. It has been the shipped surface for the pilot orgs since
|
|
37493
|
+
// ENG-8481, so `false` now points at the pages being retired, not at safety.
|
|
37494
|
+
// The old rationale is recorded rather than deleted because it was correct
|
|
37495
|
+
// under a premise that has since expired.
|
|
37496
|
+
//
|
|
37497
|
+
// MIND THE SPLIT. This value is consulted by the API evaluator when it
|
|
37498
|
+
// builds the `GET /flags` map for an org with NO override. It is NOT the
|
|
37499
|
+
// fallback the webapp uses when that fetch fails: `getPublicBooleanFlagServer`
|
|
37500
|
+
// and `usePublicBooleanFlag` both return the argument passed at the CALL
|
|
37501
|
+
// SITE and never consult this registry. Three call sites carry `true` to
|
|
37502
|
+
// match — agents/[agentId]/page.tsx, agents/[agentId]/edit/page.tsx and
|
|
37503
|
+
// `useAgentUnifiedScreenEnabled` in lib/redesign-flags.ts. Flipping the
|
|
37504
|
+
// registry alone leaves the cutover half-applied with no error anywhere;
|
|
37505
|
+
// eng-9832-unified-fallback-parity.test.ts fails if any of the three drifts.
|
|
37506
|
+
defaultValue: true,
|
|
37507
|
+
// Read BOTH server-side (agents/[agentId]/page.tsx and its /edit sibling, via
|
|
37508
|
+
// getPublicBooleanFlagServer) and client-side (dashboard-sherlock-shell.tsx,
|
|
37509
|
+
// via usePublicBooleanFlag), so the key must be in the browser-exposed public
|
|
37510
|
+
// map. Additive viewer gate, resolved within the active-org cookie's scope
|
|
37511
|
+
// — not sensitive.
|
|
37512
|
+
//
|
|
37513
|
+
// `public` MUST STAY until step 2 deletes the key, and the reason reads
|
|
37514
|
+
// backwards: the server helper resolves against the very SAME public-filtered
|
|
37515
|
+
// `GET /flags` the browser uses (routes/flags.ts filters to
|
|
37516
|
+
// listPublicFlagKeys()). Drop `public` and the key is simply absent from the
|
|
37517
|
+
// map, so both server readers fall through to their call-site argument
|
|
37518
|
+
// forever — silently, with no error raised anywhere.
|
|
37495
37519
|
public: true
|
|
37496
37520
|
},
|
|
37497
37521
|
{
|