agents 0.1.1 → 0.1.3
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/ai-chat-agent.d.ts +1 -1
- package/dist/ai-chat-agent.js +2 -2
- package/dist/ai-react.d.ts +1 -1
- package/dist/{chunk-VYENMKFS.js → chunk-MH46VMM4.js} +1 -1
- package/dist/chunk-MH46VMM4.js.map +1 -0
- package/dist/{chunk-PNF6ZMUA.js → chunk-YDUDMOL6.js} +4 -4
- package/dist/chunk-YDUDMOL6.js.map +1 -0
- package/dist/{client-CcIORE73.d.ts → client-CvaJdLQA.d.ts} +408 -0
- package/dist/index.d.ts +12 -3
- package/dist/index.js +2 -2
- package/dist/mcp/client.d.ts +1 -1
- package/dist/mcp/client.js +1 -1
- package/dist/mcp/index.d.ts +60 -75
- package/dist/mcp/index.js +808 -735
- package/dist/mcp/index.js.map +1 -1
- package/dist/observability/index.js +2 -2
- package/dist/react.d.ts +1 -1
- package/package.json +6 -3
- package/src/index.ts +13 -4
- package/dist/chunk-PNF6ZMUA.js.map +0 -1
- package/dist/chunk-VYENMKFS.js.map +0 -1
package/dist/mcp/index.d.ts
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
|
-
import { M as MCPClientManager } from '../client-CcIORE73.js';
|
|
2
|
-
export { S as SSEEdgeClientTransport, a as StreamableHTTPEdgeClientTransport } from '../client-CcIORE73.js';
|
|
3
|
-
import { DurableObject } from 'cloudflare:workers';
|
|
4
1
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
5
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
3
|
import { ElicitResult } from '@modelcontextprotocol/sdk/types.js';
|
|
7
4
|
export { ElicitRequest, ElicitRequestSchema, ElicitResult } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
-
import {
|
|
9
|
-
|
|
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';
|
|
10
9
|
import '@modelcontextprotocol/sdk/client/index.js';
|
|
11
|
-
import '
|
|
10
|
+
import '../observability/index.js';
|
|
11
|
+
import '../ai-types.js';
|
|
12
12
|
import 'ai';
|
|
13
|
+
import 'zod';
|
|
14
|
+
import '@modelcontextprotocol/sdk/shared/protocol.js';
|
|
13
15
|
import '@modelcontextprotocol/sdk/client/sse.js';
|
|
14
16
|
import '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
15
17
|
import './do-oauth-client-provider.js';
|
|
16
18
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
17
19
|
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
18
20
|
|
|
21
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
22
|
+
type TransportType = "sse" | "streamable-http";
|
|
19
23
|
interface CORSOptions {
|
|
20
24
|
origin?: string;
|
|
21
25
|
methods?: string;
|
|
@@ -23,88 +27,69 @@ interface CORSOptions {
|
|
|
23
27
|
maxAge?: number;
|
|
24
28
|
exposeHeaders?: string;
|
|
25
29
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
interface ServeOptions {
|
|
31
|
+
binding?: string;
|
|
32
|
+
corsOptions?: CORSOptions;
|
|
33
|
+
transport?: TransportType;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
declare abstract class McpAgent<Env = unknown, State = unknown, Props extends Record<string, unknown> = Record<string, unknown>> extends Agent<Env, State, Props> {
|
|
29
37
|
private _transport?;
|
|
30
|
-
private _transportType;
|
|
31
38
|
private _requestIdToConnectionId;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
* to the outer class: initialState/state/setState/onStateUpdate/sql
|
|
35
|
-
*/
|
|
36
|
-
private _agent;
|
|
37
|
-
get mcp(): MCPClientManager;
|
|
38
|
-
protected constructor(ctx: DurableObjectState, env: Env);
|
|
39
|
-
/**
|
|
40
|
-
* Agents API allowlist
|
|
41
|
-
*/
|
|
42
|
-
initialState: State;
|
|
43
|
-
get state(): State;
|
|
44
|
-
sql<T = Record<string, string | number | boolean | null>>(strings: TemplateStringsArray, ...values: (string | number | boolean | null)[]): T[];
|
|
45
|
-
setState(state: State): void;
|
|
46
|
-
/**
|
|
47
|
-
* Elicit user input with a message and schema
|
|
48
|
-
*/
|
|
49
|
-
elicitInput(params: {
|
|
50
|
-
message: string;
|
|
51
|
-
requestedSchema: unknown;
|
|
52
|
-
}): Promise<ElicitResult>;
|
|
53
|
-
onStateUpdate(state: State | undefined, source: Connection | "server"): void;
|
|
54
|
-
onStart(): Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* McpAgent API
|
|
57
|
-
*/
|
|
39
|
+
private _standaloneSseConnectionId?;
|
|
40
|
+
props?: Props;
|
|
58
41
|
abstract server: MaybePromise<McpServer | Server>;
|
|
59
|
-
props: Props;
|
|
60
|
-
initRun: boolean;
|
|
61
42
|
abstract init(): Promise<void>;
|
|
62
|
-
|
|
63
|
-
* Handle errors that occur during initialization or operation.
|
|
64
|
-
* Override this method to provide custom error handling.
|
|
65
|
-
* @param error - The error that occurred
|
|
66
|
-
* @returns An error response object with status code and message
|
|
67
|
-
*/
|
|
68
|
-
onError(error: Error): {
|
|
69
|
-
status: number;
|
|
70
|
-
message: string;
|
|
71
|
-
};
|
|
72
|
-
_init(props: Props): Promise<void>;
|
|
43
|
+
constructor(ctx: AgentContext, env: Env);
|
|
73
44
|
setInitialized(): Promise<void>;
|
|
74
45
|
isInitialized(): Promise<boolean>;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
getWebSocket(): WebSocket | null;
|
|
79
|
-
getWebSocketForResponseID(id: string): WebSocket | null;
|
|
80
|
-
onMessage(connection: Connection, event: WSMessage): Promise<void>;
|
|
81
|
-
/**
|
|
82
|
-
* Wait for elicitation response through storage polling
|
|
46
|
+
/** Read the transport type for this agent.
|
|
47
|
+
* This relies on the naming scheme being `sse:${sessionId}`
|
|
48
|
+
* or `streamable-http:${sessionId}`.
|
|
83
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 */
|
|
84
77
|
private _waitForElicitationResponse;
|
|
85
|
-
/**
|
|
86
|
-
* Handle elicitation responses */
|
|
78
|
+
/** Handle elicitation responses */
|
|
87
79
|
private _handleElicitationResponse;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
static mount(path: string, { binding, corsOptions }?: {
|
|
93
|
-
binding?: string;
|
|
94
|
-
corsOptions?: CORSOptions;
|
|
95
|
-
}): {
|
|
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): {
|
|
96
84
|
fetch<Env>(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
|
|
97
85
|
};
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
86
|
+
/**
|
|
87
|
+
* Legacy api
|
|
88
|
+
**/
|
|
89
|
+
static mount(path: string, opts?: Omit<ServeOptions, "transport">): {
|
|
102
90
|
fetch<Env>(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
|
|
103
91
|
};
|
|
104
|
-
static
|
|
105
|
-
binding?: string;
|
|
106
|
-
corsOptions?: CORSOptions;
|
|
107
|
-
}): {
|
|
92
|
+
static serveSSE(path: string, opts?: Omit<ServeOptions, "transport">): {
|
|
108
93
|
fetch<Env>(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
|
|
109
94
|
};
|
|
110
95
|
}
|