@integrity-labs/agt-cli 0.28.282 → 0.28.283

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-6SRVCYKR.js";
41
+ } from "../chunk-DDQKILX6.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-C4QMCOAN.js";
70
+ } from "../chunk-CUQUOIPW.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.282" : "dev";
4829
+ var cliVersion = true ? "0.28.283" : "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.282" : "dev";
5843
+ var cliVersion2 = true ? "0.28.283" : "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) => {
@@ -6668,7 +6668,8 @@ var KANBAN_STATUSES = [
6668
6668
  "done",
6669
6669
  "failed",
6670
6670
  "cancelled",
6671
- "needs_attention"
6671
+ "needs_attention",
6672
+ "waiting"
6672
6673
  ];
6673
6674
  var KANBAN_STATUS_SET = new Set(KANBAN_STATUSES);
6674
6675
 
@@ -7589,6 +7590,21 @@ var FLAG_REGISTRY = [
7589
7590
  // current behaviour (single-slot injection). Turning it ON only makes the
7590
7591
  // fallback MORE conservative (injects less), so it removes no control.
7591
7592
  defaultValue: false
7593
+ },
7594
+ {
7595
+ key: "kanban-waiting-status",
7596
+ description: "Let managed agents set the 'waiting' kanban status via POST /host/kanban (ADR-0044 / ENG-7493) - work that has started but is parked on a human decision or an external dependency (a PR review, an approval). This is the DEPLOY-ORDER gate (ADR-0044 section 8): the status value + its migration (20260709000003), the webapp Waiting column, and the ~7-day reaper backstop all ship first, and this flag is flipped ON per org LAST, once they are live - the moment agents are allowed to emit `waiting`. Off (default) = the API rejects an agent `waiting` write with the existing 400, exactly as today. The API gate (evaluated per-org in POST /host/kanban via getEvaluatedFlags()) is the authoritative boundary. It is ALSO materialized host-side into AGT_KANBAN_WAITING_ENABLED (ENG-7591) so the kanban_move MCP tool only exposes `waiting` to agents once the host resolves the flag on - a host-grained UX hint, not the security boundary (the per-org API gate still decides). Ships dark.",
7597
+ flagType: "boolean",
7598
+ // Declared safe value is `false`: agents cannot emit `waiting` until an operator
7599
+ // flips it on for the org, after the migration + webapp column + reaper backstop
7600
+ // are deployed. Turning it ON grants a new capability, so it is not sensitive in
7601
+ // the "relaxing a control" sense, but it MUST stay off until the deploy order is met.
7602
+ defaultValue: false,
7603
+ // Host-side materialization vehicle (ENG-7591): the manager writes this into the
7604
+ // agent's spawn env from the resolved flag so the stdio MCP server (which cannot
7605
+ // call the flag evaluator) can gate the kanban_move `waiting` option. Also the
7606
+ // highest-precedence operator override, per ADR-0022.
7607
+ envVar: "AGT_KANBAN_WAITING_ENABLED"
7592
7608
  }
7593
7609
  ];
7594
7610
  var REGISTRY_BY_KEY = new Map(FLAG_REGISTRY.map((definition) => [definition.key, definition]));
@@ -8266,7 +8282,7 @@ function restartEgressSidecar(codeName) {
8266
8282
  }
8267
8283
  }
8268
8284
  function buildDockerRunCommand(args) {
8269
- const { codeName, agentId, wrapperPath, projectDir, homeDir, runId, passApiKey, passOpenRouter, egress, forwardSlackReplyBinding, forwardBlockTurnEndAllMarkers } = args;
8285
+ const { codeName, agentId, wrapperPath, projectDir, homeDir, runId, passApiKey, passOpenRouter, egress, forwardSlackReplyBinding, forwardBlockTurnEndAllMarkers, forwardKanbanWaiting } = args;
8270
8286
  const q = (s) => `'${s.replace(/'/g, `'\\''`)}'`;
8271
8287
  const agentDir = join2(homeDir, ".augmented", codeName);
8272
8288
  const agentIdDir = join2(homeDir, ".augmented", agentId);
@@ -8301,6 +8317,7 @@ function buildDockerRunCommand(args) {
8301
8317
  envArgs.push(`-e AGT_IN_CONTAINER=true`);
8302
8318
  if (forwardSlackReplyBinding) envArgs.push("-e AGT_SLACK_REPLY_BINDING");
8303
8319
  if (forwardBlockTurnEndAllMarkers) envArgs.push("-e AGT_BLOCK_TURN_END_ALL_MARKERS_ENABLED");
8320
+ if (forwardKanbanWaiting) envArgs.push("-e AGT_KANBAN_WAITING_ENABLED");
8304
8321
  const egressImage = process.env.AGT_EGRESS_IMAGE || "agt-squid:latest";
8305
8322
  const internalNet = `agt-net-${codeName}`;
8306
8323
  const squidName = `agt-squid-${codeName}`;
@@ -8648,6 +8665,9 @@ function spawnSession(config, session) {
8648
8665
  if (config.blockTurnEndAllMarkers && !process.env["AGT_BLOCK_TURN_END_ALL_MARKERS_ENABLED"]) {
8649
8666
  tmuxSessionEnvArgs.push("-e", "AGT_BLOCK_TURN_END_ALL_MARKERS_ENABLED=true");
8650
8667
  }
8668
+ if (config.kanbanWaitingEnabled && !process.env["AGT_KANBAN_WAITING_ENABLED"]) {
8669
+ tmuxSessionEnvArgs.push("-e", "AGT_KANBAN_WAITING_ENABLED=true");
8670
+ }
8651
8671
  const sessionHomeDir = process.env.HOME?.trim() || homedir2();
8652
8672
  let egress;
8653
8673
  if (egressMode(codeName) === "allowlist") {
@@ -8671,7 +8691,11 @@ function spawnSession(config, session) {
8671
8691
  // ENG-6476: forward the reply-routing flag env if it will be present in the
8672
8692
  // session env (operator-set OR materialized from the flag above).
8673
8693
  forwardSlackReplyBinding: !!process.env["AGT_SLACK_REPLY_BINDING"] || !!config.slackReplyBindingMode && config.slackReplyBindingMode !== "shadow",
8674
- forwardBlockTurnEndAllMarkers: !!process.env["AGT_BLOCK_TURN_END_ALL_MARKERS_ENABLED"] || !!config.blockTurnEndAllMarkers
8694
+ forwardBlockTurnEndAllMarkers: !!process.env["AGT_BLOCK_TURN_END_ALL_MARKERS_ENABLED"] || !!config.blockTurnEndAllMarkers,
8695
+ // feature-gate-allow: registry-flag envVar operator-override precedence, not a new gate
8696
+ // ENG-7493 (ADR-0044): forward AGT_KANBAN_WAITING_ENABLED if it will be in
8697
+ // the session env (operator-set OR materialized from the flag above).
8698
+ forwardKanbanWaiting: !!process.env["AGT_KANBAN_WAITING_ENABLED"] || !!config.kanbanWaitingEnabled
8675
8699
  // feature-gate-allow: registry-flag envVar operator-override precedence, not a new gate
8676
8700
  }) : JSON.stringify(wrapperPath);
8677
8701
  const tmuxEnv = {
@@ -9355,4 +9379,4 @@ export {
9355
9379
  stopAllSessionsAndWait,
9356
9380
  getProjectDir
9357
9381
  };
9358
- //# sourceMappingURL=chunk-C4QMCOAN.js.map
9382
+ //# sourceMappingURL=chunk-CUQUOIPW.js.map