@mcp-abap-adt/llm-agent-server-libs 19.2.0 → 20.0.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.
Files changed (32) hide show
  1. package/dist/factories/controller-factory.d.ts +2 -2
  2. package/dist/factories/controller-factory.d.ts.map +1 -1
  3. package/dist/factories/controller-factory.js +2 -1
  4. package/dist/factories/controller-factory.js.map +1 -1
  5. package/dist/generated/version.d.ts +1 -1
  6. package/dist/generated/version.js +1 -1
  7. package/dist/pipelines/controller.d.ts +4 -2
  8. package/dist/pipelines/controller.d.ts.map +1 -1
  9. package/dist/pipelines/controller.js +14 -5
  10. package/dist/pipelines/controller.js.map +1 -1
  11. package/dist/pipelines/dag.d.ts +2 -2
  12. package/dist/pipelines/dag.js +2 -2
  13. package/dist/pipelines/stepper.d.ts +2 -2
  14. package/dist/pipelines/stepper.js +2 -2
  15. package/dist/smart-agent/config.d.ts +1 -1
  16. package/dist/smart-agent/config.d.ts.map +1 -1
  17. package/dist/smart-agent/config.js +3 -3
  18. package/dist/smart-agent/config.js.map +1 -1
  19. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts +11 -3
  20. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts.map +1 -1
  21. package/dist/smart-agent/controller/controller-coordinator-handler.js +15 -14
  22. package/dist/smart-agent/controller/controller-coordinator-handler.js.map +1 -1
  23. package/dist/smart-agent/controller/planner.d.ts +20 -16
  24. package/dist/smart-agent/controller/planner.d.ts.map +1 -1
  25. package/dist/smart-agent/controller/planner.js +58 -64
  26. package/dist/smart-agent/controller/planner.js.map +1 -1
  27. package/dist/smart-agent/controller/types.d.ts +8 -9
  28. package/dist/smart-agent/controller/types.d.ts.map +1 -1
  29. package/dist/smart-agent/smart-server.d.ts.map +1 -1
  30. package/dist/smart-agent/smart-server.js +2 -1
  31. package/dist/smart-agent/smart-server.js.map +1 -1
  32. package/package.json +7 -7
@@ -5,7 +5,7 @@ import { readClaims, readPlanDecisions, writePlanDecision, } from './artifacts.j
5
5
  import { BoardOverBudgetError, reconstructBoard, renderBoard, } from './board.js';
6
6
  import { writeArtifact } from './memorizer.js';
7
7
  import { resolveByPrecedence } from './outcome.js';
8
- import { makePlanner } from './planner.js';
8
+ import { makeControllerPlanner } from './planner.js';
9
9
  import { appendHint } from './prompts.js';
10
10
  import { classifyRequest, readTerminal, writeTerminal } from './run-scope.js';
11
11
  import { hydrateBundle, persistBundle, resetRun } from './session-bundle.js';
@@ -106,7 +106,7 @@ export class ControllerCoordinatorHandler {
106
106
  const externalNames = new Set((ctx.externalTools ?? []).map((t) => t.name));
107
107
  const isExternalTool = (name) => externalNames.has(name) || (deps.isExternalTool?.(name) ?? false);
108
108
  // True for the first planner.next of a turn that resumed an external-tool
109
- // result (the result is now in plannerPrivate) → the adaptive planner replans
109
+ // result (the result is now in plannerPrivate) → the plan-first planner replans
110
110
  // with it rather than blindly re-running the suspended step. Set in the
111
111
  // external-tool resume branch below.
112
112
  let resumedExternal = false;
@@ -187,10 +187,11 @@ export class ControllerCoordinatorHandler {
187
187
  }
188
188
  // -- Resume from a persisted pending marker -----------------------------
189
189
  // Planner is constructed BEFORE the resume preamble: the artifact-first
190
- // external-resume adopt below calls planner.commit() to keep the adaptive
190
+ // external-resume adopt below calls planner.commit() to keep the plan-first
191
191
  // planCursor in lockstep with nextSeq. Stateless construction; the main loop
192
192
  // reuses this same instance.
193
- const planner = makePlanner(deps.config.planner ?? 'incremental', deps.planner, deps.config.subagents.planner?.hint, deps.skillsRecall);
193
+ const planner = deps.controllerPlanner ??
194
+ makeControllerPlanner(deps.plannerKind ?? 'smart-executor', deps.planner, deps.config.subagents.planner?.hint, deps.skillsRecall);
194
195
  if (bundle.pending?.kind === 'external-tool') {
195
196
  const { extId, toolName } = bundle.pending;
196
197
  const seq = bundle.inFlightStep?.seq;
@@ -217,7 +218,7 @@ export class ControllerCoordinatorHandler {
217
218
  bundle.pending = undefined;
218
219
  bundle.runState = 'active';
219
220
  // Same commit side effects as settle(), incl. planner.commit() so the
220
- // adaptive planCursor advances with nextSeq.
221
+ // plan-first planCursor advances with nextSeq.
221
222
  const mapped = mapOutcome(resolved.status);
222
223
  bundle.lastOutcome = mapped;
223
224
  planner.commit?.(bundle, mapped);
@@ -292,7 +293,7 @@ export class ControllerCoordinatorHandler {
292
293
  externalContinuation = true;
293
294
  }
294
295
  else {
295
- // Legacy path (no inFlightStep — e.g. a seeded adaptive bundle): feed the
296
+ // Legacy path (no inFlightStep — e.g. a seeded plan-first bundle): feed the
296
297
  // result via plannerPrivate and let the planner replan.
297
298
  bundle.plannerPrivate += `\n[external tool ${toolName} result] ${result}`;
298
299
  bundle.pending = undefined;
@@ -383,7 +384,7 @@ export class ControllerCoordinatorHandler {
383
384
  let planParseRetries = 0;
384
385
  // bundle.lastOutcome is the SINGLE source of truth for the last step's
385
386
  // outcome — durable, so a resume after a FAILED step replans instead of
386
- // repeating it. runStep.settle() sets it; the adaptive replan branch clears it
387
+ // repeating it. runStep.settle() sets it; the plan-first replan branch clears it
387
388
  // once the failure has been consumed into a new plan (so a crash after the
388
389
  // replan, or a finalizer retry after an empty replan, does NOT replan again).
389
390
  while (bundle.budgets.stepsUsed < cfg.maxSteps) {
@@ -404,7 +405,7 @@ export class ControllerCoordinatorHandler {
404
405
  })));
405
406
  if (resolved) {
406
407
  // Already committed → adopt, do NOT re-run. Same commit side effects as
407
- // settle(), including planner.commit() so the adaptive planCursor advances
408
+ // settle(), including planner.commit() so the plan-first planCursor advances
408
409
  // in lockstep with nextSeq.
409
410
  const mapped = mapOutcome(resolved.status);
410
411
  bundle.lastOutcome = mapped;
@@ -450,7 +451,7 @@ export class ControllerCoordinatorHandler {
450
451
  }
451
452
  // Planner crash-guard: a prior crash mid-call left plannerCallInFlight set →
452
453
  // charge plannerResumeCount; exhausting maxPlannerResumes is a TERMINAL abort
453
- // (store-first). The adaptive replan runs through planner.next too, so this one
454
+ // (store-first). The plan-first replan runs through planner.next too, so this one
454
455
  // guard covers the awaiting-replan replan with no separate site.
455
456
  if (bundle.plannerCallInFlight) {
456
457
  bundle.plannerResumeCount = (bundle.plannerResumeCount ?? 0) + 1;
@@ -505,8 +506,8 @@ export class ControllerCoordinatorHandler {
505
506
  // NB: do NOT reset resumedExternal here — if this replan reply was malformed
506
507
  // (next === null), the parse-retry below must keep replanning. It is reset
507
508
  // only after a VALID decision (beside planParseRetries = 0;).
508
- // The adaptive planner mutates bundle.plan/planCursor in next(); persist so
509
- // a stateless resume continues from the same point. (No-op for incremental.)
509
+ // The plan-first planner mutates bundle.plan/planCursor in next(); persist so
510
+ // a stateless resume continues from the same point. (No-op for a planner without plan-state.)
510
511
  await persistBundle(deps.backend, sessionId, bundle);
511
512
  // Format failure (not valid NextStep JSON) → re-ask the planner with a
512
513
  // stern reminder, bounded by maxRetries. This does NOT touch rewindsUsed:
@@ -522,7 +523,7 @@ export class ControllerCoordinatorHandler {
522
523
  resumedExternal = false; // a valid decision consumed any external-resume replan
523
524
  if (next.kind === 'done') {
524
525
  // Pass next.result as the legacy answer: used only when no finalizer is
525
- // injected (3-role config) — the adaptive planner already composed it.
526
+ // injected (3-role config) — the plan-first planner already composed it.
526
527
  return this.finalize(ctx, sessionId, bundle, rag, prompt, logUsage, usageNow, now, terminalTtlMs, next.result);
527
528
  }
528
529
  if (next.kind === 'rewind') {
@@ -959,7 +960,7 @@ export class ControllerCoordinatorHandler {
959
960
  this.surfaceFinal(ctx, `Error: ${error}`, usage);
960
961
  }
961
962
  async finalize(ctx, sessionId, bundle, rag, prompt, logUsage, usageNow, now, terminalTtlMs,
962
- /** Used ONLY when no finalizer is injected (3-role config): the adaptive
963
+ /** Used ONLY when no finalizer is injected (3-role config): the plan-first
963
964
  * planner's already-composed done.result. */
964
965
  legacyAnswer) {
965
966
  const deps = this.deps;
@@ -1032,7 +1033,7 @@ export class ControllerCoordinatorHandler {
1032
1033
  }
1033
1034
  }
1034
1035
  else {
1035
- // Legacy: the adaptive planner already composed the answer in done.result.
1036
+ // Legacy: the plan-first planner already composed the answer in done.result.
1036
1037
  // Prefer the live param, else the durable copy persisted on finalizing-entry.
1037
1038
  answer = legacyAnswer ?? bundle.legacyFinalAnswer ?? '';
1038
1039
  }
@@ -1 +1 @@
1
- {"version":3,"file":"controller-coordinator-handler.js","sourceRoot":"","sources":["../../../src/smart-agent/controller/controller-coordinator-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-coordinator-handler.js","sourceRoot":"","sources":["../../../src/smart-agent/controller/controller-coordinator-handler.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import type { CallOptions } from '@mcp-abap-adt/llm-agent';
2
2
  import type { ISubagentClient } from './subagent-client.js';
3
3
  import { type IControllerPlanner, type NextStep, type PlannerKind, type PlannerNextInput, type SessionBundle } from './types.js';
4
4
  export declare const ENGLISH_INSTRUCTIONS_RULE: string;
5
- export declare const PLANNER_SYSTEM: string;
6
5
  /**
7
6
  * Controller-own skills recall hook (B4). Given the goal, returns a bounded,
8
7
  * pre-formatted "Relevant skills" block (or '' when there is nothing to inject).
@@ -10,23 +9,16 @@ export declare const PLANNER_SYSTEM: string;
10
9
  * the planner prompt is byte-identical to the agnostic path (measurement toggle).
11
10
  */
12
11
  export type SkillsRecall = (goal: string, options?: CallOptions) => Promise<string>;
13
- export declare class IncrementalPlanner implements IControllerPlanner {
14
- private readonly planner;
15
- /** Optional consumer domain hint appended to the agnostic planner prompt. */
16
- private readonly hint?;
17
- /** Optional controller-own skills recall hook (B4). */
18
- private readonly skillsRecall?;
19
- constructor(planner: ISubagentClient,
20
- /** Optional consumer domain hint appended to the agnostic planner prompt. */
21
- hint?: string | undefined,
22
- /** Optional controller-own skills recall hook (B4). */
23
- skillsRecall?: SkillsRecall | undefined);
24
- next(input: PlannerNextInput): Promise<NextStep | null>;
25
- }
26
12
  export declare const CREATE_PLAN_SYSTEM: string;
27
13
  export declare const REPLAN_SYSTEM: string;
28
14
  export declare const EXTERNAL_RESULT_REPLAN_SYSTEM: string;
29
- export declare class AdaptivePlanner implements IControllerPlanner {
15
+ export declare const SMART_CREATE_PLAN_SYSTEM: string;
16
+ export declare const SMART_REPLAN_SYSTEM: string;
17
+ export declare const SMART_EXTERNAL_RESULT_REPLAN_SYSTEM: string;
18
+ export declare const WEAK_CREATE_PLAN_SYSTEM: string;
19
+ export declare const WEAK_REPLAN_SYSTEM: string;
20
+ export declare const WEAK_EXTERNAL_RESULT_REPLAN_SYSTEM: string;
21
+ export declare class SmartExecutorPlanner implements IControllerPlanner {
30
22
  private readonly planner;
31
23
  /** Optional consumer domain hint appended to every agnostic planner/
32
24
  * create-plan/replan/finalize prompt this planner emits. */
@@ -41,6 +33,10 @@ export declare class AdaptivePlanner implements IControllerPlanner {
41
33
  /** Optional controller-own skills recall hook (B4). Queried before each
42
34
  * create-plan/replan; its block is injected into the user message. */
43
35
  skillsRecall?: SkillsRecall | undefined);
36
+ /** Prompt seam — overridden by WeakExecutorPlanner for atomic granularity (§C). */
37
+ protected get createPlanSystem(): string;
38
+ protected get replanSystem(): string;
39
+ protected get externalResultReplanSystem(): string;
44
40
  next(input: PlannerNextInput): Promise<NextStep | null>;
45
41
  /** Commit the just-finished step's outcome so the advance is persisted with it.
46
42
  * On success the cursor moves to the next step; a failure leaves the cursor so
@@ -53,5 +49,13 @@ export declare class AdaptivePlanner implements IControllerPlanner {
53
49
  private stepAtCursor;
54
50
  private callPlan;
55
51
  }
56
- export declare function makePlanner(kind: PlannerKind, planner: ISubagentClient, hint?: string, skillsRecall?: SkillsRecall): IControllerPlanner;
52
+ /** Weak-executor planner (§C): the same plan-first engine as SmartExecutorPlanner,
53
+ * but with the finest-grain create/replan prompts (one action per step). Phase 4
54
+ * adds deferred discovery expansion to this class; Phase 3 differs only by prompt. */
55
+ export declare class WeakExecutorPlanner extends SmartExecutorPlanner {
56
+ protected get createPlanSystem(): string;
57
+ protected get replanSystem(): string;
58
+ protected get externalResultReplanSystem(): string;
59
+ }
60
+ export declare function makeControllerPlanner(kind: PlannerKind, planner: ISubagentClient, hint?: string, skillsRecall?: SkillsRecall): IControllerPlanner;
57
61
  //# sourceMappingURL=planner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/planner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,yBAAyB,CAAC;AAWrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,KAAK,kBAAkB,EAGvB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAGnB,MAAM,YAAY,CAAC;AAOpB,eAAO,MAAM,yBAAyB,QAQU,CAAC;AAEjD,eAAO,MAAM,cAAc,QAiBA,CAAC;AAM5B;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,MAAM,CAAC,CAAC;AAmBrB,qBAAa,kBAAmB,YAAW,kBAAkB;IAEzD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACtB,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAJb,OAAO,EAAE,eAAe;IACzC,6EAA6E;IAC5D,IAAI,CAAC,EAAE,MAAM,YAAA;IAC9B,uDAAuD;IACtC,YAAY,CAAC,EAAE,YAAY,YAAA;IAGxC,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAuB9D;AAED,eAAO,MAAM,kBAAkB,QA4BJ,CAAC;AAE5B,eAAO,MAAM,aAAa,QASC,CAAC;AAE5B,eAAO,MAAM,6BAA6B,QAUf,CAAC;AA6C5B,qBAAa,eAAgB,YAAW,kBAAkB;IAKtD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB;iEAC6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACtB;2EACuE;IACvE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBANb,OAAO,EAAE,eAAe;IACzC;iEAC6D;IAC5C,IAAI,CAAC,EAAE,MAAM,YAAA;IAC9B;2EACuE;IACtD,YAAY,CAAC,EAAE,YAAY,YAAA;IAGxC,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA6F7D;;gFAE4E;IAC5E,MAAM,CACJ,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GACzC,IAAI;IASP;;;8BAG0B;YACZ,YAAY;YAyBZ,QAAQ;CA2CvB;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,eAAe,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,kBAAkB,CAIpB"}
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/planner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,yBAAyB,CAAC;AAQrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,KAAK,kBAAkB,EAGvB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAGnB,MAAM,YAAY,CAAC;AAOpB,eAAO,MAAM,yBAAyB,QAQU,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,MAAM,CAAC,CAAC;AAkBrB,eAAO,MAAM,kBAAkB,QA4BJ,CAAC;AAE5B,eAAO,MAAM,aAAa,QASC,CAAC;AAE5B,eAAO,MAAM,6BAA6B,QAUf,CAAC;AAwB5B,eAAO,MAAM,wBAAwB,QAAyC,CAAC;AAC/E,eAAO,MAAM,mBAAmB,QAAoC,CAAC;AACrE,eAAO,MAAM,mCAAmC,QACG,CAAC;AAEpD,eAAO,MAAM,uBAAuB,QAAwC,CAAC;AAC7E,eAAO,MAAM,kBAAkB,QAAmC,CAAC;AACnE,eAAO,MAAM,kCAAkC,QACG,CAAC;AA6CnD,qBAAa,oBAAqB,YAAW,kBAAkB;IAK3D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB;iEAC6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACtB;2EACuE;IACvE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBANb,OAAO,EAAE,eAAe;IACzC;iEAC6D;IAC5C,IAAI,CAAC,EAAE,MAAM,YAAA;IAC9B;2EACuE;IACtD,YAAY,CAAC,EAAE,YAAY,YAAA;IAG9C,mFAAmF;IACnF,SAAS,KAAK,gBAAgB,IAAI,MAAM,CAEvC;IACD,SAAS,KAAK,YAAY,IAAI,MAAM,CAEnC;IACD,SAAS,KAAK,0BAA0B,IAAI,MAAM,CAEjD;IAEK,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA6F7D;;gFAE4E;IAC5E,MAAM,CACJ,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GACzC,IAAI;IASP;;;8BAG0B;YACZ,YAAY;YAyBZ,QAAQ;CA2CvB;AAED;;uFAEuF;AACvF,qBAAa,mBAAoB,SAAQ,oBAAoB;IAC3D,cAAuB,gBAAgB,IAAI,MAAM,CAEhD;IACD,cAAuB,YAAY,IAAI,MAAM,CAE5C;IACD,cAAuB,0BAA0B,IAAI,MAAM,CAE1D;CACF;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,eAAe,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,kBAAkB,CAIpB"}
@@ -1,5 +1,5 @@
1
1
  import { mintCreateStepIds, mintReplanStepIds, } from './artifacts.js';
2
- import { extractJsonObject, parseNextStep, } from './controller-coordinator-handler.js';
2
+ import { extractJsonObject } from './controller-coordinator-handler.js';
3
3
  import { appendHint } from './prompts.js';
4
4
  import { MAX_REQUIRE_CHARS, MAX_REQUIRES, validateRequires, } from './types.js';
5
5
  // Built from the validation constants so the prompt cap can NEVER drift from what
@@ -15,25 +15,6 @@ export const ENGLISH_INSTRUCTIONS_RULE = ' Step `instructions` AND `requires` re
15
15
  `List at MOST ${MAX_REQUIRES} \`requires\`, each a SHORT reference (a few words, ` +
16
16
  `≤ ${MAX_REQUIRE_CHARS} chars) — not pasted content. (The user-facing answer is ` +
17
17
  "composed separately in the user's language.)";
18
- export const PLANNER_SYSTEM = 'You are the planner. Given the goal and progress, return a SINGLE JSON ' +
19
- 'object: {"kind":"next","step":{"name":...,"instructions":...}} to take the ' +
20
- 'next step, {"kind":"done","result":...} when the goal is met, or ' +
21
- '{"kind":"rewind","reason":...} to discard the current path. Output JSON only.\n' +
22
- 'An executor carries out each step against the live target system using tools. ' +
23
- 'Describe each step by INTENT — WHAT to fetch or do — in plain language. Do ' +
24
- 'NOT choose, name, or assume a specific tool (no tool names in the step); the ' +
25
- 'executor selects the right tool for the step. Any fact about the system MUST ' +
26
- 'be obtained by planning a step that fetches it with a tool — do NOT answer ' +
27
- 'from prior knowledge, and do NOT mark the goal "done" until the required data ' +
28
- 'has actually been fetched (fetched results appear under Progress). Until then, ' +
29
- 'return a concrete "next" fetch step. ' +
30
- 'Keep each step MINIMAL and do NOT broaden the scope beyond what the goal asks, ' +
31
- 'at the granularity it asks: a LIST/SHOW/find request is satisfied by the list ' +
32
- 'itself — do NOT plan a step that fetches the full details of every listed item ' +
33
- 'unless the goal explicitly asks for per-item details.' +
34
- ENGLISH_INSTRUCTIONS_RULE;
35
- const RETRY_HINT = '\nIMPORTANT: your previous reply was NOT valid JSON. Reply with ONLY the raw ' +
36
- 'JSON object — no prose, no explanation, no markdown code fences.';
37
18
  /** Append a non-empty recall block to a user message, preserving the agnostic
38
19
  * message byte-for-byte when the block is empty. */
39
20
  function withSkillsBlock(userContent, block) {
@@ -42,47 +23,12 @@ function withSkillsBlock(userContent, block) {
42
23
  /** The planner's progress context. With a live board, render the AUTHORITATIVE
43
24
  * structured board AND the plannerPrivate tail — the latter carries non-board
44
25
  * deltas the planner still needs (clarify answers, legacy external-tool result).
45
- * An empty board (decision-less IncrementalPlanner) → plannerPrivate alone,
46
- * byte-identical to the legacy prompt. */
26
+ * An empty board → plannerPrivate alone, byte-identical to the legacy prompt. */
47
27
  function progressBlock(bundle, boardText) {
48
28
  return boardText && boardText.length > 0
49
29
  ? `${boardText}\n${bundle.plannerPrivate}`
50
30
  : bundle.plannerPrivate;
51
31
  }
52
- export class IncrementalPlanner {
53
- planner;
54
- hint;
55
- skillsRecall;
56
- constructor(planner,
57
- /** Optional consumer domain hint appended to the agnostic planner prompt. */
58
- hint,
59
- /** Optional controller-own skills recall hook (B4). */
60
- skillsRecall) {
61
- this.planner = planner;
62
- this.hint = hint;
63
- this.skillsRecall = skillsRecall;
64
- }
65
- async next(input) {
66
- const { bundle, prompt, retrying, logUsage, options, boardText } = input;
67
- const block = this.skillsRecall
68
- ? await this.skillsRecall(bundle.goal, options)
69
- : '';
70
- const res = await this.planner.send([
71
- {
72
- role: 'system',
73
- content: appendHint(PLANNER_SYSTEM, this.hint) + (retrying ? RETRY_HINT : ''),
74
- },
75
- {
76
- role: 'user',
77
- content: withSkillsBlock(`Goal: ${bundle.goal}\nProgress:${progressBlock(bundle, boardText)}\nRequest: ${prompt}`, block),
78
- },
79
- ]);
80
- logUsage?.('planner', res.usage);
81
- if (res.kind !== 'content')
82
- return null;
83
- return parseNextStep(res.content);
84
- }
85
- }
86
32
  export const CREATE_PLAN_SYSTEM = 'You are the planner. Produce the COMPLETE, ordered plan that covers the ENTIRE ' +
87
33
  'goal NOW, as a SINGLE JSON object: {"plan":[{"name":...,"instructions":...}, ...]}. ' +
88
34
  'This is plan-once: there will be NO chance to add steps later (a replan happens ' +
@@ -130,6 +76,30 @@ export const EXTERNAL_RESULT_REPLAN_SYSTEM = 'You are the planner. A NEW externa
130
76
  'separate finalizer composes the answer). If the goal is already satisfied by ' +
131
77
  'the result, return {"plan":[]}. Output JSON only.' +
132
78
  ENGLISH_INSTRUCTIONS_RULE;
79
+ /** Smart-executor granularity clause (§C). A capable executor can self-expand a
80
+ * coarse step inside its own tool-loop, so the planner MAY plan coarse. Clarifies
81
+ * that the base's "one concrete action" means one INTENT — a coarse batch step is
82
+ * one intent, not a planner-side per-item fan-out. AGNOSTIC: no tool names. */
83
+ const SMART_GRANULARITY = ' GRANULARITY (smart executor): a step MAY be COARSE — a single intent that ' +
84
+ 'covers a set of related items (e.g. "read every item referenced by the prior ' +
85
+ 'result"); a capable executor enumerates and processes each item WITHIN ITS OWN ' +
86
+ 'tool-loop, and control returns to the reviewer after the coarse step. This does ' +
87
+ 'NOT violate "one concrete action": a coarse batch is ONE intent. PREFER fewer ' +
88
+ 'coarse steps over enumerating items yourself.';
89
+ /** Weak-executor granularity clause (§C). A weak executor cannot be trusted to
90
+ * self-expand, so every step is exactly one atomic action. (Deferred discovery
91
+ * fan-out for plan-time-unknowable batches — §D — is Phase 4; in Phase 3 the weak
92
+ * planner just plans the finest grain it can.) AGNOSTIC: no tool names. */
93
+ const WEAK_GRANULARITY = ' GRANULARITY (weak executor): each step is EXACTLY ONE ATOMIC action the ' +
94
+ 'executor performs in a SINGLE tool use. NEVER emit a coarse/batch step and ' +
95
+ 'NEVER rely on the executor to self-expand a step — the executor handles one ' +
96
+ 'action at a time; if work spans several actions, emit that many steps.';
97
+ export const SMART_CREATE_PLAN_SYSTEM = CREATE_PLAN_SYSTEM + SMART_GRANULARITY;
98
+ export const SMART_REPLAN_SYSTEM = REPLAN_SYSTEM + SMART_GRANULARITY;
99
+ export const SMART_EXTERNAL_RESULT_REPLAN_SYSTEM = EXTERNAL_RESULT_REPLAN_SYSTEM + SMART_GRANULARITY;
100
+ export const WEAK_CREATE_PLAN_SYSTEM = CREATE_PLAN_SYSTEM + WEAK_GRANULARITY;
101
+ export const WEAK_REPLAN_SYSTEM = REPLAN_SYSTEM + WEAK_GRANULARITY;
102
+ export const WEAK_EXTERNAL_RESULT_REPLAN_SYSTEM = EXTERNAL_RESULT_REPLAN_SYSTEM + WEAK_GRANULARITY;
133
103
  const FINALIZE_SYSTEM = 'All planned steps are complete. Using the progress below (the fetched results), ' +
134
104
  'write the final answer to the user request. Plain text, no JSON.';
135
105
  /** Parse {"plan":[{name,instructions},...]} from a (possibly fenced) reply.
@@ -174,7 +144,7 @@ function recordDecision(bundle, decision) {
174
144
  bundle.pendingPlanDecisions = [];
175
145
  bundle.pendingPlanDecisions.push(decision);
176
146
  }
177
- export class AdaptivePlanner {
147
+ export class SmartExecutorPlanner {
178
148
  planner;
179
149
  hint;
180
150
  skillsRecall;
@@ -192,11 +162,21 @@ export class AdaptivePlanner {
192
162
  this.hint = hint;
193
163
  this.skillsRecall = skillsRecall;
194
164
  }
165
+ /** Prompt seam — overridden by WeakExecutorPlanner for atomic granularity (§C). */
166
+ get createPlanSystem() {
167
+ return SMART_CREATE_PLAN_SYSTEM;
168
+ }
169
+ get replanSystem() {
170
+ return SMART_REPLAN_SYSTEM;
171
+ }
172
+ get externalResultReplanSystem() {
173
+ return SMART_EXTERNAL_RESULT_REPLAN_SYSTEM;
174
+ }
195
175
  async next(input) {
196
176
  const { bundle, prompt, lastOutcome, resumedExternal, retrying, logUsage, options, boardText, } = input;
197
177
  // 1. No plan yet → create it.
198
178
  if (!bundle.plan) {
199
- const plan = await this.callPlan(CREATE_PLAN_SYSTEM, bundle, prompt, retrying, logUsage, [], options, boardText);
179
+ const plan = await this.callPlan(this.createPlanSystem, bundle, prompt, retrying, logUsage, [], options, boardText);
200
180
  // An EMPTY plan from createPlan is invalid: it would skip straight to the
201
181
  // finalizer and answer WITHOUT fetching the required data. Treat it as a
202
182
  // format failure → handler re-asks (bounded by maxRetries). (An empty plan
@@ -222,8 +202,8 @@ export class AdaptivePlanner {
222
202
  lastOutcome === 'partial' ||
223
203
  resumedExternal) {
224
204
  const system = resumedExternal
225
- ? EXTERNAL_RESULT_REPLAN_SYSTEM
226
- : REPLAN_SYSTEM;
205
+ ? this.externalResultReplanSystem
206
+ : this.replanSystem;
227
207
  const cursor = bundle.planCursor ?? 0;
228
208
  // Steps before the cursor already ran successfully — pass them so the replan
229
209
  // plans only the remaining work and never repeats a completed step.
@@ -321,9 +301,23 @@ export class AdaptivePlanner {
321
301
  return parsePlan(res.content);
322
302
  }
323
303
  }
324
- export function makePlanner(kind, planner, hint, skillsRecall) {
325
- return kind === 'adaptive'
326
- ? new AdaptivePlanner(planner, hint, skillsRecall)
327
- : new IncrementalPlanner(planner, hint, skillsRecall);
304
+ /** Weak-executor planner (§C): the same plan-first engine as SmartExecutorPlanner,
305
+ * but with the finest-grain create/replan prompts (one action per step). Phase 4
306
+ * adds deferred discovery expansion to this class; Phase 3 differs only by prompt. */
307
+ export class WeakExecutorPlanner extends SmartExecutorPlanner {
308
+ get createPlanSystem() {
309
+ return WEAK_CREATE_PLAN_SYSTEM;
310
+ }
311
+ get replanSystem() {
312
+ return WEAK_REPLAN_SYSTEM;
313
+ }
314
+ get externalResultReplanSystem() {
315
+ return WEAK_EXTERNAL_RESULT_REPLAN_SYSTEM;
316
+ }
317
+ }
318
+ export function makeControllerPlanner(kind, planner, hint, skillsRecall) {
319
+ return kind === 'weak-executor'
320
+ ? new WeakExecutorPlanner(planner, hint, skillsRecall)
321
+ : new SmartExecutorPlanner(planner, hint, skillsRecall);
328
322
  }
329
323
  //# sourceMappingURL=planner.js.map