@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.
Files changed (215) hide show
  1. package/README.md +42 -0
  2. package/dist/{ThreadManager-JT0sqSSD.d.ts → ThreadManager-Dkp_eLty.d.ts} +1 -1
  3. package/dist/{ThreadManager-CUq5Ocu2.d.cts → ThreadManager-LfFRhr4e.d.cts} +1 -1
  4. package/dist/anthropic-6F5GRE3B.js +4 -0
  5. package/dist/anthropic-6F5GRE3B.js.map +1 -0
  6. package/dist/anthropic-DGalr_Fw.d.cts +17 -0
  7. package/dist/anthropic-DkCEDYOt.d.ts +17 -0
  8. package/dist/anthropic-NMTRABEH.cjs +21 -0
  9. package/dist/anthropic-NMTRABEH.cjs.map +1 -0
  10. package/dist/brave-DdnWb7Gb.d.cts +17 -0
  11. package/dist/brave-DsI9n7Wr.d.ts +17 -0
  12. package/dist/brave-OYKCOZEM.cjs +21 -0
  13. package/dist/brave-OYKCOZEM.cjs.map +1 -0
  14. package/dist/brave-XSASGGH2.js +4 -0
  15. package/dist/brave-XSASGGH2.js.map +1 -0
  16. package/dist/chunk-2FAWEBZS.cjs +88 -0
  17. package/dist/chunk-2FAWEBZS.cjs.map +1 -0
  18. package/dist/chunk-53UGJNHN.js +92 -0
  19. package/dist/chunk-53UGJNHN.js.map +1 -0
  20. package/dist/chunk-6T5XXJEP.cjs +80 -0
  21. package/dist/chunk-6T5XXJEP.cjs.map +1 -0
  22. package/dist/chunk-7K7HZMP4.cjs +1170 -0
  23. package/dist/chunk-7K7HZMP4.cjs.map +1 -0
  24. package/dist/chunk-7W7QLZNC.js +72 -0
  25. package/dist/chunk-7W7QLZNC.js.map +1 -0
  26. package/dist/{chunk-JM7PB2LP.js → chunk-7XFFRV7D.js} +10 -66
  27. package/dist/chunk-7XFFRV7D.js.map +1 -0
  28. package/dist/chunk-ASV6JLYG.cjs +99 -0
  29. package/dist/chunk-ASV6JLYG.cjs.map +1 -0
  30. package/dist/chunk-BH7MNDWW.js +1152 -0
  31. package/dist/chunk-BH7MNDWW.js.map +1 -0
  32. package/dist/chunk-BKO7DSPU.js +67 -0
  33. package/dist/chunk-BKO7DSPU.js.map +1 -0
  34. package/dist/chunk-CBAHCI4R.cjs +76 -0
  35. package/dist/chunk-CBAHCI4R.cjs.map +1 -0
  36. package/dist/chunk-CEKAYA2Q.cjs +74 -0
  37. package/dist/chunk-CEKAYA2Q.cjs.map +1 -0
  38. package/dist/chunk-CEOMTQTP.js +85 -0
  39. package/dist/chunk-CEOMTQTP.js.map +1 -0
  40. package/dist/chunk-DABZYCVX.js +84 -0
  41. package/dist/chunk-DABZYCVX.js.map +1 -0
  42. package/dist/chunk-DGUM43GV.js +10 -0
  43. package/dist/chunk-DGUM43GV.js.map +1 -0
  44. package/dist/chunk-G4SF2PNQ.js +33 -0
  45. package/dist/chunk-G4SF2PNQ.js.map +1 -0
  46. package/dist/chunk-GANCV72Z.cjs +110 -0
  47. package/dist/chunk-GANCV72Z.cjs.map +1 -0
  48. package/dist/{chunk-BLSI67J6.cjs → chunk-H5XMKBBA.cjs} +425 -30
  49. package/dist/chunk-H5XMKBBA.cjs.map +1 -0
  50. package/dist/{chunk-CJ7UWN2Y.js → chunk-IXFV6AW6.js} +397 -7
  51. package/dist/chunk-IXFV6AW6.js.map +1 -0
  52. package/dist/chunk-JEQ2X3Z6.cjs +12 -0
  53. package/dist/chunk-JEQ2X3Z6.cjs.map +1 -0
  54. package/dist/chunk-JO4BHPAD.cjs +40 -0
  55. package/dist/chunk-JO4BHPAD.cjs.map +1 -0
  56. package/dist/chunk-MEBXW75C.cjs +89 -0
  57. package/dist/chunk-MEBXW75C.cjs.map +1 -0
  58. package/dist/chunk-MNDGIW47.js +76 -0
  59. package/dist/chunk-MNDGIW47.js.map +1 -0
  60. package/dist/chunk-PPFHA6IL.js +83 -0
  61. package/dist/chunk-PPFHA6IL.js.map +1 -0
  62. package/dist/chunk-RQ74USYU.js +128 -0
  63. package/dist/chunk-RQ74USYU.js.map +1 -0
  64. package/dist/chunk-TXLIY7GF.cjs +132 -0
  65. package/dist/chunk-TXLIY7GF.cjs.map +1 -0
  66. package/dist/chunk-UIWFYMAO.cjs +82 -0
  67. package/dist/chunk-UIWFYMAO.cjs.map +1 -0
  68. package/dist/{chunk-4PRWNAXQ.cjs → chunk-UOWLKFXK.cjs} +27 -89
  69. package/dist/chunk-UOWLKFXK.cjs.map +1 -0
  70. package/dist/chunk-VD74IPKB.js +106 -0
  71. package/dist/chunk-VD74IPKB.js.map +1 -0
  72. package/dist/chunk-W73FBYIH.cjs +87 -0
  73. package/dist/chunk-W73FBYIH.cjs.map +1 -0
  74. package/dist/chunk-XGITAEXU.js +93 -0
  75. package/dist/chunk-XGITAEXU.js.map +1 -0
  76. package/dist/chunk-XWOHNY3F.cjs +96 -0
  77. package/dist/chunk-XWOHNY3F.cjs.map +1 -0
  78. package/dist/chunk-ZPYQDMUX.js +79 -0
  79. package/dist/chunk-ZPYQDMUX.js.map +1 -0
  80. package/dist/core/index.cjs +156 -84
  81. package/dist/core/index.d.cts +16 -4
  82. package/dist/core/index.d.ts +16 -4
  83. package/dist/core/index.js +13 -1
  84. package/dist/exa-72KFY5A7.cjs +21 -0
  85. package/dist/exa-72KFY5A7.cjs.map +1 -0
  86. package/dist/exa-Dp9U-WTc.d.ts +17 -0
  87. package/dist/exa-NNVPBC2M.js +4 -0
  88. package/dist/exa-NNVPBC2M.js.map +1 -0
  89. package/dist/exa-jJSPhyUW.d.cts +17 -0
  90. package/dist/google-CHU2yycE.d.cts +17 -0
  91. package/dist/google-CTEK6SV2.js +4 -0
  92. package/dist/google-CTEK6SV2.js.map +1 -0
  93. package/dist/google-Da8IQxaI.d.ts +17 -0
  94. package/dist/google-IIUXFFVF.cjs +21 -0
  95. package/dist/google-IIUXFFVF.cjs.map +1 -0
  96. package/dist/index-2VtgKM8S.d.cts +206 -0
  97. package/dist/index-pWEH7pUE.d.ts +206 -0
  98. package/dist/mcp/index.cjs +670 -0
  99. package/dist/mcp/index.cjs.map +1 -0
  100. package/dist/mcp/index.d.cts +779 -0
  101. package/dist/mcp/index.d.ts +779 -0
  102. package/dist/mcp/index.js +574 -0
  103. package/dist/mcp/index.js.map +1 -0
  104. package/dist/openai-6KTCQ7PZ.cjs +21 -0
  105. package/dist/openai-6KTCQ7PZ.cjs.map +1 -0
  106. package/dist/openai-7W2PCNW5.js +4 -0
  107. package/dist/openai-7W2PCNW5.js.map +1 -0
  108. package/dist/openai-Cam8hF4f.d.ts +17 -0
  109. package/dist/openai-HVSCuXgO.d.cts +17 -0
  110. package/dist/react/index.cjs +75 -42
  111. package/dist/react/index.d.cts +270 -45
  112. package/dist/react/index.d.ts +270 -45
  113. package/dist/react/index.js +15 -2
  114. package/dist/searxng-AXLVGY7Z.js +4 -0
  115. package/dist/searxng-AXLVGY7Z.js.map +1 -0
  116. package/dist/searxng-EJKNY236.cjs +21 -0
  117. package/dist/searxng-EJKNY236.cjs.map +1 -0
  118. package/dist/searxng-K0qtY9vp.d.ts +17 -0
  119. package/dist/searxng-QGOte_Gq.d.cts +17 -0
  120. package/dist/serper-3JYJHJX6.js +4 -0
  121. package/dist/serper-3JYJHJX6.js.map +1 -0
  122. package/dist/serper-63FT4AOL.cjs +21 -0
  123. package/dist/serper-63FT4AOL.cjs.map +1 -0
  124. package/dist/serper-7Czya3PW.d.ts +17 -0
  125. package/dist/serper-JzdaSnS9.d.cts +17 -0
  126. package/dist/styles.css +38 -0
  127. package/dist/tavily-AWFP4RM7.cjs +21 -0
  128. package/dist/tavily-AWFP4RM7.cjs.map +1 -0
  129. package/dist/tavily-C8cXXojE.d.cts +17 -0
  130. package/dist/tavily-CIWAAZPH.js +4 -0
  131. package/dist/tavily-CIWAAZPH.js.map +1 -0
  132. package/dist/tavily-DdSGVgkE.d.ts +17 -0
  133. package/dist/themes/catppuccin.css +2 -0
  134. package/dist/themes/claude.css +2 -0
  135. package/dist/themes/linear.css +2 -0
  136. package/dist/themes/modern-minimal.css +2 -0
  137. package/dist/themes/posthog.css +2 -0
  138. package/dist/themes/supabase.css +2 -0
  139. package/dist/themes/twitter.css +2 -0
  140. package/dist/themes/vercel.css +2 -0
  141. package/dist/tools/anthropic/index.cjs +61 -0
  142. package/dist/tools/anthropic/index.cjs.map +1 -0
  143. package/dist/tools/anthropic/index.d.cts +67 -0
  144. package/dist/tools/anthropic/index.d.ts +67 -0
  145. package/dist/tools/anthropic/index.js +56 -0
  146. package/dist/tools/anthropic/index.js.map +1 -0
  147. package/dist/tools/brave/index.cjs +85 -0
  148. package/dist/tools/brave/index.cjs.map +1 -0
  149. package/dist/tools/brave/index.d.cts +91 -0
  150. package/dist/tools/brave/index.d.ts +91 -0
  151. package/dist/tools/brave/index.js +80 -0
  152. package/dist/tools/brave/index.js.map +1 -0
  153. package/dist/tools/exa/index.cjs +90 -0
  154. package/dist/tools/exa/index.cjs.map +1 -0
  155. package/dist/tools/exa/index.d.cts +92 -0
  156. package/dist/tools/exa/index.d.ts +92 -0
  157. package/dist/tools/exa/index.js +85 -0
  158. package/dist/tools/exa/index.js.map +1 -0
  159. package/dist/tools/google/index.cjs +81 -0
  160. package/dist/tools/google/index.cjs.map +1 -0
  161. package/dist/tools/google/index.d.cts +81 -0
  162. package/dist/tools/google/index.d.ts +81 -0
  163. package/dist/tools/google/index.js +76 -0
  164. package/dist/tools/google/index.js.map +1 -0
  165. package/dist/tools/openai/index.cjs +83 -0
  166. package/dist/tools/openai/index.cjs.map +1 -0
  167. package/dist/tools/openai/index.d.cts +84 -0
  168. package/dist/tools/openai/index.d.ts +84 -0
  169. package/dist/tools/openai/index.js +78 -0
  170. package/dist/tools/openai/index.js.map +1 -0
  171. package/dist/tools/searxng/index.cjs +85 -0
  172. package/dist/tools/searxng/index.cjs.map +1 -0
  173. package/dist/tools/searxng/index.d.cts +91 -0
  174. package/dist/tools/searxng/index.d.ts +91 -0
  175. package/dist/tools/searxng/index.js +80 -0
  176. package/dist/tools/searxng/index.js.map +1 -0
  177. package/dist/tools/serper/index.cjs +85 -0
  178. package/dist/tools/serper/index.cjs.map +1 -0
  179. package/dist/tools/serper/index.d.cts +91 -0
  180. package/dist/tools/serper/index.d.ts +91 -0
  181. package/dist/tools/serper/index.js +80 -0
  182. package/dist/tools/serper/index.js.map +1 -0
  183. package/dist/tools/tavily/index.cjs +91 -0
  184. package/dist/tools/tavily/index.cjs.map +1 -0
  185. package/dist/tools/tavily/index.d.cts +95 -0
  186. package/dist/tools/tavily/index.d.ts +95 -0
  187. package/dist/tools/tavily/index.js +86 -0
  188. package/dist/tools/tavily/index.js.map +1 -0
  189. package/dist/tools/web-search/index.cjs +31 -0
  190. package/dist/tools/web-search/index.cjs.map +1 -0
  191. package/dist/tools/web-search/index.d.cts +3 -0
  192. package/dist/tools/web-search/index.d.ts +3 -0
  193. package/dist/tools/web-search/index.js +14 -0
  194. package/dist/tools/web-search/index.js.map +1 -0
  195. package/dist/{types-BtAaOV07.d.cts → tools-DDWrco4h.d.cts} +43 -367
  196. package/dist/{types-BtAaOV07.d.ts → tools-DDWrco4h.d.ts} +43 -367
  197. package/dist/types-B20VCJXL.d.cts +347 -0
  198. package/dist/types-B20VCJXL.d.ts +347 -0
  199. package/dist/types-Cizh9K_f.d.ts +441 -0
  200. package/dist/types-DG2ya08y.d.cts +367 -0
  201. package/dist/types-DG2ya08y.d.ts +367 -0
  202. package/dist/types-DjSfYNKj.d.cts +441 -0
  203. package/dist/types-ZguuKEs_.d.cts +127 -0
  204. package/dist/types-ZguuKEs_.d.ts +127 -0
  205. package/dist/ui/index.cjs +1075 -148
  206. package/dist/ui/index.cjs.map +1 -1
  207. package/dist/ui/index.d.cts +410 -4
  208. package/dist/ui/index.d.ts +410 -4
  209. package/dist/ui/index.js +1007 -96
  210. package/dist/ui/index.js.map +1 -1
  211. package/package.json +52 -2
  212. package/dist/chunk-4PRWNAXQ.cjs.map +0 -1
  213. package/dist/chunk-BLSI67J6.cjs.map +0 -1
  214. package/dist/chunk-CJ7UWN2Y.js.map +0 -1
  215. 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 };