@dexto/core 1.6.26 → 1.6.27
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/agent/DextoAgent.cjs +75 -90
- package/dist/agent/DextoAgent.d.ts +4 -4
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +76 -91
- package/dist/agent/error-codes.cjs +1 -0
- package/dist/agent/error-codes.d.ts +1 -0
- package/dist/agent/error-codes.d.ts.map +1 -1
- package/dist/agent/error-codes.js +1 -0
- package/dist/agent/errors.cjs +13 -0
- package/dist/agent/errors.d.ts +6 -0
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/errors.js +13 -0
- package/dist/agent/index.d.ts +1 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/schemas.d.ts +2 -2
- package/dist/agent/types.d.ts +11 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/approval/factory.cjs +1 -0
- package/dist/approval/factory.d.ts.map +1 -1
- package/dist/approval/factory.js +1 -0
- package/dist/approval/manager.cjs +19 -6
- package/dist/approval/manager.d.ts +6 -0
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +19 -6
- package/dist/approval/schemas.cjs +10 -0
- package/dist/approval/schemas.d.ts +305 -0
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +10 -0
- package/dist/events/index.cjs +210 -75
- package/dist/events/index.d.ts +44 -181
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +206 -74
- package/dist/hooks/manager.cjs +5 -2
- package/dist/hooks/manager.d.ts +2 -0
- package/dist/hooks/manager.d.ts.map +1 -1
- package/dist/hooks/manager.js +5 -2
- package/dist/hooks/types.d.ts +3 -0
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/index.browser.d.ts +1 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.cjs +3 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/llm/executor/turn-executor.cjs +8 -4
- package/dist/llm/executor/turn-executor.d.ts +3 -1
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +8 -4
- package/dist/llm/services/vercel.cjs +29 -6
- package/dist/llm/services/vercel.d.ts +3 -0
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +27 -5
- package/dist/mcp/manager.cjs +7 -2
- package/dist/mcp/manager.d.ts +3 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +7 -2
- package/dist/mcp/mcp-client.cjs +71 -62
- package/dist/mcp/mcp-client.d.ts +3 -2
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +71 -62
- package/dist/mcp/schemas.d.ts +10 -10
- package/dist/resources/handlers/filesystem-handler.cjs +22 -3
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +22 -3
- package/dist/runtime/host-runtime.cjs +163 -0
- package/dist/runtime/host-runtime.d.ts +23 -0
- package/dist/runtime/host-runtime.d.ts.map +1 -0
- package/dist/runtime/host-runtime.js +133 -0
- package/dist/runtime/index.cjs +42 -0
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +21 -0
- package/dist/runtime/run-context.cjs +53 -0
- package/dist/runtime/run-context.d.ts +13 -0
- package/dist/runtime/run-context.d.ts.map +1 -0
- package/dist/runtime/run-context.js +34 -0
- package/dist/session/chat-session.cjs +30 -32
- package/dist/session/chat-session.d.ts +5 -15
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +31 -33
- package/dist/session/error-codes.cjs +1 -0
- package/dist/session/error-codes.d.ts +2 -1
- package/dist/session/error-codes.d.ts.map +1 -1
- package/dist/session/error-codes.js +1 -0
- package/dist/session/errors.cjs +13 -0
- package/dist/session/errors.d.ts +6 -0
- package/dist/session/errors.d.ts.map +1 -1
- package/dist/session/errors.js +13 -0
- package/dist/telemetry/decorators.cjs +75 -57
- package/dist/telemetry/decorators.d.ts +2 -0
- package/dist/telemetry/decorators.d.ts.map +1 -1
- package/dist/telemetry/decorators.js +75 -57
- package/dist/telemetry/utils.cjs +9 -6
- package/dist/telemetry/utils.d.ts +3 -0
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/telemetry/utils.js +9 -6
- package/dist/tools/tool-manager.cjs +92 -36
- package/dist/tools/tool-manager.d.ts +12 -3
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +92 -36
- package/dist/tools/types.d.ts +7 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -63,7 +63,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
|
|
|
63
63
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
64
64
|
var vercel_exports = {};
|
|
65
65
|
__export(vercel_exports, {
|
|
66
|
-
VercelLLMService: () => VercelLLMService
|
|
66
|
+
VercelLLMService: () => VercelLLMService,
|
|
67
|
+
ensureRunContextMatchesServiceSession: () => ensureRunContextMatchesServiceSession
|
|
67
68
|
});
|
|
68
69
|
module.exports = __toCommonJS(vercel_exports);
|
|
69
70
|
var import_types = require("../../logger/v2/types.js");
|
|
@@ -74,8 +75,24 @@ var import_decorators = require("../../telemetry/decorators.js");
|
|
|
74
75
|
var import_api = require("@opentelemetry/api");
|
|
75
76
|
var import_turn_executor = require("../executor/turn-executor.js");
|
|
76
77
|
var import_DextoRuntimeError = require("../../errors/DextoRuntimeError.js");
|
|
78
|
+
var import_types4 = require("../../errors/types.js");
|
|
77
79
|
var import_error_codes = require("../error-codes.js");
|
|
78
80
|
var _VercelLLMService_decorators, _init;
|
|
81
|
+
function ensureRunContextMatchesServiceSession(serviceSessionId, runContext) {
|
|
82
|
+
if (runContext !== void 0 && runContext.sessionId !== serviceSessionId) {
|
|
83
|
+
throw new import_DextoRuntimeError.DextoRuntimeError(
|
|
84
|
+
import_error_codes.LLMErrorCode.GENERATION_FAILED,
|
|
85
|
+
import_types4.ErrorScope.LLM,
|
|
86
|
+
import_types4.ErrorType.SYSTEM,
|
|
87
|
+
`Run context session '${runContext.sessionId}' does not match LLM service session '${serviceSessionId}'`,
|
|
88
|
+
{
|
|
89
|
+
serviceSessionId,
|
|
90
|
+
runContextSessionId: runContext.sessionId
|
|
91
|
+
}
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
return serviceSessionId;
|
|
95
|
+
}
|
|
79
96
|
_VercelLLMService_decorators = [(0, import_decorators.InstrumentClass)({
|
|
80
97
|
prefix: "llm.vercel",
|
|
81
98
|
excludeMethods: ["getModelId", "getAllTools", "createTurnExecutor"]
|
|
@@ -138,7 +155,7 @@ class VercelLLMService {
|
|
|
138
155
|
/**
|
|
139
156
|
* Create a TurnExecutor instance for executing the agent loop.
|
|
140
157
|
*/
|
|
141
|
-
createTurnExecutor(externalSignal) {
|
|
158
|
+
createTurnExecutor(externalSignal, runContext) {
|
|
142
159
|
return new import_turn_executor.TurnExecutor(
|
|
143
160
|
this.model,
|
|
144
161
|
this.toolManager,
|
|
@@ -160,7 +177,8 @@ class VercelLLMService {
|
|
|
160
177
|
this.messageQueue,
|
|
161
178
|
this.modelLimits,
|
|
162
179
|
externalSignal,
|
|
163
|
-
this.compactionStrategy
|
|
180
|
+
this.compactionStrategy,
|
|
181
|
+
runContext
|
|
164
182
|
);
|
|
165
183
|
}
|
|
166
184
|
/**
|
|
@@ -176,6 +194,10 @@ class VercelLLMService {
|
|
|
176
194
|
* @returns Object with text response
|
|
177
195
|
*/
|
|
178
196
|
async stream(content, options) {
|
|
197
|
+
const sessionId = ensureRunContextMatchesServiceSession(
|
|
198
|
+
this.sessionId,
|
|
199
|
+
options?.runContext
|
|
200
|
+
);
|
|
179
201
|
const activeSpan = import_api.trace.getActiveSpan();
|
|
180
202
|
const currentContext = import_api.context.active();
|
|
181
203
|
const provider = this.config.provider;
|
|
@@ -200,9 +222,9 @@ class VercelLLMService {
|
|
|
200
222
|
return await import_api.context.with(updatedContext, async () => {
|
|
201
223
|
const parts = typeof content === "string" ? [{ type: "text", text: content }] : content;
|
|
202
224
|
await this.contextManager.addUserMessage(parts);
|
|
203
|
-
const executor = this.createTurnExecutor(options?.signal);
|
|
225
|
+
const executor = this.createTurnExecutor(options?.signal, options?.runContext);
|
|
204
226
|
const contributorContext = await this.toolManager.buildContributorContext({
|
|
205
|
-
sessionId
|
|
227
|
+
sessionId
|
|
206
228
|
});
|
|
207
229
|
const result = await executor.execute(contributorContext, true);
|
|
208
230
|
return {
|
|
@@ -267,5 +289,6 @@ VercelLLMService = __decorateElement(_init, 0, "VercelLLMService", _VercelLLMSer
|
|
|
267
289
|
__runInitializers(_init, 1, VercelLLMService);
|
|
268
290
|
// Annotate the CommonJS export names for ESM import in node:
|
|
269
291
|
0 && (module.exports = {
|
|
270
|
-
VercelLLMService
|
|
292
|
+
VercelLLMService,
|
|
293
|
+
ensureRunContextMatchesServiceSession
|
|
271
294
|
});
|
|
@@ -11,6 +11,8 @@ import type { ValidatedLLMConfig } from '../schemas.js';
|
|
|
11
11
|
import { MessageQueueService } from '../../session/message-queue.js';
|
|
12
12
|
import type { ResourceManager } from '../../resources/index.js';
|
|
13
13
|
import type { ContentInput } from '../../agent/types.js';
|
|
14
|
+
import type { AgentRunContext } from '../../runtime/run-context.js';
|
|
15
|
+
export declare function ensureRunContextMatchesServiceSession(serviceSessionId: string, runContext?: AgentRunContext): string;
|
|
14
16
|
/**
|
|
15
17
|
* Vercel AI SDK implementation of the core session LLM runtime
|
|
16
18
|
*
|
|
@@ -65,6 +67,7 @@ export declare class VercelLLMService {
|
|
|
65
67
|
*/
|
|
66
68
|
stream(content: ContentInput, options?: {
|
|
67
69
|
signal?: AbortSignal;
|
|
70
|
+
runContext?: AgentRunContext;
|
|
68
71
|
}): Promise<{
|
|
69
72
|
text: string;
|
|
70
73
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/services/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/services/vercel.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,23 @@ import { InstrumentClass } from "../../telemetry/decorators.js";
|
|
|
12
12
|
import { trace, context, propagation } from "@opentelemetry/api";
|
|
13
13
|
import { TurnExecutor } from "../executor/turn-executor.js";
|
|
14
14
|
import { DextoRuntimeError } from "../../errors/DextoRuntimeError.js";
|
|
15
|
+
import { ErrorScope, ErrorType } from "../../errors/types.js";
|
|
15
16
|
import { LLMErrorCode } from "../error-codes.js";
|
|
17
|
+
function ensureRunContextMatchesServiceSession(serviceSessionId, runContext) {
|
|
18
|
+
if (runContext !== void 0 && runContext.sessionId !== serviceSessionId) {
|
|
19
|
+
throw new DextoRuntimeError(
|
|
20
|
+
LLMErrorCode.GENERATION_FAILED,
|
|
21
|
+
ErrorScope.LLM,
|
|
22
|
+
ErrorType.SYSTEM,
|
|
23
|
+
`Run context session '${runContext.sessionId}' does not match LLM service session '${serviceSessionId}'`,
|
|
24
|
+
{
|
|
25
|
+
serviceSessionId,
|
|
26
|
+
runContextSessionId: runContext.sessionId
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
return serviceSessionId;
|
|
31
|
+
}
|
|
16
32
|
_VercelLLMService_decorators = [InstrumentClass({
|
|
17
33
|
prefix: "llm.vercel",
|
|
18
34
|
excludeMethods: ["getModelId", "getAllTools", "createTurnExecutor"]
|
|
@@ -75,7 +91,7 @@ class VercelLLMService {
|
|
|
75
91
|
/**
|
|
76
92
|
* Create a TurnExecutor instance for executing the agent loop.
|
|
77
93
|
*/
|
|
78
|
-
createTurnExecutor(externalSignal) {
|
|
94
|
+
createTurnExecutor(externalSignal, runContext) {
|
|
79
95
|
return new TurnExecutor(
|
|
80
96
|
this.model,
|
|
81
97
|
this.toolManager,
|
|
@@ -97,7 +113,8 @@ class VercelLLMService {
|
|
|
97
113
|
this.messageQueue,
|
|
98
114
|
this.modelLimits,
|
|
99
115
|
externalSignal,
|
|
100
|
-
this.compactionStrategy
|
|
116
|
+
this.compactionStrategy,
|
|
117
|
+
runContext
|
|
101
118
|
);
|
|
102
119
|
}
|
|
103
120
|
/**
|
|
@@ -113,6 +130,10 @@ class VercelLLMService {
|
|
|
113
130
|
* @returns Object with text response
|
|
114
131
|
*/
|
|
115
132
|
async stream(content, options) {
|
|
133
|
+
const sessionId = ensureRunContextMatchesServiceSession(
|
|
134
|
+
this.sessionId,
|
|
135
|
+
options?.runContext
|
|
136
|
+
);
|
|
116
137
|
const activeSpan = trace.getActiveSpan();
|
|
117
138
|
const currentContext = context.active();
|
|
118
139
|
const provider = this.config.provider;
|
|
@@ -137,9 +158,9 @@ class VercelLLMService {
|
|
|
137
158
|
return await context.with(updatedContext, async () => {
|
|
138
159
|
const parts = typeof content === "string" ? [{ type: "text", text: content }] : content;
|
|
139
160
|
await this.contextManager.addUserMessage(parts);
|
|
140
|
-
const executor = this.createTurnExecutor(options?.signal);
|
|
161
|
+
const executor = this.createTurnExecutor(options?.signal, options?.runContext);
|
|
141
162
|
const contributorContext = await this.toolManager.buildContributorContext({
|
|
142
|
-
sessionId
|
|
163
|
+
sessionId
|
|
143
164
|
});
|
|
144
165
|
const result = await executor.execute(contributorContext, true);
|
|
145
166
|
return {
|
|
@@ -203,5 +224,6 @@ _init = __decoratorStart(null);
|
|
|
203
224
|
VercelLLMService = __decorateElement(_init, 0, "VercelLLMService", _VercelLLMService_decorators, VercelLLMService);
|
|
204
225
|
__runInitializers(_init, 1, VercelLLMService);
|
|
205
226
|
export {
|
|
206
|
-
VercelLLMService
|
|
227
|
+
VercelLLMService,
|
|
228
|
+
ensureRunContextMatchesServiceSession
|
|
207
229
|
};
|
package/dist/mcp/manager.cjs
CHANGED
|
@@ -387,9 +387,10 @@ class MCPManager {
|
|
|
387
387
|
* @param toolName Name of the MCP tool to execute (may include server prefix)
|
|
388
388
|
* @param args Arguments to pass to the tool
|
|
389
389
|
* @param sessionId Optional session ID
|
|
390
|
+
* @param runContext Optional execution-scoped context for this tool call
|
|
390
391
|
* @returns Promise resolving to the tool execution result
|
|
391
392
|
*/
|
|
392
|
-
async executeTool(toolName, args,
|
|
393
|
+
async executeTool(toolName, args, sessionId, runContext) {
|
|
393
394
|
const client = this.getToolClient(toolName);
|
|
394
395
|
if (!client) {
|
|
395
396
|
this.logger.error(`\u274C No MCP tool found: ${toolName}`);
|
|
@@ -406,7 +407,11 @@ class MCPManager {
|
|
|
406
407
|
`\u25B6\uFE0F Executing MCP tool '${actualToolName}' on server '${serverName}'...`
|
|
407
408
|
);
|
|
408
409
|
try {
|
|
409
|
-
const
|
|
410
|
+
const invocation = sessionId !== void 0 || runContext !== void 0 ? {
|
|
411
|
+
...sessionId !== void 0 ? { sessionId } : {},
|
|
412
|
+
...runContext !== void 0 ? { runContext } : {}
|
|
413
|
+
} : void 0;
|
|
414
|
+
const result = await client.callTool(actualToolName, args, invocation);
|
|
410
415
|
return result;
|
|
411
416
|
} catch (error) {
|
|
412
417
|
this.logger.error(
|
package/dist/mcp/manager.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { type AgentEventBus } from '../events/index.js';
|
|
|
7
7
|
import type { PromptDefinition } from '../prompts/types.js';
|
|
8
8
|
import type { JSONSchema7 } from 'json-schema';
|
|
9
9
|
import type { ApprovalManager } from '../approval/manager.js';
|
|
10
|
+
import type { AgentRunContext } from '../runtime/run-context.js';
|
|
10
11
|
type ToolCacheEntry = {
|
|
11
12
|
serverName: string;
|
|
12
13
|
client: McpClient;
|
|
@@ -130,9 +131,10 @@ export declare class MCPManager {
|
|
|
130
131
|
* @param toolName Name of the MCP tool to execute (may include server prefix)
|
|
131
132
|
* @param args Arguments to pass to the tool
|
|
132
133
|
* @param sessionId Optional session ID
|
|
134
|
+
* @param runContext Optional execution-scoped context for this tool call
|
|
133
135
|
* @returns Promise resolving to the tool execution result
|
|
134
136
|
*/
|
|
135
|
-
executeTool(toolName: string, args: any,
|
|
137
|
+
executeTool(toolName: string, args: any, sessionId?: string, runContext?: AgentRunContext): Promise<any>;
|
|
136
138
|
/**
|
|
137
139
|
* Get all available prompt names from all connected clients, updating the cache.
|
|
138
140
|
* @returns Promise resolving to an array of unique prompt names.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/mcp/manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EACR,eAAe,EACf,kBAAkB,EAErB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACR,SAAS,EACT,mBAAmB,EAEnB,sBAAsB,EACzB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/mcp/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/manager.js
CHANGED
|
@@ -365,9 +365,10 @@ class MCPManager {
|
|
|
365
365
|
* @param toolName Name of the MCP tool to execute (may include server prefix)
|
|
366
366
|
* @param args Arguments to pass to the tool
|
|
367
367
|
* @param sessionId Optional session ID
|
|
368
|
+
* @param runContext Optional execution-scoped context for this tool call
|
|
368
369
|
* @returns Promise resolving to the tool execution result
|
|
369
370
|
*/
|
|
370
|
-
async executeTool(toolName, args,
|
|
371
|
+
async executeTool(toolName, args, sessionId, runContext) {
|
|
371
372
|
const client = this.getToolClient(toolName);
|
|
372
373
|
if (!client) {
|
|
373
374
|
this.logger.error(`\u274C No MCP tool found: ${toolName}`);
|
|
@@ -384,7 +385,11 @@ class MCPManager {
|
|
|
384
385
|
`\u25B6\uFE0F Executing MCP tool '${actualToolName}' on server '${serverName}'...`
|
|
385
386
|
);
|
|
386
387
|
try {
|
|
387
|
-
const
|
|
388
|
+
const invocation = sessionId !== void 0 || runContext !== void 0 ? {
|
|
389
|
+
...sessionId !== void 0 ? { sessionId } : {},
|
|
390
|
+
...runContext !== void 0 ? { runContext } : {}
|
|
391
|
+
} : void 0;
|
|
392
|
+
const result = await client.callTool(actualToolName, args, invocation);
|
|
388
393
|
return result;
|
|
389
394
|
} catch (error) {
|
|
390
395
|
this.logger.error(
|
package/dist/mcp/mcp-client.cjs
CHANGED
|
@@ -22,6 +22,7 @@ __export(mcp_client_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(mcp_client_exports);
|
|
24
24
|
var import_client = require("@modelcontextprotocol/sdk/client/index.js");
|
|
25
|
+
var import_async_hooks = require("async_hooks");
|
|
25
26
|
var import_stdio = require("@modelcontextprotocol/sdk/client/stdio.js");
|
|
26
27
|
var import_sse = require("@modelcontextprotocol/sdk/client/sse.js");
|
|
27
28
|
var import_streamableHttp = require("@modelcontextprotocol/sdk/client/streamableHttp.js");
|
|
@@ -49,6 +50,7 @@ function buildClientCapabilities() {
|
|
|
49
50
|
};
|
|
50
51
|
}
|
|
51
52
|
class DextoMcpClient extends import_events.EventEmitter {
|
|
53
|
+
toolInvocationContext = new import_async_hooks.AsyncLocalStorage();
|
|
52
54
|
client = null;
|
|
53
55
|
transport = null;
|
|
54
56
|
isConnected = false;
|
|
@@ -322,71 +324,75 @@ class DextoMcpClient extends import_events.EventEmitter {
|
|
|
322
324
|
* @param args Tool arguments
|
|
323
325
|
* @returns Result of the tool execution
|
|
324
326
|
*/
|
|
325
|
-
async callTool(name, args) {
|
|
327
|
+
async callTool(name, args, invocation) {
|
|
326
328
|
this.ensureConnected();
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
this.logger.debug(`Calling tool '${name}' with args: ${JSON.stringify(args, null, 2)}`);
|
|
342
|
-
let toolArgs = args;
|
|
343
|
-
if (typeof args === "string") {
|
|
344
|
-
try {
|
|
345
|
-
toolArgs = JSON.parse(args);
|
|
346
|
-
} catch {
|
|
347
|
-
toolArgs = { input: args };
|
|
329
|
+
return await this.toolInvocationContext.run(invocation, async () => {
|
|
330
|
+
const shouldTrace = (0, import_utils.hasActiveTelemetry)();
|
|
331
|
+
const tracer = shouldTrace ? import_api.trace.getTracer("dexto") : null;
|
|
332
|
+
const span = tracer?.startSpan(`mcp.tool.${name}`, {
|
|
333
|
+
kind: import_api.SpanKind.CLIENT
|
|
334
|
+
});
|
|
335
|
+
try {
|
|
336
|
+
if (span) {
|
|
337
|
+
const ctx = import_api.trace.setSpan(import_api.context.active(), span);
|
|
338
|
+
(0, import_utils.addBaggageAttributesToSpan)(span, ctx, this.logger);
|
|
339
|
+
span.setAttribute("tool.name", name);
|
|
340
|
+
span.setAttribute("tool.server", this.serverAlias || "unknown");
|
|
341
|
+
span.setAttribute("tool.timeout", this.timeout);
|
|
342
|
+
span.setAttribute("tool.arguments", (0, import_safe_stringify.safeStringify)(args, 4096));
|
|
348
343
|
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
const logResult = JSON.stringify(
|
|
359
|
-
result,
|
|
360
|
-
(key, value) => {
|
|
361
|
-
if (key === "data" && typeof value === "string" && value.length > 100) {
|
|
362
|
-
return `[Base64 data: ${value.length} chars]`;
|
|
344
|
+
this.logger.debug(
|
|
345
|
+
`Calling tool '${name}' with args: ${JSON.stringify(args, null, 2)}`
|
|
346
|
+
);
|
|
347
|
+
let toolArgs = args;
|
|
348
|
+
if (typeof args === "string") {
|
|
349
|
+
try {
|
|
350
|
+
toolArgs = JSON.parse(args);
|
|
351
|
+
} catch {
|
|
352
|
+
toolArgs = { input: args };
|
|
363
353
|
}
|
|
364
|
-
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
354
|
+
}
|
|
355
|
+
this.logger.debug(`Using timeout: ${this.timeout}`);
|
|
356
|
+
const result = await this.client.callTool(
|
|
357
|
+
{ name, arguments: toolArgs },
|
|
358
|
+
void 0,
|
|
359
|
+
// resultSchema (optional)
|
|
360
|
+
{ timeout: this.timeout }
|
|
361
|
+
// Use server-specific timeout, default 1 minute
|
|
362
|
+
);
|
|
363
|
+
const logResult = JSON.stringify(
|
|
364
|
+
result,
|
|
365
|
+
(key, value) => {
|
|
366
|
+
if (key === "data" && typeof value === "string" && value.length > 100) {
|
|
367
|
+
return `[Base64 data: ${value.length} chars]`;
|
|
368
|
+
}
|
|
369
|
+
return value;
|
|
370
|
+
},
|
|
371
|
+
2
|
|
372
|
+
);
|
|
373
|
+
this.logger.debug(`Tool '${name}' result: ${logResult}`);
|
|
374
|
+
if (span) {
|
|
375
|
+
span.setAttribute("tool.result", (0, import_safe_stringify.safeStringify)(result, 4096));
|
|
376
|
+
span.setStatus({ code: import_api.SpanStatusCode.OK });
|
|
377
|
+
}
|
|
378
|
+
if (result === null || result === void 0) {
|
|
379
|
+
return "Tool executed successfully with no result data.";
|
|
380
|
+
}
|
|
381
|
+
return result;
|
|
382
|
+
} catch (error) {
|
|
383
|
+
this.logger.error(`Tool call '${name}' failed: ${JSON.stringify(error, null, 2)}`);
|
|
384
|
+
if (span) {
|
|
385
|
+
span.recordException(error);
|
|
386
|
+
span.setStatus({
|
|
387
|
+
code: import_api.SpanStatusCode.ERROR,
|
|
388
|
+
message: error instanceof Error ? error.message : String(error)
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
return `Error executing tool '${name}': ${error instanceof Error ? error.message : String(error)}`;
|
|
392
|
+
} finally {
|
|
393
|
+
span?.end();
|
|
385
394
|
}
|
|
386
|
-
|
|
387
|
-
} finally {
|
|
388
|
-
span?.end();
|
|
389
|
-
}
|
|
395
|
+
});
|
|
390
396
|
}
|
|
391
397
|
/**
|
|
392
398
|
* Get the list of tools provided by this client
|
|
@@ -657,10 +663,13 @@ class DextoMcpClient extends import_events.EventEmitter {
|
|
|
657
663
|
);
|
|
658
664
|
return { action: "decline" };
|
|
659
665
|
}
|
|
666
|
+
const invocation = this.toolInvocationContext.getStore();
|
|
660
667
|
const response = await this.approvalManager.requestElicitation({
|
|
661
668
|
schema: params.requestedSchema,
|
|
662
669
|
prompt: params.message,
|
|
663
|
-
serverName: this.serverAlias || "unknown"
|
|
670
|
+
serverName: this.serverAlias || "unknown",
|
|
671
|
+
...invocation?.sessionId !== void 0 ? { sessionId: invocation.sessionId } : {},
|
|
672
|
+
...invocation?.runContext?.hostRuntime !== void 0 ? { hostRuntime: invocation.runContext.hostRuntime } : {}
|
|
664
673
|
});
|
|
665
674
|
if (response.status === import_types2.ApprovalStatus.APPROVED && response.data) {
|
|
666
675
|
const formData = response.data && typeof response.data === "object" && "formData" in response.data ? response.data.formData : {};
|
package/dist/mcp/mcp-client.d.ts
CHANGED
|
@@ -3,13 +3,14 @@ import { EventEmitter } from 'events';
|
|
|
3
3
|
import type { Logger } from '../logger/v2/types.js';
|
|
4
4
|
import type { ApprovalManager } from '../approval/manager.js';
|
|
5
5
|
import type { ValidatedMcpServerConfig } from './schemas.js';
|
|
6
|
-
import type { ToolSet } from '../tools/types.js';
|
|
6
|
+
import type { ToolExecutionContextBase, ToolSet } from '../tools/types.js';
|
|
7
7
|
import type { McpClient, MCPResourceSummary, McpAuthProviderFactory } from './types.js';
|
|
8
8
|
import type { GetPromptResult, ReadResourceResult, Prompt } from '@modelcontextprotocol/sdk/types.js';
|
|
9
9
|
/**
|
|
10
10
|
* Wrapper on top of Client class provided in model context protocol SDK, to add additional metadata about the server
|
|
11
11
|
*/
|
|
12
12
|
export declare class DextoMcpClient extends EventEmitter implements McpClient {
|
|
13
|
+
private readonly toolInvocationContext;
|
|
13
14
|
private client;
|
|
14
15
|
private transport;
|
|
15
16
|
private isConnected;
|
|
@@ -52,7 +53,7 @@ export declare class DextoMcpClient extends EventEmitter implements McpClient {
|
|
|
52
53
|
* @param args Tool arguments
|
|
53
54
|
* @returns Result of the tool execution
|
|
54
55
|
*/
|
|
55
|
-
callTool(name: string, args: any): Promise<any>;
|
|
56
|
+
callTool(name: string, args: any, invocation?: Pick<ToolExecutionContextBase, 'sessionId' | 'runContext'>): Promise<any>;
|
|
56
57
|
/**
|
|
57
58
|
* Get the list of tools provided by this client
|
|
58
59
|
* @returns Array of available tools
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp-client.ts"],"names":[],"mappings":"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"}
|