@integrity-labs/agt-cli 0.28.486 → 0.28.487

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-XP53UXQR.js";
43
+ } from "../chunk-H5H4IVQC.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-SRR5XVWJ.js";
74
+ } from "../chunk-XZI5IHQP.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.486" : "dev";
4833
+ var cliVersion = true ? "0.28.487" : "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.486" : "dev";
6005
+ var cliVersion2 = true ? "0.28.487" : "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) => {
@@ -30,7 +30,7 @@ import {
30
30
  resolveConnectivityProbe,
31
31
  worseConnectivityOutcome,
32
32
  wrapScheduledTaskPrompt
33
- } from "./chunk-SRR5XVWJ.js";
33
+ } from "./chunk-XZI5IHQP.js";
34
34
  import {
35
35
  parsePsRows
36
36
  } from "./chunk-XWVM4KPK.js";
@@ -4938,7 +4938,7 @@ function exchangeFailureKind(err) {
4938
4938
  }
4939
4939
 
4940
4940
  // src/lib/api-client.ts
4941
- var agtCliVersion = true ? "0.28.486" : "dev";
4941
+ var agtCliVersion = true ? "0.28.487" : "dev";
4942
4942
  var lastConfigHash = null;
4943
4943
  function setConfigHash(hash) {
4944
4944
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -7667,4 +7667,4 @@ export {
7667
7667
  managerInstallSystemUnitCommand,
7668
7668
  managerUninstallSystemUnitCommand
7669
7669
  };
7670
- //# sourceMappingURL=chunk-XP53UXQR.js.map
7670
+ //# sourceMappingURL=chunk-H5H4IVQC.js.map
@@ -5090,34 +5090,37 @@ var OAUTH_PROVIDERS = {
5090
5090
  definitionId: "linkedin-ads",
5091
5091
  authorizeUrl: "https://www.linkedin.com/oauth/v2/authorization",
5092
5092
  tokenUrl: "https://www.linkedin.com/oauth/v2/accessToken",
5093
+ // ENG-7897: this list is EXACTLY the Advertising API scope set, because
5094
+ // Advertising API is the only product added to the Brand Ninja app. Every
5095
+ // other scope we used to request here belonged to a product the app does
5096
+ // not hold, and LinkedIn rejects the ENTIRE authorize request with
5097
+ // `unauthorized_scope_error` if ANY single requested scope is ungranted -
5098
+ // so five unapproved scopes bricked the connect for every customer, on
5099
+ // every environment, rather than merely disabling five features.
5100
+ //
5101
+ // Scopes deliberately NOT requested, and the product each needs first:
5102
+ // openid / profile / email -> Sign In with LinkedIn (OpenID Connect)
5103
+ // r_organization_social -> Community Management API
5104
+ // r_marketing_leadgen_automation -> Lead Sync API
5105
+ //
5106
+ // Dropping the OIDC trio costs only the `Connected as <name>` label: the
5107
+ // userInfoUrl fetch in the callback is already best-effort and falls back
5108
+ // to a plain 'Connected'. Do NOT re-add any of these until the matching
5109
+ // product shows under "Added products" on the app - use the
5110
+ // OAUTH_LINKEDIN_ADS_SCOPES override below to widen without a deploy once
5111
+ // an approval lands, and only then promote it into this constant.
5093
5112
  defaultScopes: [
5094
- "openid",
5095
- "profile",
5096
- "email",
5097
5113
  // Advertising API: read + manage campaigns/creatives, and reporting.
5098
5114
  "r_ads",
5099
5115
  "rw_ads",
5100
- "r_ads_reporting",
5101
- // Community Management API: organization page/follower/share statistics.
5102
- "r_organization_social",
5103
- // Lead Sync API: read lead-generation forms + responses.
5104
- // linkedin-verify: `linkedin_ads_create_lead_form` WRITES a lead form, and
5105
- // it is not obvious that `rw_ads` covers that - Lead Sync may need its own
5106
- // write scope. Resolve this during the verification pass against the app's
5107
- // approved products. Do NOT guess a scope string here: an ungranted or
5108
- // misspelled scope makes LinkedIn reject the whole authorize request, so a
5109
- // wrong guess breaks every connect, not just lead forms.
5110
- "r_marketing_leadgen_automation"
5116
+ "r_ads_reporting"
5111
5117
  ],
5112
- // Read-only variant: reporting + organization stats, no campaign/creative
5113
- // mutation. Used when an install is (re)connected with read_only: true.
5118
+ // Read-only variant: reporting only, no campaign/creative mutation. Used
5119
+ // when an install is (re)connected with read_only: true. Same product
5120
+ // constraint as above - `r_organization_social` was removed with it.
5114
5121
  readOnlyScopes: [
5115
- "openid",
5116
- "profile",
5117
- "email",
5118
5122
  "r_ads",
5119
- "r_ads_reporting",
5120
- "r_organization_social"
5123
+ "r_ads_reporting"
5121
5124
  ],
5122
5125
  supportsRefresh: true,
5123
5126
  extraAuthorizeParams: {},
@@ -9249,6 +9252,17 @@ var FLAG_REGISTRY = [
9249
9252
  defaultValue: false,
9250
9253
  envVar: "AGT_FAST_MCP_RESTART_RESPAWN_ENABLED"
9251
9254
  },
9255
+ {
9256
+ key: "never-spawned-session-metric",
9257
+ description: 'Never-spawned session metric (ENG-8204): when ON, the agent-heartbeat-monitor cron emits a `SessionAliveAgeSeconds` datapoint for an ACTIVE agent that has never had a verified session (`last_session_alive_at` null), aged from `created_at`. Without it those agents emit no datapoint at all, and because the session-stale alarm sets `TreatMissingData: notBreaching`, the one alarm built for "fresh heartbeat but no session" can never fire for the very case it describes \u2014 a newly-onboarded agent whose session never spawned. Observe-first rollout gate: the cron logs the never-spawned count and oldest age EVERY run regardless of this flag, so the backlog is measurable before the alarm is armed. The AUGMENTED_NEVER_SPAWNED_SESSION_METRIC_ENABLED env var is the highest-precedence operator override; precedence is env override > flag value > this default.',
9258
+ flagType: "boolean",
9259
+ defaultValue: false,
9260
+ envVar: "AUGMENTED_NEVER_SPAWNED_SESSION_METRIC_ENABLED",
9261
+ // Enabling this pages on every active agent that has never had a session,
9262
+ // which on first flip may surface an existing backlog all at once. Read the
9263
+ // observe-phase log line before flipping.
9264
+ sensitive: true
9265
+ },
9252
9266
  {
9253
9267
  key: "channel-silent-loss-alarm",
9254
9268
  description: "Channel silent-loss alarm (ENG-6728): when ON, the responsiveness-probe route creates a per-agent CloudWatch alarm that pages on a `ChannelDeflections` Cause=replay_orphaned datapoint (a recoverable inbound aged out without delivery). Observe-first rollout gate, flipped stage-wide from the admin Feature Flags page; the underlying metric ships since ENG-6355. The AUGMENTED_CHANNEL_SILENT_LOSS_ALARM_ENABLED env var is retained as the highest-precedence operator override; precedence is env override > flag value > this default.",
@@ -14486,4 +14500,4 @@ export {
14486
14500
  stopAllSessionsAndWait,
14487
14501
  getProjectDir
14488
14502
  };
14489
- //# sourceMappingURL=chunk-SRR5XVWJ.js.map
14503
+ //# sourceMappingURL=chunk-XZI5IHQP.js.map