@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.
Files changed (80) hide show
  1. package/dist/adapters/llm-adapter.d.ts.map +1 -1
  2. package/dist/adapters/llm-adapter.js +16 -7
  3. package/dist/adapters/llm-adapter.js.map +1 -1
  4. package/dist/agent/rag-helpers.d.ts +20 -0
  5. package/dist/agent/rag-helpers.d.ts.map +1 -0
  6. package/dist/agent/rag-helpers.js +61 -0
  7. package/dist/agent/rag-helpers.js.map +1 -0
  8. package/dist/agent/rag-orchestrator-types.d.ts +53 -0
  9. package/dist/agent/rag-orchestrator-types.d.ts.map +1 -0
  10. package/dist/agent/rag-orchestrator-types.js +2 -0
  11. package/dist/agent/rag-orchestrator-types.js.map +1 -0
  12. package/dist/agent/rag-orchestrator.d.ts +14 -0
  13. package/dist/agent/rag-orchestrator.d.ts.map +1 -0
  14. package/dist/agent/rag-orchestrator.js +352 -0
  15. package/dist/agent/rag-orchestrator.js.map +1 -0
  16. package/dist/agent.d.ts +11 -9
  17. package/dist/agent.d.ts.map +1 -1
  18. package/dist/agent.js +111 -818
  19. package/dist/agent.js.map +1 -1
  20. package/dist/builder-types.d.ts +64 -0
  21. package/dist/builder-types.d.ts.map +1 -0
  22. package/dist/builder-types.js +18 -0
  23. package/dist/builder-types.js.map +1 -0
  24. package/dist/builder.d.ts +23 -51
  25. package/dist/builder.d.ts.map +1 -1
  26. package/dist/builder.js +69 -224
  27. package/dist/builder.js.map +1 -1
  28. package/dist/coordinator/planning/one-shot.d.ts.map +1 -1
  29. package/dist/coordinator/planning/one-shot.js +13 -2
  30. package/dist/coordinator/planning/one-shot.js.map +1 -1
  31. package/dist/health/agent-health.d.ts +13 -0
  32. package/dist/health/agent-health.d.ts.map +1 -0
  33. package/dist/health/agent-health.js +82 -0
  34. package/dist/health/agent-health.js.map +1 -0
  35. package/dist/health/health-checker.d.ts.map +1 -1
  36. package/dist/health/health-checker.js +4 -4
  37. package/dist/health/health-checker.js.map +1 -1
  38. package/dist/interfaces/pipeline.d.ts +3 -1
  39. package/dist/interfaces/pipeline.d.ts.map +1 -1
  40. package/dist/mcp/tool-registry.d.ts +22 -0
  41. package/dist/mcp/tool-registry.d.ts.map +1 -0
  42. package/dist/mcp/tool-registry.js +57 -0
  43. package/dist/mcp/tool-registry.js.map +1 -0
  44. package/dist/mcp/vectorize-mcp-tools.d.ts +11 -0
  45. package/dist/mcp/vectorize-mcp-tools.d.ts.map +1 -0
  46. package/dist/mcp/vectorize-mcp-tools.js +191 -0
  47. package/dist/mcp/vectorize-mcp-tools.js.map +1 -0
  48. package/dist/pipeline/context.d.ts +3 -1
  49. package/dist/pipeline/context.d.ts.map +1 -1
  50. package/dist/pipeline/default-pipeline.d.ts.map +1 -1
  51. package/dist/pipeline/default-pipeline.js +1 -0
  52. package/dist/pipeline/default-pipeline.js.map +1 -1
  53. package/dist/pipeline/handlers/escalate-if-unavailable.d.ts +33 -0
  54. package/dist/pipeline/handlers/escalate-if-unavailable.d.ts.map +1 -0
  55. package/dist/pipeline/handlers/escalate-if-unavailable.js +22 -0
  56. package/dist/pipeline/handlers/escalate-if-unavailable.js.map +1 -0
  57. package/dist/pipeline/handlers/pass-through.d.ts +3 -0
  58. package/dist/pipeline/handlers/pass-through.d.ts.map +1 -0
  59. package/dist/pipeline/handlers/pass-through.js +77 -0
  60. package/dist/pipeline/handlers/pass-through.js.map +1 -0
  61. package/dist/pipeline/handlers/tool-loop-core.d.ts +92 -0
  62. package/dist/pipeline/handlers/tool-loop-core.d.ts.map +1 -0
  63. package/dist/pipeline/handlers/tool-loop-core.js +269 -0
  64. package/dist/pipeline/handlers/tool-loop-core.js.map +1 -0
  65. package/dist/pipeline/handlers/tool-loop.d.ts.map +1 -1
  66. package/dist/pipeline/handlers/tool-loop.js +67 -216
  67. package/dist/pipeline/handlers/tool-loop.js.map +1 -1
  68. package/dist/pipeline/pipeline-to-stream.d.ts +5 -0
  69. package/dist/pipeline/pipeline-to-stream.d.ts.map +1 -0
  70. package/dist/pipeline/pipeline-to-stream.js +49 -0
  71. package/dist/pipeline/pipeline-to-stream.js.map +1 -0
  72. package/dist/skills/plugin-host/github-transport.d.ts +35 -0
  73. package/dist/skills/plugin-host/github-transport.d.ts.map +1 -0
  74. package/dist/skills/plugin-host/github-transport.js +124 -0
  75. package/dist/skills/plugin-host/github-transport.js.map +1 -0
  76. package/dist/skills/plugin-host/index.d.ts +1 -0
  77. package/dist/skills/plugin-host/index.d.ts.map +1 -1
  78. package/dist/skills/plugin-host/index.js +1 -0
  79. package/dist/skills/plugin-host/index.js.map +1 -1
  80. 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, isBatchEmbedder, QueryEmbedding, SimpleRagProviderRegistry, SimpleRagRegistry, } from '@mcp-abap-adt/llm-agent';
16
- import { MCPClientWrapper, McpClientAdapter, } from '@mcp-abap-adt/llm-agent-mcp';
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
- // SmartAgentBuilder
33
+ // Helpers
32
34
  // ---------------------------------------------------------------------------
33
- function isModelProvider(obj) {
34
- return (obj !== null &&
35
- typeof obj === 'object' &&
36
- typeof obj.getModels === 'function' &&
37
- typeof obj.getModel === 'function');
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
- const connectionStrategy = this._connectionStrategy;
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
- const mcpList = this.cfg.mcp
643
- ? Array.isArray(this.cfg.mcp)
644
- ? this.cfg.mcp
645
- : [this.cfg.mcp]
646
- : [];
647
- const connected = [];
648
- for (const mcpCfg of mcpList) {
649
- try {
650
- let wrapper;
651
- if (mcpCfg.type === 'stdio') {
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
- mcpClients = connected;
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
- const skillsResult = await this._skillManager.listSkills();
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 ------------------------------------
@@ -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;IAkG/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"}
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":"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"}
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"}