@stigmer/runner 3.1.17 → 3.2.0

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/README.md CHANGED
@@ -24,7 +24,7 @@ make build-runner
24
24
 
25
25
  This runs `npm run build` in `backend/services/runner` (`tsc -p tsconfig.build.json`) and then writes a build fingerprint (see [The stale-build guard](#the-stale-build-guard)). The compiled output lands in `dist/`, with a `stigmer-runner` CLI entry point at `dist/main.js`.
26
26
 
27
- Requires Node.js `>= 22.13` (the durable local checkpointer uses the built-in `node:sqlite`, unflagged from v22.13 / v23.4).
27
+ Requires a Node.js whose built-in `node:sqlite` is available unflagged — `>= 22.13` in the 22.x line, and `>= 23.4` after that (23.0–23.3 lack it). The durable local checkpointer depends on it, and the runner probes for it at boot (`src/preflight.ts`), refusing to start with an actionable error rather than crashing on the import.
28
28
 
29
29
  ### The slim embedding artifact
30
30
 
@@ -1 +1 @@
1
- {"hash":"ed793424cdc6f1dd","builtAt":"2026-07-14T10:34:43.792Z","fileCount":249}
1
+ {"hash":"b3c5f5a689035f9c","builtAt":"2026-07-17T15:14:50.929Z","fileCount":251}
@@ -38,6 +38,7 @@ import { mergeSkillRefs, fetchSkillsByRefs, writeSkills, generatePromptSection,
38
38
  import { filterSkills, SKILL_COUNT_THRESHOLD } from "../../shared/skill-relevance.js";
39
39
  import { injectAttachments } from "./attachment-injector.js";
40
40
  import { transformAndCompileSubagents } from "./subagent-transformer.js";
41
+ import { resolveRecursionLimit, UNBOUNDED_ADVISORY_RECURSION_LIMIT, } from "../../shared/tool-rounds.js";
41
42
  /**
42
43
  * Execute all setup phases and return resources for the streaming phase.
43
44
  *
@@ -276,6 +277,11 @@ export async function performSetup(deps) {
276
277
  }
277
278
  : null;
278
279
  const maxCostUsd = execConfig?.maxCostUsd ?? 0;
280
+ // max_tool_rounds → recursion limit (proto contract: 0/unset = unlimited,
281
+ // set = clamped 10–1000 and enforced). One resolved value feeds BOTH the
282
+ // hard stop on the invoke config below and the budget middleware's ~80%
283
+ // wrap-up advisory, so the warning and the enforcement can never disagree.
284
+ const recursionLimit = resolveRecursionLimit(execConfig?.maxToolRounds);
279
285
  const { middleware, gracefulStop, costCap: costCapMiddleware } = buildMiddlewareStack({
280
286
  loopDetection: {
281
287
  historySize: 20,
@@ -283,9 +289,7 @@ export async function performSetup(deps) {
283
289
  totalThreshold: 20,
284
290
  },
285
291
  executionBudget: {
286
- recursionLimit: execConfig?.maxToolRounds
287
- ? execConfig.maxToolRounds * 6
288
- : 6000,
292
+ recursionLimit: recursionLimit ?? UNBOUNDED_ADVISORY_RECURSION_LIMIT,
289
293
  warningPct: 80,
290
294
  },
291
295
  toolTruncation: {
@@ -392,6 +396,12 @@ export async function performSetup(deps) {
392
396
  };
393
397
  const langgraphConfig = {
394
398
  configurable: { thread_id: threadId },
399
+ // Hard enforcement of max_tool_rounds (null = unlimited, the default):
400
+ // when the graph exhausts this, the streaming loop's GraphRecursionError
401
+ // handler terminates gracefully with work saved ("send another message
402
+ // to continue"). The middleware's wrap-up advisory fires at ~80% of the
403
+ // same value, so a healthy run finishes normally before ever hitting it.
404
+ ...(recursionLimit !== null ? { recursionLimit } : {}),
395
405
  };
396
406
  const streamVersion = process.env.LANGGRAPH_STREAM_EVENTS_VERSION === "v2" ? "v2" : "v3";
397
407
  console.log(`[setup] Complete: model=${modelName}, ` +
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/setup.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,14 @@ import type { ExecutionStatusWriter } from "../../shared/execution-status-writer
8
8
  import type { StreamResult } from "./streaming.js";
9
9
  export declare function handlePause(writer: ExecutionStatusWriter, eventsProcessed: number, pendingPublishPromises: readonly Promise<void>[], pendingWritebackPromises: readonly Promise<void>[]): StreamResult;
10
10
  export declare function handleStop(writer: ExecutionStatusWriter, eventsProcessed: number, pendingPublishPromises: readonly Promise<void>[], pendingWritebackPromises: readonly Promise<void>[]): StreamResult;
11
+ /**
12
+ * Stable prefix of the recursion-limit terminal error. This is a cross-repo
13
+ * contract: consumers that need to distinguish "ran out of tool-call budget"
14
+ * from other TERMINATED causes (e.g. Stigmer Cloud's ChannelReplyExtractor,
15
+ * which shows channel users a friendly limit message instead of generic
16
+ * error copy) match on this prefix, because AgentExecutionStatus carries no
17
+ * structured termination reason. Do not reword without updating them.
18
+ */
19
+ export declare const TOOL_CALL_LIMIT_ERROR_PREFIX = "Agent reached the tool-call limit";
11
20
  export declare function handleRecursionLimit(writer: ExecutionStatusWriter, eventsProcessed: number, pendingPublishPromises: readonly Promise<void>[], pendingWritebackPromises: readonly Promise<void>[]): StreamResult;
12
21
  export declare function isGraphRecursionError(err: unknown): boolean;
@@ -39,12 +39,21 @@ export function handleStop(writer, eventsProcessed, pendingPublishPromises, pend
39
39
  pendingWritebackPromises,
40
40
  };
41
41
  }
42
+ /**
43
+ * Stable prefix of the recursion-limit terminal error. This is a cross-repo
44
+ * contract: consumers that need to distinguish "ran out of tool-call budget"
45
+ * from other TERMINATED causes (e.g. Stigmer Cloud's ChannelReplyExtractor,
46
+ * which shows channel users a friendly limit message instead of generic
47
+ * error copy) match on this prefix, because AgentExecutionStatus carries no
48
+ * structured termination reason. Do not reword without updating them.
49
+ */
50
+ export const TOOL_CALL_LIMIT_ERROR_PREFIX = "Agent reached the tool-call limit";
42
51
  export function handleRecursionLimit(writer, eventsProcessed, pendingPublishPromises, pendingWritebackPromises) {
43
52
  const status = writer.currentStatus;
44
53
  status.phase = ExecutionPhase.EXECUTION_TERMINATED;
45
54
  status.completedAt = utcTimestamp();
46
55
  status.error =
47
- `Agent reached the tool-call limit after processing ${eventsProcessed} events. ` +
56
+ `${TOOL_CALL_LIMIT_ERROR_PREFIX} after processing ${eventsProcessed} events. ` +
48
57
  `Send another message to continue.`;
49
58
  status.messages.push(create(AgentMessageSchema, {
50
59
  type: MessageType.MESSAGE_SYSTEM,
@@ -1 +1 @@
1
- {"version":3,"file":"streaming-terminal.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/streaming-terminal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,8DAA8D,CAAC;AAG3G,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,UAAU,WAAW,CACzB,MAA6B,EAC7B,eAAuB,EACvB,sBAAgD,EAChD,wBAAkD;IAElD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IACpC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;IAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;QAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,OAAO,EAAE,wEAAwE;QACjF,SAAS,EAAE,YAAY,EAAE;KAC1B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,eAAe;QACf,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC;QAClC,sBAAsB;QACtB,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,MAA6B,EAC7B,eAAuB,EACvB,sBAAgD,EAChD,wBAAkD;IAElD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IACpC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC;IAClD,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;IACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;QAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,OAAO,EAAE,oCAAoC;QAC7C,SAAS,EAAE,YAAY,EAAE;KAC1B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,eAAe;QACf,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC;QAClC,sBAAsB;QACtB,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAA6B,EAC7B,eAAuB,EACvB,sBAAgD,EAChD,wBAAkD;IAElD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IACpC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,oBAAoB,CAAC;IACnD,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;IACpC,MAAM,CAAC,KAAK;QACV,sDAAsD,eAAe,WAAW;YAChF,mCAAmC,CAAC;IACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;QAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,OAAO,EACL,0DAA0D;YAC1D,wCAAwC;YACxC,4DAA4D;QAC9D,SAAS,EAAE,YAAY,EAAE;KAC1B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,eAAe;QACf,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC;QAClC,sBAAsB;QACtB,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,qBAAqB;YACnD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC3C,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"streaming-terminal.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/streaming-terminal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,8DAA8D,CAAC;AAG3G,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,UAAU,WAAW,CACzB,MAA6B,EAC7B,eAAuB,EACvB,sBAAgD,EAChD,wBAAkD;IAElD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IACpC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC;IAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;QAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,OAAO,EAAE,wEAAwE;QACjF,SAAS,EAAE,YAAY,EAAE;KAC1B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,eAAe;QACf,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC;QAClC,sBAAsB;QACtB,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,MAA6B,EAC7B,eAAuB,EACvB,sBAAgD,EAChD,wBAAkD;IAElD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IACpC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC;IAClD,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;IACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;QAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,OAAO,EAAE,oCAAoC;QAC7C,SAAS,EAAE,YAAY,EAAE;KAC1B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,eAAe;QACf,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC;QAClC,sBAAsB;QACtB,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,mCAAmC,CAAC;AAEhF,MAAM,UAAU,oBAAoB,CAClC,MAA6B,EAC7B,eAAuB,EACvB,sBAAgD,EAChD,wBAAkD;IAElD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IACpC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,oBAAoB,CAAC;IACnD,MAAM,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;IACpC,MAAM,CAAC,KAAK;QACV,GAAG,4BAA4B,qBAAqB,eAAe,WAAW;YAC9E,mCAAmC,CAAC;IACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;QAC9C,IAAI,EAAE,WAAW,CAAC,cAAc;QAChC,OAAO,EACL,0DAA0D;YAC1D,wCAAwC;YACxC,4DAA4D;QAC9D,SAAS,EAAE,YAAY,EAAE;KAC1B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,eAAe;QACf,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC;QAClC,sBAAsB;QACtB,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,qBAAqB;YACnD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC3C,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
package/dist/main.js CHANGED
@@ -20,6 +20,7 @@ import { createHash } from "node:crypto";
20
20
  import { readFileSync, readdirSync } from "node:fs";
21
21
  import { join, relative } from "node:path";
22
22
  import { createInterface } from "node:readline";
23
+ import { preflightNodeRuntime } from "./preflight.js";
23
24
  import { loadConfig } from "./config.js";
24
25
  import { initTracing, initMetrics } from "./otel.js";
25
26
  import { createStigmerRunner } from "./runner.js";
@@ -255,6 +256,22 @@ function collectTsFiles(dir, files = []) {
255
256
  }
256
257
  // ─── Entry Point ─────────────────────────────────────────────────────────────
257
258
  async function main() {
259
+ // Runtime capability gate FIRST: everything below (config load, manager /
260
+ // static init) eventually imports node:sqlite via the checkpointer chain,
261
+ // and the raw ERR_UNKNOWN_BUILTIN_MODULE from that import is inscrutable.
262
+ // In manager mode the host reads the first stdout line as the handshake, so
263
+ // a fatal IPC error here surfaces verbatim in the host's UI (see
264
+ // negotiate_ready in crates/stigmer-runner-host/src/host.rs).
265
+ const preflightError = preflightNodeRuntime();
266
+ if (preflightError !== null) {
267
+ if (process.env.STIGMER_RUNNER_MODE === "manager") {
268
+ sendIpc({ type: "error", message: preflightError, fatal: true });
269
+ }
270
+ else {
271
+ writeStderr(`${preflightError}\n`);
272
+ }
273
+ process.exit(1);
274
+ }
258
275
  checkBuildFreshness();
259
276
  const config = loadConfig();
260
277
  // Route ALL Cursor SDK traffic through the Stigmer proxy in proxy mode.
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Boot preflight: verify the Node runtime can run this runner BEFORE the deep
3
+ * import chains load.
4
+ *
5
+ * Why this exists: the durable local checkpointer (shared/checkpointer/
6
+ * sqlite-saver.ts) imports Node's built-in `node:sqlite` at module load time,
7
+ * and both the manager and the static runner eagerly import that chain during
8
+ * initialization. On a Node without unflagged `node:sqlite` — anything below
9
+ * 22.13, and 23.0–23.3 (the 23.x line only gained it in 23.4) — that import
10
+ * throws a raw `ERR_UNKNOWN_BUILTIN_MODULE` deep inside init, which surfaces
11
+ * to hosts (e.g. the desktop Run dialog) as an inscrutable internal error.
12
+ * This gate turns it into an actionable "your Node cannot run the runner"
13
+ * message on the very first line of output.
14
+ *
15
+ * Why a capability probe and not a version check: version gating is exactly
16
+ * what let this failure ship — the CLI's node resolver encoded a 22.13 floor
17
+ * but its table missed the 23.0–23.3 gap. Probing the capability itself
18
+ * ("can this binary provide node:sqlite?") cannot drift. The version floors
19
+ * appear only in the human-facing message, where staleness is harmless.
20
+ *
21
+ * The gate is unconditional (not checkpointer-type-dependent): the eager
22
+ * import chain needs `node:sqlite` to LOAD regardless of configuration, so
23
+ * the gate mirrors the actual load-time requirement.
24
+ */
25
+ /**
26
+ * True when this Node binary provides the built-in `node:sqlite`.
27
+ *
28
+ * Probe notes (each verified against real binaries; do not "simplify"):
29
+ * - `process.getBuiltinModule(id)` returns the module when present and
30
+ * `undefined` when absent — no throw. The `?.` guard covers Nodes older
31
+ * than 22.3, where `getBuiltinModule` itself does not exist (there
32
+ * `node:sqlite` is absent too, so reporting "unsupported" is correct).
33
+ * - `module.builtinModules` is NOT a valid alternative: it omits experimental
34
+ * builtins, so it reports no `sqlite` even on Nodes where `node:sqlite`
35
+ * loads fine (e.g. 22.13+). Gating on it would reject every supported Node.
36
+ * - The probe loads the module, which on 22.x emits a one-time
37
+ * `ExperimentalWarning` on stderr. The runner loads `node:sqlite` eagerly
38
+ * moments later anyway, so this only moves that warning to boot.
39
+ */
40
+ export declare function isNodeSqliteAvailable(): boolean;
41
+ /**
42
+ * Check the current runtime, returning `null` when it can run the runner or
43
+ * an actionable operator-facing message when it cannot. The probe is
44
+ * injectable so tests can exercise the failure path on a supported Node.
45
+ */
46
+ export declare function preflightNodeRuntime(isSqliteAvailable?: () => boolean): string | null;
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Boot preflight: verify the Node runtime can run this runner BEFORE the deep
3
+ * import chains load.
4
+ *
5
+ * Why this exists: the durable local checkpointer (shared/checkpointer/
6
+ * sqlite-saver.ts) imports Node's built-in `node:sqlite` at module load time,
7
+ * and both the manager and the static runner eagerly import that chain during
8
+ * initialization. On a Node without unflagged `node:sqlite` — anything below
9
+ * 22.13, and 23.0–23.3 (the 23.x line only gained it in 23.4) — that import
10
+ * throws a raw `ERR_UNKNOWN_BUILTIN_MODULE` deep inside init, which surfaces
11
+ * to hosts (e.g. the desktop Run dialog) as an inscrutable internal error.
12
+ * This gate turns it into an actionable "your Node cannot run the runner"
13
+ * message on the very first line of output.
14
+ *
15
+ * Why a capability probe and not a version check: version gating is exactly
16
+ * what let this failure ship — the CLI's node resolver encoded a 22.13 floor
17
+ * but its table missed the 23.0–23.3 gap. Probing the capability itself
18
+ * ("can this binary provide node:sqlite?") cannot drift. The version floors
19
+ * appear only in the human-facing message, where staleness is harmless.
20
+ *
21
+ * The gate is unconditional (not checkpointer-type-dependent): the eager
22
+ * import chain needs `node:sqlite` to LOAD regardless of configuration, so
23
+ * the gate mirrors the actual load-time requirement.
24
+ */
25
+ /**
26
+ * True when this Node binary provides the built-in `node:sqlite`.
27
+ *
28
+ * Probe notes (each verified against real binaries; do not "simplify"):
29
+ * - `process.getBuiltinModule(id)` returns the module when present and
30
+ * `undefined` when absent — no throw. The `?.` guard covers Nodes older
31
+ * than 22.3, where `getBuiltinModule` itself does not exist (there
32
+ * `node:sqlite` is absent too, so reporting "unsupported" is correct).
33
+ * - `module.builtinModules` is NOT a valid alternative: it omits experimental
34
+ * builtins, so it reports no `sqlite` even on Nodes where `node:sqlite`
35
+ * loads fine (e.g. 22.13+). Gating on it would reject every supported Node.
36
+ * - The probe loads the module, which on 22.x emits a one-time
37
+ * `ExperimentalWarning` on stderr. The runner loads `node:sqlite` eagerly
38
+ * moments later anyway, so this only moves that warning to boot.
39
+ */
40
+ export function isNodeSqliteAvailable() {
41
+ return process.getBuiltinModule?.("node:sqlite") !== undefined;
42
+ }
43
+ /**
44
+ * Check the current runtime, returning `null` when it can run the runner or
45
+ * an actionable operator-facing message when it cannot. The probe is
46
+ * injectable so tests can exercise the failure path on a supported Node.
47
+ */
48
+ export function preflightNodeRuntime(isSqliteAvailable = isNodeSqliteAvailable) {
49
+ if (isSqliteAvailable())
50
+ return null;
51
+ return (`Node v${process.versions.node} does not provide the built-in node:sqlite ` +
52
+ `module required by the runner's durable checkpointer. ` +
53
+ `Use Node >= 22.13 (22.x line) or >= 23.4 (23.x and later).`);
54
+ }
55
+ //# sourceMappingURL=preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,OAAO,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,oBAAmC,qBAAqB;IAExD,IAAI,iBAAiB,EAAE;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,CACL,SAAS,OAAO,CAAC,QAAQ,CAAC,IAAI,6CAA6C;QAC3E,wDAAwD;QACxD,4DAA4D,CAC7D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * ExecutionConfig.max_tool_rounds → LangGraph recursion_limit resolution.
3
+ *
4
+ * Implements the proto contract (agentexecution/v1/spec.proto):
5
+ * - 0 / unset = unlimited — no recursionLimit is placed on the invoke
6
+ * config, preserving the run-until-done + loop-detection posture.
7
+ * - When set, valid range is 10–1000 rounds; out-of-range values are
8
+ * clamped to the nearest bound with a warning log.
9
+ * - recursion_limit = rounds × 6: each model-tool round consumes multiple
10
+ * graph super-steps because every active middleware hook is its own
11
+ * node; ×6 is the contract's floor estimate.
12
+ *
13
+ * The SAME resolved limit must feed both LangGraph's hard stop (the invoke
14
+ * config) and the ExecutionBudgetMiddleware's wrap-up advisory, so the
15
+ * "~80% of budget" warning and the enforcement point can never disagree.
16
+ */
17
+ export declare const SUPER_STEPS_PER_ROUND = 6;
18
+ export declare const MIN_TOOL_ROUNDS = 10;
19
+ export declare const MAX_TOOL_ROUNDS = 1000;
20
+ /**
21
+ * The advisory-only budget used when max_tool_rounds is unset: high enough
22
+ * to never fire on a healthy run. Deliberately NOT enforced as a hard
23
+ * recursionLimit — unset means unlimited per the proto contract.
24
+ */
25
+ export declare const UNBOUNDED_ADVISORY_RECURSION_LIMIT = 6000;
26
+ /**
27
+ * The recursionLimit for the invoke config, or null when the execution is
28
+ * unbounded (max_tool_rounds 0/unset — the pre-existing default posture).
29
+ */
30
+ export declare function resolveRecursionLimit(maxToolRounds: number | undefined): number | null;
@@ -0,0 +1,49 @@
1
+ /**
2
+ * ExecutionConfig.max_tool_rounds → LangGraph recursion_limit resolution.
3
+ *
4
+ * Implements the proto contract (agentexecution/v1/spec.proto):
5
+ * - 0 / unset = unlimited — no recursionLimit is placed on the invoke
6
+ * config, preserving the run-until-done + loop-detection posture.
7
+ * - When set, valid range is 10–1000 rounds; out-of-range values are
8
+ * clamped to the nearest bound with a warning log.
9
+ * - recursion_limit = rounds × 6: each model-tool round consumes multiple
10
+ * graph super-steps because every active middleware hook is its own
11
+ * node; ×6 is the contract's floor estimate.
12
+ *
13
+ * The SAME resolved limit must feed both LangGraph's hard stop (the invoke
14
+ * config) and the ExecutionBudgetMiddleware's wrap-up advisory, so the
15
+ * "~80% of budget" warning and the enforcement point can never disagree.
16
+ */
17
+ export const SUPER_STEPS_PER_ROUND = 6;
18
+ export const MIN_TOOL_ROUNDS = 10;
19
+ export const MAX_TOOL_ROUNDS = 1000;
20
+ /**
21
+ * The advisory-only budget used when max_tool_rounds is unset: high enough
22
+ * to never fire on a healthy run. Deliberately NOT enforced as a hard
23
+ * recursionLimit — unset means unlimited per the proto contract.
24
+ */
25
+ export const UNBOUNDED_ADVISORY_RECURSION_LIMIT = 6000;
26
+ /**
27
+ * The recursionLimit for the invoke config, or null when the execution is
28
+ * unbounded (max_tool_rounds 0/unset — the pre-existing default posture).
29
+ */
30
+ export function resolveRecursionLimit(maxToolRounds) {
31
+ if (!maxToolRounds || maxToolRounds <= 0) {
32
+ return null;
33
+ }
34
+ return clampToolRounds(maxToolRounds) * SUPER_STEPS_PER_ROUND;
35
+ }
36
+ function clampToolRounds(requested) {
37
+ if (requested < MIN_TOOL_ROUNDS) {
38
+ console.warn(`[tool-rounds] max_tool_rounds=${requested} below the valid range ` +
39
+ `(${MIN_TOOL_ROUNDS}-${MAX_TOOL_ROUNDS}); clamping to ${MIN_TOOL_ROUNDS}`);
40
+ return MIN_TOOL_ROUNDS;
41
+ }
42
+ if (requested > MAX_TOOL_ROUNDS) {
43
+ console.warn(`[tool-rounds] max_tool_rounds=${requested} above the valid range ` +
44
+ `(${MIN_TOOL_ROUNDS}-${MAX_TOOL_ROUNDS}); clamping to ${MAX_TOOL_ROUNDS}`);
45
+ return MAX_TOOL_ROUNDS;
46
+ }
47
+ return requested;
48
+ }
49
+ //# sourceMappingURL=tool-rounds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-rounds.js","sourceRoot":"","sources":["../../src/shared/tool-rounds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC;;;;GAIG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,IAAI,CAAC;AAEvD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,aAAiC;IACrE,IAAI,CAAC,aAAa,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,eAAe,CAAC,aAAa,CAAC,GAAG,qBAAqB,CAAC;AAChE,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB;IACxC,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CACV,iCAAiC,SAAS,yBAAyB;YACnE,IAAI,eAAe,IAAI,eAAe,kBAAkB,eAAe,EAAE,CAC1E,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CACV,iCAAiC,SAAS,yBAAyB;YACnE,IAAI,eAAe,IAAI,eAAe,kBAAkB,eAAe,EAAE,CAC1E,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/runner",
3
- "version": "3.1.17",
3
+ "version": "3.2.0",
4
4
  "description": "Embeddable Temporal worker for the Stigmer AI agent platform — handles agent execution, workflow orchestration, and MCP server management",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -85,7 +85,7 @@
85
85
  "@opentelemetry/sdk-metrics": "^2.0.0",
86
86
  "@opentelemetry/sdk-trace-base": "^2.0.0",
87
87
  "@opentelemetry/sdk-trace-node": "^2.0.0",
88
- "@stigmer/protos": "3.1.17",
88
+ "@stigmer/protos": "3.2.0",
89
89
  "@temporalio/activity": "^1.11.0",
90
90
  "@temporalio/client": "^1.11.0",
91
91
  "@temporalio/common": "^1.11.0",
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Boot preflight tests.
3
+ *
4
+ * The preflight is what turns a raw ERR_UNKNOWN_BUILTIN_MODULE from the
5
+ * checkpointer's `node:sqlite` import (on Node < 22.13 / 23.0–23.3) into an
6
+ * actionable first-line-of-output error. These tests pin:
7
+ * - the pass/fail contract of preflightNodeRuntime around an injected probe
8
+ * (so the failure path is testable on a supported Node), and
9
+ * - the message contract: it must name the found version, the missing
10
+ * capability, and both known-good floors — that exact text is what reaches
11
+ * the desktop Run dialog via the IPC handshake.
12
+ */
13
+
14
+ import { describe, expect, it } from "vitest";
15
+ import { isNodeSqliteAvailable, preflightNodeRuntime } from "../preflight.js";
16
+
17
+ describe("preflightNodeRuntime", () => {
18
+ it("passes (returns null) when node:sqlite is available", () => {
19
+ expect(preflightNodeRuntime(() => true)).toBeNull();
20
+ });
21
+
22
+ it("fails with the actionable message contract when node:sqlite is absent", () => {
23
+ const message = preflightNodeRuntime(() => false);
24
+
25
+ expect(message).not.toBeNull();
26
+ // Found version, so the operator knows what they are actually running.
27
+ expect(message).toContain(`Node v${process.versions.node}`);
28
+ // The missing capability, so the error is searchable and precise.
29
+ expect(message).toContain("node:sqlite");
30
+ // Both floors — including the 23.4 one whose omission caused the original bug.
31
+ expect(message).toContain("22.13");
32
+ expect(message).toContain("23.4");
33
+ });
34
+
35
+ it("wires the real-runtime probe as the default", () => {
36
+ // Asserted as consistency, not as an environment fact: the suite may
37
+ // itself run under a Node without node:sqlite (e.g. 23.0–23.3), in which
38
+ // case BOTH sides must report unsupported.
39
+ expect(preflightNodeRuntime() === null).toBe(isNodeSqliteAvailable());
40
+ });
41
+ });
@@ -0,0 +1,40 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { create } from "@bufbuild/protobuf";
3
+ import { AgentExecutionStatusSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
4
+ import { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
5
+ import {
6
+ TOOL_CALL_LIMIT_ERROR_PREFIX,
7
+ handleRecursionLimit,
8
+ } from "../streaming-terminal.js";
9
+ import type { ExecutionStatusWriter } from "../../../shared/execution-status-writer.js";
10
+
11
+ function writerWith(status = create(AgentExecutionStatusSchema, {})): ExecutionStatusWriter {
12
+ return { currentStatus: status } as ExecutionStatusWriter;
13
+ }
14
+
15
+ describe("handleRecursionLimit", () => {
16
+ it("terminates with work saved and a continue prompt", () => {
17
+ const writer = writerWith();
18
+
19
+ const result = handleRecursionLimit(writer, 42, [], []);
20
+
21
+ expect(writer.currentStatus.phase).toBe(ExecutionPhase.EXECUTION_TERMINATED);
22
+ expect(writer.currentStatus.completedAt).toBeDefined();
23
+ expect(result.terminalStatus).toBeDefined();
24
+ });
25
+
26
+ it("pins the cross-repo error prefix that Stigmer Cloud's channel delivery matches on", () => {
27
+ // ChannelReplyExtractor (stigmer-cloud) distinguishes budget-limit
28
+ // TERMINATED from other causes by this prefix — there is no structured
29
+ // termination reason on AgentExecutionStatus. A reword here silently
30
+ // downgrades channel users from the friendly limit copy to generic
31
+ // error copy, so the prefix is pinned on both sides.
32
+ expect(TOOL_CALL_LIMIT_ERROR_PREFIX).toBe("Agent reached the tool-call limit");
33
+
34
+ const writer = writerWith();
35
+ handleRecursionLimit(writer, 7, [], []);
36
+
37
+ expect(writer.currentStatus.error).toMatch(/^Agent reached the tool-call limit/);
38
+ expect(writer.currentStatus.error).toContain("Send another message to continue.");
39
+ });
40
+ });
@@ -73,6 +73,10 @@ import {
73
73
  import { filterSkills, SKILL_COUNT_THRESHOLD } from "../../shared/skill-relevance.js";
74
74
  import { injectAttachments } from "./attachment-injector.js";
75
75
  import { transformAndCompileSubagents } from "./subagent-transformer.js";
76
+ import {
77
+ resolveRecursionLimit,
78
+ UNBOUNDED_ADVISORY_RECURSION_LIMIT,
79
+ } from "../../shared/tool-rounds.js";
76
80
 
77
81
  export interface SetupResult {
78
82
  readonly agentGraph: AgentGraph;
@@ -472,6 +476,11 @@ export async function performSetup(deps: SetupDependencies): Promise<SetupResult
472
476
  : null;
473
477
 
474
478
  const maxCostUsd = execConfig?.maxCostUsd ?? 0;
479
+ // max_tool_rounds → recursion limit (proto contract: 0/unset = unlimited,
480
+ // set = clamped 10–1000 and enforced). One resolved value feeds BOTH the
481
+ // hard stop on the invoke config below and the budget middleware's ~80%
482
+ // wrap-up advisory, so the warning and the enforcement can never disagree.
483
+ const recursionLimit = resolveRecursionLimit(execConfig?.maxToolRounds);
475
484
  const { middleware, gracefulStop, costCap: costCapMiddleware } = buildMiddlewareStack({
476
485
  loopDetection: {
477
486
  historySize: 20,
@@ -479,9 +488,7 @@ export async function performSetup(deps: SetupDependencies): Promise<SetupResult
479
488
  totalThreshold: 20,
480
489
  },
481
490
  executionBudget: {
482
- recursionLimit: execConfig?.maxToolRounds
483
- ? execConfig.maxToolRounds * 6
484
- : 6000,
491
+ recursionLimit: recursionLimit ?? UNBOUNDED_ADVISORY_RECURSION_LIMIT,
485
492
  warningPct: 80,
486
493
  },
487
494
  toolTruncation: {
@@ -600,6 +607,12 @@ export async function performSetup(deps: SetupDependencies): Promise<SetupResult
600
607
 
601
608
  const langgraphConfig: Record<string, unknown> = {
602
609
  configurable: { thread_id: threadId },
610
+ // Hard enforcement of max_tool_rounds (null = unlimited, the default):
611
+ // when the graph exhausts this, the streaming loop's GraphRecursionError
612
+ // handler terminates gracefully with work saved ("send another message
613
+ // to continue"). The middleware's wrap-up advisory fires at ~80% of the
614
+ // same value, so a healthy run finishes normally before ever hitting it.
615
+ ...(recursionLimit !== null ? { recursionLimit } : {}),
603
616
  };
604
617
 
605
618
  const streamVersion: "v2" | "v3" =
@@ -57,6 +57,16 @@ export function handleStop(
57
57
  };
58
58
  }
59
59
 
60
+ /**
61
+ * Stable prefix of the recursion-limit terminal error. This is a cross-repo
62
+ * contract: consumers that need to distinguish "ran out of tool-call budget"
63
+ * from other TERMINATED causes (e.g. Stigmer Cloud's ChannelReplyExtractor,
64
+ * which shows channel users a friendly limit message instead of generic
65
+ * error copy) match on this prefix, because AgentExecutionStatus carries no
66
+ * structured termination reason. Do not reword without updating them.
67
+ */
68
+ export const TOOL_CALL_LIMIT_ERROR_PREFIX = "Agent reached the tool-call limit";
69
+
60
70
  export function handleRecursionLimit(
61
71
  writer: ExecutionStatusWriter,
62
72
  eventsProcessed: number,
@@ -67,7 +77,7 @@ export function handleRecursionLimit(
67
77
  status.phase = ExecutionPhase.EXECUTION_TERMINATED;
68
78
  status.completedAt = utcTimestamp();
69
79
  status.error =
70
- `Agent reached the tool-call limit after processing ${eventsProcessed} events. ` +
80
+ `${TOOL_CALL_LIMIT_ERROR_PREFIX} after processing ${eventsProcessed} events. ` +
71
81
  `Send another message to continue.`;
72
82
  status.messages.push(create(AgentMessageSchema, {
73
83
  type: MessageType.MESSAGE_SYSTEM,
package/src/main.ts CHANGED
@@ -22,6 +22,7 @@ import { createHash } from "node:crypto";
22
22
  import { readFileSync, readdirSync } from "node:fs";
23
23
  import { join, relative } from "node:path";
24
24
  import { createInterface } from "node:readline";
25
+ import { preflightNodeRuntime } from "./preflight.js";
25
26
  import { loadConfig } from "./config.js";
26
27
  import { initTracing, initMetrics } from "./otel.js";
27
28
  import { createStigmerRunner } from "./runner.js";
@@ -283,6 +284,22 @@ function collectTsFiles(dir: string, files: string[] = []): string[] {
283
284
  // ─── Entry Point ─────────────────────────────────────────────────────────────
284
285
 
285
286
  async function main(): Promise<void> {
287
+ // Runtime capability gate FIRST: everything below (config load, manager /
288
+ // static init) eventually imports node:sqlite via the checkpointer chain,
289
+ // and the raw ERR_UNKNOWN_BUILTIN_MODULE from that import is inscrutable.
290
+ // In manager mode the host reads the first stdout line as the handshake, so
291
+ // a fatal IPC error here surfaces verbatim in the host's UI (see
292
+ // negotiate_ready in crates/stigmer-runner-host/src/host.rs).
293
+ const preflightError = preflightNodeRuntime();
294
+ if (preflightError !== null) {
295
+ if (process.env.STIGMER_RUNNER_MODE === "manager") {
296
+ sendIpc({ type: "error", message: preflightError, fatal: true });
297
+ } else {
298
+ writeStderr(`${preflightError}\n`);
299
+ }
300
+ process.exit(1);
301
+ }
302
+
286
303
  checkBuildFreshness();
287
304
 
288
305
  const config = loadConfig();
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Boot preflight: verify the Node runtime can run this runner BEFORE the deep
3
+ * import chains load.
4
+ *
5
+ * Why this exists: the durable local checkpointer (shared/checkpointer/
6
+ * sqlite-saver.ts) imports Node's built-in `node:sqlite` at module load time,
7
+ * and both the manager and the static runner eagerly import that chain during
8
+ * initialization. On a Node without unflagged `node:sqlite` — anything below
9
+ * 22.13, and 23.0–23.3 (the 23.x line only gained it in 23.4) — that import
10
+ * throws a raw `ERR_UNKNOWN_BUILTIN_MODULE` deep inside init, which surfaces
11
+ * to hosts (e.g. the desktop Run dialog) as an inscrutable internal error.
12
+ * This gate turns it into an actionable "your Node cannot run the runner"
13
+ * message on the very first line of output.
14
+ *
15
+ * Why a capability probe and not a version check: version gating is exactly
16
+ * what let this failure ship — the CLI's node resolver encoded a 22.13 floor
17
+ * but its table missed the 23.0–23.3 gap. Probing the capability itself
18
+ * ("can this binary provide node:sqlite?") cannot drift. The version floors
19
+ * appear only in the human-facing message, where staleness is harmless.
20
+ *
21
+ * The gate is unconditional (not checkpointer-type-dependent): the eager
22
+ * import chain needs `node:sqlite` to LOAD regardless of configuration, so
23
+ * the gate mirrors the actual load-time requirement.
24
+ */
25
+
26
+ /**
27
+ * True when this Node binary provides the built-in `node:sqlite`.
28
+ *
29
+ * Probe notes (each verified against real binaries; do not "simplify"):
30
+ * - `process.getBuiltinModule(id)` returns the module when present and
31
+ * `undefined` when absent — no throw. The `?.` guard covers Nodes older
32
+ * than 22.3, where `getBuiltinModule` itself does not exist (there
33
+ * `node:sqlite` is absent too, so reporting "unsupported" is correct).
34
+ * - `module.builtinModules` is NOT a valid alternative: it omits experimental
35
+ * builtins, so it reports no `sqlite` even on Nodes where `node:sqlite`
36
+ * loads fine (e.g. 22.13+). Gating on it would reject every supported Node.
37
+ * - The probe loads the module, which on 22.x emits a one-time
38
+ * `ExperimentalWarning` on stderr. The runner loads `node:sqlite` eagerly
39
+ * moments later anyway, so this only moves that warning to boot.
40
+ */
41
+ export function isNodeSqliteAvailable(): boolean {
42
+ return process.getBuiltinModule?.("node:sqlite") !== undefined;
43
+ }
44
+
45
+ /**
46
+ * Check the current runtime, returning `null` when it can run the runner or
47
+ * an actionable operator-facing message when it cannot. The probe is
48
+ * injectable so tests can exercise the failure path on a supported Node.
49
+ */
50
+ export function preflightNodeRuntime(
51
+ isSqliteAvailable: () => boolean = isNodeSqliteAvailable,
52
+ ): string | null {
53
+ if (isSqliteAvailable()) return null;
54
+ return (
55
+ `Node v${process.versions.node} does not provide the built-in node:sqlite ` +
56
+ `module required by the runner's durable checkpointer. ` +
57
+ `Use Node >= 22.13 (22.x line) or >= 23.4 (23.x and later).`
58
+ );
59
+ }
@@ -0,0 +1,57 @@
1
+ import { describe, expect, it, vi, afterEach } from "vitest";
2
+ import {
3
+ MAX_TOOL_ROUNDS,
4
+ MIN_TOOL_ROUNDS,
5
+ SUPER_STEPS_PER_ROUND,
6
+ resolveRecursionLimit,
7
+ } from "../tool-rounds.js";
8
+
9
+ describe("resolveRecursionLimit", () => {
10
+ afterEach(() => {
11
+ vi.restoreAllMocks();
12
+ });
13
+
14
+ it("returns null for unset (proto contract: 0 = unlimited)", () => {
15
+ expect(resolveRecursionLimit(undefined)).toBeNull();
16
+ expect(resolveRecursionLimit(0)).toBeNull();
17
+ });
18
+
19
+ it("returns null for negative values (treated as unset, never a tiny limit)", () => {
20
+ expect(resolveRecursionLimit(-5)).toBeNull();
21
+ });
22
+
23
+ it("converts rounds to super-steps at the contract's x6 factor", () => {
24
+ expect(resolveRecursionLimit(10)).toBe(60);
25
+ expect(resolveRecursionLimit(100)).toBe(600);
26
+ expect(resolveRecursionLimit(MAX_TOOL_ROUNDS)).toBe(MAX_TOOL_ROUNDS * SUPER_STEPS_PER_ROUND);
27
+ });
28
+
29
+ it("clamps below-range values up to the minimum with a warning", () => {
30
+ const warn = vi.spyOn(console, "warn").mockImplementation(() => {});
31
+
32
+ expect(resolveRecursionLimit(3)).toBe(MIN_TOOL_ROUNDS * SUPER_STEPS_PER_ROUND);
33
+
34
+ expect(warn).toHaveBeenCalledOnce();
35
+ expect(warn.mock.calls[0][0]).toContain("max_tool_rounds=3");
36
+ expect(warn.mock.calls[0][0]).toContain("clamping to 10");
37
+ });
38
+
39
+ it("clamps above-range values down to the maximum with a warning", () => {
40
+ const warn = vi.spyOn(console, "warn").mockImplementation(() => {});
41
+
42
+ expect(resolveRecursionLimit(5000)).toBe(MAX_TOOL_ROUNDS * SUPER_STEPS_PER_ROUND);
43
+
44
+ expect(warn).toHaveBeenCalledOnce();
45
+ expect(warn.mock.calls[0][0]).toContain("max_tool_rounds=5000");
46
+ expect(warn.mock.calls[0][0]).toContain("clamping to 1000");
47
+ });
48
+
49
+ it("does not warn for in-range values", () => {
50
+ const warn = vi.spyOn(console, "warn").mockImplementation(() => {});
51
+
52
+ resolveRecursionLimit(MIN_TOOL_ROUNDS);
53
+ resolveRecursionLimit(MAX_TOOL_ROUNDS);
54
+
55
+ expect(warn).not.toHaveBeenCalled();
56
+ });
57
+ });
@@ -0,0 +1,56 @@
1
+ /**
2
+ * ExecutionConfig.max_tool_rounds → LangGraph recursion_limit resolution.
3
+ *
4
+ * Implements the proto contract (agentexecution/v1/spec.proto):
5
+ * - 0 / unset = unlimited — no recursionLimit is placed on the invoke
6
+ * config, preserving the run-until-done + loop-detection posture.
7
+ * - When set, valid range is 10–1000 rounds; out-of-range values are
8
+ * clamped to the nearest bound with a warning log.
9
+ * - recursion_limit = rounds × 6: each model-tool round consumes multiple
10
+ * graph super-steps because every active middleware hook is its own
11
+ * node; ×6 is the contract's floor estimate.
12
+ *
13
+ * The SAME resolved limit must feed both LangGraph's hard stop (the invoke
14
+ * config) and the ExecutionBudgetMiddleware's wrap-up advisory, so the
15
+ * "~80% of budget" warning and the enforcement point can never disagree.
16
+ */
17
+
18
+ export const SUPER_STEPS_PER_ROUND = 6;
19
+ export const MIN_TOOL_ROUNDS = 10;
20
+ export const MAX_TOOL_ROUNDS = 1000;
21
+
22
+ /**
23
+ * The advisory-only budget used when max_tool_rounds is unset: high enough
24
+ * to never fire on a healthy run. Deliberately NOT enforced as a hard
25
+ * recursionLimit — unset means unlimited per the proto contract.
26
+ */
27
+ export const UNBOUNDED_ADVISORY_RECURSION_LIMIT = 6000;
28
+
29
+ /**
30
+ * The recursionLimit for the invoke config, or null when the execution is
31
+ * unbounded (max_tool_rounds 0/unset — the pre-existing default posture).
32
+ */
33
+ export function resolveRecursionLimit(maxToolRounds: number | undefined): number | null {
34
+ if (!maxToolRounds || maxToolRounds <= 0) {
35
+ return null;
36
+ }
37
+ return clampToolRounds(maxToolRounds) * SUPER_STEPS_PER_ROUND;
38
+ }
39
+
40
+ function clampToolRounds(requested: number): number {
41
+ if (requested < MIN_TOOL_ROUNDS) {
42
+ console.warn(
43
+ `[tool-rounds] max_tool_rounds=${requested} below the valid range ` +
44
+ `(${MIN_TOOL_ROUNDS}-${MAX_TOOL_ROUNDS}); clamping to ${MIN_TOOL_ROUNDS}`,
45
+ );
46
+ return MIN_TOOL_ROUNDS;
47
+ }
48
+ if (requested > MAX_TOOL_ROUNDS) {
49
+ console.warn(
50
+ `[tool-rounds] max_tool_rounds=${requested} above the valid range ` +
51
+ `(${MIN_TOOL_ROUNDS}-${MAX_TOOL_ROUNDS}); clamping to ${MAX_TOOL_ROUNDS}`,
52
+ );
53
+ return MAX_TOOL_ROUNDS;
54
+ }
55
+ return requested;
56
+ }