agents 0.0.0-2d0d2e1 → 0.0.0-2e73791

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +229 -8
  2. package/dist/ai-chat-agent.d.ts +236 -28
  3. package/dist/ai-chat-agent.js +1118 -351
  4. package/dist/ai-chat-agent.js.map +1 -1
  5. package/dist/ai-chat-v5-migration-DguhuLKF.js +155 -0
  6. package/dist/ai-chat-v5-migration-DguhuLKF.js.map +1 -0
  7. package/dist/ai-chat-v5-migration.d.ts +7 -4
  8. package/dist/ai-chat-v5-migration.js +3 -19
  9. package/dist/ai-react.d.ts +154 -28
  10. package/dist/ai-react.js +572 -304
  11. package/dist/ai-react.js.map +1 -1
  12. package/dist/ai-types-DEtF_8Km.js +28 -0
  13. package/dist/ai-types-DEtF_8Km.js.map +1 -0
  14. package/dist/ai-types-U8lYA0o8.d.ts +127 -0
  15. package/dist/ai-types.d.ts +6 -91
  16. package/dist/ai-types.js +3 -7
  17. package/dist/cli/index.d.ts +1 -0
  18. package/dist/cli/index.js +28 -0
  19. package/dist/cli/index.js.map +1 -0
  20. package/dist/client-Cfw92Wb_.d.ts +834 -0
  21. package/dist/client-ClORm6f0.d.ts +104 -0
  22. package/dist/client-DjTPRM8-.js +117 -0
  23. package/dist/client-DjTPRM8-.js.map +1 -0
  24. package/dist/client-QZa2Rq0l.js +1105 -0
  25. package/dist/client-QZa2Rq0l.js.map +1 -0
  26. package/dist/client.d.ts +11 -92
  27. package/dist/client.js +4 -12
  28. package/dist/codemode/ai.d.ts +27 -0
  29. package/dist/codemode/ai.js +152 -0
  30. package/dist/codemode/ai.js.map +1 -0
  31. package/dist/context-BkKbAa1R.js +8 -0
  32. package/dist/context-BkKbAa1R.js.map +1 -0
  33. package/dist/context-_sPQqJWv.d.ts +24 -0
  34. package/dist/context.d.ts +6 -0
  35. package/dist/context.js +3 -0
  36. package/dist/do-oauth-client-provider-B-ryFIPr.d.ts +70 -0
  37. package/dist/do-oauth-client-provider-B1fVIshX.js +155 -0
  38. package/dist/do-oauth-client-provider-B1fVIshX.js.map +1 -0
  39. package/dist/index-CyDpAVHZ.d.ts +58 -0
  40. package/dist/index-xIS9I1YX.d.ts +576 -0
  41. package/dist/index.d.ts +56 -550
  42. package/dist/index.js +8 -31
  43. package/dist/mcp/client.d.ts +4 -11
  44. package/dist/mcp/client.js +4 -9
  45. package/dist/mcp/do-oauth-client-provider.d.ts +2 -42
  46. package/dist/mcp/do-oauth-client-provider.js +3 -7
  47. package/dist/mcp/index.d.ts +199 -93
  48. package/dist/mcp/index.js +1425 -1008
  49. package/dist/mcp/index.js.map +1 -1
  50. package/dist/mcp/x402.d.ts +34 -0
  51. package/dist/mcp/x402.js +198 -0
  52. package/dist/mcp/x402.js.map +1 -0
  53. package/dist/mcp-CzbSsLfc.d.ts +61 -0
  54. package/dist/observability/index.d.ts +3 -46
  55. package/dist/observability/index.js +8 -11
  56. package/dist/react-ElpIreHg.d.ts +131 -0
  57. package/dist/react.d.ts +15 -123
  58. package/dist/react.js +183 -112
  59. package/dist/react.js.map +1 -1
  60. package/dist/schedule.d.ts +13 -10
  61. package/dist/schedule.js +43 -31
  62. package/dist/schedule.js.map +1 -1
  63. package/dist/serializable-C4GLimgv.d.ts +39 -0
  64. package/dist/serializable.d.ts +7 -32
  65. package/dist/serializable.js +1 -1
  66. package/dist/src-BZDh910Z.js +1181 -0
  67. package/dist/src-BZDh910Z.js.map +1 -0
  68. package/package.json +74 -34
  69. package/dist/ai-chat-v5-migration.js.map +0 -1
  70. package/dist/ai-types.js.map +0 -1
  71. package/dist/chunk-AVYJQSLW.js +0 -17
  72. package/dist/chunk-AVYJQSLW.js.map +0 -1
  73. package/dist/chunk-LL2AFX7V.js +0 -109
  74. package/dist/chunk-LL2AFX7V.js.map +0 -1
  75. package/dist/chunk-MH46VMM4.js +0 -612
  76. package/dist/chunk-MH46VMM4.js.map +0 -1
  77. package/dist/chunk-QEVM4BVL.js +0 -116
  78. package/dist/chunk-QEVM4BVL.js.map +0 -1
  79. package/dist/chunk-UJVEAURM.js +0 -150
  80. package/dist/chunk-UJVEAURM.js.map +0 -1
  81. package/dist/chunk-YDUDMOL6.js +0 -1296
  82. package/dist/chunk-YDUDMOL6.js.map +0 -1
  83. package/dist/client-CvaJdLQA.d.ts +0 -5015
  84. package/dist/client.js.map +0 -1
  85. package/dist/index.js.map +0 -1
  86. package/dist/mcp/client.js.map +0 -1
  87. package/dist/mcp/do-oauth-client-provider.js.map +0 -1
  88. package/dist/observability/index.js.map +0 -1
  89. package/dist/serializable.js.map +0 -1
  90. package/src/index.ts +0 -1947
@@ -1,42 +1,2 @@
1
- import { OAuthClientProvider } from '@modelcontextprotocol/sdk/client/auth.js';
2
- import { OAuthClientMetadata, OAuthClientInformation, OAuthClientInformationFull, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
3
-
4
- interface AgentsOAuthProvider extends OAuthClientProvider {
5
- authUrl: string | undefined;
6
- clientId: string | undefined;
7
- serverId: string | undefined;
8
- }
9
- declare class DurableObjectOAuthClientProvider implements AgentsOAuthProvider {
10
- storage: DurableObjectStorage;
11
- clientName: string;
12
- baseRedirectUrl: string;
13
- private _authUrl_;
14
- private _serverId_;
15
- private _clientId_;
16
- constructor(storage: DurableObjectStorage, clientName: string, baseRedirectUrl: string);
17
- get clientMetadata(): OAuthClientMetadata;
18
- get clientUri(): string;
19
- get redirectUrl(): string;
20
- get clientId(): string;
21
- set clientId(clientId_: string);
22
- get serverId(): string;
23
- set serverId(serverId_: string);
24
- keyPrefix(clientId: string): string;
25
- clientInfoKey(clientId: string): string;
26
- clientInformation(): Promise<OAuthClientInformation | undefined>;
27
- saveClientInformation(clientInformation: OAuthClientInformationFull): Promise<void>;
28
- tokenKey(clientId: string): string;
29
- tokens(): Promise<OAuthTokens | undefined>;
30
- saveTokens(tokens: OAuthTokens): Promise<void>;
31
- get authUrl(): string | undefined;
32
- /**
33
- * Because this operates on the server side (but we need browser auth), we send this url back to the user
34
- * and require user interact to initiate the redirect flow
35
- */
36
- redirectToAuthorization(authUrl: URL): Promise<void>;
37
- codeVerifierKey(clientId: string): string;
38
- saveCodeVerifier(verifier: string): Promise<void>;
39
- codeVerifier(): Promise<string>;
40
- }
41
-
42
- export { type AgentsOAuthProvider, DurableObjectOAuthClientProvider };
1
+ import { n as DurableObjectOAuthClientProvider, t as AgentsOAuthProvider } from "../do-oauth-client-provider-B-ryFIPr.js";
2
+ export { AgentsOAuthProvider, DurableObjectOAuthClientProvider };
@@ -1,7 +1,3 @@
1
- import {
2
- DurableObjectOAuthClientProvider
3
- } from "../chunk-LL2AFX7V.js";
4
- export {
5
- DurableObjectOAuthClientProvider
6
- };
7
- //# sourceMappingURL=do-oauth-client-provider.js.map
1
+ import { t as DurableObjectOAuthClientProvider } from "../do-oauth-client-provider-B1fVIshX.js";
2
+
3
+ export { DurableObjectOAuthClientProvider };
@@ -1,97 +1,203 @@
1
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
- import { ElicitResult } from '@modelcontextprotocol/sdk/types.js';
4
- export { ElicitRequest, ElicitRequestSchema, ElicitResult } from '@modelcontextprotocol/sdk/types.js';
5
- import { Agent, AgentContext } from '../index.js';
6
- export { S as SSEEdgeClientTransport, a as StreamableHTTPEdgeClientTransport } from '../client-CvaJdLQA.js';
7
- import { Connection, ConnectionContext, WSMessage } from 'partyserver';
8
- import 'cloudflare:workers';
9
- import '@modelcontextprotocol/sdk/client/index.js';
10
- import '../observability/index.js';
11
- import '../ai-types.js';
12
- import 'ai';
13
- import 'zod';
14
- import '@modelcontextprotocol/sdk/shared/protocol.js';
15
- import '@modelcontextprotocol/sdk/client/sse.js';
16
- import '@modelcontextprotocol/sdk/client/streamableHttp.js';
17
- import './do-oauth-client-provider.js';
18
- import '@modelcontextprotocol/sdk/client/auth.js';
19
- import '@modelcontextprotocol/sdk/shared/auth.js';
1
+ import "../context-_sPQqJWv.js";
2
+ import { a as MCPConnectionResult, d as BaseTransportType, f as CORSOptions, i as MCPClientOAuthResult, m as ServeOptions, o as MCPDiscoverResult, p as MaybePromise, r as MCPClientOAuthCallbackConfig, s as MCPServerOptions } from "../client-Cfw92Wb_.js";
3
+ import "../mcp-CzbSsLfc.js";
4
+ import "../do-oauth-client-provider-B-ryFIPr.js";
5
+ import "../index-CyDpAVHZ.js";
6
+ import "../ai-types-U8lYA0o8.js";
7
+ import { o as Connection, s as ConnectionContext, t as Agent } from "../index-xIS9I1YX.js";
8
+ import { SSEClientTransport, SSEClientTransportOptions } from "@modelcontextprotocol/sdk/client/sse.js";
9
+ import { StreamableHTTPClientTransport, StreamableHTTPClientTransportOptions } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
10
+ import { ElicitRequest, ElicitRequestSchema, ElicitResult, ElicitResult as ElicitResult$1, JSONRPCMessage, MessageExtraInfo } from "@modelcontextprotocol/sdk/types.js";
11
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
12
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
13
+ import { Transport, TransportSendOptions } from "@modelcontextprotocol/sdk/shared/transport.js";
20
14
 
21
- type MaybePromise<T> = T | Promise<T>;
22
- type TransportType = "sse" | "streamable-http";
23
- interface CORSOptions {
24
- origin?: string;
25
- methods?: string;
26
- headers?: string;
27
- maxAge?: number;
28
- exposeHeaders?: string;
15
+ //#region src/mcp/client-transports.d.ts
16
+ /**
17
+ * @deprecated Use SSEClientTransport from @modelcontextprotocol/sdk/client/sse.js instead. This alias will be removed in the next major version.
18
+ */
19
+ declare class SSEEdgeClientTransport extends SSEClientTransport {
20
+ constructor(url: URL, options: SSEClientTransportOptions);
29
21
  }
30
- interface ServeOptions {
31
- binding?: string;
32
- corsOptions?: CORSOptions;
33
- transport?: TransportType;
22
+ /**
23
+ * @deprecated Use StreamableHTTPClientTransport from @modelcontextprotocol/sdk/client/streamableHttp.js instead. This alias will be removed in the next major version.
24
+ */
25
+ declare class StreamableHTTPEdgeClientTransport extends StreamableHTTPClientTransport {
26
+ constructor(url: URL, options: StreamableHTTPClientTransportOptions);
34
27
  }
35
-
36
- declare abstract class McpAgent<Env = unknown, State = unknown, Props extends Record<string, unknown> = Record<string, unknown>> extends Agent<Env, State, Props> {
37
- private _transport?;
38
- private _requestIdToConnectionId;
39
- private _standaloneSseConnectionId?;
40
- props?: Props;
41
- abstract server: MaybePromise<McpServer | Server>;
42
- abstract init(): Promise<void>;
43
- constructor(ctx: AgentContext, env: Env);
44
- setInitialized(): Promise<void>;
45
- isInitialized(): Promise<boolean>;
46
- /** Read the transport type for this agent.
47
- * This relies on the naming scheme being `sse:${sessionId}`
48
- * or `streamable-http:${sessionId}`.
49
- */
50
- getTransportType(): TransportType;
51
- /** Get the WebSocket for the standalone SSE if any. Streamable HTTP only. */
52
- private getWebSocketForStandaloneSse;
53
- /** Get the unique WebSocket. SSE transport only. */
54
- private getWebSocket;
55
- /** Get the corresponding WebSocket for a responseId. Streamable HTTP only. */
56
- private getWebSocketForResponseID;
57
- /** Returns a new transport matching the type of the Agent. */
58
- private initTransport;
59
- /** Update and store the props */
60
- updateProps(props?: Props): Promise<void>;
61
- /** Sets up the MCP transport and server every time the Agent is started.*/
62
- onStart(props?: Props): Promise<void>;
63
- /** Validates new WebSocket connections. */
64
- onConnect(conn: Connection, _: ConnectionContext): Promise<void>;
65
- /** Handles MCP Messages for Streamable HTTP. */
66
- onMessage(connection: Connection, event: WSMessage): Promise<void>;
67
- /** Remove clients from our cache when they disconnect */
68
- onClose(conn: Connection, _code: number, _reason: string, _wasClean: boolean): Promise<void>;
69
- /** Handles MCP Messages for the legacy SSE transport. */
70
- onSSEMcpMessage(_sessionId: string, messageBody: unknown): Promise<Error | null>;
71
- /** Elicit user input with a message and schema */
72
- elicitInput(params: {
73
- message: string;
74
- requestedSchema: unknown;
75
- }): Promise<ElicitResult>;
76
- /** Wait for elicitation response through storage polling */
77
- private _waitForElicitationResponse;
78
- /** Handle elicitation responses */
79
- private _handleElicitationResponse;
80
- /** Return a handler for the given path for this MCP.
81
- * Defaults to Streamable HTTP transport.
82
- */
83
- static serve(path: string, { binding, corsOptions, transport }?: ServeOptions): {
84
- fetch<Env>(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
85
- };
86
- /**
87
- * Legacy api
88
- **/
89
- static mount(path: string, opts?: Omit<ServeOptions, "transport">): {
90
- fetch<Env>(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
91
- };
92
- static serveSSE(path: string, opts?: Omit<ServeOptions, "transport">): {
93
- fetch<Env>(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
94
- };
28
+ //#endregion
29
+ //#region src/mcp/worker-transport.d.ts
30
+ interface MCPStorageApi {
31
+ get(): Promise<TransportState | undefined> | TransportState | undefined;
32
+ set(state: TransportState): Promise<void> | void;
95
33
  }
96
-
97
- export { McpAgent };
34
+ interface TransportState {
35
+ sessionId?: string;
36
+ initialized: boolean;
37
+ }
38
+ interface WorkerTransportOptions {
39
+ sessionIdGenerator?: () => string;
40
+ /**
41
+ * Enable traditional Request/Response mode, this will disable streaming.
42
+ */
43
+ enableJsonResponse?: boolean;
44
+ onsessioninitialized?: (sessionId: string) => void;
45
+ corsOptions?: CORSOptions;
46
+ /**
47
+ * Optional storage api for persisting transport state.
48
+ * Use this to store session state in Durable Object/Agent storage
49
+ * so it survives hibernation/restart.
50
+ */
51
+ storage?: MCPStorageApi;
52
+ }
53
+ declare class WorkerTransport implements Transport {
54
+ started: boolean;
55
+ private initialized;
56
+ private sessionIdGenerator?;
57
+ private enableJsonResponse;
58
+ private onsessioninitialized?;
59
+ private standaloneSseStreamId;
60
+ private streamMapping;
61
+ private requestToStreamMapping;
62
+ private requestResponseMap;
63
+ private corsOptions?;
64
+ private storage?;
65
+ private stateRestored;
66
+ sessionId?: string;
67
+ onclose?: () => void;
68
+ onerror?: (error: Error) => void;
69
+ onmessage?: (message: JSONRPCMessage, extra?: MessageExtraInfo) => void;
70
+ constructor(options?: WorkerTransportOptions);
71
+ /**
72
+ * Restore transport state from persistent storage.
73
+ * This is automatically called on start.
74
+ */
75
+ private restoreState;
76
+ /**
77
+ * Persist current transport state to storage.
78
+ */
79
+ private saveState;
80
+ start(): Promise<void>;
81
+ /**
82
+ * Validates the MCP-Protocol-Version header on incoming requests.
83
+ *
84
+ * This performs a simple check: if a version header is present, it must be
85
+ * in the SUPPORTED_PROTOCOL_VERSIONS list. We do not track the negotiated
86
+ * version or enforce version consistency across requests - the SDK handles
87
+ * version negotiation during initialization, and we simply reject any
88
+ * explicitly unsupported versions.
89
+ *
90
+ * - Header present and supported: Accept
91
+ * - Header present and unsupported: 400 Bad Request
92
+ * - Header missing: Accept (version validation is optional)
93
+ */
94
+ private validateProtocolVersion;
95
+ private getHeaders;
96
+ handleRequest(request: Request, parsedBody?: unknown): Promise<Response>;
97
+ private handleGetRequest;
98
+ private handlePostRequest;
99
+ private handleDeleteRequest;
100
+ private handleOptionsRequest;
101
+ private handleUnsupportedRequest;
102
+ private validateSession;
103
+ close(): Promise<void>;
104
+ send(message: JSONRPCMessage, options?: TransportSendOptions): Promise<void>;
105
+ }
106
+ //#endregion
107
+ //#region src/mcp/auth-context.d.ts
108
+ interface McpAuthContext {
109
+ props: Record<string, unknown>;
110
+ }
111
+ declare function getMcpAuthContext(): McpAuthContext | undefined;
112
+ //#endregion
113
+ //#region src/mcp/handler.d.ts
114
+ interface CreateMcpHandlerOptions extends WorkerTransportOptions {
115
+ /**
116
+ * The route path that this MCP handler should respond to.
117
+ * If specified, the handler will only process requests that match this route.
118
+ * @default "/mcp"
119
+ */
120
+ route?: string;
121
+ /**
122
+ * An optional auth context to use for handling MCP requests.
123
+ * If not provided, the handler will look for props in the execution context.
124
+ */
125
+ authContext?: McpAuthContext;
126
+ /**
127
+ * An optional transport to use for handling MCP requests.
128
+ * If not provided, a WorkerTransport will be created with the provided WorkerTransportOptions.
129
+ */
130
+ transport?: WorkerTransport;
131
+ }
132
+ declare function createMcpHandler(server: McpServer | Server, options?: CreateMcpHandlerOptions): (request: Request, env: unknown, ctx: ExecutionContext) => Promise<Response>;
133
+ /**
134
+ * @deprecated This has been renamed to createMcpHandler, and experimental_createMcpHandler will be removed in the next major version
135
+ */
136
+ declare function experimental_createMcpHandler(server: McpServer | Server, options?: CreateMcpHandlerOptions): (request: Request, env: unknown, ctx: ExecutionContext) => Promise<Response>;
137
+ //#endregion
138
+ //#region src/mcp/index.d.ts
139
+ declare abstract class McpAgent<Env extends Cloudflare.Env = Cloudflare.Env, State = unknown, Props extends Record<string, unknown> = Record<string, unknown>> extends Agent<Env, State, Props> {
140
+ private _transport?;
141
+ props?: Props;
142
+ abstract server: MaybePromise<McpServer | Server>;
143
+ abstract init(): Promise<void>;
144
+ setInitializeRequest(initializeRequest: JSONRPCMessage): Promise<void>;
145
+ getInitializeRequest(): Promise<JSONRPCMessage | undefined>;
146
+ /** Read the transport type for this agent.
147
+ * This relies on the naming scheme being `sse:${sessionId}`
148
+ * or `streamable-http:${sessionId}`.
149
+ */
150
+ getTransportType(): BaseTransportType;
151
+ /** Read the sessionId for this agent.
152
+ * This relies on the naming scheme being `sse:${sessionId}`
153
+ * or `streamable-http:${sessionId}`.
154
+ */
155
+ getSessionId(): string;
156
+ /** Get the unique WebSocket. SSE transport only. */
157
+ getWebSocket(): Connection<unknown> | null;
158
+ /** Returns a new transport matching the type of the Agent. */
159
+ private initTransport;
160
+ /** Update and store the props */
161
+ updateProps(props?: Props): Promise<void>;
162
+ reinitializeServer(): Promise<void>;
163
+ /** Sets up the MCP transport and server every time the Agent is started.*/
164
+ onStart(props?: Props): Promise<void>;
165
+ /** Validates new WebSocket connections. */
166
+ onConnect(conn: Connection, {
167
+ request: req
168
+ }: ConnectionContext): Promise<void>;
169
+ /** Handles MCP Messages for the legacy SSE transport. */
170
+ onSSEMcpMessage(_sessionId: string, messageBody: unknown, extraInfo?: MessageExtraInfo): Promise<Error | null>;
171
+ /** Elicit user input with a message and schema */
172
+ elicitInput(params: {
173
+ message: string;
174
+ requestedSchema: unknown;
175
+ }): Promise<ElicitResult$1>;
176
+ /** Wait for elicitation response through storage polling */
177
+ private _waitForElicitationResponse;
178
+ /** Handle elicitation responses */
179
+ private _handleElicitationResponse;
180
+ /** Return a handler for the given path for this MCP.
181
+ * Defaults to Streamable HTTP transport.
182
+ */
183
+ static serve(path: string, {
184
+ binding,
185
+ corsOptions,
186
+ transport,
187
+ jurisdiction
188
+ }?: ServeOptions): {
189
+ fetch<Env>(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
190
+ };
191
+ /**
192
+ * Legacy api
193
+ **/
194
+ static mount(path: string, opts?: Omit<ServeOptions, "transport">): {
195
+ fetch<Env>(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
196
+ };
197
+ static serveSSE(path: string, opts?: Omit<ServeOptions, "transport">): {
198
+ fetch<Env>(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
199
+ };
200
+ }
201
+ //#endregion
202
+ export { type CreateMcpHandlerOptions, type ElicitRequest, ElicitRequestSchema, type ElicitResult, type MCPClientOAuthCallbackConfig, type MCPClientOAuthResult, type MCPConnectionResult, type MCPDiscoverResult, type MCPServerOptions, McpAgent, type McpAuthContext, SSEEdgeClientTransport, StreamableHTTPEdgeClientTransport, type TransportState, WorkerTransport, type WorkerTransportOptions, createMcpHandler, experimental_createMcpHandler, getMcpAuthContext };
203
+ //# sourceMappingURL=index.d.ts.map