@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
|
@@ -677,7 +677,7 @@ let _ToolManager = class _ToolManager {
|
|
|
677
677
|
}
|
|
678
678
|
return snapshot;
|
|
679
679
|
}
|
|
680
|
-
getToolPresentationSnapshotForToolCallEvent(toolName, args, toolCallId, sessionId) {
|
|
680
|
+
getToolPresentationSnapshotForToolCallEvent(toolName, args, toolCallId, sessionId, runContext) {
|
|
681
681
|
const fallback = this.buildGenericToolPresentationSnapshot(toolName);
|
|
682
682
|
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
683
683
|
return fallback;
|
|
@@ -689,7 +689,7 @@ let _ToolManager = class _ToolManager {
|
|
|
689
689
|
}
|
|
690
690
|
try {
|
|
691
691
|
const validatedArgs = this.validateLocalToolArgs(toolName, args);
|
|
692
|
-
const context = this.buildToolExecutionContext({ sessionId, toolCallId });
|
|
692
|
+
const context = this.buildToolExecutionContext({ sessionId, toolCallId, runContext });
|
|
693
693
|
const isPromiseLike = (value) => {
|
|
694
694
|
if (typeof value !== "object" || value === null) {
|
|
695
695
|
return false;
|
|
@@ -723,7 +723,7 @@ let _ToolManager = class _ToolManager {
|
|
|
723
723
|
return fallback;
|
|
724
724
|
}
|
|
725
725
|
}
|
|
726
|
-
async getToolPresentationSnapshotForCall(toolName, args, toolCallId, sessionId) {
|
|
726
|
+
async getToolPresentationSnapshotForCall(toolName, args, toolCallId, sessionId, runContext) {
|
|
727
727
|
const fallback = this.buildGenericToolPresentationSnapshot(toolName);
|
|
728
728
|
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
729
729
|
return fallback;
|
|
@@ -734,7 +734,7 @@ let _ToolManager = class _ToolManager {
|
|
|
734
734
|
return fallback;
|
|
735
735
|
}
|
|
736
736
|
try {
|
|
737
|
-
const context = this.buildToolExecutionContext({ sessionId, toolCallId });
|
|
737
|
+
const context = this.buildToolExecutionContext({ sessionId, toolCallId, runContext });
|
|
738
738
|
const describedHeader = describeHeader ? await Promise.resolve(describeHeader(args, context)) : null;
|
|
739
739
|
const describedArgs = describeArgs ? await Promise.resolve(describeArgs(args, context)) : null;
|
|
740
740
|
return {
|
|
@@ -749,7 +749,7 @@ let _ToolManager = class _ToolManager {
|
|
|
749
749
|
return fallback;
|
|
750
750
|
}
|
|
751
751
|
}
|
|
752
|
-
async augmentSnapshotWithResult(toolName, snapshot, result, args, toolCallId, sessionId) {
|
|
752
|
+
async augmentSnapshotWithResult(toolName, snapshot, result, args, toolCallId, sessionId, runContext) {
|
|
753
753
|
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
754
754
|
return snapshot;
|
|
755
755
|
}
|
|
@@ -758,7 +758,7 @@ let _ToolManager = class _ToolManager {
|
|
|
758
758
|
return snapshot;
|
|
759
759
|
}
|
|
760
760
|
try {
|
|
761
|
-
const context = this.buildToolExecutionContext({ sessionId, toolCallId });
|
|
761
|
+
const context = this.buildToolExecutionContext({ sessionId, toolCallId, runContext });
|
|
762
762
|
const resultPresentation = await Promise.resolve(describeResult(result, args, context));
|
|
763
763
|
if (!resultPresentation) {
|
|
764
764
|
return snapshot;
|
|
@@ -992,14 +992,33 @@ let _ToolManager = class _ToolManager {
|
|
|
992
992
|
const workspace = this.currentWorkspace;
|
|
993
993
|
const baseContext = {
|
|
994
994
|
sessionId: options.sessionId,
|
|
995
|
+
runContext: options.runContext,
|
|
995
996
|
workspaceId: workspace?.id,
|
|
996
997
|
workspace,
|
|
997
998
|
abortSignal: options.abortSignal,
|
|
998
999
|
toolCallId: options.toolCallId,
|
|
1000
|
+
hostRuntime: options.runContext?.hostRuntime,
|
|
999
1001
|
logger: this.logger
|
|
1000
1002
|
};
|
|
1001
1003
|
return this.toolExecutionContextFactory(baseContext);
|
|
1002
1004
|
}
|
|
1005
|
+
resolveToolExecutionInvocation(invocationOrSessionId, legacyAbortSignal) {
|
|
1006
|
+
if (typeof invocationOrSessionId === "string") {
|
|
1007
|
+
return {
|
|
1008
|
+
sessionId: invocationOrSessionId,
|
|
1009
|
+
abortSignal: legacyAbortSignal,
|
|
1010
|
+
hostRuntime: void 0
|
|
1011
|
+
};
|
|
1012
|
+
}
|
|
1013
|
+
const invocation = invocationOrSessionId ?? {};
|
|
1014
|
+
const sessionId = invocation.runContext?.sessionId ?? invocation.sessionId;
|
|
1015
|
+
return {
|
|
1016
|
+
...invocation,
|
|
1017
|
+
...invocation.abortSignal === void 0 && legacyAbortSignal !== void 0 ? { abortSignal: legacyAbortSignal } : {},
|
|
1018
|
+
sessionId,
|
|
1019
|
+
hostRuntime: invocation.runContext?.hostRuntime
|
|
1020
|
+
};
|
|
1021
|
+
}
|
|
1003
1022
|
validateLocalToolArgs(toolName, args) {
|
|
1004
1023
|
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
1005
1024
|
return args;
|
|
@@ -1024,7 +1043,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1024
1043
|
}
|
|
1025
1044
|
return validated;
|
|
1026
1045
|
}
|
|
1027
|
-
async executeLocalTool(toolName, args,
|
|
1046
|
+
async executeLocalTool(toolName, args, options) {
|
|
1028
1047
|
const tool = this.agentTools.get(toolName);
|
|
1029
1048
|
if (!tool) {
|
|
1030
1049
|
this.logger.error(`\u274C No local tool found: ${toolName}`);
|
|
@@ -1034,7 +1053,12 @@ let _ToolManager = class _ToolManager {
|
|
|
1034
1053
|
throw import_errors.ToolError.notFound(toolName);
|
|
1035
1054
|
}
|
|
1036
1055
|
try {
|
|
1037
|
-
const context = this.buildToolExecutionContext({
|
|
1056
|
+
const context = this.buildToolExecutionContext({
|
|
1057
|
+
sessionId: options?.sessionId,
|
|
1058
|
+
abortSignal: options?.abortSignal,
|
|
1059
|
+
toolCallId: options?.toolCallId,
|
|
1060
|
+
runContext: options?.runContext
|
|
1061
|
+
});
|
|
1038
1062
|
const result = await tool.execute(args, context);
|
|
1039
1063
|
return result;
|
|
1040
1064
|
} catch (error) {
|
|
@@ -1131,10 +1155,12 @@ let _ToolManager = class _ToolManager {
|
|
|
1131
1155
|
* @param toolName Tool name (e.g., "edit_file", "mcp--filesystem--read_file")
|
|
1132
1156
|
* @param args The arguments for the tool
|
|
1133
1157
|
* @param toolCallId The unique tool call ID for tracking (from LLM or generated for direct calls)
|
|
1134
|
-
* @param
|
|
1135
|
-
*
|
|
1158
|
+
* @param invocationOrSessionId Optional execution-scoped context for this tool call,
|
|
1159
|
+
* or the legacy positional sessionId
|
|
1160
|
+
* @param legacyAbortSignal Optional legacy positional abort signal
|
|
1136
1161
|
*/
|
|
1137
|
-
async executeTool(toolName, args, toolCallId,
|
|
1162
|
+
async executeTool(toolName, args, toolCallId, invocationOrSessionId, legacyAbortSignal) {
|
|
1163
|
+
const { sessionId, abortSignal, runContext, hostRuntime } = this.resolveToolExecutionInvocation(invocationOrSessionId, legacyAbortSignal);
|
|
1138
1164
|
const { toolArgs: rawToolArgs, meta } = (0, import_tool_call_metadata.extractToolCallMeta)(args);
|
|
1139
1165
|
const eventMeta = Object.keys(meta).length > 0 ? meta : void 0;
|
|
1140
1166
|
let toolArgs = rawToolArgs;
|
|
@@ -1147,7 +1173,8 @@ let _ToolManager = class _ToolManager {
|
|
|
1147
1173
|
toolName,
|
|
1148
1174
|
toolArgs,
|
|
1149
1175
|
toolCallId,
|
|
1150
|
-
sessionId
|
|
1176
|
+
sessionId,
|
|
1177
|
+
runContext
|
|
1151
1178
|
);
|
|
1152
1179
|
this.agentEventBus.emit("llm:tool-call", {
|
|
1153
1180
|
toolName,
|
|
@@ -1156,7 +1183,8 @@ let _ToolManager = class _ToolManager {
|
|
|
1156
1183
|
...eventMeta !== void 0 ? { meta: eventMeta } : {},
|
|
1157
1184
|
...callDescription !== void 0 && { callDescription },
|
|
1158
1185
|
callId: toolCallId,
|
|
1159
|
-
sessionId
|
|
1186
|
+
sessionId,
|
|
1187
|
+
...hostRuntime !== void 0 && { hostRuntime }
|
|
1160
1188
|
});
|
|
1161
1189
|
}
|
|
1162
1190
|
const {
|
|
@@ -1169,6 +1197,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1169
1197
|
toolArgs,
|
|
1170
1198
|
toolCallId,
|
|
1171
1199
|
sessionId,
|
|
1200
|
+
runContext,
|
|
1172
1201
|
callDescription
|
|
1173
1202
|
);
|
|
1174
1203
|
toolArgs = validatedToolArgs;
|
|
@@ -1180,7 +1209,8 @@ let _ToolManager = class _ToolManager {
|
|
|
1180
1209
|
this.agentEventBus.emit("tool:running", {
|
|
1181
1210
|
toolName,
|
|
1182
1211
|
toolCallId,
|
|
1183
|
-
sessionId
|
|
1212
|
+
sessionId,
|
|
1213
|
+
...hostRuntime !== void 0 && { hostRuntime }
|
|
1184
1214
|
});
|
|
1185
1215
|
}
|
|
1186
1216
|
const startTime = Date.now();
|
|
@@ -1198,6 +1228,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1198
1228
|
mcpManager: this.mcpManager,
|
|
1199
1229
|
toolManager: this,
|
|
1200
1230
|
stateManager: this.stateManager,
|
|
1231
|
+
...runContext !== void 0 && { runContext },
|
|
1201
1232
|
...sessionId !== void 0 && { sessionId }
|
|
1202
1233
|
}
|
|
1203
1234
|
);
|
|
@@ -1232,6 +1263,12 @@ let _ToolManager = class _ToolManager {
|
|
|
1232
1263
|
}
|
|
1233
1264
|
this.logger.debug(`\u{1F3AF} MCP routing: '${toolName}' -> '${actualToolName}'`);
|
|
1234
1265
|
const runInBackground = backgroundTasksEnabled && meta.runInBackground === true && sessionId !== void 0;
|
|
1266
|
+
const executeMcpTool = () => runContext === void 0 ? this.mcpManager.executeTool(actualToolName, toolArgs, sessionId) : this.mcpManager.executeTool(
|
|
1267
|
+
actualToolName,
|
|
1268
|
+
toolArgs,
|
|
1269
|
+
sessionId,
|
|
1270
|
+
runContext
|
|
1271
|
+
);
|
|
1235
1272
|
if (meta.runInBackground === true && !backgroundTasksEnabled) {
|
|
1236
1273
|
this.logger.debug(
|
|
1237
1274
|
"Background tool execution disabled; running synchronously instead.",
|
|
@@ -1241,7 +1278,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1241
1278
|
if (runInBackground) {
|
|
1242
1279
|
const backgroundSessionId = sessionId;
|
|
1243
1280
|
const { result: backgroundResult, promise } = registerBackgroundTask(
|
|
1244
|
-
|
|
1281
|
+
executeMcpTool(),
|
|
1245
1282
|
`MCP tool ${actualToolName}`
|
|
1246
1283
|
);
|
|
1247
1284
|
this.agentEventBus.emit("tool:background", {
|
|
@@ -1250,6 +1287,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1250
1287
|
sessionId: backgroundSessionId,
|
|
1251
1288
|
description: backgroundResult.description,
|
|
1252
1289
|
promise,
|
|
1290
|
+
...hostRuntime !== void 0 && { hostRuntime },
|
|
1253
1291
|
...meta.timeoutMs !== void 0 && { timeoutMs: meta.timeoutMs },
|
|
1254
1292
|
...meta.notifyOnComplete !== void 0 && {
|
|
1255
1293
|
notifyOnComplete: meta.notifyOnComplete
|
|
@@ -1257,7 +1295,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1257
1295
|
});
|
|
1258
1296
|
result = backgroundResult;
|
|
1259
1297
|
} else {
|
|
1260
|
-
result = await
|
|
1298
|
+
result = await executeMcpTool();
|
|
1261
1299
|
}
|
|
1262
1300
|
} else {
|
|
1263
1301
|
const runInBackground = backgroundTasksEnabled && meta.runInBackground === true && sessionId !== void 0;
|
|
@@ -1270,13 +1308,12 @@ let _ToolManager = class _ToolManager {
|
|
|
1270
1308
|
if (runInBackground) {
|
|
1271
1309
|
const backgroundSessionId = sessionId;
|
|
1272
1310
|
const { result: backgroundResult, promise } = registerBackgroundTask(
|
|
1273
|
-
this.executeLocalTool(
|
|
1274
|
-
|
|
1275
|
-
toolArgs,
|
|
1276
|
-
backgroundSessionId,
|
|
1311
|
+
this.executeLocalTool(toolName, toolArgs, {
|
|
1312
|
+
sessionId: backgroundSessionId,
|
|
1277
1313
|
abortSignal,
|
|
1278
|
-
toolCallId
|
|
1279
|
-
|
|
1314
|
+
toolCallId,
|
|
1315
|
+
runContext
|
|
1316
|
+
}),
|
|
1280
1317
|
`Tool ${toolName}`
|
|
1281
1318
|
);
|
|
1282
1319
|
this.agentEventBus.emit("tool:background", {
|
|
@@ -1285,6 +1322,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1285
1322
|
sessionId: backgroundSessionId,
|
|
1286
1323
|
description: backgroundResult.description,
|
|
1287
1324
|
promise,
|
|
1325
|
+
...hostRuntime !== void 0 && { hostRuntime },
|
|
1288
1326
|
...meta.timeoutMs !== void 0 && { timeoutMs: meta.timeoutMs },
|
|
1289
1327
|
...meta.notifyOnComplete !== void 0 && {
|
|
1290
1328
|
notifyOnComplete: meta.notifyOnComplete
|
|
@@ -1292,13 +1330,12 @@ let _ToolManager = class _ToolManager {
|
|
|
1292
1330
|
});
|
|
1293
1331
|
result = backgroundResult;
|
|
1294
1332
|
} else {
|
|
1295
|
-
result = await this.executeLocalTool(
|
|
1296
|
-
toolName,
|
|
1297
|
-
toolArgs,
|
|
1333
|
+
result = await this.executeLocalTool(toolName, toolArgs, {
|
|
1298
1334
|
sessionId,
|
|
1299
1335
|
abortSignal,
|
|
1300
|
-
toolCallId
|
|
1301
|
-
|
|
1336
|
+
toolCallId,
|
|
1337
|
+
runContext
|
|
1338
|
+
});
|
|
1302
1339
|
}
|
|
1303
1340
|
}
|
|
1304
1341
|
const duration = Date.now() - startTime;
|
|
@@ -1321,6 +1358,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1321
1358
|
mcpManager: this.mcpManager,
|
|
1322
1359
|
toolManager: this,
|
|
1323
1360
|
stateManager: this.stateManager,
|
|
1361
|
+
...runContext !== void 0 && { runContext },
|
|
1324
1362
|
...sessionId !== void 0 && { sessionId }
|
|
1325
1363
|
}
|
|
1326
1364
|
);
|
|
@@ -1332,7 +1370,8 @@ let _ToolManager = class _ToolManager {
|
|
|
1332
1370
|
result,
|
|
1333
1371
|
toolArgs,
|
|
1334
1372
|
toolCallId,
|
|
1335
|
-
sessionId
|
|
1373
|
+
sessionId,
|
|
1374
|
+
runContext
|
|
1336
1375
|
);
|
|
1337
1376
|
return {
|
|
1338
1377
|
result,
|
|
@@ -1357,6 +1396,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1357
1396
|
mcpManager: this.mcpManager,
|
|
1358
1397
|
toolManager: this,
|
|
1359
1398
|
stateManager: this.stateManager,
|
|
1399
|
+
...runContext !== void 0 && { runContext },
|
|
1360
1400
|
...sessionId !== void 0 && { sessionId }
|
|
1361
1401
|
});
|
|
1362
1402
|
}
|
|
@@ -1465,7 +1505,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1465
1505
|
* Handle tool approval flow. Checks various precedence levels to determine
|
|
1466
1506
|
* if a tool should be auto-approved, denied, or requires manual approval.
|
|
1467
1507
|
*/
|
|
1468
|
-
async handleToolApproval(toolName, args, toolCallId, sessionId, callDescription) {
|
|
1508
|
+
async handleToolApproval(toolName, args, toolCallId, sessionId, runContext, callDescription) {
|
|
1469
1509
|
if (this.isInAlwaysDenyList(toolName)) {
|
|
1470
1510
|
this.logger.info(
|
|
1471
1511
|
`Tool '${toolName}' is in static deny list \u2013 blocking execution (session: ${sessionId ?? "global"})`
|
|
@@ -1477,14 +1517,19 @@ let _ToolManager = class _ToolManager {
|
|
|
1477
1517
|
toolName,
|
|
1478
1518
|
validatedArgs,
|
|
1479
1519
|
toolCallId,
|
|
1480
|
-
sessionId
|
|
1520
|
+
sessionId,
|
|
1521
|
+
runContext
|
|
1481
1522
|
);
|
|
1482
1523
|
let directoryAccess;
|
|
1483
1524
|
let directoryAccessApprovalRequest;
|
|
1484
1525
|
if (!toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
1485
1526
|
const getApprovalOverride = this.getToolApprovalOverrideFn(toolName);
|
|
1486
1527
|
if (getApprovalOverride) {
|
|
1487
|
-
const context = this.buildToolExecutionContext({
|
|
1528
|
+
const context = this.buildToolExecutionContext({
|
|
1529
|
+
sessionId,
|
|
1530
|
+
toolCallId,
|
|
1531
|
+
runContext
|
|
1532
|
+
});
|
|
1488
1533
|
const approvalRequest = await getApprovalOverride(validatedArgs, context);
|
|
1489
1534
|
if (approvalRequest) {
|
|
1490
1535
|
if (approvalRequest.type === import_types3.ApprovalType.DIRECTORY_ACCESS) {
|
|
@@ -1503,6 +1548,9 @@ let _ToolManager = class _ToolManager {
|
|
|
1503
1548
|
if (sessionId && !approvalRequest.sessionId) {
|
|
1504
1549
|
approvalRequest.sessionId = sessionId;
|
|
1505
1550
|
}
|
|
1551
|
+
if (runContext?.hostRuntime !== void 0 && approvalRequest.hostRuntime === void 0) {
|
|
1552
|
+
approvalRequest.hostRuntime = runContext.hostRuntime;
|
|
1553
|
+
}
|
|
1506
1554
|
const response = await this.approvalManager.requestApproval(approvalRequest);
|
|
1507
1555
|
if (response.status === import_types3.ApprovalStatus.APPROVED) {
|
|
1508
1556
|
const onGranted = this.getToolApprovalOnGrantedFn(toolName);
|
|
@@ -1543,6 +1591,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1543
1591
|
validatedArgs,
|
|
1544
1592
|
toolCallId,
|
|
1545
1593
|
sessionId,
|
|
1594
|
+
runContext,
|
|
1546
1595
|
directoryAccess,
|
|
1547
1596
|
directoryAccessApprovalRequest,
|
|
1548
1597
|
callDescription,
|
|
@@ -1613,7 +1662,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1613
1662
|
* Request manual approval from the user for a tool execution.
|
|
1614
1663
|
* Generates preview, sends approval request, and handles the response.
|
|
1615
1664
|
*/
|
|
1616
|
-
async requestManualApproval(toolName, args, toolCallId, sessionId, directoryAccess, directoryAccessApprovalRequest, callDescription, presentationSnapshot) {
|
|
1665
|
+
async requestManualApproval(toolName, args, toolCallId, sessionId, runContext, directoryAccess, directoryAccessApprovalRequest, callDescription, presentationSnapshot) {
|
|
1617
1666
|
this.logger.info(
|
|
1618
1667
|
`Tool approval requested for ${toolName}, sessionId: ${sessionId ?? "global"}`
|
|
1619
1668
|
);
|
|
@@ -1622,8 +1671,10 @@ let _ToolManager = class _ToolManager {
|
|
|
1622
1671
|
toolName,
|
|
1623
1672
|
args,
|
|
1624
1673
|
toolCallId,
|
|
1625
|
-
sessionId
|
|
1674
|
+
sessionId,
|
|
1675
|
+
runContext
|
|
1626
1676
|
);
|
|
1677
|
+
const hostRuntime = runContext?.hostRuntime ?? directoryAccessApprovalRequest?.hostRuntime;
|
|
1627
1678
|
const suggestedPatterns = this.getToolSuggestedPatterns(toolName, args);
|
|
1628
1679
|
const response = await this.approvalManager.requestToolApproval({
|
|
1629
1680
|
toolName,
|
|
@@ -1632,6 +1683,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1632
1683
|
args,
|
|
1633
1684
|
...callDescription !== void 0 && { description: callDescription },
|
|
1634
1685
|
...sessionId !== void 0 && { sessionId },
|
|
1686
|
+
...hostRuntime !== void 0 && { hostRuntime },
|
|
1635
1687
|
...displayPreview !== void 0 && { displayPreview },
|
|
1636
1688
|
...directoryAccess !== void 0 && { directoryAccess },
|
|
1637
1689
|
...suggestedPatterns !== void 0 && { suggestedPatterns }
|
|
@@ -1639,7 +1691,11 @@ let _ToolManager = class _ToolManager {
|
|
|
1639
1691
|
if (response.status === import_types3.ApprovalStatus.APPROVED && directoryAccessApprovalRequest !== void 0) {
|
|
1640
1692
|
const onGranted = this.getToolApprovalOnGrantedFn(toolName);
|
|
1641
1693
|
if (onGranted) {
|
|
1642
|
-
const context = this.buildToolExecutionContext({
|
|
1694
|
+
const context = this.buildToolExecutionContext({
|
|
1695
|
+
sessionId,
|
|
1696
|
+
toolCallId,
|
|
1697
|
+
runContext
|
|
1698
|
+
});
|
|
1643
1699
|
await Promise.resolve(
|
|
1644
1700
|
onGranted(response, context, directoryAccessApprovalRequest)
|
|
1645
1701
|
);
|
|
@@ -1665,13 +1721,13 @@ let _ToolManager = class _ToolManager {
|
|
|
1665
1721
|
/**
|
|
1666
1722
|
* Generate a preview for the tool approval UI if the tool supports it.
|
|
1667
1723
|
*/
|
|
1668
|
-
async generateToolPreview(toolName, args, toolCallId, sessionId) {
|
|
1724
|
+
async generateToolPreview(toolName, args, toolCallId, sessionId, runContext) {
|
|
1669
1725
|
const previewFn = this.getToolPreviewFn(toolName);
|
|
1670
1726
|
if (!previewFn) {
|
|
1671
1727
|
return void 0;
|
|
1672
1728
|
}
|
|
1673
1729
|
try {
|
|
1674
|
-
const context = this.buildToolExecutionContext({ sessionId, toolCallId });
|
|
1730
|
+
const context = this.buildToolExecutionContext({ sessionId, toolCallId, runContext });
|
|
1675
1731
|
const preview = await previewFn(args, context);
|
|
1676
1732
|
this.logger.debug(`Generated preview for ${toolName}`);
|
|
1677
1733
|
return preview ?? void 0;
|
|
@@ -11,7 +11,13 @@ import type { AgentStateManager } from '../agent/state-manager.js';
|
|
|
11
11
|
import type { WorkspaceManager } from '../workspace/manager.js';
|
|
12
12
|
import type { SessionToolPreferencesStore } from './session-tool-preferences-store.js';
|
|
13
13
|
import type { DynamicContributorContext, DynamicContributorContextFactory } from '../systemPrompt/types.js';
|
|
14
|
+
import type { AgentRunContext } from '../runtime/run-context.js';
|
|
14
15
|
export type ToolExecutionContextFactory = (baseContext: ToolExecutionContextBase) => ToolExecutionContext;
|
|
16
|
+
type ToolExecutionInvocation = {
|
|
17
|
+
sessionId?: string | undefined;
|
|
18
|
+
abortSignal?: AbortSignal | undefined;
|
|
19
|
+
runContext?: AgentRunContext | undefined;
|
|
20
|
+
};
|
|
15
21
|
/**
|
|
16
22
|
* Unified Tool Manager - Single interface for all tool operations
|
|
17
23
|
*
|
|
@@ -234,6 +240,7 @@ export declare class ToolManager {
|
|
|
234
240
|
*/
|
|
235
241
|
getMcpTools(): Promise<ToolSet>;
|
|
236
242
|
private buildToolExecutionContext;
|
|
243
|
+
private resolveToolExecutionInvocation;
|
|
237
244
|
private validateLocalToolArgs;
|
|
238
245
|
private executeLocalTool;
|
|
239
246
|
/**
|
|
@@ -264,10 +271,11 @@ export declare class ToolManager {
|
|
|
264
271
|
* @param toolName Tool name (e.g., "edit_file", "mcp--filesystem--read_file")
|
|
265
272
|
* @param args The arguments for the tool
|
|
266
273
|
* @param toolCallId The unique tool call ID for tracking (from LLM or generated for direct calls)
|
|
267
|
-
* @param
|
|
268
|
-
*
|
|
274
|
+
* @param invocationOrSessionId Optional execution-scoped context for this tool call,
|
|
275
|
+
* or the legacy positional sessionId
|
|
276
|
+
* @param legacyAbortSignal Optional legacy positional abort signal
|
|
269
277
|
*/
|
|
270
|
-
executeTool(toolName: string, args: Record<string, unknown>, toolCallId: string,
|
|
278
|
+
executeTool(toolName: string, args: Record<string, unknown>, toolCallId: string, invocationOrSessionId?: ToolExecutionInvocation | string, legacyAbortSignal?: AbortSignal): Promise<import('./types.js').ToolExecutionResult>;
|
|
271
279
|
/**
|
|
272
280
|
* Check if a tool exists.
|
|
273
281
|
*/
|
|
@@ -367,4 +375,5 @@ export declare class ToolManager {
|
|
|
367
375
|
*/
|
|
368
376
|
cancelAllConfirmations(): void;
|
|
369
377
|
}
|
|
378
|
+
export {};
|
|
370
379
|
//# sourceMappingURL=tool-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-manager.d.ts","sourceRoot":"","sources":["../../src/tools/tool-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACH,OAAO,EACP,oBAAoB,EACpB,wBAAwB,EACxB,IAAI,EAEP,MAAM,YAAY,CAAC;AAKpB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQ9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,KAAK,EAER,2BAA2B,EAC9B,MAAM,qCAAqC,CAAC;AAO7C,OAAO,KAAK,EACR,yBAAyB,EACzB,gCAAgC,EACnC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-manager.d.ts","sourceRoot":"","sources":["../../src/tools/tool-manager.ts"],"names":[],"mappings":"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"}
|