@integrity-labs/agt-cli 0.28.790 → 0.28.792
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-RDPAELV2.js → chunk-6DWVW3Y3.js} +72 -6
- package/dist/chunk-6DWVW3Y3.js.map +1 -0
- package/dist/{chunk-R54PIXWM.js → chunk-GQLJGQVM.js} +4 -4
- package/dist/{chunk-6BD4IUWX.js → chunk-RBRA7WOL.js} +2 -2
- package/dist/{claude-pair-runtime-END3LNCB.js → claude-pair-runtime-WKQRAJMK.js} +2 -2
- package/dist/lib/manager-worker.js +13 -13
- package/dist/mcp/direct-chat-channel.js +23 -1
- package/dist/mcp/index.js +23 -1
- package/dist/mcp/origami.js +23 -1
- package/dist/mcp/slack-channel.js +23 -1
- package/dist/mcp/telegram-channel.js +23 -1
- package/dist/{persistent-session-2B2HJ6XC.js → persistent-session-56YC375I.js} +3 -3
- package/dist/{responsiveness-probe-7TGB5SMR.js → responsiveness-probe-PW4RGBR4.js} +3 -3
- package/dist/{session-auth-dead-I2KT7CGB.js → session-auth-dead-4GZDGAWS.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-RDPAELV2.js.map +0 -1
- /package/dist/{chunk-R54PIXWM.js.map → chunk-GQLJGQVM.js.map} +0 -0
- /package/dist/{chunk-6BD4IUWX.js.map → chunk-RBRA7WOL.js.map} +0 -0
- /package/dist/{claude-pair-runtime-END3LNCB.js.map → claude-pair-runtime-WKQRAJMK.js.map} +0 -0
- /package/dist/{persistent-session-2B2HJ6XC.js.map → persistent-session-56YC375I.js.map} +0 -0
- /package/dist/{responsiveness-probe-7TGB5SMR.js.map → responsiveness-probe-PW4RGBR4.js.map} +0 -0
- /package/dist/{session-auth-dead-I2KT7CGB.js.map → session-auth-dead-4GZDGAWS.js.map} +0 -0
package/dist/bin/agt.js
CHANGED
|
@@ -40,12 +40,12 @@ import {
|
|
|
40
40
|
success,
|
|
41
41
|
table,
|
|
42
42
|
warn
|
|
43
|
-
} from "../chunk-
|
|
43
|
+
} from "../chunk-GQLJGQVM.js";
|
|
44
44
|
import {
|
|
45
45
|
getProjectDir,
|
|
46
46
|
isSessionResumeDisabled,
|
|
47
47
|
readDirectChatSessionState
|
|
48
|
-
} from "../chunk-
|
|
48
|
+
} from "../chunk-RBRA7WOL.js";
|
|
49
49
|
import {
|
|
50
50
|
AnchorSessionClient,
|
|
51
51
|
CHANNEL_REGISTRY,
|
|
@@ -79,7 +79,7 @@ import {
|
|
|
79
79
|
serializeManifestForSlackCli,
|
|
80
80
|
sessionFileExists,
|
|
81
81
|
sessionTranscriptDir
|
|
82
|
-
} from "../chunk-
|
|
82
|
+
} from "../chunk-6DWVW3Y3.js";
|
|
83
83
|
import "../chunk-XWVM4KPK.js";
|
|
84
84
|
|
|
85
85
|
// src/bin/agt.ts
|
|
@@ -5467,7 +5467,7 @@ import { execFileSync, execSync } from "child_process";
|
|
|
5467
5467
|
import { existsSync as existsSync11, realpathSync as realpathSync2 } from "fs";
|
|
5468
5468
|
import chalk18 from "chalk";
|
|
5469
5469
|
import ora16 from "ora";
|
|
5470
|
-
var cliVersion = true ? "0.28.
|
|
5470
|
+
var cliVersion = true ? "0.28.792" : "dev";
|
|
5471
5471
|
async function fetchLatestVersion() {
|
|
5472
5472
|
const host2 = getHost();
|
|
5473
5473
|
if (!host2) return null;
|
|
@@ -6658,7 +6658,7 @@ function handleError(err) {
|
|
|
6658
6658
|
}
|
|
6659
6659
|
|
|
6660
6660
|
// src/bin/agt.ts
|
|
6661
|
-
var cliVersion2 = true ? "0.28.
|
|
6661
|
+
var cliVersion2 = true ? "0.28.792" : "dev";
|
|
6662
6662
|
var program = new Command();
|
|
6663
6663
|
program.name("agt").description("Augmented CLI \u2014 agent provisioning and management").version(cliVersion2).option("--json", "Emit machine-readable JSON output (suppress spinners and colors)").option("--skip-update-check", "Skip the automatic update check on startup");
|
|
6664
6664
|
program.hook("preAction", async (thisCommand, actionCommand) => {
|
|
@@ -929,6 +929,39 @@ function formatCalendarConfidentialityLines(config) {
|
|
|
929
929
|
}
|
|
930
930
|
return lines;
|
|
931
931
|
}
|
|
932
|
+
var CHANNEL_ALLOWLIST_KEY = "allowed_channels";
|
|
933
|
+
function hasEmptyChannelAllowlist(g) {
|
|
934
|
+
const config = g.config ?? {};
|
|
935
|
+
if (!Object.prototype.hasOwnProperty.call(config, CHANNEL_ALLOWLIST_KEY))
|
|
936
|
+
return false;
|
|
937
|
+
const value = config[CHANNEL_ALLOWLIST_KEY];
|
|
938
|
+
if (!Array.isArray(value))
|
|
939
|
+
return true;
|
|
940
|
+
return value.filter((c) => typeof c === "string" && c.trim() !== "").length === 0;
|
|
941
|
+
}
|
|
942
|
+
function effectiveChannelAllowlistEnforcement(g) {
|
|
943
|
+
if (g.enforcement === "disabled")
|
|
944
|
+
return g.enforcement;
|
|
945
|
+
if (g.definitionId === EMAIL_DOMAIN_RESTRICT_DEF)
|
|
946
|
+
return g.enforcement;
|
|
947
|
+
if (g.definitionId === CALENDAR_CONFIDENTIALITY_DEF)
|
|
948
|
+
return g.enforcement;
|
|
949
|
+
if (!hasEmptyChannelAllowlist(g))
|
|
950
|
+
return g.enforcement;
|
|
951
|
+
return "log";
|
|
952
|
+
}
|
|
953
|
+
function formatEmptyChannelAllowlistLines() {
|
|
954
|
+
return [
|
|
955
|
+
` **This guardrail is misconfigured and enforces nothing.** Its channel allowlist`,
|
|
956
|
+
` contains no usable channel entry \u2014 it is empty, or holds only blanks or values`,
|
|
957
|
+
` that are not channel names \u2014 so it names no permitted channel and no forbidden`,
|
|
958
|
+
` one, and nothing in the platform reads it. Do NOT refuse to post on its basis,`,
|
|
959
|
+
` and do not treat it as a`,
|
|
960
|
+
` list of channels you are approved for. Report it to your operator: this guardrail`,
|
|
961
|
+
` was retired from the library in July 2026 (ENG-7476) and this application outlived`,
|
|
962
|
+
` the removal (ENG-9663).`
|
|
963
|
+
];
|
|
964
|
+
}
|
|
932
965
|
function renderGuardrailBullet(g) {
|
|
933
966
|
const lines = [];
|
|
934
967
|
const header = `- **${g.displayName}** (${g.category}, from ${g.source})`;
|
|
@@ -936,7 +969,11 @@ function renderGuardrailBullet(g) {
|
|
|
936
969
|
if (g.description?.trim()) {
|
|
937
970
|
lines.push(` ${g.description.trim()}`);
|
|
938
971
|
}
|
|
939
|
-
lines.push(...g.definitionId === EMAIL_DOMAIN_RESTRICT_DEF ? formatEmailDomainConfigLines(g.config) : g.definitionId === CALENDAR_CONFIDENTIALITY_DEF ? formatCalendarConfidentialityLines(g.config) :
|
|
972
|
+
lines.push(...g.definitionId === EMAIL_DOMAIN_RESTRICT_DEF ? formatEmailDomainConfigLines(g.config) : g.definitionId === CALENDAR_CONFIDENTIALITY_DEF ? formatCalendarConfidentialityLines(g.config) : (
|
|
973
|
+
// ENG-9663: checked AFTER the two named formatters, so an email or
|
|
974
|
+
// calendar guardrail can never be captured by the structural match.
|
|
975
|
+
hasEmptyChannelAllowlist(g) ? formatEmptyChannelAllowlistLines() : formatConfigLines(g.config)
|
|
976
|
+
));
|
|
940
977
|
return lines.join("\n");
|
|
941
978
|
}
|
|
942
979
|
function renderOverriddenGuardrailBullet(g) {
|
|
@@ -950,7 +987,11 @@ function renderOverriddenGuardrailBullet(g) {
|
|
|
950
987
|
if (g.description?.trim()) {
|
|
951
988
|
lines.push(` ${g.description.trim()}`);
|
|
952
989
|
}
|
|
953
|
-
lines.push(...g.definitionId === EMAIL_DOMAIN_RESTRICT_DEF ? formatEmailDomainConfigLines(g.config) : g.definitionId === CALENDAR_CONFIDENTIALITY_DEF ? formatCalendarConfidentialityLines(g.config) :
|
|
990
|
+
lines.push(...g.definitionId === EMAIL_DOMAIN_RESTRICT_DEF ? formatEmailDomainConfigLines(g.config) : g.definitionId === CALENDAR_CONFIDENTIALITY_DEF ? formatCalendarConfidentialityLines(g.config) : (
|
|
991
|
+
// ENG-9663: checked AFTER the two named formatters, so an email or
|
|
992
|
+
// calendar guardrail can never be captured by the structural match.
|
|
993
|
+
hasEmptyChannelAllowlist(g) ? formatEmptyChannelAllowlistLines() : formatConfigLines(g.config)
|
|
994
|
+
));
|
|
954
995
|
return lines.join("\n");
|
|
955
996
|
}
|
|
956
997
|
function effectiveCalendarEnforcement(g) {
|
|
@@ -985,9 +1026,12 @@ function buildGuardrailsSection(guardrails) {
|
|
|
985
1026
|
if (!guardrails || guardrails.length === 0)
|
|
986
1027
|
return "";
|
|
987
1028
|
const active = guardrails.map((g) => {
|
|
988
|
-
const enforcement =
|
|
1029
|
+
const enforcement = effectiveChannelAllowlistEnforcement({
|
|
989
1030
|
...g,
|
|
990
|
-
enforcement:
|
|
1031
|
+
enforcement: effectiveEmailEnforcement({
|
|
1032
|
+
...g,
|
|
1033
|
+
enforcement: effectiveCalendarEnforcement(g)
|
|
1034
|
+
})
|
|
991
1035
|
});
|
|
992
1036
|
return { ...g, enforcement };
|
|
993
1037
|
}).filter((g) => g.enforcement !== "disabled" || !!(g.overrideApplied && g.overrideReason?.trim()));
|
|
@@ -1880,7 +1924,29 @@ var INTEGRATION_REGISTRY = [
|
|
|
1880
1924
|
premium: {
|
|
1881
1925
|
pricing: "usage",
|
|
1882
1926
|
note: "Billed per minute of real-time voice conversation.",
|
|
1883
|
-
meters: [
|
|
1927
|
+
meters: [
|
|
1928
|
+
{ event_type: "voice_session", unit: "minute" },
|
|
1929
|
+
// ENG-9870. Ninja Notes cloud transcription, on the SAME definition id
|
|
1930
|
+
// and therefore the SAME $50/org pool as voice conversation — Brad's
|
|
1931
|
+
// call on 2026-09-03, against a recommendation to separate it. Sharing
|
|
1932
|
+
// is by construction rather than by wiring: `evaluateUsageBudget`
|
|
1933
|
+
// iterates every event type under the definition.
|
|
1934
|
+
//
|
|
1935
|
+
// `audio_hour`, not `minute`. The vendor prices per hour and the sell
|
|
1936
|
+
// price is per hour, so hours store exactly (50 minor) where minutes
|
|
1937
|
+
// would be 0.8333 repeating; `integration_usage_events.units` is
|
|
1938
|
+
// `numeric`, so a 30-minute meeting records 0.5 units precisely. This
|
|
1939
|
+
// is the answer to ENG-9773 §10.1's open question about whether hours
|
|
1940
|
+
// convert to minutes or the vocabulary gains hours.
|
|
1941
|
+
//
|
|
1942
|
+
// NOTHING RECORDS THIS EVENT YET. Metering belongs at the chokepoint
|
|
1943
|
+
// where audio is actually sent, and ENG-9868 left the transport
|
|
1944
|
+
// injected with no implementation. The rate card exists first
|
|
1945
|
+
// deliberately: a billable event with no USD rate makes
|
|
1946
|
+
// `evaluateUsageBudget` throw, and on a SHARED pool that would break
|
|
1947
|
+
// Voice Chat's budget check, not just this one.
|
|
1948
|
+
{ event_type: "transcription", unit: "audio_hour" }
|
|
1949
|
+
]
|
|
1884
1950
|
}
|
|
1885
1951
|
},
|
|
1886
1952
|
{
|
|
@@ -13527,4 +13593,4 @@ export {
|
|
|
13527
13593
|
peekCurrentSession,
|
|
13528
13594
|
readDailySessionPin
|
|
13529
13595
|
};
|
|
13530
|
-
//# sourceMappingURL=chunk-
|
|
13596
|
+
//# sourceMappingURL=chunk-6DWVW3Y3.js.map
|