@rallycry/conveyor-agent 11.0.8 → 11.0.9

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.
@@ -5,7 +5,7 @@ import {
5
5
  readWorkspaceBytes,
6
6
  statWorkspacePath,
7
7
  workspacePathExists
8
- } from "./chunk-APP6Y2D7.js";
8
+ } from "./chunk-YMZ6Q55T.js";
9
9
  import {
10
10
  reportBootMilestone
11
11
  } from "./chunk-GL2DIQEQ.js";
@@ -838,6 +838,22 @@ var AgentConnection = class _AgentConnection {
838
838
  }).catch(() => {
839
839
  });
840
840
  }
841
+ /**
842
+ * Fire-and-forget: every Claude API retry for the turn failed, so hand the
843
+ * card back. The server returns a PR-less InProgress card to Open, posts the
844
+ * cause, notifies stakeholders and sleeps this workspace. Best-effort — an
845
+ * old server rejects the unknown method harmlessly and today's behaviour
846
+ * (chat line + idle agent) remains. `detail` is the last API error text.
847
+ */
848
+ reportApiOutage(detail, attempts) {
849
+ if (!this.socket) return;
850
+ void this.call("reportApiOutage", {
851
+ sessionId: this.config.sessionId,
852
+ detail: detail.slice(0, 2e3),
853
+ attempts
854
+ }).catch(() => {
855
+ });
856
+ }
841
857
  onSpawnTui(callback) {
842
858
  this.spawnTuiCallback = callback;
843
859
  for (const data of this.earlySpawnTuis) callback(data);
package/dist/cli.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  WorkspaceCommandSupervisor,
8
8
  startWorkspaceCommandsAfterConnect,
9
9
  stopWorkspaceCommands
10
- } from "./chunk-43XITDZP.js";
10
+ } from "./chunk-DDECZOAT.js";
11
11
  import {
12
12
  DEFAULT_SONNET_MODEL,
13
13
  PtyHarness,
@@ -27,7 +27,7 @@ import {
27
27
  resolveTuiKindFromEnv,
28
28
  runUsageProbe,
29
29
  sampleKeyUsage
30
- } from "./chunk-SKTCDL4K.js";
30
+ } from "./chunk-7F57PZO7.js";
31
31
  import "./chunk-SR66HQKB.js";
32
32
  import {
33
33
  inheritedEnv,
@@ -44,7 +44,7 @@ import {
44
44
  createServiceLogger,
45
45
  fetchBootstrap,
46
46
  loadConveyorConfig
47
- } from "./chunk-APP6Y2D7.js";
47
+ } from "./chunk-YMZ6Q55T.js";
48
48
  import "./chunk-GL2DIQEQ.js";
49
49
  import "./chunk-W4LZ7R6Z.js";
50
50
  import "./chunk-7P6QZHXZ.js";
@@ -1454,7 +1454,7 @@ if (!RUNNER_MODES.includes(CONVEYOR_MODE)) {
1454
1454
  process.exit(1);
1455
1455
  }
1456
1456
  if (CONVEYOR_MODE === "serving") {
1457
- const { runServingSession } = await import("./serve-boot-ESZKFN5M.js");
1457
+ const { runServingSession } = await import("./serve-boot-FJSZE737.js");
1458
1458
  exitContext.runnerMode = "serving";
1459
1459
  exitContext.sessionId = process.env.CONVEYOR_SESSION_ID ?? exitContext.sessionId;
1460
1460
  const outcome = await runServingSession({
package/dist/index.d.ts CHANGED
@@ -242,6 +242,14 @@ declare class AgentConnection {
242
242
  * today's behavior (a failed turn with a chat warning).
243
243
  */
244
244
  requestWorkspaceRecycle(reason: string): void;
245
+ /**
246
+ * Fire-and-forget: every Claude API retry for the turn failed, so hand the
247
+ * card back. The server returns a PR-less InProgress card to Open, posts the
248
+ * cause, notifies stakeholders and sleeps this workspace. Best-effort — an
249
+ * old server rejects the unknown method harmlessly and today's behaviour
250
+ * (chat line + idle agent) remains. `detail` is the last API error text.
251
+ */
252
+ reportApiOutage(detail: string, attempts: number): void;
245
253
  onSpawnTui(callback: (data: SpawnTuiData) => void): void;
246
254
  /** Register the on-demand usage-refresh handler; drains an early-buffered
247
255
  * `session:probeUsage` that arrived before the runner was ready. */
@@ -962,6 +970,18 @@ declare class SessionRunner {
962
970
  private canInjectIntoRunningTurn;
963
971
  /** Run queryBridge.execute, swallowing abort errors from stop/softStop. */
964
972
  private executeQuery;
973
+ /**
974
+ * The turn ended with every Claude API retry exhausted (the CLI's own
975
+ * retries gave up, then `runWithRetry`'s fresh-session backoff did too).
976
+ * Push WIP first — the server sleeps this pod in response, so the flush
977
+ * must not race the teardown — then hand the card back. The core loop
978
+ * then falls into its normal idle wait; the server-driven sleep is what
979
+ * ends the pod, and nothing here exits the process or re-prompts.
980
+ *
981
+ * NOT a stuck nudge: this keys on the CLI's own error record, never on
982
+ * silence or idleness (see `.claude/rules/agent-runner.md`).
983
+ */
984
+ private handleApiOutageExhausted;
965
985
  /**
966
986
  * A human typed into the parked, idle Connected-TUI (keep-alive PTY). Wake the
967
987
  * core loop with a sentinel so it drains a passive turn. No-op once stopped.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SessionRunner,
3
3
  unshallowRepo
4
- } from "./chunk-SKTCDL4K.js";
4
+ } from "./chunk-7F57PZO7.js";
5
5
  import "./chunk-SR66HQKB.js";
6
6
  import "./chunk-JG3VMWRQ.js";
7
7
  import {
@@ -17,7 +17,7 @@ import {
17
17
  stageAndCommit,
18
18
  updateRemoteToken,
19
19
  workspacePathExists
20
- } from "./chunk-APP6Y2D7.js";
20
+ } from "./chunk-YMZ6Q55T.js";
21
21
  import "./chunk-GL2DIQEQ.js";
22
22
  import {
23
23
  runAuthTokenCommand,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  WorkspaceCommandSupervisor
3
- } from "./chunk-43XITDZP.js";
3
+ } from "./chunk-DDECZOAT.js";
4
4
  import {
5
5
  AgentConnection,
6
6
  CodespacePortVisibility,
@@ -11,7 +11,7 @@ import {
11
11
  createServiceLogger,
12
12
  ensureOnTaskBranch,
13
13
  loadConveyorConfig
14
- } from "./chunk-APP6Y2D7.js";
14
+ } from "./chunk-YMZ6Q55T.js";
15
15
  import "./chunk-GL2DIQEQ.js";
16
16
  import "./chunk-W4LZ7R6Z.js";
17
17
  import "./chunk-IA45XHOA.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rallycry/conveyor-agent",
3
- "version": "11.0.8",
3
+ "version": "11.0.9",
4
4
  "description": "Conveyor Agent Runner v10 - PTY harness for the task chat (SDK harness for audit/project-chat). Agent-as-User architecture with BaseService patterns. Works locally too.",
5
5
  "keywords": [
6
6
  "agent",