@ai-sdk/mcp 2.0.72 → 2.0.73
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/CHANGELOG.md +12 -0
- package/README.md +5 -2
- package/dist/index.d.ts +21 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -1
- package/src/tool/mcp-client.ts +25 -4
- package/src/tool/mcp-event-types.ts +2 -2
- package/src/tool/mcp-events-adapter.ts +57 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @ai-sdk/mcp
|
|
2
2
|
|
|
3
|
+
## 2.0.73
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- b5b0416: Give experimental managed event adapters a synchronous `createAdapter({ transport })` method that receives the configured MCP transport type and URL and returns bound subscription operations. Applications no longer need to configure the endpoint twice.
|
|
8
|
+
|
|
9
|
+
**Breaking change to the experimental API:** the configured integration is now `Experimental_MCPEventAdapter` and must implement `createAdapter`. The former `Experimental_MCPEventsAdapter` subscription operations interface is renamed to `Experimental_MCPEventOperations`. Update imports and operation type annotations, and wrap existing operations with `{ createAdapter: () => operations }` instead of passing them directly to `experimental_events.adapter`.
|
|
10
|
+
|
|
11
|
+
`createAdapter` must synchronously return an object implementing `subscribe`, `getSubscription`, `listSubscriptions`, and `unsubscribe`. Missing or non-callable operations, nullish results, and Promise/thenable results now reject `createMCPClient` with `MCPClientError` before the transport starts.
|
|
12
|
+
|
|
13
|
+
The adapter receives a fresh `transport: { type: 'http' | 'sse', url: string }` description for built-in transport configurations or `transport: { type: 'custom' }` for custom instances. Credentials, callbacks, and live transport methods are not forwarded.
|
|
14
|
+
|
|
3
15
|
## 2.0.72
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -188,8 +188,11 @@ Please check out the
|
|
|
188
188
|
[AI SDK MCP documentation](https://ai-sdk.dev/docs/ai-sdk-core/mcp-tools) for
|
|
189
189
|
more information.
|
|
190
190
|
|
|
191
|
-
Managed backends can implement `
|
|
192
|
-
`experimental_events: { adapter }` instead of a store.
|
|
191
|
+
Managed backends can implement `Experimental_MCPEventAdapter` and configure
|
|
192
|
+
`experimental_events: { adapter }` instead of a store. Its `createAdapter()`
|
|
193
|
+
method receives `{ transport }` metadata (HTTP/SSE type and URL, or
|
|
194
|
+
`{ type: 'custom' }` for custom transports) and returns `Experimental_MCPEventOperations`
|
|
195
|
+
bound to the authorized account. Catalog discovery still
|
|
193
196
|
uses the authenticated MCP transport; subscribe/get/list/unsubscribe delegate
|
|
194
197
|
to the backend, which owns renewal and webhook delivery. Managed clients do not
|
|
195
198
|
expose `refresh()`. See the [managed subscription reference](https://ai-sdk.dev/docs/reference/ai-sdk-core/mcp-events#managed-subscriptions).
|
package/dist/index.d.ts
CHANGED
|
@@ -623,7 +623,7 @@ type MCPEventsConfig = {
|
|
|
623
623
|
arguments: JSONObject;
|
|
624
624
|
}) => void | PromiseLike<void>;
|
|
625
625
|
} | {
|
|
626
|
-
adapter:
|
|
626
|
+
adapter: MCPEventAdapter;
|
|
627
627
|
store?: never;
|
|
628
628
|
validateArguments?: never;
|
|
629
629
|
};
|
|
@@ -698,7 +698,7 @@ type ManagedSubscribeInput = {
|
|
|
698
698
|
* Implementations must honor request options and preserve actionable errors.
|
|
699
699
|
* Cancelling a request does not cancel an already accepted remote subscription.
|
|
700
700
|
*/
|
|
701
|
-
interface
|
|
701
|
+
interface MCPEventOperations {
|
|
702
702
|
subscribe(input: ManagedSubscribeInput): Promise<ManagedSubscription>;
|
|
703
703
|
getSubscription(input: {
|
|
704
704
|
id: string;
|
|
@@ -718,8 +718,24 @@ interface MCPEventsAdapter {
|
|
|
718
718
|
options?: RequestOptions;
|
|
719
719
|
}): Promise<ManagedSubscription>;
|
|
720
720
|
}
|
|
721
|
+
/**
|
|
722
|
+
* Creates bound subscription operations once per client, before the transport starts.
|
|
723
|
+
* Receives transport metadata, not credentials or a live transport instance.
|
|
724
|
+
* HTTP/SSE URLs are the configured endpoints, not resolved redirect targets.
|
|
725
|
+
* Custom transports have no standard URL and receive only their type.
|
|
726
|
+
*/
|
|
727
|
+
interface MCPEventAdapter {
|
|
728
|
+
createAdapter(context: {
|
|
729
|
+
transport: {
|
|
730
|
+
type: 'http' | 'sse';
|
|
731
|
+
url: string;
|
|
732
|
+
} | {
|
|
733
|
+
type: 'custom';
|
|
734
|
+
};
|
|
735
|
+
}): MCPEventOperations;
|
|
736
|
+
}
|
|
721
737
|
/** Catalog discovery uses MCP; all subscription operations use the adapter. */
|
|
722
|
-
interface ManagedMCPEvents extends
|
|
738
|
+
interface ManagedMCPEvents extends MCPEventOperations {
|
|
723
739
|
list: MCPEvents['list'];
|
|
724
740
|
}
|
|
725
741
|
//#endregion
|
|
@@ -1126,7 +1142,7 @@ type ManagedMCPClient = Omit<MCPClient, 'experimental_events'> & {
|
|
|
1126
1142
|
};
|
|
1127
1143
|
export declare function createMCPClient(config: MCPClientConfig & {
|
|
1128
1144
|
experimental_events: {
|
|
1129
|
-
adapter:
|
|
1145
|
+
adapter: MCPEventAdapter;
|
|
1130
1146
|
};
|
|
1131
1147
|
}): Promise<ManagedMCPClient>;
|
|
1132
1148
|
export declare function createMCPClient(config: MCPClientConfig & {
|
|
@@ -1389,5 +1405,5 @@ type MCPEventWebhookOptions = {
|
|
|
1389
1405
|
*/
|
|
1390
1406
|
declare function createMCPEventWebhook({ store, validatePayload, onEvent, onGap, onTerminated, onError }: MCPEventWebhookOptions): (request: Request) => Promise<Response>;
|
|
1391
1407
|
//#endregion
|
|
1392
|
-
export { type CallToolResult, type CompleteRequestParams, type CompleteResult, type Configuration, type ElicitResult, type ElicitationRequest, type ListEventsResult as Experimental_ListEventsResult, type MCPEvent as Experimental_MCPEvent, type MCPEventControl as Experimental_MCPEventControl, type MCPEventDefinition as Experimental_MCPEventDefinition, type MCPEventStore as Experimental_MCPEventStore, type MCPEventSubscription as Experimental_MCPEventSubscription, type MCPEventSubscriptionInfo as Experimental_MCPEventSubscriptionInfo, type MCPEventWebhookOptions as Experimental_MCPEventWebhookOptions, type MCPEvents as Experimental_MCPEvents, type
|
|
1408
|
+
export { type CallToolResult, type CompleteRequestParams, type CompleteResult, type Configuration, type ElicitResult, type ElicitationRequest, type ListEventsResult as Experimental_ListEventsResult, type MCPEvent as Experimental_MCPEvent, type MCPEventAdapter as Experimental_MCPEventAdapter, type MCPEventControl as Experimental_MCPEventControl, type MCPEventDefinition as Experimental_MCPEventDefinition, type MCPEventOperations as Experimental_MCPEventOperations, type MCPEventStore as Experimental_MCPEventStore, type MCPEventSubscription as Experimental_MCPEventSubscription, type MCPEventSubscriptionInfo as Experimental_MCPEventSubscriptionInfo, type MCPEventWebhookOptions as Experimental_MCPEventWebhookOptions, type MCPEvents as Experimental_MCPEvents, type MCPEventsConfig as Experimental_MCPEventsConfig, type ManagedMCPClient as Experimental_ManagedMCPClient, type ManagedMCPEvents as Experimental_ManagedMCPEvents, type ManagedSubscribeInput as Experimental_ManagedSubscribeInput, type ManagedSubscription as Experimental_ManagedSubscription, type SubscribeEventOptions as Experimental_SubscribeEventOptions, type SubscribeEventResult as Experimental_SubscribeEventResult, type InitializeResult, type JSONRPCError, type JSONRPCMessage, type JSONRPCNotification, type JSONRPCRequest, type JSONRPCResponse, type ListToolsResult, type MCPAppResource, type MCPAppResourceCSP, type MCPAppResourceMeta, type MCPClient, type MCPClient as experimental_MCPClient, type ClientCapabilities as MCPClientCapabilities, type ClientCapabilities as experimental_MCPClientCapabilities, type MCPClientConfig, type MCPClientConfig as experimental_MCPClientConfig, type MCPTransport, type MCPTransportCloseOptions, type MCPTransportSendOptions, type McpProviderMetadata, type McpToolAnnotations, type OAuthAuthorizationServerInformation, type OAuthClientInformation, type OAuthClientMetadata, type OAuthClientProvider, type OAuthTokens, createMCPClient as experimental_createMCPClient, createMCPEventWebhook as experimental_createMCPEventWebhook };
|
|
1393
1409
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["Request","symbol"],"sources":["../src/tool/json-rpc-message.ts","../src/tool/types.ts","../src/tool/mcp-event-types.ts","../src/tool/mcp-events-adapter.ts","../src/tool/oauth-types.ts","../src/error/oauth-error.ts","../src/tool/oauth.ts","../src/tool/mcp-transport.ts","../src/tool/mcp-client.ts","../src/tool/mcp-apps.ts","../src/tool/mcp-app-fingerprint.ts","../src/error/mcp-client-error.ts","../src/tool/mcp-event-webhook.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["Request","symbol"],"sources":["../src/tool/json-rpc-message.ts","../src/tool/types.ts","../src/tool/mcp-event-types.ts","../src/tool/mcp-events-adapter.ts","../src/tool/oauth-types.ts","../src/error/oauth-error.ts","../src/tool/oauth.ts","../src/tool/mcp-transport.ts","../src/tool/mcp-client.ts","../src/tool/mcp-apps.ts","../src/tool/mcp-app-fingerprint.ts","../src/error/mcp-client-error.ts","../src/tool/mcp-event-webhook.ts"],"mappings":";;;;cAMM,sBAAoB,EAAA;;;;;;;GAMf,EAAA,KAAA;KAEC,iBAAiB,EAAE,aAAa;cAEtC,uBAAqB,EAAA;;;;;;;GAMhB,EAAA,KAAA;KAEC,kBAAkB,EAAE,aAAa;cAEvC,oBAAkB,EAAA;;;;;;;;GAUb,EAAA,KAAA;KAEC,eAAe,EAAE,aAAa;cAEpC,2BAAyB,EAAA;;;;;;GAUpB,EAAA,KAAA;KAEC,sBAAsB,EAAE,aAAa;cAEpC,sBAAoB,EAAA,mBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAK/B,EAAA,KAAA;KAEU,iBAAiB,EAAE,aAAa;wBAE5B,uBAAuB,mBAAmB;;;KCjD9C;EACV;EACA;EACA;EACA,cAAc;EACd,MAAM;;;;;;;;;KAUI;EACV;EACA;EACA;EACA;EACA;;;cAII,gBAAc,EAAA,YAAA,EAAA,UAAA,EAAA,WAAA,EAAA;KACR,WAAW,EAAE,aAAa;KAE1B,cACR;EAGI,aAAa,eAAe;EAC5B,eAAe,eAAe;;;KAOjC,YAAY,iBAAiB,SAAS,kBAAkB,KAC3D,OACA,UAEA,SAAS,KAAK,KAAK,OAAO;EACxB,QAAQ;;KAGA,WAAW,qBAAqB,6BAC1C,qBAAqB;EAEjB,aAAa;EAAqB,eAAe;QAG9C,WAAW,eAAe,aAAa;EACtC,aAAa,qBAAqB;EAClC,cAAc,qBAAqB;IAEjC,YAAY,OAAO,UACnB,aAAa;EACT,aAAa,qBAAqB;IAEpC,YAAY,OAAO,6BAG3B,eAAe,qBAAqB;cAEpC,oCAAkC,EAAA;;;;GAItC,EAAA,KAAA;KAGU,gBAAgB,EAAE,aAAa;cAE9B,kBAAgB,EAAA;;GAE3B,EAAA,KAAA;KACG,aAAa,EAAE,aAAa;cAKpB,eAAa,EAAA;;;;;GAGxB,EAAA,KAAA;KACUA,YAAU,EAAE,aAAa;KACzB;EACV,SAAS;EACT;EACA;;cAqCW,0BAAwB,EAAA;;;;GAI3B,EAAA,KAAA;KAEE,qBAAqB,EAAE,aAAa;cAYnC,wBAAsB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKjC,EAAA,KAAA;KACU,mBAAmB,EAAE,aAAa;KAElC,mBAAmBA;EAC7B,SAAS;IACP;;;cAuCS,uBAAqB,EAAA;;;;;;;;;;;;;;;;;;;;;;GAEhC,EAAA,KAAA;KACU,kBAAkB,EAAE,aAAa;cA2BhC,2BAAyB,EAAA;;;;;;;;;;;;GAEpC,EAAA,KAAA;KACU,sBAAsB,EAAE,aAAa;cAuFpC,sBAAoB,EAAA,UAAA,EAAA,UAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAMhC,EAAA,KAAA;KACW,iBAAiB,EAAE,aAAa;cAY/B,mCAAiC,EAAA;;;;;;;;;;GAE5C,EAAA,KAAA;KACU,8BAA8B,EAAE,aACnC;cAGI,0BAAwB,EAAA;;;;;;;;;;;;;;;;GAInC,EAAA,KAAA;KACU,qBAAqB,EAAE,aAAa;cAwBnC,6BAA2B,EAAA;;;;;;;;;;;;;;;;GAUtC,EAAA,KAAA;KACU,wBAAwB,EAAE,aAAa;cAEtC,sBAAoB,EAAA;;;;;;;;GAQ/B,EAAA,KAAA;KACU,iBAAiB,EAAE,aAAa;cAqB/B,yBAAuB,EAAA;;;;;;;;;;;;;;GAElC,EAAA,KAAA;KACU,oBAAoB,EAAE,aAAa;cAelC,uBAAqB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAGhC,EAAA,KAAA;KACU,kBAAkB,EAAE,aAAa;qBAOhC,0BAAwB,EAAA;;;;;;;GAGnC,EAAA,KAAA;KAEU,qBAAqB,EAAE,aAAa;qBAEnC,oBAAkB,EAAA;;;;;GAO7B,EAAA,KAAA;KAEU,eAAe,EAAE,aAAa;;;cC9c7B,0BAAwB,EAAA;;;;;;;;;;GAMnC,EAAA,KAAA;KACU,qBAAqB,EAAE,aAAa;cAEnC,wBAAsB,EAAA;;;;;;;;;;;;;;;GAGjC,EAAA,KAAA;KACU,mBAAmB,EAAE,aAAa;cAEjC,4BAA0B,EAAA;;;;;;;GAQrC,EAAA,KAAA;KACU,uBAAuB,EAAE,aAAa;cAErC,gBAAc,EAAA;;;;;;GAMzB,EAAA,KAAA;KACU,WAAW,EAAE,aAAa;cAEzB,uBAAqB,EAAA,QAAA,EAAA,uBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAetB,kBAAkB,EAAE,aAAa;;KAGjC;EACV;EACA;EACA;EACA,WAAW;EACX,YAAY;EACZ;IAAY;IAAiB;IAAa;;EAC1C;EACA;EACA;EACA;EACA;EACA;;;KAIU;EACV;EACA;EACA,WAAW;EACX;IAAY;IAAiB;;EAC7B;;;;;;;UAQe;EACf,IAAI,cAAc,QAAQ;EAC1B,QAAQ,aAAa,QAAQ;EAC7B,IAAI,cAAc,uBAAuB;EACzC,OAAO,aAAa,OAAO,QAAQ,wBAAwB;EAC3D,OAAO,cAAc;;KAGX;EAEN,OAAO;EACP;;;;;EAKA,qBAAqB;IACnB,YAAY;IACZ,WAAW;eACA;;EAGb,SAAS;EACT;EACA;;KAGM;EACV;EACA,YAAY;EACZ;IACE;;IAEA;;IAEA;;IAEA;;EAEF;EACA;EACA;EACA,UAAU;;KAGP;EACC;EAAY;;EACZ;EAAa;;EACb,UAAU;;UAEC;EACf,KAAK;IACH;MAAW;;IACX,UAAU;MACR,QAAQ;EACZ,UAAU,SAAS,wBAAwB,QAAQ;EACnD,QAAQ,SAAS,8BAA8B,QAAQ;EACvD,YAAY,SAAS,8BAA8B;;;;;KC/IzC;;EAEV;EACA;EACA,WAAW;EACX;;EAQA;EACA;;KAGU;EACV;EACA,WAAW;;EAEX,UAAU;;EAEV;EACA,UAAU;;EAEN;EAAe;;EACf;EAA0B;;;;;;;;UASf;EACf,UAAU,OAAO,wBAAwB,QAAQ;EAEjD,gBAAgB;IACd;IACA,UAAU;MACR,QAAQ;EAEZ,kBAAkB;IAChB;IACA;IACA,SAAS;IACT,UAAU;MACR;IACF,eAAe;IACf;;EAGF,YAAY;IACV;IACA,UAAU;MACR,QAAQ;;;;;;;;UASG;EACf,cAAc;IACZ;MAAa;MAAsB;;MAAkB;;MACnD;;;UAyCW,yBAAyB;EACxC,MAAM;;;;;;;cCpFK,mBAAiB,EAAA;;;;;;;;;;GAYpB,EAAA,KAAA;cAmBG,qBAAmB,EAAA;;;;;;;;;;;;;GAe9B,EAAA,KAAA;;;;;;cA6BW,uCAAqC,EAAA;;;;;;;;;;;;;;;;;GAK/C,EAAA,KAAA;cAEU,8BAA4B,EAAA;;;;;;;;GAU/B,EAAA,KAAA;cAEG,2BAAyB,EAAA;;;;;;;;;;;;;;;;;;GAsB5B,EAAA,KAAA;KAEE,gBAAgB,EAAE,aAAa;KAC/B,kCAAkC,EAAE,aACvC;KAEG,cAAc,EAAE,aAAa;KAI7B,yBAAyB,EAAE,aAC9B;KAEG,8BACR,gBACA;KAUQ,sBAAsB,EAAE,aAAa;;;cC1K3CC;;;;qBAKO,4BAA4B;oBACrBA;EAEN,cACV,MACA,SACA;IAEA;IACA;IACA;;SAKK,WAAW,iBAAiB,SAAS;;cAsBxC;qBAEO,yCAAyC;oBAClC;SAEX;EAEK,cAAE,SAAS;IAAW;IAAiB;;SAI5C,WAAW,iBAAiB,SAAS;;;;KCpBlC;UAEK;EACf;EACA;EACA;;UAGe;;;;EAIf,UAAU,0BAA0B,QAAQ;EAC5C,WAAW,QAAQ,qBAAqB;EACxC,wBAAwB,kBAAkB,aAAa;EACvD,iBAAiB,8BAA8B;EAC/C,yBAAyB;;;;;;;;;;;;;;;;;;;EAoBzB,yBACE,SAAS,SACT,QAAQ,iBACR,cAAc,KACd,WAAW,qCACH;;;;;;;;;;;EAYV,uBACE,iDACA;IAAY,QAAQ;aACZ;MACN,wBAAwB;MACxB,kBAAkB;EACtB,qBACI,qCAEA,QAAQ;;;;;;;;;;EAUZ,uDAAuD;EACvD,uBACE,mBAAmB,gCACX;EACV,mCACI,kDAEA,QAAQ;EACZ,oCACE,gCAAgC,6CACxB;;;;;EAKV,gCACE,oBAAoB,KACpB,iCAAiC,aACzB;EACV,mBAAmB;EACnB,WAAW,uBAAuB;EAClC,qCAAqC;EACrC,qBACE,oBAAoB,KACpB,oBACC,QAAQ;;qBAGA,0BAA0B;EACzB,YAAA;;wBA0mCQ,KACpB,UAAU,qBACV;EACE,oBAAoB;EACpB;EACA;;;;EAIA;EACA;EACA,sBAAsB;EACtB,UAAU;IAEX,QAAQ;;;;;;;KCtvCC;;;;EAIV,SAAS;;;;EAKT,UAAU;;;;EAKV;;;;EAKA;;;;EAKA,qBAAqB;;KAGX;;;;EAIV,SAAS;;UAGM;;;;;;;EAOf;;;;;EAMA;;;;EAKA,SAAS;;;;;;EAOT,KACE,SAAS,gBACT,UAAU,0BACT;;;;;EAMH,MAAM,UAAU,2BAA2B;;;;EAK3C;;;;EAKA,WAAW,OAAO;;;;EAKlB,aAAa,SAAS;;;;EAKtB;;;;EAKA,oBAAoB;;KAGV;EACV;;;;EAKA;;;;EAKA,UAAU;;;;EAKV,eAAe;;;;;;;EAQf;;;;;;EAOA;;;;;EAMA;;;;;;EAOA,qBAAqB;;;;;;;EAQrB,oBAAoB;;;;;;;EAQpB;;;;;;EAOA,QAAQ;;;;UCqEO;;EAEf,sBAAsB;;EAEtB,WAAW,qBAAqB;;;;;;;;;;EAUhC;;;;EAIA,wBAAwB;;EAExB,mBAAmB;;;;;;;;;EASnB;;;;;;EAMA,0BAA0B;;EAE1B;;;;;;EAMA;;EAEA;;;;;;EAMA,eAAe;;KAGL,mBAAmB,KAAK;WACzB,qBAAqB;;wBAGhB,gBACd,QAAQ;EACN;IACE,SAAS;;IAGZ,QAAQ;wBACK,gBACd,QAAQ;EACN;IAAwB;;IAEzB,QAAQ;wBACK,gBACd,QAAQ,kBACP,QAAQ,YAAY;UAWN;;WAEN,qBAAqB;;;;;WAKrB,YAAY;;;;;WAMZ,kBAAkB;;;;;;;;;WAUlB;EAET,MAAM,qBAAqB,2BAA2B;IACpD,UAAU;MACR,QAAQ,WAAW;;;;EAKvB,UAAU;IACR,SAAS;IACT,UAAU;MACR,QAAQ;;;;EAKZ,SAAS;IACP;IACA,YAAY;IACZ,UAAU;MACR,QAAQ;;;;EAKZ,qBAAqB,qBAAqB,2BACxC,aAAa,iBACb;IAAY,UAAU;MACrB,WAAW;EAEd,cAAc;IACZ,SAAS;IACT,UAAU;MACR,QAAQ;EAEZ,aAAa;IACX;IACA,UAAU;MACR,QAAQ;EAEZ,sBAAsB;IACpB,UAAU;MACR,QAAQ;EAEZ,yBAAyB;IACvB,SAAS;IACT,UAAU;MACR,QAAQ;EAEZ,uBAAuB;IACrB;IACA,YAAY;IACZ,UAAU;MACR,QAAQ;EAEZ,SACE,MAAM;IACJ,UAAU;MAEX,QAAQ;EAEX,qBACE,eAAe,0BACf,UACE,SAAS,uBACN,QAAQ,gBAAgB;EAG/B,aAAa;;;;;;;qBC/YF;;;;qBAWA;;;;;;;;;;KAsBD;EACV;EACA;EACA;GACC;;;;;KAMS;EACV;EACA,MAAM;EACN,cAAc;GACb;;;;;KAMS;EACV;EACA,iBAAiB;EACjB;EACA,OAAO;;;;;wBAwGO,iBAAiB,aAAa;EAC5C,cAAc;EACd,YAAY;;;;;wBAoFQ,qBACpB,QACA,KACA;EAEA,QAAQ,KAAK;EACb;EACA,UAAU;IACR,QAAQ;;;;;;;;;;;wBCvOU,0BACpB,UAAU,iBACT;;;;;wBAkBa,0BACd,iBACA;;;cC9DI;;;;qBAKO,uBAAuB;oBAChB;WACT;;;;;;;;;WAUA;;;;;;;;WASA;;;;;WAMA;;;;;;WAOA;EAEG,cACV,MACA,SACA,OACA,MACA,MACA,YACA,KACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;SAUK,WAAW,iBAAiB,SAAS;;;;KCpDlC;EACV,OAAO;;;;;;EAMP,mBAAmB;IACjB,YAAY;IACZ,MAAM;eACK;;;;;;EAMb,UAAU;IACR,cAAc;IACd,OAAO;QACH;;;;;;;;EAQN,SAAS;IACP,cAAc;IACd;IACA,KAAK,QAAQ;MAAmB;;QAC5B;;;;;;;;EAQN,gBAAgB;IACd,cAAc;IACd;IACA,aAAa,QAAQ;MAAmB;;QACpC;EACN,WAAW;;;;;;;iBAQG,wBACd,OACA,iBACA,SACA,OACA,cACA,WACC,0BAA0B,SAAS,YAAY,QAAQ"}
|
package/dist/index.js
CHANGED
|
@@ -507,18 +507,26 @@ function createMCPEvents({ request, store, validateArguments }) {
|
|
|
507
507
|
}
|
|
508
508
|
//#endregion
|
|
509
509
|
//#region src/tool/mcp-events-adapter.ts
|
|
510
|
-
|
|
510
|
+
/** Validate JavaScript integrations before opening the MCP transport. */
|
|
511
|
+
function validateMCPEventOperations(operations) {
|
|
512
|
+
if (operations != null && (typeof operations === "object" || typeof operations === "function") && "then" in operations && typeof operations.then === "function") {
|
|
513
|
+
Promise.resolve(operations).catch(() => {});
|
|
514
|
+
throw new MCPClientError({ message: "experimental_events.adapter.createAdapter() must return operations synchronously. Promise and thenable results are not supported." });
|
|
515
|
+
}
|
|
516
|
+
if (typeof operations !== "object" || operations === null || !("subscribe" in operations) || typeof operations.subscribe !== "function" || !("getSubscription" in operations) || typeof operations.getSubscription !== "function" || !("listSubscriptions" in operations) || typeof operations.listSubscriptions !== "function" || !("unsubscribe" in operations) || typeof operations.unsubscribe !== "function") throw new MCPClientError({ message: "experimental_events.adapter.createAdapter() must return an object implementing subscribe, getSubscription, listSubscriptions, and unsubscribe." });
|
|
517
|
+
}
|
|
518
|
+
function createManagedMCPEvents(operations, list) {
|
|
511
519
|
return {
|
|
512
520
|
list,
|
|
513
|
-
subscribe: (input) =>
|
|
514
|
-
getSubscription: (input) =>
|
|
515
|
-
listSubscriptions: (input) =>
|
|
516
|
-
unsubscribe: (input) =>
|
|
521
|
+
subscribe: (input) => operations.subscribe(input),
|
|
522
|
+
getSubscription: (input) => operations.getSubscription(input),
|
|
523
|
+
listSubscriptions: (input) => operations.listSubscriptions(input),
|
|
524
|
+
unsubscribe: (input) => operations.unsubscribe(input)
|
|
517
525
|
};
|
|
518
526
|
}
|
|
519
527
|
//#endregion
|
|
520
528
|
//#region src/version.ts
|
|
521
|
-
const VERSION = "2.0.
|
|
529
|
+
const VERSION = "2.0.73";
|
|
522
530
|
//#endregion
|
|
523
531
|
//#region src/tool/oauth-types.ts
|
|
524
532
|
/**
|
|
@@ -2341,6 +2349,12 @@ var DefaultMCPClient = class {
|
|
|
2341
2349
|
this.toolHeaderBindings = /* @__PURE__ */ new Map();
|
|
2342
2350
|
this.isClosed = true;
|
|
2343
2351
|
if (events?.adapter !== void 0 && (events.store !== void 0 || events.validateArguments !== void 0)) throw new MCPClientError({ message: "Configure experimental_events with either an adapter or a store, not both. Managed adapters own argument validation." });
|
|
2352
|
+
if (events?.adapter !== void 0 && typeof events.adapter?.createAdapter !== "function") throw new MCPClientError({ message: "experimental_events.adapter must implement createAdapter. Wrap bound operations with { createAdapter: () => operations }." });
|
|
2353
|
+
const operations = events?.adapter?.createAdapter({ transport: isCustomMcpTransport(transportConfig) ? { type: "custom" } : {
|
|
2354
|
+
type: transportConfig.type,
|
|
2355
|
+
url: transportConfig.url
|
|
2356
|
+
} });
|
|
2357
|
+
if (events?.adapter !== void 0) validateMCPEventOperations(operations);
|
|
2344
2358
|
this.onUncaughtError = onUncaughtError;
|
|
2345
2359
|
this.maxRetries = prepareMaxRetries(maxRetries);
|
|
2346
2360
|
this.clientCapabilities = capabilities ?? {};
|
|
@@ -2368,7 +2382,7 @@ var DefaultMCPClient = class {
|
|
|
2368
2382
|
store: events?.store,
|
|
2369
2383
|
validateArguments: events?.validateArguments
|
|
2370
2384
|
});
|
|
2371
|
-
this.experimental_events =
|
|
2385
|
+
this.experimental_events = operations ? createManagedMCPEvents(operations, directEvents.list) : directEvents;
|
|
2372
2386
|
}
|
|
2373
2387
|
get serverInfo() {
|
|
2374
2388
|
return this._serverInfo;
|