@executor-js/plugin-mcp 0.1.0 → 1.4.20

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 (45) hide show
  1. package/dist/AddMcpSource-TLAL463B.js +762 -0
  2. package/dist/AddMcpSource-TLAL463B.js.map +1 -0
  3. package/dist/EditMcpSource-CWN6HIC4.js +259 -0
  4. package/dist/EditMcpSource-CWN6HIC4.js.map +1 -0
  5. package/dist/McpSourceSummary-257JNETP.js +85 -0
  6. package/dist/McpSourceSummary-257JNETP.js.map +1 -0
  7. package/dist/api/group.d.ts +183 -19
  8. package/dist/api/index.d.ts +501 -0
  9. package/dist/chunk-4ORPFRLI.js +238 -0
  10. package/dist/chunk-4ORPFRLI.js.map +1 -0
  11. package/dist/chunk-M6REVU6O.js +179 -0
  12. package/dist/chunk-M6REVU6O.js.map +1 -0
  13. package/dist/chunk-NQT7NAGE.js +2277 -0
  14. package/dist/chunk-NQT7NAGE.js.map +1 -0
  15. package/dist/chunk-SKSXXFOA.js +104 -0
  16. package/dist/chunk-SKSXXFOA.js.map +1 -0
  17. package/dist/chunk-ZIRGIRGP.js +115 -0
  18. package/dist/chunk-ZIRGIRGP.js.map +1 -0
  19. package/dist/client.js +51 -0
  20. package/dist/client.js.map +1 -0
  21. package/dist/core.js +26 -2
  22. package/dist/index.js +2 -1
  23. package/dist/react/McpRemoteSourceFields.d.ts +18 -0
  24. package/dist/react/McpSourceSummary.d.ts +5 -0
  25. package/dist/react/atoms.d.ts +286 -6
  26. package/dist/react/client.d.ts +187 -16
  27. package/dist/react/index.d.ts +1 -1
  28. package/dist/react/plugin-client.d.ts +9 -2
  29. package/dist/sdk/binding-store.d.ts +106 -1
  30. package/dist/sdk/index.d.ts +1 -1
  31. package/dist/sdk/invoke.d.ts +2 -0
  32. package/dist/sdk/plugin.d.ts +178 -114
  33. package/dist/sdk/probe-shape-real-servers.live.test.d.ts +1 -0
  34. package/dist/sdk/probe-shape.d.ts +17 -3
  35. package/dist/sdk/stored-source.d.ts +12 -11
  36. package/dist/sdk/types.d.ts +122 -17
  37. package/dist/{stdio-connector-KNHLETKM.js → stdio-connector-AA5S6UUJ.js} +1 -1
  38. package/dist/{stdio-connector-KNHLETKM.js.map → stdio-connector-AA5S6UUJ.js.map} +1 -1
  39. package/dist/testing/index.d.ts +1 -0
  40. package/dist/{sdk/test-utils.d.ts → testing/server.d.ts} +0 -6
  41. package/dist/testing.js +51 -0
  42. package/dist/testing.js.map +1 -0
  43. package/package.json +17 -4
  44. package/dist/chunk-C2GNZGFJ.js +0 -1622
  45. package/dist/chunk-C2GNZGFJ.js.map +0 -1
@@ -13,40 +13,74 @@ export declare const McpClient: import("effect/unstable/reactivity/AtomHttpApi")
13
13
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
14
14
  readonly connected: import("effect/Schema").Boolean;
15
15
  readonly requiresOAuth: import("effect/Schema").Boolean;
16
+ readonly supportsDynamicRegistration: import("effect/Schema").Boolean;
16
17
  readonly name: import("effect/Schema").String;
17
18
  readonly namespace: import("effect/Schema").String;
18
19
  readonly toolCount: import("effect/Schema").NullOr<import("effect/Schema").Number>;
19
20
  readonly serverName: import("effect/Schema").NullOr<import("effect/Schema").String>;
20
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/api").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<{
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<{
21
22
  scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
22
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 targetScope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
23
25
  readonly transport: import("effect/Schema").Literal<"remote">;
24
26
  readonly name: import("effect/Schema").String;
25
27
  readonly endpoint: import("effect/Schema").String;
26
28
  readonly remoteTransport: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["streamable-http", "sse", "auto"]>>;
27
29
  readonly namespace: import("effect/Schema").optional<import("effect/Schema").String>;
28
- 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 queryParams: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
29
31
  readonly secretId: import("effect/Schema").String;
30
32
  readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
31
- }>]>>>;
32
- 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<{
33
+ readonly targetScope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
34
+ readonly secretScopeId: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
35
+ }>, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
33
36
  readonly secretId: import("effect/Schema").String;
34
37
  readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
35
- }>]>>>;
36
- readonly auth: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
38
+ }>]>, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
39
+ readonly kind: import("effect/Schema").Literal<"binding">;
40
+ readonly slot: import("effect/Schema").String;
41
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
42
+ }>]>]>>>;
43
+ readonly headers: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
44
+ readonly secretId: import("effect/Schema").String;
45
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
46
+ readonly targetScope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
47
+ readonly secretScopeId: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
48
+ }>, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
49
+ readonly secretId: import("effect/Schema").String;
50
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
51
+ }>]>, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
52
+ readonly kind: import("effect/Schema").Literal<"binding">;
53
+ readonly slot: import("effect/Schema").String;
54
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
55
+ }>]>]>>>;
56
+ readonly auth: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
37
57
  readonly kind: import("effect/Schema").Literal<"none">;
38
58
  }>, import("effect/Schema").Struct<{
59
+ readonly kind: import("effect/Schema").Literal<"header">;
60
+ readonly headerName: import("effect/Schema").String;
61
+ readonly secretSlot: import("effect/Schema").String;
62
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
63
+ }>, import("effect/Schema").Struct<{
64
+ readonly kind: import("effect/Schema").Literal<"oauth2">;
65
+ readonly connectionSlot: import("effect/Schema").String;
66
+ readonly clientIdSlot: import("effect/Schema").optional<import("effect/Schema").String>;
67
+ readonly clientSecretSlot: import("effect/Schema").optional<import("effect/Schema").String>;
68
+ }>]>, import("effect/Schema").Struct<{
39
69
  readonly kind: import("effect/Schema").Literal<"header">;
40
70
  readonly headerName: import("effect/Schema").String;
41
71
  readonly secretId: import("effect/Schema").String;
42
72
  readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
73
+ readonly targetScope: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
74
+ readonly secretScopeId: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
43
75
  }>, import("effect/Schema").Struct<{
44
76
  readonly kind: import("effect/Schema").Literal<"oauth2">;
45
77
  readonly connectionId: import("effect/Schema").String;
46
78
  readonly clientIdSecretId: import("effect/Schema").optional<import("effect/Schema").String>;
47
79
  readonly clientSecretSecretId: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
48
80
  }>]>>;
81
+ readonly credentialTargetScope: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
49
82
  }>, import("effect/Schema").Struct<{
83
+ readonly targetScope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
50
84
  readonly transport: import("effect/Schema").Literal<"stdio">;
51
85
  readonly name: import("effect/Schema").String;
52
86
  readonly command: import("effect/Schema").String;
@@ -57,42 +91,112 @@ export declare const McpClient: import("effect/unstable/reactivity/AtomHttpApi")
57
91
  }>]>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
58
92
  readonly toolCount: import("effect/Schema").Number;
59
93
  readonly namespace: import("effect/Schema").String;
60
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/api").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<{
94
+ }>>, 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<{
61
95
  scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
62
96
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
63
97
  readonly namespace: import("effect/Schema").String;
64
98
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
65
99
  readonly removed: import("effect/Schema").Boolean;
66
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/api").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<{
100
+ }>>, 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<{
67
101
  scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
68
102
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
69
103
  readonly namespace: import("effect/Schema").String;
70
104
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
71
105
  readonly toolCount: import("effect/Schema").Number;
72
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/api").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<{
106
+ }>>, 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<{
73
107
  scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
74
108
  namespace: import("effect/Schema").String;
75
- }>>, 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<typeof import("../sdk/stored-source").McpStoredSourceSchema>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/api").InternalError | typeof import("../sdk/errors").McpConnectionError | typeof import("../sdk/errors").McpToolDiscoveryError>, never, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"updateSource", "PATCH", "/scopes/:scopeId/mcp/sources/:namespace", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
109
+ }>>, 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<{
110
+ readonly namespace: import("effect/Schema").String;
111
+ readonly scope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
112
+ readonly name: import("effect/Schema").String;
113
+ readonly config: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
114
+ readonly transport: import("effect/Schema").Literal<"remote">;
115
+ readonly endpoint: import("effect/Schema").String;
116
+ readonly remoteTransport: import("effect/Schema").withConstructorDefault<import("effect/Schema").optionalKey<import("effect/Schema").Literals<readonly ["streamable-http", "sse", "auto"]>>>;
117
+ 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<{
118
+ readonly kind: import("effect/Schema").Literal<"binding">;
119
+ readonly slot: import("effect/Schema").String;
120
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
121
+ }>]>>>;
122
+ 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<{
123
+ readonly kind: import("effect/Schema").Literal<"binding">;
124
+ readonly slot: import("effect/Schema").String;
125
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
126
+ }>]>>>;
127
+ readonly auth: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
128
+ readonly kind: import("effect/Schema").Literal<"none">;
129
+ }>, import("effect/Schema").Struct<{
130
+ readonly kind: import("effect/Schema").Literal<"header">;
131
+ readonly headerName: import("effect/Schema").String;
132
+ readonly secretSlot: import("effect/Schema").String;
133
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
134
+ }>, import("effect/Schema").Struct<{
135
+ readonly kind: import("effect/Schema").Literal<"oauth2">;
136
+ readonly connectionSlot: import("effect/Schema").String;
137
+ readonly clientIdSlot: import("effect/Schema").optional<import("effect/Schema").String>;
138
+ readonly clientSecretSlot: import("effect/Schema").optional<import("effect/Schema").String>;
139
+ }>]>;
140
+ }>, import("effect/Schema").Struct<{
141
+ readonly transport: import("effect/Schema").Literal<"stdio">;
142
+ readonly command: import("effect/Schema").String;
143
+ readonly args: import("effect/Schema").optional<import("effect/Schema").$Array<import("effect/Schema").String>>;
144
+ readonly env: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").String>>;
145
+ readonly cwd: import("effect/Schema").optional<import("effect/Schema").String>;
146
+ }>]>;
147
+ }>>>, 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<"updateSource", "PATCH", "/scopes/:scopeId/mcp/sources/:namespace", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
76
148
  scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
77
149
  namespace: import("effect/Schema").String;
78
150
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
151
+ readonly sourceScope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
79
152
  readonly name: import("effect/Schema").optional<import("effect/Schema").String>;
80
153
  readonly endpoint: import("effect/Schema").optional<import("effect/Schema").String>;
81
- 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<{
154
+ readonly headers: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
82
155
  readonly secretId: import("effect/Schema").String;
83
156
  readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
84
- }>]>>>;
85
- 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<{
157
+ readonly targetScope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
158
+ readonly secretScopeId: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
159
+ }>, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
86
160
  readonly secretId: import("effect/Schema").String;
87
161
  readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
88
- }>]>>>;
89
- readonly auth: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
162
+ }>]>, 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;
165
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
166
+ }>]>]>>>;
167
+ readonly queryParams: import("effect/Schema").optional<import("effect/Schema").$Record<import("effect/Schema").String, import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
168
+ readonly secretId: import("effect/Schema").String;
169
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
170
+ readonly targetScope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
171
+ readonly secretScopeId: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
172
+ }>, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
173
+ readonly secretId: import("effect/Schema").String;
174
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
175
+ }>]>, import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").Struct<{
176
+ readonly kind: import("effect/Schema").Literal<"binding">;
177
+ readonly slot: import("effect/Schema").String;
178
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
179
+ }>]>]>>>;
180
+ readonly credentialTargetScope: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
181
+ readonly auth: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
90
182
  readonly kind: import("effect/Schema").Literal<"none">;
91
183
  }>, import("effect/Schema").Struct<{
184
+ readonly kind: import("effect/Schema").Literal<"header">;
185
+ readonly headerName: import("effect/Schema").String;
186
+ readonly secretSlot: import("effect/Schema").String;
187
+ readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
188
+ }>, import("effect/Schema").Struct<{
189
+ readonly kind: import("effect/Schema").Literal<"oauth2">;
190
+ readonly connectionSlot: import("effect/Schema").String;
191
+ readonly clientIdSlot: import("effect/Schema").optional<import("effect/Schema").String>;
192
+ readonly clientSecretSlot: import("effect/Schema").optional<import("effect/Schema").String>;
193
+ }>]>, import("effect/Schema").Struct<{
92
194
  readonly kind: import("effect/Schema").Literal<"header">;
93
195
  readonly headerName: import("effect/Schema").String;
94
196
  readonly secretId: import("effect/Schema").String;
95
197
  readonly prefix: import("effect/Schema").optional<import("effect/Schema").String>;
198
+ readonly targetScope: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
199
+ readonly secretScopeId: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
96
200
  }>, import("effect/Schema").Struct<{
97
201
  readonly kind: import("effect/Schema").Literal<"oauth2">;
98
202
  readonly connectionId: import("effect/Schema").String;
@@ -101,4 +205,71 @@ export declare const McpClient: import("effect/unstable/reactivity/AtomHttpApi")
101
205
  }>]>>;
102
206
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
103
207
  readonly updated: import("effect/Schema").Boolean;
104
- }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof import("@executor-js/api").InternalError | typeof import("../sdk/errors").McpConnectionError | typeof import("../sdk/errors").McpToolDiscoveryError>, never, never>, false>>;
208
+ }>>, 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<"listSourceBindings", "GET", "/scopes/:scopeId/mcp/sources/:namespace/base/:sourceScopeId/bindings", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
209
+ scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
210
+ namespace: import("effect/Schema").String;
211
+ sourceScopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
212
+ }>>, 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").$Array<import("effect/Schema").Struct<{
213
+ readonly sourceId: import("effect/Schema").String;
214
+ readonly sourceScopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
215
+ readonly scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
216
+ readonly slot: import("effect/Schema").String;
217
+ readonly value: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
218
+ readonly kind: import("effect/Schema").Literal<"text">;
219
+ readonly text: import("effect/Schema").String;
220
+ }>, import("effect/Schema").Struct<{
221
+ readonly kind: import("effect/Schema").Literal<"secret">;
222
+ readonly secretId: import("effect/Schema").brand<import("effect/Schema").String, "SecretId">;
223
+ readonly secretScopeId: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
224
+ }>, import("effect/Schema").Struct<{
225
+ readonly kind: import("effect/Schema").Literal<"connection">;
226
+ readonly connectionId: import("effect/Schema").brand<import("effect/Schema").String, "ConnectionId">;
227
+ }>]>;
228
+ readonly createdAt: import("effect/Schema").Date;
229
+ readonly updatedAt: import("effect/Schema").Date;
230
+ }>>>, 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<"setSourceBinding", "POST", "/scopes/:scopeId/mcp/source-bindings", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
231
+ scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
232
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
233
+ readonly sourceId: import("effect/Schema").String;
234
+ readonly sourceScope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
235
+ readonly scope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
236
+ readonly slot: import("effect/Schema").String;
237
+ readonly value: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
238
+ readonly kind: import("effect/Schema").Literal<"text">;
239
+ readonly text: import("effect/Schema").String;
240
+ }>, import("effect/Schema").Struct<{
241
+ readonly kind: import("effect/Schema").Literal<"secret">;
242
+ readonly secretId: import("effect/Schema").brand<import("effect/Schema").String, "SecretId">;
243
+ readonly secretScopeId: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
244
+ }>, import("effect/Schema").Struct<{
245
+ readonly kind: import("effect/Schema").Literal<"connection">;
246
+ readonly connectionId: import("effect/Schema").brand<import("effect/Schema").String, "ConnectionId">;
247
+ }>]>;
248
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
249
+ readonly sourceId: import("effect/Schema").String;
250
+ readonly sourceScopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
251
+ readonly scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
252
+ readonly slot: import("effect/Schema").String;
253
+ readonly value: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
254
+ readonly kind: import("effect/Schema").Literal<"text">;
255
+ readonly text: import("effect/Schema").String;
256
+ }>, import("effect/Schema").Struct<{
257
+ readonly kind: import("effect/Schema").Literal<"secret">;
258
+ readonly secretId: import("effect/Schema").brand<import("effect/Schema").String, "SecretId">;
259
+ readonly secretScopeId: import("effect/Schema").optional<import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">>;
260
+ }>, import("effect/Schema").Struct<{
261
+ readonly kind: import("effect/Schema").Literal<"connection">;
262
+ readonly connectionId: import("effect/Schema").brand<import("effect/Schema").String, "ConnectionId">;
263
+ }>]>;
264
+ readonly createdAt: import("effect/Schema").Date;
265
+ readonly updatedAt: import("effect/Schema").Date;
266
+ }>>, 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<"removeSourceBinding", "POST", "/scopes/:scopeId/mcp/source-bindings/remove", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<import("effect/Schema").Struct<{
267
+ scopeId: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
268
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
269
+ readonly sourceId: import("effect/Schema").String;
270
+ readonly sourceScope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
271
+ readonly slot: import("effect/Schema").String;
272
+ readonly scope: import("effect/Schema").brand<import("effect/Schema").String, "ScopeId">;
273
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/Schema").Struct<{
274
+ readonly removed: import("effect/Schema").Boolean;
275
+ }>>, 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>>;
@@ -1,4 +1,4 @@
1
1
  export { mcpSourcePlugin, createMcpSourcePlugin } from "./source-plugin";
2
2
  export type { McpSourcePluginOptions } from "./source-plugin";
3
3
  export { McpClient } from "./client";
4
- export { probeMcpEndpoint, addMcpSource, removeMcpSource, refreshMcpSource, } from "./atoms";
4
+ export { probeMcpEndpoint, addMcpSource, removeMcpSource, refreshMcpSource } from "./atoms";
@@ -1,2 +1,9 @@
1
- declare const _default: import("@executor-js/sdk/client").ClientPluginSpec<"mcp">;
2
- export default _default;
1
+ export interface McpClientConfig {
2
+ /**
3
+ * Mirrors `dangerouslyAllowStdioMCP` on the server-side plugin. When
4
+ * false, the AddMcpSource UI hides the stdio tab and stdio presets.
5
+ * Defaults to false — same default as the server flag.
6
+ */
7
+ readonly allowStdio?: boolean;
8
+ }
9
+ export default function createMcpClientPlugin(config?: McpClientConfig): import("@executor-js/sdk/client").ClientPluginSpec<"mcp">;
@@ -21,12 +21,117 @@ export declare const mcpSchema: {
21
21
  readonly type: "json";
22
22
  readonly required: true;
23
23
  };
24
+ readonly auth_kind: {
25
+ readonly type: ["none", "header", "oauth2"];
26
+ readonly required: true;
27
+ readonly defaultValue: "none";
28
+ };
29
+ readonly auth_header_name: {
30
+ readonly type: "string";
31
+ readonly required: false;
32
+ };
33
+ readonly auth_header_slot: {
34
+ readonly type: "string";
35
+ readonly required: false;
36
+ };
37
+ readonly auth_header_prefix: {
38
+ readonly type: "string";
39
+ readonly required: false;
40
+ };
41
+ readonly auth_connection_slot: {
42
+ readonly type: "string";
43
+ readonly required: false;
44
+ };
45
+ readonly auth_client_id_slot: {
46
+ readonly type: "string";
47
+ readonly required: false;
48
+ };
49
+ readonly auth_client_secret_slot: {
50
+ readonly type: "string";
51
+ readonly required: false;
52
+ };
24
53
  readonly created_at: {
25
54
  readonly type: "date";
26
55
  readonly required: true;
27
56
  };
28
57
  };
29
58
  };
59
+ readonly mcp_source_header: {
60
+ readonly fields: {
61
+ readonly id: {
62
+ readonly type: "string";
63
+ readonly required: true;
64
+ };
65
+ readonly scope_id: {
66
+ readonly type: "string";
67
+ readonly required: true;
68
+ readonly index: true;
69
+ };
70
+ readonly source_id: {
71
+ readonly type: "string";
72
+ readonly required: true;
73
+ readonly index: true;
74
+ };
75
+ readonly name: {
76
+ readonly type: "string";
77
+ readonly required: true;
78
+ };
79
+ readonly kind: {
80
+ readonly type: ["text", "binding"];
81
+ readonly required: true;
82
+ };
83
+ readonly text_value: {
84
+ readonly type: "string";
85
+ readonly required: false;
86
+ };
87
+ readonly slot_key: {
88
+ readonly type: "string";
89
+ readonly required: false;
90
+ };
91
+ readonly prefix: {
92
+ readonly type: "string";
93
+ readonly required: false;
94
+ };
95
+ };
96
+ };
97
+ readonly mcp_source_query_param: {
98
+ readonly fields: {
99
+ readonly id: {
100
+ readonly type: "string";
101
+ readonly required: true;
102
+ };
103
+ readonly scope_id: {
104
+ readonly type: "string";
105
+ readonly required: true;
106
+ readonly index: true;
107
+ };
108
+ readonly source_id: {
109
+ readonly type: "string";
110
+ readonly required: true;
111
+ readonly index: true;
112
+ };
113
+ readonly name: {
114
+ readonly type: "string";
115
+ readonly required: true;
116
+ };
117
+ readonly kind: {
118
+ readonly type: ["text", "binding"];
119
+ readonly required: true;
120
+ };
121
+ readonly text_value: {
122
+ readonly type: "string";
123
+ readonly required: false;
124
+ };
125
+ readonly slot_key: {
126
+ readonly type: "string";
127
+ readonly required: false;
128
+ };
129
+ readonly prefix: {
130
+ readonly type: "string";
131
+ readonly required: false;
132
+ };
133
+ };
134
+ };
30
135
  readonly mcp_binding: {
31
136
  readonly fields: {
32
137
  readonly id: {
@@ -83,4 +188,4 @@ export interface McpBindingStore {
83
188
  readonly putSource: (source: McpStoredSource) => Effect.Effect<void, StorageFailure>;
84
189
  readonly removeSource: (namespace: string, scope: string) => Effect.Effect<void, StorageFailure>;
85
190
  }
86
- export declare const makeMcpStore: ({ adapter: db, }: StorageDeps<McpSchema>) => McpBindingStore;
191
+ export declare const makeMcpStore: ({ adapter: db }: StorageDeps<McpSchema>) => McpBindingStore;
@@ -1,3 +1,3 @@
1
1
  export { mcpPlugin, type McpPluginExtension, type McpPluginOptions, type McpSourceConfig, type McpRemoteSourceConfig, type McpStdioSourceConfig, type McpProbeResult, type McpUpdateSourceInput, } from "./plugin";
2
2
  export { makeMcpStore, mcpSchema, type McpBindingStore, type McpSchema, type McpStoredSource, } from "./binding-store";
3
- export { McpConnectionAuth } from "./types";
3
+ export { ConfiguredMcpCredentialValue, MCP_HEADER_AUTH_SLOT, MCP_OAUTH_CLIENT_ID_SLOT, MCP_OAUTH_CLIENT_SECRET_SLOT, MCP_OAUTH_CONNECTION_SLOT, McpConnectionAuth, McpConnectionAuthInput, McpCredentialInput, McpSourceBindingInput, McpSourceBindingRef, mcpHeaderSlot, mcpQueryParamSlot, type McpSourceBindingValue, } from "./types";
@@ -8,6 +8,8 @@ export interface InvokeMcpToolInput {
8
8
  readonly toolName: string;
9
9
  readonly args: unknown;
10
10
  readonly sourceData: McpStoredSourceData;
11
+ readonly sourceId: string;
12
+ readonly sourceScope: string;
11
13
  /** Innermost executor scope id at invoke time. Mixed into the
12
14
  * connection cache key so per-user OAuth/secret resolution doesn't
13
15
  * collapse multiple users onto one shared connection. */