summaryrefslogtreecommitdiff
path: root/packages/server/src/tools/tools.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src/tools/tools.ts')
-rw-r--r--packages/server/src/tools/tools.ts20
1 files changed, 16 insertions, 4 deletions
diff --git a/packages/server/src/tools/tools.ts b/packages/server/src/tools/tools.ts
index e5d0c7cf..a2e7fa06 100644
--- a/packages/server/src/tools/tools.ts
+++ b/packages/server/src/tools/tools.ts
@@ -212,12 +212,24 @@ export interface ToolExecuteConfirmationDetails {
rootCommand: string;
}
+export interface ToolMcpConfirmationDetails {
+ type: 'mcp';
+ title: string;
+ serverName: string;
+ toolName: string;
+ toolDisplayName: string;
+ onConfirm: (outcome: ToolConfirmationOutcome) => Promise<void> | void;
+}
+
export type ToolCallConfirmationDetails =
| ToolEditConfirmationDetails
- | ToolExecuteConfirmationDetails;
+ | ToolExecuteConfirmationDetails
+ | ToolMcpConfirmationDetails;
export enum ToolConfirmationOutcome {
- ProceedOnce,
- ProceedAlways,
- Cancel,
+ ProceedOnce = 'proceed_once',
+ ProceedAlways = 'proceed_always',
+ ProceedAlwaysServer = 'proceed_always_server',
+ ProceedAlwaysTool = 'proceed_always_tool',
+ Cancel = 'cancel',
}