@integrity-labs/agt-cli 0.28.224 → 0.28.225

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 CHANGED
@@ -38,7 +38,7 @@ import {
38
38
  success,
39
39
  table,
40
40
  warn
41
- } from "../chunk-TPL4KIC5.js";
41
+ } from "../chunk-A36N2XXT.js";
42
42
  import {
43
43
  CHANNEL_REGISTRY,
44
44
  DEFAULT_FRAMEWORK,
@@ -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.224" : "dev";
4829
+ var cliVersion = true ? "0.28.225" : "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.224" : "dev";
5843
+ var cliVersion2 = true ? "0.28.225" : "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) => {
@@ -5667,7 +5667,7 @@ function requireHost() {
5667
5667
  }
5668
5668
 
5669
5669
  // src/lib/api-client.ts
5670
- var agtCliVersion = true ? "0.28.224" : "dev";
5670
+ var agtCliVersion = true ? "0.28.225" : "dev";
5671
5671
  var lastConfigHash = null;
5672
5672
  function setConfigHash(hash) {
5673
5673
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -7720,4 +7720,4 @@ export {
7720
7720
  managerInstallSystemUnitCommand,
7721
7721
  managerUninstallSystemUnitCommand
7722
7722
  };
7723
- //# sourceMappingURL=chunk-TPL4KIC5.js.map
7723
+ //# sourceMappingURL=chunk-A36N2XXT.js.map
@@ -37,7 +37,7 @@ import {
37
37
  requireHost,
38
38
  safeWriteJsonAtomic,
39
39
  setConfigHash
40
- } from "../chunk-TPL4KIC5.js";
40
+ } from "../chunk-A36N2XXT.js";
41
41
  import {
42
42
  getProjectDir as getProjectDir2,
43
43
  getReadyTasks,
@@ -837,6 +837,21 @@ var MANAGED_MCP_SERVER_PREFIXES = [
837
837
  function isManagedMcpServerKey(key) {
838
838
  return MANAGED_MCP_SERVER_PREFIXES.some((p) => key.startsWith(p));
839
839
  }
840
+ function isRemoteMcpEntry(value) {
841
+ if (!value || typeof value !== "object") return false;
842
+ const e = value;
843
+ return e.type === "http" || e.type === "sse" || typeof e.url === "string" && e.command === void 0;
844
+ }
845
+ function orphanedRemoteMcpKeys(mcpServers, expectedIntegrationKeys) {
846
+ const orphans = [];
847
+ for (const [key, entry] of Object.entries(mcpServers)) {
848
+ if (expectedIntegrationKeys.has(key)) continue;
849
+ if (isManagedMcpServerKey(key)) continue;
850
+ if (!isRemoteMcpEntry(entry)) continue;
851
+ orphans.push(key);
852
+ }
853
+ return orphans;
854
+ }
840
855
 
841
856
  // src/lib/auto-resume.ts
842
857
  var DEFAULT_QUIET_MS = 18e5;
@@ -6243,7 +6258,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
6243
6258
  var lastVersionCheckAt = 0;
6244
6259
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
6245
6260
  var lastResponsivenessProbeAt = 0;
6246
- var agtCliVersion = true ? "0.28.224" : "dev";
6261
+ var agtCliVersion = true ? "0.28.225" : "dev";
6247
6262
  function resolveBrewPath(execFileSync2) {
6248
6263
  try {
6249
6264
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -8739,6 +8754,23 @@ async function processAgent(agent, agentStates) {
8739
8754
  log(`Session-tool-bind probe failed for '${agent.code_name}': ${err.message}`);
8740
8755
  }
8741
8756
  }
8757
+ if (frameworkAdapter.removeMcpServer && frameworkAdapter.getMcpPath) {
8758
+ const mcpPath = frameworkAdapter.getMcpPath(agent.code_name);
8759
+ if (mcpPath && existsSync8(mcpPath)) {
8760
+ try {
8761
+ const cfg = JSON.parse(readFileSync14(mcpPath, "utf-8"));
8762
+ const expectedRemoteKeys = new Set(
8763
+ integrations.map((i) => i.definition_id)
8764
+ );
8765
+ for (const key of orphanedRemoteMcpKeys(cfg.mcpServers ?? {}, expectedRemoteKeys)) {
8766
+ frameworkAdapter.removeMcpServer(agent.code_name, key);
8767
+ log(`[hot-reload] Removed orphaned remote MCP server '${key}' for '${agent.code_name}' (integration removed)`);
8768
+ }
8769
+ } catch (err) {
8770
+ log(`[hot-reload] Failed to prune orphaned remote MCP servers for '${agent.code_name}': ${err.message}`);
8771
+ }
8772
+ }
8773
+ }
8742
8774
  if (integrations.length > 0) {
8743
8775
  const intHash = computeIntegrationsHash(integrations);
8744
8776
  const prevIntHash = agentState.knownIntegrationHashes.get(agent.agent_id);