@integrity-labs/agt-cli 0.28.407 → 0.28.409

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.
@@ -8620,6 +8620,15 @@ var FLAG_REGISTRY = [
8620
8620
  // fleet onto the rail that broke prod twice. Net-new gate, so registry-only (ADR-0022);
8621
8621
  // consumed by the manager's own logic, not an in-container MCP, so no env materialization.
8622
8622
  defaultValue: false
8623
+ },
8624
+ {
8625
+ key: "scheduled-task-confirmation-card",
8626
+ description: `Post the \u{1F44D}/\u{1F44E} "Task complete?" kanban confirmation card for completed scheduled_task runs (ENG-4576 / ENG-6048). OFF (default) kills these cards fleet-wide: ENG-8072 found they mis-thread onto the run's captured slack_delivery, which in the persistent-session model is frequently a conversational reply rather than the task's own output - so a routine cron's confirmation card lands in an unrelated human thread (e.g. a half-hourly reconciliation card posted into a "you're back online" DM), and a clean cron emits a human \u{1F44D}/\u{1F44E} prompt on every tick regardless. The card was net-negative, so it is disabled by default. Turn it ON per org to restore scheduled-task ratings for a customer who wants them (e.g. a daily digest delivered to a channel). Evaluated per-org in the API (POST /host/runs/finish + the manager rating-prompt route) via getEvaluatedFlags(); the decision is passed into postScheduledTaskKanbanConfirmation. API-only gate - no host env materialization. Ships dark (cards off).`,
8627
+ flagType: "boolean",
8628
+ // Declared safe value is `false`: cards suppressed. `false` is also the fail-closed
8629
+ // direction - a flag-DB read error must not resurrect the mis-threading/noise the kill
8630
+ // fixes. Net-new gate, registry-only (ADR-0022); API-evaluated, no env materialization.
8631
+ defaultValue: false
8623
8632
  }
8624
8633
  ];
8625
8634
  var REGISTRY_BY_KEY = new Map(FLAG_REGISTRY.map((definition) => [definition.key, definition]));
@@ -9810,11 +9819,15 @@ function readConfig(codeName) {
9810
9819
  const p2 = configPath(codeName);
9811
9820
  if (!existsSync2(p2))
9812
9821
  return {};
9822
+ let parsed;
9813
9823
  try {
9814
- return JSON.parse(readFileSync3(p2, "utf8"));
9824
+ parsed = JSON.parse(readFileSync3(p2, "utf8"));
9815
9825
  } catch {
9816
9826
  return {};
9817
9827
  }
9828
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
9829
+ return {};
9830
+ return parsed;
9818
9831
  }
9819
9832
  function writeConfig(codeName, config) {
9820
9833
  const p2 = configPath(codeName);
@@ -10020,6 +10033,22 @@ var opencodeAdapter = {
10020
10033
  writeConfig(codeName, cfg);
10021
10034
  }
10022
10035
  },
10036
+ /**
10037
+ * ENG-7994: opencode declares its servers under `mcp` in `opencode.json`, not
10038
+ * under claude-code's `mcpServers`. The manager's stale-MCP prunes used to
10039
+ * parse `mcpServers` off whatever file `getMcpPath()` returned, so for
10040
+ * opencode they iterated an empty set and never removed anything: a revoked
10041
+ * managed toolkit (prod agent nora's composio_googledocs, 2026-07-22) kept its
10042
+ * broken remote MCP entry and wedged her turns until it was deleted by hand.
10043
+ * `readConfig` already fails soft on a missing/unparseable file, so a
10044
+ * not-yet-provisioned agent reports no servers rather than throwing.
10045
+ */
10046
+ readMcpServers(codeName) {
10047
+ const mcp = readConfig(codeName)["mcp"];
10048
+ if (!mcp || typeof mcp !== "object" || Array.isArray(mcp))
10049
+ return {};
10050
+ return mcp;
10051
+ },
10023
10052
  hasChannelCredentials(codeName, channelId) {
10024
10053
  const mcp = readConfig(codeName)["mcp"];
10025
10054
  return Boolean(mcp && mcp[channelId]);
@@ -12473,4 +12502,4 @@ export {
12473
12502
  stopAllSessionsAndWait,
12474
12503
  getProjectDir
12475
12504
  };
12476
- //# sourceMappingURL=chunk-RD7MIR3G.js.map
12505
+ //# sourceMappingURL=chunk-YLLK4G3B.js.map