@executor-js/plugin-mcp 1.4.33 → 1.5.1

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,125 +1,33 @@
1
- export declare const McpClient: import("effect/unstable/reactivity/AtomHttpApi").AtomHttpApiClient<"Plugin_mcpClient", `Plugin_${string}Client`, import("effect/unstable/httpapi/HttpApiGroup").HttpApiGroup<"mcp", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"probeEndpoint", "POST", "/scopes/:scopeId/mcp/probe", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
2
- scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
3
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
1
+ export declare const McpClient: import("effect/unstable/reactivity/AtomHttpApi").AtomHttpApiClient<"Plugin_mcpClient", `Plugin_${string}Client`, import("effect/unstable/httpapi/HttpApiGroup").HttpApiGroup<"mcp", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"probeEndpoint", "POST", "/mcp/probe", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
4
2
  readonly endpoint: import("effect/Schema").String;
5
- readonly headers: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
6
- readonly secretId: import("effect/Schema").String;
7
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
8
- }>]>>>;
9
- readonly queryParams: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
10
- readonly secretId: import("effect/Schema").String;
11
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
12
- }>]>>>;
3
+ readonly headers: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
4
+ readonly queryParams: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
13
5
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
14
6
  readonly connected: import("effect/Schema").Boolean;
7
+ readonly requiresAuthentication: import("effect/Schema").Boolean;
15
8
  readonly requiresOAuth: import("effect/Schema").Boolean;
16
9
  readonly supportsDynamicRegistration: import("effect/Schema").Boolean;
17
10
  readonly name: import("effect/Schema").String;
18
- readonly namespace: import("effect/Schema").String;
11
+ readonly slug: import("effect/Schema").String;
19
12
  readonly toolCount: import("effect/Schema").NullOr<import("effect/Schema").Number>;
20
13
  readonly serverName: import("effect/Schema").NullOr<import("effect/Schema").String>;
21
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/sdk").InternalError | typeof import("../sdk/errors").McpConnectionError | typeof import("../sdk/errors").McpToolDiscoveryError>, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"addSource", "POST", "/scopes/:scopeId/mcp/sources", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
22
- scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
23
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
24
- readonly transport: import("effect/Schema").Literal<"remote">;
14
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/sdk").InternalError | typeof import("../sdk").McpConnectionError | typeof import("../sdk").McpToolDiscoveryError>, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"addServer", "POST", "/mcp/servers", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
15
+ readonly transport: import("effect/Schema").optional<import("effect/Schema").Literal<"remote">>;
25
16
  readonly name: import("effect/Schema").String;
26
17
  readonly endpoint: import("effect/Schema").String;
27
18
  readonly remoteTransport: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["streamable-http", "sse", "auto"]>>;
28
- readonly namespace: import("effect/Schema").optional<import("effect/Schema").String>;
29
- readonly queryParams: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
30
- readonly kind: import("effect/Schema").Literal<"secret">;
31
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
32
- }>]>>>;
33
- readonly headers: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
34
- readonly kind: import("effect/Schema").Literal<"secret">;
19
+ readonly slug: import("effect/Schema").optional<import("effect/Schema").String>;
20
+ readonly queryParams: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
21
+ readonly headers: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
22
+ readonly auth: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
23
+ readonly kind: import("effect/Schema").Literal<"none">;
24
+ }>, import("effect/Schema").Struct<{
25
+ readonly kind: import("effect/Schema").Literal<"header">;
26
+ readonly headerName: import("effect/Schema").String;
35
27
  readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
36
- }>]>>>;
37
- readonly oauth2: import("effect/Schema").optional<import("effect/Schema").Struct<{
28
+ }>, import("effect/Schema").Struct<{
38
29
  readonly kind: import("effect/Schema").Literal<"oauth2">;
39
- readonly securitySchemeName: import("effect/Schema").String;
40
- readonly flow: import("effect/Schema").Literals<readonly ["authorizationCode", "clientCredentials"]>;
41
- readonly tokenUrl: import("effect/Schema").String;
42
- readonly authorizationUrl: import("effect/Schema").withDecodingDefault<import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>>;
43
- readonly issuerUrl: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
44
- readonly clientIdSlot: import("effect/Schema").String;
45
- readonly clientSecretSlot: import("effect/Schema").NullOr<import("effect/Schema").String>;
46
- readonly connectionSlot: import("effect/Schema").String;
47
- readonly scopes: import("effect/Schema").$Array<import("effect/Schema").String>;
48
- }>>;
49
- readonly credentials: import("effect/Schema").optional<import("effect/Schema").Struct<{
50
- readonly scope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
51
- readonly headers: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
52
- readonly kind: import("effect/Schema").Literal<"text">;
53
- readonly text: import("effect/Schema").String;
54
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
55
- }>, import("effect/Schema").Struct<{
56
- readonly kind: import("effect/Schema").Literal<"secret">;
57
- readonly secretId: import("effect/Schema").String;
58
- readonly secretScope: import("effect/Schema").optional<import("effect/Schema").String>;
59
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
60
- }>, import("effect/Schema").Struct<{
61
- readonly kind: import("effect/Schema").Literal<"connection">;
62
- readonly connectionId: import("effect/Schema").String;
63
- }>]>>>;
64
- readonly queryParams: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
65
- readonly kind: import("effect/Schema").Literal<"text">;
66
- readonly text: import("effect/Schema").String;
67
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
68
- }>, import("effect/Schema").Struct<{
69
- readonly kind: import("effect/Schema").Literal<"secret">;
70
- readonly secretId: import("effect/Schema").String;
71
- readonly secretScope: import("effect/Schema").optional<import("effect/Schema").String>;
72
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
73
- }>, import("effect/Schema").Struct<{
74
- readonly kind: import("effect/Schema").Literal<"connection">;
75
- readonly connectionId: import("effect/Schema").String;
76
- }>]>>>;
77
- readonly auth: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
78
- readonly kind: import("effect/Schema").Literal<"none">;
79
- }>, import("effect/Schema").Struct<{
80
- readonly oauth2: import("effect/Schema").optional<import("effect/Schema").Struct<{
81
- readonly clientId: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
82
- readonly kind: import("effect/Schema").Literal<"text">;
83
- readonly text: import("effect/Schema").String;
84
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
85
- }>, import("effect/Schema").Struct<{
86
- readonly kind: import("effect/Schema").Literal<"secret">;
87
- readonly secretId: import("effect/Schema").String;
88
- readonly secretScope: import("effect/Schema").optional<import("effect/Schema").String>;
89
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
90
- }>, import("effect/Schema").Struct<{
91
- readonly kind: import("effect/Schema").Literal<"connection">;
92
- readonly connectionId: import("effect/Schema").String;
93
- }>]>>;
94
- readonly clientSecret: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
95
- readonly kind: import("effect/Schema").Literal<"text">;
96
- readonly text: import("effect/Schema").String;
97
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
98
- }>, import("effect/Schema").Struct<{
99
- readonly kind: import("effect/Schema").Literal<"secret">;
100
- readonly secretId: import("effect/Schema").String;
101
- readonly secretScope: import("effect/Schema").optional<import("effect/Schema").String>;
102
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
103
- }>, import("effect/Schema").Struct<{
104
- readonly kind: import("effect/Schema").Literal<"connection">;
105
- readonly connectionId: import("effect/Schema").String;
106
- }>]>>>;
107
- readonly connection: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
108
- readonly kind: import("effect/Schema").Literal<"text">;
109
- readonly text: import("effect/Schema").String;
110
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
111
- }>, import("effect/Schema").Struct<{
112
- readonly kind: import("effect/Schema").Literal<"secret">;
113
- readonly secretId: import("effect/Schema").String;
114
- readonly secretScope: import("effect/Schema").optional<import("effect/Schema").String>;
115
- readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
116
- }>, import("effect/Schema").Struct<{
117
- readonly kind: import("effect/Schema").Literal<"connection">;
118
- readonly connectionId: import("effect/Schema").String;
119
- }>]>>;
120
- }>>;
121
- }>]>>;
122
- }>>;
30
+ }>]>>;
123
31
  }>, import("effect/Schema").Struct<{
124
32
  readonly transport: import("effect/Schema").Literal<"stdio">;
125
33
  readonly name: import("effect/Schema").String;
@@ -127,55 +35,83 @@ export declare const McpClient: import("effect/unstable/reactivity/AtomHttpApi")
127
35
  readonly args: import("effect/Schema").optional<import("effect/Schema").$Array<import("effect/Schema").String>>;
128
36
  readonly env: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
129
37
  readonly cwd: import("effect/Schema").optional<import("effect/Schema").String>;
130
- readonly namespace: import("effect/Schema").optional<import("effect/Schema").String>;
38
+ readonly slug: import("effect/Schema").optional<import("effect/Schema").String>;
131
39
  }>]>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
132
- readonly toolCount: import("effect/Schema").Number;
133
- readonly namespace: import("effect/Schema").String;
134
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/sdk").InternalError | typeof import("../sdk/errors").McpConnectionError | typeof import("../sdk/errors").McpToolDiscoveryError>, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"removeSource", "POST", "/scopes/:scopeId/mcp/sources/remove", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
135
- scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
136
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
137
- readonly namespace: import("effect/Schema").String;
138
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
40
+ readonly slug: import("effect/Schema").String;
41
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/sdk").IntegrationAlreadyExistsError | typeof import("@executor-js/sdk").InternalError | typeof import("../sdk").McpConnectionError | typeof import("../sdk").McpToolDiscoveryError>, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"removeServer", "DELETE", "/mcp/servers/:slug", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
42
+ slug: import("effect/Schema").brand<import("effect/Schema").String, "IntegrationSlug">;
43
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
139
44
  readonly removed: import("effect/Schema").Boolean;
140
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/sdk").InternalError | typeof import("../sdk/errors").McpConnectionError | typeof import("../sdk/errors").McpToolDiscoveryError>, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"refreshSource", "POST", "/scopes/:scopeId/mcp/sources/refresh", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
141
- scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
142
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
143
- readonly namespace: import("effect/Schema").String;
144
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
145
- readonly toolCount: import("effect/Schema").Number;
146
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/sdk").InternalError | typeof import("../sdk/errors").McpConnectionError | typeof import("../sdk/errors").McpToolDiscoveryError>, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"getSource", "GET", "/scopes/:scopeId/mcp/sources/:namespace", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
147
- scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
148
- namespace: import("effect/Schema").String;
45
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/sdk").InternalError | typeof import("../sdk").McpConnectionError | typeof import("../sdk").McpToolDiscoveryError>, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"getServer", "GET", "/mcp/servers/:slug", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
46
+ slug: import("effect/Schema").brand<import("effect/Schema").String, "IntegrationSlug">;
149
47
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").NullOr<import("effect/Schema").Struct<{
150
- readonly namespace: import("effect/Schema").String;
151
- readonly scope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
152
- readonly name: import("effect/Schema").String;
48
+ readonly slug: import("effect/Schema").brand<import("effect/Schema").String, "IntegrationSlug">;
49
+ readonly description: import("effect/Schema").String;
50
+ readonly kind: import("effect/Schema").String;
51
+ readonly canRemove: import("effect/Schema").Boolean;
52
+ readonly canRefresh: import("effect/Schema").Boolean;
153
53
  readonly config: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
154
54
  readonly transport: import("effect/Schema").Literal<"remote">;
155
55
  readonly endpoint: import("effect/Schema").String;
156
56
  readonly remoteTransport: import("effect/Schema").withConstructorDefault<import("effect/Schema").optionalKey<import("effect/Schema").Literals<readonly ["streamable-http", "sse", "auto"]>>>;
157
- readonly queryParams: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
158
- readonly kind: import("effect/Schema").Literal<"binding">;
159
- readonly slot: import("effect/Schema").String;
57
+ readonly queryParams: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
58
+ readonly headers: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
59
+ readonly auth: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
60
+ readonly kind: import("effect/Schema").Literal<"none">;
61
+ }>, import("effect/Schema").Struct<{
62
+ readonly kind: import("effect/Schema").Literal<"header">;
63
+ readonly headerName: import("effect/Schema").String;
160
64
  readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
161
- }>]>>>;
162
- readonly headers: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
163
- readonly kind: import("effect/Schema").Literal<"binding">;
164
- readonly slot: import("effect/Schema").String;
65
+ }>, import("effect/Schema").Struct<{
66
+ readonly kind: import("effect/Schema").Literal<"oauth2">;
67
+ }>]>;
68
+ }>, import("effect/Schema").Struct<{
69
+ readonly transport: import("effect/Schema").Literal<"stdio">;
70
+ readonly command: import("effect/Schema").String;
71
+ readonly args: import("effect/Schema").optional<import("effect/Schema").$Array<import("effect/Schema").String>>;
72
+ readonly env: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
73
+ readonly cwd: import("effect/Schema").optional<import("effect/Schema").String>;
74
+ }>]>;
75
+ }>>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/sdk").InternalError | typeof import("../sdk").McpConnectionError | typeof import("../sdk").McpToolDiscoveryError>, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"configureServer", "POST", "/mcp/servers/:slug/config", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
76
+ slug: import("effect/Schema").brand<import("effect/Schema").String, "IntegrationSlug">;
77
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
78
+ readonly config: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
79
+ readonly transport: import("effect/Schema").Literal<"remote">;
80
+ readonly endpoint: import("effect/Schema").String;
81
+ readonly remoteTransport: import("effect/Schema").withConstructorDefault<import("effect/Schema").optionalKey<import("effect/Schema").Literals<readonly ["streamable-http", "sse", "auto"]>>>;
82
+ readonly queryParams: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
83
+ readonly headers: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
84
+ readonly auth: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
85
+ readonly kind: import("effect/Schema").Literal<"none">;
86
+ }>, import("effect/Schema").Struct<{
87
+ readonly kind: import("effect/Schema").Literal<"header">;
88
+ readonly headerName: import("effect/Schema").String;
165
89
  readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
166
- }>]>>>;
90
+ }>, import("effect/Schema").Struct<{
91
+ readonly kind: import("effect/Schema").Literal<"oauth2">;
92
+ }>]>;
93
+ }>, import("effect/Schema").Struct<{
94
+ readonly transport: import("effect/Schema").Literal<"stdio">;
95
+ readonly command: import("effect/Schema").String;
96
+ readonly args: import("effect/Schema").optional<import("effect/Schema").$Array<import("effect/Schema").String>>;
97
+ readonly env: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
98
+ readonly cwd: import("effect/Schema").optional<import("effect/Schema").String>;
99
+ }>]>;
100
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
101
+ readonly config: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
102
+ readonly transport: import("effect/Schema").Literal<"remote">;
103
+ readonly endpoint: import("effect/Schema").String;
104
+ readonly remoteTransport: import("effect/Schema").withConstructorDefault<import("effect/Schema").optionalKey<import("effect/Schema").Literals<readonly ["streamable-http", "sse", "auto"]>>>;
105
+ readonly queryParams: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
106
+ readonly headers: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
167
107
  readonly auth: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
168
108
  readonly kind: import("effect/Schema").Literal<"none">;
169
109
  }>, import("effect/Schema").Struct<{
170
110
  readonly kind: import("effect/Schema").Literal<"header">;
171
111
  readonly headerName: import("effect/Schema").String;
172
- readonly secretSlot: import("effect/Schema").String;
173
112
  readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
174
113
  }>, import("effect/Schema").Struct<{
175
114
  readonly kind: import("effect/Schema").Literal<"oauth2">;
176
- readonly connectionSlot: import("effect/Schema").String;
177
- readonly clientIdSlot: import("effect/Schema").optional<import("effect/Schema").String>;
178
- readonly clientSecretSlot: import("effect/Schema").optional<import("effect/Schema").String>;
179
115
  }>]>;
180
116
  }>, import("effect/Schema").Struct<{
181
117
  readonly transport: import("effect/Schema").Literal<"stdio">;
@@ -184,4 +120,4 @@ export declare const McpClient: import("effect/unstable/reactivity/AtomHttpApi")
184
120
  readonly env: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
185
121
  readonly cwd: import("effect/Schema").optional<import("effect/Schema").String>;
186
122
  }>]>;
187
- }>>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/sdk").InternalError | typeof import("../sdk/errors").McpConnectionError | typeof import("../sdk/errors").McpToolDiscoveryError>, never, never>, false>>;
123
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/sdk").InternalError | typeof import("../sdk").McpConnectionError | typeof import("../sdk").McpToolDiscoveryError>, never, never>, false>>;
@@ -1,4 +1,4 @@
1
- export { mcpSourcePlugin, createMcpSourcePlugin } from "./source-plugin";
2
- export type { McpSourcePluginOptions } from "./source-plugin";
1
+ export { mcpIntegrationPlugin, createMcpIntegrationPlugin } from "./source-plugin";
2
+ export type { McpIntegrationPluginOptions } from "./source-plugin";
3
3
  export { McpClient } from "./client";
4
- export { probeMcpEndpoint, addMcpSource, removeMcpSource, refreshMcpSource } from "./atoms";
4
+ export { probeMcpEndpoint, addMcpServer, removeMcpServer, configureMcpServer, mcpServerAtom, } from "./atoms";
@@ -1,5 +1,5 @@
1
- import type { SourcePlugin } from "@executor-js/sdk/client";
2
- export interface McpSourcePluginOptions {
1
+ import type { IntegrationPlugin } from "@executor-js/sdk/client";
2
+ export interface McpIntegrationPluginOptions {
3
3
  /**
4
4
  * Enable the stdio transport in the add-source UI (tab + presets).
5
5
  *
@@ -9,6 +9,6 @@ export interface McpSourcePluginOptions {
9
9
  */
10
10
  readonly allowStdio?: boolean;
11
11
  }
12
- export declare const createMcpSourcePlugin: (options?: McpSourcePluginOptions) => SourcePlugin;
13
- /** @deprecated Use `createMcpSourcePlugin({ allowStdio })` instead. */
14
- export declare const mcpSourcePlugin: SourcePlugin;
12
+ export declare const createMcpIntegrationPlugin: (options?: McpIntegrationPluginOptions) => IntegrationPlugin;
13
+ /** @deprecated Use `createMcpIntegrationPlugin({ allowStdio })` instead. */
14
+ export declare const mcpIntegrationPlugin: IntegrationPlugin;
@@ -1,19 +1,19 @@
1
1
  import type { OAuthClientProvider } from "@modelcontextprotocol/sdk/client/auth.js";
2
2
  import { Client } from "@modelcontextprotocol/sdk/client/index.js";
3
3
  import { Effect } from "effect";
4
- import type { McpRemoteSourceData, McpStdioSourceData } from "./types";
4
+ import type { McpRemoteIntegrationConfig, McpStdioIntegrationConfig } from "./types";
5
5
  import { McpConnectionError } from "./errors";
6
6
  export type McpConnection = {
7
7
  readonly client: Client;
8
8
  readonly close: () => Promise<void>;
9
9
  };
10
10
  export type McpConnector = Effect.Effect<McpConnection, McpConnectionError>;
11
- export type RemoteConnectorInput = Omit<McpRemoteSourceData, "auth" | "remoteTransport" | "headers" | "queryParams"> & {
12
- readonly remoteTransport?: McpRemoteSourceData["remoteTransport"];
11
+ export type RemoteConnectorInput = Omit<McpRemoteIntegrationConfig, "auth" | "remoteTransport" | "headers" | "queryParams"> & {
12
+ readonly remoteTransport?: McpRemoteIntegrationConfig["remoteTransport"];
13
13
  readonly headers?: Record<string, string>;
14
14
  readonly queryParams?: Record<string, string>;
15
15
  readonly authProvider?: OAuthClientProvider;
16
16
  };
17
- export type StdioConnectorInput = McpStdioSourceData;
17
+ export type StdioConnectorInput = McpStdioIntegrationConfig;
18
18
  export type ConnectorInput = RemoteConnectorInput | StdioConnectorInput;
19
19
  export declare const createMcpConnector: (input: ConnectorInput) => McpConnector;
@@ -1,5 +1,4 @@
1
1
  import { Schema } from "effect";
2
- import type { AuthToolFailureCode } from "@executor-js/sdk/core";
3
2
  declare const McpConnectionError_base: Schema.Class<McpConnectionError, Schema.TaggedStruct<"McpConnectionError", {
4
3
  readonly transport: Schema.String;
5
4
  readonly message: Schema.String;
@@ -23,22 +22,4 @@ declare const McpOAuthError_base: Schema.Class<McpOAuthError, Schema.TaggedStruc
23
22
  }>, import("effect/Cause").YieldableError>;
24
23
  export declare class McpOAuthError extends McpOAuthError_base {
25
24
  }
26
- declare const McpAuthRequiredError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
27
- readonly _tag: "McpAuthRequiredError";
28
- } & Readonly<A>;
29
- export declare class McpAuthRequiredError extends McpAuthRequiredError_base<{
30
- readonly code: AuthToolFailureCode;
31
- readonly message: string;
32
- readonly sourceId: string;
33
- readonly sourceScope: string;
34
- readonly credentialKind: "secret" | "connection" | "oauth" | "upstream";
35
- readonly credentialLabel?: string;
36
- readonly slotKey?: string;
37
- readonly secretId?: string;
38
- readonly connectionId?: string;
39
- readonly status?: number;
40
- readonly details?: unknown;
41
- readonly cause?: unknown;
42
- }> {
43
- }
44
25
  export {};
@@ -1,3 +1,4 @@
1
- export { mcpPlugin, type McpPluginExtension, type McpPluginOptions, type McpSourceConfig, type McpRemoteSourceConfig, type McpStdioSourceConfig, type McpProbeResult, type McpConfigureSourceInput, } from "./plugin";
2
- export { makeMcpStore, mcpSchema, type McpBindingStore, type McpSchema, type McpStoredSource, } from "./binding-store";
3
- export { ConfiguredMcpCredentialValue, MCP_HEADER_AUTH_SLOT, MCP_OAUTH_CLIENT_ID_SLOT, MCP_OAUTH_CLIENT_SECRET_SLOT, MCP_OAUTH_CONNECTION_SLOT, McpConnectionAuth, McpConnectionAuthInput, McpCredentialInput, mcpHeaderSlot, mcpQueryParamSlot, } from "./types";
1
+ export { mcpPlugin, userFacingProbeMessage, type McpPluginExtension, type McpPluginOptions, type McpServerInput, type McpRemoteServerInput, type McpStdioServerInput, type McpProbeResult, type McpProbeEndpointInput, type McpExtensionFailure, } from "./plugin";
2
+ export { McpAuthTemplate, McpIntegrationConfig, McpRemoteIntegrationConfig, McpStdioIntegrationConfig, McpRemoteTransport, McpTransport, McpToolAnnotations, McpToolBinding, parseMcpIntegrationConfig, } from "./types";
3
+ export { McpConnectionError, McpToolDiscoveryError, McpInvocationError, McpOAuthError, } from "./errors";
4
+ export { deriveMcpNamespace, joinToolPath, extractManifestFromListToolsResult } from "./manifest";
@@ -1,22 +1,15 @@
1
- import { Effect, ScopedCache } from "effect";
2
- import { type Elicit } from "@executor-js/sdk/core";
3
- import { McpAuthRequiredError, McpConnectionError, McpInvocationError } from "./errors";
4
- import type { McpConnection } from "./connection";
5
- import type { McpStoredSourceData } from "./types";
1
+ import { Effect } from "effect";
2
+ import { type Elicit } from "@executor-js/sdk";
3
+ import { McpConnectionError, McpInvocationError } from "./errors";
4
+ import type { McpConnector } from "./connection";
6
5
  export interface InvokeMcpToolInput {
7
6
  readonly toolId: string;
7
+ /** The real MCP tool name advertised by the server. */
8
8
  readonly toolName: string;
9
9
  readonly args: unknown;
10
- readonly sourceData: McpStoredSourceData;
11
- readonly sourceId: string;
12
- readonly sourceScope: string;
13
- /** Innermost executor scope id at invoke time. Mixed into the
14
- * connection cache key so per-user OAuth/secret resolution doesn't
15
- * collapse multiple users onto one shared connection. */
16
- readonly invokerScope: string;
17
- readonly resolveConnector: () => Effect.Effect<McpConnection, McpAuthRequiredError | McpConnectionError>;
18
- readonly connectionCache: ScopedCache.ScopedCache<string, McpConnection, McpAuthRequiredError | McpConnectionError>;
19
- readonly pendingConnectors: Map<string, Effect.Effect<McpConnection, McpAuthRequiredError | McpConnectionError>>;
10
+ readonly transport: string;
11
+ /** Dials a fresh connection. The connection is closed after the call. */
12
+ readonly connector: McpConnector;
20
13
  readonly elicit: Elicit;
21
14
  }
22
- export declare const invokeMcpTool: (input: InvokeMcpToolInput) => Effect.Effect<unknown, McpAuthRequiredError | McpConnectionError | McpInvocationError>;
15
+ export declare const invokeMcpTool: (input: InvokeMcpToolInput) => Effect.Effect<unknown, McpConnectionError | McpInvocationError>;