@integrity-labs/agt-cli 0.28.226 → 0.28.228
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-IRMBTIZO.js → chunk-STDJAYQQ.js} +77 -11
- package/dist/chunk-STDJAYQQ.js.map +1 -0
- package/dist/{chunk-C2EXC6LY.js → chunk-VV5IXUN6.js} +13 -2
- package/dist/chunk-VV5IXUN6.js.map +1 -0
- package/dist/{claude-pair-runtime-NWOXCBWA.js → claude-pair-runtime-CGFYM63W.js} +2 -2
- package/dist/lib/manager-worker.js +44 -9
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/{persistent-session-AIX7H4CC.js → persistent-session-VZ44GVA4.js} +2 -2
- package/dist/{responsiveness-probe-VBXDCOHO.js → responsiveness-probe-DLIVXYKX.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-C2EXC6LY.js.map +0 -1
- package/dist/chunk-IRMBTIZO.js.map +0 -1
- /package/dist/{claude-pair-runtime-NWOXCBWA.js.map → claude-pair-runtime-CGFYM63W.js.map} +0 -0
- /package/dist/{persistent-session-AIX7H4CC.js.map → persistent-session-VZ44GVA4.js.map} +0 -0
- /package/dist/{responsiveness-probe-VBXDCOHO.js.map → responsiveness-probe-DLIVXYKX.js.map} +0 -0
package/dist/bin/agt.js
CHANGED
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
success,
|
|
39
39
|
table,
|
|
40
40
|
warn
|
|
41
|
-
} from "../chunk-
|
|
41
|
+
} from "../chunk-STDJAYQQ.js";
|
|
42
42
|
import {
|
|
43
43
|
CHANNEL_REGISTRY,
|
|
44
44
|
DEFAULT_FRAMEWORK,
|
|
@@ -67,7 +67,7 @@ import {
|
|
|
67
67
|
renderTemplate,
|
|
68
68
|
resolveChannels,
|
|
69
69
|
serializeManifestForSlackCli
|
|
70
|
-
} from "../chunk-
|
|
70
|
+
} from "../chunk-VV5IXUN6.js";
|
|
71
71
|
import "../chunk-XWVM4KPK.js";
|
|
72
72
|
|
|
73
73
|
// src/bin/agt.ts
|
|
@@ -4826,7 +4826,7 @@ import { execFileSync, execSync } from "child_process";
|
|
|
4826
4826
|
import { existsSync as existsSync10, realpathSync as realpathSync2 } from "fs";
|
|
4827
4827
|
import chalk18 from "chalk";
|
|
4828
4828
|
import ora16 from "ora";
|
|
4829
|
-
var cliVersion = true ? "0.28.
|
|
4829
|
+
var cliVersion = true ? "0.28.228" : "dev";
|
|
4830
4830
|
async function fetchLatestVersion() {
|
|
4831
4831
|
const host2 = getHost();
|
|
4832
4832
|
if (!host2) return null;
|
|
@@ -5840,7 +5840,7 @@ function handleError(err) {
|
|
|
5840
5840
|
}
|
|
5841
5841
|
|
|
5842
5842
|
// src/bin/agt.ts
|
|
5843
|
-
var cliVersion2 = true ? "0.28.
|
|
5843
|
+
var cliVersion2 = true ? "0.28.228" : "dev";
|
|
5844
5844
|
var program = new Command();
|
|
5845
5845
|
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");
|
|
5846
5846
|
program.hook("preAction", async (thisCommand, actionCommand) => {
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
resolveConnectivityProbe,
|
|
19
19
|
worseConnectivityOutcome,
|
|
20
20
|
wrapScheduledTaskPrompt
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-VV5IXUN6.js";
|
|
22
22
|
import {
|
|
23
23
|
parsePsRows
|
|
24
24
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -648,6 +648,32 @@ you MUST use the Augmented MCP tools \u2014 never write to
|
|
|
648
648
|
this team
|
|
649
649
|
- **\`mcp__augmented__skill_improve\`** \u2014 propose targeted edits
|
|
650
650
|
|
|
651
|
+
### Proactively offer to codify repeated instructions
|
|
652
|
+
|
|
653
|
+
Do not wait to be asked. When a user's instruction shows a **codify-worthy
|
|
654
|
+
signal**, offer in the moment to turn it into a skill. You still never create
|
|
655
|
+
one silently - you *propose*, the human confirms scope, then you create it.
|
|
656
|
+
Signals:
|
|
657
|
+
|
|
658
|
+
- The same instruction or preference given across **two or more sessions**,
|
|
659
|
+
or asked of you **2+ times**.
|
|
660
|
+
- Standing-rule phrasing - "always", "every time", "from now on",
|
|
661
|
+
"going forward" - framing a durable rule, not a one-off ask.
|
|
662
|
+
- A **correction you have had to apply more than once**.
|
|
663
|
+
- A **formatting or procedure standard** stated as a rule (an email shell, a
|
|
664
|
+
signature block, a report layout, a review checklist).
|
|
665
|
+
|
|
666
|
+
When you spot one, say so - e.g. "You've asked for this a few times; want me
|
|
667
|
+
to codify it as a skill so it auto-applies every time instead of me redoing it
|
|
668
|
+
by hand?" - then on a yes, confirm scope (below) and \`skill_create\` it,
|
|
669
|
+
writing the skill's *description* so it auto-activates on the matching task
|
|
670
|
+
(e.g. "Use when drafting any email for <client>").
|
|
671
|
+
|
|
672
|
+
Skill vs memory: a **repeated procedure** (a how-to you keep re-applying)
|
|
673
|
+
belongs in a **skill** (auto-loads on the task); a one-off fact or preference
|
|
674
|
+
belongs in **memory** (recall). Route repeated procedures to skills, not just
|
|
675
|
+
memory. Either way the human approves first - you offer, they confirm.
|
|
676
|
+
|
|
651
677
|
### Always confirm scope before creating
|
|
652
678
|
|
|
653
679
|
Before invoking \`skill_create\`, ask the user: **"Should this skill be
|
|
@@ -5667,7 +5693,7 @@ function requireHost() {
|
|
|
5667
5693
|
}
|
|
5668
5694
|
|
|
5669
5695
|
// src/lib/api-client.ts
|
|
5670
|
-
var agtCliVersion = true ? "0.28.
|
|
5696
|
+
var agtCliVersion = true ? "0.28.228" : "dev";
|
|
5671
5697
|
var lastConfigHash = null;
|
|
5672
5698
|
function setConfigHash(hash) {
|
|
5673
5699
|
lastConfigHash = hash && hash.length > 0 ? hash : null;
|
|
@@ -6784,7 +6810,13 @@ import { join as join6 } from "path";
|
|
|
6784
6810
|
function classifyMcpServer(entry) {
|
|
6785
6811
|
if (!entry || typeof entry !== "object") return "unknown";
|
|
6786
6812
|
const e = entry;
|
|
6787
|
-
if (typeof e.command === "string")
|
|
6813
|
+
if (typeof e.command === "string") {
|
|
6814
|
+
const env = e.env;
|
|
6815
|
+
if (env && typeof env === "object" && typeof env["AGT_REMOTE_MCP_URL"] === "string" && typeof env["AGT_REMOTE_MCP_TOKEN_VAR"] === "string") {
|
|
6816
|
+
return "oauth-proxy";
|
|
6817
|
+
}
|
|
6818
|
+
return "stdio";
|
|
6819
|
+
}
|
|
6788
6820
|
if (typeof e.url === "string") return "http";
|
|
6789
6821
|
return "unknown";
|
|
6790
6822
|
}
|
|
@@ -6792,17 +6824,31 @@ function splitServerKeysByKind(mcpJson, serverKeys) {
|
|
|
6792
6824
|
const servers = mcpJson?.mcpServers ?? {};
|
|
6793
6825
|
const stdio = [];
|
|
6794
6826
|
const http = [];
|
|
6827
|
+
const proxy = [];
|
|
6795
6828
|
for (const key of serverKeys) {
|
|
6796
6829
|
const kind = classifyMcpServer(servers[key]);
|
|
6797
6830
|
if (kind === "stdio") stdio.push(key);
|
|
6798
6831
|
else if (kind === "http") http.push(key);
|
|
6832
|
+
else if (kind === "oauth-proxy") proxy.push(key);
|
|
6799
6833
|
}
|
|
6800
|
-
return { stdio, http };
|
|
6834
|
+
return { stdio, http, proxy };
|
|
6801
6835
|
}
|
|
6802
6836
|
function computeSessionToolBindStatus(input) {
|
|
6803
|
-
const {
|
|
6804
|
-
|
|
6837
|
+
const {
|
|
6838
|
+
stdioServerKeys,
|
|
6839
|
+
httpServerKeys,
|
|
6840
|
+
proxyServerKeys,
|
|
6841
|
+
missingStdioKeys,
|
|
6842
|
+
httpReachable,
|
|
6843
|
+
sessionLoadedServerKeys
|
|
6844
|
+
} = input;
|
|
6845
|
+
if (stdioServerKeys.length === 0 && httpServerKeys.length === 0 && proxyServerKeys.length === 0)
|
|
6846
|
+
return "unknown";
|
|
6805
6847
|
if (stdioServerKeys.some((k) => missingStdioKeys.has(k))) return "missing";
|
|
6848
|
+
if (proxyServerKeys.some((k) => missingStdioKeys.has(k))) return "missing";
|
|
6849
|
+
for (const k of proxyServerKeys) {
|
|
6850
|
+
if (httpReachable.get(k) === false) return "unreachable";
|
|
6851
|
+
}
|
|
6806
6852
|
let anyHttpUnconfirmed = false;
|
|
6807
6853
|
for (const k of httpServerKeys) {
|
|
6808
6854
|
if (!sessionLoadedServerKeys.has(k)) {
|
|
@@ -6813,7 +6859,8 @@ function computeSessionToolBindStatus(input) {
|
|
|
6813
6859
|
if (reachable === false) return "unreachable";
|
|
6814
6860
|
if (reachable === void 0) anyHttpUnconfirmed = true;
|
|
6815
6861
|
}
|
|
6816
|
-
if (anyHttpUnconfirmed && stdioServerKeys.length === 0
|
|
6862
|
+
if (anyHttpUnconfirmed && stdioServerKeys.length === 0 && proxyServerKeys.length === 0)
|
|
6863
|
+
return "unknown";
|
|
6817
6864
|
return "bound";
|
|
6818
6865
|
}
|
|
6819
6866
|
|
|
@@ -6850,6 +6897,7 @@ async function runSessionToolBindProbes(integrations, options) {
|
|
|
6850
6897
|
const batch = due.slice(0, maxPerRun);
|
|
6851
6898
|
const declaredKeys = Object.keys(options.mcpJson?.mcpServers ?? {});
|
|
6852
6899
|
const reports = [];
|
|
6900
|
+
const rebindCandidates = [];
|
|
6853
6901
|
let skipped = 0;
|
|
6854
6902
|
let probed = 0;
|
|
6855
6903
|
for (const integ of batch) {
|
|
@@ -6863,9 +6911,9 @@ async function runSessionToolBindProbes(integrations, options) {
|
|
|
6863
6911
|
continue;
|
|
6864
6912
|
}
|
|
6865
6913
|
probed += 1;
|
|
6866
|
-
const { stdio, http } = splitServerKeysByKind(options.mcpJson, keys);
|
|
6914
|
+
const { stdio, http, proxy } = splitServerKeysByKind(options.mcpJson, keys);
|
|
6867
6915
|
const httpReachable = /* @__PURE__ */ new Map();
|
|
6868
|
-
for (const key of http) {
|
|
6916
|
+
for (const key of [...http, ...proxy]) {
|
|
6869
6917
|
let reachable;
|
|
6870
6918
|
try {
|
|
6871
6919
|
reachable = await options.probeHttp(key);
|
|
@@ -6877,6 +6925,7 @@ async function runSessionToolBindProbes(integrations, options) {
|
|
|
6877
6925
|
const status = computeSessionToolBindStatus({
|
|
6878
6926
|
stdioServerKeys: stdio,
|
|
6879
6927
|
httpServerKeys: http,
|
|
6928
|
+
proxyServerKeys: proxy,
|
|
6880
6929
|
missingStdioKeys: options.missingStdioKeys,
|
|
6881
6930
|
httpReachable,
|
|
6882
6931
|
sessionLoadedServerKeys: options.sessionLoadedServerKeys ?? /* @__PURE__ */ new Set()
|
|
@@ -6886,8 +6935,25 @@ async function runSessionToolBindProbes(integrations, options) {
|
|
|
6886
6935
|
continue;
|
|
6887
6936
|
}
|
|
6888
6937
|
reports.push({ integration_id: integ.id, scope: integ.scope, status });
|
|
6938
|
+
if (status === "missing" || status === "unreachable") {
|
|
6939
|
+
const failingKeys = /* @__PURE__ */ new Set();
|
|
6940
|
+
for (const k of [...stdio, ...proxy]) {
|
|
6941
|
+
if (options.missingStdioKeys.has(k)) failingKeys.add(k);
|
|
6942
|
+
}
|
|
6943
|
+
for (const k of proxy) {
|
|
6944
|
+
if (httpReachable.get(k) === false) failingKeys.add(k);
|
|
6945
|
+
}
|
|
6946
|
+
if (failingKeys.size > 0) {
|
|
6947
|
+
rebindCandidates.push({
|
|
6948
|
+
integration_id: integ.id,
|
|
6949
|
+
scope: integ.scope,
|
|
6950
|
+
status,
|
|
6951
|
+
serverKeys: [...failingKeys]
|
|
6952
|
+
});
|
|
6953
|
+
}
|
|
6954
|
+
}
|
|
6889
6955
|
}
|
|
6890
|
-
return { reports, due: due.length, probed, skipped };
|
|
6956
|
+
return { reports, rebindCandidates, due: due.length, probed, skipped };
|
|
6891
6957
|
}
|
|
6892
6958
|
|
|
6893
6959
|
// src/lib/session-tool-bind-probe-host.ts
|
|
@@ -7720,4 +7786,4 @@ export {
|
|
|
7720
7786
|
managerInstallSystemUnitCommand,
|
|
7721
7787
|
managerUninstallSystemUnitCommand
|
|
7722
7788
|
};
|
|
7723
|
-
//# sourceMappingURL=chunk-
|
|
7789
|
+
//# sourceMappingURL=chunk-STDJAYQQ.js.map
|