@integrity-labs/agt-cli 0.28.68 → 0.28.69
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 +4 -4
- package/dist/{chunk-BBD64HBH.js → chunk-F7LALIIP.js} +9 -9
- package/dist/{chunk-BBD64HBH.js.map → chunk-F7LALIIP.js.map} +1 -1
- package/dist/{chunk-SS56LU6L.js → chunk-NAKDDR6O.js} +2 -2
- package/dist/{chunk-I2UIKFQ7.js → chunk-RTQ42HVY.js} +3 -3
- package/dist/{claude-pair-runtime-YW5A7RTN.js → claude-pair-runtime-W6D56XZG.js} +2 -2
- package/dist/lib/manager-worker.js +8 -8
- package/dist/mcp/augmented-admin.js +70 -0
- package/dist/{persistent-session-666YVY2K.js → persistent-session-37EAR7QR.js} +3 -3
- package/dist/{responsiveness-probe-ERMYT2UH.js → responsiveness-probe-WI5X7C55.js} +3 -3
- package/package.json +1 -1
- /package/dist/{chunk-SS56LU6L.js.map → chunk-NAKDDR6O.js.map} +0 -0
- /package/dist/{chunk-I2UIKFQ7.js.map → chunk-RTQ42HVY.js.map} +0 -0
- /package/dist/{claude-pair-runtime-YW5A7RTN.js.map → claude-pair-runtime-W6D56XZG.js.map} +0 -0
- /package/dist/{persistent-session-666YVY2K.js.map → persistent-session-37EAR7QR.js.map} +0 -0
- /package/dist/{responsiveness-probe-ERMYT2UH.js.map → responsiveness-probe-WI5X7C55.js.map} +0 -0
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
formatMissingVar,
|
|
4
4
|
isClaudeFastMode,
|
|
5
5
|
probeMcpEnvSubstitution
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-F7LALIIP.js";
|
|
7
7
|
import {
|
|
8
8
|
reapOrphanChannelMcps
|
|
9
9
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -1395,4 +1395,4 @@ export {
|
|
|
1395
1395
|
stopAllSessionsAndWait,
|
|
1396
1396
|
getProjectDir
|
|
1397
1397
|
};
|
|
1398
|
-
//# sourceMappingURL=chunk-
|
|
1398
|
+
//# sourceMappingURL=chunk-NAKDDR6O.js.map
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
resolveConnectivityProbe,
|
|
23
23
|
worseConnectivityOutcome,
|
|
24
24
|
wrapScheduledTaskPrompt
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-F7LALIIP.js";
|
|
26
26
|
|
|
27
27
|
// ../../packages/core/dist/integrations/registry.js
|
|
28
28
|
var INTEGRATION_REGISTRY = [
|
|
@@ -7347,7 +7347,7 @@ function requireHost() {
|
|
|
7347
7347
|
}
|
|
7348
7348
|
|
|
7349
7349
|
// src/lib/api-client.ts
|
|
7350
|
-
var agtCliVersion = true ? "0.28.
|
|
7350
|
+
var agtCliVersion = true ? "0.28.69" : "dev";
|
|
7351
7351
|
var lastConfigHash = null;
|
|
7352
7352
|
function setConfigHash(hash) {
|
|
7353
7353
|
lastConfigHash = hash && hash.length > 0 ? hash : null;
|
|
@@ -8643,4 +8643,4 @@ export {
|
|
|
8643
8643
|
managerInstallSystemUnitCommand,
|
|
8644
8644
|
managerUninstallSystemUnitCommand
|
|
8645
8645
|
};
|
|
8646
|
-
//# sourceMappingURL=chunk-
|
|
8646
|
+
//# sourceMappingURL=chunk-RTQ42HVY.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-37EAR7QR.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-W6D56XZG.js.map
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
requireHost,
|
|
28
28
|
safeWriteJsonAtomic,
|
|
29
29
|
setConfigHash
|
|
30
|
-
} from "../chunk-
|
|
30
|
+
} from "../chunk-RTQ42HVY.js";
|
|
31
31
|
import {
|
|
32
32
|
getProjectDir as getProjectDir2,
|
|
33
33
|
getReadyTasks,
|
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
takeWatchdogGiveUpCount,
|
|
66
66
|
takeZombieDetection,
|
|
67
67
|
transcriptActivityAgeSeconds
|
|
68
|
-
} from "../chunk-
|
|
68
|
+
} from "../chunk-NAKDDR6O.js";
|
|
69
69
|
import {
|
|
70
70
|
FLAGS_SCHEMA_VERSION,
|
|
71
71
|
FLAG_REGISTRY,
|
|
@@ -96,7 +96,7 @@ import {
|
|
|
96
96
|
resolveDmTarget,
|
|
97
97
|
sumTranscriptUsageInWindow,
|
|
98
98
|
wrapScheduledTaskPrompt
|
|
99
|
-
} from "../chunk-
|
|
99
|
+
} from "../chunk-F7LALIIP.js";
|
|
100
100
|
import {
|
|
101
101
|
parsePsRows,
|
|
102
102
|
reapOrphanChannelMcps
|
|
@@ -6734,7 +6734,7 @@ var cachedMaintenanceWindow = null;
|
|
|
6734
6734
|
var lastVersionCheckAt = 0;
|
|
6735
6735
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
6736
6736
|
var lastResponsivenessProbeAt = 0;
|
|
6737
|
-
var agtCliVersion = true ? "0.28.
|
|
6737
|
+
var agtCliVersion = true ? "0.28.69" : "dev";
|
|
6738
6738
|
function resolveBrewPath(execFileSync4) {
|
|
6739
6739
|
try {
|
|
6740
6740
|
const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -7842,7 +7842,7 @@ async function pollCycle() {
|
|
|
7842
7842
|
}
|
|
7843
7843
|
try {
|
|
7844
7844
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
7845
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
7845
|
+
const { collectDiagnostics } = await import("../persistent-session-37EAR7QR.js");
|
|
7846
7846
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
7847
7847
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
|
|
7848
7848
|
let tailscaleHostname;
|
|
@@ -7943,7 +7943,7 @@ async function pollCycle() {
|
|
|
7943
7943
|
const {
|
|
7944
7944
|
collectResponsivenessProbes,
|
|
7945
7945
|
getResponsivenessIntervalMs
|
|
7946
|
-
} = await import("../responsiveness-probe-
|
|
7946
|
+
} = await import("../responsiveness-probe-WI5X7C55.js");
|
|
7947
7947
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
7948
7948
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
7949
7949
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -7975,7 +7975,7 @@ async function pollCycle() {
|
|
|
7975
7975
|
collectResponsivenessProbes,
|
|
7976
7976
|
livePendingInboundOldestAgeSeconds,
|
|
7977
7977
|
parkPendingInbound
|
|
7978
|
-
} = await import("../responsiveness-probe-
|
|
7978
|
+
} = await import("../responsiveness-probe-WI5X7C55.js");
|
|
7979
7979
|
const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
|
|
7980
7980
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
7981
7981
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -11409,7 +11409,7 @@ async function processClaudePairSessions(agents) {
|
|
|
11409
11409
|
killPairSession,
|
|
11410
11410
|
pairTmuxSession,
|
|
11411
11411
|
finalizeClaudePairOnboarding
|
|
11412
|
-
} = await import("../claude-pair-runtime-
|
|
11412
|
+
} = await import("../claude-pair-runtime-W6D56XZG.js");
|
|
11413
11413
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
11414
11414
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
11415
11415
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
|
@@ -21102,6 +21102,22 @@ var AdminDebugClient = class _AdminDebugClient {
|
|
|
21102
21102
|
inspectFlags(args) {
|
|
21103
21103
|
return this.get("/admin/debug/inspect-flags", _AdminDebugClient.cleanQuery(args));
|
|
21104
21104
|
}
|
|
21105
|
+
// ENG-6516: alert triage writes — a single triage route, three ergonomic verbs.
|
|
21106
|
+
triageAlert(alertId, body) {
|
|
21107
|
+
return this.post(`/admin/debug/alerts/${encodeURIComponent(alertId)}/triage`, body);
|
|
21108
|
+
}
|
|
21109
|
+
/** Acknowledge an open alert (ENG-6516). */
|
|
21110
|
+
ackAlert(args) {
|
|
21111
|
+
return this.triageAlert(args.alert_id, { action: "ack", reason: args.reason });
|
|
21112
|
+
}
|
|
21113
|
+
/** Snooze an open alert until 15m|1h|4h|until_tomorrow (ENG-6516). */
|
|
21114
|
+
snoozeAlert(args) {
|
|
21115
|
+
return this.triageAlert(args.alert_id, { action: "snooze", duration: args.duration, reason: args.reason });
|
|
21116
|
+
}
|
|
21117
|
+
/** Close an open alert (closed_reason=manual) (ENG-6516). */
|
|
21118
|
+
closeAlert(args) {
|
|
21119
|
+
return this.triageAlert(args.alert_id, { action: "close", reason: args.reason });
|
|
21120
|
+
}
|
|
21105
21121
|
/** List the orgs you're authorized to read, with tier + grant standing + rollups (ENG-6483). */
|
|
21106
21122
|
searchOrgs(args) {
|
|
21107
21123
|
return this.get("/admin/debug/orgs", _AdminDebugClient.cleanQuery(args));
|
|
@@ -21282,6 +21298,21 @@ var inspectFlagsSchema = external_exports.object({
|
|
|
21282
21298
|
host: external_exports.string().min(1).max(128).optional().describe("The host id (uuid) or its exact, case-insensitive name. Pass this OR agent_id."),
|
|
21283
21299
|
agent_id: external_exports.string().min(1).max(64).optional().describe("The agent UUID \u2014 flags are inspected on the agent's current host. Pass this OR host.")
|
|
21284
21300
|
});
|
|
21301
|
+
var alertIdField = external_exports.string().min(1).max(64).describe("The alert id (uuid), from debug_list_alerts.");
|
|
21302
|
+
var triageReasonField = external_exports.string().max(2e3).optional().describe("Why \u2014 recorded on the cross-org audit trail. Be specific.");
|
|
21303
|
+
var ackAlertSchema = external_exports.object({
|
|
21304
|
+
alert_id: alertIdField,
|
|
21305
|
+
reason: triageReasonField
|
|
21306
|
+
});
|
|
21307
|
+
var snoozeAlertSchema = external_exports.object({
|
|
21308
|
+
alert_id: alertIdField,
|
|
21309
|
+
duration: external_exports.enum(["15m", "1h", "4h", "until_tomorrow"]).describe("How long to suppress paging: 15m | 1h | 4h | until_tomorrow (09:00 UTC next day)."),
|
|
21310
|
+
reason: triageReasonField
|
|
21311
|
+
});
|
|
21312
|
+
var closeAlertSchema = external_exports.object({
|
|
21313
|
+
alert_id: alertIdField,
|
|
21314
|
+
reason: triageReasonField
|
|
21315
|
+
});
|
|
21285
21316
|
var hostVersionsSchema = external_exports.object({
|
|
21286
21317
|
q: external_exports.string().max(128).optional().describe("Case-insensitive substring match on host name."),
|
|
21287
21318
|
status: external_exports.string().max(32).optional().describe("Filter by host status (active | decommissioned)."),
|
|
@@ -21557,6 +21588,45 @@ server.tool(
|
|
|
21557
21588
|
}
|
|
21558
21589
|
}
|
|
21559
21590
|
);
|
|
21591
|
+
server.tool(
|
|
21592
|
+
"debug_ack_alert",
|
|
21593
|
+
"Acknowledge an open alert \u2014 close the triage loop here instead of bouncing to the webapp. Stops escalation/paging for it without closing it. Unlike the host-affecting remedial actions this is a low-risk, reversible control-plane write (it sets acknowledged_at/by on the alert row), so it applies directly \u2014 gated by the admin-debug write mode and authorized against the alert's org (a NULL-org infra alert is IL-internal-only). Returns { alert_id, action, write_mode, applied, alert }. `applied:false` means write mode is `shadow` (validated, not written). Get the alert id from debug_list_alerts. Pass { alert_id, reason? }. Every call is audited as a cross-org access.",
|
|
21594
|
+
ackAlertSchema.shape,
|
|
21595
|
+
async (args) => {
|
|
21596
|
+
try {
|
|
21597
|
+
const result = await client.ackAlert(args);
|
|
21598
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
21599
|
+
} catch (err) {
|
|
21600
|
+
return { content: [{ type: "text", text: formatError2(err) }], isError: true };
|
|
21601
|
+
}
|
|
21602
|
+
}
|
|
21603
|
+
);
|
|
21604
|
+
server.tool(
|
|
21605
|
+
"debug_snooze_alert",
|
|
21606
|
+
"Snooze an open alert \u2014 suppress fresh pages for it until 15m | 1h | 4h | until_tomorrow (09:00 UTC next day), without closing it. Low-risk reversible control-plane write (sets snoozed_until); applies directly under the admin-debug write mode, authorized against the alert's org. Returns { alert_id, action, write_mode, applied, alert }; `applied:false` \u21D2 shadow mode. Pass { alert_id, duration, reason? }. Audited as a cross-org access.",
|
|
21607
|
+
snoozeAlertSchema.shape,
|
|
21608
|
+
async (args) => {
|
|
21609
|
+
try {
|
|
21610
|
+
const result = await client.snoozeAlert(args);
|
|
21611
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
21612
|
+
} catch (err) {
|
|
21613
|
+
return { content: [{ type: "text", text: formatError2(err) }], isError: true };
|
|
21614
|
+
}
|
|
21615
|
+
}
|
|
21616
|
+
);
|
|
21617
|
+
server.tool(
|
|
21618
|
+
"debug_close_alert",
|
|
21619
|
+
"Close an open alert (closed_reason=manual) \u2014 resolve it from here when you've confirmed it's handled, instead of the webapp. Low-risk control-plane write (sets closed_at + closed_reason); applies directly under the admin-debug write mode, authorized against the alert's org. Only OPEN alerts can be closed (a 409 means it was already closed). Returns { alert_id, action, write_mode, applied, alert }; `applied:false` \u21D2 shadow mode. Pass { alert_id, reason? }. Audited as a cross-org access.",
|
|
21620
|
+
closeAlertSchema.shape,
|
|
21621
|
+
async (args) => {
|
|
21622
|
+
try {
|
|
21623
|
+
const result = await client.closeAlert(args);
|
|
21624
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
21625
|
+
} catch (err) {
|
|
21626
|
+
return { content: [{ type: "text", text: formatError2(err) }], isError: true };
|
|
21627
|
+
}
|
|
21628
|
+
}
|
|
21629
|
+
);
|
|
21560
21630
|
server.tool(
|
|
21561
21631
|
"debug_search_orgs",
|
|
21562
21632
|
`List the ORGANIZATIONS you're authorized to read \u2014 the org-level entry point for triage and access decisions, so you don't have to infer orgs off agent/host rows or probe one org's tier with debug_request_access. Returns a projection per org: { organization_id, organization_slug, display_name, is_internal, management_mode (fully_managed | self_managed), standing_reason (internal | fully_managed | granted \u2014 WHY you can read it), has_active_grant (do you hold a live grant right now), host_count, agent_count, active_agent_count, open_alert_count, created_at }. Use it to (1) decide access in one read \u2014 see a self_managed org and its grant state before deciding to debug_request_access; (2) triage the fleet \u2014 "which orgs have open alerts" (open_alert_count includes stuck-restart alerts) without walking agents; (3) disambiguate a slug \u2192 id \u2192 tier without needing an agent/host to exist. Authorized = IL-owned (is_internal) + fully-managed orgs (standing) plus any self-managed org you hold an active grant for. Filter with { q (slug/name substring), management_mode, is_internal, limit }. Projection only \u2014 no secrets, no transcripts; org-walled in SQL and audited as a cross-org access.`,
|
|
@@ -25,8 +25,8 @@ import {
|
|
|
25
25
|
takeZombieDetection,
|
|
26
26
|
writeDirectChatSessionState,
|
|
27
27
|
writePersistentClaudeWrapper
|
|
28
|
-
} from "./chunk-
|
|
29
|
-
import "./chunk-
|
|
28
|
+
} from "./chunk-NAKDDR6O.js";
|
|
29
|
+
import "./chunk-F7LALIIP.js";
|
|
30
30
|
import "./chunk-XWVM4KPK.js";
|
|
31
31
|
export {
|
|
32
32
|
SEND_KEYS_ENTER_DELAY_MS,
|
|
@@ -56,4 +56,4 @@ export {
|
|
|
56
56
|
writeDirectChatSessionState,
|
|
57
57
|
writePersistentClaudeWrapper
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=persistent-session-
|
|
59
|
+
//# sourceMappingURL=persistent-session-37EAR7QR.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-NAKDDR6O.js";
|
|
4
|
+
import "./chunk-F7LALIIP.js";
|
|
5
5
|
import "./chunk-XWVM4KPK.js";
|
|
6
6
|
|
|
7
7
|
// src/lib/responsiveness-probe.ts
|
|
@@ -250,4 +250,4 @@ export {
|
|
|
250
250
|
parkPendingInbound,
|
|
251
251
|
readAndResetChannelDeflections
|
|
252
252
|
};
|
|
253
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
253
|
+
//# sourceMappingURL=responsiveness-probe-WI5X7C55.js.map
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|