agents 0.0.0-90db5ba → 0.0.0-928211f

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 (48) hide show
  1. package/README.md +127 -22
  2. package/dist/ai-chat-agent.d.ts +49 -4
  3. package/dist/ai-chat-agent.js +167 -67
  4. package/dist/ai-chat-agent.js.map +1 -1
  5. package/dist/ai-react.d.ts +20 -5
  6. package/dist/ai-react.js +48 -37
  7. package/dist/ai-react.js.map +1 -1
  8. package/dist/ai-types.d.ts +5 -0
  9. package/dist/chunk-2DJ6XAU6.js +1270 -0
  10. package/dist/chunk-2DJ6XAU6.js.map +1 -0
  11. package/dist/chunk-KUH345EY.js +116 -0
  12. package/dist/chunk-KUH345EY.js.map +1 -0
  13. package/dist/chunk-PVQZBKN7.js +106 -0
  14. package/dist/chunk-PVQZBKN7.js.map +1 -0
  15. package/dist/chunk-XJR75HO7.js +548 -0
  16. package/dist/chunk-XJR75HO7.js.map +1 -0
  17. package/dist/client.d.ts +16 -2
  18. package/dist/client.js +6 -126
  19. package/dist/client.js.map +1 -1
  20. package/dist/index-CLW1aEBr.d.ts +615 -0
  21. package/dist/index.d.ts +39 -300
  22. package/dist/index.js +14 -6
  23. package/dist/mcp/client.d.ts +326 -30
  24. package/dist/mcp/client.js +3 -402
  25. package/dist/mcp/client.js.map +1 -1
  26. package/dist/mcp/do-oauth-client-provider.d.ts +3 -3
  27. package/dist/mcp/do-oauth-client-provider.js +3 -103
  28. package/dist/mcp/do-oauth-client-provider.js.map +1 -1
  29. package/dist/mcp/index.d.ts +74 -12
  30. package/dist/mcp/index.js +369 -216
  31. package/dist/mcp/index.js.map +1 -1
  32. package/dist/observability/index.d.ts +14 -0
  33. package/dist/observability/index.js +10 -0
  34. package/dist/react.d.ts +87 -5
  35. package/dist/react.js +20 -8
  36. package/dist/react.js.map +1 -1
  37. package/dist/schedule.d.ts +10 -10
  38. package/dist/schedule.js +4 -6
  39. package/dist/schedule.js.map +1 -1
  40. package/dist/serializable.d.ts +32 -0
  41. package/dist/serializable.js +1 -0
  42. package/dist/serializable.js.map +1 -0
  43. package/package.json +76 -57
  44. package/src/index.ts +1122 -139
  45. package/dist/chunk-HMLY7DHA.js +0 -16
  46. package/dist/chunk-XG52S6YY.js +0 -591
  47. package/dist/chunk-XG52S6YY.js.map +0 -1
  48. /package/dist/{chunk-HMLY7DHA.js.map → observability/index.js.map} +0 -0
@@ -1,15 +1,61 @@
1
+ import { MCPClientManager } from './client.js';
1
2
  import { DurableObject } from 'cloudflare:workers';
2
- import { Connection, WSMessage } from 'partyserver';
3
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
4
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import { ElicitResult } from '@modelcontextprotocol/sdk/types.js';
6
+ export { ElicitRequest, ElicitRequestSchema, ElicitResult } from '@modelcontextprotocol/sdk/types.js';
7
+ import { Connection, WSMessage } from 'partyserver';
8
+ import { SSEClientTransport, SSEClientTransportOptions } from '@modelcontextprotocol/sdk/client/sse.js';
9
+ import { StreamableHTTPClientTransport, StreamableHTTPClientTransportOptions } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
10
+ import 'zod';
11
+ import '@modelcontextprotocol/sdk/client/index.js';
12
+ import '@modelcontextprotocol/sdk/shared/protocol.js';
13
+ import 'ai';
14
+ import './do-oauth-client-provider.js';
15
+ import '@modelcontextprotocol/sdk/client/auth.js';
16
+ import '@modelcontextprotocol/sdk/shared/auth.js';
17
+
18
+ declare class SSEEdgeClientTransport extends SSEClientTransport {
19
+ private authProvider;
20
+ /**
21
+ * Creates a new EdgeSSEClientTransport, which overrides fetch to be compatible with the CF workers environment
22
+ */
23
+ constructor(url: URL, options: SSEClientTransportOptions);
24
+ authHeaders(): Promise<{
25
+ Authorization: string;
26
+ } | undefined>;
27
+ }
28
+
29
+ declare class StreamableHTTPEdgeClientTransport extends StreamableHTTPClientTransport {
30
+ private authProvider;
31
+ /**
32
+ * Creates a new StreamableHTTPEdgeClientTransport, which overrides fetch to be compatible with the CF workers environment
33
+ */
34
+ constructor(url: URL, options: StreamableHTTPClientTransportOptions);
35
+ authHeaders(): Promise<{
36
+ Authorization: string;
37
+ } | undefined>;
38
+ }
4
39
 
5
40
  interface CORSOptions {
6
41
  origin?: string;
7
42
  methods?: string;
8
43
  headers?: string;
9
44
  maxAge?: number;
45
+ exposeHeaders?: string;
10
46
  }
47
+ type MaybePromise<T> = T | Promise<T>;
11
48
  declare abstract class McpAgent<Env = unknown, State = unknown, Props extends Record<string, unknown> = Record<string, unknown>> extends DurableObject<Env> {
12
- #private;
49
+ private _status;
50
+ private _transport?;
51
+ private _transportType;
52
+ private _requestIdToConnectionId;
53
+ /**
54
+ * Since McpAgent's _aren't_ yet real "Agents", let's only expose a couple of the methods
55
+ * to the outer class: initialState/state/setState/onStateUpdate/sql
56
+ */
57
+ private _agent;
58
+ get mcp(): MCPClientManager;
13
59
  protected constructor(ctx: DurableObjectState, env: Env);
14
60
  /**
15
61
  * Agents API allowlist
@@ -18,43 +64,59 @@ declare abstract class McpAgent<Env = unknown, State = unknown, Props extends Re
18
64
  get state(): State;
19
65
  sql<T = Record<string, string | number | boolean | null>>(strings: TemplateStringsArray, ...values: (string | number | boolean | null)[]): T[];
20
66
  setState(state: State): void;
67
+ /**
68
+ * Elicit user input with a message and schema
69
+ */
70
+ elicitInput(params: {
71
+ message: string;
72
+ requestedSchema: unknown;
73
+ }): Promise<ElicitResult>;
21
74
  onStateUpdate(state: State | undefined, source: Connection | "server"): void;
22
75
  onStart(): Promise<void>;
23
76
  /**
24
77
  * McpAgent API
25
78
  */
26
- abstract server: McpServer;
79
+ abstract server: MaybePromise<McpServer | Server>;
27
80
  props: Props;
28
81
  initRun: boolean;
29
82
  abstract init(): Promise<void>;
30
83
  _init(props: Props): Promise<void>;
31
- isInitialized(): boolean;
84
+ setInitialized(): Promise<void>;
85
+ isInitialized(): Promise<boolean>;
86
+ private _initialize;
32
87
  fetch(request: Request): Promise<Response>;
33
88
  getWebSocket(): WebSocket | null;
34
89
  getWebSocketForResponseID(id: string): WebSocket | null;
35
90
  onMessage(connection: Connection, event: WSMessage): Promise<void>;
36
- onSSEMcpMessage(sessionId: string, request: Request): Promise<Error | null>;
91
+ /**
92
+ * Wait for elicitation response through storage polling
93
+ */
94
+ private _waitForElicitationResponse;
95
+ /**
96
+ * Handle elicitation responses */
97
+ private _handleElicitationResponse;
98
+ onSSEMcpMessage(_sessionId: string, request: Request): Promise<Error | null>;
37
99
  webSocketMessage(ws: WebSocket, event: ArrayBuffer | string): Promise<void>;
38
100
  webSocketError(ws: WebSocket, error: unknown): Promise<void>;
39
101
  webSocketClose(ws: WebSocket, code: number, reason: string, wasClean: boolean): Promise<void>;
40
- static mount(path: string, { binding, corsOptions, }?: {
102
+ static mount(path: string, { binding, corsOptions }?: {
41
103
  binding?: string;
42
104
  corsOptions?: CORSOptions;
43
105
  }): {
44
- fetch: (request: Request, env: Record<string, DurableObjectNamespace<McpAgent>>, ctx: ExecutionContext) => Promise<Response>;
106
+ fetch<Env>(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
45
107
  };
46
- static serveSSE(path: string, { binding, corsOptions, }?: {
108
+ static serveSSE(path: string, { binding, corsOptions }?: {
47
109
  binding?: string;
48
110
  corsOptions?: CORSOptions;
49
111
  }): {
50
- fetch: (request: Request, env: Record<string, DurableObjectNamespace<McpAgent>>, ctx: ExecutionContext) => Promise<Response>;
112
+ fetch<Env>(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
51
113
  };
52
- static serve(path: string, { binding, corsOptions, }?: {
114
+ static serve(path: string, { binding, corsOptions }?: {
53
115
  binding?: string;
54
116
  corsOptions?: CORSOptions;
55
117
  }): {
56
- fetch: (request: Request, env: Record<string, DurableObjectNamespace<McpAgent>>, ctx: ExecutionContext) => Promise<Response>;
118
+ fetch<Env>(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
57
119
  };
58
120
  }
59
121
 
60
- export { McpAgent };
122
+ export { McpAgent, SSEEdgeClientTransport, StreamableHTTPEdgeClientTransport };