@integrity-labs/agt-cli 0.28.458 → 0.28.459

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-QIQQ46NH.js";
43
+ } from "../chunk-PKZMFA2U.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-KAIH24HZ.js";
74
+ } from "../chunk-BWH5XTDU.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.458" : "dev";
4833
+ var cliVersion = true ? "0.28.459" : "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.458" : "dev";
6005
+ var cliVersion2 = true ? "0.28.459" : "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) => {
@@ -8634,6 +8634,16 @@ function classifyTranscriptRateLimit(jsonl, startMs, endMs, now) {
8634
8634
  return newest;
8635
8635
  }
8636
8636
 
8637
+ // ../../packages/core/dist/claude-code-usage/turn-failure-classifier.js
8638
+ var UNKNOWN_TURN_FAILURE = Object.freeze({
8639
+ outcome: "unknown",
8640
+ atMs: null,
8641
+ failureClass: null,
8642
+ httpStatus: null,
8643
+ attempt: null,
8644
+ maxAttempts: null
8645
+ });
8646
+
8637
8647
  // ../../packages/core/dist/claude-code-usage/transcript-location.js
8638
8648
  function encodeClaudeProjectPath(projectDir) {
8639
8649
  return "-" + projectDir.replace(/^\//, "").replace(/[/.]/g, "-");
@@ -9549,7 +9559,7 @@ var FLAG_REGISTRY = [
9549
9559
  },
9550
9560
  {
9551
9561
  key: "wedge-transient-notice",
9552
- description: 'When a wedge-respawn was preceded by a transient LLM-API error (529/429/503/500 that exhausted its retries and wedged the turn), the manager writes the ENG-6058 give-up signal tagged reason=transient_overload so the channel sweeps post a friendly "I hit a brief overload \u2014 please resend" notice instead of leaving the user in silence (ENG-7360, extends ENG-6861 to the retry-exhaustion + wedge path). Boolean gate; ships dark \u2014 channel-visible copy soaks per host before going wide.',
9562
+ description: `Tell the person waiting when their turn dies on a transient LLM-API failure (529 overloaded / 5xx). TWO consumers now share this gate. (1) ENG-7360: a wedge-respawn preceded by such an error writes the ENG-6058 give-up signal tagged reason=transient_overload so the channel sweeps post a "please resend" notice. (2) ENG-8269: the channel MCPs watch the dispatched turn in Claude Code's own transcript and notify the conversation that was actually waiting \u2014 Slack, Telegram AND direct chat \u2014 plus a "still working on this" notice after ~3min on Slack/Telegram only (direct chat already shows a client-side one at 90s). NOTE: (2) fires on a MUCH larger population than (1) \u2014 any dispatched turn that dies, not only one that also wedged the session \u2014 and (1) has never actually been able to fire, because its pane.log detector cannot match the banner Claude Code renders today. So flipping this on is in practice enabling (2) for the first time. Boolean gate; ships dark \u2014 channel-visible copy soaks per host before going wide. Materialized into the channel-MCP spawn env: a Docker-isolated agent never mounts the host flags-cache, so a central flip reaches it only that way.`,
9553
9563
  flagType: "boolean",
9554
9564
  defaultValue: false,
9555
9565
  envVar: "AGT_WEDGE_TRANSIENT_NOTICE_ENABLED"
@@ -13258,7 +13268,7 @@ function restartEgressSidecar(codeName) {
13258
13268
  }
13259
13269
  }
13260
13270
  function buildDockerRunCommand(args) {
13261
- const { codeName, agentId, wrapperPath, projectDir, homeDir, runId, passApiKey, passOpenRouter, egress, forwardSlackReplyBinding, forwardBlockTurnEndAllMarkers, forwardKanbanWaiting, forwardNotifyDispatch, forwardUsageLimitReactive } = args;
13271
+ const { codeName, agentId, wrapperPath, projectDir, homeDir, runId, passApiKey, passOpenRouter, egress, forwardSlackReplyBinding, forwardBlockTurnEndAllMarkers, forwardKanbanWaiting, forwardNotifyDispatch, forwardUsageLimitReactive, forwardTurnFailureNotice } = args;
13262
13272
  const q = (s) => `'${s.replace(/'/g, `'\\''`)}'`;
13263
13273
  const agentDir2 = join5(homeDir, ".augmented", codeName);
13264
13274
  const agentIdDir = join5(homeDir, ".augmented", agentId);
@@ -13296,6 +13306,7 @@ function buildDockerRunCommand(args) {
13296
13306
  if (forwardKanbanWaiting) envArgs.push("-e AGT_KANBAN_WAITING_ENABLED");
13297
13307
  if (forwardNotifyDispatch) envArgs.push("-e AGT_NOTIFY_DISPATCH");
13298
13308
  if (forwardUsageLimitReactive) envArgs.push("-e AGT_USAGE_LIMIT_REACTIVE_MODE");
13309
+ if (forwardTurnFailureNotice) envArgs.push("-e AGT_WEDGE_TRANSIENT_NOTICE_ENABLED");
13299
13310
  const egressImage = process.env.AGT_EGRESS_IMAGE || "agt-squid:latest";
13300
13311
  const internalNet = `agt-net-${codeName}`;
13301
13312
  const squidName = `agt-squid-${codeName}`;
@@ -13655,6 +13666,9 @@ function spawnSession(config, session) {
13655
13666
  `AGT_USAGE_LIMIT_REACTIVE_MODE=${config.usageLimitReactiveMode}`
13656
13667
  );
13657
13668
  }
13669
+ if (config.turnFailureNoticeEnabled && !process.env["AGT_WEDGE_TRANSIENT_NOTICE_ENABLED"]) {
13670
+ tmuxSessionEnvArgs.push("-e", "AGT_WEDGE_TRANSIENT_NOTICE_ENABLED=true");
13671
+ }
13658
13672
  const sessionHomeDir = process.env.HOME?.trim() || homedir5();
13659
13673
  let egress;
13660
13674
  if (egressMode(codeName) === "allowlist") {
@@ -13693,7 +13707,14 @@ function spawnSession(config, session) {
13693
13707
  // is the ONLY way the flag reaches an isolated agent — the flags-cache
13694
13708
  // is not in the container's mount set.
13695
13709
  forwardUsageLimitReactive: !!process.env["AGT_USAGE_LIMIT_REACTIVE_MODE"] || // feature-gate-allow: registry-flag envVar operator-override precedence, not a new gate
13696
- !!config.usageLimitReactiveMode && config.usageLimitReactiveMode !== "off"
13710
+ !!config.usageLimitReactiveMode && config.usageLimitReactiveMode !== "off",
13711
+ // ENG-8269: forward AGT_WEDGE_TRANSIENT_NOTICE_ENABLED if it will be in
13712
+ // the session env (operator-set OR materialized from the flag above).
13713
+ // Without this the tmux-level materialization above stops at the
13714
+ // container boundary and the notice stays dark for exactly the isolated
13715
+ // agents it was added for (CodeRabbit, PR #3907).
13716
+ forwardTurnFailureNotice: !!process.env["AGT_WEDGE_TRANSIENT_NOTICE_ENABLED"] || // feature-gate-allow: registry-flag envVar operator-override precedence, not a new gate
13717
+ !!config.turnFailureNoticeEnabled
13697
13718
  }) : JSON.stringify(wrapperPath);
13698
13719
  const tmuxEnv = {
13699
13720
  ...process.env,
@@ -14473,4 +14494,4 @@ export {
14473
14494
  stopAllSessionsAndWait,
14474
14495
  getProjectDir
14475
14496
  };
14476
- //# sourceMappingURL=chunk-KAIH24HZ.js.map
14497
+ //# sourceMappingURL=chunk-BWH5XTDU.js.map