@executor-js/plugin-mcp 1.4.29 → 1.4.31
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.
- package/dist/{AddMcpSource-TLAL463B.js → AddMcpSource-3HUBFR3K.js} +68 -141
- package/dist/AddMcpSource-3HUBFR3K.js.map +1 -0
- package/dist/{EditMcpSource-FAWEECNU.js → EditMcpSource-UVGSSC2R.js} +106 -83
- package/dist/EditMcpSource-UVGSSC2R.js.map +1 -0
- package/dist/McpSourceSummary-UWVCAJOU.js +171 -0
- package/dist/McpSourceSummary-UWVCAJOU.js.map +1 -0
- package/dist/api/group.d.ts +92 -180
- package/dist/api/index.d.ts +97 -382
- package/dist/{chunk-4ORPFRLI.js → chunk-2A4H3UVR.js} +21 -80
- package/dist/chunk-2A4H3UVR.js.map +1 -0
- package/dist/{chunk-M6REVU6O.js → chunk-3TGDWTNE.js} +14 -40
- package/dist/chunk-3TGDWTNE.js.map +1 -0
- package/dist/{chunk-2DOCEPYN.js → chunk-H5PLTEMB.js} +632 -713
- package/dist/chunk-H5PLTEMB.js.map +1 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/{chunk-SKSXXFOA.js → chunk-TW44CBXJ.js} +12 -1
- package/dist/chunk-TW44CBXJ.js.map +1 -0
- package/dist/client.js +5 -4
- package/dist/client.js.map +1 -1
- package/dist/core.js +4 -6
- package/dist/index.js +4 -2
- package/dist/promise.d.ts +1 -1
- package/dist/react/atoms.d.ts +198 -236
- package/dist/react/client.d.ts +91 -179
- package/dist/sdk/binding-store.d.ts +3 -163
- package/dist/sdk/index.d.ts +2 -2
- package/dist/sdk/plugin.d.ts +172 -225
- package/dist/sdk/presets.d.ts +1 -0
- package/dist/sdk/testing-fixtures.test.d.ts +1 -0
- package/dist/sdk/types.d.ts +58 -83
- package/dist/{stdio-connector-AA5S6UUJ.js → stdio-connector-MDW6PW36.js} +3 -1
- package/dist/{stdio-connector-AA5S6UUJ.js.map → stdio-connector-MDW6PW36.js.map} +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/server.d.ts +70 -4
- package/dist/testing.js +14085 -30
- package/dist/testing.js.map +1 -1
- package/package.json +3 -4
- package/dist/AddMcpSource-TLAL463B.js.map +0 -1
- package/dist/EditMcpSource-FAWEECNU.js.map +0 -1
- package/dist/McpSourceSummary-257JNETP.js +0 -85
- package/dist/McpSourceSummary-257JNETP.js.map +0 -1
- package/dist/chunk-2DOCEPYN.js.map +0 -1
- package/dist/chunk-4ORPFRLI.js.map +0 -1
- package/dist/chunk-M6REVU6O.js.map +0 -1
- package/dist/chunk-SKSXXFOA.js.map +0 -1
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
|
+
McpConfiguredValueInput,
|
|
2
3
|
McpConnectionAuthInput,
|
|
3
4
|
McpConnectionError,
|
|
4
5
|
McpCredentialInput,
|
|
5
|
-
McpSourceBindingInput,
|
|
6
|
-
McpSourceBindingRef,
|
|
7
6
|
McpStoredSourceData,
|
|
8
7
|
McpToolDiscoveryError
|
|
9
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-3TGDWTNE.js";
|
|
10
9
|
|
|
11
10
|
// src/react/atoms.ts
|
|
12
11
|
import * as Atom from "effect/unstable/reactivity/Atom";
|
|
13
12
|
import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
|
|
14
|
-
import { sourcesOptimisticAtom } from "@executor-js/react/api/atoms";
|
|
13
|
+
import { sourceCredentialBindingsAtom, sourcesOptimisticAtom } from "@executor-js/react/api/atoms";
|
|
15
14
|
import { ReactivityKey } from "@executor-js/react/api/reactivity-keys";
|
|
16
15
|
|
|
17
16
|
// src/react/client.ts
|
|
@@ -21,11 +20,11 @@ import { getBaseUrl } from "@executor-js/react/api/base-url";
|
|
|
21
20
|
// src/api/group.ts
|
|
22
21
|
import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
|
|
23
22
|
import { Schema as Schema2 } from "effect";
|
|
24
|
-
import { InternalError, ScopeId as ScopeId2, SecretBackedMap } from "@executor-js/sdk/
|
|
23
|
+
import { InternalError, ScopeId as ScopeId2, SecretBackedMap } from "@executor-js/sdk/shared";
|
|
25
24
|
|
|
26
25
|
// src/sdk/stored-source.ts
|
|
27
26
|
import { Schema } from "effect";
|
|
28
|
-
import { ScopeId } from "@executor-js/sdk/
|
|
27
|
+
import { ScopeId } from "@executor-js/sdk/shared";
|
|
29
28
|
var McpStoredSourceSchema = Schema.Struct({
|
|
30
29
|
namespace: Schema.String,
|
|
31
30
|
scope: ScopeId,
|
|
@@ -34,29 +33,29 @@ var McpStoredSourceSchema = Schema.Struct({
|
|
|
34
33
|
}).annotate({ identifier: "McpStoredSource" });
|
|
35
34
|
|
|
36
35
|
// src/api/group.ts
|
|
36
|
+
import { OAuth2SourceConfig } from "@executor-js/sdk/http-source";
|
|
37
37
|
var ScopeParams = { scopeId: ScopeId2 };
|
|
38
38
|
var SourceParams = { scopeId: ScopeId2, namespace: Schema2.String };
|
|
39
|
-
var SourceBindingParams = {
|
|
40
|
-
scopeId: ScopeId2,
|
|
41
|
-
namespace: Schema2.String,
|
|
42
|
-
sourceScopeId: ScopeId2
|
|
43
|
-
};
|
|
44
|
-
var AuthPayload = McpConnectionAuthInput;
|
|
45
39
|
var StringMap = Schema2.Record(Schema2.String, Schema2.String);
|
|
46
40
|
var AddRemoteSourcePayload = Schema2.Struct({
|
|
47
|
-
targetScope: ScopeId2,
|
|
48
41
|
transport: Schema2.Literal("remote"),
|
|
49
42
|
name: Schema2.String,
|
|
50
43
|
endpoint: Schema2.String,
|
|
51
44
|
remoteTransport: Schema2.optional(Schema2.Literals(["streamable-http", "sse", "auto"])),
|
|
52
45
|
namespace: Schema2.optional(Schema2.String),
|
|
53
|
-
queryParams: Schema2.optional(Schema2.Record(Schema2.String,
|
|
54
|
-
headers: Schema2.optional(Schema2.Record(Schema2.String,
|
|
55
|
-
|
|
56
|
-
|
|
46
|
+
queryParams: Schema2.optional(Schema2.Record(Schema2.String, McpConfiguredValueInput)),
|
|
47
|
+
headers: Schema2.optional(Schema2.Record(Schema2.String, McpConfiguredValueInput)),
|
|
48
|
+
oauth2: Schema2.optional(OAuth2SourceConfig),
|
|
49
|
+
credentials: Schema2.optional(
|
|
50
|
+
Schema2.Struct({
|
|
51
|
+
scope: ScopeId2,
|
|
52
|
+
headers: Schema2.optional(Schema2.Record(Schema2.String, McpCredentialInput)),
|
|
53
|
+
queryParams: Schema2.optional(Schema2.Record(Schema2.String, McpCredentialInput)),
|
|
54
|
+
auth: Schema2.optional(McpConnectionAuthInput)
|
|
55
|
+
})
|
|
56
|
+
)
|
|
57
57
|
});
|
|
58
58
|
var AddStdioSourcePayload = Schema2.Struct({
|
|
59
|
-
targetScope: ScopeId2,
|
|
60
59
|
transport: Schema2.Literal("stdio"),
|
|
61
60
|
name: Schema2.String,
|
|
62
61
|
command: Schema2.String,
|
|
@@ -66,18 +65,6 @@ var AddStdioSourcePayload = Schema2.Struct({
|
|
|
66
65
|
namespace: Schema2.optional(Schema2.String)
|
|
67
66
|
});
|
|
68
67
|
var AddSourcePayload = Schema2.Union([AddRemoteSourcePayload, AddStdioSourcePayload]);
|
|
69
|
-
var UpdateSourcePayload = Schema2.Struct({
|
|
70
|
-
sourceScope: ScopeId2,
|
|
71
|
-
name: Schema2.optional(Schema2.String),
|
|
72
|
-
endpoint: Schema2.optional(Schema2.String),
|
|
73
|
-
headers: Schema2.optional(Schema2.Record(Schema2.String, McpCredentialInput)),
|
|
74
|
-
queryParams: Schema2.optional(Schema2.Record(Schema2.String, McpCredentialInput)),
|
|
75
|
-
credentialTargetScope: Schema2.optional(ScopeId2),
|
|
76
|
-
auth: Schema2.optional(AuthPayload)
|
|
77
|
-
});
|
|
78
|
-
var UpdateSourceResponse = Schema2.Struct({
|
|
79
|
-
updated: Schema2.Boolean
|
|
80
|
-
});
|
|
81
68
|
var ProbeEndpointPayload = Schema2.Struct({
|
|
82
69
|
endpoint: Schema2.String,
|
|
83
70
|
headers: Schema2.optional(SecretBackedMap),
|
|
@@ -95,12 +82,6 @@ var ProbeEndpointResponse = Schema2.Struct({
|
|
|
95
82
|
var NamespacePayload = Schema2.Struct({
|
|
96
83
|
namespace: Schema2.String
|
|
97
84
|
});
|
|
98
|
-
var RemoveBindingPayload = Schema2.Struct({
|
|
99
|
-
sourceId: Schema2.String,
|
|
100
|
-
sourceScope: ScopeId2,
|
|
101
|
-
slot: Schema2.String,
|
|
102
|
-
scope: ScopeId2
|
|
103
|
-
});
|
|
104
85
|
var AddSourceResponse = Schema2.Struct({
|
|
105
86
|
toolCount: Schema2.Number,
|
|
106
87
|
namespace: Schema2.String
|
|
@@ -145,37 +126,6 @@ var McpGroup = HttpApiGroup.make("mcp").add(
|
|
|
145
126
|
success: Schema2.NullOr(McpStoredSourceSchema),
|
|
146
127
|
error: [InternalError, McpConnectionError, McpToolDiscoveryError]
|
|
147
128
|
})
|
|
148
|
-
).add(
|
|
149
|
-
HttpApiEndpoint.patch("updateSource", "/scopes/:scopeId/mcp/sources/:namespace", {
|
|
150
|
-
params: SourceParams,
|
|
151
|
-
payload: UpdateSourcePayload,
|
|
152
|
-
success: UpdateSourceResponse,
|
|
153
|
-
error: [InternalError, McpConnectionError, McpToolDiscoveryError]
|
|
154
|
-
})
|
|
155
|
-
).add(
|
|
156
|
-
HttpApiEndpoint.get(
|
|
157
|
-
"listSourceBindings",
|
|
158
|
-
"/scopes/:scopeId/mcp/sources/:namespace/base/:sourceScopeId/bindings",
|
|
159
|
-
{
|
|
160
|
-
params: SourceBindingParams,
|
|
161
|
-
success: Schema2.Array(McpSourceBindingRef),
|
|
162
|
-
error: [InternalError, McpConnectionError, McpToolDiscoveryError]
|
|
163
|
-
}
|
|
164
|
-
)
|
|
165
|
-
).add(
|
|
166
|
-
HttpApiEndpoint.post("setSourceBinding", "/scopes/:scopeId/mcp/source-bindings", {
|
|
167
|
-
params: ScopeParams,
|
|
168
|
-
payload: McpSourceBindingInput,
|
|
169
|
-
success: McpSourceBindingRef,
|
|
170
|
-
error: [InternalError, McpConnectionError, McpToolDiscoveryError]
|
|
171
|
-
})
|
|
172
|
-
).add(
|
|
173
|
-
HttpApiEndpoint.post("removeSourceBinding", "/scopes/:scopeId/mcp/source-bindings/remove", {
|
|
174
|
-
params: ScopeParams,
|
|
175
|
-
payload: RemoveBindingPayload,
|
|
176
|
-
success: Schema2.Struct({ removed: Schema2.Boolean }),
|
|
177
|
-
error: [InternalError, McpConnectionError, McpToolDiscoveryError]
|
|
178
|
-
})
|
|
179
129
|
);
|
|
180
130
|
|
|
181
131
|
// src/react/client.ts
|
|
@@ -189,11 +139,7 @@ var mcpSourceAtom = (scopeId, namespace) => McpClient.query("mcp", "getSource",
|
|
|
189
139
|
timeToLive: "15 seconds",
|
|
190
140
|
reactivityKeys: [ReactivityKey.sources, ReactivityKey.tools]
|
|
191
141
|
});
|
|
192
|
-
var mcpSourceBindingsAtom = (scopeId, namespace, sourceScopeId) =>
|
|
193
|
-
params: { scopeId, namespace, sourceScopeId },
|
|
194
|
-
timeToLive: "15 seconds",
|
|
195
|
-
reactivityKeys: [ReactivityKey.sources, ReactivityKey.secrets, ReactivityKey.connections]
|
|
196
|
-
});
|
|
142
|
+
var mcpSourceBindingsAtom = (scopeId, namespace, sourceScopeId) => sourceCredentialBindingsAtom(scopeId, namespace, sourceScopeId);
|
|
197
143
|
var probeMcpEndpoint = McpClient.mutation("mcp", "probeEndpoint");
|
|
198
144
|
var addMcpSource = McpClient.mutation("mcp", "addSource");
|
|
199
145
|
var addMcpSourceOptimistic = Atom.family(
|
|
@@ -203,7 +149,7 @@ var addMcpSourceOptimistic = Atom.family(
|
|
|
203
149
|
const id = arg.payload.namespace ?? `pending-${Math.random().toString(36).slice(2)}`;
|
|
204
150
|
const source = {
|
|
205
151
|
id,
|
|
206
|
-
scopeId
|
|
152
|
+
scopeId,
|
|
207
153
|
kind: "mcp",
|
|
208
154
|
pluginId: "mcp",
|
|
209
155
|
name: arg.payload.name ?? id,
|
|
@@ -223,16 +169,11 @@ var addMcpSourceOptimistic = Atom.family(
|
|
|
223
169
|
);
|
|
224
170
|
var removeMcpSource = McpClient.mutation("mcp", "removeSource");
|
|
225
171
|
var refreshMcpSource = McpClient.mutation("mcp", "refreshSource");
|
|
226
|
-
var updateMcpSource = McpClient.mutation("mcp", "updateSource");
|
|
227
|
-
var setMcpSourceBinding = McpClient.mutation("mcp", "setSourceBinding");
|
|
228
|
-
var removeMcpSourceBinding = McpClient.mutation("mcp", "removeSourceBinding");
|
|
229
172
|
|
|
230
173
|
export {
|
|
231
174
|
mcpSourceAtom,
|
|
232
175
|
mcpSourceBindingsAtom,
|
|
233
176
|
probeMcpEndpoint,
|
|
234
|
-
addMcpSourceOptimistic
|
|
235
|
-
updateMcpSource,
|
|
236
|
-
setMcpSourceBinding
|
|
177
|
+
addMcpSourceOptimistic
|
|
237
178
|
};
|
|
238
|
-
//# sourceMappingURL=chunk-
|
|
179
|
+
//# sourceMappingURL=chunk-2A4H3UVR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react/atoms.ts","../src/react/client.ts","../src/api/group.ts","../src/sdk/stored-source.ts"],"sourcesContent":["import type { ScopeId } from \"@executor-js/sdk/shared\";\nimport * as Atom from \"effect/unstable/reactivity/Atom\";\nimport * as AsyncResult from \"effect/unstable/reactivity/AsyncResult\";\nimport { sourceCredentialBindingsAtom, sourcesOptimisticAtom } from \"@executor-js/react/api/atoms\";\nimport { ReactivityKey } from \"@executor-js/react/api/reactivity-keys\";\nimport { McpClient } from \"./client\";\n\n// ---------------------------------------------------------------------------\n// Query atoms\n// ---------------------------------------------------------------------------\n\nexport const mcpSourceAtom = (scopeId: ScopeId, namespace: string) =>\n McpClient.query(\"mcp\", \"getSource\", {\n params: { scopeId, namespace },\n timeToLive: \"15 seconds\",\n reactivityKeys: [ReactivityKey.sources, ReactivityKey.tools],\n });\n\nexport const mcpSourceBindingsAtom = (\n scopeId: ScopeId,\n namespace: string,\n sourceScopeId: ScopeId,\n) => sourceCredentialBindingsAtom(scopeId, namespace, sourceScopeId);\n\n// ---------------------------------------------------------------------------\n// Mutation atoms\n// ---------------------------------------------------------------------------\n\nexport const probeMcpEndpoint = McpClient.mutation(\"mcp\", \"probeEndpoint\");\nexport const addMcpSource = McpClient.mutation(\"mcp\", \"addSource\");\nexport const addMcpSourceOptimistic = Atom.family((scopeId: ScopeId) =>\n sourcesOptimisticAtom(scopeId).pipe(\n Atom.optimisticFn({\n reducer: (current, arg) =>\n AsyncResult.map(current, (rows) => {\n const id = arg.payload.namespace ?? `pending-${Math.random().toString(36).slice(2)}`;\n const source = {\n id,\n scopeId,\n kind: \"mcp\",\n pluginId: \"mcp\",\n name: arg.payload.name ?? id,\n ...(arg.payload.transport === \"remote\" ? { url: arg.payload.endpoint } : {}),\n canRemove: false,\n canRefresh: false,\n canEdit: false,\n runtime: false,\n };\n return [source, ...rows.filter((row) => row.id !== id)].sort((a, b) =>\n a.name.localeCompare(b.name),\n );\n }),\n fn: addMcpSource,\n }),\n ),\n);\nexport const removeMcpSource = McpClient.mutation(\"mcp\", \"removeSource\");\nexport const refreshMcpSource = McpClient.mutation(\"mcp\", \"refreshSource\");\n","import { createPluginAtomClient } from \"@executor-js/sdk/client\";\nimport { getBaseUrl } from \"@executor-js/react/api/base-url\";\nimport { McpGroup } from \"../api/group\";\n\nexport const McpClient = createPluginAtomClient(McpGroup, {\n baseUrl: getBaseUrl,\n});\n","import { HttpApiEndpoint, HttpApiGroup } from \"effect/unstable/httpapi\";\nimport { Schema } from \"effect\";\nimport { InternalError, ScopeId, SecretBackedMap } from \"@executor-js/sdk/shared\";\n\nimport { McpConnectionError, McpToolDiscoveryError } from \"../sdk/errors\";\nimport { McpStoredSourceSchema } from \"../sdk/stored-source\";\nimport { McpConfiguredValueInput, McpConnectionAuthInput, McpCredentialInput } from \"../sdk/types\";\nimport { OAuth2SourceConfig } from \"@executor-js/sdk/http-source\";\n\n// ---------------------------------------------------------------------------\n// Params\n// ---------------------------------------------------------------------------\n\nconst ScopeParams = { scopeId: ScopeId };\nconst SourceParams = { scopeId: ScopeId, namespace: Schema.String };\n\nconst StringMap = Schema.Record(Schema.String, Schema.String);\n// ---------------------------------------------------------------------------\n// Add source — discriminated union on transport\n// ---------------------------------------------------------------------------\n\nconst AddRemoteSourcePayload = Schema.Struct({\n transport: Schema.Literal(\"remote\"),\n name: Schema.String,\n endpoint: Schema.String,\n remoteTransport: Schema.optional(Schema.Literals([\"streamable-http\", \"sse\", \"auto\"])),\n namespace: Schema.optional(Schema.String),\n queryParams: Schema.optional(Schema.Record(Schema.String, McpConfiguredValueInput)),\n headers: Schema.optional(Schema.Record(Schema.String, McpConfiguredValueInput)),\n oauth2: Schema.optional(OAuth2SourceConfig),\n credentials: Schema.optional(\n Schema.Struct({\n scope: ScopeId,\n headers: Schema.optional(Schema.Record(Schema.String, McpCredentialInput)),\n queryParams: Schema.optional(Schema.Record(Schema.String, McpCredentialInput)),\n auth: Schema.optional(McpConnectionAuthInput),\n }),\n ),\n});\n\nconst AddStdioSourcePayload = Schema.Struct({\n transport: Schema.Literal(\"stdio\"),\n name: Schema.String,\n command: Schema.String,\n args: Schema.optional(Schema.Array(Schema.String)),\n env: Schema.optional(StringMap),\n cwd: Schema.optional(Schema.String),\n namespace: Schema.optional(Schema.String),\n});\n\nconst AddSourcePayload = Schema.Union([AddRemoteSourcePayload, AddStdioSourcePayload]);\n\nconst ProbeEndpointPayload = Schema.Struct({\n endpoint: Schema.String,\n headers: Schema.optional(SecretBackedMap),\n queryParams: Schema.optional(SecretBackedMap),\n});\n\nconst ProbeEndpointResponse = Schema.Struct({\n connected: Schema.Boolean,\n requiresOAuth: Schema.Boolean,\n supportsDynamicRegistration: Schema.Boolean,\n name: Schema.String,\n namespace: Schema.String,\n toolCount: Schema.NullOr(Schema.Number),\n serverName: Schema.NullOr(Schema.String),\n});\n\nconst NamespacePayload = Schema.Struct({\n namespace: Schema.String,\n});\n\n// ---------------------------------------------------------------------------\n// Responses\n// ---------------------------------------------------------------------------\n\nconst AddSourceResponse = Schema.Struct({\n toolCount: Schema.Number,\n namespace: Schema.String,\n});\n\nconst RefreshSourceResponse = Schema.Struct({\n toolCount: Schema.Number,\n});\n\nconst RemoveSourceResponse = Schema.Struct({\n removed: Schema.Boolean,\n});\n\n// ---------------------------------------------------------------------------\n// Group\n//\n// Plugin SDK errors (McpOAuthError etc.) are declared once at the group\n// level via `.addError(...)` — every endpoint inherits them. The errors\n// themselves carry their HTTP status via `HttpApiSchema.annotations`\n// in errors.ts, so handlers just `return yield* ext.foo(...)` and the\n// schema encodes whatever it gets.\n//\n// 5xx is handled at the API level: `CoreExecutorApi.addError(InternalError)`\n// adds a single shared opaque-by-schema 500 surface to every endpoint in\n// the entire API. Defects are captured + downgraded to it by an\n// HttpApiBuilder middleware (see apps/cloud/src/observability.ts).\n// No per-handler wrapping, no per-plugin InternalError.\n// ---------------------------------------------------------------------------\n\nexport const McpGroup = HttpApiGroup.make(\"mcp\")\n .add(\n HttpApiEndpoint.post(\"probeEndpoint\", \"/scopes/:scopeId/mcp/probe\", {\n params: ScopeParams,\n payload: ProbeEndpointPayload,\n success: ProbeEndpointResponse,\n error: [InternalError, McpConnectionError, McpToolDiscoveryError],\n }),\n )\n .add(\n HttpApiEndpoint.post(\"addSource\", \"/scopes/:scopeId/mcp/sources\", {\n params: ScopeParams,\n payload: AddSourcePayload,\n success: AddSourceResponse,\n error: [InternalError, McpConnectionError, McpToolDiscoveryError],\n }),\n )\n .add(\n HttpApiEndpoint.post(\"removeSource\", \"/scopes/:scopeId/mcp/sources/remove\", {\n params: ScopeParams,\n payload: NamespacePayload,\n success: RemoveSourceResponse,\n error: [InternalError, McpConnectionError, McpToolDiscoveryError],\n }),\n )\n .add(\n HttpApiEndpoint.post(\"refreshSource\", \"/scopes/:scopeId/mcp/sources/refresh\", {\n params: ScopeParams,\n payload: NamespacePayload,\n success: RefreshSourceResponse,\n error: [InternalError, McpConnectionError, McpToolDiscoveryError],\n }),\n )\n .add(\n HttpApiEndpoint.get(\"getSource\", \"/scopes/:scopeId/mcp/sources/:namespace\", {\n params: SourceParams,\n success: Schema.NullOr(McpStoredSourceSchema),\n error: [InternalError, McpConnectionError, McpToolDiscoveryError],\n }),\n );\n// Errors declared once at the group level — every endpoint inherits.\n// Plugin domain errors carry their own HttpApiSchema status (4xx);\n// `InternalError` is the shared opaque 500 translated at the HTTP\n// edge by `withCapture`. We only list errors an MCP *group*\n// endpoint can surface: `McpInvocationError` is thrown inside\n// `invokeTool` which is reached via the core `tools.invoke`\n// endpoint, not any MCP-group endpoint, so it doesn't belong here.\n// OAuth errors live on the shared `/oauth/*` group in `@executor-js/api`\n// now — the MCP group only declares its own plugin-domain errors.\n","import { Schema } from \"effect\";\nimport { ScopeId } from \"@executor-js/sdk/shared\";\n\nimport { McpStoredSourceData } from \"./types\";\n\n// ---------------------------------------------------------------------------\n// Stored source — the shape persisted by the binding store and exposed\n// via the getSource HTTP endpoint.\n// ---------------------------------------------------------------------------\n\nexport const McpStoredSourceSchema = Schema.Struct({\n namespace: Schema.String,\n scope: ScopeId,\n name: Schema.String,\n config: McpStoredSourceData,\n}).annotate({ identifier: \"McpStoredSource\" });\nexport type McpStoredSourceSchema = typeof McpStoredSourceSchema.Type;\n\nexport type McpStoredSourceSchemaType = typeof McpStoredSourceSchema.Type;\n"],"mappings":"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","names":["Schema","ScopeId","ScopeId","Schema"]}
|
|
@@ -2,21 +2,20 @@
|
|
|
2
2
|
import { Effect, Schema } from "effect";
|
|
3
3
|
import {
|
|
4
4
|
ConfiguredCredentialValue,
|
|
5
|
-
CredentialBindingValue,
|
|
6
5
|
credentialSlotKey,
|
|
7
|
-
ScopedSecretCredentialInput,
|
|
8
|
-
ScopeId,
|
|
9
6
|
SecretBackedMap,
|
|
10
7
|
SecretBackedValue
|
|
11
|
-
} from "@executor-js/sdk/
|
|
8
|
+
} from "@executor-js/sdk/shared";
|
|
9
|
+
import {
|
|
10
|
+
HttpConfiguredValueInput,
|
|
11
|
+
HttpCredentialInput,
|
|
12
|
+
HttpOAuthConfigureInput
|
|
13
|
+
} from "@executor-js/sdk/http-source";
|
|
12
14
|
var McpRemoteTransport = Schema.Literals(["streamable-http", "sse", "auto"]);
|
|
13
15
|
var McpTransport = Schema.Literals(["streamable-http", "sse", "stdio", "auto"]);
|
|
14
16
|
var ConfiguredMcpCredentialValue = ConfiguredCredentialValue;
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
SecretBackedValue,
|
|
18
|
-
ConfiguredMcpCredentialValue
|
|
19
|
-
]);
|
|
17
|
+
var McpConfiguredValueInput = HttpConfiguredValueInput;
|
|
18
|
+
var McpCredentialInput = HttpCredentialInput;
|
|
20
19
|
var mcpHeaderSlot = (name) => credentialSlotKey("header", name);
|
|
21
20
|
var mcpQueryParamSlot = (name) => credentialSlotKey("query_param", name);
|
|
22
21
|
var MCP_HEADER_AUTH_SLOT = "auth:header";
|
|
@@ -40,39 +39,13 @@ var McpConnectionAuth = Schema.Union([
|
|
|
40
39
|
})
|
|
41
40
|
]);
|
|
42
41
|
var McpConnectionAuthInput = Schema.Union([
|
|
43
|
-
McpConnectionAuth,
|
|
44
42
|
Schema.Struct({
|
|
45
|
-
kind: Schema.Literal("
|
|
46
|
-
headerName: Schema.String,
|
|
47
|
-
secretId: Schema.String,
|
|
48
|
-
prefix: Schema.optional(Schema.String),
|
|
49
|
-
targetScope: Schema.optional(ScopeId),
|
|
50
|
-
secretScopeId: Schema.optional(ScopeId)
|
|
43
|
+
kind: Schema.Literal("none")
|
|
51
44
|
}),
|
|
52
45
|
Schema.Struct({
|
|
53
|
-
|
|
54
|
-
connectionId: Schema.String,
|
|
55
|
-
clientIdSecretId: Schema.optional(Schema.String),
|
|
56
|
-
clientSecretSecretId: Schema.optional(Schema.NullOr(Schema.String))
|
|
46
|
+
oauth2: Schema.optional(HttpOAuthConfigureInput)
|
|
57
47
|
})
|
|
58
48
|
]);
|
|
59
|
-
var McpSourceBindingValue = CredentialBindingValue;
|
|
60
|
-
var McpSourceBindingInput = Schema.Struct({
|
|
61
|
-
sourceId: Schema.String,
|
|
62
|
-
sourceScope: ScopeId,
|
|
63
|
-
scope: ScopeId,
|
|
64
|
-
slot: Schema.String,
|
|
65
|
-
value: McpSourceBindingValue
|
|
66
|
-
});
|
|
67
|
-
var McpSourceBindingRef = Schema.Struct({
|
|
68
|
-
sourceId: Schema.String,
|
|
69
|
-
sourceScopeId: ScopeId,
|
|
70
|
-
scopeId: ScopeId,
|
|
71
|
-
slot: Schema.String,
|
|
72
|
-
value: McpSourceBindingValue,
|
|
73
|
-
createdAt: Schema.Date,
|
|
74
|
-
updatedAt: Schema.Date
|
|
75
|
-
});
|
|
76
49
|
var StringMap = Schema.Record(Schema.String, Schema.String);
|
|
77
50
|
var McpRemoteSourceData = Schema.Struct({
|
|
78
51
|
transport: Schema.Literal("remote"),
|
|
@@ -157,7 +130,10 @@ var McpOAuthError = class extends Schema2.TaggedErrorClass()(
|
|
|
157
130
|
};
|
|
158
131
|
|
|
159
132
|
export {
|
|
133
|
+
SecretBackedValue,
|
|
134
|
+
McpRemoteTransport,
|
|
160
135
|
ConfiguredMcpCredentialValue,
|
|
136
|
+
McpConfiguredValueInput,
|
|
161
137
|
McpCredentialInput,
|
|
162
138
|
mcpHeaderSlot,
|
|
163
139
|
mcpQueryParamSlot,
|
|
@@ -167,8 +143,6 @@ export {
|
|
|
167
143
|
MCP_OAUTH_CLIENT_SECRET_SLOT,
|
|
168
144
|
McpConnectionAuth,
|
|
169
145
|
McpConnectionAuthInput,
|
|
170
|
-
McpSourceBindingInput,
|
|
171
|
-
McpSourceBindingRef,
|
|
172
146
|
McpStoredSourceData,
|
|
173
147
|
McpToolAnnotations,
|
|
174
148
|
McpToolBinding,
|
|
@@ -176,4 +150,4 @@ export {
|
|
|
176
150
|
McpToolDiscoveryError,
|
|
177
151
|
McpInvocationError
|
|
178
152
|
};
|
|
179
|
-
//# sourceMappingURL=chunk-
|
|
153
|
+
//# sourceMappingURL=chunk-3TGDWTNE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/sdk/types.ts","../src/sdk/errors.ts"],"sourcesContent":["import { Effect, Schema } from \"effect\";\nimport {\n ConfiguredCredentialValue,\n credentialSlotKey,\n SecretBackedMap,\n SecretBackedValue,\n} from \"@executor-js/sdk/shared\";\nimport {\n HttpConfiguredValueInput,\n HttpCredentialInput,\n HttpOAuthConfigureInput,\n} from \"@executor-js/sdk/http-source\";\n\nexport { SecretBackedMap, SecretBackedValue };\n\n// ---------------------------------------------------------------------------\n// Remote transport type\n// ---------------------------------------------------------------------------\n\nexport const McpRemoteTransport = Schema.Literals([\"streamable-http\", \"sse\", \"auto\"]);\nexport type McpRemoteTransport = typeof McpRemoteTransport.Type;\n\n/** All transport types (used in the connector layer) */\nexport const McpTransport = Schema.Literals([\"streamable-http\", \"sse\", \"stdio\", \"auto\"]);\nexport type McpTransport = typeof McpTransport.Type;\n\nexport const ConfiguredMcpCredentialValue = ConfiguredCredentialValue;\nexport type ConfiguredMcpCredentialValue = typeof ConfiguredMcpCredentialValue.Type;\n\nexport const McpConfiguredValueInput = HttpConfiguredValueInput;\nexport type McpConfiguredValueInput = typeof McpConfiguredValueInput.Type;\n\nexport const McpCredentialInput = HttpCredentialInput;\nexport type McpCredentialInput = typeof McpCredentialInput.Type;\n\nexport const mcpHeaderSlot = (name: string): string => credentialSlotKey(\"header\", name);\nexport const mcpQueryParamSlot = (name: string): string => credentialSlotKey(\"query_param\", name);\nexport const MCP_HEADER_AUTH_SLOT = \"auth:header\";\nexport const MCP_OAUTH_CONNECTION_SLOT = \"auth:oauth2:connection\";\nexport const MCP_OAUTH_CLIENT_ID_SLOT = \"auth:oauth2:client-id\";\nexport const MCP_OAUTH_CLIENT_SECRET_SLOT = \"auth:oauth2:client-secret\";\n\n// ---------------------------------------------------------------------------\n// Connection auth (only applies to remote sources)\n//\n// `oauth2` is a source-owned credential slot. Concrete per-user or\n// per-workspace connection ids live in core credential_binding rows.\n// ---------------------------------------------------------------------------\n\n/** JSON object loosely typed — used for opaque OAuth state we just round-trip. */\nconst JsonObject = Schema.Record(Schema.String, Schema.Unknown);\nexport { JsonObject as McpJsonObject };\n\nexport const McpConnectionAuth = Schema.Union([\n Schema.Struct({ kind: Schema.Literal(\"none\") }),\n Schema.Struct({\n kind: Schema.Literal(\"header\"),\n headerName: Schema.String,\n secretSlot: Schema.String,\n prefix: Schema.optional(Schema.String),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"oauth2\"),\n connectionSlot: Schema.String,\n clientIdSlot: Schema.optional(Schema.String),\n clientSecretSlot: Schema.optional(Schema.String),\n }),\n]);\nexport type McpConnectionAuth = typeof McpConnectionAuth.Type;\n\nexport const McpConnectionAuthInput = Schema.Union([\n Schema.Struct({\n kind: Schema.Literal(\"none\"),\n }),\n Schema.Struct({\n oauth2: Schema.optional(HttpOAuthConfigureInput),\n }),\n]);\nexport type McpConnectionAuthInput = typeof McpConnectionAuthInput.Type;\n\n// ---------------------------------------------------------------------------\n// Stored source data — discriminated union on transport\n// ---------------------------------------------------------------------------\n\n/** Common fields for remote string map schemas */\nconst StringMap = Schema.Record(Schema.String, Schema.String);\n\nexport const McpRemoteSourceData = Schema.Struct({\n transport: Schema.Literal(\"remote\"),\n /** The MCP server endpoint URL */\n endpoint: Schema.String,\n /** Transport preference for this remote source */\n remoteTransport: McpRemoteTransport.pipe(\n Schema.optionalKey,\n Schema.withConstructorDefault(Effect.succeed(\"auto\" as const)),\n ),\n /** Extra query params appended to the endpoint URL */\n queryParams: Schema.optional(Schema.Record(Schema.String, ConfiguredMcpCredentialValue)),\n /** Extra headers sent on every request */\n headers: Schema.optional(Schema.Record(Schema.String, ConfiguredMcpCredentialValue)),\n /** Auth configuration */\n auth: McpConnectionAuth,\n});\nexport type McpRemoteSourceData = typeof McpRemoteSourceData.Type;\n\nexport const McpStdioSourceData = Schema.Struct({\n transport: Schema.Literal(\"stdio\"),\n /** The command to run */\n command: Schema.String,\n /** Arguments to the command */\n args: Schema.optional(Schema.Array(Schema.String)),\n /** Environment variables */\n env: Schema.optional(StringMap),\n /** Working directory */\n cwd: Schema.optional(Schema.String),\n});\nexport type McpStdioSourceData = typeof McpStdioSourceData.Type;\n\nexport const McpStoredSourceData = Schema.Union([McpRemoteSourceData, McpStdioSourceData]);\nexport type McpStoredSourceData = typeof McpStoredSourceData.Type;\n\n// ---------------------------------------------------------------------------\n// Tool binding — maps a registered ToolId back to the MCP tool name\n// ---------------------------------------------------------------------------\n\nexport const McpToolAnnotations = Schema.Struct({\n title: Schema.optional(Schema.String),\n readOnlyHint: Schema.optional(Schema.Boolean),\n destructiveHint: Schema.optional(Schema.Boolean),\n idempotentHint: Schema.optional(Schema.Boolean),\n openWorldHint: Schema.optional(Schema.Boolean),\n});\nexport type McpToolAnnotations = typeof McpToolAnnotations.Type;\n\nexport const McpToolBinding = Schema.Struct({\n toolId: Schema.String,\n toolName: Schema.String,\n description: Schema.NullOr(Schema.String),\n inputSchema: Schema.optional(Schema.Unknown),\n outputSchema: Schema.optional(Schema.Unknown),\n annotations: Schema.optional(McpToolAnnotations),\n});\nexport type McpToolBinding = typeof McpToolBinding.Type;\n","// MCP plugin tagged errors. Each carries an `HttpApiSchema` annotation so\n// it can be `.addError(...)` directly on the API group — handlers return\n// these and HttpApi encodes them as 4xx responses with a typed body. No\n// per-handler sanitisation step.\n\nimport { Schema } from \"effect\";\n\nexport class McpConnectionError extends Schema.TaggedErrorClass<McpConnectionError>()(\n \"McpConnectionError\",\n {\n transport: Schema.String,\n message: Schema.String,\n },\n { httpApiStatus: 400 },\n) {}\n\nexport class McpToolDiscoveryError extends Schema.TaggedErrorClass<McpToolDiscoveryError>()(\n \"McpToolDiscoveryError\",\n {\n stage: Schema.Literals([\"connect\", \"list_tools\"]),\n message: Schema.String,\n },\n { httpApiStatus: 400 },\n) {}\n\nexport class McpInvocationError extends Schema.TaggedErrorClass<McpInvocationError>()(\n \"McpInvocationError\",\n {\n toolName: Schema.String,\n message: Schema.String,\n },\n { httpApiStatus: 400 },\n) {}\n\nexport class McpOAuthError extends Schema.TaggedErrorClass<McpOAuthError>()(\n \"McpOAuthError\",\n {\n message: Schema.String,\n },\n { httpApiStatus: 400 },\n) {}\n"],"mappings":";AAAA,SAAS,QAAQ,cAAc;AAC/B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQA,IAAM,qBAAqB,OAAO,SAAS,CAAC,mBAAmB,OAAO,MAAM,CAAC;AAI7E,IAAM,eAAe,OAAO,SAAS,CAAC,mBAAmB,OAAO,SAAS,MAAM,CAAC;AAGhF,IAAM,+BAA+B;AAGrC,IAAM,0BAA0B;AAGhC,IAAM,qBAAqB;AAG3B,IAAM,gBAAgB,CAAC,SAAyB,kBAAkB,UAAU,IAAI;AAChF,IAAM,oBAAoB,CAAC,SAAyB,kBAAkB,eAAe,IAAI;AACzF,IAAM,uBAAuB;AAC7B,IAAM,4BAA4B;AAClC,IAAM,2BAA2B;AACjC,IAAM,+BAA+B;AAU5C,IAAM,aAAa,OAAO,OAAO,OAAO,QAAQ,OAAO,OAAO;AAGvD,IAAM,oBAAoB,OAAO,MAAM;AAAA,EAC5C,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,MAAM,EAAE,CAAC;AAAA,EAC9C,OAAO,OAAO;AAAA,IACZ,MAAM,OAAO,QAAQ,QAAQ;AAAA,IAC7B,YAAY,OAAO;AAAA,IACnB,YAAY,OAAO;AAAA,IACnB,QAAQ,OAAO,SAAS,OAAO,MAAM;AAAA,EACvC,CAAC;AAAA,EACD,OAAO,OAAO;AAAA,IACZ,MAAM,OAAO,QAAQ,QAAQ;AAAA,IAC7B,gBAAgB,OAAO;AAAA,IACvB,cAAc,OAAO,SAAS,OAAO,MAAM;AAAA,IAC3C,kBAAkB,OAAO,SAAS,OAAO,MAAM;AAAA,EACjD,CAAC;AACH,CAAC;AAGM,IAAM,yBAAyB,OAAO,MAAM;AAAA,EACjD,OAAO,OAAO;AAAA,IACZ,MAAM,OAAO,QAAQ,MAAM;AAAA,EAC7B,CAAC;AAAA,EACD,OAAO,OAAO;AAAA,IACZ,QAAQ,OAAO,SAAS,uBAAuB;AAAA,EACjD,CAAC;AACH,CAAC;AAQD,IAAM,YAAY,OAAO,OAAO,OAAO,QAAQ,OAAO,MAAM;AAErD,IAAM,sBAAsB,OAAO,OAAO;AAAA,EAC/C,WAAW,OAAO,QAAQ,QAAQ;AAAA;AAAA,EAElC,UAAU,OAAO;AAAA;AAAA,EAEjB,iBAAiB,mBAAmB;AAAA,IAClC,OAAO;AAAA,IACP,OAAO,uBAAuB,OAAO,QAAQ,MAAe,CAAC;AAAA,EAC/D;AAAA;AAAA,EAEA,aAAa,OAAO,SAAS,OAAO,OAAO,OAAO,QAAQ,4BAA4B,CAAC;AAAA;AAAA,EAEvF,SAAS,OAAO,SAAS,OAAO,OAAO,OAAO,QAAQ,4BAA4B,CAAC;AAAA;AAAA,EAEnF,MAAM;AACR,CAAC;AAGM,IAAM,qBAAqB,OAAO,OAAO;AAAA,EAC9C,WAAW,OAAO,QAAQ,OAAO;AAAA;AAAA,EAEjC,SAAS,OAAO;AAAA;AAAA,EAEhB,MAAM,OAAO,SAAS,OAAO,MAAM,OAAO,MAAM,CAAC;AAAA;AAAA,EAEjD,KAAK,OAAO,SAAS,SAAS;AAAA;AAAA,EAE9B,KAAK,OAAO,SAAS,OAAO,MAAM;AACpC,CAAC;AAGM,IAAM,sBAAsB,OAAO,MAAM,CAAC,qBAAqB,kBAAkB,CAAC;AAOlF,IAAM,qBAAqB,OAAO,OAAO;AAAA,EAC9C,OAAO,OAAO,SAAS,OAAO,MAAM;AAAA,EACpC,cAAc,OAAO,SAAS,OAAO,OAAO;AAAA,EAC5C,iBAAiB,OAAO,SAAS,OAAO,OAAO;AAAA,EAC/C,gBAAgB,OAAO,SAAS,OAAO,OAAO;AAAA,EAC9C,eAAe,OAAO,SAAS,OAAO,OAAO;AAC/C,CAAC;AAGM,IAAM,iBAAiB,OAAO,OAAO;AAAA,EAC1C,QAAQ,OAAO;AAAA,EACf,UAAU,OAAO;AAAA,EACjB,aAAa,OAAO,OAAO,OAAO,MAAM;AAAA,EACxC,aAAa,OAAO,SAAS,OAAO,OAAO;AAAA,EAC3C,cAAc,OAAO,SAAS,OAAO,OAAO;AAAA,EAC5C,aAAa,OAAO,SAAS,kBAAkB;AACjD,CAAC;;;ACxID,SAAS,UAAAA,eAAc;AAEhB,IAAM,qBAAN,cAAiCA,QAAO,iBAAqC;AAAA,EAClF;AAAA,EACA;AAAA,IACE,WAAWA,QAAO;AAAA,IAClB,SAASA,QAAO;AAAA,EAClB;AAAA,EACA,EAAE,eAAe,IAAI;AACvB,EAAE;AAAC;AAEI,IAAM,wBAAN,cAAoCA,QAAO,iBAAwC;AAAA,EACxF;AAAA,EACA;AAAA,IACE,OAAOA,QAAO,SAAS,CAAC,WAAW,YAAY,CAAC;AAAA,IAChD,SAASA,QAAO;AAAA,EAClB;AAAA,EACA,EAAE,eAAe,IAAI;AACvB,EAAE;AAAC;AAEI,IAAM,qBAAN,cAAiCA,QAAO,iBAAqC;AAAA,EAClF;AAAA,EACA;AAAA,IACE,UAAUA,QAAO;AAAA,IACjB,SAASA,QAAO;AAAA,EAClB;AAAA,EACA,EAAE,eAAe,IAAI;AACvB,EAAE;AAAC;AAEI,IAAM,gBAAN,cAA4BA,QAAO,iBAAgC;AAAA,EACxE;AAAA,EACA;AAAA,IACE,SAASA,QAAO;AAAA,EAClB;AAAA,EACA,EAAE,eAAe,IAAI;AACvB,EAAE;AAAC;","names":["Schema"]}
|