@mcp-abap-adt/llm-agent-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.
- package/dist/adapters/llm-adapter.d.ts.map +1 -1
- package/dist/adapters/llm-adapter.js +16 -7
- package/dist/adapters/llm-adapter.js.map +1 -1
- package/dist/agent/rag-helpers.d.ts +20 -0
- package/dist/agent/rag-helpers.d.ts.map +1 -0
- package/dist/agent/rag-helpers.js +61 -0
- package/dist/agent/rag-helpers.js.map +1 -0
- package/dist/agent/rag-orchestrator-types.d.ts +53 -0
- package/dist/agent/rag-orchestrator-types.d.ts.map +1 -0
- package/dist/agent/rag-orchestrator-types.js +2 -0
- package/dist/agent/rag-orchestrator-types.js.map +1 -0
- package/dist/agent/rag-orchestrator.d.ts +14 -0
- package/dist/agent/rag-orchestrator.d.ts.map +1 -0
- package/dist/agent/rag-orchestrator.js +352 -0
- package/dist/agent/rag-orchestrator.js.map +1 -0
- package/dist/agent.d.ts +11 -9
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +111 -818
- package/dist/agent.js.map +1 -1
- package/dist/builder-types.d.ts +64 -0
- package/dist/builder-types.d.ts.map +1 -0
- package/dist/builder-types.js +18 -0
- package/dist/builder-types.js.map +1 -0
- package/dist/builder.d.ts +23 -51
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +69 -224
- package/dist/builder.js.map +1 -1
- package/dist/coordinator/planning/one-shot.d.ts.map +1 -1
- package/dist/coordinator/planning/one-shot.js +13 -2
- package/dist/coordinator/planning/one-shot.js.map +1 -1
- package/dist/health/agent-health.d.ts +13 -0
- package/dist/health/agent-health.d.ts.map +1 -0
- package/dist/health/agent-health.js +82 -0
- package/dist/health/agent-health.js.map +1 -0
- package/dist/health/health-checker.d.ts.map +1 -1
- package/dist/health/health-checker.js +4 -4
- package/dist/health/health-checker.js.map +1 -1
- package/dist/interfaces/pipeline.d.ts +3 -1
- package/dist/interfaces/pipeline.d.ts.map +1 -1
- package/dist/mcp/tool-registry.d.ts +22 -0
- package/dist/mcp/tool-registry.d.ts.map +1 -0
- package/dist/mcp/tool-registry.js +57 -0
- package/dist/mcp/tool-registry.js.map +1 -0
- package/dist/mcp/vectorize-mcp-tools.d.ts +11 -0
- package/dist/mcp/vectorize-mcp-tools.d.ts.map +1 -0
- package/dist/mcp/vectorize-mcp-tools.js +191 -0
- package/dist/mcp/vectorize-mcp-tools.js.map +1 -0
- package/dist/pipeline/context.d.ts +3 -1
- package/dist/pipeline/context.d.ts.map +1 -1
- package/dist/pipeline/default-pipeline.d.ts.map +1 -1
- package/dist/pipeline/default-pipeline.js +1 -0
- package/dist/pipeline/default-pipeline.js.map +1 -1
- package/dist/pipeline/handlers/escalate-if-unavailable.d.ts +33 -0
- package/dist/pipeline/handlers/escalate-if-unavailable.d.ts.map +1 -0
- package/dist/pipeline/handlers/escalate-if-unavailable.js +22 -0
- package/dist/pipeline/handlers/escalate-if-unavailable.js.map +1 -0
- package/dist/pipeline/handlers/pass-through.d.ts +3 -0
- package/dist/pipeline/handlers/pass-through.d.ts.map +1 -0
- package/dist/pipeline/handlers/pass-through.js +77 -0
- package/dist/pipeline/handlers/pass-through.js.map +1 -0
- package/dist/pipeline/handlers/tool-loop-core.d.ts +92 -0
- package/dist/pipeline/handlers/tool-loop-core.d.ts.map +1 -0
- package/dist/pipeline/handlers/tool-loop-core.js +269 -0
- package/dist/pipeline/handlers/tool-loop-core.js.map +1 -0
- package/dist/pipeline/handlers/tool-loop.d.ts.map +1 -1
- package/dist/pipeline/handlers/tool-loop.js +67 -216
- package/dist/pipeline/handlers/tool-loop.js.map +1 -1
- package/dist/pipeline/pipeline-to-stream.d.ts +5 -0
- package/dist/pipeline/pipeline-to-stream.d.ts.map +1 -0
- package/dist/pipeline/pipeline-to-stream.js +49 -0
- package/dist/pipeline/pipeline-to-stream.js.map +1 -0
- package/dist/skills/plugin-host/github-transport.d.ts +35 -0
- package/dist/skills/plugin-host/github-transport.d.ts.map +1 -0
- package/dist/skills/plugin-host/github-transport.js +124 -0
- package/dist/skills/plugin-host/github-transport.js.map +1 -0
- package/dist/skills/plugin-host/index.d.ts +1 -0
- package/dist/skills/plugin-host/index.d.ts.map +1 -1
- package/dist/skills/plugin-host/index.js +1 -0
- package/dist/skills/plugin-host/index.js.map +1 -1
- package/package.json +14 -14
package/dist/builder.js
CHANGED
|
@@ -12,30 +12,41 @@
|
|
|
12
12
|
* .setToolsRag(myRag)
|
|
13
13
|
* .build();
|
|
14
14
|
*/
|
|
15
|
-
import { CircuitBreaker, CircuitBreakerLlm, FallbackRag, InMemoryRag,
|
|
16
|
-
import {
|
|
15
|
+
import { CircuitBreaker, CircuitBreakerLlm, FallbackRag, InMemoryRag, QueryEmbedding, SimpleRagProviderRegistry, SimpleRagRegistry, } from '@mcp-abap-adt/llm-agent';
|
|
16
|
+
import { makeConnectionStrategy } from '@mcp-abap-adt/llm-agent-mcp';
|
|
17
17
|
import { wrapEmbedder } from './adapters/usage-logging-embedder.js';
|
|
18
18
|
import { SmartAgent } from './agent.js';
|
|
19
|
+
import { isModelProvider } from './builder-types.js';
|
|
19
20
|
import { LlmClassifier, } from './classifier/llm-classifier.js';
|
|
20
21
|
import { ContextAssembler, } from './context/context-assembler.js';
|
|
21
22
|
import { ExplicitActivation, HybridDispatch, OneShotPlanning, SelfDispatch, SubAgentDispatch, } from './coordinator/index.js';
|
|
22
23
|
import { HistoryMemory } from './history/history-memory.js';
|
|
23
24
|
import { HistorySummarizer } from './history/history-summarizer.js';
|
|
24
25
|
import { DefaultRequestLogger } from './logger/default-request-logger.js';
|
|
26
|
+
import { vectorizeMcpTools, vectorizeSkills, } from './mcp/vectorize-mcp-tools.js';
|
|
25
27
|
import { DefaultPipeline } from './pipeline/default-pipeline.js';
|
|
26
28
|
import { RateLimiterLlm } from './resilience/rate-limiter-llm.js';
|
|
27
29
|
import { RetryLlm } from './resilience/retry-llm.js';
|
|
28
30
|
import { DefaultSubAgentContextBuilder, } from './subagent/default-context-builder.js';
|
|
29
31
|
import { SmartAgentSubAgent } from './subagent/smart-agent-subagent.js';
|
|
30
32
|
// ---------------------------------------------------------------------------
|
|
31
|
-
//
|
|
33
|
+
// Helpers
|
|
32
34
|
// ---------------------------------------------------------------------------
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Assemble the {@link McpConnectionConfig} array from the builder's `mcp`
|
|
37
|
+
* config and attach an optional {@link IMcpRequestHeadersStrategy} to each
|
|
38
|
+
* entry. Exported for unit-testing; not part of the public package barrel.
|
|
39
|
+
*/
|
|
40
|
+
export function prepareMcpConfigs(mcp, requestHeadersStrategy) {
|
|
41
|
+
const configs = (mcp ? (Array.isArray(mcp) ? mcp : [mcp]) : []);
|
|
42
|
+
if (requestHeadersStrategy === undefined) {
|
|
43
|
+
return configs;
|
|
44
|
+
}
|
|
45
|
+
return configs.map((c) => ({ ...c, requestHeadersStrategy }));
|
|
38
46
|
}
|
|
47
|
+
// ---------------------------------------------------------------------------
|
|
48
|
+
// SmartAgentBuilder
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
39
50
|
export class SmartAgentBuilder {
|
|
40
51
|
cfg;
|
|
41
52
|
// All components injected via fluent setters
|
|
@@ -70,6 +81,8 @@ export class SmartAgentBuilder {
|
|
|
70
81
|
_embedder;
|
|
71
82
|
_toolSelectionStrategy;
|
|
72
83
|
_connectionStrategy;
|
|
84
|
+
_mcpRequestHeadersStrategy;
|
|
85
|
+
_mcpFailureClassifier;
|
|
73
86
|
_subAgents;
|
|
74
87
|
_coordinator;
|
|
75
88
|
_dagCoordinator;
|
|
@@ -264,6 +277,21 @@ export class SmartAgentBuilder {
|
|
|
264
277
|
this._connectionStrategy = strategy;
|
|
265
278
|
return this;
|
|
266
279
|
}
|
|
280
|
+
/** Attach a consumer-owned headers strategy to every MCP connection the
|
|
281
|
+
* builder assembles from the `mcp:` config. The strategy is propagated to
|
|
282
|
+
* each {@link McpConnectionConfig} entry so the MCP transport can merge the
|
|
283
|
+
* returned headers into its request init. Default = no-op (nothing attached). */
|
|
284
|
+
withMcpRequestHeadersStrategy(strategy) {
|
|
285
|
+
this._mcpRequestHeadersStrategy = strategy;
|
|
286
|
+
return this;
|
|
287
|
+
}
|
|
288
|
+
/** Inject a custom MCP failure classifier. The classifier decides whether a
|
|
289
|
+
* failed tool-call result is an availability escalation (fail loud) or a
|
|
290
|
+
* tool-level error (LLM feedback). Default: DefaultMcpFailureClassifier. */
|
|
291
|
+
withMcpFailureClassifier(classifier) {
|
|
292
|
+
this._mcpFailureClassifier = classifier;
|
|
293
|
+
return this;
|
|
294
|
+
}
|
|
267
295
|
/** Override the history summarizer used for semantic history compression. */
|
|
268
296
|
withHistorySummarizer(summarizer) {
|
|
269
297
|
this._historySummarizer = summarizer;
|
|
@@ -548,7 +576,17 @@ export class SmartAgentBuilder {
|
|
|
548
576
|
ragRegistry.setProviderRegistry(ragProviderRegistry);
|
|
549
577
|
}
|
|
550
578
|
// Register user-supplied static collections (from addRagCollection fluent calls).
|
|
579
|
+
// Duplicate names fail loud via SimpleRagRegistry.register — EXCEPT collections
|
|
580
|
+
// that explicitly opted into idempotency. The RAG registry is shared across
|
|
581
|
+
// per-session builds, so a caller that re-runs every build (skills wiring,
|
|
582
|
+
// `relevant-skills:<group>` from registerSkillSources) would otherwise throw
|
|
583
|
+
// `Collection '...' is already registered` on the 2nd session; those set
|
|
584
|
+
// `idempotent: true` and are skipped when already present. Ordinary callers
|
|
585
|
+
// leave it unset so a genuine name collision still surfaces instead of
|
|
586
|
+
// silently keeping the old RAG/editor/meta.
|
|
551
587
|
for (const c of this._staticCollections) {
|
|
588
|
+
if (c.idempotent && ragRegistry.get(c.name))
|
|
589
|
+
continue;
|
|
552
590
|
ragRegistry.register(c.name, c.rag, c.editor, c.meta);
|
|
553
591
|
}
|
|
554
592
|
// Mirror the built-in toolsRag / historyRag into the registry so the projection preserves
|
|
@@ -633,198 +671,28 @@ export class SmartAgentBuilder {
|
|
|
633
671
|
// ---- MCP clients + tool vectorization --------------------------------
|
|
634
672
|
let mcpClients;
|
|
635
673
|
const closeFns = [];
|
|
636
|
-
|
|
674
|
+
let connectionStrategy = this._connectionStrategy;
|
|
637
675
|
if (this._mcpClients) {
|
|
638
676
|
// Caller-provided clients: skip auto-connect and vectorization
|
|
639
677
|
mcpClients = this._mcpClients;
|
|
640
678
|
}
|
|
641
679
|
else {
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
wrapper = new MCPClientWrapper({
|
|
653
|
-
transport: 'stdio',
|
|
654
|
-
command: mcpCfg.command,
|
|
655
|
-
args: mcpCfg.args ?? [],
|
|
656
|
-
});
|
|
657
|
-
}
|
|
658
|
-
else {
|
|
659
|
-
wrapper = new MCPClientWrapper({
|
|
660
|
-
transport: 'auto',
|
|
661
|
-
url: mcpCfg.url,
|
|
662
|
-
headers: mcpCfg.headers,
|
|
663
|
-
});
|
|
664
|
-
}
|
|
665
|
-
await wrapper.connect();
|
|
666
|
-
const adapter = new McpClientAdapter(wrapper);
|
|
667
|
-
log?.log({
|
|
668
|
-
type: 'pipeline_done',
|
|
669
|
-
traceId: 'builder',
|
|
670
|
-
stopReason: 'stop',
|
|
671
|
-
iterations: 0,
|
|
672
|
-
toolCallCount: 0,
|
|
673
|
-
durationMs: 0,
|
|
674
|
-
});
|
|
675
|
-
// Vectorize tools into the tools RAG store
|
|
676
|
-
if (toolsRag) {
|
|
677
|
-
const toolsResult = await adapter.listTools();
|
|
678
|
-
if (toolsResult.ok) {
|
|
679
|
-
const tools = toolsResult.value;
|
|
680
|
-
// Try to access the embedder from the store for batch embedding.
|
|
681
|
-
// VectorRag and QdrantRag store their embedder as a private field.
|
|
682
|
-
// biome-ignore lint/suspicious/noExplicitAny: accessing private embedder for batch optimization
|
|
683
|
-
const storeEmbedder = toolsRag.embedder;
|
|
684
|
-
if (storeEmbedder &&
|
|
685
|
-
isBatchEmbedder(storeEmbedder) &&
|
|
686
|
-
toolsRag.writer?.()?.upsertPrecomputedRaw !== undefined) {
|
|
687
|
-
// Batch path: single HTTP call for all tools
|
|
688
|
-
const texts = tools.map((t) => `Tool: ${t.name} — ${t.description}`);
|
|
689
|
-
const batchStart = Date.now();
|
|
690
|
-
try {
|
|
691
|
-
const embedResults = await storeEmbedder.embedBatch(texts);
|
|
692
|
-
const batchDuration = Date.now() - batchStart;
|
|
693
|
-
for (let i = 0; i < tools.length; i++) {
|
|
694
|
-
const toolWriter = toolsRag.writer?.();
|
|
695
|
-
const result = toolWriter?.upsertPrecomputedRaw
|
|
696
|
-
? await toolWriter.upsertPrecomputedRaw(`tool:${tools[i].name}`, texts[i], embedResults[i].vector, {})
|
|
697
|
-
: toolWriter
|
|
698
|
-
? await toolWriter.upsertRaw(`tool:${tools[i].name}`, texts[i], {})
|
|
699
|
-
: { ok: true, value: undefined };
|
|
700
|
-
if (!result.ok) {
|
|
701
|
-
log?.log({
|
|
702
|
-
type: 'warning',
|
|
703
|
-
traceId: 'builder',
|
|
704
|
-
message: `Tool vectorization failed for "${tools[i].name}": ${result.error.message}`,
|
|
705
|
-
});
|
|
706
|
-
}
|
|
707
|
-
}
|
|
708
|
-
const realUsage = embedResults.reduce((acc, r) => {
|
|
709
|
-
if (!r.usage)
|
|
710
|
-
return acc;
|
|
711
|
-
return {
|
|
712
|
-
promptTokens: (acc?.promptTokens ?? 0) + r.usage.promptTokens,
|
|
713
|
-
totalTokens: (acc?.totalTokens ?? 0) + r.usage.totalTokens,
|
|
714
|
-
};
|
|
715
|
-
}, null);
|
|
716
|
-
const totalEstTokens = texts.reduce((sum, t) => sum + Math.ceil(t.length / 4), 0);
|
|
717
|
-
requestLogger.logLlmCall({
|
|
718
|
-
component: 'embedding',
|
|
719
|
-
model: 'embedder',
|
|
720
|
-
promptTokens: realUsage?.promptTokens ?? totalEstTokens,
|
|
721
|
-
completionTokens: 0,
|
|
722
|
-
totalTokens: realUsage?.totalTokens ?? totalEstTokens,
|
|
723
|
-
durationMs: batchDuration,
|
|
724
|
-
estimated: realUsage === null,
|
|
725
|
-
scope: 'initialization',
|
|
726
|
-
detail: 'tools',
|
|
727
|
-
});
|
|
728
|
-
}
|
|
729
|
-
catch (err) {
|
|
730
|
-
log?.log({
|
|
731
|
-
type: 'warning',
|
|
732
|
-
traceId: 'builder',
|
|
733
|
-
message: `Batch embedding failed, falling back to sequential: ${String(err)}`,
|
|
734
|
-
});
|
|
735
|
-
// Fallback to sequential
|
|
736
|
-
const batchSize = 5;
|
|
737
|
-
const batchDelayMs = 500;
|
|
738
|
-
for (let i = 0; i < tools.length; i++) {
|
|
739
|
-
const t = tools[i];
|
|
740
|
-
const text = `Tool: ${t.name} — ${t.description}`;
|
|
741
|
-
const embedStart = Date.now();
|
|
742
|
-
const result = await toolsRag
|
|
743
|
-
.writer?.()
|
|
744
|
-
?.upsertRaw(`tool:${t.name}`, text, {});
|
|
745
|
-
if (result && !result.ok) {
|
|
746
|
-
log?.log({
|
|
747
|
-
type: 'warning',
|
|
748
|
-
traceId: 'builder',
|
|
749
|
-
message: `Tool vectorization failed for "${t.name}": ${result.error.message}`,
|
|
750
|
-
});
|
|
751
|
-
}
|
|
752
|
-
else {
|
|
753
|
-
requestLogger.logLlmCall({
|
|
754
|
-
component: 'embedding',
|
|
755
|
-
model: 'embedder',
|
|
756
|
-
promptTokens: Math.ceil(text.length / 4),
|
|
757
|
-
completionTokens: 0,
|
|
758
|
-
totalTokens: Math.ceil(text.length / 4),
|
|
759
|
-
durationMs: Date.now() - embedStart,
|
|
760
|
-
estimated: true,
|
|
761
|
-
scope: 'initialization',
|
|
762
|
-
detail: 'tools',
|
|
763
|
-
});
|
|
764
|
-
}
|
|
765
|
-
if ((i + 1) % batchSize === 0 && i < tools.length - 1) {
|
|
766
|
-
await new Promise((r) => setTimeout(r, batchDelayMs));
|
|
767
|
-
}
|
|
768
|
-
}
|
|
769
|
-
}
|
|
770
|
-
}
|
|
771
|
-
else {
|
|
772
|
-
// Sequential path (no batch support)
|
|
773
|
-
const batchSize = 5;
|
|
774
|
-
const batchDelayMs = 500;
|
|
775
|
-
for (let i = 0; i < tools.length; i++) {
|
|
776
|
-
const t = tools[i];
|
|
777
|
-
const text = `Tool: ${t.name} — ${t.description}`;
|
|
778
|
-
const embedStart = Date.now();
|
|
779
|
-
const result = await toolsRag
|
|
780
|
-
.writer?.()
|
|
781
|
-
?.upsertRaw(`tool:${t.name}`, text, {});
|
|
782
|
-
if (result && !result.ok) {
|
|
783
|
-
log?.log({
|
|
784
|
-
type: 'warning',
|
|
785
|
-
traceId: 'builder',
|
|
786
|
-
message: `Tool vectorization failed for "${t.name}": ${result.error.message}`,
|
|
787
|
-
});
|
|
788
|
-
}
|
|
789
|
-
else {
|
|
790
|
-
requestLogger.logLlmCall({
|
|
791
|
-
component: 'embedding',
|
|
792
|
-
model: 'embedder',
|
|
793
|
-
promptTokens: Math.ceil(text.length / 4),
|
|
794
|
-
completionTokens: 0,
|
|
795
|
-
totalTokens: Math.ceil(text.length / 4),
|
|
796
|
-
durationMs: Date.now() - embedStart,
|
|
797
|
-
estimated: true,
|
|
798
|
-
scope: 'initialization',
|
|
799
|
-
detail: 'tools',
|
|
800
|
-
});
|
|
801
|
-
}
|
|
802
|
-
if ((i + 1) % batchSize === 0 && i < tools.length - 1) {
|
|
803
|
-
await new Promise((r) => setTimeout(r, batchDelayMs));
|
|
804
|
-
}
|
|
805
|
-
}
|
|
806
|
-
}
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
|
-
connected.push(adapter);
|
|
810
|
-
closeFns.push(() => wrapper.disconnect?.() ?? Promise.resolve());
|
|
811
|
-
}
|
|
812
|
-
catch (err) {
|
|
813
|
-
// Skip failed MCP setup — agent continues without that server, but
|
|
814
|
-
// surface why: silently swallowing this leaves operators chasing
|
|
815
|
-
// "agent has no tools" with no log line to point at the cause
|
|
816
|
-
// (unreachable host, bad auth, container-network mismatch, etc.).
|
|
817
|
-
// Note: this try-block also covers tool/skill vectorization, so the
|
|
818
|
-
// failure could be either connect or post-connect setup.
|
|
819
|
-
const target = mcpCfg.type === 'stdio' ? mcpCfg.command : mcpCfg.url;
|
|
820
|
-
log?.log({
|
|
821
|
-
type: 'warning',
|
|
822
|
-
traceId: 'builder',
|
|
823
|
-
message: `MCP setup failed for ${target}: ${err instanceof Error ? err.message : String(err)}`,
|
|
824
|
-
});
|
|
825
|
-
}
|
|
680
|
+
// YAML `mcp:` → route connection through an IMcpConnectionStrategy
|
|
681
|
+
// (build-on-components). Default to a resilient `makeConnectionStrategy`
|
|
682
|
+
// (connect + periodic reconnect + readiness via IReadinessReporter) unless
|
|
683
|
+
// the consumer injected their own. The strategy OWNS lifecycle: its initial
|
|
684
|
+
// `resolve([])` connects the targets and the agent resolves through it each
|
|
685
|
+
// iteration; disposal is `connectionStrategy.dispose()` (no per-client
|
|
686
|
+
// closeFns). `BuilderMcpConfig` is structurally `McpConnectionConfig`.
|
|
687
|
+
const mcpConfigs = prepareMcpConfigs(this.cfg.mcp, this._mcpRequestHeadersStrategy);
|
|
688
|
+
if (mcpConfigs.length > 0 && !connectionStrategy) {
|
|
689
|
+
connectionStrategy = makeConnectionStrategy(mcpConfigs, log ? { logger: log } : undefined);
|
|
826
690
|
}
|
|
827
|
-
|
|
691
|
+
const resolved = connectionStrategy
|
|
692
|
+
? await connectionStrategy.resolve([])
|
|
693
|
+
: { clients: [], toolsChanged: false };
|
|
694
|
+
mcpClients = resolved.clients;
|
|
695
|
+
await vectorizeMcpTools(mcpClients, toolsRag, requestLogger, log);
|
|
828
696
|
}
|
|
829
697
|
// ---- SmartAgent Config ------------------------------------------------
|
|
830
698
|
const agentCfg = {
|
|
@@ -917,36 +785,7 @@ export class SmartAgentBuilder {
|
|
|
917
785
|
}
|
|
918
786
|
// ---- Skill vectorization (optional) ------------------------------------
|
|
919
787
|
if (this._skillManager && toolsRag) {
|
|
920
|
-
|
|
921
|
-
if (skillsResult.ok) {
|
|
922
|
-
for (const s of skillsResult.value) {
|
|
923
|
-
const text = `Skill: ${s.name}\n${s.description}`;
|
|
924
|
-
const embedStart = Date.now();
|
|
925
|
-
const result = await toolsRag
|
|
926
|
-
.writer?.()
|
|
927
|
-
?.upsertRaw(`skill:${s.name}`, text, {});
|
|
928
|
-
if (result && !result.ok) {
|
|
929
|
-
log?.log({
|
|
930
|
-
type: 'warning',
|
|
931
|
-
traceId: 'builder',
|
|
932
|
-
message: `Skill vectorization failed for "${s.name}": ${result.error.message}`,
|
|
933
|
-
});
|
|
934
|
-
}
|
|
935
|
-
else {
|
|
936
|
-
requestLogger.logLlmCall({
|
|
937
|
-
component: 'embedding',
|
|
938
|
-
model: 'embedder',
|
|
939
|
-
promptTokens: Math.ceil(text.length / 4),
|
|
940
|
-
completionTokens: 0,
|
|
941
|
-
totalTokens: Math.ceil(text.length / 4),
|
|
942
|
-
durationMs: Date.now() - embedStart,
|
|
943
|
-
estimated: true,
|
|
944
|
-
scope: 'initialization',
|
|
945
|
-
detail: 'skills',
|
|
946
|
-
});
|
|
947
|
-
}
|
|
948
|
-
}
|
|
949
|
-
}
|
|
788
|
+
await vectorizeSkills(this._skillManager, toolsRag, requestLogger, log);
|
|
950
789
|
}
|
|
951
790
|
// ---- Pipeline initialization -------------------------------------------
|
|
952
791
|
let resolvedCoordinator;
|
|
@@ -1007,6 +846,9 @@ export class SmartAgentBuilder {
|
|
|
1007
846
|
historySummarizer,
|
|
1008
847
|
llmCallStrategy: this._llmCallStrategy,
|
|
1009
848
|
agentConfig: agentCfg,
|
|
849
|
+
...(this._mcpFailureClassifier
|
|
850
|
+
? { mcpFailureClassifier: this._mcpFailureClassifier }
|
|
851
|
+
: {}),
|
|
1010
852
|
});
|
|
1011
853
|
const agent = new SmartAgent({
|
|
1012
854
|
mainLlm: wrappedMainLlm,
|
|
@@ -1048,6 +890,9 @@ export class SmartAgentBuilder {
|
|
|
1048
890
|
? { llmCallStrategy: this._llmCallStrategy }
|
|
1049
891
|
: {}),
|
|
1050
892
|
...(translateQueryStores.size > 0 ? { translateQueryStores } : {}),
|
|
893
|
+
...(this._mcpFailureClassifier
|
|
894
|
+
? { mcpFailureClassifier: this._mcpFailureClassifier }
|
|
895
|
+
: {}),
|
|
1051
896
|
requestLogger,
|
|
1052
897
|
}, agentCfg);
|
|
1053
898
|
// ---- Model provider auto-detection ------------------------------------
|
package/dist/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"one-shot.d.ts","sourceRoot":"","sources":["../../../src/coordinator/planning/one-shot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,IAAI,EACJ,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,UAAU,EACX,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,qBAAa,eAAgB,YAAW,iBAAiB;IAG3C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,QAAQ,CAAC,IAAI,cAAc;gBAEE,UAAU,EAAE,IAAI;IAEvC,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"one-shot.d.ts","sourceRoot":"","sources":["../../../src/coordinator/planning/one-shot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,IAAI,EACJ,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,UAAU,EACX,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,qBAAa,eAAgB,YAAW,iBAAiB;IAG3C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,QAAQ,CAAC,IAAI,cAAc;gBAEE,UAAU,EAAE,IAAI;IAEvC,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8G/D,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,GAAG,OAAO;IAInE,WAAW,CACf,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC;CAOjB"}
|
|
@@ -15,6 +15,17 @@ export class OneShotPlanning {
|
|
|
15
15
|
const skillBlock = ctx.skillContent
|
|
16
16
|
? `\n\nApplicable skill instructions:\n${ctx.skillContent}\n`
|
|
17
17
|
: '';
|
|
18
|
+
// Agnostic capability signal (NOT a tool catalogue): when the request will be
|
|
19
|
+
// executed against a system that has tools, the planner must know that each
|
|
20
|
+
// dispatched step's executor CAN read from / act on that system — otherwise a
|
|
21
|
+
// tool-blind planner gates with "please paste the table/source", which the
|
|
22
|
+
// executor could have obtained itself. We gate on the PRESENCE of selected
|
|
23
|
+
// tools, never their names: the planner stays MCP-agnostic and authors intent
|
|
24
|
+
// ("read the structure of table X") — the executor picks and calls the tool.
|
|
25
|
+
const hasTools = (ctx.selectedTools?.length ?? 0) > 0;
|
|
26
|
+
const toolCapabilityBlock = hasTools
|
|
27
|
+
? `\nEach dispatched step's executor has access to tools that can inspect and act on the target system (read objects and their definitions/structure, search the namespace, and create or modify artifacts). When the request needs data or actions such tools can perform, author a step that performs it — e.g. "read the structure of table X" — and do NOT ask the user to paste or supply material the executor could obtain itself. Never name specific tools; describe the action in plain terms.\n`
|
|
28
|
+
: '';
|
|
18
29
|
const systemPrompt = `You are a planner. Decompose the user request into ordered steps.
|
|
19
30
|
The dispatched executor sees ONLY the step you author (its "goal" plus the shared
|
|
20
31
|
"objective", and the user's input as delimited data when you set "needsInput").
|
|
@@ -22,8 +33,8 @@ It never sees the raw user request as an instruction. So set "needsInput": true
|
|
|
22
33
|
any step that must act on the user's provided material (text to summarize, code to
|
|
23
34
|
review, etc.).
|
|
24
35
|
Emit a plan-level "objective" (the shared purpose) so all steps stay aligned.
|
|
25
|
-
For each step, choose the best agent from the list (or omit "agent" if no specialist fits)
|
|
26
|
-
If the request is too ambiguous to plan, respond with ONLY {"clarification":"<your question>"}.
|
|
36
|
+
For each step, choose the best agent from the list (or omit "agent" if no specialist fits).${toolCapabilityBlock}
|
|
37
|
+
If the request is too ambiguous to plan, respond with ONLY {"clarification":"<your question>"}. Reserve clarification for genuinely ambiguous intent — NOT for data a dispatched step could read from the target system.
|
|
27
38
|
If the request needs no decomposition (it can be answered directly without breaking it into steps), return an empty steps array: {"steps":[]}.
|
|
28
39
|
Otherwise respond with ONLY a JSON object of shape:
|
|
29
40
|
{"objective":"...","steps":[{"id":"step-1","goal":"...","agent":"optional-name","needsInput":false}],"rationale":"..."}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"one-shot.js","sourceRoot":"","sources":["../../../src/coordinator/planning/one-shot.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,OAAO,eAAe;IAGG;IAFpB,IAAI,GAAG,UAAU,CAAC;IAE3B,YAA6B,UAAgB;QAAhB,eAAU,GAAV,UAAU,CAAM;IAAG,CAAC;IAEjD,KAAK,CAAC,gBAAgB,CAAC,GAAwB;QAC7C,MAAM,WAAW,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC5C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;aACvE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY;YACjC,CAAC,CAAC,uCAAuC,GAAG,CAAC,YAAY,IAAI;YAC7D,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"one-shot.js","sourceRoot":"","sources":["../../../src/coordinator/planning/one-shot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CallOptions, ILlm, IMcpClient, IRag } from '@mcp-abap-adt/llm-agent';
|
|
2
|
+
export interface AgentHealthSnapshot {
|
|
3
|
+
llm: boolean;
|
|
4
|
+
rag: boolean;
|
|
5
|
+
mcp: {
|
|
6
|
+
name: string;
|
|
7
|
+
ok: boolean;
|
|
8
|
+
error?: string;
|
|
9
|
+
}[];
|
|
10
|
+
}
|
|
11
|
+
export type IAgentHealthProbe = (mainLlm: ILlm, ragStores: Record<string, IRag>, activeClients: IMcpClient[], options: CallOptions) => Promise<AgentHealthSnapshot>;
|
|
12
|
+
export declare const buildAgentHealthSnapshot: IAgentHealthProbe;
|
|
13
|
+
//# sourceMappingURL=agent-health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-health.d.ts","sourceRoot":"","sources":["../../src/health/agent-health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,IAAI,EACJ,UAAU,EACV,IAAI,EACL,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACtD;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAC/B,aAAa,EAAE,UAAU,EAAE,EAC3B,OAAO,EAAE,WAAW,KACjB,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAElC,eAAO,MAAM,wBAAwB,EAAE,iBAwFtC,CAAC"}
|