@yourgpt/copilot-sdk 2.0.1 → 2.0.2-beta.2
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 +42 -0
- package/dist/{ThreadManager-JT0sqSSD.d.ts → ThreadManager-Dkp_eLty.d.ts} +1 -1
- package/dist/{ThreadManager-CUq5Ocu2.d.cts → ThreadManager-LfFRhr4e.d.cts} +1 -1
- package/dist/anthropic-6F5GRE3B.js +4 -0
- package/dist/anthropic-6F5GRE3B.js.map +1 -0
- package/dist/anthropic-DGalr_Fw.d.cts +17 -0
- package/dist/anthropic-DkCEDYOt.d.ts +17 -0
- package/dist/anthropic-NMTRABEH.cjs +21 -0
- package/dist/anthropic-NMTRABEH.cjs.map +1 -0
- package/dist/brave-DdnWb7Gb.d.cts +17 -0
- package/dist/brave-DsI9n7Wr.d.ts +17 -0
- package/dist/brave-OYKCOZEM.cjs +21 -0
- package/dist/brave-OYKCOZEM.cjs.map +1 -0
- package/dist/brave-XSASGGH2.js +4 -0
- package/dist/brave-XSASGGH2.js.map +1 -0
- package/dist/chunk-2FAWEBZS.cjs +88 -0
- package/dist/chunk-2FAWEBZS.cjs.map +1 -0
- package/dist/chunk-53UGJNHN.js +92 -0
- package/dist/chunk-53UGJNHN.js.map +1 -0
- package/dist/chunk-6T5XXJEP.cjs +80 -0
- package/dist/chunk-6T5XXJEP.cjs.map +1 -0
- package/dist/chunk-7K7HZMP4.cjs +1170 -0
- package/dist/chunk-7K7HZMP4.cjs.map +1 -0
- package/dist/chunk-7W7QLZNC.js +72 -0
- package/dist/chunk-7W7QLZNC.js.map +1 -0
- package/dist/{chunk-JM7PB2LP.js → chunk-7XFFRV7D.js} +10 -66
- package/dist/chunk-7XFFRV7D.js.map +1 -0
- package/dist/chunk-ASV6JLYG.cjs +99 -0
- package/dist/chunk-ASV6JLYG.cjs.map +1 -0
- package/dist/chunk-BH7MNDWW.js +1152 -0
- package/dist/chunk-BH7MNDWW.js.map +1 -0
- package/dist/chunk-BKO7DSPU.js +67 -0
- package/dist/chunk-BKO7DSPU.js.map +1 -0
- package/dist/chunk-CBAHCI4R.cjs +76 -0
- package/dist/chunk-CBAHCI4R.cjs.map +1 -0
- package/dist/chunk-CEKAYA2Q.cjs +74 -0
- package/dist/chunk-CEKAYA2Q.cjs.map +1 -0
- package/dist/chunk-CEOMTQTP.js +85 -0
- package/dist/chunk-CEOMTQTP.js.map +1 -0
- package/dist/chunk-DABZYCVX.js +84 -0
- package/dist/chunk-DABZYCVX.js.map +1 -0
- package/dist/chunk-DGUM43GV.js +10 -0
- package/dist/chunk-DGUM43GV.js.map +1 -0
- package/dist/chunk-G4SF2PNQ.js +33 -0
- package/dist/chunk-G4SF2PNQ.js.map +1 -0
- package/dist/chunk-GANCV72Z.cjs +110 -0
- package/dist/chunk-GANCV72Z.cjs.map +1 -0
- package/dist/{chunk-BLSI67J6.cjs → chunk-H5XMKBBA.cjs} +425 -30
- package/dist/chunk-H5XMKBBA.cjs.map +1 -0
- package/dist/{chunk-CJ7UWN2Y.js → chunk-IXFV6AW6.js} +397 -7
- package/dist/chunk-IXFV6AW6.js.map +1 -0
- package/dist/chunk-JEQ2X3Z6.cjs +12 -0
- package/dist/chunk-JEQ2X3Z6.cjs.map +1 -0
- package/dist/chunk-JO4BHPAD.cjs +40 -0
- package/dist/chunk-JO4BHPAD.cjs.map +1 -0
- package/dist/chunk-MEBXW75C.cjs +89 -0
- package/dist/chunk-MEBXW75C.cjs.map +1 -0
- package/dist/chunk-MNDGIW47.js +76 -0
- package/dist/chunk-MNDGIW47.js.map +1 -0
- package/dist/chunk-PPFHA6IL.js +83 -0
- package/dist/chunk-PPFHA6IL.js.map +1 -0
- package/dist/chunk-RQ74USYU.js +128 -0
- package/dist/chunk-RQ74USYU.js.map +1 -0
- package/dist/chunk-TXLIY7GF.cjs +132 -0
- package/dist/chunk-TXLIY7GF.cjs.map +1 -0
- package/dist/chunk-UIWFYMAO.cjs +82 -0
- package/dist/chunk-UIWFYMAO.cjs.map +1 -0
- package/dist/{chunk-4PRWNAXQ.cjs → chunk-UOWLKFXK.cjs} +27 -89
- package/dist/chunk-UOWLKFXK.cjs.map +1 -0
- package/dist/chunk-VD74IPKB.js +106 -0
- package/dist/chunk-VD74IPKB.js.map +1 -0
- package/dist/chunk-W73FBYIH.cjs +87 -0
- package/dist/chunk-W73FBYIH.cjs.map +1 -0
- package/dist/chunk-XGITAEXU.js +93 -0
- package/dist/chunk-XGITAEXU.js.map +1 -0
- package/dist/chunk-XWOHNY3F.cjs +96 -0
- package/dist/chunk-XWOHNY3F.cjs.map +1 -0
- package/dist/chunk-ZPYQDMUX.js +79 -0
- package/dist/chunk-ZPYQDMUX.js.map +1 -0
- package/dist/core/index.cjs +156 -84
- package/dist/core/index.d.cts +16 -4
- package/dist/core/index.d.ts +16 -4
- package/dist/core/index.js +13 -1
- package/dist/exa-72KFY5A7.cjs +21 -0
- package/dist/exa-72KFY5A7.cjs.map +1 -0
- package/dist/exa-Dp9U-WTc.d.ts +17 -0
- package/dist/exa-NNVPBC2M.js +4 -0
- package/dist/exa-NNVPBC2M.js.map +1 -0
- package/dist/exa-jJSPhyUW.d.cts +17 -0
- package/dist/google-CHU2yycE.d.cts +17 -0
- package/dist/google-CTEK6SV2.js +4 -0
- package/dist/google-CTEK6SV2.js.map +1 -0
- package/dist/google-Da8IQxaI.d.ts +17 -0
- package/dist/google-IIUXFFVF.cjs +21 -0
- package/dist/google-IIUXFFVF.cjs.map +1 -0
- package/dist/index-2VtgKM8S.d.cts +206 -0
- package/dist/index-pWEH7pUE.d.ts +206 -0
- package/dist/mcp/index.cjs +670 -0
- package/dist/mcp/index.cjs.map +1 -0
- package/dist/mcp/index.d.cts +779 -0
- package/dist/mcp/index.d.ts +779 -0
- package/dist/mcp/index.js +574 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/openai-6KTCQ7PZ.cjs +21 -0
- package/dist/openai-6KTCQ7PZ.cjs.map +1 -0
- package/dist/openai-7W2PCNW5.js +4 -0
- package/dist/openai-7W2PCNW5.js.map +1 -0
- package/dist/openai-Cam8hF4f.d.ts +17 -0
- package/dist/openai-HVSCuXgO.d.cts +17 -0
- package/dist/react/index.cjs +75 -42
- package/dist/react/index.d.cts +270 -45
- package/dist/react/index.d.ts +270 -45
- package/dist/react/index.js +15 -2
- package/dist/searxng-AXLVGY7Z.js +4 -0
- package/dist/searxng-AXLVGY7Z.js.map +1 -0
- package/dist/searxng-EJKNY236.cjs +21 -0
- package/dist/searxng-EJKNY236.cjs.map +1 -0
- package/dist/searxng-K0qtY9vp.d.ts +17 -0
- package/dist/searxng-QGOte_Gq.d.cts +17 -0
- package/dist/serper-3JYJHJX6.js +4 -0
- package/dist/serper-3JYJHJX6.js.map +1 -0
- package/dist/serper-63FT4AOL.cjs +21 -0
- package/dist/serper-63FT4AOL.cjs.map +1 -0
- package/dist/serper-7Czya3PW.d.ts +17 -0
- package/dist/serper-JzdaSnS9.d.cts +17 -0
- package/dist/styles.css +38 -0
- package/dist/tavily-AWFP4RM7.cjs +21 -0
- package/dist/tavily-AWFP4RM7.cjs.map +1 -0
- package/dist/tavily-C8cXXojE.d.cts +17 -0
- package/dist/tavily-CIWAAZPH.js +4 -0
- package/dist/tavily-CIWAAZPH.js.map +1 -0
- package/dist/tavily-DdSGVgkE.d.ts +17 -0
- package/dist/themes/catppuccin.css +2 -0
- package/dist/themes/claude.css +2 -0
- package/dist/themes/linear.css +2 -0
- package/dist/themes/modern-minimal.css +2 -0
- package/dist/themes/posthog.css +2 -0
- package/dist/themes/supabase.css +2 -0
- package/dist/themes/twitter.css +2 -0
- package/dist/themes/vercel.css +2 -0
- package/dist/tools/anthropic/index.cjs +61 -0
- package/dist/tools/anthropic/index.cjs.map +1 -0
- package/dist/tools/anthropic/index.d.cts +67 -0
- package/dist/tools/anthropic/index.d.ts +67 -0
- package/dist/tools/anthropic/index.js +56 -0
- package/dist/tools/anthropic/index.js.map +1 -0
- package/dist/tools/brave/index.cjs +85 -0
- package/dist/tools/brave/index.cjs.map +1 -0
- package/dist/tools/brave/index.d.cts +91 -0
- package/dist/tools/brave/index.d.ts +91 -0
- package/dist/tools/brave/index.js +80 -0
- package/dist/tools/brave/index.js.map +1 -0
- package/dist/tools/exa/index.cjs +90 -0
- package/dist/tools/exa/index.cjs.map +1 -0
- package/dist/tools/exa/index.d.cts +92 -0
- package/dist/tools/exa/index.d.ts +92 -0
- package/dist/tools/exa/index.js +85 -0
- package/dist/tools/exa/index.js.map +1 -0
- package/dist/tools/google/index.cjs +81 -0
- package/dist/tools/google/index.cjs.map +1 -0
- package/dist/tools/google/index.d.cts +81 -0
- package/dist/tools/google/index.d.ts +81 -0
- package/dist/tools/google/index.js +76 -0
- package/dist/tools/google/index.js.map +1 -0
- package/dist/tools/openai/index.cjs +83 -0
- package/dist/tools/openai/index.cjs.map +1 -0
- package/dist/tools/openai/index.d.cts +84 -0
- package/dist/tools/openai/index.d.ts +84 -0
- package/dist/tools/openai/index.js +78 -0
- package/dist/tools/openai/index.js.map +1 -0
- package/dist/tools/searxng/index.cjs +85 -0
- package/dist/tools/searxng/index.cjs.map +1 -0
- package/dist/tools/searxng/index.d.cts +91 -0
- package/dist/tools/searxng/index.d.ts +91 -0
- package/dist/tools/searxng/index.js +80 -0
- package/dist/tools/searxng/index.js.map +1 -0
- package/dist/tools/serper/index.cjs +85 -0
- package/dist/tools/serper/index.cjs.map +1 -0
- package/dist/tools/serper/index.d.cts +91 -0
- package/dist/tools/serper/index.d.ts +91 -0
- package/dist/tools/serper/index.js +80 -0
- package/dist/tools/serper/index.js.map +1 -0
- package/dist/tools/tavily/index.cjs +91 -0
- package/dist/tools/tavily/index.cjs.map +1 -0
- package/dist/tools/tavily/index.d.cts +95 -0
- package/dist/tools/tavily/index.d.ts +95 -0
- package/dist/tools/tavily/index.js +86 -0
- package/dist/tools/tavily/index.js.map +1 -0
- package/dist/tools/web-search/index.cjs +31 -0
- package/dist/tools/web-search/index.cjs.map +1 -0
- package/dist/tools/web-search/index.d.cts +3 -0
- package/dist/tools/web-search/index.d.ts +3 -0
- package/dist/tools/web-search/index.js +14 -0
- package/dist/tools/web-search/index.js.map +1 -0
- package/dist/{types-BtAaOV07.d.cts → tools-DDWrco4h.d.cts} +43 -367
- package/dist/{types-BtAaOV07.d.ts → tools-DDWrco4h.d.ts} +43 -367
- package/dist/types-B20VCJXL.d.cts +347 -0
- package/dist/types-B20VCJXL.d.ts +347 -0
- package/dist/types-Cizh9K_f.d.ts +441 -0
- package/dist/types-DG2ya08y.d.cts +367 -0
- package/dist/types-DG2ya08y.d.ts +367 -0
- package/dist/types-DjSfYNKj.d.cts +441 -0
- package/dist/types-ZguuKEs_.d.cts +127 -0
- package/dist/types-ZguuKEs_.d.ts +127 -0
- package/dist/ui/index.cjs +1075 -148
- package/dist/ui/index.cjs.map +1 -1
- package/dist/ui/index.d.cts +410 -4
- package/dist/ui/index.d.ts +410 -4
- package/dist/ui/index.js +1007 -96
- package/dist/ui/index.js.map +1 -1
- package/package.json +52 -2
- package/dist/chunk-4PRWNAXQ.cjs.map +0 -1
- package/dist/chunk-BLSI67J6.cjs.map +0 -1
- package/dist/chunk-CJ7UWN2Y.js.map +0 -1
- package/dist/chunk-JM7PB2LP.js.map +0 -1
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
import { T as ToolDefinition } from './tools-DDWrco4h.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* MCP (Model Context Protocol) Type Definitions
|
|
5
|
+
*
|
|
6
|
+
* This module defines all types for MCP client integration,
|
|
7
|
+
* following the MCP specification for JSON-RPC 2.0 communication.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Supported MCP transport types
|
|
11
|
+
*/
|
|
12
|
+
type MCPTransportType = "http" | "sse" | "stdio";
|
|
13
|
+
/**
|
|
14
|
+
* Base transport configuration
|
|
15
|
+
*/
|
|
16
|
+
interface MCPTransportConfigBase {
|
|
17
|
+
/** Transport type */
|
|
18
|
+
type: MCPTransportType;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* HTTP Streamable transport configuration (recommended)
|
|
22
|
+
*/
|
|
23
|
+
interface MCPHttpTransportConfig extends MCPTransportConfigBase {
|
|
24
|
+
type: "http";
|
|
25
|
+
/** Server URL endpoint */
|
|
26
|
+
url: string;
|
|
27
|
+
/** Custom headers for authentication */
|
|
28
|
+
headers?: Record<string, string>;
|
|
29
|
+
/** Request timeout in milliseconds */
|
|
30
|
+
timeout?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* SSE (Server-Sent Events) transport configuration
|
|
34
|
+
*/
|
|
35
|
+
interface MCPSSETransportConfig extends MCPTransportConfigBase {
|
|
36
|
+
type: "sse";
|
|
37
|
+
/** Server URL endpoint */
|
|
38
|
+
url: string;
|
|
39
|
+
/** Custom headers for authentication */
|
|
40
|
+
headers?: Record<string, string>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Stdio transport configuration (for local MCP servers)
|
|
44
|
+
*/
|
|
45
|
+
interface MCPStdioTransportConfig extends MCPTransportConfigBase {
|
|
46
|
+
type: "stdio";
|
|
47
|
+
/** Command to execute */
|
|
48
|
+
command: string;
|
|
49
|
+
/** Command arguments */
|
|
50
|
+
args?: string[];
|
|
51
|
+
/** Environment variables */
|
|
52
|
+
env?: Record<string, string>;
|
|
53
|
+
/** Working directory */
|
|
54
|
+
cwd?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Union of all transport configurations
|
|
58
|
+
*/
|
|
59
|
+
type MCPTransportConfig = MCPHttpTransportConfig | MCPSSETransportConfig | MCPStdioTransportConfig;
|
|
60
|
+
/**
|
|
61
|
+
* JSON-RPC request
|
|
62
|
+
*/
|
|
63
|
+
interface JsonRpcRequest {
|
|
64
|
+
jsonrpc: "2.0";
|
|
65
|
+
id: string | number;
|
|
66
|
+
method: string;
|
|
67
|
+
params?: Record<string, unknown>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* JSON-RPC notification (no response expected)
|
|
71
|
+
*/
|
|
72
|
+
interface JsonRpcNotification {
|
|
73
|
+
jsonrpc: "2.0";
|
|
74
|
+
method: string;
|
|
75
|
+
params?: Record<string, unknown>;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* JSON-RPC success response
|
|
79
|
+
*/
|
|
80
|
+
interface JsonRpcSuccessResponse {
|
|
81
|
+
jsonrpc: "2.0";
|
|
82
|
+
id: string | number;
|
|
83
|
+
result: unknown;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* JSON-RPC error response
|
|
87
|
+
*/
|
|
88
|
+
interface JsonRpcErrorResponse {
|
|
89
|
+
jsonrpc: "2.0";
|
|
90
|
+
id: string | number | null;
|
|
91
|
+
error: JsonRpcError;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* JSON-RPC error object
|
|
95
|
+
*/
|
|
96
|
+
interface JsonRpcError {
|
|
97
|
+
code: number;
|
|
98
|
+
message: string;
|
|
99
|
+
data?: unknown;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* JSON-RPC response (success or error)
|
|
103
|
+
*/
|
|
104
|
+
type JsonRpcResponse = JsonRpcSuccessResponse | JsonRpcErrorResponse;
|
|
105
|
+
/**
|
|
106
|
+
* JSON-RPC message (request, notification, or response)
|
|
107
|
+
*/
|
|
108
|
+
type JsonRpcMessage = JsonRpcRequest | JsonRpcNotification | JsonRpcResponse;
|
|
109
|
+
declare const JSON_RPC_ERROR_CODES: {
|
|
110
|
+
readonly PARSE_ERROR: -32700;
|
|
111
|
+
readonly INVALID_REQUEST: -32600;
|
|
112
|
+
readonly METHOD_NOT_FOUND: -32601;
|
|
113
|
+
readonly INVALID_PARAMS: -32602;
|
|
114
|
+
readonly INTERNAL_ERROR: -32603;
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* MCP Protocol Version
|
|
118
|
+
*
|
|
119
|
+
* The SDK supports multiple protocol versions:
|
|
120
|
+
* - 2025-06-18: Latest protocol with full features
|
|
121
|
+
* - 2025-03-26: Streamable HTTP transport
|
|
122
|
+
* - 2024-11-05: Legacy HTTP+SSE transport (deprecated)
|
|
123
|
+
*/
|
|
124
|
+
declare const MCP_PROTOCOL_VERSION = "2025-06-18";
|
|
125
|
+
/**
|
|
126
|
+
* MCP client capabilities
|
|
127
|
+
*/
|
|
128
|
+
interface MCPClientCapabilities {
|
|
129
|
+
/** Roots capability (file system access) */
|
|
130
|
+
roots?: {
|
|
131
|
+
listChanged?: boolean;
|
|
132
|
+
};
|
|
133
|
+
/** Sampling capability */
|
|
134
|
+
sampling?: Record<string, never>;
|
|
135
|
+
/** Experimental capabilities */
|
|
136
|
+
experimental?: Record<string, unknown>;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* MCP server capabilities
|
|
140
|
+
*/
|
|
141
|
+
interface MCPServerCapabilities {
|
|
142
|
+
/** Tools capability */
|
|
143
|
+
tools?: {
|
|
144
|
+
listChanged?: boolean;
|
|
145
|
+
};
|
|
146
|
+
/** Resources capability */
|
|
147
|
+
resources?: {
|
|
148
|
+
subscribe?: boolean;
|
|
149
|
+
listChanged?: boolean;
|
|
150
|
+
};
|
|
151
|
+
/** Prompts capability */
|
|
152
|
+
prompts?: {
|
|
153
|
+
listChanged?: boolean;
|
|
154
|
+
};
|
|
155
|
+
/** Logging capability */
|
|
156
|
+
logging?: Record<string, never>;
|
|
157
|
+
/** Experimental capabilities */
|
|
158
|
+
experimental?: Record<string, unknown>;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* MCP client info
|
|
162
|
+
*/
|
|
163
|
+
interface MCPClientInfo {
|
|
164
|
+
name: string;
|
|
165
|
+
version: string;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* MCP server info
|
|
169
|
+
*/
|
|
170
|
+
interface MCPServerInfo {
|
|
171
|
+
name: string;
|
|
172
|
+
version: string;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* MCP initialization params
|
|
176
|
+
*/
|
|
177
|
+
interface MCPInitializeParams {
|
|
178
|
+
protocolVersion: string;
|
|
179
|
+
capabilities: MCPClientCapabilities;
|
|
180
|
+
clientInfo: MCPClientInfo;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* MCP tool definition (from server)
|
|
184
|
+
*/
|
|
185
|
+
interface MCPToolDefinition {
|
|
186
|
+
/** Tool name */
|
|
187
|
+
name: string;
|
|
188
|
+
/** Tool description */
|
|
189
|
+
description?: string;
|
|
190
|
+
/** JSON Schema for input parameters */
|
|
191
|
+
inputSchema: MCPToolInputSchema;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* MCP tool input schema (JSON Schema format)
|
|
195
|
+
*/
|
|
196
|
+
interface MCPToolInputSchema {
|
|
197
|
+
type: "object";
|
|
198
|
+
properties?: Record<string, MCPJsonSchemaProperty>;
|
|
199
|
+
required?: string[];
|
|
200
|
+
additionalProperties?: boolean;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* MCP JSON Schema property
|
|
204
|
+
*/
|
|
205
|
+
interface MCPJsonSchemaProperty {
|
|
206
|
+
type?: string | string[];
|
|
207
|
+
description?: string;
|
|
208
|
+
enum?: unknown[];
|
|
209
|
+
items?: MCPJsonSchemaProperty;
|
|
210
|
+
properties?: Record<string, MCPJsonSchemaProperty>;
|
|
211
|
+
required?: string[];
|
|
212
|
+
default?: unknown;
|
|
213
|
+
minLength?: number;
|
|
214
|
+
maxLength?: number;
|
|
215
|
+
minimum?: number;
|
|
216
|
+
maximum?: number;
|
|
217
|
+
pattern?: string;
|
|
218
|
+
format?: string;
|
|
219
|
+
oneOf?: MCPJsonSchemaProperty[];
|
|
220
|
+
anyOf?: MCPJsonSchemaProperty[];
|
|
221
|
+
allOf?: MCPJsonSchemaProperty[];
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* MCP tool call request params
|
|
225
|
+
*/
|
|
226
|
+
interface MCPToolCallParams {
|
|
227
|
+
name: string;
|
|
228
|
+
arguments?: Record<string, unknown>;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* MCP UI content (for MCP-UI support)
|
|
232
|
+
* @see https://github.com/idosal/mcp-ui
|
|
233
|
+
*/
|
|
234
|
+
interface MCPUIContent {
|
|
235
|
+
type: "ui";
|
|
236
|
+
resource: {
|
|
237
|
+
uri: string;
|
|
238
|
+
mimeType: "text/html" | "text/uri-list" | "application/vnd.mcp-ui.remote-dom";
|
|
239
|
+
content?: string;
|
|
240
|
+
blob?: string;
|
|
241
|
+
metadata?: {
|
|
242
|
+
title?: string;
|
|
243
|
+
width?: string;
|
|
244
|
+
height?: string;
|
|
245
|
+
sandbox?: string[];
|
|
246
|
+
className?: string;
|
|
247
|
+
};
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* MCP tool call result content types
|
|
252
|
+
*/
|
|
253
|
+
type MCPToolResultContent = MCPTextContent | MCPImageContent | MCPResourceContent | MCPUIContent;
|
|
254
|
+
/**
|
|
255
|
+
* MCP text content
|
|
256
|
+
*/
|
|
257
|
+
interface MCPTextContent {
|
|
258
|
+
type: "text";
|
|
259
|
+
text: string;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* MCP image content
|
|
263
|
+
*/
|
|
264
|
+
interface MCPImageContent {
|
|
265
|
+
type: "image";
|
|
266
|
+
data: string;
|
|
267
|
+
mimeType: string;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* MCP embedded resource content
|
|
271
|
+
*/
|
|
272
|
+
interface MCPResourceContent {
|
|
273
|
+
type: "resource";
|
|
274
|
+
resource: {
|
|
275
|
+
uri: string;
|
|
276
|
+
mimeType?: string;
|
|
277
|
+
text?: string;
|
|
278
|
+
blob?: string;
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* MCP tool call result
|
|
283
|
+
*/
|
|
284
|
+
interface MCPToolCallResult {
|
|
285
|
+
content: MCPToolResultContent[];
|
|
286
|
+
isError?: boolean;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Elicitation request from MCP server
|
|
290
|
+
*/
|
|
291
|
+
interface MCPElicitationRequest {
|
|
292
|
+
/** Unique request ID */
|
|
293
|
+
requestId: string;
|
|
294
|
+
/** Elicitation mode */
|
|
295
|
+
mode: "form" | "confirm" | "select";
|
|
296
|
+
/** Message to display to user */
|
|
297
|
+
message?: string;
|
|
298
|
+
/** JSON Schema for form mode */
|
|
299
|
+
schema?: MCPToolInputSchema;
|
|
300
|
+
/** Options for select mode */
|
|
301
|
+
options?: MCPElicitationOption[];
|
|
302
|
+
/** Default values */
|
|
303
|
+
defaults?: Record<string, unknown>;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Elicitation option (for select mode)
|
|
307
|
+
*/
|
|
308
|
+
interface MCPElicitationOption {
|
|
309
|
+
value: string;
|
|
310
|
+
label?: string;
|
|
311
|
+
description?: string;
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Elicitation response to MCP server
|
|
315
|
+
*/
|
|
316
|
+
interface MCPElicitationResponse {
|
|
317
|
+
/** Request ID being responded to */
|
|
318
|
+
requestId: string;
|
|
319
|
+
/** Whether user accepted */
|
|
320
|
+
accepted: boolean;
|
|
321
|
+
/** User's form data (for form/select modes) */
|
|
322
|
+
data?: Record<string, unknown>;
|
|
323
|
+
/** Rejection reason (if not accepted) */
|
|
324
|
+
reason?: string;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* MCP client connection state
|
|
328
|
+
*/
|
|
329
|
+
type MCPConnectionState = "disconnected" | "connecting" | "connected" | "error";
|
|
330
|
+
/**
|
|
331
|
+
* MCP client configuration
|
|
332
|
+
*/
|
|
333
|
+
interface MCPClientConfig {
|
|
334
|
+
/** Unique name for this client/server connection */
|
|
335
|
+
name: string;
|
|
336
|
+
/** Transport type shorthand */
|
|
337
|
+
transport: MCPTransportType;
|
|
338
|
+
/** Server URL (for http/sse transports) */
|
|
339
|
+
url?: string;
|
|
340
|
+
/** Custom headers (for http/sse transports) */
|
|
341
|
+
headers?: Record<string, string>;
|
|
342
|
+
/** Request timeout in milliseconds (default: 30000) */
|
|
343
|
+
timeout?: number;
|
|
344
|
+
/** Command to execute (for stdio transport) */
|
|
345
|
+
command?: string;
|
|
346
|
+
/** Command arguments (for stdio transport) */
|
|
347
|
+
args?: string[];
|
|
348
|
+
/** Environment variables (for stdio transport) */
|
|
349
|
+
env?: Record<string, string>;
|
|
350
|
+
/** Working directory (for stdio transport) */
|
|
351
|
+
cwd?: string;
|
|
352
|
+
/** Client info */
|
|
353
|
+
clientInfo?: MCPClientInfo;
|
|
354
|
+
/** Client capabilities */
|
|
355
|
+
capabilities?: MCPClientCapabilities;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* MCP client state
|
|
359
|
+
*/
|
|
360
|
+
interface MCPClientState {
|
|
361
|
+
/** Connection state */
|
|
362
|
+
connectionState: MCPConnectionState;
|
|
363
|
+
/** Server info (after connection) */
|
|
364
|
+
serverInfo?: MCPServerInfo;
|
|
365
|
+
/** Server capabilities (after connection) */
|
|
366
|
+
serverCapabilities?: MCPServerCapabilities;
|
|
367
|
+
/** Available tools */
|
|
368
|
+
tools: MCPToolDefinition[];
|
|
369
|
+
/** Error message (if in error state) */
|
|
370
|
+
error?: string;
|
|
371
|
+
/** Last activity timestamp */
|
|
372
|
+
lastActivity?: number;
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* MCP client events
|
|
376
|
+
*/
|
|
377
|
+
interface MCPClientEvents {
|
|
378
|
+
/** Connection state changed */
|
|
379
|
+
onConnectionStateChange?: (state: MCPConnectionState) => void;
|
|
380
|
+
/** Tools list updated */
|
|
381
|
+
onToolsChange?: (tools: MCPToolDefinition[]) => void;
|
|
382
|
+
/** Elicitation request received */
|
|
383
|
+
onElicitationRequest?: (request: MCPElicitationRequest) => Promise<MCPElicitationResponse>;
|
|
384
|
+
/** Error occurred */
|
|
385
|
+
onError?: (error: Error) => void;
|
|
386
|
+
/** Notification received */
|
|
387
|
+
onNotification?: (method: string, params?: Record<string, unknown>) => void;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Configuration for useMCPClient hook
|
|
391
|
+
*/
|
|
392
|
+
interface UseMCPClientConfig extends MCPClientConfig, MCPClientEvents {
|
|
393
|
+
/** Auto-connect on mount (default: true) */
|
|
394
|
+
autoConnect?: boolean;
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Configuration for useMCPTools hook
|
|
398
|
+
*/
|
|
399
|
+
interface UseMCPToolsConfig extends UseMCPClientConfig {
|
|
400
|
+
/** Prefix tool names with client name (default: true) */
|
|
401
|
+
prefixToolNames?: boolean;
|
|
402
|
+
/** Auto-register tools with CopilotProvider (default: true) */
|
|
403
|
+
autoRegister?: boolean;
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Return type for useMCPClient hook
|
|
407
|
+
*/
|
|
408
|
+
interface UseMCPClientReturn {
|
|
409
|
+
/** Current client state */
|
|
410
|
+
state: MCPClientState;
|
|
411
|
+
/** Connect to server */
|
|
412
|
+
connect: () => Promise<void>;
|
|
413
|
+
/** Disconnect from server */
|
|
414
|
+
disconnect: () => Promise<void>;
|
|
415
|
+
/** Call a tool */
|
|
416
|
+
callTool: (name: string, args?: Record<string, unknown>) => Promise<MCPToolCallResult>;
|
|
417
|
+
/** Refresh tools list */
|
|
418
|
+
refreshTools: () => Promise<MCPToolDefinition[]>;
|
|
419
|
+
/** Whether client is connected */
|
|
420
|
+
isConnected: boolean;
|
|
421
|
+
/** Whether client is loading */
|
|
422
|
+
isLoading: boolean;
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Return type for useMCPTools hook
|
|
426
|
+
*/
|
|
427
|
+
interface UseMCPToolsReturn extends UseMCPClientReturn {
|
|
428
|
+
/** Tools converted to ToolDefinition format */
|
|
429
|
+
toolDefinitions: ToolDefinition[];
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* MCP error class
|
|
433
|
+
*/
|
|
434
|
+
declare class MCPError extends Error {
|
|
435
|
+
code?: number | undefined;
|
|
436
|
+
data?: unknown | undefined;
|
|
437
|
+
constructor(message: string, code?: number | undefined, data?: unknown | undefined);
|
|
438
|
+
static fromJsonRpcError(error: JsonRpcError): MCPError;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
export { type MCPElicitationRequest as A, type MCPElicitationResponse as B, type MCPElicitationOption as C, type UseMCPClientReturn as D, type UseMCPToolsConfig as E, type UseMCPToolsReturn as F, MCPError as G, MCP_PROTOCOL_VERSION as H, JSON_RPC_ERROR_CODES as I, type JsonRpcRequest as J, type MCPClientConfig as M, type UseMCPClientConfig as U, type MCPClientEvents as a, type MCPClientState as b, type MCPToolCallResult as c, type MCPToolDefinition as d, type MCPServerInfo as e, type MCPServerCapabilities as f, type MCPConnectionState as g, type JsonRpcNotification as h, type JsonRpcMessage as i, type JsonRpcResponse as j, type MCPClientInfo as k, type MCPClientCapabilities as l, type MCPInitializeParams as m, type MCPToolCallParams as n, type MCPTransportType as o, type MCPTransportConfig as p, type MCPHttpTransportConfig as q, type MCPSSETransportConfig as r, type MCPStdioTransportConfig as s, type JsonRpcError as t, type MCPToolInputSchema as u, type MCPToolResultContent as v, type MCPTextContent as w, type MCPImageContent as x, type MCPResourceContent as y, type MCPUIContent as z };
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web Search Tool Types
|
|
3
|
+
*
|
|
4
|
+
* Types and interfaces for the multi-provider web search tool.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Supported web search providers
|
|
8
|
+
*
|
|
9
|
+
* Native providers (no third-party API needed):
|
|
10
|
+
* - "openai" - Uses OpenAI's built-in web_search (Responses API)
|
|
11
|
+
* - "google" - Uses Google's grounding with Google Search
|
|
12
|
+
* - "anthropic" - Uses Anthropic's built-in web_search tool
|
|
13
|
+
*
|
|
14
|
+
* Third-party providers:
|
|
15
|
+
* - "tavily" - AI-optimized search with answer generation
|
|
16
|
+
* - "serper" - Google Search API
|
|
17
|
+
* - "brave" - Privacy-focused search
|
|
18
|
+
* - "searxng" - Self-hosted metasearch
|
|
19
|
+
* - "exa" - Semantic AI search
|
|
20
|
+
*/
|
|
21
|
+
type WebSearchProvider = "openai" | "google" | "anthropic" | "tavily" | "serper" | "brave" | "searxng" | "exa";
|
|
22
|
+
/**
|
|
23
|
+
* Web search configuration options
|
|
24
|
+
*/
|
|
25
|
+
interface WebSearchConfig {
|
|
26
|
+
/** Search provider to use */
|
|
27
|
+
provider: WebSearchProvider;
|
|
28
|
+
/** API key for the provider (not needed for SearXNG self-hosted) */
|
|
29
|
+
apiKey?: string;
|
|
30
|
+
/** Base URL for self-hosted providers (e.g., SearXNG) */
|
|
31
|
+
baseUrl?: string;
|
|
32
|
+
/** Search depth - 'advanced' provides more thorough results (Tavily/Exa) */
|
|
33
|
+
searchDepth?: "basic" | "advanced";
|
|
34
|
+
/** Maximum number of results to return (default: 5) */
|
|
35
|
+
maxResults?: number;
|
|
36
|
+
/** Only include results from these domains */
|
|
37
|
+
includeDomains?: string[];
|
|
38
|
+
/** Exclude results from these domains */
|
|
39
|
+
excludeDomains?: string[];
|
|
40
|
+
/** Include AI-generated answer summary (Tavily) */
|
|
41
|
+
includeAnswer?: boolean;
|
|
42
|
+
/** Include image results */
|
|
43
|
+
includeImages?: boolean;
|
|
44
|
+
/** Include raw page content (Tavily/Exa) */
|
|
45
|
+
includeRawContent?: boolean;
|
|
46
|
+
/** Country code for localized results (e.g., 'us', 'gb', 'de') */
|
|
47
|
+
country?: string;
|
|
48
|
+
/** Language code for results (e.g., 'en', 'es', 'fr') */
|
|
49
|
+
language?: string;
|
|
50
|
+
/** Request timeout in milliseconds (default: 30000) */
|
|
51
|
+
timeout?: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Parameters passed to the web search tool
|
|
55
|
+
*/
|
|
56
|
+
interface WebSearchParams {
|
|
57
|
+
/** The search query */
|
|
58
|
+
query: string;
|
|
59
|
+
/** Maximum number of results (overrides config) */
|
|
60
|
+
maxResults?: number;
|
|
61
|
+
/** Search depth (overrides config) */
|
|
62
|
+
searchDepth?: "basic" | "advanced";
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* A single search result
|
|
66
|
+
*/
|
|
67
|
+
interface WebSearchResult {
|
|
68
|
+
/** Page title */
|
|
69
|
+
title: string;
|
|
70
|
+
/** Page URL */
|
|
71
|
+
url: string;
|
|
72
|
+
/** Snippet/excerpt from the page */
|
|
73
|
+
content: string;
|
|
74
|
+
/** Relevance score (0-1, provider-dependent) */
|
|
75
|
+
score?: number;
|
|
76
|
+
/** Publication date if available */
|
|
77
|
+
publishedDate?: string;
|
|
78
|
+
/** Image URL if available */
|
|
79
|
+
image?: string;
|
|
80
|
+
/** Source domain */
|
|
81
|
+
domain?: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Image result from search
|
|
85
|
+
*/
|
|
86
|
+
interface WebSearchImage {
|
|
87
|
+
/** Image URL */
|
|
88
|
+
url: string;
|
|
89
|
+
/** Image description/alt text */
|
|
90
|
+
description?: string;
|
|
91
|
+
/** Source page URL */
|
|
92
|
+
sourceUrl?: string;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Response from web search
|
|
96
|
+
*/
|
|
97
|
+
interface WebSearchResponse {
|
|
98
|
+
/** Original search query */
|
|
99
|
+
query: string;
|
|
100
|
+
/** AI-generated answer summary (if provider supports it) */
|
|
101
|
+
answer?: string;
|
|
102
|
+
/** Search results */
|
|
103
|
+
results: WebSearchResult[];
|
|
104
|
+
/** Image results (if requested) */
|
|
105
|
+
images?: WebSearchImage[];
|
|
106
|
+
/** Search provider used */
|
|
107
|
+
provider: WebSearchProvider;
|
|
108
|
+
/** Total number of results found (may be more than returned) */
|
|
109
|
+
totalResults?: number;
|
|
110
|
+
/** Time taken to search in milliseconds */
|
|
111
|
+
searchTime?: number;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Provider implementation interface
|
|
115
|
+
*/
|
|
116
|
+
interface WebSearchProviderInterface {
|
|
117
|
+
/**
|
|
118
|
+
* Execute a web search using this provider
|
|
119
|
+
*/
|
|
120
|
+
search(params: WebSearchParams, config: WebSearchConfig): Promise<WebSearchResponse>;
|
|
121
|
+
/**
|
|
122
|
+
* Validate the configuration for this provider
|
|
123
|
+
*/
|
|
124
|
+
validateConfig?(config: WebSearchConfig): void;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export type { WebSearchProviderInterface as W, WebSearchProvider as a, WebSearchConfig as b, WebSearchParams as c, WebSearchResult as d, WebSearchImage as e, WebSearchResponse as f };
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web Search Tool Types
|
|
3
|
+
*
|
|
4
|
+
* Types and interfaces for the multi-provider web search tool.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Supported web search providers
|
|
8
|
+
*
|
|
9
|
+
* Native providers (no third-party API needed):
|
|
10
|
+
* - "openai" - Uses OpenAI's built-in web_search (Responses API)
|
|
11
|
+
* - "google" - Uses Google's grounding with Google Search
|
|
12
|
+
* - "anthropic" - Uses Anthropic's built-in web_search tool
|
|
13
|
+
*
|
|
14
|
+
* Third-party providers:
|
|
15
|
+
* - "tavily" - AI-optimized search with answer generation
|
|
16
|
+
* - "serper" - Google Search API
|
|
17
|
+
* - "brave" - Privacy-focused search
|
|
18
|
+
* - "searxng" - Self-hosted metasearch
|
|
19
|
+
* - "exa" - Semantic AI search
|
|
20
|
+
*/
|
|
21
|
+
type WebSearchProvider = "openai" | "google" | "anthropic" | "tavily" | "serper" | "brave" | "searxng" | "exa";
|
|
22
|
+
/**
|
|
23
|
+
* Web search configuration options
|
|
24
|
+
*/
|
|
25
|
+
interface WebSearchConfig {
|
|
26
|
+
/** Search provider to use */
|
|
27
|
+
provider: WebSearchProvider;
|
|
28
|
+
/** API key for the provider (not needed for SearXNG self-hosted) */
|
|
29
|
+
apiKey?: string;
|
|
30
|
+
/** Base URL for self-hosted providers (e.g., SearXNG) */
|
|
31
|
+
baseUrl?: string;
|
|
32
|
+
/** Search depth - 'advanced' provides more thorough results (Tavily/Exa) */
|
|
33
|
+
searchDepth?: "basic" | "advanced";
|
|
34
|
+
/** Maximum number of results to return (default: 5) */
|
|
35
|
+
maxResults?: number;
|
|
36
|
+
/** Only include results from these domains */
|
|
37
|
+
includeDomains?: string[];
|
|
38
|
+
/** Exclude results from these domains */
|
|
39
|
+
excludeDomains?: string[];
|
|
40
|
+
/** Include AI-generated answer summary (Tavily) */
|
|
41
|
+
includeAnswer?: boolean;
|
|
42
|
+
/** Include image results */
|
|
43
|
+
includeImages?: boolean;
|
|
44
|
+
/** Include raw page content (Tavily/Exa) */
|
|
45
|
+
includeRawContent?: boolean;
|
|
46
|
+
/** Country code for localized results (e.g., 'us', 'gb', 'de') */
|
|
47
|
+
country?: string;
|
|
48
|
+
/** Language code for results (e.g., 'en', 'es', 'fr') */
|
|
49
|
+
language?: string;
|
|
50
|
+
/** Request timeout in milliseconds (default: 30000) */
|
|
51
|
+
timeout?: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Parameters passed to the web search tool
|
|
55
|
+
*/
|
|
56
|
+
interface WebSearchParams {
|
|
57
|
+
/** The search query */
|
|
58
|
+
query: string;
|
|
59
|
+
/** Maximum number of results (overrides config) */
|
|
60
|
+
maxResults?: number;
|
|
61
|
+
/** Search depth (overrides config) */
|
|
62
|
+
searchDepth?: "basic" | "advanced";
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* A single search result
|
|
66
|
+
*/
|
|
67
|
+
interface WebSearchResult {
|
|
68
|
+
/** Page title */
|
|
69
|
+
title: string;
|
|
70
|
+
/** Page URL */
|
|
71
|
+
url: string;
|
|
72
|
+
/** Snippet/excerpt from the page */
|
|
73
|
+
content: string;
|
|
74
|
+
/** Relevance score (0-1, provider-dependent) */
|
|
75
|
+
score?: number;
|
|
76
|
+
/** Publication date if available */
|
|
77
|
+
publishedDate?: string;
|
|
78
|
+
/** Image URL if available */
|
|
79
|
+
image?: string;
|
|
80
|
+
/** Source domain */
|
|
81
|
+
domain?: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Image result from search
|
|
85
|
+
*/
|
|
86
|
+
interface WebSearchImage {
|
|
87
|
+
/** Image URL */
|
|
88
|
+
url: string;
|
|
89
|
+
/** Image description/alt text */
|
|
90
|
+
description?: string;
|
|
91
|
+
/** Source page URL */
|
|
92
|
+
sourceUrl?: string;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Response from web search
|
|
96
|
+
*/
|
|
97
|
+
interface WebSearchResponse {
|
|
98
|
+
/** Original search query */
|
|
99
|
+
query: string;
|
|
100
|
+
/** AI-generated answer summary (if provider supports it) */
|
|
101
|
+
answer?: string;
|
|
102
|
+
/** Search results */
|
|
103
|
+
results: WebSearchResult[];
|
|
104
|
+
/** Image results (if requested) */
|
|
105
|
+
images?: WebSearchImage[];
|
|
106
|
+
/** Search provider used */
|
|
107
|
+
provider: WebSearchProvider;
|
|
108
|
+
/** Total number of results found (may be more than returned) */
|
|
109
|
+
totalResults?: number;
|
|
110
|
+
/** Time taken to search in milliseconds */
|
|
111
|
+
searchTime?: number;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Provider implementation interface
|
|
115
|
+
*/
|
|
116
|
+
interface WebSearchProviderInterface {
|
|
117
|
+
/**
|
|
118
|
+
* Execute a web search using this provider
|
|
119
|
+
*/
|
|
120
|
+
search(params: WebSearchParams, config: WebSearchConfig): Promise<WebSearchResponse>;
|
|
121
|
+
/**
|
|
122
|
+
* Validate the configuration for this provider
|
|
123
|
+
*/
|
|
124
|
+
validateConfig?(config: WebSearchConfig): void;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export type { WebSearchProviderInterface as W, WebSearchProvider as a, WebSearchConfig as b, WebSearchParams as c, WebSearchResult as d, WebSearchImage as e, WebSearchResponse as f };
|