@executor-js/plugin-mcp 1.4.32 → 1.5.0

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 (57) hide show
  1. package/dist/AddMcpSource-4LLERUW5.js +602 -0
  2. package/dist/AddMcpSource-4LLERUW5.js.map +1 -0
  3. package/dist/EditMcpSource-GKJRP75X.js +313 -0
  4. package/dist/EditMcpSource-GKJRP75X.js.map +1 -0
  5. package/dist/McpAccountsPanel-UX7MHEIG.js +132 -0
  6. package/dist/McpAccountsPanel-UX7MHEIG.js.map +1 -0
  7. package/dist/api/group.d.ts +79 -143
  8. package/dist/api/index.d.ts +99 -155
  9. package/dist/chunk-2TXHTMKM.js +1298 -0
  10. package/dist/chunk-2TXHTMKM.js.map +1 -0
  11. package/dist/chunk-6OEQZ72N.js +124 -0
  12. package/dist/chunk-6OEQZ72N.js.map +1 -0
  13. package/dist/chunk-7FJ3PUUL.js +21 -0
  14. package/dist/chunk-7FJ3PUUL.js.map +1 -0
  15. package/dist/chunk-N4EAF5CA.js +146 -0
  16. package/dist/chunk-N4EAF5CA.js.map +1 -0
  17. package/dist/client.js +9 -9
  18. package/dist/client.js.map +1 -1
  19. package/dist/core.js +36 -26
  20. package/dist/index.js +2 -2
  21. package/dist/promise.d.ts +1 -1
  22. package/dist/react/AddMcpSource.d.ts +1 -1
  23. package/dist/react/McpAccountsPanel.d.ts +6 -0
  24. package/dist/react/McpRemoteSourceFields.d.ts +4 -2
  25. package/dist/react/McpSignInButton.d.ts +2 -0
  26. package/dist/react/atoms.d.ts +93 -313
  27. package/dist/react/auth-method-config.d.ts +8 -0
  28. package/dist/react/client.d.ts +78 -142
  29. package/dist/react/index.d.ts +3 -3
  30. package/dist/react/source-plugin.d.ts +5 -5
  31. package/dist/sdk/connection.d.ts +4 -4
  32. package/dist/sdk/errors.d.ts +0 -19
  33. package/dist/sdk/index.d.ts +4 -3
  34. package/dist/sdk/invoke.d.ts +9 -16
  35. package/dist/sdk/plugin.d.ts +101 -236
  36. package/dist/sdk/types.d.ts +25 -130
  37. package/package.json +5 -4
  38. package/dist/AddMcpSource-PADMBVX2.js +0 -688
  39. package/dist/AddMcpSource-PADMBVX2.js.map +0 -1
  40. package/dist/EditMcpSource-L5GC2B4J.js +0 -281
  41. package/dist/EditMcpSource-L5GC2B4J.js.map +0 -1
  42. package/dist/McpSourceSummary-LE3WXFUE.js +0 -170
  43. package/dist/McpSourceSummary-LE3WXFUE.js.map +0 -1
  44. package/dist/chunk-6OYEXHU3.js +0 -156
  45. package/dist/chunk-6OYEXHU3.js.map +0 -1
  46. package/dist/chunk-FMTVLO5L.js +0 -179
  47. package/dist/chunk-FMTVLO5L.js.map +0 -1
  48. package/dist/chunk-LEGVPKYH.js +0 -2391
  49. package/dist/chunk-LEGVPKYH.js.map +0 -1
  50. package/dist/chunk-ZIRGIRGP.js +0 -115
  51. package/dist/chunk-ZIRGIRGP.js.map +0 -1
  52. package/dist/react/McpSourceSummary.d.ts +0 -5
  53. package/dist/sdk/binding-store.d.ts +0 -31
  54. package/dist/sdk/stored-source.d.ts +0 -42
  55. /package/dist/{sdk/connection-pool.test.d.ts → react/auth-method-config.test.d.ts} +0 -0
  56. /package/dist/sdk/{cross-user-isolation.test.d.ts → describe-auth-methods.test.d.ts} +0 -0
  57. /package/dist/sdk/{per-user-auth-isolation.test.d.ts → owner-isolation.test.d.ts} +0 -0
@@ -1,129 +1,37 @@
1
1
  import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
2
2
  import { Schema } from "effect";
3
- import { InternalError } from "@executor-js/sdk/shared";
3
+ import { InternalError, IntegrationAlreadyExistsError } from "@executor-js/sdk/shared";
4
4
  import { McpConnectionError, McpToolDiscoveryError } from "../sdk/errors";
5
- export declare const McpGroup: HttpApiGroup.HttpApiGroup<"mcp", HttpApiEndpoint.HttpApiEndpoint<"probeEndpoint", "POST", "/scopes/:scopeId/mcp/probe", HttpApiEndpoint.StringTree<Schema.Struct<{
6
- scopeId: Schema.brand<Schema.String, "ScopeId">;
7
- }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
5
+ export declare const McpGroup: HttpApiGroup.HttpApiGroup<"mcp", HttpApiEndpoint.HttpApiEndpoint<"probeEndpoint", "POST", "/mcp/probe", HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
8
6
  readonly endpoint: Schema.String;
9
- readonly headers: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
10
- readonly secretId: Schema.String;
11
- readonly prefix: Schema.optional<Schema.String>;
12
- }>]>>>;
13
- readonly queryParams: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
14
- readonly secretId: Schema.String;
15
- readonly prefix: Schema.optional<Schema.String>;
16
- }>]>>>;
7
+ readonly headers: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
8
+ readonly queryParams: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
17
9
  }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
18
10
  readonly connected: Schema.Boolean;
11
+ readonly requiresAuthentication: Schema.Boolean;
19
12
  readonly requiresOAuth: Schema.Boolean;
20
13
  readonly supportsDynamicRegistration: Schema.Boolean;
21
14
  readonly name: Schema.String;
22
- readonly namespace: Schema.String;
15
+ readonly slug: Schema.String;
23
16
  readonly toolCount: Schema.NullOr<Schema.Number>;
24
17
  readonly serverName: Schema.NullOr<Schema.String>;
25
- }>>, HttpApiEndpoint.Json<typeof InternalError | typeof McpConnectionError | typeof McpToolDiscoveryError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"addSource", "POST", "/scopes/:scopeId/mcp/sources", HttpApiEndpoint.StringTree<Schema.Struct<{
26
- scopeId: Schema.brand<Schema.String, "ScopeId">;
27
- }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Union<readonly [Schema.Struct<{
28
- readonly transport: Schema.Literal<"remote">;
18
+ }>>, HttpApiEndpoint.Json<typeof InternalError | typeof McpConnectionError | typeof McpToolDiscoveryError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"addServer", "POST", "/mcp/servers", HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Union<readonly [Schema.Struct<{
19
+ readonly transport: Schema.optional<Schema.Literal<"remote">>;
29
20
  readonly name: Schema.String;
30
21
  readonly endpoint: Schema.String;
31
22
  readonly remoteTransport: Schema.optional<Schema.Literals<readonly ["streamable-http", "sse", "auto"]>>;
32
- readonly namespace: Schema.optional<Schema.String>;
33
- readonly queryParams: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
34
- readonly kind: Schema.Literal<"secret">;
35
- readonly prefix: Schema.optional<Schema.String>;
36
- }>]>>>;
37
- readonly headers: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
38
- readonly kind: Schema.Literal<"secret">;
23
+ readonly slug: Schema.optional<Schema.String>;
24
+ readonly queryParams: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
25
+ readonly headers: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
26
+ readonly auth: Schema.optional<Schema.Union<readonly [Schema.Struct<{
27
+ readonly kind: Schema.Literal<"none">;
28
+ }>, Schema.Struct<{
29
+ readonly kind: Schema.Literal<"header">;
30
+ readonly headerName: Schema.String;
39
31
  readonly prefix: Schema.optional<Schema.String>;
40
- }>]>>>;
41
- readonly oauth2: Schema.optional<Schema.Struct<{
32
+ }>, Schema.Struct<{
42
33
  readonly kind: Schema.Literal<"oauth2">;
43
- readonly securitySchemeName: Schema.String;
44
- readonly flow: Schema.Literals<readonly ["authorizationCode", "clientCredentials"]>;
45
- readonly tokenUrl: Schema.String;
46
- readonly authorizationUrl: Schema.withDecodingDefault<Schema.optional<Schema.NullOr<Schema.String>>>;
47
- readonly issuerUrl: Schema.optional<Schema.NullOr<Schema.String>>;
48
- readonly clientIdSlot: Schema.String;
49
- readonly clientSecretSlot: Schema.NullOr<Schema.String>;
50
- readonly connectionSlot: Schema.String;
51
- readonly scopes: Schema.$Array<Schema.String>;
52
- }>>;
53
- readonly credentials: Schema.optional<Schema.Struct<{
54
- readonly scope: Schema.brand<Schema.String, "ScopeId">;
55
- readonly headers: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
56
- readonly kind: Schema.Literal<"text">;
57
- readonly text: Schema.String;
58
- readonly prefix: Schema.optional<Schema.String>;
59
- }>, Schema.Struct<{
60
- readonly kind: Schema.Literal<"secret">;
61
- readonly secretId: Schema.String;
62
- readonly secretScope: Schema.optional<Schema.String>;
63
- readonly prefix: Schema.optional<Schema.String>;
64
- }>, Schema.Struct<{
65
- readonly kind: Schema.Literal<"connection">;
66
- readonly connectionId: Schema.String;
67
- }>]>>>;
68
- readonly queryParams: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
69
- readonly kind: Schema.Literal<"text">;
70
- readonly text: Schema.String;
71
- readonly prefix: Schema.optional<Schema.String>;
72
- }>, Schema.Struct<{
73
- readonly kind: Schema.Literal<"secret">;
74
- readonly secretId: Schema.String;
75
- readonly secretScope: Schema.optional<Schema.String>;
76
- readonly prefix: Schema.optional<Schema.String>;
77
- }>, Schema.Struct<{
78
- readonly kind: Schema.Literal<"connection">;
79
- readonly connectionId: Schema.String;
80
- }>]>>>;
81
- readonly auth: Schema.optional<Schema.Union<readonly [Schema.Struct<{
82
- readonly kind: Schema.Literal<"none">;
83
- }>, Schema.Struct<{
84
- readonly oauth2: Schema.optional<Schema.Struct<{
85
- readonly clientId: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
86
- readonly kind: Schema.Literal<"text">;
87
- readonly text: Schema.String;
88
- readonly prefix: Schema.optional<Schema.String>;
89
- }>, Schema.Struct<{
90
- readonly kind: Schema.Literal<"secret">;
91
- readonly secretId: Schema.String;
92
- readonly secretScope: Schema.optional<Schema.String>;
93
- readonly prefix: Schema.optional<Schema.String>;
94
- }>, Schema.Struct<{
95
- readonly kind: Schema.Literal<"connection">;
96
- readonly connectionId: Schema.String;
97
- }>]>>;
98
- readonly clientSecret: Schema.optional<Schema.NullOr<Schema.Union<readonly [Schema.String, Schema.Struct<{
99
- readonly kind: Schema.Literal<"text">;
100
- readonly text: Schema.String;
101
- readonly prefix: Schema.optional<Schema.String>;
102
- }>, Schema.Struct<{
103
- readonly kind: Schema.Literal<"secret">;
104
- readonly secretId: Schema.String;
105
- readonly secretScope: Schema.optional<Schema.String>;
106
- readonly prefix: Schema.optional<Schema.String>;
107
- }>, Schema.Struct<{
108
- readonly kind: Schema.Literal<"connection">;
109
- readonly connectionId: Schema.String;
110
- }>]>>>;
111
- readonly connection: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
112
- readonly kind: Schema.Literal<"text">;
113
- readonly text: Schema.String;
114
- readonly prefix: Schema.optional<Schema.String>;
115
- }>, Schema.Struct<{
116
- readonly kind: Schema.Literal<"secret">;
117
- readonly secretId: Schema.String;
118
- readonly secretScope: Schema.optional<Schema.String>;
119
- readonly prefix: Schema.optional<Schema.String>;
120
- }>, Schema.Struct<{
121
- readonly kind: Schema.Literal<"connection">;
122
- readonly connectionId: Schema.String;
123
- }>]>>;
124
- }>>;
125
- }>]>>;
126
- }>>;
34
+ }>]>>;
127
35
  }>, Schema.Struct<{
128
36
  readonly transport: Schema.Literal<"stdio">;
129
37
  readonly name: Schema.String;
@@ -131,55 +39,83 @@ export declare const McpGroup: HttpApiGroup.HttpApiGroup<"mcp", HttpApiEndpoint.
131
39
  readonly args: Schema.optional<Schema.$Array<Schema.String>>;
132
40
  readonly env: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
133
41
  readonly cwd: Schema.optional<Schema.String>;
134
- readonly namespace: Schema.optional<Schema.String>;
42
+ readonly slug: Schema.optional<Schema.String>;
135
43
  }>]>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
136
- readonly toolCount: Schema.Number;
137
- readonly namespace: Schema.String;
138
- }>>, HttpApiEndpoint.Json<typeof InternalError | typeof McpConnectionError | typeof McpToolDiscoveryError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"removeSource", "POST", "/scopes/:scopeId/mcp/sources/remove", HttpApiEndpoint.StringTree<Schema.Struct<{
139
- scopeId: Schema.brand<Schema.String, "ScopeId">;
140
- }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
141
- readonly namespace: Schema.String;
142
- }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
44
+ readonly slug: Schema.String;
45
+ }>>, HttpApiEndpoint.Json<typeof IntegrationAlreadyExistsError | typeof InternalError | typeof McpConnectionError | typeof McpToolDiscoveryError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"removeServer", "DELETE", "/mcp/servers/:slug", HttpApiEndpoint.StringTree<Schema.Struct<{
46
+ slug: Schema.brand<Schema.String, "IntegrationSlug">;
47
+ }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
143
48
  readonly removed: Schema.Boolean;
144
- }>>, HttpApiEndpoint.Json<typeof InternalError | typeof McpConnectionError | typeof McpToolDiscoveryError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"refreshSource", "POST", "/scopes/:scopeId/mcp/sources/refresh", HttpApiEndpoint.StringTree<Schema.Struct<{
145
- scopeId: Schema.brand<Schema.String, "ScopeId">;
146
- }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
147
- readonly namespace: Schema.String;
148
- }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
149
- readonly toolCount: Schema.Number;
150
- }>>, HttpApiEndpoint.Json<typeof InternalError | typeof McpConnectionError | typeof McpToolDiscoveryError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"getSource", "GET", "/scopes/:scopeId/mcp/sources/:namespace", HttpApiEndpoint.StringTree<Schema.Struct<{
151
- scopeId: Schema.brand<Schema.String, "ScopeId">;
152
- namespace: Schema.String;
49
+ }>>, HttpApiEndpoint.Json<typeof InternalError | typeof McpConnectionError | typeof McpToolDiscoveryError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"getServer", "GET", "/mcp/servers/:slug", HttpApiEndpoint.StringTree<Schema.Struct<{
50
+ slug: Schema.brand<Schema.String, "IntegrationSlug">;
153
51
  }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.NullOr<Schema.Struct<{
154
- readonly namespace: Schema.String;
155
- readonly scope: Schema.brand<Schema.String, "ScopeId">;
156
- readonly name: Schema.String;
52
+ readonly slug: Schema.brand<Schema.String, "IntegrationSlug">;
53
+ readonly description: Schema.String;
54
+ readonly kind: Schema.String;
55
+ readonly canRemove: Schema.Boolean;
56
+ readonly canRefresh: Schema.Boolean;
157
57
  readonly config: Schema.Union<readonly [Schema.Struct<{
158
58
  readonly transport: Schema.Literal<"remote">;
159
59
  readonly endpoint: Schema.String;
160
60
  readonly remoteTransport: Schema.withConstructorDefault<Schema.optionalKey<Schema.Literals<readonly ["streamable-http", "sse", "auto"]>>>;
161
- readonly queryParams: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
162
- readonly kind: Schema.Literal<"binding">;
163
- readonly slot: Schema.String;
61
+ readonly queryParams: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
62
+ readonly headers: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
63
+ readonly auth: Schema.Union<readonly [Schema.Struct<{
64
+ readonly kind: Schema.Literal<"none">;
65
+ }>, Schema.Struct<{
66
+ readonly kind: Schema.Literal<"header">;
67
+ readonly headerName: Schema.String;
164
68
  readonly prefix: Schema.optional<Schema.String>;
165
- }>]>>>;
166
- readonly headers: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
167
- readonly kind: Schema.Literal<"binding">;
168
- readonly slot: Schema.String;
69
+ }>, Schema.Struct<{
70
+ readonly kind: Schema.Literal<"oauth2">;
71
+ }>]>;
72
+ }>, Schema.Struct<{
73
+ readonly transport: Schema.Literal<"stdio">;
74
+ readonly command: Schema.String;
75
+ readonly args: Schema.optional<Schema.$Array<Schema.String>>;
76
+ readonly env: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
77
+ readonly cwd: Schema.optional<Schema.String>;
78
+ }>]>;
79
+ }>>>, HttpApiEndpoint.Json<typeof InternalError | typeof McpConnectionError | typeof McpToolDiscoveryError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"configureServer", "POST", "/mcp/servers/:slug/config", HttpApiEndpoint.StringTree<Schema.Struct<{
80
+ slug: Schema.brand<Schema.String, "IntegrationSlug">;
81
+ }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
82
+ readonly config: Schema.Union<readonly [Schema.Struct<{
83
+ readonly transport: Schema.Literal<"remote">;
84
+ readonly endpoint: Schema.String;
85
+ readonly remoteTransport: Schema.withConstructorDefault<Schema.optionalKey<Schema.Literals<readonly ["streamable-http", "sse", "auto"]>>>;
86
+ readonly queryParams: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
87
+ readonly headers: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
88
+ readonly auth: Schema.Union<readonly [Schema.Struct<{
89
+ readonly kind: Schema.Literal<"none">;
90
+ }>, Schema.Struct<{
91
+ readonly kind: Schema.Literal<"header">;
92
+ readonly headerName: Schema.String;
169
93
  readonly prefix: Schema.optional<Schema.String>;
170
- }>]>>>;
94
+ }>, Schema.Struct<{
95
+ readonly kind: Schema.Literal<"oauth2">;
96
+ }>]>;
97
+ }>, Schema.Struct<{
98
+ readonly transport: Schema.Literal<"stdio">;
99
+ readonly command: Schema.String;
100
+ readonly args: Schema.optional<Schema.$Array<Schema.String>>;
101
+ readonly env: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
102
+ readonly cwd: Schema.optional<Schema.String>;
103
+ }>]>;
104
+ }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
105
+ readonly config: Schema.Union<readonly [Schema.Struct<{
106
+ readonly transport: Schema.Literal<"remote">;
107
+ readonly endpoint: Schema.String;
108
+ readonly remoteTransport: Schema.withConstructorDefault<Schema.optionalKey<Schema.Literals<readonly ["streamable-http", "sse", "auto"]>>>;
109
+ readonly queryParams: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
110
+ readonly headers: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
171
111
  readonly auth: Schema.Union<readonly [Schema.Struct<{
172
112
  readonly kind: Schema.Literal<"none">;
173
113
  }>, Schema.Struct<{
174
114
  readonly kind: Schema.Literal<"header">;
175
115
  readonly headerName: Schema.String;
176
- readonly secretSlot: Schema.String;
177
116
  readonly prefix: Schema.optional<Schema.String>;
178
117
  }>, Schema.Struct<{
179
118
  readonly kind: Schema.Literal<"oauth2">;
180
- readonly connectionSlot: Schema.String;
181
- readonly clientIdSlot: Schema.optional<Schema.String>;
182
- readonly clientSecretSlot: Schema.optional<Schema.String>;
183
119
  }>]>;
184
120
  }>, Schema.Struct<{
185
121
  readonly transport: Schema.Literal<"stdio">;
@@ -188,4 +124,4 @@ export declare const McpGroup: HttpApiGroup.HttpApiGroup<"mcp", HttpApiEndpoint.
188
124
  readonly env: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
189
125
  readonly cwd: Schema.optional<Schema.String>;
190
126
  }>]>;
191
- }>>>, HttpApiEndpoint.Json<typeof InternalError | typeof McpConnectionError | typeof McpToolDiscoveryError>, never, never>, false>;
127
+ }>>, HttpApiEndpoint.Json<typeof InternalError | typeof McpConnectionError | typeof McpToolDiscoveryError>, never, never>, false>;