@mcp-abap-adt/llm-agent-server-libs 19.1.2 → 19.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/factories/controller-factory.d.ts +18 -4
  2. package/dist/factories/controller-factory.d.ts.map +1 -1
  3. package/dist/factories/controller-factory.js +50 -10
  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/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/pipelines/controller.d.ts.map +1 -1
  12. package/dist/pipelines/controller.js +41 -0
  13. package/dist/pipelines/controller.js.map +1 -1
  14. package/dist/pipelines/dag.d.ts.map +1 -1
  15. package/dist/pipelines/dag.js +2 -1
  16. package/dist/pipelines/dag.js.map +1 -1
  17. package/dist/pipelines/flat.d.ts.map +1 -1
  18. package/dist/pipelines/flat.js +2 -1
  19. package/dist/pipelines/flat.js.map +1 -1
  20. package/dist/pipelines/linear.d.ts.map +1 -1
  21. package/dist/pipelines/linear.js +2 -1
  22. package/dist/pipelines/linear.js.map +1 -1
  23. package/dist/pipelines/register-skill-sources.d.ts +21 -0
  24. package/dist/pipelines/register-skill-sources.d.ts.map +1 -0
  25. package/dist/pipelines/register-skill-sources.js +57 -0
  26. package/dist/pipelines/register-skill-sources.js.map +1 -0
  27. package/dist/pipelines/server-context.d.ts +37 -1
  28. package/dist/pipelines/server-context.d.ts.map +1 -1
  29. package/dist/pipelines/server-context.js.map +1 -1
  30. package/dist/smart-agent/config.d.ts.map +1 -1
  31. package/dist/smart-agent/config.js +4 -0
  32. package/dist/smart-agent/config.js.map +1 -1
  33. package/dist/smart-agent/controller/artifacts.d.ts +116 -0
  34. package/dist/smart-agent/controller/artifacts.d.ts.map +1 -0
  35. package/dist/smart-agent/controller/artifacts.js +192 -0
  36. package/dist/smart-agent/controller/artifacts.js.map +1 -0
  37. package/dist/smart-agent/controller/board.d.ts +73 -0
  38. package/dist/smart-agent/controller/board.d.ts.map +1 -0
  39. package/dist/smart-agent/controller/board.js +233 -0
  40. package/dist/smart-agent/controller/board.js.map +1 -0
  41. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts +67 -7
  42. package/dist/smart-agent/controller/controller-coordinator-handler.d.ts.map +1 -1
  43. package/dist/smart-agent/controller/controller-coordinator-handler.js +923 -61
  44. package/dist/smart-agent/controller/controller-coordinator-handler.js.map +1 -1
  45. package/dist/smart-agent/controller/finalizer.d.ts +48 -0
  46. package/dist/smart-agent/controller/finalizer.d.ts.map +1 -0
  47. package/dist/smart-agent/controller/finalizer.js +126 -0
  48. package/dist/smart-agent/controller/finalizer.js.map +1 -0
  49. package/dist/smart-agent/controller/memorizer.d.ts +2 -2
  50. package/dist/smart-agent/controller/memorizer.d.ts.map +1 -1
  51. package/dist/smart-agent/controller/memorizer.js +2 -2
  52. package/dist/smart-agent/controller/memorizer.js.map +1 -1
  53. package/dist/smart-agent/controller/outcome.d.ts +28 -0
  54. package/dist/smart-agent/controller/outcome.d.ts.map +1 -0
  55. package/dist/smart-agent/controller/outcome.js +30 -0
  56. package/dist/smart-agent/controller/outcome.js.map +1 -0
  57. package/dist/smart-agent/controller/planner.d.ts +28 -5
  58. package/dist/smart-agent/controller/planner.d.ts.map +1 -1
  59. package/dist/smart-agent/controller/planner.js +111 -29
  60. package/dist/smart-agent/controller/planner.js.map +1 -1
  61. package/dist/smart-agent/controller/reviewer.d.ts +48 -0
  62. package/dist/smart-agent/controller/reviewer.d.ts.map +1 -0
  63. package/dist/smart-agent/controller/reviewer.js +116 -0
  64. package/dist/smart-agent/controller/reviewer.js.map +1 -0
  65. package/dist/smart-agent/controller/run-scope.d.ts +50 -0
  66. package/dist/smart-agent/controller/run-scope.d.ts.map +1 -0
  67. package/dist/smart-agent/controller/run-scope.js +99 -0
  68. package/dist/smart-agent/controller/run-scope.js.map +1 -0
  69. package/dist/smart-agent/controller/session-bundle.d.ts +5 -0
  70. package/dist/smart-agent/controller/session-bundle.d.ts.map +1 -1
  71. package/dist/smart-agent/controller/session-bundle.js +27 -0
  72. package/dist/smart-agent/controller/session-bundle.js.map +1 -1
  73. package/dist/smart-agent/controller/types.d.ts +117 -7
  74. package/dist/smart-agent/controller/types.d.ts.map +1 -1
  75. package/dist/smart-agent/controller/types.js +30 -1
  76. package/dist/smart-agent/controller/types.js.map +1 -1
  77. package/dist/smart-agent/embedder-knowledge-index.d.ts +28 -0
  78. package/dist/smart-agent/embedder-knowledge-index.d.ts.map +1 -0
  79. package/dist/smart-agent/embedder-knowledge-index.js +71 -0
  80. package/dist/smart-agent/embedder-knowledge-index.js.map +1 -0
  81. package/dist/smart-agent/jsonl-knowledge-backend.d.ts +26 -10
  82. package/dist/smart-agent/jsonl-knowledge-backend.d.ts.map +1 -1
  83. package/dist/smart-agent/jsonl-knowledge-backend.js +81 -9
  84. package/dist/smart-agent/jsonl-knowledge-backend.js.map +1 -1
  85. package/dist/smart-agent/pg-pool.d.ts +58 -0
  86. package/dist/smart-agent/pg-pool.d.ts.map +1 -0
  87. package/dist/smart-agent/pg-pool.js +149 -0
  88. package/dist/smart-agent/pg-pool.js.map +1 -0
  89. package/dist/smart-agent/skill-plugins-config.d.ts +97 -0
  90. package/dist/smart-agent/skill-plugins-config.d.ts.map +1 -0
  91. package/dist/smart-agent/skill-plugins-config.js +318 -0
  92. package/dist/smart-agent/skill-plugins-config.js.map +1 -0
  93. package/dist/smart-agent/skill-plugins-config.test.d.ts +2 -0
  94. package/dist/smart-agent/skill-plugins-config.test.d.ts.map +1 -0
  95. package/dist/smart-agent/skill-plugins-config.test.js.map +1 -0
  96. package/dist/smart-agent/skill-plugins-host-factory.d.ts +98 -0
  97. package/dist/smart-agent/skill-plugins-host-factory.d.ts.map +1 -0
  98. package/dist/smart-agent/skill-plugins-host-factory.js +284 -0
  99. package/dist/smart-agent/skill-plugins-host-factory.js.map +1 -0
  100. package/dist/smart-agent/skill-plugins-host-factory.test.d.ts +2 -0
  101. package/dist/smart-agent/skill-plugins-host-factory.test.d.ts.map +1 -0
  102. package/dist/smart-agent/skill-plugins-host-factory.test.js.map +1 -0
  103. package/dist/smart-agent/smart-server.d.ts +25 -0
  104. package/dist/smart-agent/smart-server.d.ts.map +1 -1
  105. package/dist/smart-agent/smart-server.js +139 -6
  106. package/dist/smart-agent/smart-server.js.map +1 -1
  107. package/package.json +9 -7
@@ -0,0 +1,233 @@
1
+ import { projectStepState, resolveByPrecedence } from './outcome.js';
2
+ /** Replay create/replan decisions (writeOrdinal order) into the canonical CURRENT
3
+ * plan (§F arbitration): a later `create` (a crash-retry of a not-yet-persisted
4
+ * plan) REPLACES the earlier one; a `replan` replaces the plan tail from its
5
+ * superseded anchor (steps[0].supersedesStepId) onward. Steps dropped by a
6
+ * replacement therefore never appear as phantom `planned` entries. */
7
+ export function reconstructPlanStructure(decisions) {
8
+ const ordered = [...decisions].sort((a, b) => a.writeOrdinal - b.writeOrdinal);
9
+ let plan = [];
10
+ for (const dec of ordered) {
11
+ if (dec.kind === 'create') {
12
+ plan = dec.steps;
13
+ }
14
+ else if (dec.kind === 'replan') {
15
+ const anchor = dec.anchorStepId ?? dec.steps[0]?.supersedesStepId;
16
+ const idx = anchor ? plan.findIndex((s) => s.stepId === anchor) : -1;
17
+ plan =
18
+ idx >= 0
19
+ ? [...plan.slice(0, idx), ...dec.steps]
20
+ : [...plan, ...dec.steps];
21
+ }
22
+ // expand/page kinds are not produced in Phase 2 — ignored (later-phase concern).
23
+ }
24
+ return plan;
25
+ }
26
+ /** Rebuild the step-state board from artifacts (§F), sources 1–3. */
27
+ export function reconstructBoard(input) {
28
+ const board = new Map();
29
+ // (1) Structure ← the canonical replayed plan (§F arbitration): a stale create or
30
+ // a replan-dropped tail never becomes a phantom `planned` entry.
31
+ const canonical = reconstructPlanStructure(input.structure);
32
+ // Lookup over EVERY step ever decided — used to resurrect executed-but-dropped steps.
33
+ const everDecided = new Map();
34
+ for (const dec of input.structure) {
35
+ for (const s of dec.steps) {
36
+ if (s.stepId)
37
+ everDecided.set(s.stepId, s);
38
+ }
39
+ }
40
+ for (const s of canonical) {
41
+ if (!s.stepId)
42
+ continue;
43
+ board.set(s.stepId, {
44
+ stepId: s.stepId,
45
+ name: s.name,
46
+ instructions: s.instructions,
47
+ state: 'planned',
48
+ });
49
+ }
50
+ // (1b) Resurrect EXECUTED steps a replacement dropped from the canonical plan: an
51
+ // executed step is immutable history (§F) and must stay on the board with its
52
+ // terminal state; an UNEXECUTED dropped step is a phantom and stays out.
53
+ for (const e of input.stepResults) {
54
+ if (e.metadata.artifactType !== 'step-result')
55
+ continue;
56
+ const id = e.metadata.stepId;
57
+ if (!id || board.has(id))
58
+ continue;
59
+ const s = everDecided.get(id);
60
+ if (s) {
61
+ board.set(id, {
62
+ stepId: id,
63
+ name: s.name,
64
+ instructions: s.instructions,
65
+ state: 'planned',
66
+ });
67
+ }
68
+ }
69
+ const resultsByStep = new Map();
70
+ for (const e of input.stepResults) {
71
+ if (e.metadata.artifactType !== 'step-result')
72
+ continue;
73
+ const id = e.metadata.stepId;
74
+ if (!id)
75
+ continue;
76
+ const bucket = resultsByStep.get(id);
77
+ if (bucket)
78
+ bucket.push(e);
79
+ else
80
+ resultsByStep.set(id, [e]);
81
+ }
82
+ const claimsByStep = new Map();
83
+ for (const c of input.claims) {
84
+ const bucket = claimsByStep.get(c.stepId);
85
+ if (bucket)
86
+ bucket.push(c);
87
+ else
88
+ claimsByStep.set(c.stepId, [c]);
89
+ }
90
+ // (2)+(3) Terminal / transient state, attempt-scoped (§F).
91
+ for (const [stepId, entry] of board) {
92
+ const results = resultsByStep.get(stepId) ?? [];
93
+ const claims = claimsByStep.get(stepId) ?? [];
94
+ const maxResultAttempt = results.reduce((m, e) => Math.max(m, e.metadata.attempt ?? 0), -1);
95
+ const maxClaimAttempt = claims.reduce((m, c) => Math.max(m, c.attempt), -1);
96
+ const inFlightForStep = input.inFlight && input.inFlight.step?.stepId === stepId
97
+ ? input.inFlight
98
+ : undefined;
99
+ const maxAttempt = Math.max(maxResultAttempt, maxClaimAttempt, inFlightForStep ? inFlightForStep.attempt : -1);
100
+ if (maxAttempt < 0)
101
+ continue; // never started → stays 'planned'
102
+ const settledForCurrent = results.filter((e) => (e.metadata.attempt ?? 0) === maxAttempt);
103
+ if (settledForCurrent.length === 0) {
104
+ entry.state =
105
+ inFlightForStep?.phase === 'executing' &&
106
+ input.pending?.kind === 'external-tool'
107
+ ? 'awaiting-external'
108
+ : 'executing';
109
+ entry.attempt = maxAttempt;
110
+ // Populate seq from the in-flight step first; fall back to the max-attempt claim.
111
+ const maxAttemptClaim = claims.reduce((best, c) => c.attempt === maxAttempt &&
112
+ (!best || c.writeOrdinal >= best.writeOrdinal)
113
+ ? c
114
+ : best, undefined);
115
+ entry.seq = inFlightForStep?.seq ?? maxAttemptClaim?.seq;
116
+ continue;
117
+ }
118
+ const outcomes = settledForCurrent
119
+ .slice()
120
+ .sort((a, b) => (a.metadata.writeOrdinal ?? 0) - (b.metadata.writeOrdinal ?? 0))
121
+ .map((e) => ({
122
+ status: (e.metadata.status ?? 'failed'),
123
+ approved: e.content,
124
+ remainder: e.metadata.remainder ?? '',
125
+ note: e.metadata.note ?? '',
126
+ }));
127
+ const resolved = resolveByPrecedence(outcomes);
128
+ if (!resolved)
129
+ continue;
130
+ entry.state = projectStepState(resolved.status);
131
+ entry.attempt = maxAttempt;
132
+ const winner = settledForCurrent
133
+ .filter((e) => (e.metadata.status ?? 'failed') === resolved.status)
134
+ .reduce((best, e) => !best ||
135
+ (e.metadata.writeOrdinal ?? 0) >= (best.metadata.writeOrdinal ?? 0)
136
+ ? e
137
+ : best, undefined);
138
+ entry.digest = winner?.metadata.digest;
139
+ entry.seq = winner?.metadata.seq;
140
+ }
141
+ return board;
142
+ }
143
+ /** Thrown by renderBoard when the protected (uncompactable) content still exceeds
144
+ * maxBoardChars (§B): the controller catches it and fails loud / suspends BEFORE
145
+ * the planner call rather than feeding a lossy board. */
146
+ export class BoardOverBudgetError extends Error {
147
+ rendered;
148
+ cap;
149
+ constructor(rendered, cap) {
150
+ super(`rendered board (${rendered} chars) exceeds maxBoardChars (${cap})`);
151
+ this.rendered = rendered;
152
+ this.cap = cap;
153
+ this.name = 'BoardOverBudgetError';
154
+ }
155
+ }
156
+ const TERMINAL = new Set(['done', 'partial', 'failed']);
157
+ /** Validate the board budget at load (§B fail-loud invariant): all knobs are
158
+ * non-negative integers, and the worst-case actionable block + the kept digests +
159
+ * headroom fit `maxBoardChars`. A fixed per-line overhead (~24 chars: `[`, stepId8,
160
+ * space, state, `] `, newline) is folded into the estimate.
161
+ *
162
+ * The `maxActiveSteps` term is the §D-capacity-gated worst case (fan-out ≤
163
+ * maxFanOut, one window at a time). In Phase 2 (no §D gate) the actionable count is
164
+ * NOT bounded by maxActiveSteps — a one-shot plan materialises every future step as
165
+ * `planned`. So this check is the load-time sizing guide; the HARD runtime
166
+ * guarantee that the board never exceeds the cap is `renderBoard`'s
167
+ * `BoardOverBudgetError` throw (the controller catches it → fail-loud). */
168
+ export function validateBoardBudget(b) {
169
+ for (const [k, v] of Object.entries(b)) {
170
+ if (!Number.isInteger(v) || v < 0) {
171
+ throw new Error(`BoardBudget.${k} must be a non-negative integer (got ${v})`);
172
+ }
173
+ }
174
+ const PER_LINE_OVERHEAD = 24;
175
+ const actionableWorstCase = b.maxActiveSteps * (PER_LINE_OVERHEAD + b.maxIntentChars);
176
+ const digestsWorstCase = b.keepRecentDigests * (PER_LINE_OVERHEAD + b.maxDigestChars);
177
+ const headroom = 256;
178
+ const needed = actionableWorstCase + digestsWorstCase + headroom;
179
+ if (needed > b.maxBoardChars) {
180
+ throw new Error(`BoardBudget invariant violated: worst-case board (${needed}) exceeds ` +
181
+ `maxBoardChars (${b.maxBoardChars}). Increase maxBoardChars or reduce ` +
182
+ `maxActiveSteps/maxIntentChars/keepRecentDigests/maxDigestChars.`);
183
+ }
184
+ }
185
+ /** Render the reconstructed board to ONE bounded text block (§B). Deterministic:
186
+ * same board ⇒ same output. Actionable (not-terminal) entries are always rendered
187
+ * individually (stepId + state + bounded intent); terminal entries keep the most
188
+ * recent K digests in full and compact older ones oldest-first, dropping to an
189
+ * "omitted" marker if the cap is still exceeded. */
190
+ export function renderBoard(board, budget) {
191
+ const entries = [...board.values()];
192
+ if (entries.length === 0)
193
+ return '';
194
+ const short = (id) => id.slice(0, 8);
195
+ const actionable = entries
196
+ .filter((e) => !TERMINAL.has(e.state))
197
+ .sort((a, b) => (a.seq ?? Number.POSITIVE_INFINITY) -
198
+ (b.seq ?? Number.POSITIVE_INFINITY) ||
199
+ a.stepId.localeCompare(b.stepId))
200
+ .map((e) => `[${short(e.stepId)} ${e.state}] ${e.instructions.slice(0, budget.maxIntentChars)}`);
201
+ const terminals = entries
202
+ .filter((e) => TERMINAL.has(e.state))
203
+ .sort((a, b) => (a.seq ?? 0) - (b.seq ?? 0));
204
+ const cutoff = Math.max(0, terminals.length - budget.keepRecentDigests);
205
+ const recentLines = terminals
206
+ .slice(cutoff)
207
+ .map((e) => `[seq ${e.seq ?? 0} ${e.name} ${e.state}] ${(e.digest ?? '').slice(0, budget.maxDigestChars)}`);
208
+ let olderLines = terminals
209
+ .slice(0, cutoff)
210
+ .map((e) => `[seq ${e.seq ?? 0} ${e.name} ${e.state}]`);
211
+ const assemble = (older, omitted) => [
212
+ ...actionable,
213
+ ...(omitted > 0 ? [`… ${omitted} earlier steps omitted`] : []),
214
+ ...older,
215
+ ...recentLines,
216
+ ].join('\n');
217
+ let text = assemble(olderLines, 0);
218
+ let omitted = 0;
219
+ while (text.length > budget.maxBoardChars && olderLines.length > 0) {
220
+ olderLines = olderLines.slice(1);
221
+ omitted++;
222
+ text = assemble(olderLines, omitted);
223
+ }
224
+ // GUARANTEED cap (§B): older summaries are now exhausted. The remaining content
225
+ // (protected actionable block + K recent digests + omitted marker) is
226
+ // uncompactable — if it STILL exceeds the cap, do NOT return a lossy board; throw
227
+ // so the controller fails loud / suspends BEFORE the planner call.
228
+ if (text.length > budget.maxBoardChars) {
229
+ throw new BoardOverBudgetError(text.length, budget.maxBoardChars);
230
+ }
231
+ return text;
232
+ }
233
+ //# sourceMappingURL=board.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board.js","sourceRoot":"","sources":["../../../src/smart-agent/controller/board.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAiCrE;;;;uEAIuE;AACvE,MAAM,UAAU,wBAAwB,CACtC,SAA+B;IAE/B,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAC1C,CAAC;IACF,IAAI,IAAI,GAAW,EAAE,CAAC;IACtB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;QACnB,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC;YAClE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI;gBACF,GAAG,IAAI,CAAC;oBACN,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;oBACvC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,iFAAiF;IACnF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,kFAAkF;IAClF,qEAAqE;IACrE,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5D,sFAAsF;IACtF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgB,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,MAAM;gBAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,SAAS;QACxB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IACD,kFAAkF;IAClF,mFAAmF;IACnF,8EAA8E;IAC9E,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,KAAK,aAAa;YAAE,SAAS;QACxD,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QACnC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE;gBACZ,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,KAAK,aAAa;YAAE,SAAS;QACxD,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YACtB,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA4B,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YACtB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,2DAA2D;IAC3D,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,EAC9C,CAAC,CAAC,CACH,CAAC;QACF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,eAAe,GACnB,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;YACtD,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChB,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,gBAAgB,EAChB,eAAe,EACf,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/C,CAAC;QAEF,IAAI,UAAU,GAAG,CAAC;YAAE,SAAS,CAAC,kCAAkC;QAEhE,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,UAAU,CAChD,CAAC;QACF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,KAAK;gBACT,eAAe,EAAE,KAAK,KAAK,WAAW;oBACtC,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,eAAe;oBACrC,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,WAAW,CAAC;YAClB,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;YAC3B,kFAAkF;YAClF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CACnC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACV,CAAC,CAAC,OAAO,KAAK,UAAU;gBACxB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,IAAI,EACV,SAAS,CACV,CAAC;YACF,KAAK,CAAC,GAAG,GAAG,eAAe,EAAE,GAAG,IAAI,eAAe,EAAE,GAAG,CAAC;YACzD,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAc,iBAAiB;aAC1C,KAAK,EAAE;aACP,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC,CAClE;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAsB;YAC5D,QAAQ,EAAE,CAAC,CAAC,OAAO;YACnB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE;YACrC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;SAC5B,CAAC,CAAC,CAAC;QACN,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChD,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;QAC3B,MAAM,MAAM,GAAG,iBAAiB;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC;aAClE,MAAM,CACL,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACV,CAAC,IAAI;YACL,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,EACV,SAAS,CACV,CAAC;QACJ,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;QACvC,KAAK,CAAC,GAAG,GAAG,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC;IACnC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;0DAE0D;AAC1D,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAElC;IACA;IAFX,YACW,QAAgB,EAChB,GAAW;QAEpB,KAAK,CAAC,mBAAmB,QAAQ,kCAAkC,GAAG,GAAG,CAAC,CAAC;QAHlE,aAAQ,GAAR,QAAQ,CAAQ;QAChB,QAAG,GAAH,GAAG,CAAQ;QAGpB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAiBD,MAAM,QAAQ,GAA2B,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEhF;;;;;;;;;;4EAU4E;AAC5E,MAAM,UAAU,mBAAmB,CAAC,CAAc;IAChD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,eAAe,CAAC,wCAAwC,CAAC,GAAG,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,mBAAmB,GACvB,CAAC,CAAC,cAAc,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GACpB,CAAC,CAAC,iBAAiB,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,MAAM,MAAM,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IACjE,IAAI,MAAM,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,qDAAqD,MAAM,YAAY;YACrE,kBAAkB,CAAC,CAAC,aAAa,sCAAsC;YACvE,iEAAiE,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;qDAIqD;AACrD,MAAM,UAAU,WAAW,CACzB,KAA8B,EAC9B,MAAmB;IAEnB,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7C,MAAM,UAAU,GAAG,OAAO;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACrC,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC;QACjC,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC;QACrC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CACnC;SACA,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CACtF,CAAC;IAEJ,MAAM,SAAS,GAAG,OAAO;SACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACpC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,SAAS;SAC1B,KAAK,CAAC,MAAM,CAAC;SACb,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CACjG,CAAC;IACJ,IAAI,UAAU,GAAG,SAAS;SACvB,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;SAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,CAAC,KAAe,EAAE,OAAe,EAAU,EAAE,CAC5D;QACE,GAAG,UAAU;QACb,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,KAAK;QACR,GAAG,WAAW;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEf,IAAI,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnE,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC;QACV,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,gFAAgF;IAChF,sEAAsE;IACtE,kFAAkF;IAClF,mEAAmE;IACnE,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,7 +1,10 @@
1
- import { type CallOptions, type IEmbedder, type IKnowledgeRagHandle, type IRequestLogger, type IStageHandler, type LlmTool, type LlmUsage, type ModelUsageEntry } from '@mcp-abap-adt/llm-agent';
1
+ import { type CallOptions, type IEmbedder, type IKnowledgeRagHandle, type IRequestLogger, type IStageHandler, type KnowledgeEntry, type LlmTool, type LlmUsage, type ModelUsageEntry } from '@mcp-abap-adt/llm-agent';
2
2
  import { type KnowledgeBackend, type PipelineContext } from '@mcp-abap-adt/llm-agent-libs';
3
+ import type { IFinalizer } from './finalizer.js';
4
+ import type { IReviewer } from './reviewer.js';
5
+ import type { RunIdMinter } from './run-scope.js';
3
6
  import type { ISubagentClient } from './subagent-client.js';
4
- import type { ControllerConfig, NextStep } from './types.js';
7
+ import { type ControllerConfig, type NextStep } from './types.js';
5
8
  /** Flat usage triple + per-model breakdown — the canonical terminal-chunk shape. */
6
9
  export type TerminalUsage = LlmUsage & {
7
10
  models?: Record<string, ModelUsageEntry>;
@@ -17,6 +20,8 @@ export declare function makeLogUsage(requestLogger: IRequestLogger, requestId: s
17
20
  evaluator: string;
18
21
  planner: string;
19
22
  executor: string;
23
+ reviewer?: string;
24
+ finalizer?: string;
20
25
  }): (role: string, u?: LlmUsage) => void;
21
26
  export interface ControllerHandlerDeps {
22
27
  evaluator: ISubagentClient;
@@ -44,13 +49,35 @@ export interface ControllerHandlerDeps {
44
49
  */
45
50
  isExternalTool?: (toolName: string) => boolean;
46
51
  config: ControllerConfig;
47
- /** Resolved model id per subagent role, for usage attribution (finalizer uses
48
- * the planner model). */
52
+ /** Resolved model id per subagent role, for usage attribution. reviewer/finalizer
53
+ * fall back to the planner model when their subagent config is absent. */
49
54
  models: {
50
55
  evaluator: string;
51
56
  planner: string;
52
57
  executor: string;
58
+ reviewer?: string;
59
+ finalizer?: string;
53
60
  };
61
+ /** Judge role. Optional; when absent the handler uses a built-in
62
+ * approve-content reviewer (legacy behaviour — every content result is 'ok')
63
+ * so pre-reviewer callers keep working. The factory injects LlmReviewer. */
64
+ reviewer?: IReviewer;
65
+ /** Finalizer role. Optional; when absent the adaptive planner's own finalize is
66
+ * used and the incremental planner's `done.result` is the answer (legacy). */
67
+ finalizer?: IFinalizer;
68
+ /** Injectable runId minter (tests pass a deterministic counter). */
69
+ runIdMinter?: RunIdMinter;
70
+ /** Clock seam (ISO now). Defaults to () => new Date().toISOString(). */
71
+ now?: () => string;
72
+ /** Terminal-store TTL in ms (default 24h). */
73
+ terminalTtlMs?: number;
74
+ /**
75
+ * Optional controller-own skills recall hook. When present it is threaded into
76
+ * the planner, which queries it before each create-plan/replan and injects a
77
+ * bounded "Relevant skills" block into the prompt. Absent → the planner prompt
78
+ * is byte-identical to the agnostic path.
79
+ */
80
+ skillsRecall?: (goal: string, options?: CallOptions) => Promise<string>;
54
81
  }
55
82
  /**
56
83
  * Controller coordinator boundary. Runs a deterministic loop delegating to
@@ -77,11 +104,22 @@ export declare class ControllerCoordinatorHandler implements IStageHandler {
77
104
  constructor(deps: ControllerHandlerDeps);
78
105
  execute(ctx: PipelineContext, _config: Record<string, unknown>, _span: unknown): Promise<boolean>;
79
106
  /** Returns 'advanced' (step succeeded — continue loop), 'failed' (retries/
80
- * tool-call budget exhausted; the failure note is in plannerPrivate so the
81
- * planner can replan), or 'suspended' (external round-trip surfaced — caller
82
- * must return true). */
107
+ * tool-call budget OR reviewer-unverifiable budget exhausted; the failure note
108
+ * is in plannerPrivate so the planner can replan), 'partial' (reviewer approved
109
+ * part, remainder replans), or 'suspended' (external round-trip surfaced — caller
110
+ * must return true). ('aborted' remains in the return union for the caller's
111
+ * guard but is no longer produced here — a judge-failure now degrades to 'failed'
112
+ * rather than aborting the run.) */
83
113
  private runStep;
84
114
  private escalate;
115
+ /** Store-first terminal ERROR: write the terminal outcome to the TTL store
116
+ * FIRST (keyed by runId), THEN flip the bundle terminal and surface the error.
117
+ * Store-first makes the abort idempotent across a crash between the two writes. */
118
+ private abortTerminal;
119
+ private finalize;
120
+ /** Store-first terminal SUCCESS: write the terminal store FIRST, then flip the
121
+ * bundle to terminal and surface the answer (mirror of abortTerminal). */
122
+ private commitTerminalSuccess;
85
123
  private surfaceClarify;
86
124
  private surfaceFinal;
87
125
  private surfaceToolCall;
@@ -96,4 +134,26 @@ export declare function parseNextStep(content: string): NextStep | null;
96
134
  * fences and prose around it. String-aware (braces inside strings don't count).
97
135
  * Returns null if no balanced object is present. */
98
136
  export declare function extractJsonObject(raw: string): string | null;
137
+ /** The ONE run-scoped results-RAG recall primitive — used by BOTH the whole-step
138
+ * recall AND the per-`requires` evidence. EMBEDDING-based similarity via the
139
+ * backend's semantic query (NO homemade lexical scoring): the backend embeds the
140
+ * query + ranks by vector similarity, with the `runId` filter applied PRE-cap.
141
+ * Over-fetch `kPrime` (caller-supplied so the duplication bound is justified PER
142
+ * KIND), then dedup and cap to `k`. Dedup: step-results (have `seq`) →
143
+ * precedence-winner per seq; mcp-results → by `identityKey`. Embedding rank order
144
+ * is preserved through the dedup.
145
+ * `options` is forwarded into the embedder so recall-time embeds are metered. */
146
+ export declare function runScopedRecall(rag: IKnowledgeRagHandle, text: string, k: number, runId: string | undefined, kPrime: number, artifactType: readonly string[], options?: CallOptions): Promise<readonly KnowledgeEntry[]>;
147
+ /** Return the ≤`maxChars` fragment of `content` most similar to `ref` by EMBEDDING
148
+ * (NOT ASCII lexical overlap). DIRECT single-pass ranking: every candidate is
149
+ * scored on its own. The SCORED window IS the RETURNED body: candidates are
150
+ * `body = maxChars - 2` chars (head+tail '…' reserved up front), so the
151
+ * highest-scoring fragment is never truncated by the markers. Stride is 50%
152
+ * overlap, widened to span the whole content within MAX_EXTRACT_WINDOWS windows
153
+ * (point coverage for content ≤ MAX_EXTRACT_WINDOWS×maxChars; larger thins to
154
+ * non-overlapping, best-effort). Embeds are SEQUENTIAL and BOUNDED to ≤
155
+ * MAX_EXTRACT_WINDOWS + 1 — touches NO public embedder API (batch is a deferred
156
+ * optimization). Result STRICTLY ≤ maxChars; tiny maxChars (< 3) → bare slice.
157
+ * The `requires` ref is English (planner invariant) → a normal embedder suffices. */
158
+ export declare function relevantExtract(content: string, ref: string, maxChars: number, embedder: IEmbedder, options?: CallOptions): Promise<string>;
99
159
  //# sourceMappingURL=controller-coordinator-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller-coordinator-handler.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/controller-coordinator-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,EAGlB,KAAK,OAAO,EAEZ,KAAK,QAAQ,EAEb,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAErB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EACV,gBAAgB,EAChB,QAAQ,EAGT,MAAM,YAAY,CAAC;AAYpB,oFAAoF;AACpF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,cAAc,EAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC/D,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAsBtC;AAMD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,eAAe,EAAE,CACf,SAAS,EAAE,MAAM,KACd,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxD;gEAC4D;IAC5D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,sEAAsE;IACtE,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D;;;;;OAKG;IACH,WAAW,EAAE,CACX,KAAK,EAAE,MAAM,EACb,CAAC,CAAC,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;IACjC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,MAAM,EAAE,gBAAgB,CAAC;IACzB;8BAC0B;IAC1B,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,4BAA6B,YAAW,aAAa;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,qBAAqB;IAElD,OAAO,CACX,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC;IAyNnB;;;6BAGyB;YACX,OAAO;YA+MP,QAAQ;IAatB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;CAexB;AAkGD,mEAAmE;AACnE;;;oEAGoE;AACpE,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAe9D;AAED;;qDAEqD;AACrD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwB5D"}
1
+ {"version":3,"file":"controller-coordinator-handler.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/controller/controller-coordinator-handler.ts"],"names":[],"mappings":"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"}