@integrity-labs/agt-cli 0.28.910 → 0.28.912
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-4TJD6MW3.js → chunk-5N43343H.js} +2 -2
- package/dist/{chunk-PPZLNHRM.js → chunk-ASZOPO2M.js} +1 -1
- package/dist/chunk-ASZOPO2M.js.map +1 -0
- package/dist/{chunk-NUDVOZMX.js → chunk-L4WWKIOA.js} +4 -4
- package/dist/{claude-pair-runtime-UQMVRVNJ.js → claude-pair-runtime-53EZO64S.js} +2 -2
- package/dist/lib/manager-worker.js +14 -14
- package/dist/mcp/index.js +40 -1
- package/dist/{persistent-session-KLLQR6BH.js → persistent-session-35AFHBHP.js} +3 -3
- package/dist/{responsiveness-probe-ZJHNOLJF.js → responsiveness-probe-WWMTTSVS.js} +3 -3
- package/dist/{session-auth-dead-RFWHW6W7.js → session-auth-dead-6UF5SAIT.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-PPZLNHRM.js.map +0 -1
- /package/dist/{chunk-4TJD6MW3.js.map → chunk-5N43343H.js.map} +0 -0
- /package/dist/{chunk-NUDVOZMX.js.map → chunk-L4WWKIOA.js.map} +0 -0
- /package/dist/{claude-pair-runtime-UQMVRVNJ.js.map → claude-pair-runtime-53EZO64S.js.map} +0 -0
- /package/dist/{persistent-session-KLLQR6BH.js.map → persistent-session-35AFHBHP.js.map} +0 -0
- /package/dist/{responsiveness-probe-ZJHNOLJF.js.map → responsiveness-probe-WWMTTSVS.js.map} +0 -0
- /package/dist/{session-auth-dead-RFWHW6W7.js.map → session-auth-dead-6UF5SAIT.js.map} +0 -0
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
parseEnvIntegrations,
|
|
17
17
|
shellQuote,
|
|
18
18
|
summarizeUnanswerablePane
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-5N43343H.js";
|
|
20
20
|
import {
|
|
21
21
|
BIND_FAILURE_QUARANTINE_THRESHOLD,
|
|
22
22
|
INTEGRATIONS_SECTION_END,
|
|
@@ -76,7 +76,7 @@ import {
|
|
|
76
76
|
sessionTranscriptDir,
|
|
77
77
|
worseConnectivityOutcome,
|
|
78
78
|
wrapScheduledTaskPrompt
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-ASZOPO2M.js";
|
|
80
80
|
import {
|
|
81
81
|
parsePsRows
|
|
82
82
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -6841,7 +6841,7 @@ function exchangeFailureKind(err) {
|
|
|
6841
6841
|
}
|
|
6842
6842
|
|
|
6843
6843
|
// src/lib/api-client.ts
|
|
6844
|
-
var agtCliVersion = true ? "0.28.
|
|
6844
|
+
var agtCliVersion = true ? "0.28.912" : "dev";
|
|
6845
6845
|
var lastConfigHash = null;
|
|
6846
6846
|
function setConfigHash(hash) {
|
|
6847
6847
|
lastConfigHash = hash && hash.length > 0 ? hash : null;
|
|
@@ -11451,4 +11451,4 @@ export {
|
|
|
11451
11451
|
managerInstallSystemUnitCommand,
|
|
11452
11452
|
managerUninstallSystemUnitCommand
|
|
11453
11453
|
};
|
|
11454
|
-
//# sourceMappingURL=chunk-
|
|
11454
|
+
//# sourceMappingURL=chunk-L4WWKIOA.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-35AFHBHP.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-53EZO64S.js.map
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
safeWriteJsonAtomic,
|
|
64
64
|
setConfigHash,
|
|
65
65
|
tripClass
|
|
66
|
-
} from "../chunk-
|
|
66
|
+
} from "../chunk-L4WWKIOA.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-5N43343H.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-ASZOPO2M.js";
|
|
235
235
|
import {
|
|
236
236
|
reapOrphanChannelMcps
|
|
237
237
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -13133,7 +13133,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
13133
13133
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
13134
13134
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
13135
13135
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
13136
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
13136
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-WWMTTSVS.js");
|
|
13137
13137
|
const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
|
|
13138
13138
|
if (newest === null) return null;
|
|
13139
13139
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -13818,7 +13818,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
13818
13818
|
var lastVersionCheckAt = 0;
|
|
13819
13819
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
13820
13820
|
var lastResponsivenessProbeAt = 0;
|
|
13821
|
-
var agtCliVersion = true ? "0.28.
|
|
13821
|
+
var agtCliVersion = true ? "0.28.912" : "dev";
|
|
13822
13822
|
function resolveBrewPath(execFileSync2) {
|
|
13823
13823
|
try {
|
|
13824
13824
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -15408,7 +15408,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
15408
15408
|
if (codeNames.length === 0) return;
|
|
15409
15409
|
void (async () => {
|
|
15410
15410
|
try {
|
|
15411
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15411
|
+
const { collectDiagnostics } = await import("../persistent-session-35AFHBHP.js");
|
|
15412
15412
|
await api.post("/host/heartbeat", {
|
|
15413
15413
|
host_id: hostId,
|
|
15414
15414
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -15550,7 +15550,7 @@ async function pollCycleInner() {
|
|
|
15550
15550
|
}
|
|
15551
15551
|
try {
|
|
15552
15552
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
15553
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15553
|
+
const { collectDiagnostics } = await import("../persistent-session-35AFHBHP.js");
|
|
15554
15554
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
15555
15555
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
|
|
15556
15556
|
let tailscaleHostname;
|
|
@@ -15725,7 +15725,7 @@ async function pollCycleInner() {
|
|
|
15725
15725
|
collectPanelessActivityProbes,
|
|
15726
15726
|
getResponsivenessIntervalMs,
|
|
15727
15727
|
occupancyQualificationClassifications
|
|
15728
|
-
} = await import("../responsiveness-probe-
|
|
15728
|
+
} = await import("../responsiveness-probe-WWMTTSVS.js");
|
|
15729
15729
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
15730
15730
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
15731
15731
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -15842,7 +15842,7 @@ async function pollCycleInner() {
|
|
|
15842
15842
|
collectResponsivenessProbes,
|
|
15843
15843
|
livePendingInboundOldestAgeSeconds,
|
|
15844
15844
|
parkPendingInbound
|
|
15845
|
-
} = await import("../responsiveness-probe-
|
|
15845
|
+
} = await import("../responsiveness-probe-WWMTTSVS.js");
|
|
15846
15846
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
|
|
15847
15847
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
15848
15848
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -15998,7 +15998,7 @@ async function pollCycleInner() {
|
|
|
15998
15998
|
}
|
|
15999
15999
|
try {
|
|
16000
16000
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
|
|
16001
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
16001
|
+
const { probeSessionAuth } = await import("../session-auth-dead-6UF5SAIT.js");
|
|
16002
16002
|
const observations = [];
|
|
16003
16003
|
const pendingCacheCommits = [];
|
|
16004
16004
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -20262,7 +20262,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
20262
20262
|
try {
|
|
20263
20263
|
const freshId = rotateSessionForWedge(codeName);
|
|
20264
20264
|
consecutiveWedgeCycles.delete(codeName);
|
|
20265
|
-
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-
|
|
20265
|
+
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-WWMTTSVS.js");
|
|
20266
20266
|
const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
|
|
20267
20267
|
const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
|
|
20268
20268
|
const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
|
|
@@ -20305,7 +20305,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
20305
20305
|
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}`));
|
|
20306
20306
|
void (async () => {
|
|
20307
20307
|
try {
|
|
20308
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
20308
|
+
const { collectDiagnostics } = await import("../persistent-session-35AFHBHP.js");
|
|
20309
20309
|
await api.post("/host/heartbeat", {
|
|
20310
20310
|
host_id: hostId,
|
|
20311
20311
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -20356,7 +20356,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
20356
20356
|
}
|
|
20357
20357
|
try {
|
|
20358
20358
|
const hostId = await getHostId();
|
|
20359
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
20359
|
+
const { collectDiagnostics } = await import("../persistent-session-35AFHBHP.js");
|
|
20360
20360
|
await api.post("/host/heartbeat", {
|
|
20361
20361
|
host_id: hostId,
|
|
20362
20362
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -20998,7 +20998,7 @@ async function processClaudePairSessions(agents) {
|
|
|
20998
20998
|
killPairSession,
|
|
20999
20999
|
pairTmuxSession,
|
|
21000
21000
|
finalizeClaudePairOnboarding
|
|
21001
|
-
} = await import("../claude-pair-runtime-
|
|
21001
|
+
} = await import("../claude-pair-runtime-53EZO64S.js");
|
|
21002
21002
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
21003
21003
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
21004
21004
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
package/dist/mcp/index.js
CHANGED
|
@@ -22416,6 +22416,33 @@ var MODEL_POLICY_SLOTS_IN_ORDER = [...KNOWN_MODEL_SLOTS];
|
|
|
22416
22416
|
var MODEL_POLICY_SLOTS_PENDING_ACTUATOR = /* @__PURE__ */ new Set();
|
|
22417
22417
|
var OFFERABLE_MODEL_POLICY_SLOTS = MODEL_POLICY_SLOTS_IN_ORDER.filter((slot) => !MODEL_POLICY_SLOTS_PENDING_ACTUATOR.has(slot));
|
|
22418
22418
|
|
|
22419
|
+
// ../core/dist/types/kanban.js
|
|
22420
|
+
function formatAgentLabel(codeName) {
|
|
22421
|
+
return `@${codeName}`;
|
|
22422
|
+
}
|
|
22423
|
+
function kanbanAssignerLabel(metadata) {
|
|
22424
|
+
if (!metadata || typeof metadata !== "object" || Array.isArray(metadata))
|
|
22425
|
+
return null;
|
|
22426
|
+
const m = metadata;
|
|
22427
|
+
const codeName = typeof m["assigned_from_code_name"] === "string" ? m["assigned_from_code_name"].trim() : "";
|
|
22428
|
+
if (codeName)
|
|
22429
|
+
return formatAgentLabel(codeName.replace(/^@+/, ""));
|
|
22430
|
+
const agentId = typeof m["assigned_from_agent_id"] === "string" ? m["assigned_from_agent_id"].trim() : "";
|
|
22431
|
+
if (agentId)
|
|
22432
|
+
return `agent ${agentId}`;
|
|
22433
|
+
return null;
|
|
22434
|
+
}
|
|
22435
|
+
var KANBAN_ASSIGNER_UNKNOWN_DIRECT_CHAT = "unknown (arrived via direct chat; no assigning agent is recorded)";
|
|
22436
|
+
var KANBAN_ASSIGNER_NOT_RECORDED = "not recorded (no kanban_assign author on this card; it was created on this board or by a path that does not stamp one)";
|
|
22437
|
+
function describeKanbanAssigner(card, opts) {
|
|
22438
|
+
const label = kanbanAssignerLabel(card.metadata);
|
|
22439
|
+
if (label)
|
|
22440
|
+
return label;
|
|
22441
|
+
if (card.source_integration === "direct-chat")
|
|
22442
|
+
return KANBAN_ASSIGNER_UNKNOWN_DIRECT_CHAT;
|
|
22443
|
+
return opts.always ? KANBAN_ASSIGNER_NOT_RECORDED : null;
|
|
22444
|
+
}
|
|
22445
|
+
|
|
22419
22446
|
// ../core/dist/types/integration.js
|
|
22420
22447
|
var HITL_TIER_ORDER = [
|
|
22421
22448
|
"read",
|
|
@@ -45221,7 +45248,8 @@ function renderKanbanItemLine(item, nowMs, suffix = "") {
|
|
|
45221
45248
|
const del = item.deliverable ? ` \u2192 ${item.deliverable}` : "";
|
|
45222
45249
|
const res = item.result ? ` \u2713 ${item.result}` : "";
|
|
45223
45250
|
const wait = renderWaitingClause(item, nowMs);
|
|
45224
|
-
const
|
|
45251
|
+
const by = renderAssignerClause(item);
|
|
45252
|
+
const head = `- [${pri}] ${item.title}${wait}${est}${del}${res}${by} (id: ${item.id})${suffix}`;
|
|
45225
45253
|
const desc = renderDescriptionClause(item);
|
|
45226
45254
|
return desc ? `${head}
|
|
45227
45255
|
${desc}` : head;
|
|
@@ -45231,6 +45259,14 @@ function renderTruncationNotice(t) {
|
|
|
45231
45259
|
const of = typeof t.total === "number" && typeof t.shown === "number" ? `showing ${t.shown} of ${t.total} active cards` : typeof t.total === "number" ? `${t.total} active cards exist` : "this board is capped";
|
|
45232
45260
|
return `[BOARD TRUNCATED \u2014 ${of}. The counts below are a FLOOR, not a total. Do not report them as your full board; use kanban_search for history, and treat any per-status count here as "at least N".]`;
|
|
45233
45261
|
}
|
|
45262
|
+
function renderAssignerClause(item) {
|
|
45263
|
+
const by = describeKanbanAssigner(item, { always: false });
|
|
45264
|
+
return by ? ` (assigned by: ${by})` : "";
|
|
45265
|
+
}
|
|
45266
|
+
function renderKanbanSearchAssignerLine(item) {
|
|
45267
|
+
const by = describeKanbanAssigner(item, { always: false });
|
|
45268
|
+
return by ? ` assigned by: ${by}` : null;
|
|
45269
|
+
}
|
|
45234
45270
|
function renderKanbanList(items, nowMs = Date.now(), truncation) {
|
|
45235
45271
|
const notice = renderTruncationNotice(truncation);
|
|
45236
45272
|
if (!items.length) return notice ? `${notice}
|
|
@@ -45317,6 +45353,7 @@ function renderKanbanFullCard(item, nowMs = Date.now()) {
|
|
|
45317
45353
|
fullCardField("source_url", item.source_url)
|
|
45318
45354
|
].filter((l) => l !== null);
|
|
45319
45355
|
if (source.length) lines.push(source.join(" \xB7 "));
|
|
45356
|
+
lines.push(`assigned by: ${describeKanbanAssigner(item, { always: true })}`);
|
|
45320
45357
|
if (item.assignee_type && item.assignee_type !== "agent") {
|
|
45321
45358
|
lines.push(`assigned to: ${item.assignee_type}${item.assignee_user_id ? ` (${item.assignee_user_id})` : ""}`);
|
|
45322
45359
|
}
|
|
@@ -46591,6 +46628,8 @@ server.tool(
|
|
|
46591
46628
|
const via = item.source_integration ? ` via ${item.source_integration}` : "";
|
|
46592
46629
|
lines.push(`
|
|
46593
46630
|
- [${item.status}${via}, ${day}] ${item.title} (id: ${item.id})`);
|
|
46631
|
+
const assignedBy = renderKanbanSearchAssignerLine(item);
|
|
46632
|
+
if (assignedBy) lines.push(assignedBy);
|
|
46594
46633
|
const desc = item.description?.trim();
|
|
46595
46634
|
if (desc) {
|
|
46596
46635
|
const { shown, total, truncated } = truncateByCodePoints(
|
|
@@ -62,8 +62,8 @@ import {
|
|
|
62
62
|
writeDirectChatSessionState,
|
|
63
63
|
writeEgressAllowlist,
|
|
64
64
|
writePersistentClaudeWrapper
|
|
65
|
-
} from "./chunk-
|
|
66
|
-
import "./chunk-
|
|
65
|
+
} from "./chunk-5N43343H.js";
|
|
66
|
+
import "./chunk-ASZOPO2M.js";
|
|
67
67
|
import "./chunk-XWVM4KPK.js";
|
|
68
68
|
export {
|
|
69
69
|
CLAUDE_HOST_WIDE,
|
|
@@ -130,4 +130,4 @@ export {
|
|
|
130
130
|
writeEgressAllowlist,
|
|
131
131
|
writePersistentClaudeWrapper
|
|
132
132
|
};
|
|
133
|
-
//# sourceMappingURL=persistent-session-
|
|
133
|
+
//# sourceMappingURL=persistent-session-35AFHBHP.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-5N43343H.js";
|
|
4
|
+
import "./chunk-ASZOPO2M.js";
|
|
5
5
|
import "./chunk-XWVM4KPK.js";
|
|
6
6
|
|
|
7
7
|
// src/lib/responsiveness-probe.ts
|
|
@@ -799,4 +799,4 @@ export {
|
|
|
799
799
|
readAndResetSlackReplyBindingClassifications,
|
|
800
800
|
readAndResetSlackReplyTargetClassifications
|
|
801
801
|
};
|
|
802
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
802
|
+
//# sourceMappingURL=responsiveness-probe-WWMTTSVS.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sessionTranscriptDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ASZOPO2M.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-6UF5SAIT.js.map
|