@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
|
@@ -617,7 +617,7 @@ let _ToolManager = class _ToolManager {
|
|
|
617
617
|
}
|
|
618
618
|
return snapshot;
|
|
619
619
|
}
|
|
620
|
-
getToolPresentationSnapshotForToolCallEvent(toolName, args, toolCallId, sessionId) {
|
|
620
|
+
getToolPresentationSnapshotForToolCallEvent(toolName, args, toolCallId, sessionId, runContext) {
|
|
621
621
|
const fallback = this.buildGenericToolPresentationSnapshot(toolName);
|
|
622
622
|
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
623
623
|
return fallback;
|
|
@@ -629,7 +629,7 @@ let _ToolManager = class _ToolManager {
|
|
|
629
629
|
}
|
|
630
630
|
try {
|
|
631
631
|
const validatedArgs = this.validateLocalToolArgs(toolName, args);
|
|
632
|
-
const context = this.buildToolExecutionContext({ sessionId, toolCallId });
|
|
632
|
+
const context = this.buildToolExecutionContext({ sessionId, toolCallId, runContext });
|
|
633
633
|
const isPromiseLike = (value) => {
|
|
634
634
|
if (typeof value !== "object" || value === null) {
|
|
635
635
|
return false;
|
|
@@ -663,7 +663,7 @@ let _ToolManager = class _ToolManager {
|
|
|
663
663
|
return fallback;
|
|
664
664
|
}
|
|
665
665
|
}
|
|
666
|
-
async getToolPresentationSnapshotForCall(toolName, args, toolCallId, sessionId) {
|
|
666
|
+
async getToolPresentationSnapshotForCall(toolName, args, toolCallId, sessionId, runContext) {
|
|
667
667
|
const fallback = this.buildGenericToolPresentationSnapshot(toolName);
|
|
668
668
|
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
669
669
|
return fallback;
|
|
@@ -674,7 +674,7 @@ let _ToolManager = class _ToolManager {
|
|
|
674
674
|
return fallback;
|
|
675
675
|
}
|
|
676
676
|
try {
|
|
677
|
-
const context = this.buildToolExecutionContext({ sessionId, toolCallId });
|
|
677
|
+
const context = this.buildToolExecutionContext({ sessionId, toolCallId, runContext });
|
|
678
678
|
const describedHeader = describeHeader ? await Promise.resolve(describeHeader(args, context)) : null;
|
|
679
679
|
const describedArgs = describeArgs ? await Promise.resolve(describeArgs(args, context)) : null;
|
|
680
680
|
return {
|
|
@@ -689,7 +689,7 @@ let _ToolManager = class _ToolManager {
|
|
|
689
689
|
return fallback;
|
|
690
690
|
}
|
|
691
691
|
}
|
|
692
|
-
async augmentSnapshotWithResult(toolName, snapshot, result, args, toolCallId, sessionId) {
|
|
692
|
+
async augmentSnapshotWithResult(toolName, snapshot, result, args, toolCallId, sessionId, runContext) {
|
|
693
693
|
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
694
694
|
return snapshot;
|
|
695
695
|
}
|
|
@@ -698,7 +698,7 @@ let _ToolManager = class _ToolManager {
|
|
|
698
698
|
return snapshot;
|
|
699
699
|
}
|
|
700
700
|
try {
|
|
701
|
-
const context = this.buildToolExecutionContext({ sessionId, toolCallId });
|
|
701
|
+
const context = this.buildToolExecutionContext({ sessionId, toolCallId, runContext });
|
|
702
702
|
const resultPresentation = await Promise.resolve(describeResult(result, args, context));
|
|
703
703
|
if (!resultPresentation) {
|
|
704
704
|
return snapshot;
|
|
@@ -932,14 +932,33 @@ let _ToolManager = class _ToolManager {
|
|
|
932
932
|
const workspace = this.currentWorkspace;
|
|
933
933
|
const baseContext = {
|
|
934
934
|
sessionId: options.sessionId,
|
|
935
|
+
runContext: options.runContext,
|
|
935
936
|
workspaceId: workspace?.id,
|
|
936
937
|
workspace,
|
|
937
938
|
abortSignal: options.abortSignal,
|
|
938
939
|
toolCallId: options.toolCallId,
|
|
940
|
+
hostRuntime: options.runContext?.hostRuntime,
|
|
939
941
|
logger: this.logger
|
|
940
942
|
};
|
|
941
943
|
return this.toolExecutionContextFactory(baseContext);
|
|
942
944
|
}
|
|
945
|
+
resolveToolExecutionInvocation(invocationOrSessionId, legacyAbortSignal) {
|
|
946
|
+
if (typeof invocationOrSessionId === "string") {
|
|
947
|
+
return {
|
|
948
|
+
sessionId: invocationOrSessionId,
|
|
949
|
+
abortSignal: legacyAbortSignal,
|
|
950
|
+
hostRuntime: void 0
|
|
951
|
+
};
|
|
952
|
+
}
|
|
953
|
+
const invocation = invocationOrSessionId ?? {};
|
|
954
|
+
const sessionId = invocation.runContext?.sessionId ?? invocation.sessionId;
|
|
955
|
+
return {
|
|
956
|
+
...invocation,
|
|
957
|
+
...invocation.abortSignal === void 0 && legacyAbortSignal !== void 0 ? { abortSignal: legacyAbortSignal } : {},
|
|
958
|
+
sessionId,
|
|
959
|
+
hostRuntime: invocation.runContext?.hostRuntime
|
|
960
|
+
};
|
|
961
|
+
}
|
|
943
962
|
validateLocalToolArgs(toolName, args) {
|
|
944
963
|
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
945
964
|
return args;
|
|
@@ -964,7 +983,7 @@ let _ToolManager = class _ToolManager {
|
|
|
964
983
|
}
|
|
965
984
|
return validated;
|
|
966
985
|
}
|
|
967
|
-
async executeLocalTool(toolName, args,
|
|
986
|
+
async executeLocalTool(toolName, args, options) {
|
|
968
987
|
const tool = this.agentTools.get(toolName);
|
|
969
988
|
if (!tool) {
|
|
970
989
|
this.logger.error(`\u274C No local tool found: ${toolName}`);
|
|
@@ -974,7 +993,12 @@ let _ToolManager = class _ToolManager {
|
|
|
974
993
|
throw ToolError.notFound(toolName);
|
|
975
994
|
}
|
|
976
995
|
try {
|
|
977
|
-
const context = this.buildToolExecutionContext({
|
|
996
|
+
const context = this.buildToolExecutionContext({
|
|
997
|
+
sessionId: options?.sessionId,
|
|
998
|
+
abortSignal: options?.abortSignal,
|
|
999
|
+
toolCallId: options?.toolCallId,
|
|
1000
|
+
runContext: options?.runContext
|
|
1001
|
+
});
|
|
978
1002
|
const result = await tool.execute(args, context);
|
|
979
1003
|
return result;
|
|
980
1004
|
} catch (error) {
|
|
@@ -1071,10 +1095,12 @@ let _ToolManager = class _ToolManager {
|
|
|
1071
1095
|
* @param toolName Tool name (e.g., "edit_file", "mcp--filesystem--read_file")
|
|
1072
1096
|
* @param args The arguments for the tool
|
|
1073
1097
|
* @param toolCallId The unique tool call ID for tracking (from LLM or generated for direct calls)
|
|
1074
|
-
* @param
|
|
1075
|
-
*
|
|
1098
|
+
* @param invocationOrSessionId Optional execution-scoped context for this tool call,
|
|
1099
|
+
* or the legacy positional sessionId
|
|
1100
|
+
* @param legacyAbortSignal Optional legacy positional abort signal
|
|
1076
1101
|
*/
|
|
1077
|
-
async executeTool(toolName, args, toolCallId,
|
|
1102
|
+
async executeTool(toolName, args, toolCallId, invocationOrSessionId, legacyAbortSignal) {
|
|
1103
|
+
const { sessionId, abortSignal, runContext, hostRuntime } = this.resolveToolExecutionInvocation(invocationOrSessionId, legacyAbortSignal);
|
|
1078
1104
|
const { toolArgs: rawToolArgs, meta } = extractToolCallMeta(args);
|
|
1079
1105
|
const eventMeta = Object.keys(meta).length > 0 ? meta : void 0;
|
|
1080
1106
|
let toolArgs = rawToolArgs;
|
|
@@ -1087,7 +1113,8 @@ let _ToolManager = class _ToolManager {
|
|
|
1087
1113
|
toolName,
|
|
1088
1114
|
toolArgs,
|
|
1089
1115
|
toolCallId,
|
|
1090
|
-
sessionId
|
|
1116
|
+
sessionId,
|
|
1117
|
+
runContext
|
|
1091
1118
|
);
|
|
1092
1119
|
this.agentEventBus.emit("llm:tool-call", {
|
|
1093
1120
|
toolName,
|
|
@@ -1096,7 +1123,8 @@ let _ToolManager = class _ToolManager {
|
|
|
1096
1123
|
...eventMeta !== void 0 ? { meta: eventMeta } : {},
|
|
1097
1124
|
...callDescription !== void 0 && { callDescription },
|
|
1098
1125
|
callId: toolCallId,
|
|
1099
|
-
sessionId
|
|
1126
|
+
sessionId,
|
|
1127
|
+
...hostRuntime !== void 0 && { hostRuntime }
|
|
1100
1128
|
});
|
|
1101
1129
|
}
|
|
1102
1130
|
const {
|
|
@@ -1109,6 +1137,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1109
1137
|
toolArgs,
|
|
1110
1138
|
toolCallId,
|
|
1111
1139
|
sessionId,
|
|
1140
|
+
runContext,
|
|
1112
1141
|
callDescription
|
|
1113
1142
|
);
|
|
1114
1143
|
toolArgs = validatedToolArgs;
|
|
@@ -1120,7 +1149,8 @@ let _ToolManager = class _ToolManager {
|
|
|
1120
1149
|
this.agentEventBus.emit("tool:running", {
|
|
1121
1150
|
toolName,
|
|
1122
1151
|
toolCallId,
|
|
1123
|
-
sessionId
|
|
1152
|
+
sessionId,
|
|
1153
|
+
...hostRuntime !== void 0 && { hostRuntime }
|
|
1124
1154
|
});
|
|
1125
1155
|
}
|
|
1126
1156
|
const startTime = Date.now();
|
|
@@ -1138,6 +1168,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1138
1168
|
mcpManager: this.mcpManager,
|
|
1139
1169
|
toolManager: this,
|
|
1140
1170
|
stateManager: this.stateManager,
|
|
1171
|
+
...runContext !== void 0 && { runContext },
|
|
1141
1172
|
...sessionId !== void 0 && { sessionId }
|
|
1142
1173
|
}
|
|
1143
1174
|
);
|
|
@@ -1172,6 +1203,12 @@ let _ToolManager = class _ToolManager {
|
|
|
1172
1203
|
}
|
|
1173
1204
|
this.logger.debug(`\u{1F3AF} MCP routing: '${toolName}' -> '${actualToolName}'`);
|
|
1174
1205
|
const runInBackground = backgroundTasksEnabled && meta.runInBackground === true && sessionId !== void 0;
|
|
1206
|
+
const executeMcpTool = () => runContext === void 0 ? this.mcpManager.executeTool(actualToolName, toolArgs, sessionId) : this.mcpManager.executeTool(
|
|
1207
|
+
actualToolName,
|
|
1208
|
+
toolArgs,
|
|
1209
|
+
sessionId,
|
|
1210
|
+
runContext
|
|
1211
|
+
);
|
|
1175
1212
|
if (meta.runInBackground === true && !backgroundTasksEnabled) {
|
|
1176
1213
|
this.logger.debug(
|
|
1177
1214
|
"Background tool execution disabled; running synchronously instead.",
|
|
@@ -1181,7 +1218,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1181
1218
|
if (runInBackground) {
|
|
1182
1219
|
const backgroundSessionId = sessionId;
|
|
1183
1220
|
const { result: backgroundResult, promise } = registerBackgroundTask(
|
|
1184
|
-
|
|
1221
|
+
executeMcpTool(),
|
|
1185
1222
|
`MCP tool ${actualToolName}`
|
|
1186
1223
|
);
|
|
1187
1224
|
this.agentEventBus.emit("tool:background", {
|
|
@@ -1190,6 +1227,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1190
1227
|
sessionId: backgroundSessionId,
|
|
1191
1228
|
description: backgroundResult.description,
|
|
1192
1229
|
promise,
|
|
1230
|
+
...hostRuntime !== void 0 && { hostRuntime },
|
|
1193
1231
|
...meta.timeoutMs !== void 0 && { timeoutMs: meta.timeoutMs },
|
|
1194
1232
|
...meta.notifyOnComplete !== void 0 && {
|
|
1195
1233
|
notifyOnComplete: meta.notifyOnComplete
|
|
@@ -1197,7 +1235,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1197
1235
|
});
|
|
1198
1236
|
result = backgroundResult;
|
|
1199
1237
|
} else {
|
|
1200
|
-
result = await
|
|
1238
|
+
result = await executeMcpTool();
|
|
1201
1239
|
}
|
|
1202
1240
|
} else {
|
|
1203
1241
|
const runInBackground = backgroundTasksEnabled && meta.runInBackground === true && sessionId !== void 0;
|
|
@@ -1210,13 +1248,12 @@ let _ToolManager = class _ToolManager {
|
|
|
1210
1248
|
if (runInBackground) {
|
|
1211
1249
|
const backgroundSessionId = sessionId;
|
|
1212
1250
|
const { result: backgroundResult, promise } = registerBackgroundTask(
|
|
1213
|
-
this.executeLocalTool(
|
|
1214
|
-
|
|
1215
|
-
toolArgs,
|
|
1216
|
-
backgroundSessionId,
|
|
1251
|
+
this.executeLocalTool(toolName, toolArgs, {
|
|
1252
|
+
sessionId: backgroundSessionId,
|
|
1217
1253
|
abortSignal,
|
|
1218
|
-
toolCallId
|
|
1219
|
-
|
|
1254
|
+
toolCallId,
|
|
1255
|
+
runContext
|
|
1256
|
+
}),
|
|
1220
1257
|
`Tool ${toolName}`
|
|
1221
1258
|
);
|
|
1222
1259
|
this.agentEventBus.emit("tool:background", {
|
|
@@ -1225,6 +1262,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1225
1262
|
sessionId: backgroundSessionId,
|
|
1226
1263
|
description: backgroundResult.description,
|
|
1227
1264
|
promise,
|
|
1265
|
+
...hostRuntime !== void 0 && { hostRuntime },
|
|
1228
1266
|
...meta.timeoutMs !== void 0 && { timeoutMs: meta.timeoutMs },
|
|
1229
1267
|
...meta.notifyOnComplete !== void 0 && {
|
|
1230
1268
|
notifyOnComplete: meta.notifyOnComplete
|
|
@@ -1232,13 +1270,12 @@ let _ToolManager = class _ToolManager {
|
|
|
1232
1270
|
});
|
|
1233
1271
|
result = backgroundResult;
|
|
1234
1272
|
} else {
|
|
1235
|
-
result = await this.executeLocalTool(
|
|
1236
|
-
toolName,
|
|
1237
|
-
toolArgs,
|
|
1273
|
+
result = await this.executeLocalTool(toolName, toolArgs, {
|
|
1238
1274
|
sessionId,
|
|
1239
1275
|
abortSignal,
|
|
1240
|
-
toolCallId
|
|
1241
|
-
|
|
1276
|
+
toolCallId,
|
|
1277
|
+
runContext
|
|
1278
|
+
});
|
|
1242
1279
|
}
|
|
1243
1280
|
}
|
|
1244
1281
|
const duration = Date.now() - startTime;
|
|
@@ -1261,6 +1298,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1261
1298
|
mcpManager: this.mcpManager,
|
|
1262
1299
|
toolManager: this,
|
|
1263
1300
|
stateManager: this.stateManager,
|
|
1301
|
+
...runContext !== void 0 && { runContext },
|
|
1264
1302
|
...sessionId !== void 0 && { sessionId }
|
|
1265
1303
|
}
|
|
1266
1304
|
);
|
|
@@ -1272,7 +1310,8 @@ let _ToolManager = class _ToolManager {
|
|
|
1272
1310
|
result,
|
|
1273
1311
|
toolArgs,
|
|
1274
1312
|
toolCallId,
|
|
1275
|
-
sessionId
|
|
1313
|
+
sessionId,
|
|
1314
|
+
runContext
|
|
1276
1315
|
);
|
|
1277
1316
|
return {
|
|
1278
1317
|
result,
|
|
@@ -1297,6 +1336,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1297
1336
|
mcpManager: this.mcpManager,
|
|
1298
1337
|
toolManager: this,
|
|
1299
1338
|
stateManager: this.stateManager,
|
|
1339
|
+
...runContext !== void 0 && { runContext },
|
|
1300
1340
|
...sessionId !== void 0 && { sessionId }
|
|
1301
1341
|
});
|
|
1302
1342
|
}
|
|
@@ -1405,7 +1445,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1405
1445
|
* Handle tool approval flow. Checks various precedence levels to determine
|
|
1406
1446
|
* if a tool should be auto-approved, denied, or requires manual approval.
|
|
1407
1447
|
*/
|
|
1408
|
-
async handleToolApproval(toolName, args, toolCallId, sessionId, callDescription) {
|
|
1448
|
+
async handleToolApproval(toolName, args, toolCallId, sessionId, runContext, callDescription) {
|
|
1409
1449
|
if (this.isInAlwaysDenyList(toolName)) {
|
|
1410
1450
|
this.logger.info(
|
|
1411
1451
|
`Tool '${toolName}' is in static deny list \u2013 blocking execution (session: ${sessionId ?? "global"})`
|
|
@@ -1417,14 +1457,19 @@ let _ToolManager = class _ToolManager {
|
|
|
1417
1457
|
toolName,
|
|
1418
1458
|
validatedArgs,
|
|
1419
1459
|
toolCallId,
|
|
1420
|
-
sessionId
|
|
1460
|
+
sessionId,
|
|
1461
|
+
runContext
|
|
1421
1462
|
);
|
|
1422
1463
|
let directoryAccess;
|
|
1423
1464
|
let directoryAccessApprovalRequest;
|
|
1424
1465
|
if (!toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
1425
1466
|
const getApprovalOverride = this.getToolApprovalOverrideFn(toolName);
|
|
1426
1467
|
if (getApprovalOverride) {
|
|
1427
|
-
const context = this.buildToolExecutionContext({
|
|
1468
|
+
const context = this.buildToolExecutionContext({
|
|
1469
|
+
sessionId,
|
|
1470
|
+
toolCallId,
|
|
1471
|
+
runContext
|
|
1472
|
+
});
|
|
1428
1473
|
const approvalRequest = await getApprovalOverride(validatedArgs, context);
|
|
1429
1474
|
if (approvalRequest) {
|
|
1430
1475
|
if (approvalRequest.type === ApprovalType.DIRECTORY_ACCESS) {
|
|
@@ -1443,6 +1488,9 @@ let _ToolManager = class _ToolManager {
|
|
|
1443
1488
|
if (sessionId && !approvalRequest.sessionId) {
|
|
1444
1489
|
approvalRequest.sessionId = sessionId;
|
|
1445
1490
|
}
|
|
1491
|
+
if (runContext?.hostRuntime !== void 0 && approvalRequest.hostRuntime === void 0) {
|
|
1492
|
+
approvalRequest.hostRuntime = runContext.hostRuntime;
|
|
1493
|
+
}
|
|
1446
1494
|
const response = await this.approvalManager.requestApproval(approvalRequest);
|
|
1447
1495
|
if (response.status === ApprovalStatus.APPROVED) {
|
|
1448
1496
|
const onGranted = this.getToolApprovalOnGrantedFn(toolName);
|
|
@@ -1483,6 +1531,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1483
1531
|
validatedArgs,
|
|
1484
1532
|
toolCallId,
|
|
1485
1533
|
sessionId,
|
|
1534
|
+
runContext,
|
|
1486
1535
|
directoryAccess,
|
|
1487
1536
|
directoryAccessApprovalRequest,
|
|
1488
1537
|
callDescription,
|
|
@@ -1553,7 +1602,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1553
1602
|
* Request manual approval from the user for a tool execution.
|
|
1554
1603
|
* Generates preview, sends approval request, and handles the response.
|
|
1555
1604
|
*/
|
|
1556
|
-
async requestManualApproval(toolName, args, toolCallId, sessionId, directoryAccess, directoryAccessApprovalRequest, callDescription, presentationSnapshot) {
|
|
1605
|
+
async requestManualApproval(toolName, args, toolCallId, sessionId, runContext, directoryAccess, directoryAccessApprovalRequest, callDescription, presentationSnapshot) {
|
|
1557
1606
|
this.logger.info(
|
|
1558
1607
|
`Tool approval requested for ${toolName}, sessionId: ${sessionId ?? "global"}`
|
|
1559
1608
|
);
|
|
@@ -1562,8 +1611,10 @@ let _ToolManager = class _ToolManager {
|
|
|
1562
1611
|
toolName,
|
|
1563
1612
|
args,
|
|
1564
1613
|
toolCallId,
|
|
1565
|
-
sessionId
|
|
1614
|
+
sessionId,
|
|
1615
|
+
runContext
|
|
1566
1616
|
);
|
|
1617
|
+
const hostRuntime = runContext?.hostRuntime ?? directoryAccessApprovalRequest?.hostRuntime;
|
|
1567
1618
|
const suggestedPatterns = this.getToolSuggestedPatterns(toolName, args);
|
|
1568
1619
|
const response = await this.approvalManager.requestToolApproval({
|
|
1569
1620
|
toolName,
|
|
@@ -1572,6 +1623,7 @@ let _ToolManager = class _ToolManager {
|
|
|
1572
1623
|
args,
|
|
1573
1624
|
...callDescription !== void 0 && { description: callDescription },
|
|
1574
1625
|
...sessionId !== void 0 && { sessionId },
|
|
1626
|
+
...hostRuntime !== void 0 && { hostRuntime },
|
|
1575
1627
|
...displayPreview !== void 0 && { displayPreview },
|
|
1576
1628
|
...directoryAccess !== void 0 && { directoryAccess },
|
|
1577
1629
|
...suggestedPatterns !== void 0 && { suggestedPatterns }
|
|
@@ -1579,7 +1631,11 @@ let _ToolManager = class _ToolManager {
|
|
|
1579
1631
|
if (response.status === ApprovalStatus.APPROVED && directoryAccessApprovalRequest !== void 0) {
|
|
1580
1632
|
const onGranted = this.getToolApprovalOnGrantedFn(toolName);
|
|
1581
1633
|
if (onGranted) {
|
|
1582
|
-
const context = this.buildToolExecutionContext({
|
|
1634
|
+
const context = this.buildToolExecutionContext({
|
|
1635
|
+
sessionId,
|
|
1636
|
+
toolCallId,
|
|
1637
|
+
runContext
|
|
1638
|
+
});
|
|
1583
1639
|
await Promise.resolve(
|
|
1584
1640
|
onGranted(response, context, directoryAccessApprovalRequest)
|
|
1585
1641
|
);
|
|
@@ -1605,13 +1661,13 @@ let _ToolManager = class _ToolManager {
|
|
|
1605
1661
|
/**
|
|
1606
1662
|
* Generate a preview for the tool approval UI if the tool supports it.
|
|
1607
1663
|
*/
|
|
1608
|
-
async generateToolPreview(toolName, args, toolCallId, sessionId) {
|
|
1664
|
+
async generateToolPreview(toolName, args, toolCallId, sessionId, runContext) {
|
|
1609
1665
|
const previewFn = this.getToolPreviewFn(toolName);
|
|
1610
1666
|
if (!previewFn) {
|
|
1611
1667
|
return void 0;
|
|
1612
1668
|
}
|
|
1613
1669
|
try {
|
|
1614
|
-
const context = this.buildToolExecutionContext({ sessionId, toolCallId });
|
|
1670
|
+
const context = this.buildToolExecutionContext({ sessionId, toolCallId, runContext });
|
|
1615
1671
|
const preview = await previewFn(args, context);
|
|
1616
1672
|
this.logger.debug(`Generated preview for ${toolName}`);
|
|
1617
1673
|
return preview ?? void 0;
|
package/dist/tools/types.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ import type { PromptManager } from '../prompts/prompt-manager.js';
|
|
|
13
13
|
import type { ResourceManager } from '../resources/manager.js';
|
|
14
14
|
import type { SearchService } from '../search/search-service.js';
|
|
15
15
|
import type { Logger } from '../logger/v2/types.js';
|
|
16
|
+
import type { HostRuntimeContext } from '../runtime/index.js';
|
|
17
|
+
import type { AgentRunContext } from '../runtime/run-context.js';
|
|
16
18
|
/**
|
|
17
19
|
* Interface for forking execution to an isolated sub-agent context.
|
|
18
20
|
*
|
|
@@ -48,6 +50,8 @@ export interface ToolServices {
|
|
|
48
50
|
export interface ToolExecutionContextBase {
|
|
49
51
|
/** Session ID if available */
|
|
50
52
|
sessionId?: string | undefined;
|
|
53
|
+
/** Internal run-scoped execution context for this tool invocation */
|
|
54
|
+
runContext?: AgentRunContext | undefined;
|
|
51
55
|
/** Workspace ID if available */
|
|
52
56
|
workspaceId?: string | undefined;
|
|
53
57
|
/** Workspace context if available */
|
|
@@ -56,6 +60,8 @@ export interface ToolExecutionContextBase {
|
|
|
56
60
|
abortSignal?: AbortSignal | undefined;
|
|
57
61
|
/** Unique tool call ID for tracking parallel tool calls */
|
|
58
62
|
toolCallId?: string | undefined;
|
|
63
|
+
/** Host-owned runtime IDs for orchestration and correlation */
|
|
64
|
+
hostRuntime?: HostRuntimeContext | undefined;
|
|
59
65
|
/**
|
|
60
66
|
* Logger scoped to the tool execution.
|
|
61
67
|
*/
|
|
@@ -294,6 +300,6 @@ export interface ToolResult {
|
|
|
294
300
|
*/
|
|
295
301
|
export interface ToolProvider {
|
|
296
302
|
getTools(): Promise<ToolSet>;
|
|
297
|
-
callTool(toolName: string, args: Record<string, unknown>): Promise<unknown>;
|
|
303
|
+
callTool(toolName: string, args: Record<string, unknown>, context?: Pick<ToolExecutionContextBase, 'sessionId' | 'runContext'>): Promise<unknown>;
|
|
298
304
|
}
|
|
299
305
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
|