@nexus-cortex/core 4.124.8 → 4.124.10

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.
Files changed (36) hide show
  1. package/.env.defaults +16 -0
  2. package/dist/config/RuntimeConfigRegistry.d.ts.map +1 -1
  3. package/dist/config/RuntimeConfigRegistry.js +2 -0
  4. package/dist/config/RuntimeConfigRegistry.js.map +1 -1
  5. package/dist/config/SettingsLoader.d.ts.map +1 -1
  6. package/dist/config/SettingsLoader.js +2 -0
  7. package/dist/config/SettingsLoader.js.map +1 -1
  8. package/dist/config/SettingsSchema.d.ts +2 -0
  9. package/dist/config/SettingsSchema.d.ts.map +1 -1
  10. package/dist/config/SettingsSchema.js +2 -0
  11. package/dist/config/SettingsSchema.js.map +1 -1
  12. package/dist/config/effectiveConfig.d.ts.map +1 -1
  13. package/dist/config/effectiveConfig.js +2 -0
  14. package/dist/config/effectiveConfig.js.map +1 -1
  15. package/dist/frames/chooser.js +3 -3
  16. package/dist/frames/chooser.js.map +1 -1
  17. package/dist/frames/frameConfig.d.ts +3 -2
  18. package/dist/frames/frameConfig.d.ts.map +1 -1
  19. package/dist/frames/frameConfig.js +26 -2
  20. package/dist/frames/frameConfig.js.map +1 -1
  21. package/dist/frames/frameRunner.d.ts +22 -0
  22. package/dist/frames/frameRunner.d.ts.map +1 -1
  23. package/dist/frames/frameRunner.js +39 -5
  24. package/dist/frames/frameRunner.js.map +1 -1
  25. package/dist/frames/terminusFrame.d.ts +22 -1
  26. package/dist/frames/terminusFrame.d.ts.map +1 -1
  27. package/dist/frames/terminusFrame.js +53 -4
  28. package/dist/frames/terminusFrame.js.map +1 -1
  29. package/dist/middleware/HelperModelMiddleware.d.ts +24 -0
  30. package/dist/middleware/HelperModelMiddleware.d.ts.map +1 -1
  31. package/dist/middleware/HelperModelMiddleware.js +34 -0
  32. package/dist/middleware/HelperModelMiddleware.js.map +1 -1
  33. package/dist/orchestrator/CortexOrchestrator.d.ts.map +1 -1
  34. package/dist/orchestrator/CortexOrchestrator.js +1 -0
  35. package/dist/orchestrator/CortexOrchestrator.js.map +1 -1
  36. package/package.json +3 -3
@@ -32,7 +32,7 @@ export function buildChooserQuestions(menu) {
32
32
  // authorize a destructive step the guard could not judge.
33
33
  q.unsafe = { type: 'noul', instructions: 'Would the first generator candidate (c1) do something with no legitimate use here: exit the shell or send C-d/exit at a prompt (that kills the terminal pane), delete or overwrite files OUTSIDE the task\'s working directory, format or write a real block device, shut the machine down, or act clearly outside what the task asks?' };
34
34
  q.questionable = { type: 'noul', instructions: 'Would the first generator candidate (c1) risk losing work already produced for this task — deleting, truncating or overwriting the task\'s output files, results, or edited sources, resetting or cleaning a repository, or undoing progress the state shows — without the task text asking for it and without the candidate\'s note explaining why?' };
35
- q.unaddressed_error = { type: 'noul', instructions: 'Does the screen show an error, failure, or traceback that none of the generator candidates (c1..c3) addresses?' };
35
+ q.unaddressed_error = { type: 'noul', instructions: 'Does the screen show an error, failure, or traceback that none of the command candidates (c1..c3) addresses?' };
36
36
  for (const m of menu)
37
37
  if (m.guard)
38
38
  q[`intended_${m.id}`] = { type: 'noul', instructions: `Candidate "${m.id}" (${m.keystrokes.slice(0, 120)}) is destructive: ${m.guard.reason.slice(0, 120)}. Does the TASK TEXT ask for or clearly require this step (for example: clean or rebuild an output tree, create a filesystem image, reset a repository), or does the candidate's note give a reason grounded in the task and the screen?` };
@@ -42,7 +42,7 @@ export function buildChooserQuestions(menu) {
42
42
  export function decideChooser(input) {
43
43
  const th = { ...CHOOSER_DEFAULTS, ...(input.thresholds ?? {}) };
44
44
  const gen = input.menu.filter((m) => m.source === 'generator');
45
- const escape = gen[0] ?? input.menu[0] ?? null;
45
+ const escape = gen[0] ?? input.menu.find((m) => m.source === 'predictor') ?? input.menu[0] ?? null; // the writer's first, else the author's
46
46
  if (!input.answers)
47
47
  return { action: 'escape', pick: escape, pickProbability: null, consequences: [], sendFullScreen: false, reasons: ['no reader answers (fail-open)'] };
48
48
  const a = input.answers;
@@ -93,7 +93,7 @@ export function decideChooser(input) {
93
93
  return { action: restrict ? 'restrict' : 'execute', pick: best.m, pickProbability: best.p, consequences, sendFullScreen: sendFullScreenFinal, reasons };
94
94
  }
95
95
  reasons.push(`no candidate ≥ ${th.pick} — escape`);
96
- const fallback = restrict ? (best?.m ?? null) : (escape && held.has(escape.id) ? (scored.find((x) => x.m.source === 'generator')?.m ?? best?.m ?? null) : escape);
96
+ const fallback = restrict ? (best?.m ?? null) : (escape && held.has(escape.id) ? (scored.find((x) => x.m.source !== 'template')?.m ?? best?.m ?? null) : escape);
97
97
  return { action: restrict ? 'restrict' : (fallback === escape ? 'escape' : 'restrict'), pick: fallback, pickProbability: best?.p ?? null, consequences, sendFullScreen: sendFullScreenFinal, reasons };
98
98
  }
99
99
  /** The turn-prediction-shaped row (Lens A on agent actions; the DPO source). `predicted_next` = the writer's first candidate (its ghost
@@ -1 +1 @@
1
- {"version":3,"file":"chooser.js","sourceRoot":"","sources":["../../src/frames/chooser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chooser.js","sourceRoot":"","sources":["../../src/frames/chooser.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,12 @@ export interface FrameConfig {
8
8
  candidates: number;
9
9
  waitCapS: number;
10
10
  screenLines: number;
11
- keyGuard: boolean;
11
+ keyGuard: boolean; /** R184: distinct writer candidates the menu step needs before it runs (1 = off; auto 2 when the chooser is on) */
12
+ minCandidates: number; /** R185: who fills the menu when the writer offers fewer than the cap — 'helper' (the helper model, thinking off) or 'off' */
13
+ author: 'off' | 'helper';
12
14
  }
13
15
  export declare const FRAME_CONFIG_DEFAULTS: FrameConfig;
14
16
  /** `CORTEX_FRAME=tools|terminus`, `CORTEX_FRAME_CHOOSER=off|jev`, `CORTEX_FRAME_CANDIDATES` 1..3, `CORTEX_FRAME_WAIT_CAP_S` 5..600 (the cap on ONE action's requested wait; default 60), `CORTEX_FRAME_KEY_GUARD=on|off` (R182 keystroke guard; default on). */
15
17
  export declare function resolveFrameConfig(env?: NodeJS.ProcessEnv): FrameConfig;
16
- /** The turn-0 contract; `CORTEX_FRAME_CONTRACT_EXTRA` (env) appends cell-specific guidance without a release. */
17
18
  export declare const FRAME_CONTRACT: string;
18
19
  //# sourceMappingURL=frameConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frameConfig.d.ts","sourceRoot":"","sources":["../../src/frames/frameConfig.ts"],"names":[],"mappings":"AAAA,6HAA6H;AAC7H,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAC7C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC;AACxC,MAAM,WAAW,WAAW;IAAG,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE;AACrJ,eAAO,MAAM,qBAAqB,EAAE,WAA8G,CAAC;AAEnJ,gQAAgQ;AAChQ,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,WAAW,CAWpF;AAKD,iHAAiH;AACjH,eAAO,MAAM,cAAc,QAAiJ,CAAC"}
1
+ {"version":3,"file":"frameConfig.d.ts","sourceRoot":"","sources":["../../src/frames/frameConfig.ts"],"names":[],"mappings":"AAAA,6HAA6H;AAC7H,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAC7C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC;AACxC,MAAM,WAAW,WAAW;IAAG,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,mHAAmH;IAAC,aAAa,EAAE,MAAM,CAAC,CAAC,8HAA8H;IAAC,MAAM,EAAE,KAAK,GAAG,QAAQ,CAAA;CAAE;AACzb,eAAO,MAAM,qBAAqB,EAAE,WAA+I,CAAC;AAkBpL,gQAAgQ;AAChQ,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,WAAW,CAapF;AAWD,eAAO,MAAM,cAAc,QAAwM,CAAC"}
@@ -1,6 +1,23 @@
1
1
  /** R179 HB-TERMINUS-FRAME — config resolver + the frame contract (design: docs/R179_TERMINUS_FRAME_PORT_DESIGN.md). Pure. */
2
2
  export const FRAME_TOOL_NAME = 'FrameAction';
3
- export const FRAME_CONFIG_DEFAULTS = { frame: 'tools', chooser: 'off', candidates: 1, waitCapS: 60, screenLines: 45, keyGuard: true };
3
+ export const FRAME_CONFIG_DEFAULTS = { frame: 'tools', chooser: 'off', candidates: 1, waitCapS: 60, screenLines: 45, keyGuard: true, minCandidates: 1, author: 'off' };
4
+ /** R184 (E2 field: the writer gave ONE candidate on 89% of 3371 turns — the chooser had nothing to choose): `CORTEX_FRAME_MIN_CANDIDATES` 1..3;
5
+ * unset → 2 when the chooser is on and the cap allows it, else 1. Never above the candidate cap. */
6
+ /** R185: `CORTEX_FRAME_AUTHOR=off|helper`; unset → helper when the chooser is on (a chooser without a menu measures nothing — E2 field). */
7
+ function resolveAuthor(raw, chooser) {
8
+ const v = (raw || '').trim().toLowerCase();
9
+ if (v === 'helper')
10
+ return 'helper';
11
+ if (v === 'off' || v === 'false' || v === '0' || v === 'no')
12
+ return 'off';
13
+ return chooser === 'jev' ? 'helper' : 'off';
14
+ }
15
+ function resolveMinCandidates(raw, chooser, cap) {
16
+ const m = Number(raw);
17
+ if (Number.isInteger(m) && m >= 1)
18
+ return Math.min(m, cap);
19
+ return chooser === 'jev' && cap >= 2 ? 2 : 1;
20
+ }
4
21
  /** `CORTEX_FRAME=tools|terminus`, `CORTEX_FRAME_CHOOSER=off|jev`, `CORTEX_FRAME_CANDIDATES` 1..3, `CORTEX_FRAME_WAIT_CAP_S` 5..600 (the cap on ONE action's requested wait; default 60), `CORTEX_FRAME_KEY_GUARD=on|off` (R182 keystroke guard; default on). */
5
22
  export function resolveFrameConfig(env = process.env) {
6
23
  const frame = (env.CORTEX_FRAME || '').trim().toLowerCase() === 'terminus' ? 'terminus' : 'tools';
@@ -14,10 +31,17 @@ export function resolveFrameConfig(env = process.env) {
14
31
  waitCapS: Number.isFinite(w) && w >= 5 ? Math.min(600, w) : FRAME_CONFIG_DEFAULTS.waitCapS,
15
32
  screenLines: Number.isInteger(l) && l >= 10 ? Math.min(400, l) : FRAME_CONFIG_DEFAULTS.screenLines,
16
33
  keyGuard: !/^(off|false|0|no)$/i.test((env.CORTEX_FRAME_KEY_GUARD || '').trim()),
34
+ minCandidates: resolveMinCandidates(env.CORTEX_FRAME_MIN_CANDIDATES, chooser, Number.isInteger(c) && c >= 1 ? Math.min(3, c) : FRAME_CONFIG_DEFAULTS.candidates),
35
+ author: resolveAuthor(env.CORTEX_FRAME_AUTHOR, chooser),
17
36
  };
18
37
  }
19
38
  /** Appended to the system prompt on turn 0 (the static prefix is pinned per conversation — never changes after). */
20
39
  const FRAME_CONTRACT_BASE = `TERMINAL FRAME. You work in ONE interactive terminal (a tmux pane). Your only action is the FrameAction tool: give your analysis of the current screen, your plan, and one to three candidate actions, each with the exact keystrokes to type (end a command with \\n to run it; tmux key names such as C-c are allowed) and how many seconds to wait before looking again (default 3; use larger waits only for commands you know run long; a command still running is handed back to you marked STILL RUNNING, and the WAIT / INTERRUPT / SHOW MORE OUTPUT / RUN THE TASK'S TEST / RE-READ THE TASK / FINISH templates are always available by naming one in a candidate label). The harness executes ONE candidate (your first unless a harness gate chooses otherwise), waits, and returns the screen, a STATE line (turn, commands run, last exit code, budget) and the templates it can run for you. THE PANE IS SMALL: you see only the LAST 45 lines after each action, and SHOW MORE OUTPUT reveals at most 180. Anything longer is lost and costs you turns. So make every command narrow and specific on purpose: grep -n with a tight pattern and -m/--max-count, head -n 20 / tail -n 20 / sed -n 'a,bp' on the exact range you need, wc -l before printing, ls of one directory, one file at a time. Prefer several small, precise commands over one broad one. When output must be long (a build, a test run, an install), redirect it (cmd > /tmp/out.txt 2>&1), then query the file with grep/tail — never re-run it to see what scrolled off. Read the screen before every action; do not repeat a command that already ran with nothing changed; when a command is still running you can wait or interrupt it. NEVER send C-d or exit to the shell: that kills the pane (a keystroke guard refuses pane-killing and system-destructive commands outright; a destructive step the task genuinely requires — cleaning an output tree, formatting a disk image, resetting a repository — runs only when your candidate's "why" cites the task requirement). If the pane stops answering, the harness offers RESET THE PANE (a fresh shell in the task directory) — name it. When the task is complete, call EndTurn with your attestation as usual.`;
21
40
  /** The turn-0 contract; `CORTEX_FRAME_CONTRACT_EXTRA` (env) appends cell-specific guidance without a release. */
22
- export const FRAME_CONTRACT = FRAME_CONTRACT_BASE + ((process.env.CORTEX_FRAME_CONTRACT_EXTRA || '').trim() ? `\n\n${process.env.CORTEX_FRAME_CONTRACT_EXTRA.trim()}` : '');
41
+ const FRAME_CONTRACT_MENU = (cfg) => cfg.author === 'helper'
42
+ ? `\n\nTHE MENU (chooser on): give your best next action first; when you see more than one good route, give 2–3 genuinely different candidates. A second author adds alternatives to your list and a harness gate reads the screen and picks one — the executed action may not be your first; the STATE line and the screen always show what ran.`
43
+ : cfg.minCandidates >= 2
44
+ ? `\n\nTHE MENU (chooser on): every turn give ${cfg.minCandidates === cfg.candidates ? cfg.candidates : `${cfg.minCandidates} to ${cfg.candidates}`} GENUINELY DIFFERENT candidate actions, best first — a different command, a different approach, or a different diagnostic, never variants of one command. A harness gate reads the screen and picks one; a single candidate is sent back to you unexecuted with a request for alternatives, which costs a turn.`
45
+ : '';
46
+ export const FRAME_CONTRACT = FRAME_CONTRACT_BASE + FRAME_CONTRACT_MENU(resolveFrameConfig(process.env)) + ((process.env.CORTEX_FRAME_CONTRACT_EXTRA || '').trim() ? `\n\n${process.env.CORTEX_FRAME_CONTRACT_EXTRA.trim()}` : '');
23
47
  //# sourceMappingURL=frameConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"frameConfig.js","sourceRoot":"","sources":["../../src/frames/frameConfig.ts"],"names":[],"mappings":"AAAA,6HAA6H;AAC7H,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;AAI7C,MAAM,CAAC,MAAM,qBAAqB,GAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEnJ,gQAAgQ;AAChQ,MAAM,UAAU,kBAAkB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACrE,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAClG,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAChG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC9I,OAAO;QACL,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU;QAC7F,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ;QAC1F,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW;QAClG,QAAQ,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KACjF,CAAC;AACJ,CAAC;AAED,oHAAoH;AACpH,MAAM,mBAAmB,GAAG,qoEAAqoE,CAAC;AAElqE,iHAAiH;AACjH,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,2BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"frameConfig.js","sourceRoot":"","sources":["../../src/frames/frameConfig.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,24 @@ export interface FrameDeps {
6
6
  type: 'noul';
7
7
  instructions: string;
8
8
  }>) => Promise<Record<string, number> | null>;
9
+ /** R185: the candidate author (helper model) — proposes `count` alternatives to the writer's candidates; null/[] = none */
10
+ author?: (ctx: {
11
+ task: string;
12
+ screen: string;
13
+ stateCard: string;
14
+ writerAnalysis: string;
15
+ writerPlan: string;
16
+ writerCandidates: Array<{
17
+ label: string;
18
+ keystrokes: string;
19
+ }>;
20
+ count: number;
21
+ }) => Promise<Array<{
22
+ label: string;
23
+ keystrokes: string;
24
+ durationS: number;
25
+ why: string;
26
+ }> | null>;
9
27
  sleep?: (ms: number) => Promise<void>;
10
28
  now?: () => number;
11
29
  }
@@ -36,6 +54,10 @@ export declare class FrameRunner {
36
54
  private lastTemplateKey;
37
55
  private paneDead;
38
56
  private paneResets;
57
+ /** R184: re-asks for alternatives — one per turn, at most DIVERSITY_MAX_REASKS per session (then fail-open: the menu is what the writer gave) */
58
+ private diversityReasks;
59
+ private diversityReaskPending;
60
+ private static readonly DIVERSITY_MAX_REASKS;
39
61
  private readonly sleep;
40
62
  private readonly now;
41
63
  constructor(cfg: FrameConfig, deps: FrameDeps);
@@ -1 +1 @@
1
- {"version":3,"file":"frameRunner.d.ts","sourceRoot":"","sources":["../../src/frames/frameRunner.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClG,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACrE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACpJ,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,cAAc;IAAG,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE;AACtL,MAAM,WAAW,eAAe;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE;AAgBrG,qBAAa,WAAW;IAYV,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAe,OAAO,CAAC,QAAQ,CAAC,IAAI;IAXpE,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBACN,GAAG,EAAE,WAAW,EAAmB,IAAI,EAAE,SAAS;YAKjE,aAAa;YAUb,OAAO;IAUrB,+HAA+H;YACjH,SAAS;YAST,QAAQ;IAQtB,6IAA6I;YAC/H,cAAc;IAuBtB,IAAI,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;CA2E5D"}
1
+ {"version":3,"file":"frameRunner.d.ts","sourceRoot":"","sources":["../../src/frames/frameRunner.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * (screen + state card + templates) as the FrameAction tool_result. Holds the frame's durable state for the session (history, running
5
5
  * command, tmux session id). Everything decision-shaped is in the pure modules; this file is plumbing + waiting.
6
6
  */
7
- import { buildStateCard, buildMenu, buildFrameSuffix, clipScreen, parsePromptRc, promptIsBack, waitPolicy, extractTaskTestCommand, parseFrameAction, stripAnsi, normalizeKeys, paneIsDead, paneWedged, applyNamedTemplates, applyKeyGuard, whyJustifies, FRAME_DEFAULTS } from './terminusFrame.js';
7
+ import { buildStateCard, buildMenu, buildFrameSuffix, clipScreen, parsePromptRc, promptIsBack, waitPolicy, extractTaskTestCommand, parseFrameAction, stripAnsi, normalizeKeys, paneIsDead, paneWedged, applyNamedTemplates, applyKeyGuard, whyJustifies, distinctCandidateCount, mergeAuthoredCandidates, FRAME_DEFAULTS } from './terminusFrame.js';
8
8
  import { buildChooserState, buildChooserQuestions, decideChooser, buildChooserRow } from './chooser.js';
9
9
  const RAW_KEY_RE = /^(C-[a-z\[\]\\^_]|M-[a-z]|Enter|Escape|Tab|Up|Down|Left|Right|Space|BSpace|DC|Home|End|PPage|NPage|F\d{1,2})$/;
10
10
  function resultText(r) {
@@ -31,6 +31,10 @@ export class FrameRunner {
31
31
  lastTemplateKey = '';
32
32
  paneDead = false;
33
33
  paneResets = 0;
34
+ /** R184: re-asks for alternatives — one per turn, at most DIVERSITY_MAX_REASKS per session (then fail-open: the menu is what the writer gave) */
35
+ diversityReasks = 0;
36
+ diversityReaskPending = false;
37
+ static DIVERSITY_MAX_REASKS = 5;
34
38
  sleep;
35
39
  now;
36
40
  constructor(cfg, deps) {
@@ -143,6 +147,17 @@ export class FrameRunner {
143
147
  if (!action.parsed) {
144
148
  return { content: `FrameAction not understood (${action.error}). Send {analysis, plan, candidates:[{label, keystrokes, duration_s}]} — keystrokes end with \\n to run a command; an empty keystrokes string with a duration waits.`, isError: true, meta: { frame: 'terminus', parsed: false } };
145
149
  }
150
+ // R184 MENU DIVERSITY: with the chooser on, one candidate is no menu. Ask ONCE (per turn) for 2–3 genuinely different actions; bounded per
151
+ // session so a writer that never adapts costs at most DIVERSITY_MAX_REASKS extra calls. No keystrokes run on a re-ask turn.
152
+ const distinct = distinctCandidateCount(action.candidates);
153
+ const hasAuthor = this.cfg.author === 'helper' && !!this.deps.author;
154
+ if (!hasAuthor && this.cfg.minCandidates >= 2 && distinct < this.cfg.minCandidates && !action.taskComplete && !this.diversityReaskPending && this.diversityReasks < FrameRunner.DIVERSITY_MAX_REASKS) {
155
+ this.diversityReasks += 1;
156
+ this.diversityReaskPending = true;
157
+ this.deps.recordEvent('frame_turn', { session_id: input.sessionId, turn_number: this.turn + 1, predictor_model: input.predictorModel, diversityReask: this.diversityReasks, distinctCandidates: distinct, analysis: action.analysis.slice(0, 600), plan: action.plan.slice(0, 600), chooser: this.cfg.chooser, stepMs: this.now() - t0 });
158
+ return { content: `MENU NEEDS ALTERNATIVES: you gave ${distinct} action${distinct === 1 ? '' : 's'}; the harness chooses among ${this.cfg.minCandidates}–${this.cfg.candidates} GENUINELY DIFFERENT actions each turn (a different command, a different approach, or a different diagnostic — not a variant of the same command). Resend the same analysis and plan with ${this.cfg.minCandidates}–${this.cfg.candidates} candidates, best first. Nothing was executed.${this.diversityReasks >= FrameRunner.DIVERSITY_MAX_REASKS ? ' (Last reminder: from now on single candidates run as given.)' : ''}`, isError: false, meta: { frame: 'terminus', turn: this.turn, diversityReask: this.diversityReasks, distinctCandidates: distinct } };
159
+ }
160
+ this.diversityReaskPending = false;
146
161
  await this.ensureSession(input.cwd, input.sessionId, input.signal);
147
162
  this.turn += 1;
148
163
  const preConsequences = [];
@@ -152,7 +167,26 @@ export class FrameRunner {
152
167
  const screenBefore = this.lastScreen || await this.capture(this.cfg.screenLines, input.signal);
153
168
  const stateBefore = buildStateCard({ cwd: input.cwd, turn: this.turn, budgetUsedFrac: input.deadlineMs > 0 ? Math.min(1, input.elapsedMs / input.deadlineMs) : null, budgetLeftS: input.deadlineMs > 0 ? Math.max(0, (input.deadlineMs - input.elapsedMs) / 1000) : null, history: this.history, commandStillRunning: this.running });
154
169
  const wedged = paneWedged(this.history);
155
- const menu0 = applyNamedTemplates(buildMenu({ candidates: action.candidates, taskTestCommand: extractTaskTestCommand(input.task), commandStillRunning: this.running, screenClipped: this.lastClipped, history: this.history, paneWedged: wedged }));
170
+ // R185: fill the menu from the author when the writer offered fewer distinct actions than the cap (one helper call, thinking off)
171
+ let candidates = action.candidates;
172
+ let sources = action.candidates.map(() => 'generator');
173
+ let authored = 0;
174
+ let authorMs = 0;
175
+ if (hasAuthor && distinct < this.cfg.candidates && !action.taskComplete) {
176
+ const a0 = this.now();
177
+ try {
178
+ const alts = await this.deps.author({ task: input.task, screen: screenBefore, stateCard: stateBefore, writerAnalysis: action.analysis, writerPlan: action.plan, writerCandidates: action.candidates.map((c) => ({ label: c.label, keystrokes: c.keystrokes })), count: Math.max(1, this.cfg.candidates - distinct) });
179
+ if (alts?.length) {
180
+ const merged = mergeAuthoredCandidates(action.candidates, alts, this.cfg.candidates);
181
+ candidates = merged.candidates;
182
+ sources = merged.sources;
183
+ authored = merged.sources.filter((x) => x === 'predictor').length;
184
+ }
185
+ }
186
+ catch { /* author failure = the writer's menu, never worse than the frame */ }
187
+ authorMs = this.now() - a0;
188
+ }
189
+ const menu0 = applyNamedTemplates(buildMenu({ candidates, sources, taskTestCommand: extractTaskTestCommand(input.task), commandStillRunning: this.running, screenClipped: this.lastClipped, history: this.history, paneWedged: wedged }));
156
190
  // R182: the keystroke guard runs BEFORE the menu step — a pane-killing or destructive candidate never reaches the chooser or the pane.
157
191
  const guarded = this.cfg.keyGuard ? applyKeyGuard(menu0, { running: this.running }) : { menu: menu0, blocked: [], soft: [] };
158
192
  let menu = guarded.menu;
@@ -177,7 +211,7 @@ export class FrameRunner {
177
211
  else
178
212
  for (const rec of guarded.soft)
179
213
  guardRecords.push(rec);
180
- const allBlocked = guardRecords.length > 0 && !menu.some((m) => m.source === 'generator');
214
+ const allBlocked = guardRecords.length > 0 && !menu.some((m) => m.source !== 'template');
181
215
  // the menu step
182
216
  let decision;
183
217
  let answers = null;
@@ -255,8 +289,8 @@ export class FrameRunner {
255
289
  this.lastTemplateKey = tplKey;
256
290
  const content = buildFrameSuffix({ screen: clipped.text, stateCard, menu: nextMenu, consequences, templatesChanged: templatesChanged || this.turn === 1 }) + (extra ? `\n\n${extra}` : '');
257
291
  const row = buildChooserRow({ sessionId: input.sessionId, turn: this.turn, predictorModel: input.predictorModel + (this.cfg.chooser === 'jev' ? '+jev-chooser' : ''), menu, decision, executedKeys, nowMs: this.now() });
258
- this.deps.recordEvent('frame_turn', { ...row, analysis: action.analysis.slice(0, 600), plan: action.plan.slice(0, 600), rc, waitedS: Math.round(waitedS), running, screenChars: screen.length, chooser: this.cfg.chooser, chooserLatencyMs, paneResets: this.paneResets, guard: guardRecords.length ? guardRecords.map((g) => ({ ...g, ...(g.outcome === 'soft' ? { outcome: decision.reasons.some((r) => r.startsWith(`${g.id} destructive but authorized`)) ? 'allowed_by_jev' : 'held' } : {}) })) : null, answers: answers ? Object.fromEntries(Object.entries(answers).map(([k, v]) => [k, Number(v.toFixed(3))])) : null, stepMs: this.now() - t0 });
259
- return { content, isError: false, meta: { frame: 'terminus', turn: this.turn, pick: pick?.id ?? null, action: decision.action, rc, running, executedKeys: executedKeys ? normalizeKeys(executedKeys).slice(0, 120) : executedKeys } };
292
+ this.deps.recordEvent('frame_turn', { ...row, analysis: action.analysis.slice(0, 600), plan: action.plan.slice(0, 600), rc, waitedS: Math.round(waitedS), running, screenChars: screen.length, chooser: this.cfg.chooser, chooserLatencyMs, paneResets: this.paneResets, distinctCandidates: distinct, diversityReasks: this.diversityReasks, authored, authorMs, author: this.cfg.author, guard: guardRecords.length ? guardRecords.map((g) => ({ ...g, ...(g.outcome === 'soft' ? { outcome: decision.reasons.some((r) => r.startsWith(`${g.id} destructive but authorized`)) ? 'allowed_by_jev' : 'held' } : {}) })) : null, answers: answers ? Object.fromEntries(Object.entries(answers).map(([k, v]) => [k, Number(v.toFixed(3))])) : null, stepMs: this.now() - t0 });
293
+ return { content, isError: false, meta: { frame: 'terminus', turn: this.turn, pick: pick?.id ?? null, pickSource: pick?.source ?? null, action: decision.action, rc, running, distinctCandidates: distinct, authored, executedKeys: executedKeys ? normalizeKeys(executedKeys).slice(0, 120) : executedKeys } };
260
294
  }
261
295
  }
262
296
  //# sourceMappingURL=frameRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"frameRunner.js","sourceRoot":"","sources":["../../src/frames/frameRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frameRunner.js","sourceRoot":"","sources":["../../src/frames/frameRunner.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export interface FrameAction {
27
27
  parsed: boolean;
28
28
  error?: string;
29
29
  }
30
- export type MenuSource = 'generator' | 'template';
30
+ export type MenuSource = 'generator' | 'template' | 'predictor';
31
31
  export type TemplateOp = 'wait' | 'interrupt' | 'show_more' | 'run_test' | 'reread_task' | 'finish' | 'reset_pane';
32
32
  export interface MenuItem extends FrameCandidate {
33
33
  id: string;
@@ -100,6 +100,8 @@ export interface MenuInput {
100
100
  history?: HistoryEntry[];
101
101
  /** R180: the pane is wedged (no prompt for several turns despite interrupts) — offer RESET THE PANE. */
102
102
  paneWedged?: boolean;
103
+ /** R185: per-candidate source (writer = generator, author = predictor); default generator */
104
+ sources?: MenuSource[];
103
105
  }
104
106
  /** Does a capture say the tmux session is gone (the executor's error text, or tmux's own)? Pure. */
105
107
  export declare function paneIsDead(screen: string): boolean;
@@ -110,6 +112,25 @@ export declare function paneWedged(history: HistoryEntry[], minTurns?: number):
110
112
  /** The Oregon Trail menu: the generator's candidates first (candidate[0] is the escape), then the code templates that apply. Pure. */
111
113
  export declare function buildMenu(input: MenuInput): MenuItem[];
112
114
  export declare function applyNamedTemplates(menu: MenuItem[]): MenuItem[];
115
+ /** Parse `LABEL: … | KEYS: …⏎ | WAIT: n | WHY: …` lines from the author; ⏎ → newline; drops empties, dedups by normalized keys. Pure. */
116
+ export declare function parseAuthoredCandidates(text: string, max?: number): Array<{
117
+ label: string;
118
+ keystrokes: string;
119
+ durationS: number;
120
+ why: string;
121
+ }>;
122
+ /** Merge author candidates after the writer's: new ids continue the c-numbering, source 'predictor'; duplicates of writer keys are dropped. Pure. */
123
+ export declare function mergeAuthoredCandidates(writer: FrameCandidate[], authored: Array<{
124
+ label: string;
125
+ keystrokes: string;
126
+ durationS: number;
127
+ why: string;
128
+ }>, cap: number): {
129
+ candidates: FrameCandidate[];
130
+ sources: MenuSource[];
131
+ };
132
+ /** How many genuinely different actions the writer offered (same normalized keystrokes = one action; empty-wait candidates count once). Pure. */
133
+ export declare function distinctCandidateCount(candidates: FrameCandidate[]): number;
113
134
  /** R183: `block` = hard (no legitimate use in a bench pane); `soft` = destructive but possibly what the task asks for — Jev (chooser on) or a
114
135
  * stated `why` (chooser off) decides. */
115
136
  export type KeyGuardClass = 'pane_killer' | 'destructive' | 'destructive_soft';
@@ -1 +1 @@
1
- {"version":3,"file":"terminusFrame.d.ts","sourceRoot":"","sources":["../../src/frames/terminusFrame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,4GAA4G;IAC5G,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,YAAY,CAAC;AACnH,MAAM,WAAW,QAAS,SAAQ,cAAc;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,mGAAmG;IACnG,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,yGAAyG;IACzG,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAED,eAAO,MAAM,cAAc;;;;;;;;;;CAAgL,CAAC;AAI5M,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM3C;AAED,uHAAuH;AACvH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3D;AAED,uIAAuI;AACvI,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAIpD;AAED,qGAAqG;AACrG,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAsC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAI/H;AAID,MAAM,WAAW,YAAY;IAAG,UAAU,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;AAC3G,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wGAAwG;AACxG,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAI/E;AAED,2HAA2H;AAC3H,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,GAAE,MAAyC,GAAG,MAAM,CAgBjH;AAyBD;;+DAE+D;AAC/D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,WAAW,CAWxH;AAID,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,iHAAiH;IACjH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,wGAAwG;IACxG,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAID,oGAAoG;AACpG,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAIhE;AAED,iJAAiJ;AACjJ,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,QAAQ,GAAE,MAAkC,GAAG,OAAO,CAIzG;AAED,sIAAsI;AACtI,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,EAAE,CAetD;AAUD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAYhE;AAID;0CAC0C;AAC1C,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,kBAAkB,CAAC;AAC/E,MAAM,WAAW,eAAe;IAAG,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE;AA+BhH,mJAAmJ;AACnJ,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,eAAe,CAa9F;AAED,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,MAAM,CAAA;CAAE;AACzL;+HAC+H;AAC/H,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAC;IAAC,IAAI,EAAE,WAAW,EAAE,CAAA;CAAE,CAY5I;AAED,mHAAmH;AACnH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAkD;AAEhH,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CASrL;AAID,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AACrD;;;gJAGgJ;AAChJ,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAMpJ;AAED,0JAA0J;AAC1J,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI3D"}
1
+ {"version":3,"file":"terminusFrame.d.ts","sourceRoot":"","sources":["../../src/frames/terminusFrame.ts"],"names":[],"mappings":"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"}
@@ -144,7 +144,7 @@ export function paneWedged(history, minTurns = FRAME_DEFAULTS.wedgeTurns) {
144
144
  }
145
145
  /** The Oregon Trail menu: the generator's candidates first (candidate[0] is the escape), then the code templates that apply. Pure. */
146
146
  export function buildMenu(input) {
147
- const items = input.candidates.map((c, i) => ({ ...c, id: `c${i + 1}`, source: 'generator' }));
147
+ const items = input.candidates.map((c, i) => ({ ...c, id: `c${i + 1}`, source: (input.sources?.[i] ?? 'generator') }));
148
148
  const t = (id, label, keystrokes, durationS, op) => ({ id, label, keystrokes, durationS, source: 'template', op });
149
149
  if (input.commandStillRunning) {
150
150
  items.push(t('t_wait', `WAIT ${FRAME_DEFAULTS.waitExtendS}s more for the running command`, '', FRAME_DEFAULTS.waitExtendS, 'wait'));
@@ -162,7 +162,7 @@ export function buildMenu(input) {
162
162
  if (input.history)
163
163
  for (const it of items) {
164
164
  const n = repeatCount(input.history, it.keystrokes);
165
- if (n > 0 && it.source === 'generator')
165
+ if (n > 0 && it.source !== 'template')
166
166
  it.why = `${it.why ? it.why + ' · ' : ''}already run ${n}×`;
167
167
  }
168
168
  return items;
@@ -178,7 +178,7 @@ const TEMPLATE_NAMES = [
178
178
  export function applyNamedTemplates(menu) {
179
179
  const templates = menu.filter((m) => m.source === 'template');
180
180
  return menu.map((m) => {
181
- if (m.source !== 'generator')
181
+ if (m.source === 'template')
182
182
  return m;
183
183
  const named = TEMPLATE_NAMES.find(([re]) => re.test(m.label))?.[1];
184
184
  if (!named)
@@ -192,6 +192,55 @@ export function applyNamedTemplates(menu) {
192
192
  return { ...t, id: m.id, label: m.label, why: m.why, durationS: named === 'wait' && m.durationS > 0 ? m.durationS : t.durationS };
193
193
  });
194
194
  }
195
+ /* ---------- R185 candidate author (pure parse) ---------- */
196
+ /** Parse `LABEL: … | KEYS: …⏎ | WAIT: n | WHY: …` lines from the author; ⏎ → newline; drops empties, dedups by normalized keys. Pure. */
197
+ export function parseAuthoredCandidates(text, max = 3) {
198
+ const out = [];
199
+ const seen = new Set();
200
+ for (const raw of String(text ?? '').split('\n')) {
201
+ const m = raw.match(/LABEL:\s*(.*?)\s*\|\s*KEYS:\s*(.*?)\s*\|\s*WAIT:\s*(\d+)?\s*(?:\|\s*WHY:\s*(.*))?$/i);
202
+ if (!m)
203
+ continue;
204
+ let keys = m[2].replace(/⏎/g, '\n').replace(/`/g, '').trim();
205
+ if (!keys)
206
+ continue;
207
+ if (!/\n$/.test(keys) && !/^(C-[a-z]|Enter|Escape|Tab)$/i.test(keys))
208
+ keys += '\n';
209
+ const norm = normalizeKeys(keys).replace(/\s+/g, ' ').trim();
210
+ if (seen.has(norm))
211
+ continue;
212
+ seen.add(norm);
213
+ out.push({ label: (m[1] || 'alternative').slice(0, 60), keystrokes: keys, durationS: Math.min(30, Math.max(2, Number(m[3] ?? 3) || 3)), why: (m[4] || '').slice(0, 160) });
214
+ if (out.length >= max)
215
+ break;
216
+ }
217
+ return out;
218
+ }
219
+ /** Merge author candidates after the writer's: new ids continue the c-numbering, source 'predictor'; duplicates of writer keys are dropped. Pure. */
220
+ export function mergeAuthoredCandidates(writer, authored, cap) {
221
+ const norm = (k) => normalizeKeys(k).replace(/\s+/g, ' ').trim();
222
+ const have = new Set(writer.map((c) => norm(c.keystrokes)));
223
+ const candidates = [...writer];
224
+ const sources = writer.map(() => 'generator');
225
+ for (const a of authored) {
226
+ if (candidates.length >= cap)
227
+ break;
228
+ if (have.has(norm(a.keystrokes)))
229
+ continue;
230
+ have.add(norm(a.keystrokes));
231
+ candidates.push({ label: a.label, keystrokes: a.keystrokes, durationS: a.durationS, why: a.why });
232
+ sources.push('predictor');
233
+ }
234
+ return { candidates, sources };
235
+ }
236
+ /* ---------- R184 menu diversity ---------- */
237
+ /** How many genuinely different actions the writer offered (same normalized keystrokes = one action; empty-wait candidates count once). Pure. */
238
+ export function distinctCandidateCount(candidates) {
239
+ const seen = new Set();
240
+ for (const c of candidates)
241
+ seen.add(normalizeKeys(c.keystrokes).replace(/\s+/g, ' ').trim() || '<wait>');
242
+ return seen.size;
243
+ }
195
244
  const PANE_KILLERS = [
196
245
  [/^(exit|logout)(\s.*)?$/i, 'exits the pane shell'],
197
246
  [/^exec\s+/i, 'replaces the pane shell'],
@@ -251,7 +300,7 @@ export function applyKeyGuard(menu, ctx) {
251
300
  const soft = [];
252
301
  const kept = [];
253
302
  for (const m of menu) {
254
- if (m.source !== 'generator') {
303
+ if (m.source === 'template') {
255
304
  kept.push(m);
256
305
  continue;
257
306
  }