@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 +1 -1
- package/dist/.build-fingerprint +1 -1
- package/dist/activities/execute-deep-agent/setup.js +13 -3
- package/dist/activities/execute-deep-agent/setup.js.map +1 -1
- package/dist/activities/execute-deep-agent/streaming-terminal.d.ts +9 -0
- package/dist/activities/execute-deep-agent/streaming-terminal.js +10 -1
- package/dist/activities/execute-deep-agent/streaming-terminal.js.map +1 -1
- package/dist/main.js +17 -0
- package/dist/main.js.map +1 -1
- package/dist/preflight.d.ts +46 -0
- package/dist/preflight.js +55 -0
- package/dist/preflight.js.map +1 -0
- package/dist/shared/tool-rounds.d.ts +30 -0
- package/dist/shared/tool-rounds.js +49 -0
- package/dist/shared/tool-rounds.js.map +1 -0
- package/package.json +2 -2
- package/src/__tests__/preflight.test.ts +41 -0
- package/src/activities/execute-deep-agent/__tests__/streaming-terminal.test.ts +40 -0
- package/src/activities/execute-deep-agent/setup.ts +16 -3
- package/src/activities/execute-deep-agent/streaming-terminal.ts +11 -1
- package/src/main.ts +17 -0
- package/src/preflight.ts +59 -0
- package/src/shared/__tests__/tool-rounds.test.ts +57 -0
- package/src/shared/tool-rounds.ts +56 -0
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`
|
|
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
|
|
package/dist/.build-fingerprint
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"hash":"
|
|
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:
|
|
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":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAA6B,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAC;AAa/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAA4B,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAErF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAA0B,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGlF,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EACL,yBAAyB,EACzB,4BAA4B,GAE7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,WAAW,EAGX,qBAAqB,EACrB,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,kCAAkC,GACnC,MAAM,6BAA6B,CAAC;AAsFrC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAuB;IACxD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACvD,IAAI,aAAa,GAA+B,IAAI,CAAC;IAErD,IAAI,CAAC;QACH,4BAA4B;QAC5B,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,uCAAuC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAE9E,sEAAsE;QACtE,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAK,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,wCAAwC,WAAW,IAAI;gBACvD,yCAAyC,CAC1C,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAK,CAAC,eAAe,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAK,CAAC,OAAO,CAAC,CAAC;QAEjE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAK,CAAC,YAAY,IAAI,iCAAiC,CAAC;QACnF,OAAO,CAAC,GAAG,CACT,mCAAmC,SAAS,IAAI;YAChD,SAAS,KAAK,CAAC,QAAS,CAAC,IAAI,EAAE,CAChC,CAAC;QAEF,wBAAwB;QACxB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAK,CAAC,eAAe,EAAE,SAAS;eACvD,MAAM,eAAe,EAAE,CAAC;QAE7B,2EAA2E;QAC3E,8EAA8E;QAC9E,6EAA6E;QAC7E,iEAAiE;QACjE,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC;YAC5C,IAAI,EAAE,MAAM,CAAC,gBAAgB;YAC7B,aAAa,EAAE,MAAM,CAAC,yBAAyB,IAAI,SAAS;YAC5D,SAAS,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;YAC3C,UAAU,EAAE,MAAM,CAAC,gBAAgB,KAAK,QAAQ;gBAC9C,CAAC,CAAC,MAAM,sBAAsB,CAAC,SAAS,CAAC;gBACzC,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,8BAA8B;QAC9B,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;QACzE,MAAM,SAAS,GAAsB,MAAM,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEnF,6EAA6E;QAC7E,6EAA6E;QAC7E,yEAAyE;QACzE,6EAA6E;QAC7E,wEAAwE;QACxE,6EAA6E;QAC7E,MAAM,eAAe,GACnB,MAAM,4BAA4B,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAEzF,8BAA8B;QAC9B,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,yBAAyB,CAAC,CAAC;QAC1E,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,kBAAkB,CACrE,MAAM,EACN,OAAO,EACP,SAAS,CAAC,aAAa,EACvB,SAAS,CACV,CAAC;QAEF,yEAAyE;QACzE,0EAA0E;QAC1E,8EAA8E;QAC9E,qEAAqE;QACrE,kBAAkB;QAClB,gFAAgF;QAChF,4EAA4E;QAC5E,gCAAgC;QAChC,+EAA+E;QAC/E,8EAA8E;QAC9E,+CAA+C;QAC/C,4EAA4E;QAC5E,gFAAgF;QAChF,6EAA6E;QAC7E,iFAAiF;QACjF,oCAAoC;QACpC,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,iBAAiB,CACnC,gBAAgB,CAAC,OAAO,EACxB,YAAY,EACZ,CAAC,CAAC,eAAe,CAClB,CAAC;QAEF,4EAA4E;QAC5E,8EAA8E;QAC9E,6EAA6E;QAC7E,2EAA2E;QAC3E,oDAAoD;QACpD,MAAM,gBAAgB,GAAG,YAAY;YACnC,CAAC,CAAC,CAAC,OAAe,EAAoB,EAAE,CACpC,gBAAgB,CACd,gBAAgB,CAAC,OAAO,EACxB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CACnE;YACL,CAAC,CAAC,CAAC,QAAgB,EAAoB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnE,oEAAoE;QACpE,2EAA2E;QAC3E,oEAAoE;QACpE,iEAAiE;QACjE,8EAA8E;QAC9E,2EAA2E;QAC3E,+EAA+E;QAC/E,qBAAqB;QACrB,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC;YACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO;YACjC,2EAA2E;YAC3E,4EAA4E;YAC5E,0EAA0E;YAC1E,yEAAyE;YACzE,SAAS,EAAE,YAAY;gBACrB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjF,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI;SACrB,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,eAAe,GAAG;YACtB,GAAG,CAAC,KAAK,CAAC,IAAK,CAAC,eAAe,IAAI,EAAE,CAAC;YACtC,GAAG,CAAC,OAAO,CAAC,IAAK,CAAC,eAAe,IAAI,EAAE,CAAC;SACzC,CAAC;QAEF,IAAI,kBAAkB,GAAyD,IAAI,CAAC;QACpF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;YACpE,kBAAkB,GAAG,MAAM,iBAAiB,CAC1C,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,aAAa,CACjD,CAAC;YAEF,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;YAC/C,MAAM,iBAAiB,GAAG,MAAM,0BAA0B,CACxD,MAAM,EACN,kBAAkB,CAAC,eAAe,EAClC,eAAe,EACf,SAAS,CAAC,aAAa,EACvB,UAAU,EACV,SAAS,EACT,SAAS,CAAC,UAAU,CACrB,CAAC;YACF,kBAAkB,GAAG,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC;YAE5D,aAAa,GAAG,MAAM,iBAAiB,CACrC,kBAAkB,CAAC,eAAe,EAClC,EAAE,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,CACzC,CAAC;QACJ,CAAC;QAED,oCAAoC;QACpC,MAAM,SAAS,GAAG,cAAc,CAC9B,KAAK,CAAC,IAAK,CAAC,SAAS,IAAI,EAAE,EAC3B,OAAO,CAAC,IAAK,CAAC,SAAS,IAAI,EAAE,CAC9B,CAAC;QAEF,IAAI,mBAAmB,GAAG,EAAE,CAAC;QAC7B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAE1D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC5D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;gBAErF,MAAM,WAAW,GAAG,SAAS,CAAC,IAAK,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;gBAClF,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;gBAErE,IAAI,MAAM,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC;oBAC3C,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;oBAC9E,IAAI,YAAY,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1C,MAAM,cAAc,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBACxE,OAAO,CAAC,GAAG,CACT,mCAAmC,cAAc,CAAC,MAAM,aAAa;4BACrE,GAAG,YAAY,CAAC,aAAa,CAAC,MAAM,cAAc,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1F,CAAC;wBACF,mBAAmB;4BACjB,qBAAqB,CAAC,cAAc,EAAE,UAAU,CAAC;gCACjD,4BAA4B,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC7D,CAAC;yBAAM,CAAC;wBACN,mBAAmB,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,mBAAmB,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAClE,CAAC;gBAED,OAAO,CAAC,GAAG,CACT,0BAA0B,MAAM,CAAC,MAAM,0BAA0B,mBAAmB,CAAC,MAAM,QAAQ,CACpG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,WAAW,GAAG,SAAS,CAAC,IAAK,CAAC,WAAW,IAAI,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC;YAC5C,OAAO,EAAE,gBAAgB;YACzB,WAAW;YACX,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO;SACrC,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,YAAY,GAAG,yBAAyB,CAAC;YAC7C,YAAY;YACZ,gBAAgB;YAChB,aAAa,EAAE,gBAAgB,CAAC,OAAO;YACvC,mBAAmB;YACnB,iBAAiB,EAAE,SAAS,CAAC,IAAK,CAAC,iBAAiB,IAAI,EAAE;YAC1D,aAAa,EAAE,gBAAgB,CAAC,OAAO;YACvC,aAAa;YACb,eAAe,EAAE,SAAS,CAAC,IAAK,CAAC,eAAe,EAAE,eAAe;YACjE,aAAa,EAAE,SAAS,CAAC,IAAK,CAAC,eAAe,EAAE,aAAa;SAC9D,CAAC,CAAC;QAEH,qEAAqE;QACrE,qEAAqE;QACrE,qEAAqE;QACrE,MAAM,gBAAgB,GACpB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,GAAG,CAAC,IAAI,SAAS,CAAC;QAC3E,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC;YACrC,SAAS;YACT,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,SAAS;YAChD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;YAC9C,WAAW,EAAE,EAAE,WAAW,EAAE;YAC5B,SAAS,EAAE,gBAAgB;SAC5B,CAAC,CAAC;QAEH,kCAAkC;QAClC,MAAM,mBAAmB,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,IAAK,CAAC,eAAe,CAAC;QACnD,MAAM,UAAU,GAAG,UAAU,EAAE,eAAe,KAAK,eAAe,CAAC,IAAI,CAAC;QACxE,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAEjF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;gBACpF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;oBAC5B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,EAAE;QACF,0DAA0D;QAC1D,2EAA2E;QAC3E,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,+DAA+D;QAC/D,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAK,CAAC,eAAe,EAAE,OAAO,CACzD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,IAAI,EAAE,CACnC,IAAI,EAAE,CAAC;QACR,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,kBAAkB,EAAE,eAAe,IAAI,EAAE,EACzC,cAAc,EACd,MAAM,CACP,CAAC;QAEF,0EAA0E;QAC1E,6EAA6E;QAC7E,yEAAyE;QACzE,8EAA8E;QAC9E,8EAA8E;QAC9E,4EAA4E;QAC5E,MAAM,kBAAkB,GAA8B,CAAC,YAAY;YACjE,CAAC,CAAC;gBACE,QAAQ,EAAE,gBAAgB;gBAC1B,gBAAgB,EAAE,MAAM,CAAC,UAAU;gBACnC,aAAa;gBACb,cAAc,EAAE,6BAA6B,CAC3C,yBAAyB,EAAE,EAC3B,WAAW,CACZ;gBACD,WAAW;gBACX,yEAAyE;gBACzE,0EAA0E;gBAC1E,wEAAwE;gBACxE,yEAAyE;gBACzE,+DAA+D;gBAC/D,yEAAyE;gBACzE,uEAAuE;gBACvE,uEAAuE;gBACvE,uDAAuD;gBACvD,EAAE;gBACF,mEAAmE;gBACnE,wEAAwE;gBACxE,yEAAyE;gBACzE,uEAAuE;gBACvE,sDAAsD;gBACtD,sCAAsC;gBACtC,eAAe,EAAE,WAAW;gBAC5B,gBAAgB;gBAChB,cAAc,EAAE,WAAW,IAAI,CAAC,CAAC,eAAe;gBAChD,mBAAmB,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC;aACnF;YACH,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,IAAI,CAAC,CAAC;QAC/C,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,MAAM,cAAc,GAAG,qBAAqB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACxE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,oBAAoB,CAAC;YACpF,aAAa,EAAE;gBACb,WAAW,EAAE,EAAE;gBACf,oBAAoB,EAAE,CAAC;gBACvB,cAAc,EAAE,EAAE;aACnB;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,cAAc,IAAI,kCAAkC;gBACpE,UAAU,EAAE,EAAE;aACf;YACD,cAAc,EAAE;gBACd,QAAQ,EAAE,UAAU,EAAE,kBAAkB,IAAI,MAAM;aACnD;YACD,OAAO,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxB,UAAU;gBACV,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;gBAClD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;gBACpD,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;gBAC1D,UAAU,EAAE,EAAE;aACf,CAAC,CAAC,CAAC,IAAI;YACR,SAAS,EAAE,EAAE,aAAa,EAAE;YAC5B,YAAY,EAAE,kBAAkB;SACjC,CAAC,CAAC;QAEH,qDAAqD;QACrD,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,aAAa,EAAE,KAAgC,IAAI,EAAE,CAAC;YAC1D,eAAe,EAAE;SAClB,CAAC;QAEF,4CAA4C;QAC5C,MAAM,cAAc,GAAG,KAAK,CAAC,IAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QACnD,IAAI,iBAAuF,CAAC;QAE5F,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC1D,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,yBAAyB,CAAC,CAAC;YAE1E,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAmC,CAAC;YAC1E,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;oBACpF,sBAAsB,CAAC,GAAG,CAAC,UAAU,EAAE,WAAsC,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;YAED,iBAAiB,GAAG,MAAM,4BAA4B,CAAC;gBACrD,SAAS,EAAE,cAAc;gBACzB,cAAc,EAAE,aAAa,EAAE,KAAgC,IAAI,EAAE;gBACrE,sBAAsB;gBACtB,eAAe,EAAE,eAAe;gBAChC,WAAW,EAAE,MAAM;gBACnB,gBAAgB;gBAChB,YAAY,EAAE,kBAAkB;gBAChC,2EAA2E;gBAC3E,oEAAoE;gBACpE,qEAAqE;gBACrE,yEAAyE;gBACzE,WAAW;gBACX,eAAe,EAAE,SAAS;gBAC1B,uBAAuB,EAAE,uBAAuB,CAAC,SAAS,CAAC;gBAC3D,OAAO,EAAE,iBAAiB,IAAI,SAAS;gBACvC,YAAY,EAAE,KAAK,EAAE,CAAS,EAAE,EAAE,CAChC,CAAC,MAAM,cAAc,CAAC;oBACpB,SAAS,EAAE,CAAC;oBACZ,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,SAAS;oBAChD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;oBAC9C,WAAW,EAAE,EAAE,WAAW,EAAE;iBAC7B,CAAC,CAAC,CAAC,KAAK;gBACX,oEAAoE;gBACpE,kEAAkE;gBAClE,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG,SAAS,CAAC,IAAK,CAAC,eAAe,EAAE,sBAAsB,CAAC;QAC7E,IAAI,cAAqC,CAAC;QAC1C,IAAI,YAAY,EAAE,CAAC;YACjB,cAAc,GAAG,eAAe,CAAC,YAAkD,CAAC,CAAC;QACvF,CAAC;QAED,4EAA4E;QAC5E,6EAA6E;QAC7E,8EAA8E;QAC9E,0EAA0E;QAC1E,4EAA4E;QAC5E,gDAAgD;QAChD,MAAM,mBAAmB,GAA2B;YAClD,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;SACxD,CAAC;QAEF,wEAAwE;QACxE,2EAA2E;QAC3E,+EAA+E;QAC/E,4EAA4E;QAC5E,8EAA8E;QAC9E,oEAAoE;QACpE,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC;YAChD,OAAO,EAAE,gBAAgB,CAAC,OAAO;YACjC,QAAQ,EAAE,WAAW;YACrB,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC;YACvC,KAAK;YACL,YAAY,EAAE,YAAmB;YACjC,OAAO,EAAE,WAAW;YACpB,YAAY;YACZ,KAAK;YACL,UAAU,EAAE,UAAiB;YAC7B,SAAS,EAAE,iBAAiB,IAAI,SAAS;YACzC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnB,CAAC,CAAC;QAE5C,+CAA+C;QAC/C,IAAI,WAAW,GAAG,SAAS,CAAC,IAAK,CAAC,OAAO,CAAC;QAC1C,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,IAAI,8LAA8L,CAAC;QAChN,CAAC;QACD,MAAM,cAAc,GAAG;YACrB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;SACnD,CAAC;QAEF,MAAM,eAAe,GAA4B;YAC/C,YAAY,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;YACrC,uEAAuE;YACvE,yEAAyE;YACzE,uEAAuE;YACvE,wEAAwE;YACxE,yEAAyE;YACzE,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC;QAEF,MAAM,aAAa,GACjB,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAErE,OAAO,CAAC,GAAG,CACT,2BAA2B,SAAS,IAAI;YACxC,SAAS,KAAK,CAAC,MAAM,gBAAgB,UAAU,CAAC,MAAM,IAAI;YAC1D,aAAa,QAAQ,mBAAmB,aAAa,EAAE,CACxD,CAAC;QAEF,OAAO;YACL,UAAU;YACV,YAAY;YACZ,eAAe;YACf,cAAc;YACd,SAAS;YACT,KAAK;YACL,OAAO;YACP,gBAAgB;YAChB,aAAa;YACb,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,SAAS;YACT,YAAY;YACZ,eAAe;YACf,gBAAgB;YAChB,gBAAgB;YAChB,aAAa;YACb,gBAAgB,EAAE,MAAM,CAAC,UAAU;YACnC,YAAY;YACZ,mBAAmB,EAAE,CAAC,CAAC,YAAY;YACnC,aAAa;YACb,WAAW;YACX,WAAW;YACX,YAAY;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC;gBAAC,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,kBAAkB,CAC/B,MAAc,EACd,OAAgB,EAChB,aAAqC,EACrC,SAAiB;IAEjB,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEvD,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC;IAC9D,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,2BAA2B,CACnD,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,CACrD,CAAC;QACF,OAAO;YACL,gBAAgB,EAAE,IAAI,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC;YACrE,gBAAgB,EAAE,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,YAAY,CACrD,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC,EACH,gBAAgB,EAChB,aAAa,EACb,MAAM,CAAC,IAAI,KAAK,OAAO,EACvB,MAAM,CAAC,IAAI,KAAK,OAAO,CACxB,CAAC;IAEF,mFAAmF;IACnF,IACE,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAC7B,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,gBAAgB,CAAC,OAAO,EACxD,CAAC;QACD,OAAO;YACL,gBAAgB,EAAE,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC;YACrF,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;AAChD,CAAC;AAED,6EAA6E;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE;;;GAGG;AACH,SAAS,uBAAuB,CAAC,OAAe;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAEpC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAC9B,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CACnD;QAAE,OAAO,IAAI,CAAC;IAEf,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -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
|
-
|
|
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,
|
|
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":";AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,wBAAwB,EAA0B,MAAM,kDAAkD,CAAC;AACpH,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEzE,+EAA+E;AAC/E,iFAAiF;AACjF,sEAAsE;AACtE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,wBAAwB,EAAE,CAAC;AAEhE,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;IAC1C,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;IACtC,WAAW,CAAC,WAAW,EAAE,+BAA+B,EAAE,GAAG,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAEhF,SAAS,OAAO,CAAC,GAAgB;IAC/B,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,gFAAgF;AAEhF,KAAK,UAAU,cAAc,CAAC,MAAoC;IAChE,gFAAgF;IAChF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAChC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;QACnC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,IAAI,OAA6B,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,0BAA0B,CAAC;YACzC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,eAAe,EAAE,MAAM,CAAC,sBAAsB;YAC9C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;YAC9C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;YAC9C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,iCAAiC,EAAE,MAAM,CAAC,uBAAuB;YACjE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,SAAS;YAChD,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,IAAI,SAAS;YACxE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,aAAa,EAAE,MAAM,CAAC,IAAI;SAC3B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC;YACN,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,wCAAwC,GAAG,EAAE;YACtD,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE7B,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAErD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,IAAI,GAAe,CAAC;QACpB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC;gBACN,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,iBAAiB,OAAO,EAAE;gBACnC,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACxC,OAAO,CAAC;wBACN,IAAI,EAAE,cAAc;wBACpB,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,SAAS,EAAE,WAAW,GAAG,CAAC,SAAS,EAAE;qBACtC,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,KAAK,eAAe,CAAC,CAAC,CAAC;oBACrB,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC3C,OAAO,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;oBAC9D,MAAM;gBACR,CAAC;gBACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;oBAC5B,MAAM,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACpD,OAAO,CAAC;wBACN,IAAI,EAAE,wBAAwB;wBAC9B,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,SAAS,EAAE,UAAU,GAAG,CAAC,WAAW,EAAE;qBACvC,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,KAAK,yBAAyB,CAAC,CAAC,CAAC;oBAC/B,MAAM,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACvD,OAAO,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC5E,MAAM;gBACR,CAAC;gBACD,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC/B,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;oBAClC,MAAM;gBACR,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACzB,OAAO,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBACtC,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,OAAO,CAAC;wBACN,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,yBAA0B,GAAW,CAAC,IAAI,EAAE;wBACrD,KAAK,EAAE,KAAK;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC;gBACN,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,WAAW,GAAG,CAAC,IAAI,YAAY,GAAG,EAAE;gBAC7C,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED,gFAAgF;AAEhF,KAAK,UAAU,aAAa,CAAC,MAAoC;IAC/D,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;QACvC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,eAAe,EAAE,MAAM,CAAC,sBAAsB;QAC9C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;QAC9C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;QAC9C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;QACvD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,SAAS;QAChD,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,IAAI,SAAS;QACxE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,uEAAuE;QACvE,wEAAwE;QACxE,kEAAkE;QAClE,aAAa,EAAE,MAAM,CAAC,IAAI;KAC3B,CAAC,CAAC;IAEH,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE;QAClC,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QACD,iBAAiB,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,iCAAiC,CAAC,CAAC;QACjE,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAE9D,IAAI,MAAyC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEpD,IAAI,WAAW,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CACX,IAAI;gBACJ,kDAAkD;gBAClD,0BAA0B,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,IAAI,KAAK;gBAClE,4CAA4C,WAAW,KAAK;gBAC5D,IAAI;gBACJ,iEAAiE,CAClE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,QAAkB,EAAE;IACvD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,SAAS;YAC1E,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAEhF,KAAK,UAAU,IAAI;IACjB,mBAAmB,EAAE,CAAC;IAEtB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,wEAAwE;IACxE,EAAE;IACF,+BAA+B;IAC/B,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,EAAE;IACF,yEAAyE;IACzE,2EAA2E;IAC3E,iCAAiC;IACjC,EAAE;IACF,wEAAwE;IACxE,8EAA8E;IAC9E,0EAA0E;IAC1E,EAAE;IACF,wEAAwE;IACxE,gEAAgE;IAChE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,SAAS,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxF,OAAO,CAAC,IAAI,CACV,iBAAiB,UAAU,WAAW,MAAM,CAAC,aAAa,IAAI,MAAM,IAAI;QACxE,YAAY,CAAC,CAAC,MAAM,CAAC,YAAY,eAAe,MAAM,CAAC,gBAAgB,IAAI;QAC3E,aAAa,MAAM,CAAC,SAAS,EAAE,CAChC,CAAC;IAEF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,0FAA0F;QAC1F,2FAA2F;QAC3F,4FAA4F;QAC5F,iDAAiD;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,WAAW,CAAC,WAAW,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
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.
|
|
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.
|
|
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:
|
|
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
|
-
|
|
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();
|
package/src/preflight.ts
ADDED
|
@@ -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
|
+
}
|