@nexus-cortex/core 4.91.1 → 4.93.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/.env.example +42 -0
- package/dist/config/effectiveConfig.d.ts.map +1 -1
- package/dist/config/effectiveConfig.js +2 -0
- package/dist/config/effectiveConfig.js.map +1 -1
- package/dist/middleware/HelperModelMiddleware.d.ts +28 -0
- package/dist/middleware/HelperModelMiddleware.d.ts.map +1 -1
- package/dist/middleware/HelperModelMiddleware.js +63 -1
- package/dist/middleware/HelperModelMiddleware.js.map +1 -1
- package/dist/middleware/helpers/helperFrame.d.ts +4 -0
- package/dist/middleware/helpers/helperFrame.d.ts.map +1 -1
- package/dist/middleware/helpers/helperFrame.js.map +1 -1
- package/dist/orchestrator/CortexOrchestrator.d.ts +36 -0
- package/dist/orchestrator/CortexOrchestrator.d.ts.map +1 -1
- package/dist/orchestrator/CortexOrchestrator.js +296 -12
- package/dist/orchestrator/CortexOrchestrator.js.map +1 -1
- package/dist/orchestrator/emptyResponseClassifier.d.ts +5 -2
- package/dist/orchestrator/emptyResponseClassifier.d.ts.map +1 -1
- package/dist/orchestrator/emptyResponseClassifier.js +18 -1
- package/dist/orchestrator/emptyResponseClassifier.js.map +1 -1
- package/dist/orchestrator/outerToolTimeout.d.ts +5 -0
- package/dist/orchestrator/outerToolTimeout.d.ts.map +1 -0
- package/dist/orchestrator/outerToolTimeout.js +28 -0
- package/dist/orchestrator/outerToolTimeout.js.map +1 -0
- package/dist/orchestrator/requirementsVerification.d.ts.map +1 -1
- package/dist/orchestrator/requirementsVerification.js +22 -3
- package/dist/orchestrator/requirementsVerification.js.map +1 -1
- package/dist/orchestrator/timeBudget.d.ts +19 -0
- package/dist/orchestrator/timeBudget.d.ts.map +1 -0
- package/dist/orchestrator/timeBudget.js +24 -0
- package/dist/orchestrator/timeBudget.js.map +1 -0
- package/dist/tools/ToolProfile.d.ts +5 -0
- package/dist/tools/ToolProfile.d.ts.map +1 -1
- package/dist/tools/ToolProfile.js +15 -0
- package/dist/tools/ToolProfile.js.map +1 -1
- package/dist/training/DecisionStore.d.ts +1 -1
- package/dist/training/DecisionStore.d.ts.map +1 -1
- package/dist/training/DecisionStore.js.map +1 -1
- package/dist/training/endTurnResolver.d.ts +46 -0
- package/dist/training/endTurnResolver.d.ts.map +1 -0
- package/dist/training/endTurnResolver.js +71 -0
- package/dist/training/endTurnResolver.js.map +1 -0
- package/dist/training/liftPlanner.d.ts +65 -0
- package/dist/training/liftPlanner.d.ts.map +1 -0
- package/dist/training/liftPlanner.js +93 -0
- package/dist/training/liftPlanner.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* liftPlanner — the mentor-as-bounded-planner logic (LIFT_MENTOR_PLANNER_EXPERIMENT_SPEC).
|
|
3
|
+
*
|
|
4
|
+
* Pure, unit-testable core of the lift-boundary planner: the planner system prompt and the
|
|
5
|
+
* user-prompt builder. The off-main model call (via HelperModelMiddleware.generateTaskPlan) and
|
|
6
|
+
* the at-lift delivery (CortexOrchestrator.deliverLiftPlanAtLift) are the orchestrator's
|
|
7
|
+
* integration; everything here is deterministic.
|
|
8
|
+
*
|
|
9
|
+
* WHY (spec §1-§2): the narrow-door action model produces pure action (Bash 3232× / Skill 1× /
|
|
10
|
+
* consult 1× in ~4500 calls) with zero planning — it (a) grinds hard tasks to the wall without
|
|
11
|
+
* converging and (b) writes its OWN tests, passes them, declares victory while the hidden grader
|
|
12
|
+
* fails. At the anchor-LIFT boundary (after its first action, so a real env observation exists) a
|
|
13
|
+
* bounded max-reasoning mentor plans the task ONCE and hands a criteria-anchored step plan back.
|
|
14
|
+
* The main model stays narrow — the overthinking is quarantined in the mentor's single bounded
|
|
15
|
+
* call (v1 is single-shot; a token cap would truncate DeepSeek mid-thought, so v1 is bounded by
|
|
16
|
+
* the output budget, not a token/turn cap — see spec §2.4). Sibling of mentorConsult.ts.
|
|
17
|
+
*/
|
|
18
|
+
export interface LiftPlanConfig {
|
|
19
|
+
/**
|
|
20
|
+
* Output token budget for the planner call. 🔴 At MAX reasoning the pro model spends the whole
|
|
21
|
+
* budget on reasoning_content and returns an EMPTY answer if the budget is too small (isolated
|
|
22
|
+
* eval 2026-09-04: max+1200 = 0 chars; max+4000 = a clean 2727-char plan). The budget must hold
|
|
23
|
+
* BOTH the reasoning AND the plan — 4000 is the empirically-safe default. Never token-cap tighter.
|
|
24
|
+
*/
|
|
25
|
+
outputBudgetTokens: number;
|
|
26
|
+
/**
|
|
27
|
+
* Reasoning effort for the planner. Default 'max': the pro CARD ships 'medium' (max over-
|
|
28
|
+
* deliberated when pro was the ACTING agent grinding on solvable tasks), but a bounded single-shot
|
|
29
|
+
* planner CANNOT grind, so max is safe here and produced a markedly better plan in the eval
|
|
30
|
+
* (criteria-anchored + adversarial). This is the one place max reasoning is both safe and desired.
|
|
31
|
+
*/
|
|
32
|
+
effort: string;
|
|
33
|
+
/** Timeout (ms) for the orchestrator-side environment recon that feeds the planner. Bounded so a
|
|
34
|
+
* slow box can't stall the lift; fail-open to an empty report. */
|
|
35
|
+
reconTimeoutMs: number;
|
|
36
|
+
}
|
|
37
|
+
export declare function resolveLiftPlanConfig(env?: NodeJS.ProcessEnv): LiftPlanConfig;
|
|
38
|
+
/**
|
|
39
|
+
* The environment recon the orchestrator runs (bounded, read-only) right before the planner call, so
|
|
40
|
+
* the planner ALWAYS plans against the box's REAL resources — not just whatever the model's first
|
|
41
|
+
* action happened to observe. Reports: tooling (interpreters/compilers/fast-installers present),
|
|
42
|
+
* installed Python packages (so the planner knows if e.g. torch is missing), disk/mem, the real test
|
|
43
|
+
* files, and the workspace listing. POSIX sh, every leg fail-soft (`2>/dev/null`, `head`-bounded).
|
|
44
|
+
*/
|
|
45
|
+
export declare const ENV_RECON_COMMAND: string;
|
|
46
|
+
/**
|
|
47
|
+
* The planner system prompt — the 3-part adversarial-planner role (spec §2.3). HINTS the junior
|
|
48
|
+
* toward the REAL criteria and a concrete plan; the junior does the work. Explicitly targets the
|
|
49
|
+
* two measured failure classes: grind-to-wall and self-graded-success (criteria-misalignment).
|
|
50
|
+
*/
|
|
51
|
+
export declare const PLANNER_SYSTEM: string;
|
|
52
|
+
export interface LiftPlanContext {
|
|
53
|
+
/** The task statement (the instruction the agent received). */
|
|
54
|
+
task: string;
|
|
55
|
+
/** What the agent has observed so far — its first action(s) and their output at the lift. */
|
|
56
|
+
observations: string;
|
|
57
|
+
/** Orchestrator-gathered environment report (ENV_RECON_COMMAND output): tooling present, installed
|
|
58
|
+
* packages, resources, test files. Lets the planner steer installs + timeouts accurately. */
|
|
59
|
+
envReport?: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Build the user prompt sent to the planner. Bounded slices keep the call cheap and cache-stable.
|
|
63
|
+
*/
|
|
64
|
+
export declare function buildPlannerUserPrompt(ctx: LiftPlanContext): string;
|
|
65
|
+
//# sourceMappingURL=liftPlanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liftPlanner.d.ts","sourceRoot":"","sources":["../../src/training/liftPlanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;uEACmE;IACnE,cAAc,EAAE,MAAM,CAAC;CACxB;AAID,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CAS1F;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,QAW2B,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAuB4D,CAAC;AAExF,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,6FAA6F;IAC7F,YAAY,EAAE,MAAM,CAAC;IACrB;kGAC8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAgBnE"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* liftPlanner — the mentor-as-bounded-planner logic (LIFT_MENTOR_PLANNER_EXPERIMENT_SPEC).
|
|
3
|
+
*
|
|
4
|
+
* Pure, unit-testable core of the lift-boundary planner: the planner system prompt and the
|
|
5
|
+
* user-prompt builder. The off-main model call (via HelperModelMiddleware.generateTaskPlan) and
|
|
6
|
+
* the at-lift delivery (CortexOrchestrator.deliverLiftPlanAtLift) are the orchestrator's
|
|
7
|
+
* integration; everything here is deterministic.
|
|
8
|
+
*
|
|
9
|
+
* WHY (spec §1-§2): the narrow-door action model produces pure action (Bash 3232× / Skill 1× /
|
|
10
|
+
* consult 1× in ~4500 calls) with zero planning — it (a) grinds hard tasks to the wall without
|
|
11
|
+
* converging and (b) writes its OWN tests, passes them, declares victory while the hidden grader
|
|
12
|
+
* fails. At the anchor-LIFT boundary (after its first action, so a real env observation exists) a
|
|
13
|
+
* bounded max-reasoning mentor plans the task ONCE and hands a criteria-anchored step plan back.
|
|
14
|
+
* The main model stays narrow — the overthinking is quarantined in the mentor's single bounded
|
|
15
|
+
* call (v1 is single-shot; a token cap would truncate DeepSeek mid-thought, so v1 is bounded by
|
|
16
|
+
* the output budget, not a token/turn cap — see spec §2.4). Sibling of mentorConsult.ts.
|
|
17
|
+
*/
|
|
18
|
+
const DEFAULTS = { outputBudgetTokens: 4000, effort: 'max', reconTimeoutMs: 8000 };
|
|
19
|
+
export function resolveLiftPlanConfig(env = process.env) {
|
|
20
|
+
const n = parseInt((env.CORTEX_LIFT_PLAN_BUDGET_TOKENS ?? '').trim(), 10);
|
|
21
|
+
const e = (env.CORTEX_LIFT_PLAN_EFFORT ?? '').trim();
|
|
22
|
+
const r = parseInt((env.CORTEX_LIFT_PLAN_RECON_TIMEOUT_MS ?? '').trim(), 10);
|
|
23
|
+
return {
|
|
24
|
+
outputBudgetTokens: Number.isInteger(n) && n > 0 ? n : DEFAULTS.outputBudgetTokens,
|
|
25
|
+
effort: e || DEFAULTS.effort,
|
|
26
|
+
reconTimeoutMs: Number.isInteger(r) && r > 0 ? r : DEFAULTS.reconTimeoutMs,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The environment recon the orchestrator runs (bounded, read-only) right before the planner call, so
|
|
31
|
+
* the planner ALWAYS plans against the box's REAL resources — not just whatever the model's first
|
|
32
|
+
* action happened to observe. Reports: tooling (interpreters/compilers/fast-installers present),
|
|
33
|
+
* installed Python packages (so the planner knows if e.g. torch is missing), disk/mem, the real test
|
|
34
|
+
* files, and the workspace listing. POSIX sh, every leg fail-soft (`2>/dev/null`, `head`-bounded).
|
|
35
|
+
*/
|
|
36
|
+
export const ENV_RECON_COMMAND = 'echo "== TOOLING (present) =="; ' +
|
|
37
|
+
'for i in python3 python node npm cc gcc g++ make cargo go uv bun pip pip3 git curl; do ' +
|
|
38
|
+
'command -v "$i" >/dev/null 2>&1 && echo " $i=$(command -v "$i")"; done; ' +
|
|
39
|
+
'echo "== PYTHON PACKAGES (installed, top 40) =="; ' +
|
|
40
|
+
'{ python3 -m pip list 2>/dev/null || pip list 2>/dev/null || pip3 list 2>/dev/null; } | head -40; ' +
|
|
41
|
+
'echo "== NODE (global top-level) =="; npm ls -g --depth 0 2>/dev/null | head -20; ' +
|
|
42
|
+
'echo "== RESOURCES =="; df -h . 2>/dev/null | tail -1; free -m 2>/dev/null | sed -n "2p"; ' +
|
|
43
|
+
'echo "== TEST FILES / BUILD =="; ' +
|
|
44
|
+
'find . -maxdepth 4 \\( -iname "*test*" -o -name "Makefile" -o -name "*.proto" -o -name "conftest.py" \\) ' +
|
|
45
|
+
'2>/dev/null | grep -v node_modules | head -25; ' +
|
|
46
|
+
'echo "== WORKSPACE =="; ls -1A 2>/dev/null | head -30';
|
|
47
|
+
/**
|
|
48
|
+
* The planner system prompt — the 3-part adversarial-planner role (spec §2.3). HINTS the junior
|
|
49
|
+
* toward the REAL criteria and a concrete plan; the junior does the work. Explicitly targets the
|
|
50
|
+
* two measured failure classes: grind-to-wall and self-graded-success (criteria-misalignment).
|
|
51
|
+
*/
|
|
52
|
+
export const PLANNER_SYSTEM = 'You are a senior engineer writing a battle-tested plan of attack for a junior agent that will ' +
|
|
53
|
+
'execute it in a real terminal container. The junior acts in small steps and plans poorly — it ' +
|
|
54
|
+
'tends to (a) grind endlessly on hard tasks without converging, and (b) write its OWN tests, ' +
|
|
55
|
+
'pass them, and declare victory while the REAL hidden grader fails. Do three things:\n' +
|
|
56
|
+
'1. ADVERSARIAL ANALYSIS: read the task and name the nuances, edge constraints, and the specific ' +
|
|
57
|
+
'ways a naive attempt fails THIS task.\n' +
|
|
58
|
+
'2. CONFIRM THE REAL CRITERIA: state precisely what the hidden grader will check — a provided ' +
|
|
59
|
+
'test file, a required run command, an exact output/format. The junior\'s OWN tests are a means, ' +
|
|
60
|
+
'NEVER the finish line; the plan must verify against the task\'s real criteria.\n' +
|
|
61
|
+
'3. PLAN or RETIRE: emit a concise NUMBERED step-by-step plan that front-loads finding and ' +
|
|
62
|
+
'reading the real tests/criteria, then builds to them, then verifies against them. If the task ' +
|
|
63
|
+
'is beyond a small agent\'s reach within budget, emit a RETIRE plan instead: attempt the minimal ' +
|
|
64
|
+
'viable skeleton, run the real test once, submit best-effort, and STOP — do not grind.\n' +
|
|
65
|
+
'USE THE ENVIRONMENT REPORT (tooling present, installed packages, resources, test files) you are ' +
|
|
66
|
+
'given:\n' +
|
|
67
|
+
'- If the task needs a language, tool, or package that the report shows is MISSING, add an explicit ' +
|
|
68
|
+
'INSTALL step — prefer a fast cached installer (uv for Python, bun/npm for JS), pin the version, and ' +
|
|
69
|
+
'verify with a real run. An empty/bare box is part of the task, not an error.\n' +
|
|
70
|
+
'- If a step is long-running (a build, a large install, training, a big test suite), tell the junior ' +
|
|
71
|
+
'to set an adequate Bash timeout for THAT command (e.g. timeout: 600000 ms — the harness honors up to ' +
|
|
72
|
+
'600000ms; anything left at the default is backgrounded at ~120s). Match the timeout to the step.\n' +
|
|
73
|
+
'Output ONLY the plan the junior will follow: a short numbered list of concrete, criteria-anchored ' +
|
|
74
|
+
'actions. Be specific and terse. Do not write the full solution or long code blocks.';
|
|
75
|
+
/**
|
|
76
|
+
* Build the user prompt sent to the planner. Bounded slices keep the call cheap and cache-stable.
|
|
77
|
+
*/
|
|
78
|
+
export function buildPlannerUserPrompt(ctx) {
|
|
79
|
+
const parts = [];
|
|
80
|
+
parts.push(`TASK:\n${(ctx.task || '').trim().slice(0, 2000)}`);
|
|
81
|
+
const env = (ctx.envReport || '').trim();
|
|
82
|
+
if (env) {
|
|
83
|
+
parts.push(`ENVIRONMENT REPORT (what is actually on this box — tooling, installed packages, resources, tests):\n${env.slice(0, 3000)}`);
|
|
84
|
+
}
|
|
85
|
+
const obs = (ctx.observations || '').trim();
|
|
86
|
+
if (obs) {
|
|
87
|
+
parts.push(`WHAT THE AGENT HAS OBSERVED SO FAR (its first action + output):\n${obs.slice(0, 2000)}`);
|
|
88
|
+
}
|
|
89
|
+
parts.push('Produce the criteria-anchored numbered plan now (or a RETIRE plan if there is no viable path ' +
|
|
90
|
+
'within budget). Steer installs/timeouts from the ENVIRONMENT REPORT. The junior will follow it verbatim.');
|
|
91
|
+
return parts.join('\n\n');
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=liftPlanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liftPlanner.js","sourceRoot":"","sources":["../../src/training/liftPlanner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexus-cortex/core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.93.0",
|
|
4
4
|
"description": "Core orchestration library implementing Claude CLI architecture patterns",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"@google/generative-ai": "^0.2.1",
|
|
48
48
|
"@gradio/client": "^2.3.1",
|
|
49
49
|
"@modelcontextprotocol/sdk": "^1.20.2",
|
|
50
|
-
"@nexus-cortex/executors": "4.
|
|
51
|
-
"@nexus-cortex/types": "4.
|
|
50
|
+
"@nexus-cortex/executors": "4.93.0",
|
|
51
|
+
"@nexus-cortex/types": "4.93.0",
|
|
52
52
|
"@types/uuid": "^10.0.0",
|
|
53
53
|
"ajv": "^8.12.0",
|
|
54
54
|
"chokidar": "^3.6.0",
|