@onivoro/server-mcp-llm-adapter 24.38.1 → 24.39.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/README.md CHANGED
@@ -10,8 +10,8 @@ npm install @onivoro/server-mcp-llm-adapter
10
10
 
11
11
  ### Peer dependencies
12
12
 
13
- | Package | Version |
14
- |---------|---------|
13
+ | Package | Version |
14
+ | ---------------- | ---------------------- |
15
15
  | `@nestjs/common` | `^10.0.0 \|\| ^11.0.0` |
16
16
 
17
17
  `@onivoro/server-mcp` is a hard dependency — installed automatically.
@@ -20,27 +20,27 @@ npm install @onivoro/server-mcp-llm-adapter
20
20
 
21
21
  Configs map to **the API you are calling**, not the model or hosting platform. A model hosted on AWS Bedrock can be called through different APIs, each with its own tool format.
22
22
 
23
- | API you are calling | Config | Module method |
24
- |---------------------|--------|---------------|
25
- | AWS Bedrock **Converse / ConverseStream** | `BEDROCK_CONVERSE_CONFIG` | `forBedrockConverse()` |
26
- | AWS Bedrock **Mantle** (Anthropic Messages format) | `BEDROCK_MANTLE_CONFIG` | `forBedrockMantle()` |
27
- | AWS Bedrock **OpenAI-compatible** | `BEDROCK_OPENAI_CONFIG` | `forBedrockOpenAi()` |
28
- | OpenAI **Chat Completions** (also xAI, Groq, Together) | `OPENAI_CONFIG` | `forOpenAi()` |
29
- | Anthropic **Messages** | `CLAUDE_CONFIG` | `forClaude()` |
30
- | Google **Gemini** | `GEMINI_CONFIG` | `forGemini()` |
31
- | Mistral **La Plateforme** | `MISTRAL_CONFIG` | `forMistral()` |
23
+ | API you are calling | Config | Module method |
24
+ | ------------------------------------------------------ | ------------------------- | ---------------------- |
25
+ | AWS Bedrock **Converse / ConverseStream** | `BEDROCK_CONVERSE_CONFIG` | `forBedrockConverse()` |
26
+ | AWS Bedrock **Mantle** (Anthropic Messages format) | `BEDROCK_MANTLE_CONFIG` | `forBedrockMantle()` |
27
+ | AWS Bedrock **OpenAI-compatible** | `BEDROCK_OPENAI_CONFIG` | `forBedrockOpenAi()` |
28
+ | OpenAI **Chat Completions** (also xAI, Groq, Together) | `OPENAI_CONFIG` | `forOpenAi()` |
29
+ | Anthropic **Messages** | `CLAUDE_CONFIG` | `forClaude()` |
30
+ | Google **Gemini** | `GEMINI_CONFIG` | `forGemini()` |
31
+ | Mistral **La Plateforme** | `MISTRAL_CONFIG` | `forMistral()` |
32
32
 
33
33
  ### Bedrock examples
34
34
 
35
35
  Bedrock exposes multiple API surfaces. Each has its own tool format — pick the config that matches the API you are calling:
36
36
 
37
- | Scenario | Config |
38
- |----------|--------|
37
+ | Scenario | Config |
38
+ | --------------------------------------------------- | ------------------------- |
39
39
  | Any model via Bedrock **Converse / ConverseStream** | `BEDROCK_CONVERSE_CONFIG` |
40
- | Bedrock **Mantle** (Anthropic Messages format) | `BEDROCK_MANTLE_CONFIG` |
41
- | Bedrock **OpenAI-compatible** endpoint | `BEDROCK_OPENAI_CONFIG` |
42
- | Claude on Bedrock via **InvokeModel** | `CLAUDE_CONFIG` |
43
- | Mistral on Bedrock via **InvokeModel** | `MISTRAL_CONFIG` |
40
+ | Bedrock **Mantle** (Anthropic Messages format) | `BEDROCK_MANTLE_CONFIG` |
41
+ | Bedrock **OpenAI-compatible** endpoint | `BEDROCK_OPENAI_CONFIG` |
42
+ | Claude on Bedrock via **InvokeModel** | `CLAUDE_CONFIG` |
43
+ | Mistral on Bedrock via **InvokeModel** | `MISTRAL_CONFIG` |
44
44
 
45
45
  Mantle and Converse are mutually exclusive access paths — never mix them. `BEDROCK_MANTLE_CONFIG` uses the Anthropic Messages tool format (`input_schema`) while `BEDROCK_CONVERSE_CONFIG` uses the Converse `toolSpec` envelope. Similarly, `BEDROCK_OPENAI_CONFIG` uses the OpenAI function-calling format independently from `OPENAI_CONFIG` — each has its own alias key for per-provider name overrides.
46
46
 
@@ -58,10 +58,7 @@ import { EmojiToolService } from './services/emoji-tool.service';
58
58
  import { ChatService } from './services/chat.service';
59
59
 
60
60
  @Module({
61
- imports: [
62
- McpRegistryModule.registerOnly(),
63
- McpLlmAdapterModule.forBedrockConverse(),
64
- ],
61
+ imports: [McpRegistryModule.registerOnly(), McpLlmAdapterModule.forBedrockConverse()],
65
62
  providers: [EmojiToolService, ChatService],
66
63
  })
67
64
  export class AppModule {}
@@ -84,10 +81,7 @@ export class ChatService {
84
81
  // ... call the LLM provider with tools ...
85
82
 
86
83
  // When the provider returns a tool call:
87
- const result = await this.adapter.executeToolForProvider(
88
- toolCall.name,
89
- toolCall.input,
90
- );
84
+ const result = await this.adapter.executeToolForProvider(toolCall.name, toolCall.input);
91
85
  }
92
86
  }
93
87
  ```
@@ -101,10 +95,10 @@ LLM providers can return multiple tool calls in a single turn — OpenAI returns
101
95
  ```typescript
102
96
  // LLM returned multiple tool calls in one turn
103
97
  const results = await this.adapter.executeToolsForProvider(
104
- toolCalls.map(tc => ({
98
+ toolCalls.map((tc) => ({
105
99
  providerName: tc.name,
106
100
  params: tc.input,
107
- id: tc.id, // OpenAI tool_call.id, Claude tool_use.id, Bedrock toolUseId
101
+ id: tc.id, // OpenAI tool_call.id, Claude tool_use.id, Bedrock toolUseId
108
102
  })),
109
103
  authInfo,
110
104
  );
@@ -142,11 +136,16 @@ For custom providers that support per-tool output schemas, use `formatToolWithOu
142
136
  const MY_CONFIG: LlmAdapterConfig<MyToolDef> = {
143
137
  aliasKey: 'myProvider',
144
138
  formatTool: (name, description, inputSchema) => ({
145
- name, description, inputSchema,
139
+ name,
140
+ description,
141
+ inputSchema,
146
142
  }),
147
143
  // Called instead of formatTool when the tool has an outputSchema
148
144
  formatToolWithOutput: (name, description, inputSchema, outputSchema) => ({
149
- name, description, inputSchema, outputSchema,
145
+ name,
146
+ description,
147
+ inputSchema,
148
+ outputSchema,
150
149
  }),
151
150
  };
152
151
  ```
@@ -181,20 +180,21 @@ McpLlmAdapterModule.forProvider(MY_CONFIG);
181
180
 
182
181
  ## McpLlmToolAdapter API
183
182
 
184
- | Method | Description |
185
- |--------|-------------|
186
- | `toProviderTools()` | Returns `T[]` — tool definitions in the provider's format |
187
- | `getOutputSchemas()` | Returns `Map<string, Record<string, unknown>>` — provider tool names to output JSON Schemas (only tools with `outputSchema`) |
188
- | `resolveProviderToolName(providerName)` | Maps a provider-specific tool name back to the MCP tool name, or `undefined` |
189
- | `executeToolForProvider(providerName, params, authInfo?)` | Resolves name, executes tool, returns stringified result |
190
- | `executeToolCallForProvider(toolCall, authInfo?)` | Executes a single `ProviderToolCall`, returns `ProviderToolCallResult` with id passthrough |
191
- | `executeToolsForProvider(toolCalls, authInfo?)` | Executes multiple tool calls in parallel. Returns `ProviderToolCallResult[]` with per-call success/error |
183
+ | Method | Description |
184
+ | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
185
+ | `toProviderTools()` | Returns `T[]` — tool definitions in the provider's format |
186
+ | `getOutputSchemas()` | Returns `Map<string, Record<string, unknown>>` — provider tool names to output JSON Schemas (only tools with `outputSchema`) |
187
+ | `resolveProviderToolName(providerName)` | Maps a provider-specific tool name back to the MCP tool name, or `undefined` |
188
+ | `executeToolForProvider(providerName, params, authInfo?)` | Resolves name, executes tool, returns stringified result |
189
+ | `executeToolCallForProvider(toolCall, authInfo?)` | Executes a single `ProviderToolCall`, returns `ProviderToolCallResult` with id passthrough |
190
+ | `executeToolsForProvider(toolCalls, authInfo?)` | Executes multiple tool calls in parallel. Returns `ProviderToolCallResult[]` with per-call success/error |
192
191
 
193
192
  ## Name handling
194
193
 
195
194
  Each config has an `aliasKey` (e.g., `'bedrock'`, `'bedrock-mantle'`, `'bedrock-openai'`, `'openai'`) used to look up per-provider name overrides from the `@McpTool` decorator's `aliases` parameter.
196
195
 
197
196
  Resolution order:
197
+
198
198
  1. **Explicit alias** — `aliases[aliasKey]` if present
199
199
  2. **Sanitized name** — `sanitizeName(mcpName)` if the config defines a sanitizer
200
200
  3. **MCP name as-is** — used directly when no alias or sanitizer applies
@@ -213,40 +213,40 @@ Providers that require name sanitization (Bedrock Converse, Gemini) apply it aut
213
213
 
214
214
  ```typescript
215
215
  // Module
216
- McpLlmAdapterModule // NestJS module — forProvider(), forBedrockConverse(), forBedrockMantle(), forBedrockOpenAi(), forOpenAi(), forClaude(), forGemini(), forMistral()
216
+ McpLlmAdapterModule; // NestJS module — forProvider(), forBedrockConverse(), forBedrockMantle(), forBedrockOpenAi(), forOpenAi(), forClaude(), forGemini(), forMistral()
217
217
 
218
218
  // Adapter
219
- McpLlmToolAdapter // Injectable — toProviderTools(), getOutputSchemas(), resolveProviderToolName(), executeToolForProvider(), executeToolCallForProvider(), executeToolsForProvider()
220
- ProviderToolCall // Input type for single/batch execution — { providerName, params, id? }
221
- ProviderToolCallResult // Output type for single/batch execution — { providerName, id?, result?, error?, success }
219
+ McpLlmToolAdapter; // Injectable — toProviderTools(), getOutputSchemas(), resolveProviderToolName(), executeToolForProvider(), executeToolCallForProvider(), executeToolsForProvider()
220
+ ProviderToolCall; // Input type for single/batch execution — { providerName, params, id? }
221
+ ProviderToolCallResult; // Output type for single/batch execution — { providerName, id?, result?, error?, success }
222
222
 
223
223
  // Config
224
- LlmAdapterConfig // Interface for custom provider configs
225
- LLM_ADAPTER_CONFIG // Injection token
226
- resolveProviderName // Utility: resolves provider name from metadata + config
224
+ LlmAdapterConfig; // Interface for custom provider configs
225
+ LLM_ADAPTER_CONFIG; // Injection token
226
+ resolveProviderName; // Utility: resolves provider name from metadata + config
227
227
 
228
228
  // Prebuilt configs
229
- BEDROCK_CONVERSE_CONFIG // AWS Bedrock Converse API
230
- BEDROCK_MANTLE_CONFIG // AWS Bedrock Mantle (Anthropic Messages format)
231
- BEDROCK_OPENAI_CONFIG // AWS Bedrock OpenAI-compatible endpoint
232
- OPENAI_CONFIG // OpenAI Chat Completions API
233
- CLAUDE_CONFIG // Anthropic Messages API
234
- GEMINI_CONFIG // Google Gemini API
235
- MISTRAL_CONFIG // Mistral La Plateforme API
229
+ BEDROCK_CONVERSE_CONFIG; // AWS Bedrock Converse API
230
+ BEDROCK_MANTLE_CONFIG; // AWS Bedrock Mantle (Anthropic Messages format)
231
+ BEDROCK_OPENAI_CONFIG; // AWS Bedrock OpenAI-compatible endpoint
232
+ OPENAI_CONFIG; // OpenAI Chat Completions API
233
+ CLAUDE_CONFIG; // Anthropic Messages API
234
+ GEMINI_CONFIG; // Google Gemini API
235
+ MISTRAL_CONFIG; // Mistral La Plateforme API
236
236
 
237
237
  // Shared formatters (used internally by prebuilt configs, also available for custom configs)
238
- formatAnthropicTool // Anthropic Messages format — { name, description, input_schema }
239
- formatOpenAiTool // OpenAI function format — { type: 'function', function: { name, description, parameters } }
238
+ formatAnthropicTool; // Anthropic Messages format — { name, description, input_schema }
239
+ formatOpenAiTool; // OpenAI function format — { type: 'function', function: { name, description, parameters } }
240
240
 
241
241
  // Types
242
- BedrockConverseToolDefinition // { toolSpec: { name, description, inputSchema: { json } } }
243
- OpenAiToolDefinition // { type: 'function', function: { name, description, parameters } }
244
- ClaudeToolDefinition // { name, description, input_schema }
245
- GeminiToolDefinition // { name, description, parameters }
242
+ BedrockConverseToolDefinition; // { toolSpec: { name, description, inputSchema: { json } } }
243
+ OpenAiToolDefinition; // { type: 'function', function: { name, description, parameters } }
244
+ ClaudeToolDefinition; // { name, description, input_schema }
245
+ GeminiToolDefinition; // { name, description, parameters }
246
246
  ```
247
247
 
248
248
  ## Related libraries
249
249
 
250
- | Library | Purpose |
251
- |---------|---------|
250
+ | Library | Purpose |
251
+ | -------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
252
252
  | [`@onivoro/server-mcp`](https://www.npmjs.com/package/@onivoro/server-mcp) | Transport-agnostic MCP tool registry, decorators, HTTP and stdio transports |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onivoro/server-mcp-llm-adapter",
3
- "version": "24.38.1",
3
+ "version": "24.39.0",
4
4
  "description": "LLM provider tool format adapter for MCP — supports OpenAI, Claude, Bedrock, Gemini, and Mistral",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",
@@ -31,7 +31,7 @@
31
31
  "adapter"
32
32
  ],
33
33
  "dependencies": {
34
- "@onivoro/server-mcp": "^24.38.1",
34
+ "@onivoro/server-mcp": "^24.39.0",
35
35
  "tslib": "^2.3.0"
36
36
  },
37
37
  "peerDependencies": {
package/src/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { McpLlmToolAdapter } from './lib/mcp-llm-tool-adapter';
1
+ export { McpLlmToolAdapter, McpToolExecutionExtra, } from './lib/mcp-llm-tool-adapter';
2
2
  export { ProviderToolCall } from './lib/provider-tool-call';
3
3
  export { ProviderToolCallResult } from './lib/provider-tool-call-result';
4
4
  export { McpLlmAdapterModule } from './lib/mcp-llm-adapter.module';
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/server/mcp-llm-adapter/src/index.ts"],"names":[],"mappings":";;;AAAA,mEAA+D;AAAtD,yHAAA,iBAAiB,OAAA;AAG1B,uEAAmE;AAA1D,6HAAA,mBAAmB,OAAA;AAC5B,2EAAoE;AAA3D,8HAAA,kBAAkB,OAAA;AAE3B,qEAAkE;AAAzD,4HAAA,mBAAmB,OAAA;AAE5B,yEAAwE;AAA/D,kIAAA,uBAAuB,OAAA;AAEhC,qDAAoD;AAA3C,8GAAA,aAAa,OAAA;AAEtB,qDAAoD;AAA3C,8GAAA,aAAa,OAAA;AAEtB,qDAAoD;AAA3C,8GAAA,aAAa,OAAA;AACtB,uDAAsD;AAA7C,gHAAA,cAAc,OAAA;AACvB,qEAAoE;AAA3D,8HAAA,qBAAqB,OAAA;AAC9B,qEAAoE;AAA3D,8HAAA,qBAAqB,OAAA;AAC9B,qEAAkE;AAAzD,4HAAA,mBAAmB,OAAA;AAC5B,+DAA4D;AAAnD,sHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/server/mcp-llm-adapter/src/index.ts"],"names":[],"mappings":";;;AAAA,mEAGoC;AAFlC,yHAAA,iBAAiB,OAAA;AAKnB,uEAAmE;AAA1D,6HAAA,mBAAmB,OAAA;AAC5B,2EAAoE;AAA3D,8HAAA,kBAAkB,OAAA;AAE3B,qEAAkE;AAAzD,4HAAA,mBAAmB,OAAA;AAE5B,yEAAwE;AAA/D,kIAAA,uBAAuB,OAAA;AAEhC,qDAAoD;AAA3C,8GAAA,aAAa,OAAA;AAEtB,qDAAoD;AAA3C,8GAAA,aAAa,OAAA;AAEtB,qDAAoD;AAA3C,8GAAA,aAAa,OAAA;AACtB,uDAAsD;AAA7C,gHAAA,cAAc,OAAA;AACvB,qEAAoE;AAA3D,8HAAA,qBAAqB,OAAA;AAC9B,qEAAoE;AAA3D,8HAAA,qBAAqB,OAAA;AAC9B,qEAAkE;AAAzD,4HAAA,mBAAmB,OAAA;AAC5B,+DAA4D;AAAnD,sHAAA,gBAAgB,OAAA"}
@@ -3,6 +3,12 @@ import { McpToolRegistry, McpAuthInfo } from '@onivoro/server-mcp';
3
3
  import type { LlmAdapterConfig } from './llm-adapter-config';
4
4
  import type { ProviderToolCall } from './provider-tool-call';
5
5
  import type { ProviderToolCallResult } from './provider-tool-call-result';
6
+ export type McpToolExecutionExtra = {
7
+ sessionId?: string;
8
+ signal?: AbortSignal;
9
+ sendProgress?: (progress: number, total?: number, message?: string) => Promise<void>;
10
+ sendLog?: (level: any, data: unknown, logger?: string) => Promise<void>;
11
+ };
6
12
  export declare class McpLlmToolAdapter<T = unknown> implements OnModuleInit {
7
13
  private readonly registry;
8
14
  private readonly config;
@@ -14,8 +20,8 @@ export declare class McpLlmToolAdapter<T = unknown> implements OnModuleInit {
14
20
  toProviderTools(): T[];
15
21
  getOutputSchemas(): Map<string, Record<string, unknown>>;
16
22
  resolveProviderToolName(providerName: string): string | undefined;
17
- executeToolForProvider(providerName: string, params: Record<string, unknown>, authInfo?: McpAuthInfo): Promise<string>;
18
- executeToolCallForProvider(toolCall: ProviderToolCall, authInfo?: McpAuthInfo): Promise<ProviderToolCallResult>;
19
- executeToolsForProvider(toolCalls: ProviderToolCall[], authInfo?: McpAuthInfo): Promise<ProviderToolCallResult[]>;
23
+ executeToolForProvider(providerName: string, params: Record<string, unknown>, authInfo?: McpAuthInfo, extra?: McpToolExecutionExtra): Promise<string>;
24
+ executeToolCallForProvider(toolCall: ProviderToolCall, authInfo?: McpAuthInfo, extra?: McpToolExecutionExtra): Promise<ProviderToolCallResult>;
25
+ executeToolsForProvider(toolCalls: ProviderToolCall[], authInfo?: McpAuthInfo, extra?: McpToolExecutionExtra): Promise<ProviderToolCallResult[]>;
20
26
  }
21
27
  //# sourceMappingURL=mcp-llm-tool-adapter.d.ts.map
@@ -54,28 +54,33 @@ let McpLlmToolAdapter = class McpLlmToolAdapter {
54
54
  resolveProviderToolName(providerName) {
55
55
  return this.getNameMap().get(providerName);
56
56
  }
57
- async executeToolForProvider(providerName, params, authInfo) {
57
+ async executeToolForProvider(providerName, params, authInfo, extra) {
58
58
  const mcpName = this.getNameMap().get(providerName);
59
59
  if (!mcpName) {
60
60
  throw new Error(`No MCP tool found for provider name "${providerName}".`);
61
61
  }
62
- const result = await this.registry.executeToolRaw(mcpName, params, authInfo);
62
+ const result = await this.registry.executeToolRaw(mcpName, params, authInfo, extra);
63
63
  return typeof result === 'string' ? result : JSON.stringify(result);
64
64
  }
65
- async executeToolCallForProvider(toolCall, authInfo) {
66
- const [result] = await this.executeToolsForProvider([toolCall], authInfo);
65
+ async executeToolCallForProvider(toolCall, authInfo, extra) {
66
+ const [result] = await this.executeToolsForProvider([toolCall], authInfo, extra);
67
67
  return result;
68
68
  }
69
- async executeToolsForProvider(toolCalls, authInfo) {
69
+ async executeToolsForProvider(toolCalls, authInfo, extra) {
70
70
  const nameMap = this.getNameMap();
71
71
  const settled = await Promise.allSettled(toolCalls.map(async ({ providerName, params, id }) => {
72
72
  const mcpName = nameMap.get(providerName);
73
73
  if (!mcpName) {
74
74
  throw new Error(`No MCP tool found for provider name "${providerName}".`);
75
75
  }
76
- const rawResult = await this.registry.executeToolRaw(mcpName, params, authInfo);
76
+ const rawResult = await this.registry.executeToolRaw(mcpName, params, authInfo, extra);
77
77
  const result = typeof rawResult === 'string' ? rawResult : JSON.stringify(rawResult);
78
- return { providerName, id, result, success: true };
78
+ return {
79
+ providerName,
80
+ id,
81
+ result,
82
+ success: true,
83
+ };
79
84
  }));
80
85
  return settled.map((outcome, i) => {
81
86
  if (outcome.status === 'fulfilled') {
@@ -85,7 +90,9 @@ let McpLlmToolAdapter = class McpLlmToolAdapter {
85
90
  return {
86
91
  providerName: call.providerName,
87
92
  id: call.id,
88
- error: outcome.reason instanceof Error ? outcome.reason.message : String(outcome.reason),
93
+ error: outcome.reason instanceof Error
94
+ ? outcome.reason.message
95
+ : String(outcome.reason),
89
96
  success: false,
90
97
  };
91
98
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-llm-tool-adapter.js","sourceRoot":"","sources":["../../../../../../libs/server/mcp-llm-adapter/src/lib/mcp-llm-tool-adapter.ts"],"names":[],"mappings":";;;;AAAA,2CAAkE;AAClE,oDAA0F;AAC1F,yEAAgE;AAEhE,mEAA8D;AAKvD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAKT;IAEA;IANX,YAAY,GAA+B,IAAI,CAAC;IAChD,WAAW,CAAc;IAEjC,YACmB,QAAyB,EAEzB,MAA2B;QAF3B,aAAQ,GAAR,QAAQ,CAAiB;QAEzB,WAAM,GAAN,MAAM,CAAqB;IAC3C,CAAC;IAEJ,YAAY;QACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,EAAE;YACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;YACtC,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACpD,GAAG,CAAC,GAAG,CAAC,IAAA,2CAAmB,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACnD,MAAM,IAAI,GAAG,IAAA,2CAAmB,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAA,kCAAqB,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAE3D,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC9D,MAAM,YAAY,GAAG,IAAA,kCAAqB,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YACjG,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC;IAOD,gBAAgB;QACd,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC1D,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC1B,MAAM,YAAY,GAAG,IAAA,2CAAmB,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAA,kCAAqB,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,uBAAuB,CAAC,YAAoB;QAC1C,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,YAAoB,EACpB,MAA+B,EAC/B,QAAsB;QAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,wCAAwC,YAAY,IAAI,CACzD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7E,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IAGD,KAAK,CAAC,0BAA0B,CAC9B,QAA0B,EAC1B,QAAsB;QAEtB,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC1E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,SAA6B,EAC7B,QAAsB;QAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE;YACnD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,YAAY,IAAI,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACrF,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAA4B,CAAC;QAC/E,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YAChC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACnC,OAAO,OAAO,CAAC,KAAK,CAAC;YACvB,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO;gBACL,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,OAAO,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBACxF,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AApHY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;IAOR,mBAAA,IAAA,eAAM,EAAC,6CAAkB,CAAC,CAAA;6CADA,4BAAe;GALjC,iBAAiB,CAoH7B"}
1
+ {"version":3,"file":"mcp-llm-tool-adapter.js","sourceRoot":"","sources":["../../../../../../libs/server/mcp-llm-adapter/src/lib/mcp-llm-tool-adapter.ts"],"names":[],"mappings":";;;;AAAA,2CAAkE;AAClE,oDAI6B;AAC7B,yEAAgE;AAEhE,mEAA8D;AAuBvD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAKT;IAEA;IANX,YAAY,GAA+B,IAAI,CAAC;IAChD,WAAW,CAAc;IAEjC,YACmB,QAAyB,EAEzB,MAA2B;QAF3B,aAAQ,GAAR,QAAQ,CAAiB;QAEzB,WAAM,GAAN,MAAM,CAAqB;IAC3C,CAAC;IAEJ,YAAY;QACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,EAAE;YACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;YACtC,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACpD,GAAG,CAAC,GAAG,CAAC,IAAA,2CAAmB,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACnD,MAAM,IAAI,GAAG,IAAA,2CAAmB,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAA,kCAAqB,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAE3D,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC9D,MAAM,YAAY,GAAG,IAAA,kCAAqB,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,IAAI,EACJ,QAAQ,CAAC,WAAW,EACpB,WAAW,EACX,YAAY,CACb,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC;IAOD,gBAAgB;QACd,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC1D,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC1B,MAAM,YAAY,GAAG,IAAA,2CAAmB,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAA,kCAAqB,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,uBAAuB,CAAC,YAAoB;QAC1C,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,YAAoB,EACpB,MAA+B,EAC/B,QAAsB,EACtB,KAA6B;QAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,YAAY,IAAI,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC/C,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,CACN,CAAC;QACF,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IAGD,KAAK,CAAC,0BAA0B,CAC9B,QAA0B,EAC1B,QAAsB,EACtB,KAA6B;QAE7B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACjD,CAAC,QAAQ,CAAC,EACV,QAAQ,EACR,KAAK,CACN,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,SAA6B,EAC7B,QAAsB,EACtB,KAA6B;QAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE;YACnD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,wCAAwC,YAAY,IAAI,CACzD,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAClD,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,CACN,CAAC;YACF,MAAM,MAAM,GACV,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACxE,OAAO;gBACL,YAAY;gBACZ,EAAE;gBACF,MAAM;gBACN,OAAO,EAAE,IAAI;aACY,CAAC;QAC9B,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YAChC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACnC,OAAO,OAAO,CAAC,KAAK,CAAC;YACvB,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO;gBACL,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EACH,OAAO,CAAC,MAAM,YAAY,KAAK;oBAC7B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;oBACxB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC5B,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAnJY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;IAOR,mBAAA,IAAA,eAAM,EAAC,6CAAkB,CAAC,CAAA;6CADA,4BAAe;GALjC,iBAAiB,CAmJ7B"}