@integrity-labs/agt-cli 0.28.104 → 0.28.106
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-DO6ZJ2SC.js → chunk-5VPPNSKR.js} +3 -3
- package/dist/{chunk-5DYG42FL.js → chunk-D22IMWAZ.js} +30 -1
- package/dist/chunk-D22IMWAZ.js.map +1 -0
- package/dist/{chunk-WNN5WT42.js → chunk-O4OYAFTZ.js} +2 -2
- package/dist/{claude-pair-runtime-JP3TEGDV.js → claude-pair-runtime-6DZEDQAG.js} +2 -2
- package/dist/lib/manager-worker.js +48 -16
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/augmented-admin.js +21 -0
- package/dist/mcp/direct-chat-channel.js +7 -1
- package/dist/mcp/slack-channel.js +16 -0
- package/dist/mcp/teams-channel.js +15 -1
- package/dist/mcp/telegram-channel.js +13 -0
- package/dist/{persistent-session-6CU3BIHP.js → persistent-session-RMRG5HXI.js} +3 -3
- package/dist/{responsiveness-probe-GLZZZ2OK.js → responsiveness-probe-2KVIALGI.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-5DYG42FL.js.map +0 -1
- /package/dist/{chunk-DO6ZJ2SC.js.map → chunk-5VPPNSKR.js.map} +0 -0
- /package/dist/{chunk-WNN5WT42.js.map → chunk-O4OYAFTZ.js.map} +0 -0
- /package/dist/{claude-pair-runtime-JP3TEGDV.js.map → claude-pair-runtime-6DZEDQAG.js.map} +0 -0
- /package/dist/{persistent-session-6CU3BIHP.js.map → persistent-session-RMRG5HXI.js.map} +0 -0
- /package/dist/{responsiveness-probe-GLZZZ2OK.js.map → responsiveness-probe-2KVIALGI.js.map} +0 -0
|
@@ -21131,6 +21131,10 @@ var AdminDebugClient = class _AdminDebugClient {
|
|
|
21131
21131
|
tailLogs(args) {
|
|
21132
21132
|
return this.get("/admin/debug/tail-logs", _AdminDebugClient.cleanQuery(args));
|
|
21133
21133
|
}
|
|
21134
|
+
/** Conversation eval-FAILURE breakdown: why conversations couldn't be scored (ENG-6661). */
|
|
21135
|
+
evalFailures(args) {
|
|
21136
|
+
return this.get("/admin/debug/eval-failures", _AdminDebugClient.cleanQuery(args));
|
|
21137
|
+
}
|
|
21134
21138
|
/** Time-windowed read of ONE allowlisted host log across rotated files (ENG-6515). */
|
|
21135
21139
|
queryLogs(args) {
|
|
21136
21140
|
return this.get("/admin/debug/query-logs", _AdminDebugClient.cleanQuery(args));
|
|
@@ -21298,6 +21302,10 @@ var inspectFlagsSchema = external_exports.object({
|
|
|
21298
21302
|
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."),
|
|
21299
21303
|
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.")
|
|
21300
21304
|
});
|
|
21305
|
+
var evalFailuresSchema = external_exports.object({
|
|
21306
|
+
period: external_exports.enum(["24h", "7d", "30d"]).optional().describe("Window to report over (24h | 7d | 30d). Default 7d."),
|
|
21307
|
+
agent_id: external_exports.string().min(1).max(64).optional().describe("Filter to one agent (UUID); omit for a fleet-wide breakdown across your authorized orgs.")
|
|
21308
|
+
});
|
|
21301
21309
|
var alertIdField = external_exports.string().min(1).max(64).describe("The alert id (uuid), from debug_list_alerts.");
|
|
21302
21310
|
var triageReasonField = external_exports.string().max(2e3).optional().describe("Why \u2014 recorded on the cross-org audit trail. Be specific.");
|
|
21303
21311
|
var ackAlertSchema = external_exports.object({
|
|
@@ -21679,6 +21687,19 @@ server.tool(
|
|
|
21679
21687
|
}
|
|
21680
21688
|
}
|
|
21681
21689
|
);
|
|
21690
|
+
server.tool(
|
|
21691
|
+
"debug_eval_failures",
|
|
21692
|
+
'Report WHY conversations could not be scored by the host-side success evaluator: the failure counterpart to the "conversation success" trend, which only ever shows EVALUATED conversations (so an agent whose conversations all fail to reconstruct silently vanishes from it). Use when conversation scores look thin/absent for an agent, or to audit eval coverage fleet-wide. Returns { scope, period, scanned, truncated, report, recent }. `report` is the aggregate: { total, gaveUp (subset that hit the retry cap, will never be scored), byReason[] (org-wide count + gaveUp per reason), perAgent[] (worst-first standing) }. The three reasons are data-shaped: `no_transcript` (the host had no local transcript at all), `not_reconstructable` (transcripts exist but none carry the conversation\'s channel ref), `empty_transcript` (turns reconstructed but rendered to nothing). `recent` is the newest failing conversations (boundary + reason only, NEVER transcript content). NOTE: transient/misconfigured EVAL BACKEND failures are NOT here; those show on the host (hosts.eval_backend_*), check debug_get_host. Pass { period? (24h|7d|30d, default 7d), agent_id? (omit for fleet-wide) }. Org-walled in SQL; every call is audited as a cross-org access.',
|
|
21693
|
+
evalFailuresSchema.shape,
|
|
21694
|
+
async (args) => {
|
|
21695
|
+
try {
|
|
21696
|
+
const result = await client.evalFailures(args);
|
|
21697
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
21698
|
+
} catch (err) {
|
|
21699
|
+
return { content: [{ type: "text", text: formatError2(err) }], isError: true };
|
|
21700
|
+
}
|
|
21701
|
+
}
|
|
21702
|
+
);
|
|
21682
21703
|
server.tool(
|
|
21683
21704
|
"debug_probe_integration",
|
|
21684
21705
|
"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.",
|
|
@@ -14040,7 +14040,13 @@ function buildDirectChatChannelMeta(input) {
|
|
|
14040
14040
|
source: "direct-chat",
|
|
14041
14041
|
// String flag the agent's channel instructions (and the renderer) read:
|
|
14042
14042
|
// 'false' = notice (do not reply), 'true' = normal message (reply expected).
|
|
14043
|
-
requires_reply: input.isNotice ? "false" : "true"
|
|
14043
|
+
requires_reply: input.isNotice ? "false" : "true",
|
|
14044
|
+
// ENG-6407 / ADR-0024 Slice 1: provenance + reply-obligation as first-class
|
|
14045
|
+
// tag attributes. Direct chat is conversational; a notice owes no reply, so
|
|
14046
|
+
// expects_reply mirrors the existing requires_reply flag. Recorded only - no
|
|
14047
|
+
// consumer gates on these yet (Slice 2).
|
|
14048
|
+
lane: "conversational",
|
|
14049
|
+
expects_reply: input.isNotice ? "false" : "true"
|
|
14044
14050
|
};
|
|
14045
14051
|
}
|
|
14046
14052
|
|
|
@@ -16202,6 +16202,15 @@ function markInboundDelivered(channel, providerId, opts) {
|
|
|
16202
16202
|
return false;
|
|
16203
16203
|
}
|
|
16204
16204
|
|
|
16205
|
+
// src/inbound-lanes-runtime.ts
|
|
16206
|
+
var CONVERSATIONAL_LANE = "conversational";
|
|
16207
|
+
function conversationalLaneMeta(expectsReply = true) {
|
|
16208
|
+
return {
|
|
16209
|
+
lane: CONVERSATIONAL_LANE,
|
|
16210
|
+
expects_reply: expectsReply ? "true" : "false"
|
|
16211
|
+
};
|
|
16212
|
+
}
|
|
16213
|
+
|
|
16205
16214
|
// src/slack-allowlist-source.ts
|
|
16206
16215
|
function parseAllowedUsersCsv(raw) {
|
|
16207
16216
|
return new Set(
|
|
@@ -20631,6 +20640,13 @@ async function connectSocketMode() {
|
|
|
20631
20640
|
// marker-cleanup gate.
|
|
20632
20641
|
message_ts: ts,
|
|
20633
20642
|
event_type: evt.type,
|
|
20643
|
+
// ENG-6407 / ADR-0024 Slice 1: provenance + reply-obligation, recorded
|
|
20644
|
+
// at the source. Every Slack inbound is conversational; the obligation
|
|
20645
|
+
// reuses the SAME `shouldEngage` decision already computed above (no
|
|
20646
|
+
// fork) - an auto-followed, un-addressed thread message (discretionary,
|
|
20647
|
+
// !shouldEngage) owes no reply. Additive only; no consumer gates on
|
|
20648
|
+
// these yet (Slice 2).
|
|
20649
|
+
...conversationalLaneMeta(shouldEngage),
|
|
20634
20650
|
...isAutoFollowed ? { auto_followed: "true" } : {},
|
|
20635
20651
|
// Only set these when we actually have attachments to avoid
|
|
20636
20652
|
// bloating every notification with empty metadata.
|
|
@@ -14271,6 +14271,15 @@ function createInboundContextClient(args) {
|
|
|
14271
14271
|
};
|
|
14272
14272
|
}
|
|
14273
14273
|
|
|
14274
|
+
// src/inbound-lanes-runtime.ts
|
|
14275
|
+
var CONVERSATIONAL_LANE = "conversational";
|
|
14276
|
+
function conversationalLaneMeta(expectsReply = true) {
|
|
14277
|
+
return {
|
|
14278
|
+
lane: CONVERSATIONAL_LANE,
|
|
14279
|
+
expects_reply: expectsReply ? "true" : "false"
|
|
14280
|
+
};
|
|
14281
|
+
}
|
|
14282
|
+
|
|
14274
14283
|
// src/teams-channel-info.ts
|
|
14275
14284
|
function buildChannelInfoResult(input) {
|
|
14276
14285
|
if (input.members === null) {
|
|
@@ -15043,7 +15052,12 @@ async function emitChannelNotification(activity, flags = {}) {
|
|
|
15043
15052
|
conversation_id: activity.conversation.id,
|
|
15044
15053
|
service_url: activity.serviceUrl,
|
|
15045
15054
|
activity_id: activity.id ?? "",
|
|
15046
|
-
activity_type: activity.type
|
|
15055
|
+
activity_type: activity.type,
|
|
15056
|
+
// ENG-6407 / ADR-0024 Slice 1: Teams inbounds are conversational. A
|
|
15057
|
+
// peer-listen activity is the agent silently observing a thread it was added
|
|
15058
|
+
// to - it owes no reply, so expects_reply is false for it. Recorded only -
|
|
15059
|
+
// no consumer gates on these yet (Slice 2).
|
|
15060
|
+
...conversationalLaneMeta(!flags.isPeerListen)
|
|
15047
15061
|
};
|
|
15048
15062
|
if (activity.from?.id) meta["user"] = activity.from.id;
|
|
15049
15063
|
if (activity.from?.name) meta["user_name"] = activity.from.name;
|
|
@@ -15767,6 +15767,15 @@ function persistOffset(opts) {
|
|
|
15767
15767
|
}
|
|
15768
15768
|
}
|
|
15769
15769
|
|
|
15770
|
+
// src/inbound-lanes-runtime.ts
|
|
15771
|
+
var CONVERSATIONAL_LANE = "conversational";
|
|
15772
|
+
function conversationalLaneMeta(expectsReply = true) {
|
|
15773
|
+
return {
|
|
15774
|
+
lane: CONVERSATIONAL_LANE,
|
|
15775
|
+
expects_reply: expectsReply ? "true" : "false"
|
|
15776
|
+
};
|
|
15777
|
+
}
|
|
15778
|
+
|
|
15770
15779
|
// src/agent-config-state.ts
|
|
15771
15780
|
import { existsSync as existsSync4, readFileSync as readFileSync5 } from "fs";
|
|
15772
15781
|
import { join as join3 } from "path";
|
|
@@ -19623,6 +19632,10 @@ async function pollLoop() {
|
|
|
19623
19632
|
user: userId,
|
|
19624
19633
|
user_name: userName,
|
|
19625
19634
|
ts: String(msg.date),
|
|
19635
|
+
// ENG-6407 / ADR-0024 Slice 1: Telegram inbounds are conversational
|
|
19636
|
+
// and reply-expected (no auto-follow / discretionary variant here).
|
|
19637
|
+
// Recorded only - no consumer gates on these yet (Slice 2).
|
|
19638
|
+
...conversationalLaneMeta(true),
|
|
19626
19639
|
...fileMeta.length > 0 ? { files: JSON.stringify(fileMeta) } : {},
|
|
19627
19640
|
...imagePath ? { image_path: imagePath } : {},
|
|
19628
19641
|
// ENG-4902: peer-agent ingress carries distinct framing so the
|
|
@@ -34,8 +34,8 @@ import {
|
|
|
34
34
|
writeDirectChatSessionState,
|
|
35
35
|
writeEgressAllowlist,
|
|
36
36
|
writePersistentClaudeWrapper
|
|
37
|
-
} from "./chunk-
|
|
38
|
-
import "./chunk-
|
|
37
|
+
} from "./chunk-O4OYAFTZ.js";
|
|
38
|
+
import "./chunk-D22IMWAZ.js";
|
|
39
39
|
import "./chunk-XWVM4KPK.js";
|
|
40
40
|
export {
|
|
41
41
|
EGRESS_BASELINE_DOMAINS,
|
|
@@ -74,4 +74,4 @@ export {
|
|
|
74
74
|
writeEgressAllowlist,
|
|
75
75
|
writePersistentClaudeWrapper
|
|
76
76
|
};
|
|
77
|
-
//# sourceMappingURL=persistent-session-
|
|
77
|
+
//# sourceMappingURL=persistent-session-RMRG5HXI.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-O4OYAFTZ.js";
|
|
4
|
+
import "./chunk-D22IMWAZ.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-2KVIALGI.js.map
|