@integrity-labs/agt-cli 0.28.502 → 0.28.504
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-KS762LYV.js → chunk-GXEXHVNW.js} +55 -13
- package/dist/{chunk-KS762LYV.js.map → chunk-GXEXHVNW.js.map} +1 -1
- package/dist/{chunk-HMBECQIY.js → chunk-HEUDF73X.js} +71 -6
- package/dist/chunk-HEUDF73X.js.map +1 -0
- package/dist/{claude-pair-runtime-5GY4G7MD.js → claude-pair-runtime-E3KMHKQQ.js} +2 -2
- package/dist/lib/manager-worker.js +133 -29
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +44 -10
- package/dist/mcp/origami.js +27 -2
- package/dist/mcp/slack-channel.js +27 -2
- package/dist/mcp/telegram-channel.js +27 -2
- package/dist/{persistent-session-ZW5HH2SC.js → persistent-session-AB4SAH5B.js} +2 -2
- package/dist/{responsiveness-probe-RAHKBJEE.js → responsiveness-probe-O4SCSCKC.js} +6 -3
- package/dist/responsiveness-probe-O4SCSCKC.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-HMBECQIY.js.map +0 -1
- package/dist/responsiveness-probe-RAHKBJEE.js.map +0 -1
- /package/dist/{claude-pair-runtime-5GY4G7MD.js.map → claude-pair-runtime-E3KMHKQQ.js.map} +0 -0
- /package/dist/{persistent-session-ZW5HH2SC.js.map → persistent-session-AB4SAH5B.js.map} +0 -0
|
@@ -4977,7 +4977,36 @@ var OAUTH_PROVIDERS = {
|
|
|
4977
4977
|
// products/commerce/analytics per CS-1427). Best-effort + idempotent: an
|
|
4978
4978
|
// unknown/unscoped name is logged and skipped by the proxy, and the
|
|
4979
4979
|
// toolAllowlist above still caps what is actually callable.
|
|
4980
|
-
|
|
4980
|
+
//
|
|
4981
|
+
// ENG-8392: `contacts` + `emails` were missing, so thirteen allowlisted
|
|
4982
|
+
// tools were unreachable by construction — list_tags, create_tag,
|
|
4983
|
+
// tag_contact, untag_contact, list_segments, create_segment,
|
|
4984
|
+
// update_segment (contacts) and list_broadcasts, get_broadcast,
|
|
4985
|
+
// create_broadcast, list_sequences, get_sequence, create_sequence
|
|
4986
|
+
// (emails). A customer agent was blocked on exactly those.
|
|
4987
|
+
//
|
|
4988
|
+
// These two ids are Kajabi's OWN spelling, not ours: the server names the
|
|
4989
|
+
// toolset in its rejection, e.g. `list_tags` returns
|
|
4990
|
+
// "The 'contacts' toolset is not active. Call enable_toolset with
|
|
4991
|
+
// name: 'contacts' to activate it first."
|
|
4992
|
+
// and `list_sequences` returns the same with 'emails'. Sourced that way
|
|
4993
|
+
// deliberately — a wrong id here is logged and SKIPPED by the proxy, so a
|
|
4994
|
+
// guess would look applied and change nothing.
|
|
4995
|
+
//
|
|
4996
|
+
// Why this went unnoticed for four rounds: `get_contacts_analytics` lives
|
|
4997
|
+
// in the `analytics` group, which we already pre-enable. So the contacts
|
|
4998
|
+
// family read as partly alive (you could see a site's contact count and
|
|
4999
|
+
// growth curve) while every tag and segment call failed.
|
|
5000
|
+
preEnableToolsets: [
|
|
5001
|
+
"courses",
|
|
5002
|
+
"products",
|
|
5003
|
+
"commerce",
|
|
5004
|
+
"analytics",
|
|
5005
|
+
"pages",
|
|
5006
|
+
"themes",
|
|
5007
|
+
"contacts",
|
|
5008
|
+
"emails"
|
|
5009
|
+
]
|
|
4981
5010
|
},
|
|
4982
5011
|
"notion-cli": {
|
|
4983
5012
|
// Notion's public OAuth app. Tokens are workspace-scoped and long-lived —
|
|
@@ -7248,6 +7277,7 @@ var AGENT_DIRECTED_NOTICE_KINDS = ["scheduled_task_nudge", "kanban_check"];
|
|
|
7248
7277
|
var AGENT_DIRECTED_KIND_SET = new Set(AGENT_DIRECTED_NOTICE_KINDS);
|
|
7249
7278
|
|
|
7250
7279
|
// ../../packages/core/dist/direct-chat/cursor-advance.js
|
|
7280
|
+
var CURSOR_ADVANCE_NON_SHORTFALL_KEYS = ["advanced", "advanced_unreported", "failed"];
|
|
7251
7281
|
var CURSOR_SHORTFALL_REASONS = [
|
|
7252
7282
|
"not_found",
|
|
7253
7283
|
// ENG-8348: `/consume` only. The row belongs to this agent+session but was
|
|
@@ -7262,9 +7292,16 @@ var CURSOR_SHORTFALL_REASONS = [
|
|
|
7262
7292
|
"unknown",
|
|
7263
7293
|
"unreported",
|
|
7264
7294
|
"malformed_count",
|
|
7265
|
-
"other"
|
|
7295
|
+
"other",
|
|
7296
|
+
// ENG-8393: the non-shortfall outcomes — two benign, plus `failed`. Written
|
|
7297
|
+
// on the paths that previously wrote nothing, so a zero on the shortfall
|
|
7298
|
+
// reasons above becomes readable — see CURSOR_ADVANCE_NON_SHORTFALL_KEYS.
|
|
7299
|
+
"advanced",
|
|
7300
|
+
"advanced_unreported",
|
|
7301
|
+
"failed"
|
|
7266
7302
|
];
|
|
7267
|
-
var
|
|
7303
|
+
var NON_SHORTFALL_KEYS = new Set(CURSOR_ADVANCE_NON_SHORTFALL_KEYS);
|
|
7304
|
+
var KNOWN_REASONS = new Set(CURSOR_SHORTFALL_REASONS.filter((k) => !NON_SHORTFALL_KEYS.has(k)));
|
|
7268
7305
|
function normalizeCursorShortfallReason(raw) {
|
|
7269
7306
|
if (raw == null || raw === "")
|
|
7270
7307
|
return "unreported";
|
|
@@ -7274,7 +7311,7 @@ function classifyCursorAdvance(input) {
|
|
|
7274
7311
|
const body = input.body ?? void 0;
|
|
7275
7312
|
if (!input.httpOk || body?.error != null) {
|
|
7276
7313
|
const error = body?.error ?? input.statusText ?? (input.httpStatus !== void 0 ? `HTTP ${input.httpStatus}` : "request failed");
|
|
7277
|
-
return { outcome: "failed", error };
|
|
7314
|
+
return { outcome: "failed", error, expected: new Set(input.messageIds).size };
|
|
7278
7315
|
}
|
|
7279
7316
|
const expected = new Set(input.messageIds).size;
|
|
7280
7317
|
const raw = body?.consumed;
|
|
@@ -7306,6 +7343,17 @@ function classifyCursorAdvance(input) {
|
|
|
7306
7343
|
function cursorShortfallKey(route, reason, partial) {
|
|
7307
7344
|
return `${route}|${reason}|${partial ? "true" : "false"}`;
|
|
7308
7345
|
}
|
|
7346
|
+
function cursorAdvanceCounterKey(route, verdict) {
|
|
7347
|
+
if (verdict.expected === 0)
|
|
7348
|
+
return null;
|
|
7349
|
+
if (verdict.outcome === "shortfall") {
|
|
7350
|
+
return cursorShortfallKey(route, verdict.reason, verdict.partial);
|
|
7351
|
+
}
|
|
7352
|
+
if (verdict.outcome === "failed") {
|
|
7353
|
+
return cursorShortfallKey(route, "failed", false);
|
|
7354
|
+
}
|
|
7355
|
+
return cursorShortfallKey(route, verdict.reported ? "advanced" : "advanced_unreported", false);
|
|
7356
|
+
}
|
|
7309
7357
|
function formatCursorAdvanceShortfall(verdict, ctx) {
|
|
7310
7358
|
const cleared = ctx.cleared.length > 0 ? ctx.cleared.join(",") : "none";
|
|
7311
7359
|
return `[direct-chat] cursor advance shortfall route=/${ctx.route} site=${ctx.site} session=${ctx.sessionId} expected=${verdict.expected} consumed=${verdict.consumed} reason=${verdict.reason} partial=${verdict.partial} cleared_anyway=${cleared}`;
|
|
@@ -9942,6 +9990,23 @@ var FLAG_REGISTRY = [
|
|
|
9942
9990
|
// safety control, so mutations require explicit confirmation.
|
|
9943
9991
|
sensitive: true
|
|
9944
9992
|
},
|
|
9993
|
+
{
|
|
9994
|
+
key: "docker-hygiene",
|
|
9995
|
+
description: "Manager-side docker hygiene on Docker-isolated hosts (ENG-8401): off = no-op, reap-superseded = after a successful agt-runtime retag, remove the prior untagged agt-runtime images that retag orphaned (Layer 1), full = reap-superseded plus a daily dangling-only image+builder prune (Layer 2). agt-runtime:latest and the just-pulled image are never removed and -a/--volumes are never used. Read host-side via hostFlagStore (getString); ships dark.",
|
|
9996
|
+
flagType: "enum",
|
|
9997
|
+
allowedValues: ["off", "reap-superseded", "full"],
|
|
9998
|
+
// Declared safe value is `off`: this flag introduces NEW janitorial behaviour
|
|
9999
|
+
// (the pre-flag compiled behaviour is "never reap"), so off preserves fleet
|
|
10000
|
+
// behaviour on rollout. Not `sensitive` — weakening it (full → off) only stops
|
|
10001
|
+
// cleanup; it relaxes no safety/enforcement control. No envVar by design: this
|
|
10002
|
+
// gate is flag-managed only, with no operator env override.
|
|
10003
|
+
defaultValue: "off",
|
|
10004
|
+
// New host-side reader (ENG-8401): its consumer lands in the agt-cli build
|
|
10005
|
+
// this PR publishes (auto-publish patch-bumps from npm's current 0.28.503 →
|
|
10006
|
+
// 0.28.504), so a flip only takes effect on hosts running >= that version.
|
|
10007
|
+
// Best-effort reach estimate only; not part of the schema fingerprint.
|
|
10008
|
+
since: "0.28.504"
|
|
10009
|
+
},
|
|
9945
10010
|
{
|
|
9946
10011
|
key: "composio-hitl-mode",
|
|
9947
10012
|
description: "Composio managed-toolkits HITL gate (ENG-6027): off = kill switch, shadow = resolve + audit the tier decision but never block, enforce = block write_high_risk+ calls and route them to Human Approval (an Approve/Deny card). Since ENG-7828 enforce ALWAYS routes to a Human Approval card by default; set hitl-approval-routing=off to make enforce a hard block with no approval instead. Per-org rollout from the admin Feature Flags page; ENG-7672 migrated this off the fleet-wide COMPOSIO_HITL_MODE env var.",
|
|
@@ -14645,7 +14710,7 @@ export {
|
|
|
14645
14710
|
readRemoteMcpAuthConfig,
|
|
14646
14711
|
buildForwardHeaders,
|
|
14647
14712
|
classifyCursorAdvance,
|
|
14648
|
-
|
|
14713
|
+
cursorAdvanceCounterKey,
|
|
14649
14714
|
formatCursorAdvanceShortfall,
|
|
14650
14715
|
AnchorSessionClient,
|
|
14651
14716
|
isOnboardingArea,
|
|
@@ -14759,4 +14824,4 @@ export {
|
|
|
14759
14824
|
stopAllSessionsAndWait,
|
|
14760
14825
|
getProjectDir
|
|
14761
14826
|
};
|
|
14762
|
-
//# sourceMappingURL=chunk-
|
|
14827
|
+
//# sourceMappingURL=chunk-HEUDF73X.js.map
|