@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.js';
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 };