experimental-ash 0.2.0-alpha.19 → 0.2.0-alpha.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.
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/authored-definition/connection.d.ts.map +1 -1
- package/dist/src/internal/authored-definition/connection.js +97 -7
- package/dist/src/internal/authored-definition/connection.js.map +1 -1
- package/dist/src/public/connections/index.d.ts +1 -1
- package/dist/src/public/connections/index.d.ts.map +1 -1
- package/dist/src/public/connections/index.js.map +1 -1
- package/dist/src/public/definitions/connections/mcp.d.ts +24 -4
- package/dist/src/public/definitions/connections/mcp.d.ts.map +1 -1
- package/dist/src/public/definitions/connections/mcp.js.map +1 -1
- package/dist/src/runtime/connections/mcp-client.d.ts +12 -2
- package/dist/src/runtime/connections/mcp-client.d.ts.map +1 -1
- package/dist/src/runtime/connections/mcp-client.js +55 -10
- package/dist/src/runtime/connections/mcp-client.js.map +1 -1
- package/dist/src/runtime/connections/types.d.ts +22 -0
- package/dist/src/runtime/connections/types.d.ts.map +1 -1
- package/dist/src/runtime/resolve-connection.d.ts +6 -4
- package/dist/src/runtime/resolve-connection.d.ts.map +1 -1
- package/dist/src/runtime/resolve-connection.js +33 -19
- package/dist/src/runtime/resolve-connection.js.map +1 -1
- package/dist/src/runtime/types.d.ts +6 -6
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import { ASH_PACKAGE_NAME } from "../../package-name.js";
|
|
|
6
6
|
let cachedPackageInfo;
|
|
7
7
|
// The package build stamps the published version into `dist` so bundled
|
|
8
8
|
// deployments can still report package metadata without resolving package.json.
|
|
9
|
-
const BUNDLED_FALLBACK_PACKAGE_VERSION = "0.2.0-alpha.
|
|
9
|
+
const BUNDLED_FALLBACK_PACKAGE_VERSION = "0.2.0-alpha.20";
|
|
10
10
|
const BUNDLED_FALLBACK_PACKAGE_VERSION_PLACEHOLDER = "__ASH_PACKAGE_VERSION_PLACEHOLDER__";
|
|
11
11
|
function resolveFallbackPackageVersion() {
|
|
12
12
|
return BUNDLED_FALLBACK_PACKAGE_VERSION === BUNDLED_FALLBACK_PACKAGE_VERSION_PLACEHOLDER
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../src/internal/authored-definition/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../src/internal/authored-definition/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAWjG;;;;;;GAMG;AACH,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,GACd,6BAA6B,CAoC/B"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { expectObjectRecord, expectOnlyKnownKeys } from "../authored-module.js";
|
|
2
|
+
const KNOWN_TOP_LEVEL_KEYS = ["authorization", "description", "headers", "tools", "url"];
|
|
3
|
+
const KNOWN_AUTHORIZATION_KEYS = ["token"];
|
|
2
4
|
/**
|
|
3
5
|
* Validates one authored MCP client connection module export at build time
|
|
4
6
|
* and returns the public definition type. The module export is `unknown`
|
|
@@ -8,7 +10,34 @@ import { expectObjectRecord, expectOnlyKnownKeys } from "../authored-module.js";
|
|
|
8
10
|
*/
|
|
9
11
|
export function normalizeMcpClientConnectionDefinition(value, message) {
|
|
10
12
|
const record = expectObjectRecord(value, message);
|
|
11
|
-
expectOnlyKnownKeys(record,
|
|
13
|
+
expectOnlyKnownKeys(record, KNOWN_TOP_LEVEL_KEYS, message);
|
|
14
|
+
validateUrl(record, message);
|
|
15
|
+
validateDescription(record, message);
|
|
16
|
+
const authorization = normalizeAuthorization(record, message);
|
|
17
|
+
const headers = normalizeHeaders(record, message);
|
|
18
|
+
const tools = normalizeToolFilter(record, message);
|
|
19
|
+
if (authorization !== undefined && headers !== undefined && typeof headers !== "function") {
|
|
20
|
+
const headerKeys = Object.keys(headers);
|
|
21
|
+
if (headerKeys.some((k) => k.toLowerCase() === "authorization")) {
|
|
22
|
+
throw new Error(`${message} "headers" must not include an "Authorization" key when "authorization" is also provided.`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const result = {
|
|
26
|
+
description: record.description,
|
|
27
|
+
url: record.url,
|
|
28
|
+
};
|
|
29
|
+
if (authorization !== undefined) {
|
|
30
|
+
result.authorization = authorization;
|
|
31
|
+
}
|
|
32
|
+
if (headers !== undefined) {
|
|
33
|
+
result.headers = headers;
|
|
34
|
+
}
|
|
35
|
+
if (tools !== undefined) {
|
|
36
|
+
result.tools = tools;
|
|
37
|
+
}
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
function validateUrl(record, message) {
|
|
12
41
|
if (typeof record.url !== "string" || !URL.canParse(record.url)) {
|
|
13
42
|
throw new Error(`${message} The "url" field must be a valid URL.`);
|
|
14
43
|
}
|
|
@@ -16,11 +45,18 @@ export function normalizeMcpClientConnectionDefinition(value, message) {
|
|
|
16
45
|
if (parsed.protocol !== "https:" && parsed.protocol !== "http:") {
|
|
17
46
|
throw new Error(`${message} The "url" field must use the http or https protocol, got "${parsed.protocol}".`);
|
|
18
47
|
}
|
|
48
|
+
}
|
|
49
|
+
function validateDescription(record, message) {
|
|
19
50
|
if (typeof record.description !== "string" || record.description.length === 0) {
|
|
20
51
|
throw new Error(`${message} The "description" field must be a non-empty string.`);
|
|
21
52
|
}
|
|
53
|
+
}
|
|
54
|
+
function normalizeAuthorization(record, message) {
|
|
55
|
+
if (record.authorization === undefined) {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
22
58
|
const authorization = expectObjectRecord(record.authorization, `${message} The "authorization" field must be an object with a "token" property.`);
|
|
23
|
-
expectOnlyKnownKeys(authorization,
|
|
59
|
+
expectOnlyKnownKeys(authorization, KNOWN_AUTHORIZATION_KEYS, `${message} The "authorization" field`);
|
|
24
60
|
const { token } = authorization;
|
|
25
61
|
if (token === null || token === undefined) {
|
|
26
62
|
throw new Error(`${message} The "authorization.token" field must be a string, Promise, or function.`);
|
|
@@ -35,10 +71,64 @@ export function normalizeMcpClientConnectionDefinition(value, message) {
|
|
|
35
71
|
if (tokenType === "object" && typeof token.then !== "function") {
|
|
36
72
|
throw new Error(`${message} The "authorization.token" field must be a string, Promise, or function.`);
|
|
37
73
|
}
|
|
38
|
-
return {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
74
|
+
return { token: token };
|
|
75
|
+
}
|
|
76
|
+
function normalizeHeaders(record, message) {
|
|
77
|
+
if (record.headers === undefined) {
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
if (typeof record.headers === "function") {
|
|
81
|
+
return record.headers;
|
|
82
|
+
}
|
|
83
|
+
if (typeof record.headers !== "object" ||
|
|
84
|
+
record.headers === null ||
|
|
85
|
+
Array.isArray(record.headers)) {
|
|
86
|
+
throw new Error(`${message} The "headers" field must be a plain object or a function.`);
|
|
87
|
+
}
|
|
88
|
+
const headersRecord = record.headers;
|
|
89
|
+
for (const [key, val] of Object.entries(headersRecord)) {
|
|
90
|
+
const valType = typeof val;
|
|
91
|
+
if (valType !== "string" && valType !== "function" && valType !== "object") {
|
|
92
|
+
throw new Error(`${message} The "headers.${key}" value must be a string, Promise, or function.`);
|
|
93
|
+
}
|
|
94
|
+
if (valType === "object" &&
|
|
95
|
+
(val === null || typeof val.then !== "function")) {
|
|
96
|
+
throw new Error(`${message} The "headers.${key}" value must be a string, Promise, or function.`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return headersRecord;
|
|
100
|
+
}
|
|
101
|
+
function normalizeToolFilter(record, message) {
|
|
102
|
+
if (record.tools === undefined) {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
if (typeof record.tools !== "object" || record.tools === null || Array.isArray(record.tools)) {
|
|
106
|
+
throw new Error(`${message} The "tools" field must specify either "allow" or "block".`);
|
|
107
|
+
}
|
|
108
|
+
const toolsRecord = record.tools;
|
|
109
|
+
const hasAllow = "allow" in toolsRecord;
|
|
110
|
+
const hasBlock = "block" in toolsRecord;
|
|
111
|
+
if (hasAllow && hasBlock) {
|
|
112
|
+
throw new Error(`${message} The "tools" field must specify either "allow" or "block", not both.`);
|
|
113
|
+
}
|
|
114
|
+
if (!hasAllow && !hasBlock) {
|
|
115
|
+
throw new Error(`${message} The "tools" field must specify either "allow" or "block".`);
|
|
116
|
+
}
|
|
117
|
+
if (hasAllow) {
|
|
118
|
+
validateStringArray(toolsRecord.allow, `${message} The "tools.allow"`);
|
|
119
|
+
return { allow: toolsRecord.allow };
|
|
120
|
+
}
|
|
121
|
+
validateStringArray(toolsRecord.block, `${message} The "tools.block"`);
|
|
122
|
+
return { block: toolsRecord.block };
|
|
123
|
+
}
|
|
124
|
+
function validateStringArray(value, label) {
|
|
125
|
+
if (!Array.isArray(value)) {
|
|
126
|
+
throw new Error(`${label} field must be an array of strings.`);
|
|
127
|
+
}
|
|
128
|
+
for (let i = 0; i < value.length; i++) {
|
|
129
|
+
if (typeof value[i] !== "string") {
|
|
130
|
+
throw new Error(`${label}[${i}] must be a string.`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
43
133
|
}
|
|
44
134
|
//# sourceMappingURL=connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../src/internal/authored-definition/connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../src/internal/authored-definition/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,6 @@
|
|
|
20
20
|
* });
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
export type { AuthorizationDefinition } from "../../runtime/connections/types.js";
|
|
23
|
+
export type { AuthorizationDefinition, HeadersDefinition, ToolFilterDefinition, } from "../../runtime/connections/types.js";
|
|
24
24
|
export { defineMcpClientConnection, type McpAuthorizationDefinition, type McpClientConnectionDefinition, } from "../definitions/connections/mcp.js";
|
|
25
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/public/connections/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/public/connections/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,YAAY,EACV,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,yBAAyB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,GACnC,MAAM,mCAAmC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/public/connections/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/public/connections/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAOH,OAAO,EACL,yBAAyB,GAG1B,MAAM,mCAAmC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AuthorizationDefinition } from "../../../runtime/connections/types.js";
|
|
1
|
+
import type { AuthorizationDefinition, HeadersDefinition, ToolFilterDefinition } from "../../../runtime/connections/types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Re-export `AuthorizationDefinition` under the MCP-specific alias for
|
|
4
4
|
* backwards compatibility. New code should prefer `AuthorizationDefinition`.
|
|
@@ -11,6 +11,9 @@ export type McpAuthorizationDefinition = AuthorizationDefinition;
|
|
|
11
11
|
* The connection's runtime name is derived from its filename (the slug
|
|
12
12
|
* under `agent/connections/`, without the extension). A connection
|
|
13
13
|
* authored at `agent/connections/linear.ts` is registered as `"linear"`.
|
|
14
|
+
*
|
|
15
|
+
* Both `authorization` and `headers` are optional — omit both for
|
|
16
|
+
* servers that require no authentication (e.g. localhost).
|
|
14
17
|
*/
|
|
15
18
|
export interface McpClientConnectionDefinition {
|
|
16
19
|
/**
|
|
@@ -28,10 +31,27 @@ export interface McpClientConnectionDefinition {
|
|
|
28
31
|
*/
|
|
29
32
|
description: string;
|
|
30
33
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
34
|
+
* Bearer token credentials for the MCP server. The `token` field is
|
|
35
|
+
* sent as `Authorization: Bearer <token>`.
|
|
36
|
+
*
|
|
37
|
+
* Optional when `headers` is provided for non-Bearer auth schemes.
|
|
38
|
+
*/
|
|
39
|
+
authorization?: AuthorizationDefinition;
|
|
40
|
+
/**
|
|
41
|
+
* Arbitrary HTTP headers sent with every request to the MCP server.
|
|
42
|
+
*
|
|
43
|
+
* Use for non-Bearer auth (e.g. API key headers) or server-level
|
|
44
|
+
* configuration headers. Can be combined with `authorization`.
|
|
45
|
+
*/
|
|
46
|
+
headers?: HeadersDefinition;
|
|
47
|
+
/**
|
|
48
|
+
* Client-side tool filter. When set, only tools whose names pass
|
|
49
|
+
* the filter are surfaced to the model. All other tools are silently
|
|
50
|
+
* excluded from `connection_search` and `connection_execute`.
|
|
51
|
+
*
|
|
52
|
+
* Specify exactly one of `allow` or `block`.
|
|
33
53
|
*/
|
|
34
|
-
|
|
54
|
+
tools?: ToolFilterDefinition;
|
|
35
55
|
}
|
|
36
56
|
/**
|
|
37
57
|
* Defines an MCP client connection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../../../src/public/definitions/connections/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../../../src/public/definitions/connections/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,uCAAuC,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,uBAAuB,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,6BAA6B,GACxC,6BAA6B,CAE/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../../../src/public/definitions/connections/mcp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../../../src/public/definitions/connections/mcp.ts"],"names":[],"mappings":"AA8DA;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAyC;IAEzC,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type MCPClient } from "@ai-sdk/mcp";
|
|
2
2
|
import type { ResolvedConnectionDefinition } from "../types.js";
|
|
3
|
-
import type { ConnectionClient, ConnectionToolMetadata } from "./types.js";
|
|
3
|
+
import type { ConnectionClient, ConnectionToolMetadata, ToolFilterDefinition } from "./types.js";
|
|
4
4
|
/**
|
|
5
5
|
* Wraps one `MCPClient` from `@ai-sdk/mcp` for a single connection.
|
|
6
6
|
*
|
|
@@ -20,7 +20,8 @@ export declare class McpConnectionClient implements ConnectionClient {
|
|
|
20
20
|
*/
|
|
21
21
|
connect(): Promise<MCPClient>;
|
|
22
22
|
/**
|
|
23
|
-
* Returns cached tool metadata for all tools this connection exposes
|
|
23
|
+
* Returns cached tool metadata for all tools this connection exposes,
|
|
24
|
+
* after applying any configured tool filter.
|
|
24
25
|
*
|
|
25
26
|
* The first call fetches tools from the server via `listTools()` and
|
|
26
27
|
* creates the AI SDK tool set in parallel. Subsequent calls return
|
|
@@ -35,4 +36,13 @@ export declare class McpConnectionClient implements ConnectionClient {
|
|
|
35
36
|
executeTool(toolName: string, args: unknown): Promise<unknown>;
|
|
36
37
|
close(): Promise<void>;
|
|
37
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Returns `true` when a tool name passes the configured filter.
|
|
41
|
+
*/
|
|
42
|
+
export declare function passesToolFilter(toolName: string, filter: Readonly<ToolFilterDefinition> | undefined): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Merges `authorization` (Bearer token) and `headers` into one
|
|
45
|
+
* flat `Record<string, string>` for the transport layer.
|
|
46
|
+
*/
|
|
47
|
+
export declare function resolveHeaders(connection: ResolvedConnectionDefinition): Promise<Record<string, string>>;
|
|
38
48
|
//# sourceMappingURL=mcp-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../../../src/runtime/connections/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../../../src/runtime/connections/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EAGtB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAOpB;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;;gBAO9C,UAAU,EAAE,4BAA4B;IAIpD;;;;;;;OAOG;IACG,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAkCnC;;;;;;;;OAQG;IACG,eAAe,IAAI,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC;IAKnE;;;OAGG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAgE9D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,SAAS,GACjD,OAAO,CAQT;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,4BAA4B,GACvC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqBjC"}
|
|
@@ -40,8 +40,7 @@ export class McpConnectionClient {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
async #createClient() {
|
|
43
|
-
const
|
|
44
|
-
const headers = { Authorization: `Bearer ${resolvedToken}` };
|
|
43
|
+
const headers = await resolveHeaders(this.#connection);
|
|
45
44
|
const url = this.#connection.url;
|
|
46
45
|
try {
|
|
47
46
|
return await createMCPClient({
|
|
@@ -55,7 +54,8 @@ export class McpConnectionClient {
|
|
|
55
54
|
}
|
|
56
55
|
}
|
|
57
56
|
/**
|
|
58
|
-
* Returns cached tool metadata for all tools this connection exposes
|
|
57
|
+
* Returns cached tool metadata for all tools this connection exposes,
|
|
58
|
+
* after applying any configured tool filter.
|
|
59
59
|
*
|
|
60
60
|
* The first call fetches tools from the server via `listTools()` and
|
|
61
61
|
* creates the AI SDK tool set in parallel. Subsequent calls return
|
|
@@ -98,10 +98,14 @@ export class McpConnectionClient {
|
|
|
98
98
|
async #fetchTools() {
|
|
99
99
|
const client = await this.connect();
|
|
100
100
|
const listResult = await client.listTools();
|
|
101
|
-
const
|
|
101
|
+
const filter = this.#connection.tools;
|
|
102
|
+
const filteredTools = filter !== undefined
|
|
103
|
+
? listResult.tools.filter((t) => passesToolFilter(t.name, filter))
|
|
104
|
+
: listResult.tools;
|
|
105
|
+
const toolSet = client.toolsFromDefinitions({ tools: filteredTools });
|
|
102
106
|
const metadata = [];
|
|
103
107
|
const executors = new Map();
|
|
104
|
-
for (const tool of
|
|
108
|
+
for (const tool of filteredTools) {
|
|
105
109
|
metadata.push({
|
|
106
110
|
annotations: tool.annotations,
|
|
107
111
|
description: tool.description ?? "",
|
|
@@ -126,12 +130,53 @@ export class McpConnectionClient {
|
|
|
126
130
|
}
|
|
127
131
|
}
|
|
128
132
|
/**
|
|
129
|
-
*
|
|
133
|
+
* Returns `true` when a tool name passes the configured filter.
|
|
130
134
|
*/
|
|
131
|
-
|
|
132
|
-
if (
|
|
133
|
-
return
|
|
135
|
+
export function passesToolFilter(toolName, filter) {
|
|
136
|
+
if (filter === undefined) {
|
|
137
|
+
return true;
|
|
134
138
|
}
|
|
135
|
-
|
|
139
|
+
if ("allow" in filter) {
|
|
140
|
+
return filter.allow.includes(toolName);
|
|
141
|
+
}
|
|
142
|
+
return !filter.block.includes(toolName);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Merges `authorization` (Bearer token) and `headers` into one
|
|
146
|
+
* flat `Record<string, string>` for the transport layer.
|
|
147
|
+
*/
|
|
148
|
+
export async function resolveHeaders(connection) {
|
|
149
|
+
const merged = {};
|
|
150
|
+
if (connection.authorization !== undefined) {
|
|
151
|
+
const token = await resolveHeaderValue(connection.authorization.token);
|
|
152
|
+
merged.Authorization = `Bearer ${token}`;
|
|
153
|
+
}
|
|
154
|
+
if (connection.headers !== undefined) {
|
|
155
|
+
const resolved = await resolveHeadersDefinition(connection.headers);
|
|
156
|
+
for (const [key, value] of Object.entries(resolved)) {
|
|
157
|
+
if (connection.authorization !== undefined && key.toLowerCase() === "authorization") {
|
|
158
|
+
throw new Error(`Connection "${connection.connectionName}" headers must not include an "Authorization" key when "authorization" is also provided.`);
|
|
159
|
+
}
|
|
160
|
+
merged[key] = value;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return merged;
|
|
164
|
+
}
|
|
165
|
+
async function resolveHeadersDefinition(headers) {
|
|
166
|
+
if (typeof headers === "function") {
|
|
167
|
+
return await headers();
|
|
168
|
+
}
|
|
169
|
+
const result = {};
|
|
170
|
+
const entries = Object.entries(headers);
|
|
171
|
+
for (const [key, value] of entries) {
|
|
172
|
+
result[key] = await resolveHeaderValue(value);
|
|
173
|
+
}
|
|
174
|
+
return result;
|
|
175
|
+
}
|
|
176
|
+
async function resolveHeaderValue(value) {
|
|
177
|
+
if (typeof value === "function") {
|
|
178
|
+
return await value();
|
|
179
|
+
}
|
|
180
|
+
return await value;
|
|
136
181
|
}
|
|
137
182
|
//# sourceMappingURL=mcp-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../../../src/runtime/connections/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../../../src/runtime/connections/mcp-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,28 @@
|
|
|
6
6
|
* protocol-specific implementation such as MCP.
|
|
7
7
|
*/
|
|
8
8
|
import type { ResolvedConnectionDefinition } from "../types.js";
|
|
9
|
+
/** A single header value, supporting static strings and dynamic resolution. */
|
|
10
|
+
export type HeaderValue = string | Promise<string> | (() => string | Promise<string>);
|
|
11
|
+
/**
|
|
12
|
+
* Arbitrary HTTP headers sent with every request to a connection server.
|
|
13
|
+
*
|
|
14
|
+
* Static form: key-value pairs where each value may be a string, Promise,
|
|
15
|
+
* or function. Function form: a callback returning the full headers map,
|
|
16
|
+
* useful when multiple headers must be resolved together.
|
|
17
|
+
*/
|
|
18
|
+
export type HeadersDefinition = Readonly<Record<string, HeaderValue>> | (() => Record<string, string> | Promise<Record<string, string>>);
|
|
19
|
+
/**
|
|
20
|
+
* Client-side tool filter applied after `listTools()`.
|
|
21
|
+
*
|
|
22
|
+
* Exactly one of `allow` or `block` must be specified:
|
|
23
|
+
* - `allow` — only named tools are surfaced to the model.
|
|
24
|
+
* - `block` — named tools are hidden; all others are surfaced.
|
|
25
|
+
*/
|
|
26
|
+
export type ToolFilterDefinition = {
|
|
27
|
+
readonly allow: readonly string[];
|
|
28
|
+
} | {
|
|
29
|
+
readonly block: readonly string[];
|
|
30
|
+
};
|
|
9
31
|
/**
|
|
10
32
|
* Credentials for authenticating with a connection server.
|
|
11
33
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/runtime/connections/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CACpE;AAED,0DAA0D;AAC1D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,eAAe,IAAI,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAAC;CAC/D;AAED,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACpD,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAAC;IACxC,cAAc,IAAI,SAAS,4BAA4B,EAAE,CAAC;CAC3D"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/runtime/connections/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAEhE,+EAA+E;AAC/E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GACrC,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACrC;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CACpE;AAED,0DAA0D;AAC1D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,eAAe,IAAI,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAAC;CAC/D;AAED,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACpD,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAAC;IACxC,cAAc,IAAI,SAAS,4BAA4B,EAAE,CAAC;CAC3D"}
|
|
@@ -3,12 +3,14 @@ import type { CompiledModuleMap } from "../compiler/module-map.js";
|
|
|
3
3
|
import type { ResolvedConnectionDefinition } from "./types.js";
|
|
4
4
|
/**
|
|
5
5
|
* Resolves one compiled connection entry into a runtime-owned definition
|
|
6
|
-
* with the live `authorization`
|
|
6
|
+
* with the live `authorization`, `headers`, and `tools` objects attached
|
|
7
|
+
* from the authored module.
|
|
7
8
|
*
|
|
8
9
|
* The compiled manifest only stores serializable metadata (`url`,
|
|
9
|
-
* `description`, `connectionName`).
|
|
10
|
-
* resolved at runtime by re-importing the
|
|
11
|
-
* reference ambient state (
|
|
10
|
+
* `description`, `connectionName`). Live values (`authorization`,
|
|
11
|
+
* `headers`, `tools`) are resolved at runtime by re-importing the
|
|
12
|
+
* authored module so they can reference ambient state (environment
|
|
13
|
+
* variables, `AshContext`, etc.).
|
|
12
14
|
*/
|
|
13
15
|
export declare function resolveConnectionDefinition(definition: CompiledConnectionDefinition, moduleMap: CompiledModuleMap, nodeId: string | undefined): Promise<ResolvedConnectionDefinition>;
|
|
14
16
|
//# sourceMappingURL=resolve-connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-connection.d.ts","sourceRoot":"","sources":["../../../src/runtime/resolve-connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-connection.d.ts","sourceRoot":"","sources":["../../../src/runtime/resolve-connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAQnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,4BAA4B,EACxC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,CAAC,4BAA4B,CAAC,CAsFvC"}
|
|
@@ -2,12 +2,14 @@ import { expectObjectRecord } from "../internal/authored-module.js";
|
|
|
2
2
|
import { formatUnknownError, loadResolvedModuleExport, ResolveAgentError, } from "./resolve-helpers.js";
|
|
3
3
|
/**
|
|
4
4
|
* Resolves one compiled connection entry into a runtime-owned definition
|
|
5
|
-
* with the live `authorization`
|
|
5
|
+
* with the live `authorization`, `headers`, and `tools` objects attached
|
|
6
|
+
* from the authored module.
|
|
6
7
|
*
|
|
7
8
|
* The compiled manifest only stores serializable metadata (`url`,
|
|
8
|
-
* `description`, `connectionName`).
|
|
9
|
-
* resolved at runtime by re-importing the
|
|
10
|
-
* reference ambient state (
|
|
9
|
+
* `description`, `connectionName`). Live values (`authorization`,
|
|
10
|
+
* `headers`, `tools`) are resolved at runtime by re-importing the
|
|
11
|
+
* authored module so they can reference ambient state (environment
|
|
12
|
+
* variables, `AshContext`, etc.).
|
|
11
13
|
*/
|
|
12
14
|
export async function resolveConnectionDefinition(definition, moduleMap, nodeId) {
|
|
13
15
|
try {
|
|
@@ -18,21 +20,9 @@ export async function resolveConnectionDefinition(definition, moduleMap, nodeId)
|
|
|
18
20
|
nodeId,
|
|
19
21
|
});
|
|
20
22
|
const resolvedRecord = expectObjectRecord(resolvedExportValue, `Expected the connection export "${definition.exportName ?? "default"}" from "${definition.logicalPath}" to return an object.`);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
sourceId: definition.sourceId,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
const auth = resolvedRecord.authorization;
|
|
28
|
-
if (!("token" in auth) || auth.token === null || auth.token === undefined) {
|
|
29
|
-
throw new ResolveAgentError(`Connection "${definition.connectionName}" at "${definition.logicalPath}" must export an "authorization" object with a "token" property.`, {
|
|
30
|
-
logicalPath: definition.logicalPath,
|
|
31
|
-
sourceId: definition.sourceId,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
return {
|
|
35
|
-
authorization: auth,
|
|
23
|
+
const hasAuthorization = resolvedRecord.authorization !== undefined;
|
|
24
|
+
const hasHeaders = resolvedRecord.headers !== undefined;
|
|
25
|
+
const result = {
|
|
36
26
|
connectionName: definition.connectionName,
|
|
37
27
|
description: definition.description,
|
|
38
28
|
exportName: definition.exportName,
|
|
@@ -41,6 +31,30 @@ export async function resolveConnectionDefinition(definition, moduleMap, nodeId)
|
|
|
41
31
|
sourceKind: "module",
|
|
42
32
|
url: definition.url,
|
|
43
33
|
};
|
|
34
|
+
if (hasAuthorization) {
|
|
35
|
+
if (resolvedRecord.authorization === null ||
|
|
36
|
+
typeof resolvedRecord.authorization !== "object") {
|
|
37
|
+
throw new ResolveAgentError(`Connection "${definition.connectionName}" at "${definition.logicalPath}" has an invalid "authorization" field — expected an object with a "token" property.`, {
|
|
38
|
+
logicalPath: definition.logicalPath,
|
|
39
|
+
sourceId: definition.sourceId,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
const auth = resolvedRecord.authorization;
|
|
43
|
+
if (!("token" in auth) || auth.token === null || auth.token === undefined) {
|
|
44
|
+
throw new ResolveAgentError(`Connection "${definition.connectionName}" at "${definition.logicalPath}" must export an "authorization" object with a "token" property.`, {
|
|
45
|
+
logicalPath: definition.logicalPath,
|
|
46
|
+
sourceId: definition.sourceId,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
result.authorization = auth;
|
|
50
|
+
}
|
|
51
|
+
if (hasHeaders) {
|
|
52
|
+
result.headers = resolvedRecord.headers;
|
|
53
|
+
}
|
|
54
|
+
if (resolvedRecord.tools !== undefined) {
|
|
55
|
+
result.tools = resolvedRecord.tools;
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
44
58
|
}
|
|
45
59
|
catch (error) {
|
|
46
60
|
if (error instanceof ResolveAgentError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-connection.js","sourceRoot":"","sources":["../../../src/runtime/resolve-connection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-connection.js","sourceRoot":"","sources":["../../../src/runtime/resolve-connection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAG9B;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,UAAwC,EACxC,SAA4B,EAC5B,MAA0B;IAE1B,IAAI,CAAC;QACH,MAAM,mBAAmB,GAAG,MAAM,wBAAwB,CAAC;YACzD,UAAU;YACV,SAAS,EAAE,YAAY;YACvB,SAAS;YACT,MAAM;SACP,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,kBAAkB,CACvC,mBAAmB,EACnB,mCAAmC,UAAU,CAAC,UAAU,IAAI,SAAS,WAAW,UAAU,CAAC,WAAW,wBAAwB,CAC/H,CAAC;QAEF,MAAM,gBAAgB,GAAG,cAAc,CAAC,aAAa,KAAK,SAAS,CAAC;QACpE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,KAAK,SAAS,CAAC;QAExD,MAAM,MAAM,GAWR;YACF,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,UAAU,CAAC,GAAG;SACpB,CAAC;QAEF,IAAI,gBAAgB,EAAE,CAAC;YACrB,IACE,cAAc,CAAC,aAAa,KAAK,IAAI;gBACrC,OAAO,cAAc,CAAC,aAAa,KAAK,QAAQ,EAChD,CAAC;gBACD,MAAM,IAAI,iBAAiB,CACzB,eAAe,UAAU,CAAC,cAAc,SAAS,UAAU,CAAC,WAAW,sFAAsF,EAC7J;oBACE,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;iBAC9B,CACF,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,cAAc,CAAC,aAAwC,CAAC;YACrE,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1E,MAAM,IAAI,iBAAiB,CACzB,eAAe,UAAU,CAAC,cAAc,SAAS,UAAU,CAAC,WAAW,kEAAkE,EACzI;oBACE,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;iBAC9B,CACF,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,aAAa,GAAG,IAAqD,CAAC;QAC/E,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,OAAsC,CAAC;QACzE,CAAC;QAED,IAAI,cAAc,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,KAAuC,CAAC;QACxE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,iBAAiB,CACzB,iCAAiC,UAAU,CAAC,cAAc,WAAW,UAAU,CAAC,WAAW,MAAM,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAC5H;YACE,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -5,7 +5,7 @@ import type { SandboxLifecycleContext } from "../public/definitions/sandbox.js";
|
|
|
5
5
|
import type { SandboxBackend } from "../public/definitions/sandbox-backend.js";
|
|
6
6
|
import type { CompactionHookInput, CompactionHookResult, NeedsApprovalContext } from "../public/definitions/tool.js";
|
|
7
7
|
import type { RuntimeModelReference } from "./agent/bootstrap.js";
|
|
8
|
-
import type { AuthorizationDefinition } from "./connections/types.js";
|
|
8
|
+
import type { AuthorizationDefinition, HeadersDefinition, ToolFilterDefinition } from "./connections/types.js";
|
|
9
9
|
import type { StandardSchemaValidator } from "./standard-schema.js";
|
|
10
10
|
import type { WorkspaceFileSource, WorkspaceSpec } from "./workspace/types.js";
|
|
11
11
|
/**
|
|
@@ -61,15 +61,15 @@ export interface ResolvedSchedule extends ResolvedSourceMetadata {
|
|
|
61
61
|
* Runtime-owned authored connection definition resolved from a compiled
|
|
62
62
|
* module map.
|
|
63
63
|
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* runtime resolves the flexible `token` value (string, Promise, or
|
|
67
|
-
* function) into a plain string at connection time.
|
|
64
|
+
* Both `authorization` and `headers` are optional — a connection to a
|
|
65
|
+
* server that requires no authentication (e.g. localhost) may omit both.
|
|
68
66
|
*/
|
|
69
67
|
export interface ResolvedConnectionDefinition extends ResolvedModuleSourceMetadata {
|
|
70
|
-
readonly authorization
|
|
68
|
+
readonly authorization?: Readonly<AuthorizationDefinition>;
|
|
71
69
|
readonly connectionName: string;
|
|
72
70
|
readonly description: string;
|
|
71
|
+
readonly headers?: Readonly<HeadersDefinition>;
|
|
72
|
+
readonly tools?: Readonly<ToolFilterDefinition>;
|
|
73
73
|
readonly url: string;
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"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"}
|