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.
@@ -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.19";
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;AAIjG;;;;;;GAMG;AACH,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,GACd,6BAA6B,CAuD/B"}
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, ["authorization", "description", "url"], message);
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, ["token"], `${message} The "authorization" field`);
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
- authorization: { token: token },
40
- description: record.description,
41
- url: record.url,
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":"AAEA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACpD,KAAc,EACd,OAAe;IAEf,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClD,mBAAmB,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAE9E,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,uCAAuC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,8DAA8D,MAAM,CAAC,QAAQ,IAAI,CAC5F,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,sDAAsD,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,aAAa,GAAG,kBAAkB,CACtC,MAAM,CAAC,aAAa,EACpB,GAAG,OAAO,uEAAuE,CAClF,CAAC;IACF,mBAAmB,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,4BAA4B,CAAC,CAAC;IAEtF,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC;IAEhC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,0EAA0E,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC;IAC/B,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,0EAA0E,CACrF,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,QAAQ,IAAK,KAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,8DAA8D,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,SAAS,KAAK,QAAQ,IAAI,OAAQ,KAA4B,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACvF,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,0EAA0E,CACrF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,aAAa,EAAE,EAAE,KAAK,EAAE,KAAyC,EAAE;QACnE,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,GAAG,EAAE,MAAM,CAAC,GAAG;KAChB,CAAC;AACJ,CAAC"}
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,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EACL,yBAAyB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,GACnC,MAAM,mCAAmC,CAAC"}
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;AAGH,OAAO,EACL,yBAAyB,GAG1B,MAAM,mCAAmC,CAAC"}
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
- * Credentials for the MCP server. The `token` field is sent as a
32
- * `Bearer` token in the `Authorization` header.
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
- authorization: AuthorizationDefinition;
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,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAErF;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,uBAAuB,CAAC;AAEjE;;;;;;;GAOG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,aAAa,EAAE,uBAAuB,CAAC;CACxC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,6BAA6B,GACxC,6BAA6B,CAE/B"}
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":"AAsCA;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAyC;IAEzC,OAAO,UAAU,CAAC;AACpB,CAAC"}
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,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAO3E;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;;gBAO9C,UAAU,EAAE,4BAA4B;IAIpD;;;;;;;OAOG;IACG,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAmCnC;;;;;;;OAOG;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;IAyD9D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B"}
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 resolvedToken = await resolveToken(this.#connection.authorization.token);
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 toolSet = client.toolsFromDefinitions(listResult);
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 listResult.tools) {
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
- * Resolves a flexible token value into a plain string.
133
+ * Returns `true` when a tool name passes the configured filter.
130
134
  */
131
- async function resolveToken(token) {
132
- if (typeof token === "function") {
133
- return await token();
135
+ export function passesToolFilter(toolName, filter) {
136
+ if (filter === undefined) {
137
+ return true;
134
138
  }
135
- return await token;
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;AAS9D;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IAC9B,cAAc,CAAiC;IAC/C,OAAO,CAAwB;IAC/B,aAAa,CAAkC;IAC/C,MAAM,CAAyB;IAC/B,WAAW,CAA+B;IAE1C,YAAY,UAAwC;QAClD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;YACzC,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,EAAE,aAAa,EAAE,UAAU,aAAa,EAAE,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QAEjC,IAAI,CAAC;YACH,OAAO,MAAM,eAAe,CAAC;gBAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE;aAC1C,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,eAAe,CAAC;gBAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE;aACzC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,IAAa;QAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAEhD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,SAAS,QAAQ,8BAA8B,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CACnF,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;YACvC,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+C,CAAC;QAEzE,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC;gBACZ,WAAW,EAAE,IAAI,CAAC,WAAkD;gBACpE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAA4B;gBAChE,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAA8C,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,KAAkE;IAElE,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,MAAM,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,KAAK,CAAC;AACrB,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` object attached from the authored module.
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`). The `authorization` object is
10
- * resolved at runtime by re-importing the authored module so it can
11
- * reference ambient state (e.g. environment variables, `AshContext`).
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;AAOnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,4BAA4B,EACxC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,CAAC,4BAA4B,CAAC,CAwDvC"}
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` object attached from the authored module.
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`). The `authorization` object is
9
- * resolved at runtime by re-importing the authored module so it can
10
- * reference ambient state (e.g. environment variables, `AshContext`).
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
- if (resolvedRecord.authorization === null || typeof resolvedRecord.authorization !== "object") {
22
- throw new ResolveAgentError(`Connection "${definition.connectionName}" at "${definition.logicalPath}" must export an "authorization" object with a "token" property.`, {
23
- logicalPath: definition.logicalPath,
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;AACpE,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAG9B;;;;;;;;GAQG;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,IAAI,cAAc,CAAC,aAAa,KAAK,IAAI,IAAI,OAAO,cAAc,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC9F,MAAM,IAAI,iBAAiB,CACzB,eAAe,UAAU,CAAC,cAAc,SAAS,UAAU,CAAC,WAAW,kEAAkE,EACzI;gBACE,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B,CACF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,cAAc,CAAC,aAAwC,CAAC;QACrE,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1E,MAAM,IAAI,iBAAiB,CACzB,eAAe,UAAU,CAAC,cAAc,SAAS,UAAU,CAAC,WAAW,kEAAkE,EACzI;gBACE,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B,CACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,aAAa,EAAE,IAAqD;YACpE,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;IACJ,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"}
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
- * The `authorization` field uses the shared `AuthorizationDefinition`
65
- * shape the same interface used by all connection types. The
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: Readonly<AuthorizationDefinition>;
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":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "experimental-ash",
3
- "version": "0.2.0-alpha.19",
3
+ "version": "0.2.0-alpha.20",
4
4
  "type": "module",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",