@integrity-labs/agt-cli 0.28.508 → 0.28.510

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
@@ -40,7 +40,7 @@ import {
40
40
  success,
41
41
  table,
42
42
  warn
43
- } from "../chunk-GK3TSZ4S.js";
43
+ } from "../chunk-EQW3EHDQ.js";
44
44
  import {
45
45
  AnchorSessionClient,
46
46
  CHANNEL_REGISTRY,
@@ -71,7 +71,7 @@ import {
71
71
  requiredMcpWildcard,
72
72
  resolveChannels,
73
73
  serializeManifestForSlackCli
74
- } from "../chunk-LNPJI2AE.js";
74
+ } from "../chunk-7DZNVMMX.js";
75
75
  import "../chunk-XWVM4KPK.js";
76
76
 
77
77
  // src/bin/agt.ts
@@ -4830,7 +4830,7 @@ import { execFileSync, execSync } from "child_process";
4830
4830
  import { existsSync as existsSync10, realpathSync as realpathSync2 } from "fs";
4831
4831
  import chalk18 from "chalk";
4832
4832
  import ora16 from "ora";
4833
- var cliVersion = true ? "0.28.508" : "dev";
4833
+ var cliVersion = true ? "0.28.510" : "dev";
4834
4834
  async function fetchLatestVersion() {
4835
4835
  const host2 = getHost();
4836
4836
  if (!host2) return null;
@@ -6002,7 +6002,7 @@ function handleError(err) {
6002
6002
  }
6003
6003
 
6004
6004
  // src/bin/agt.ts
6005
- var cliVersion2 = true ? "0.28.508" : "dev";
6005
+ var cliVersion2 = true ? "0.28.510" : "dev";
6006
6006
  var program = new Command();
6007
6007
  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");
6008
6008
  program.hook("preAction", async (thisCommand, actionCommand) => {
@@ -6693,29 +6693,44 @@ var INTEGRATION_REGISTRY = [
6693
6693
  id: "vercel",
6694
6694
  name: "Vercel",
6695
6695
  category: "infrastructure",
6696
- description: "Check on Vercel app deployments \u2014 status, build/runtime logs \u2014 and search Vercel documentation. Remote streamable-HTTP MCP at https://mcp.vercel.com.",
6697
- // Same OAuth pattern as Granola/Higgsfield: Claude Code brokers the
6698
- // browser sign-in at runtime; nothing for the manager API to provision.
6699
- supported_auth_types: ["none"],
6696
+ description: "Check on Vercel app deployments \u2014 what's live, deployment status, and build logs \u2014 through Vercel's REST API with your own API token.",
6697
+ // ENG-8421: api_key, NOT the host-brokered MCP this used to be.
6698
+ //
6699
+ // Vercel MCP (`https://mcp.vercel.com`) is not completable from the
6700
+ // console, and that is a vendor constraint rather than a gap in our
6701
+ // plumbing. Established empirically 2026-08-03: Dynamic Client
6702
+ // Registration REJECTS an https redirect (`invalid_redirect_uri` — "not
6703
+ // approved for use by this authorization server") and ACCEPTS only
6704
+ // localhost; the device-code grant, the one flow needing no redirect, is
6705
+ // refused to DCR clients (`unauthorized_client`). So the only client
6706
+ // Vercel permits is a local one redirecting to its own ephemeral port —
6707
+ // i.e. Claude Code on the agent's host, driven by an operator running
6708
+ // `/mcp` in tmux. No console work can remove that step.
6709
+ //
6710
+ // The REST API has none of those constraints: plain bearer auth
6711
+ // (unauthenticated → `{"code":"forbidden","missingToken":true}`, bogus
6712
+ // bearer → `{"invalidToken":true}`), so a token the customer creates in
6713
+ // their own Vercel dashboard works directly. That makes this an ordinary
6714
+ // paste-a-key integration, and it means WE hold the credential — so it can
6715
+ // be stored, rotated, revoked and audited, none of which was true when the
6716
+ // grant lived in Claude Code's `~/.claude.json` on the host.
6717
+ //
6718
+ // Tools are declared as data on `integration_definitions.metadata.tools`
6719
+ // and dispatch through the existing Direct HTTP broker (the v0 pattern) —
6720
+ // there is deliberately no bespoke Vercel client and no bespoke broker.
6721
+ supported_auth_types: ["api_key"],
6700
6722
  capabilities: [
6701
- { id: "vercel:read-deployments", name: "Read Deployments", description: "List teams/projects, check deployment status, and read build/runtime logs.", access: "read" },
6702
- { id: "vercel:search-docs", name: "Search Documentation", description: "Search Vercel platform documentation.", access: "read" }
6723
+ { id: "vercel:read-deployments", name: "Read Deployments", description: "List teams/projects, check deployment status, and read build logs.", access: "read" }
6703
6724
  ],
6704
- docs_url: "https://vercel.com/docs/agent-resources/vercel-mcp",
6705
- // Beta until the headless OAuth flow (and Vercel's OAuth-client allowlist,
6706
- // which is vendor-side and outside our control) is verified end-to-end.
6707
- beta: true,
6708
- // No `auth`/`headers` — host-brokered OAuth (Claude Code authenticates
6709
- // directly with Vercel; nothing for us to inject). Declaring this here
6710
- // (rather than a hardcoded buildMcpJson/writeIntegrations branch, the
6711
- // pre-ENG-8035 Higgsfield-era pattern) lets the generic remote-MCP loop
6712
- // render the `.mcp.json` entry AND enrolls 'vercel' in the
6713
- // `registryRemoteMcpKeys` prune universe automatically, so an uninstall
6714
- // actually removes the entry instead of leaving it stale.
6715
- remoteMcp: {
6716
- type: "http",
6717
- url: "https://mcp.vercel.com"
6718
- }
6725
+ docs_url: "https://vercel.com/docs/rest-api",
6726
+ // Beta until the REST tool surface has been exercised against a real
6727
+ // customer token. (The previous reason "until the headless OAuth flow is
6728
+ // verified end-to-end" — is void: there is no OAuth flow any more.)
6729
+ beta: true
6730
+ // NO `remoteMcp`. See the tombstone in the claudecode adapter's prune
6731
+ // universe: dropping this field also drops `vercel` from
6732
+ // `registryRemoteMcpKeys`, which would strand the `.mcp.json` entry on
6733
+ // every host that installed the MCP variant.
6719
6734
  },
6720
6735
  {
6721
6736
  id: "qmd",
@@ -9849,6 +9864,22 @@ var FLAG_REGISTRY = [
9849
9864
  // safe: `since` is excluded from projectDefinition, so it does not roll
9850
9865
  // FLAGS_SCHEMA_VERSION.
9851
9866
  },
9867
+ {
9868
+ key: "agt-version-drift-alarm",
9869
+ description: "Arms the ENG-8341 agt CLI version-drift alert. When a host has fallen behind its EFFECTIVE target (env pin > DB pin > release channel) across two or more of its OWN maintenance windows, the monitor opens a host_agt_version_drift alert. OBSERVE-FIRST rollout gate: the cron computes and LOGS the drift for every host on every run regardless of this flag, so the real fleet spread is measurable before anyone is paged - the ticket asks for the threshold to be set from observed data rather than a guess. Off = compute and log, open nothing. Boolean gate; ships dark. Evaluated API-side, in the cron.",
9870
+ flagType: "boolean",
9871
+ // Declared safe value is `false`. Fail-safe direction for a NEW alerting
9872
+ // cron is silence: ~21 hosts with no prior drift signal means the first
9873
+ // armed pass could open an alert for every host that is behind at once.
9874
+ // The cron also carries a bootstrap floor (agent-stall-monitor.ts's
9875
+ // precedent) so arming it does not retroactively page for drift that
9876
+ // started before the monitor existed.
9877
+ defaultValue: false,
9878
+ // Arming this makes a previously-invisible backlog visible all at once, in
9879
+ // the same shape ENG-8204's never-spawned-session-metric warned about - so
9880
+ // the flip is a deliberate, confirmed one (ADR-0022 sensitive-flag confirm).
9881
+ sensitive: true
9882
+ },
9852
9883
  {
9853
9884
  key: "memory-extraction",
9854
9885
  description: "Host-side durable-memory extraction (ENG-6200): the manager extracts candidate memories from completed conversations and POSTs them to /host/memories/candidates, which writes dream_log via promoteCandidates. Post persistent-session cutover this is the ONLY live consolidation path. Boolean gate; ships dark \u2014 when off the manager runs no extraction, so 0 dream_log rows fleet-wide is the expected steady state until it is armed.",
@@ -14908,4 +14939,4 @@ export {
14908
14939
  stopAllSessionsAndWait,
14909
14940
  getProjectDir
14910
14941
  };
14911
- //# sourceMappingURL=chunk-LNPJI2AE.js.map
14942
+ //# sourceMappingURL=chunk-7DZNVMMX.js.map