@mcp-abap-adt/llm-agent-server-libs 19.2.0 → 20.4.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 (179) hide show
  1. package/dist/builders/controller-skill-pipeline-builder.d.ts +57 -0
  2. package/dist/builders/controller-skill-pipeline-builder.d.ts.map +1 -0
  3. package/dist/builders/controller-skill-pipeline-builder.js +175 -0
  4. package/dist/builders/controller-skill-pipeline-builder.js.map +1 -0
  5. package/dist/factories/controller-factory.d.ts +2 -2
  6. package/dist/factories/controller-factory.d.ts.map +1 -1
  7. package/dist/factories/controller-factory.js +2 -1
  8. package/dist/factories/controller-factory.js.map +1 -1
  9. package/dist/generated/version.d.ts +1 -1
  10. package/dist/generated/version.js +1 -1
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/pipelines/controller.d.ts +4 -2
  16. package/dist/pipelines/controller.d.ts.map +1 -1
  17. package/dist/pipelines/controller.js +33 -8
  18. package/dist/pipelines/controller.js.map +1 -1
  19. package/dist/pipelines/coordinator-resolvers.d.ts +68 -0
  20. package/dist/pipelines/coordinator-resolvers.d.ts.map +1 -0
  21. package/dist/pipelines/coordinator-resolvers.js +97 -0
  22. package/dist/pipelines/coordinator-resolvers.js.map +1 -0
  23. package/dist/pipelines/dag.d.ts +2 -2
  24. package/dist/pipelines/dag.js +2 -2
  25. package/dist/pipelines/parsers.d.ts +1 -1
  26. package/dist/pipelines/parsers.d.ts.map +1 -1
  27. package/dist/pipelines/parsers.js +5 -4
  28. package/dist/pipelines/parsers.js.map +1 -1
  29. package/dist/pipelines/register-skill-sources.d.ts.map +1 -1
  30. package/dist/pipelines/register-skill-sources.js +5 -0
  31. package/dist/pipelines/register-skill-sources.js.map +1 -1
  32. package/dist/pipelines/stepper.d.ts +2 -2
  33. package/dist/pipelines/stepper.js +2 -2
  34. package/dist/smart-agent/build-stepper-root.d.ts +3 -2
  35. package/dist/smart-agent/build-stepper-root.d.ts.map +1 -1
  36. package/dist/smart-agent/build-stepper-root.js +2 -1
  37. package/dist/smart-agent/build-stepper-root.js.map +1 -1
  38. package/dist/smart-agent/config-reload-watcher.d.ts +30 -0
  39. package/dist/smart-agent/config-reload-watcher.d.ts.map +1 -0
  40. package/dist/smart-agent/config-reload-watcher.js +101 -0
  41. package/dist/smart-agent/config-reload-watcher.js.map +1 -0
  42. package/dist/smart-agent/config-validator.d.ts +21 -0
  43. package/dist/smart-agent/config-validator.d.ts.map +1 -0
  44. package/dist/smart-agent/config-validator.js +196 -0
  45. package/dist/smart-agent/config-validator.js.map +1 -0
  46. package/dist/smart-agent/config.d.ts +16 -254
  47. package/dist/smart-agent/config.d.ts.map +1 -1
  48. package/dist/smart-agent/config.js +17 -904
  49. package/dist/smart-agent/config.js.map +1 -1
  50. package/dist/smart-agent/controller/board.d.ts +6 -3
  51. package/dist/smart-agent/controller/board.d.ts.map +1 -1
  52. package/dist/smart-agent/controller/board.js +21 -0
  53. package/dist/smart-agent/controller/board.js.map +1 -1
  54. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts +16 -50
  55. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts.map +1 -1
  56. package/dist/smart-agent/controller/controller-coordinator-handler.js +83 -371
  57. package/dist/smart-agent/controller/controller-coordinator-handler.js.map +1 -1
  58. package/dist/smart-agent/controller/finalizer.d.ts +5 -0
  59. package/dist/smart-agent/controller/finalizer.d.ts.map +1 -1
  60. package/dist/smart-agent/controller/finalizer.js +12 -5
  61. package/dist/smart-agent/controller/finalizer.js.map +1 -1
  62. package/dist/smart-agent/controller/parser.d.ts +11 -0
  63. package/dist/smart-agent/controller/parser.d.ts.map +1 -0
  64. package/dist/smart-agent/controller/parser.js +77 -0
  65. package/dist/smart-agent/controller/parser.js.map +1 -0
  66. package/dist/smart-agent/controller/planner.d.ts +20 -16
  67. package/dist/smart-agent/controller/planner.d.ts.map +1 -1
  68. package/dist/smart-agent/controller/planner.js +58 -64
  69. package/dist/smart-agent/controller/planner.js.map +1 -1
  70. package/dist/smart-agent/controller/recall.d.ts +48 -0
  71. package/dist/smart-agent/controller/recall.d.ts.map +1 -0
  72. package/dist/smart-agent/controller/recall.js +196 -0
  73. package/dist/smart-agent/controller/recall.js.map +1 -0
  74. package/dist/smart-agent/controller/reviewer.d.ts.map +1 -1
  75. package/dist/smart-agent/controller/reviewer.js +1 -1
  76. package/dist/smart-agent/controller/reviewer.js.map +1 -1
  77. package/dist/smart-agent/controller/types.d.ts +8 -9
  78. package/dist/smart-agent/controller/types.d.ts.map +1 -1
  79. package/dist/smart-agent/controller/usage-logging.d.ts +16 -0
  80. package/dist/smart-agent/controller/usage-logging.d.ts.map +1 -0
  81. package/dist/smart-agent/controller/usage-logging.js +39 -0
  82. package/dist/smart-agent/controller/usage-logging.js.map +1 -0
  83. package/dist/smart-agent/http/adapter-route-handler.d.ts +13 -0
  84. package/dist/smart-agent/http/adapter-route-handler.d.ts.map +1 -0
  85. package/dist/smart-agent/http/adapter-route-handler.js +76 -0
  86. package/dist/smart-agent/http/adapter-route-handler.js.map +1 -0
  87. package/dist/smart-agent/http/chat-route-handler.d.ts +15 -0
  88. package/dist/smart-agent/http/chat-route-handler.d.ts.map +1 -0
  89. package/dist/smart-agent/http/chat-route-handler.js +327 -0
  90. package/dist/smart-agent/http/chat-route-handler.js.map +1 -0
  91. package/dist/smart-agent/http/config-route-handler.d.ts +21 -0
  92. package/dist/smart-agent/http/config-route-handler.d.ts.map +1 -0
  93. package/dist/smart-agent/http/config-route-handler.js +149 -0
  94. package/dist/smart-agent/http/config-route-handler.js.map +1 -0
  95. package/dist/smart-agent/http/health-route-handler.d.ts +12 -0
  96. package/dist/smart-agent/http/health-route-handler.d.ts.map +1 -0
  97. package/dist/smart-agent/http/health-route-handler.js +19 -0
  98. package/dist/smart-agent/http/health-route-handler.js.map +1 -0
  99. package/dist/smart-agent/http/models-route-handler.d.ts +17 -0
  100. package/dist/smart-agent/http/models-route-handler.d.ts.map +1 -0
  101. package/dist/smart-agent/http/models-route-handler.js +65 -0
  102. package/dist/smart-agent/http/models-route-handler.js.map +1 -0
  103. package/dist/smart-agent/http/response-helpers.d.ts +31 -0
  104. package/dist/smart-agent/http/response-helpers.d.ts.map +1 -0
  105. package/dist/smart-agent/http/response-helpers.js +59 -0
  106. package/dist/smart-agent/http/response-helpers.js.map +1 -0
  107. package/dist/smart-agent/http/route-table.d.ts +44 -0
  108. package/dist/smart-agent/http/route-table.d.ts.map +1 -0
  109. package/dist/smart-agent/http/route-table.js +35 -0
  110. package/dist/smart-agent/http/route-table.js.map +1 -0
  111. package/dist/smart-agent/http/session-cookie.d.ts +10 -0
  112. package/dist/smart-agent/http/session-cookie.d.ts.map +1 -0
  113. package/dist/smart-agent/http/session-cookie.js +16 -0
  114. package/dist/smart-agent/http/session-cookie.js.map +1 -0
  115. package/dist/smart-agent/http/sessions-route-handler.d.ts +8 -0
  116. package/dist/smart-agent/http/sessions-route-handler.d.ts.map +1 -0
  117. package/dist/smart-agent/http/sessions-route-handler.js +54 -0
  118. package/dist/smart-agent/http/sessions-route-handler.js.map +1 -0
  119. package/dist/smart-agent/http/usage-route-handler.d.ts +12 -0
  120. package/dist/smart-agent/http/usage-route-handler.d.ts.map +1 -0
  121. package/dist/smart-agent/http/usage-route-handler.js +28 -0
  122. package/dist/smart-agent/http/usage-route-handler.js.map +1 -0
  123. package/dist/smart-agent/knowledge/make-knowledge-backend.d.ts +13 -0
  124. package/dist/smart-agent/knowledge/make-knowledge-backend.d.ts.map +1 -0
  125. package/dist/smart-agent/knowledge/make-knowledge-backend.js +18 -0
  126. package/dist/smart-agent/knowledge/make-knowledge-backend.js.map +1 -0
  127. package/dist/smart-agent/llm/role-llm-resolver.d.ts +30 -0
  128. package/dist/smart-agent/llm/role-llm-resolver.d.ts.map +1 -0
  129. package/dist/smart-agent/llm/role-llm-resolver.js +44 -0
  130. package/dist/smart-agent/llm/role-llm-resolver.js.map +1 -0
  131. package/dist/smart-agent/llm-config-map.d.ts +38 -0
  132. package/dist/smart-agent/llm-config-map.d.ts.map +1 -0
  133. package/dist/smart-agent/llm-config-map.js +75 -0
  134. package/dist/smart-agent/llm-config-map.js.map +1 -0
  135. package/dist/smart-agent/mcp-readiness-monitor.d.ts +38 -0
  136. package/dist/smart-agent/mcp-readiness-monitor.d.ts.map +1 -0
  137. package/dist/smart-agent/mcp-readiness-monitor.js +81 -0
  138. package/dist/smart-agent/mcp-readiness-monitor.js.map +1 -0
  139. package/dist/smart-agent/mcp-readiness-registry.d.ts +37 -0
  140. package/dist/smart-agent/mcp-readiness-registry.d.ts.map +1 -0
  141. package/dist/smart-agent/mcp-readiness-registry.js +55 -0
  142. package/dist/smart-agent/mcp-readiness-registry.js.map +1 -0
  143. package/dist/smart-agent/resolve-config-sections.d.ts +15 -0
  144. package/dist/smart-agent/resolve-config-sections.d.ts.map +1 -0
  145. package/dist/smart-agent/resolve-config-sections.js +212 -0
  146. package/dist/smart-agent/resolve-config-sections.js.map +1 -0
  147. package/dist/smart-agent/session-lifecycle/index.d.ts +117 -0
  148. package/dist/smart-agent/session-lifecycle/index.d.ts.map +1 -0
  149. package/dist/smart-agent/session-lifecycle/index.js +152 -0
  150. package/dist/smart-agent/session-lifecycle/index.js.map +1 -0
  151. package/dist/smart-agent/skill-plugins-config.d.ts +9 -1
  152. package/dist/smart-agent/skill-plugins-config.d.ts.map +1 -1
  153. package/dist/smart-agent/skill-plugins-config.js +27 -1
  154. package/dist/smart-agent/skill-plugins-config.js.map +1 -1
  155. package/dist/smart-agent/skill-plugins-host-factory.d.ts +14 -2
  156. package/dist/smart-agent/skill-plugins-host-factory.d.ts.map +1 -1
  157. package/dist/smart-agent/skill-plugins-host-factory.js +16 -4
  158. package/dist/smart-agent/skill-plugins-host-factory.js.map +1 -1
  159. package/dist/smart-agent/smart-server.d.ts +151 -222
  160. package/dist/smart-agent/smart-server.d.ts.map +1 -1
  161. package/dist/smart-agent/smart-server.js +529 -1385
  162. package/dist/smart-agent/smart-server.js.map +1 -1
  163. package/dist/smart-agent/stepper-config.d.ts +138 -0
  164. package/dist/smart-agent/stepper-config.d.ts.map +1 -0
  165. package/dist/smart-agent/stepper-config.js +216 -0
  166. package/dist/smart-agent/stepper-config.js.map +1 -0
  167. package/dist/smart-agent/tools-rag-handle.d.ts +10 -0
  168. package/dist/smart-agent/tools-rag-handle.d.ts.map +1 -0
  169. package/dist/smart-agent/tools-rag-handle.js +76 -0
  170. package/dist/smart-agent/tools-rag-handle.js.map +1 -0
  171. package/dist/smart-agent/workers/worker-registry.d.ts +159 -0
  172. package/dist/smart-agent/workers/worker-registry.d.ts.map +1 -0
  173. package/dist/smart-agent/workers/worker-registry.js +203 -0
  174. package/dist/smart-agent/workers/worker-registry.js.map +1 -0
  175. package/dist/smart-agent/yaml-loader.d.ts +7 -0
  176. package/dist/smart-agent/yaml-loader.d.ts.map +1 -0
  177. package/dist/smart-agent/yaml-loader.js +146 -0
  178. package/dist/smart-agent/yaml-loader.js.map +1 -0
  179. package/package.json +7 -7
@@ -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 './parser.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
@@ -1 +1 @@
1
- {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../../src/smart-agent/controller/planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../../src/smart-agent/controller/planner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { CallOptions, IEmbedder, IKnowledgeRagHandle, KnowledgeEntry } from '@mcp-abap-adt/llm-agent';
2
+ /** Top-k recalled artifacts injected into the executor context per step. */
3
+ /** Artifact types eligible for recall (excludes the 'controller-bundle' record
4
+ * that shares the same backend). */
5
+ export declare const RECALL_ARTIFACT_TYPES: readonly ["step-result", "mcp-result"];
6
+ /** Per-kind recall counts (distinct artifacts kept after dedup + cap). */
7
+ export declare const RECALL_K_STEP = 4;
8
+ export declare const RECALL_K_MCP = 4;
9
+ /** SEPARATE char budgets per kind, so a huge step-result cannot starve MCP context. */
10
+ export declare const RECALL_MAX_CHARS_STEP = 2000;
11
+ export declare const RECALL_MAX_CHARS_MCP = 2000;
12
+ /** Char budget for a single per-`requires` evidence extract handed to the reviewer. */
13
+ export declare const RECALL_EVIDENCE_CHARS = 800;
14
+ /** Build a bounded "Relevant prior context" block from recalled artifacts under
15
+ * the given char budget, or undefined when there is nothing to inject. */
16
+ export declare function buildRecallBlock(hits: readonly {
17
+ content: string;
18
+ }[], maxChars: number): string | undefined;
19
+ /** Gather the run's approved results, one per seq, resolved by outcome precedence
20
+ * (ok/exists > partial > failed), ordered by seq. Reconstructs the complete
21
+ * Outcome from artifact metadata (status/note/remainder) + content. */
22
+ export declare function collectApproved(rag: IKnowledgeRagHandle, runId: string): Promise<{
23
+ seq: number;
24
+ content: string;
25
+ }[]>;
26
+ /** The ONE run-scoped results-RAG recall primitive — used by BOTH the whole-step
27
+ * recall AND the per-`requires` evidence. EMBEDDING-based similarity via the
28
+ * backend's semantic query (NO homemade lexical scoring): the backend embeds the
29
+ * query + ranks by vector similarity, with the `runId` filter applied PRE-cap.
30
+ * Over-fetch `kPrime` (caller-supplied so the duplication bound is justified PER
31
+ * KIND), then dedup and cap to `k`. Dedup: step-results (have `seq`) →
32
+ * precedence-winner per seq; mcp-results → by `identityKey`. Embedding rank order
33
+ * is preserved through the dedup.
34
+ * `options` is forwarded into the embedder so recall-time embeds are metered. */
35
+ export declare function runScopedRecall(rag: IKnowledgeRagHandle, text: string, k: number, runId: string | undefined, kPrime: number, artifactType: readonly string[], options?: CallOptions): Promise<readonly KnowledgeEntry[]>;
36
+ /** Return the ≤`maxChars` fragment of `content` most similar to `ref` by EMBEDDING
37
+ * (NOT ASCII lexical overlap). DIRECT single-pass ranking: every candidate is
38
+ * scored on its own. The SCORED window IS the RETURNED body: candidates are
39
+ * `body = maxChars - 2` chars (head+tail '…' reserved up front), so the
40
+ * highest-scoring fragment is never truncated by the markers. Stride is 50%
41
+ * overlap, widened to span the whole content within MAX_EXTRACT_WINDOWS windows
42
+ * (point coverage for content ≤ MAX_EXTRACT_WINDOWS×maxChars; larger thins to
43
+ * non-overlapping, best-effort). Embeds are SEQUENTIAL and BOUNDED to ≤
44
+ * MAX_EXTRACT_WINDOWS + 1 — touches NO public embedder API (batch is a deferred
45
+ * optimization). Result STRICTLY ≤ maxChars; tiny maxChars (< 3) → bare slice.
46
+ * The `requires` ref is English (planner invariant) → a normal embedder suffices. */
47
+ export declare function relevantExtract(content: string, ref: string, maxChars: number, embedder: IEmbedder, options?: CallOptions): Promise<string>;
48
+ //# sourceMappingURL=recall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/recall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAIjC,4EAA4E;AAC5E;qCACqC;AACrC,eAAO,MAAM,qBAAqB,wCAAyC,CAAC;AAC5E,0EAA0E;AAC1E,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;2EAC2E;AAC3E,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EACpC,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAgBpB;AAED;;wEAEwE;AACxE,wBAAsB,eAAe,CACnC,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAwB7C;AAED;;;;;;;;kFAQkF;AAClF,wBAAsB,eAAe,CACnC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAsCpC;AA2CD;;;;;;;;;;sFAUsF;AACtF,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,SAAS,EACnB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,CAyBjB"}
@@ -0,0 +1,196 @@
1
+ import { cosine } from '../embedder-knowledge-index.js';
2
+ import { resolveByPrecedence } from './outcome.js';
3
+ /** Top-k recalled artifacts injected into the executor context per step. */
4
+ /** Artifact types eligible for recall (excludes the 'controller-bundle' record
5
+ * that shares the same backend). */
6
+ export const RECALL_ARTIFACT_TYPES = ['step-result', 'mcp-result'];
7
+ /** Per-kind recall counts (distinct artifacts kept after dedup + cap). */
8
+ export const RECALL_K_STEP = 4;
9
+ export const RECALL_K_MCP = 4;
10
+ /** SEPARATE char budgets per kind, so a huge step-result cannot starve MCP context. */
11
+ export const RECALL_MAX_CHARS_STEP = 2000;
12
+ export const RECALL_MAX_CHARS_MCP = 2000;
13
+ /** Char budget for a single per-`requires` evidence extract handed to the reviewer. */
14
+ export const RECALL_EVIDENCE_CHARS = 800;
15
+ /** Build a bounded "Relevant prior context" block from recalled artifacts under
16
+ * the given char budget, or undefined when there is nothing to inject. */
17
+ export function buildRecallBlock(hits, maxChars) {
18
+ if (hits.length === 0)
19
+ return undefined;
20
+ const parts = [];
21
+ let used = 0;
22
+ for (const h of hits) {
23
+ const c = h.content ?? '';
24
+ if (c.length === 0)
25
+ continue;
26
+ if (used + c.length > maxChars) {
27
+ parts.push(c.slice(0, maxChars - used));
28
+ break;
29
+ }
30
+ parts.push(c);
31
+ used += c.length;
32
+ }
33
+ if (parts.length === 0)
34
+ return undefined;
35
+ return `Relevant prior context:\n${parts.join('\n')}`;
36
+ }
37
+ /** Gather the run's approved results, one per seq, resolved by outcome precedence
38
+ * (ok/exists > partial > failed), ordered by seq. Reconstructs the complete
39
+ * Outcome from artifact metadata (status/note/remainder) + content. */
40
+ export async function collectApproved(rag, runId) {
41
+ const all = await rag.list({ runId, artifactType: 'step-result' });
42
+ const bySeq = new Map();
43
+ for (const e of all) {
44
+ const seq = e.metadata.seq ?? 0;
45
+ const o = {
46
+ status: (e.metadata.status ?? 'failed'),
47
+ approved: e.content,
48
+ remainder: e.metadata.remainder ?? '',
49
+ note: e.metadata.note ?? '',
50
+ };
51
+ const arr = bySeq.get(seq);
52
+ if (arr)
53
+ arr.push(o);
54
+ else
55
+ bySeq.set(seq, [o]);
56
+ }
57
+ const out = [];
58
+ for (const [seq, outcomes] of [...bySeq.entries()].sort((a, b) => a[0] - b[0])) {
59
+ const resolved = resolveByPrecedence(outcomes);
60
+ if (resolved && resolved.status !== 'failed')
61
+ out.push({ seq, content: resolved.approved });
62
+ }
63
+ return out;
64
+ }
65
+ /** The ONE run-scoped results-RAG recall primitive — used by BOTH the whole-step
66
+ * recall AND the per-`requires` evidence. EMBEDDING-based similarity via the
67
+ * backend's semantic query (NO homemade lexical scoring): the backend embeds the
68
+ * query + ranks by vector similarity, with the `runId` filter applied PRE-cap.
69
+ * Over-fetch `kPrime` (caller-supplied so the duplication bound is justified PER
70
+ * KIND), then dedup and cap to `k`. Dedup: step-results (have `seq`) →
71
+ * precedence-winner per seq; mcp-results → by `identityKey`. Embedding rank order
72
+ * is preserved through the dedup.
73
+ * `options` is forwarded into the embedder so recall-time embeds are metered. */
74
+ export async function runScopedRecall(rag, text, k, runId, kPrime, artifactType, options) {
75
+ const hits = await rag.query(text, {
76
+ k: kPrime,
77
+ filter: { runId, artifactType },
78
+ options,
79
+ });
80
+ const bestStep = new Map();
81
+ const bestMcp = new Map();
82
+ for (const e of hits) {
83
+ if (e.metadata.seq !== undefined && e.metadata.status !== undefined) {
84
+ const prev = bestStep.get(e.metadata.seq);
85
+ if (!prev || isBetterStep(e, prev))
86
+ bestStep.set(e.metadata.seq, e);
87
+ }
88
+ else if (e.metadata.identityKey) {
89
+ const prev = bestMcp.get(e.metadata.identityKey);
90
+ if (!prev || isBetterMcp(e, prev))
91
+ bestMcp.set(e.metadata.identityKey, e);
92
+ }
93
+ }
94
+ // Walk hits in embedding-rank order; emit each (runId,seq) / identityKey once.
95
+ const out = [];
96
+ const seenSeq = new Set();
97
+ const seenMcp = new Set();
98
+ for (const e of hits) {
99
+ if (e.metadata.seq !== undefined && e.metadata.status !== undefined) {
100
+ if (seenSeq.has(e.metadata.seq))
101
+ continue;
102
+ seenSeq.add(e.metadata.seq);
103
+ // biome-ignore lint/style/noNonNullAssertion: bestStep has this seq (set above).
104
+ out.push(bestStep.get(e.metadata.seq));
105
+ }
106
+ else if (e.metadata.identityKey) {
107
+ if (seenMcp.has(e.metadata.identityKey))
108
+ continue;
109
+ seenMcp.add(e.metadata.identityKey);
110
+ // biome-ignore lint/style/noNonNullAssertion: bestMcp has this key (set above).
111
+ out.push(bestMcp.get(e.metadata.identityKey));
112
+ }
113
+ else {
114
+ out.push(e);
115
+ }
116
+ if (out.length >= k)
117
+ break;
118
+ }
119
+ return out.slice(0, k);
120
+ }
121
+ /** Outcome-precedence rank for step-result dedup (ok/exists > partial > failed). */
122
+ function rankStatus(s) {
123
+ return s === 'ok' || s === 'exists'
124
+ ? 3
125
+ : s === 'partial'
126
+ ? 2
127
+ : s === 'failed'
128
+ ? 1
129
+ : 0;
130
+ }
131
+ /** True when candidate `a` is a better winner than current `b` for step-result
132
+ * dedup. Latest-wins by EXECUTION IDENTITY, not by semantic-rank position:
133
+ * 1. Higher status rank wins; on tie →
134
+ * 2. Higher attempt wins; on further tie →
135
+ * 3. Higher writeOrdinal wins (tie-breaks same-timestamp artifacts from one run); on tie →
136
+ * 4. Later createdAt wins (missing = older: compare with '' as sentinel). */
137
+ function isBetterStep(a, b) {
138
+ const ra = rankStatus(a.metadata.status);
139
+ const rb = rankStatus(b.metadata.status);
140
+ if (ra !== rb)
141
+ return ra > rb;
142
+ const aa = a.metadata.attempt ?? 0;
143
+ const ba = b.metadata.attempt ?? 0;
144
+ if (aa !== ba)
145
+ return aa > ba;
146
+ const ao = a.metadata.writeOrdinal ?? -1;
147
+ const bo = b.metadata.writeOrdinal ?? -1;
148
+ if (ao !== bo)
149
+ return ao > bo;
150
+ return (a.metadata.createdAt ?? '') > (b.metadata.createdAt ?? '');
151
+ }
152
+ /** True when candidate `a` is a better winner than current `b` for mcp-result
153
+ * dedup. Latest-fetch wins by writeOrdinal first (handles same-timestamp), then
154
+ * falls back to createdAt (missing = older). */
155
+ function isBetterMcp(a, b) {
156
+ const ao = a.metadata.writeOrdinal ?? -1;
157
+ const bo = b.metadata.writeOrdinal ?? -1;
158
+ if (ao !== bo)
159
+ return ao > bo;
160
+ return (a.metadata.createdAt ?? '') > (b.metadata.createdAt ?? '');
161
+ }
162
+ const MAX_EXTRACT_WINDOWS = 64;
163
+ /** Return the ≤`maxChars` fragment of `content` most similar to `ref` by EMBEDDING
164
+ * (NOT ASCII lexical overlap). DIRECT single-pass ranking: every candidate is
165
+ * scored on its own. The SCORED window IS the RETURNED body: candidates are
166
+ * `body = maxChars - 2` chars (head+tail '…' reserved up front), so the
167
+ * highest-scoring fragment is never truncated by the markers. Stride is 50%
168
+ * overlap, widened to span the whole content within MAX_EXTRACT_WINDOWS windows
169
+ * (point coverage for content ≤ MAX_EXTRACT_WINDOWS×maxChars; larger thins to
170
+ * non-overlapping, best-effort). Embeds are SEQUENTIAL and BOUNDED to ≤
171
+ * MAX_EXTRACT_WINDOWS + 1 — touches NO public embedder API (batch is a deferred
172
+ * optimization). Result STRICTLY ≤ maxChars; tiny maxChars (< 3) → bare slice.
173
+ * The `requires` ref is English (planner invariant) → a normal embedder suffices. */
174
+ export async function relevantExtract(content, ref, maxChars, embedder, options) {
175
+ if (content.length <= maxChars)
176
+ return content;
177
+ if (maxChars < 3)
178
+ return content.slice(0, Math.max(0, maxChars));
179
+ const body = maxChars - 2;
180
+ const stride = Math.max(Math.floor(body / 2), Math.ceil(content.length / MAX_EXTRACT_WINDOWS));
181
+ const { vector: q } = await embedder.embed(ref, options);
182
+ let bestStart = 0;
183
+ let bestScore = Number.NEGATIVE_INFINITY;
184
+ for (let s = 0; s < content.length; s += stride) {
185
+ const { vector } = await embedder.embed(content.slice(s, s + body), options);
186
+ const score = cosine(q, vector);
187
+ if (score > bestScore) {
188
+ bestScore = score;
189
+ bestStart = s;
190
+ }
191
+ }
192
+ const head = bestStart > 0 ? '…' : '';
193
+ const tail = bestStart + body < content.length ? '…' : '';
194
+ return head + content.slice(bestStart, bestStart + body) + tail;
195
+ }
196
+ //# sourceMappingURL=recall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recall.js","sourceRoot":"","sources":["../../../src/smart-agent/controller/recall.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,iFAAiF;AACjF,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;+EAO+E;AAC/E,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C;kFACkF;AAClF,MAAM,WAAW,SAAS;IACxB,MAAM,CACJ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1B;AAwBD,qBAAa,WAAY,YAAW,SAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE9C,MAAM,CACV,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,YAAY,CAAC;CA8BzB;AAED;;;;6EAI6E;AAC7E,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,cAAc,SAAM,GACnB,YAAY,CAyDd"}
1
+ {"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,iFAAiF;AACjF,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;+EAO+E;AAC/E,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C;kFACkF;AAClF,MAAM,WAAW,SAAS;IACxB,MAAM,CACJ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1B;AAwBD,qBAAa,WAAY,YAAW,SAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE9C,MAAM,CACV,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,YAAY,CAAC;CA8BzB;AAED;;;;6EAI6E;AAC7E,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,cAAc,SAAM,GACnB,YAAY,CAyDd"}
@@ -1,4 +1,4 @@
1
- import { extractJsonObject } from './controller-coordinator-handler.js';
1
+ import { extractJsonObject } from './parser.js';
2
2
  import { appendHint } from './prompts.js';
3
3
  const REVIEWER_SYSTEM = 'You are the reviewer. You did NOT do the work — you JUDGE it. Given the ' +
4
4
  "step intent, the per-reference evidence, and the executor's result, decide " +
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../../src/smart-agent/controller/reviewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../../src/smart-agent/controller/reviewer.ts"],"names":[],"mappings":"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"}
@@ -164,7 +164,6 @@ export interface ControllerConfig {
164
164
  sessionMemory: {
165
165
  collection: string;
166
166
  };
167
- planner?: 'incremental' | 'adaptive';
168
167
  budgets: {
169
168
  maxSteps: number;
170
169
  maxRetries: number;
@@ -191,29 +190,29 @@ export interface ControllerConfig {
191
190
  * explicit incomplete marker. */
192
191
  onFinalizeExhausted?: 'error' | 'best-effort';
193
192
  }
194
- export type PlannerKind = 'incremental' | 'adaptive';
193
+ export type PlannerKind = 'smart-executor' | 'weak-executor';
195
194
  export interface PlannerNextInput {
196
195
  bundle: SessionBundle;
197
196
  prompt: string;
198
197
  /** Outcome of the step run since the previous `next()` (undefined on the first
199
- * call / after a rewind / on resume). The adaptive planner replans on 'failed';
200
- * the incremental planner ignores it. Cursor advance on 'advanced' happens in
198
+ * call / after a rewind / on resume). The plan-first planner replans on 'failed';
199
+ * a planner that does not implement commit() ignores it. Cursor advance on 'advanced' happens in
201
200
  * commit(), not here. */
202
201
  lastOutcome?: 'advanced' | 'failed' | 'partial';
203
202
  /** True when re-asking after an unparsable reply (stern format reminder). */
204
203
  retrying: boolean;
205
204
  /** True on the first call of a turn that just resumed an EXTERNAL-tool result
206
- * (the result is now in `bundle.plannerPrivate`). The adaptive planner replans
205
+ * (the result is now in `bundle.plannerPrivate`). The plan-first planner replans
207
206
  * from the cursor so it incorporates the result via the planner — which reads
208
207
  * plannerPrivate — instead of blindly re-running the suspended step (the
209
- * executor prompt does NOT include plannerPrivate). Incremental ignores it. */
208
+ * executor prompt does NOT include plannerPrivate). A no-op planner ignores it. */
210
209
  resumedExternal?: boolean;
211
210
  /** The rendered step-state digest board (§B), reconstructed by the controller
212
211
  * from artifacts before each call. When present + non-empty it is the
213
212
  * AUTHORITATIVE step-state context, rendered ADDITIVELY ahead of the
214
213
  * `plannerPrivate` tail (which still carries non-board deltas — clarify answers,
215
214
  * the legacy external result). Empty/absent → the planner uses `plannerPrivate`
216
- * alone (so the decision-less IncrementalPlanner is byte-identical to today). */
215
+ * alone (board-less path; prompt byte-identical to the pre-board baseline). */
217
216
  boardText?: string;
218
217
  logUsage?: (role: string, u?: LlmUsage) => void;
219
218
  /** Request-scoped call options (request logger / trace / cancellation signal).
@@ -224,8 +223,8 @@ export interface PlannerNextInput {
224
223
  export interface IControllerPlanner {
225
224
  next(input: PlannerNextInput): Promise<NextStep | null>;
226
225
  /** Optional: record a just-finished step's outcome so the planner's durable
227
- * bookkeeping (e.g. the adaptive cursor) is updated and can be persisted in the
228
- * SAME write that follows. Incremental does not implement it (no-op). */
226
+ * bookkeeping (e.g. the plan-first cursor) is updated and can be persisted in the
227
+ * SAME write that follows. A planner that does not track state need not implement it (no-op). */
229
228
  commit?(bundle: SessionBundle, outcome: 'advanced' | 'failed' | 'partial'): void;
230
229
  }
231
230
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { IRequestLogger, LlmUsage } from '@mcp-abap-adt/llm-agent';
2
+ /**
3
+ * Build a request-time `logUsage(role, usage)` that writes each subagent call
4
+ * into the per-request `IRequestLogger` (the single aggregator), attributing the
5
+ * role's configured model. The role is explicit at the call site, so the shared
6
+ * planner/finalizer client is attributed correctly. `durationMs: 0` — the seam
7
+ * carries no timing (matches the rag-query precedent).
8
+ */
9
+ export declare function makeLogUsage(requestLogger: IRequestLogger, requestId: string | undefined, models: {
10
+ evaluator: string;
11
+ planner: string;
12
+ executor: string;
13
+ reviewer?: string;
14
+ finalizer?: string;
15
+ }): (role: string, u?: LlmUsage) => void;
16
+ //# sourceMappingURL=usage-logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-logging.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/usage-logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAEd,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAWjC;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,cAAc,EAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE;IACN,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAwBtC"}