agents 0.3.1 → 0.3.2

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 (67) hide show
  1. package/README.md +12 -326
  2. package/dist/ai-chat-agent.d.ts +1 -324
  3. package/dist/ai-chat-agent.js +3 -1147
  4. package/dist/ai-chat-agent.js.map +1 -1
  5. package/dist/ai-chat-v5-migration.d.ts +1 -155
  6. package/dist/ai-chat-v5-migration.js +4 -151
  7. package/dist/ai-chat-v5-migration.js.map +1 -1
  8. package/dist/ai-react.d.ts +1 -286
  9. package/dist/ai-react.js +3 -632
  10. package/dist/ai-react.js.map +1 -1
  11. package/dist/ai-types.d.ts +7 -6
  12. package/dist/ai-types.js +12 -2
  13. package/dist/ai-types.js.map +1 -0
  14. package/dist/{client-QZa2Rq0l.js → client-C7SOlYfK.js} +2 -2
  15. package/dist/{client-QZa2Rq0l.js.map → client-C7SOlYfK.js.map} +1 -1
  16. package/dist/{client-DjTPRM8-.js → client-CEO0P7vN.js} +2 -2
  17. package/dist/client-CEO0P7vN.js.map +1 -0
  18. package/dist/{client-DFotUKH_.d.ts → client-CbcnyqCo.d.ts} +10 -10
  19. package/dist/client.d.ts +92 -7
  20. package/dist/client.js +1 -1
  21. package/dist/codemode/ai.d.ts +1 -27
  22. package/dist/codemode/ai.js +3 -146
  23. package/dist/codemode/ai.js.map +1 -1
  24. package/dist/{do-oauth-client-provider--To1Tsjj.d.ts → do-oauth-client-provider-BH9zFtSy.d.ts} +1 -1
  25. package/dist/{do-oauth-client-provider-B1fVIshX.js → do-oauth-client-provider-BfPFgQU0.js} +1 -1
  26. package/dist/{do-oauth-client-provider-B1fVIshX.js.map → do-oauth-client-provider-BfPFgQU0.js.map} +1 -1
  27. package/dist/{index-DLuxm_9W.d.ts → index-B7Ny-XfU.d.ts} +2 -2
  28. package/dist/index.d.ts +553 -38
  29. package/dist/index.js +5 -5
  30. package/dist/{context-DcbQ8o7k.d.ts → internal_context-neg89p5n.d.ts} +2 -2
  31. package/dist/{context-BkKbAa1R.js → internal_context-oN047Id3.js} +2 -2
  32. package/dist/internal_context-oN047Id3.js.map +1 -0
  33. package/dist/{context.d.ts → internal_context.d.ts} +1 -1
  34. package/dist/internal_context.js +3 -0
  35. package/dist/mcp/client.d.ts +1 -1
  36. package/dist/mcp/client.js +2 -2
  37. package/dist/mcp/do-oauth-client-provider.d.ts +1 -1
  38. package/dist/mcp/do-oauth-client-provider.js +1 -1
  39. package/dist/mcp/index.d.ts +3 -4
  40. package/dist/mcp/index.js +6 -6
  41. package/dist/mcp/index.js.map +1 -1
  42. package/dist/mcp/x402.d.ts +1 -1
  43. package/dist/{mcp-CPSfGUgd.d.ts → mcp-AK39tq6H.d.ts} +1 -1
  44. package/dist/observability/index.d.ts +1 -1
  45. package/dist/observability/index.js +5 -5
  46. package/dist/react.d.ts +14 -6
  47. package/dist/react.js +16 -8
  48. package/dist/react.js.map +1 -1
  49. package/dist/serializable.d.ts +33 -6
  50. package/dist/{src-BZDh910Z.js → src-CXf5SiV4.js} +6 -6
  51. package/dist/src-CXf5SiV4.js.map +1 -0
  52. package/dist/types-4b5tlB0u.js +15 -0
  53. package/dist/types-4b5tlB0u.js.map +1 -0
  54. package/dist/types-C5vR2Gzv.d.ts +13 -0
  55. package/dist/types.d.ts +2 -0
  56. package/dist/types.js +3 -0
  57. package/package.json +33 -22
  58. package/dist/ai-types-0OnT3FHg.d.ts +0 -127
  59. package/dist/ai-types-DEtF_8Km.js +0 -28
  60. package/dist/ai-types-DEtF_8Km.js.map +0 -1
  61. package/dist/client-CdM5I962.d.ts +0 -104
  62. package/dist/client-DjTPRM8-.js.map +0 -1
  63. package/dist/context-BkKbAa1R.js.map +0 -1
  64. package/dist/context.js +0 -3
  65. package/dist/index-CT2tCrLr.d.ts +0 -577
  66. package/dist/serializable-Crsj26mx.d.ts +0 -39
  67. package/dist/src-BZDh910Z.js.map +0 -1
@@ -1,127 +0,0 @@
1
- import { UIMessage } from "ai";
2
-
3
- //#region src/ai-types.d.ts
4
-
5
- /**
6
- * Enum for message types to improve type safety and maintainability
7
- */
8
- declare enum MessageType {
9
- CF_AGENT_CHAT_MESSAGES = "cf_agent_chat_messages",
10
- CF_AGENT_USE_CHAT_REQUEST = "cf_agent_use_chat_request",
11
- CF_AGENT_USE_CHAT_RESPONSE = "cf_agent_use_chat_response",
12
- CF_AGENT_CHAT_CLEAR = "cf_agent_chat_clear",
13
- CF_AGENT_CHAT_REQUEST_CANCEL = "cf_agent_chat_request_cancel",
14
- /** Sent by server when client connects and there's an active stream to resume */
15
- CF_AGENT_STREAM_RESUMING = "cf_agent_stream_resuming",
16
- /** Sent by client to acknowledge stream resuming notification and request chunks */
17
- CF_AGENT_STREAM_RESUME_ACK = "cf_agent_stream_resume_ack",
18
- CF_AGENT_MCP_SERVERS = "cf_agent_mcp_servers",
19
- CF_MCP_AGENT_EVENT = "cf_mcp_agent_event",
20
- CF_AGENT_STATE = "cf_agent_state",
21
- RPC = "rpc",
22
- /** Client sends tool result to server (for client-side tools) */
23
- CF_AGENT_TOOL_RESULT = "cf_agent_tool_result",
24
- /** Server notifies client that a message was updated (e.g., tool result applied) */
25
- CF_AGENT_MESSAGE_UPDATED = "cf_agent_message_updated"
26
- }
27
- /**
28
- * Types of messages sent from the Agent to clients
29
- */
30
- type OutgoingMessage<ChatMessage extends UIMessage = UIMessage> =
31
- | {
32
- /** Indicates this message is a command to clear chat history */
33
- type: MessageType.CF_AGENT_CHAT_CLEAR;
34
- }
35
- | {
36
- /** Indicates this message contains updated chat messages */
37
- type: MessageType.CF_AGENT_CHAT_MESSAGES;
38
- /** Array of chat messages */
39
- messages: ChatMessage[];
40
- }
41
- | {
42
- /** Indicates this message is a response to a chat request */
43
- type: MessageType.CF_AGENT_USE_CHAT_RESPONSE;
44
- /** Unique ID of the request this response corresponds to */
45
- id: string;
46
- /** Content body of the response */
47
- body: string;
48
- /** Whether this is the final chunk of the response */
49
- done: boolean;
50
- /** Whether this response contains an error */
51
- error?: boolean;
52
- /** Whether this is a continuation (append to last assistant message) */
53
- continuation?: boolean;
54
- }
55
- | {
56
- /** Indicates the server is resuming an active stream */
57
- type: MessageType.CF_AGENT_STREAM_RESUMING;
58
- /** The request ID of the stream being resumed */
59
- id: string;
60
- }
61
- | {
62
- /** Server notifies client that a message was updated (e.g., tool result applied) */
63
- type: MessageType.CF_AGENT_MESSAGE_UPDATED;
64
- /** The updated message */
65
- message: ChatMessage;
66
- };
67
- /**
68
- * Types of messages sent from clients to the Agent
69
- */
70
- type IncomingMessage<ChatMessage extends UIMessage = UIMessage> =
71
- | {
72
- /** Indicates this message is a command to clear chat history */
73
- type: MessageType.CF_AGENT_CHAT_CLEAR;
74
- }
75
- | {
76
- /** Indicates this message is a request to the chat API */
77
- type: MessageType.CF_AGENT_USE_CHAT_REQUEST;
78
- /** Unique ID for this request */
79
- id: string;
80
- /** Request initialization options */
81
- init: Pick<
82
- RequestInit,
83
- | "method"
84
- | "keepalive"
85
- | "headers"
86
- | "body"
87
- | "redirect"
88
- | "integrity"
89
- | "credentials"
90
- | "mode"
91
- | "referrer"
92
- | "referrerPolicy"
93
- | "window"
94
- >;
95
- }
96
- | {
97
- /** Indicates this message contains updated chat messages */
98
- type: MessageType.CF_AGENT_CHAT_MESSAGES;
99
- /** Array of chat messages */
100
- messages: ChatMessage[];
101
- }
102
- | {
103
- /** Indicates the user wants to stop generation of this message */
104
- type: MessageType.CF_AGENT_CHAT_REQUEST_CANCEL;
105
- id: string;
106
- }
107
- | {
108
- /** Client acknowledges stream resuming notification and is ready to receive chunks */
109
- type: MessageType.CF_AGENT_STREAM_RESUME_ACK;
110
- /** The request ID of the stream being resumed */
111
- id: string;
112
- }
113
- | {
114
- /** Client sends tool result to server (for client-side tools) */
115
- type: MessageType.CF_AGENT_TOOL_RESULT;
116
- /** The tool call ID this result is for */
117
- toolCallId: string;
118
- /** The name of the tool */
119
- toolName: string;
120
- /** The output from the tool execution */
121
- output: unknown;
122
- /** Whether server should auto-continue the conversation after applying result */
123
- autoContinue?: boolean;
124
- };
125
- //#endregion
126
- export { MessageType as n, OutgoingMessage as r, IncomingMessage as t };
127
- //# sourceMappingURL=ai-types-0OnT3FHg.d.ts.map
@@ -1,28 +0,0 @@
1
- //#region src/ai-types.ts
2
- /**
3
- * Enum for message types to improve type safety and maintainability
4
- */
5
- let MessageType = /* @__PURE__ */ function(MessageType$1) {
6
- MessageType$1["CF_AGENT_CHAT_MESSAGES"] = "cf_agent_chat_messages";
7
- MessageType$1["CF_AGENT_USE_CHAT_REQUEST"] = "cf_agent_use_chat_request";
8
- MessageType$1["CF_AGENT_USE_CHAT_RESPONSE"] = "cf_agent_use_chat_response";
9
- MessageType$1["CF_AGENT_CHAT_CLEAR"] = "cf_agent_chat_clear";
10
- MessageType$1["CF_AGENT_CHAT_REQUEST_CANCEL"] = "cf_agent_chat_request_cancel";
11
- /** Sent by server when client connects and there's an active stream to resume */
12
- MessageType$1["CF_AGENT_STREAM_RESUMING"] = "cf_agent_stream_resuming";
13
- /** Sent by client to acknowledge stream resuming notification and request chunks */
14
- MessageType$1["CF_AGENT_STREAM_RESUME_ACK"] = "cf_agent_stream_resume_ack";
15
- MessageType$1["CF_AGENT_MCP_SERVERS"] = "cf_agent_mcp_servers";
16
- MessageType$1["CF_MCP_AGENT_EVENT"] = "cf_mcp_agent_event";
17
- MessageType$1["CF_AGENT_STATE"] = "cf_agent_state";
18
- MessageType$1["RPC"] = "rpc";
19
- /** Client sends tool result to server (for client-side tools) */
20
- MessageType$1["CF_AGENT_TOOL_RESULT"] = "cf_agent_tool_result";
21
- /** Server notifies client that a message was updated (e.g., tool result applied) */
22
- MessageType$1["CF_AGENT_MESSAGE_UPDATED"] = "cf_agent_message_updated";
23
- return MessageType$1;
24
- }({});
25
-
26
- //#endregion
27
- export { MessageType as t };
28
- //# sourceMappingURL=ai-types-DEtF_8Km.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-types-DEtF_8Km.js","names":[],"sources":["../src/ai-types.ts"],"sourcesContent":["import type { UIMessage } from \"ai\";\n\n/**\n * Enum for message types to improve type safety and maintainability\n */\nexport enum MessageType {\n CF_AGENT_CHAT_MESSAGES = \"cf_agent_chat_messages\",\n CF_AGENT_USE_CHAT_REQUEST = \"cf_agent_use_chat_request\",\n CF_AGENT_USE_CHAT_RESPONSE = \"cf_agent_use_chat_response\",\n CF_AGENT_CHAT_CLEAR = \"cf_agent_chat_clear\",\n CF_AGENT_CHAT_REQUEST_CANCEL = \"cf_agent_chat_request_cancel\",\n\n /** Sent by server when client connects and there's an active stream to resume */\n CF_AGENT_STREAM_RESUMING = \"cf_agent_stream_resuming\",\n /** Sent by client to acknowledge stream resuming notification and request chunks */\n CF_AGENT_STREAM_RESUME_ACK = \"cf_agent_stream_resume_ack\",\n\n CF_AGENT_MCP_SERVERS = \"cf_agent_mcp_servers\",\n CF_MCP_AGENT_EVENT = \"cf_mcp_agent_event\",\n CF_AGENT_STATE = \"cf_agent_state\",\n RPC = \"rpc\",\n\n /** Client sends tool result to server (for client-side tools) */\n CF_AGENT_TOOL_RESULT = \"cf_agent_tool_result\",\n /** Server notifies client that a message was updated (e.g., tool result applied) */\n CF_AGENT_MESSAGE_UPDATED = \"cf_agent_message_updated\"\n}\n\n/**\n * Types of messages sent from the Agent to clients\n */\nexport type OutgoingMessage<ChatMessage extends UIMessage = UIMessage> =\n | {\n /** Indicates this message is a command to clear chat history */\n type: MessageType.CF_AGENT_CHAT_CLEAR;\n }\n | {\n /** Indicates this message contains updated chat messages */\n type: MessageType.CF_AGENT_CHAT_MESSAGES;\n /** Array of chat messages */\n messages: ChatMessage[];\n }\n | {\n /** Indicates this message is a response to a chat request */\n type: MessageType.CF_AGENT_USE_CHAT_RESPONSE;\n /** Unique ID of the request this response corresponds to */\n id: string;\n /** Content body of the response */\n body: string;\n /** Whether this is the final chunk of the response */\n done: boolean;\n /** Whether this response contains an error */\n error?: boolean;\n /** Whether this is a continuation (append to last assistant message) */\n continuation?: boolean;\n }\n | {\n /** Indicates the server is resuming an active stream */\n type: MessageType.CF_AGENT_STREAM_RESUMING;\n /** The request ID of the stream being resumed */\n id: string;\n }\n | {\n /** Server notifies client that a message was updated (e.g., tool result applied) */\n type: MessageType.CF_AGENT_MESSAGE_UPDATED;\n /** The updated message */\n message: ChatMessage;\n };\n\n/**\n * Types of messages sent from clients to the Agent\n */\nexport type IncomingMessage<ChatMessage extends UIMessage = UIMessage> =\n | {\n /** Indicates this message is a command to clear chat history */\n type: MessageType.CF_AGENT_CHAT_CLEAR;\n }\n | {\n /** Indicates this message is a request to the chat API */\n type: MessageType.CF_AGENT_USE_CHAT_REQUEST;\n /** Unique ID for this request */\n id: string;\n /** Request initialization options */\n init: Pick<\n RequestInit,\n | \"method\"\n | \"keepalive\"\n | \"headers\"\n | \"body\"\n | \"redirect\"\n | \"integrity\"\n | \"credentials\"\n | \"mode\"\n | \"referrer\"\n | \"referrerPolicy\"\n | \"window\"\n >;\n }\n | {\n /** Indicates this message contains updated chat messages */\n type: MessageType.CF_AGENT_CHAT_MESSAGES;\n /** Array of chat messages */\n messages: ChatMessage[];\n }\n | {\n /** Indicates the user wants to stop generation of this message */\n type: MessageType.CF_AGENT_CHAT_REQUEST_CANCEL;\n id: string;\n }\n | {\n /** Client acknowledges stream resuming notification and is ready to receive chunks */\n type: MessageType.CF_AGENT_STREAM_RESUME_ACK;\n /** The request ID of the stream being resumed */\n id: string;\n }\n | {\n /** Client sends tool result to server (for client-side tools) */\n type: MessageType.CF_AGENT_TOOL_RESULT;\n /** The tool call ID this result is for */\n toolCallId: string;\n /** The name of the tool */\n toolName: string;\n /** The output from the tool execution */\n output: unknown;\n /** Whether server should auto-continue the conversation after applying result */\n autoContinue?: boolean;\n };\n"],"mappings":";;;;AAKA,IAAY,sDAAL;AACL;AACA;AACA;AACA;AACA;;AAGA;;AAEA;AAEA;AACA;AACA;AACA;;AAGA;;AAEA"}
@@ -1,104 +0,0 @@
1
- import {
2
- i as SerializableValue,
3
- r as SerializableReturnValue
4
- } from "./serializable-Crsj26mx.js";
5
- import {
6
- PartyFetchOptions,
7
- PartySocket,
8
- PartySocketOptions
9
- } from "partysocket";
10
-
11
- //#region src/client.d.ts
12
-
13
- /**
14
- * Options for creating an AgentClient
15
- */
16
- type AgentClientOptions<State = unknown> = Omit<
17
- PartySocketOptions,
18
- "party" | "room"
19
- > & {
20
- /** Name of the agent to connect to */
21
- agent: string;
22
- /** Name of the specific Agent instance */
23
- name?: string;
24
- /** Called when the Agent's state is updated */
25
- onStateUpdate?: (state: State, source: "server" | "client") => void;
26
- };
27
- /**
28
- * Options for streaming RPC calls
29
- */
30
- type StreamOptions = {
31
- /** Called when a chunk of data is received */
32
- onChunk?: (chunk: unknown) => void;
33
- /** Called when the stream ends */
34
- onDone?: (finalChunk: unknown) => void;
35
- /** Called when an error occurs */
36
- onError?: (error: string) => void;
37
- };
38
- /**
39
- * Options for the agentFetch function
40
- */
41
- type AgentClientFetchOptions = Omit<PartyFetchOptions, "party" | "room"> & {
42
- /** Name of the agent to connect to */
43
- agent: string;
44
- /** Name of the specific Agent instance */
45
- name?: string;
46
- };
47
- /**
48
- * Convert a camelCase string to a kebab-case string
49
- * @param str The string to convert
50
- * @returns The kebab-case string
51
- */
52
- declare function camelCaseToKebabCase(str: string): string;
53
- /**
54
- * WebSocket client for connecting to an Agent
55
- */
56
- declare class AgentClient<State = unknown> extends PartySocket {
57
- /**
58
- * @deprecated Use agentFetch instead
59
- */
60
- static fetch(_opts: PartyFetchOptions): Promise<Response>;
61
- agent: string;
62
- name: string;
63
- private options;
64
- private _pendingCalls;
65
- constructor(options: AgentClientOptions<State>);
66
- setState(state: State): void;
67
- /**
68
- * Call a method on the Agent
69
- * @param method Name of the method to call
70
- * @param args Arguments to pass to the method
71
- * @param streamOptions Options for handling streaming responses
72
- * @returns Promise that resolves with the method's return value
73
- */
74
- call<T extends SerializableReturnValue>(
75
- method: string,
76
- args?: SerializableValue[],
77
- streamOptions?: StreamOptions
78
- ): Promise<T>;
79
- call<T = unknown>(
80
- method: string,
81
- args?: unknown[],
82
- streamOptions?: StreamOptions
83
- ): Promise<T>;
84
- }
85
- /**
86
- * Make an HTTP request to an Agent
87
- * @param opts Connection options
88
- * @param init Request initialization options
89
- * @returns Promise resolving to a Response
90
- */
91
- declare function agentFetch(
92
- opts: AgentClientFetchOptions,
93
- init?: RequestInit
94
- ): Promise<Response>;
95
- //#endregion
96
- export {
97
- agentFetch as a,
98
- StreamOptions as i,
99
- AgentClientFetchOptions as n,
100
- camelCaseToKebabCase as o,
101
- AgentClientOptions as r,
102
- AgentClient as t
103
- };
104
- //# sourceMappingURL=client-CdM5I962.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-DjTPRM8-.js","names":["parsedMessage: Record<string, unknown>","request: RPCRequest"],"sources":["../src/client.ts"],"sourcesContent":["import {\n type PartyFetchOptions,\n PartySocket,\n type PartySocketOptions\n} from \"partysocket\";\nimport type { RPCRequest, RPCResponse } from \"./\";\nimport type {\n SerializableReturnValue,\n SerializableValue\n} from \"./serializable\";\nimport { MessageType } from \"./ai-types\";\n\n/**\n * Options for creating an AgentClient\n */\nexport type AgentClientOptions<State = unknown> = Omit<\n PartySocketOptions,\n \"party\" | \"room\"\n> & {\n /** Name of the agent to connect to */\n agent: string;\n /** Name of the specific Agent instance */\n name?: string;\n /** Called when the Agent's state is updated */\n onStateUpdate?: (state: State, source: \"server\" | \"client\") => void;\n};\n\n/**\n * Options for streaming RPC calls\n */\nexport type StreamOptions = {\n /** Called when a chunk of data is received */\n onChunk?: (chunk: unknown) => void;\n /** Called when the stream ends */\n onDone?: (finalChunk: unknown) => void;\n /** Called when an error occurs */\n onError?: (error: string) => void;\n};\n\n/**\n * Options for the agentFetch function\n */\nexport type AgentClientFetchOptions = Omit<\n PartyFetchOptions,\n \"party\" | \"room\"\n> & {\n /** Name of the agent to connect to */\n agent: string;\n /** Name of the specific Agent instance */\n name?: string;\n};\n\n/**\n * Convert a camelCase string to a kebab-case string\n * @param str The string to convert\n * @returns The kebab-case string\n */\nexport function camelCaseToKebabCase(str: string): string {\n // If string is all uppercase, convert to lowercase\n if (str === str.toUpperCase() && str !== str.toLowerCase()) {\n return str.toLowerCase().replace(/_/g, \"-\");\n }\n\n // Otherwise handle camelCase to kebab-case\n let kebabified = str.replace(\n /[A-Z]/g,\n (letter) => `-${letter.toLowerCase()}`\n );\n kebabified = kebabified.startsWith(\"-\") ? kebabified.slice(1) : kebabified;\n // Convert any remaining underscores to hyphens and remove trailing -'s\n return kebabified.replace(/_/g, \"-\").replace(/-$/, \"\");\n}\n\n/**\n * WebSocket client for connecting to an Agent\n */\nexport class AgentClient<State = unknown> extends PartySocket {\n /**\n * @deprecated Use agentFetch instead\n */\n static fetch(_opts: PartyFetchOptions): Promise<Response> {\n throw new Error(\n \"AgentClient.fetch is not implemented, use agentFetch instead\"\n );\n }\n agent: string;\n name: string;\n private options: AgentClientOptions<State>;\n private _pendingCalls = new Map<\n string,\n {\n resolve: (value: unknown) => void;\n reject: (error: Error) => void;\n stream?: StreamOptions;\n type?: unknown;\n }\n >();\n\n constructor(options: AgentClientOptions<State>) {\n const agentNamespace = camelCaseToKebabCase(options.agent);\n super({\n party: agentNamespace,\n prefix: \"agents\",\n room: options.name || \"default\",\n ...options\n });\n this.agent = agentNamespace;\n this.name = options.name || \"default\";\n this.options = options;\n\n this.addEventListener(\"message\", (event) => {\n if (typeof event.data === \"string\") {\n let parsedMessage: Record<string, unknown>;\n try {\n parsedMessage = JSON.parse(event.data);\n } catch (_error) {\n // silently ignore invalid messages for now\n // TODO: log errors with log levels\n return;\n }\n if (parsedMessage.type === MessageType.CF_AGENT_STATE) {\n this.options.onStateUpdate?.(parsedMessage.state as State, \"server\");\n return;\n }\n if (parsedMessage.type === MessageType.RPC) {\n const response = parsedMessage as RPCResponse;\n const pending = this._pendingCalls.get(response.id);\n if (!pending) return;\n\n if (!response.success) {\n pending.reject(new Error(response.error));\n this._pendingCalls.delete(response.id);\n pending.stream?.onError?.(response.error);\n return;\n }\n\n // Handle streaming responses\n if (\"done\" in response) {\n if (response.done) {\n pending.resolve(response.result);\n this._pendingCalls.delete(response.id);\n pending.stream?.onDone?.(response.result);\n } else {\n pending.stream?.onChunk?.(response.result);\n }\n } else {\n // Non-streaming response\n pending.resolve(response.result);\n this._pendingCalls.delete(response.id);\n }\n }\n }\n });\n }\n\n setState(state: State) {\n this.send(JSON.stringify({ state, type: MessageType.CF_AGENT_STATE }));\n this.options.onStateUpdate?.(state, \"client\");\n }\n\n /**\n * Call a method on the Agent\n * @param method Name of the method to call\n * @param args Arguments to pass to the method\n * @param streamOptions Options for handling streaming responses\n * @returns Promise that resolves with the method's return value\n */\n call<T extends SerializableReturnValue>(\n method: string,\n args?: SerializableValue[],\n streamOptions?: StreamOptions\n ): Promise<T>;\n call<T = unknown>(\n method: string,\n args?: unknown[],\n streamOptions?: StreamOptions\n ): Promise<T>;\n async call<T>(\n method: string,\n args: unknown[] = [],\n streamOptions?: StreamOptions\n ): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n const id = Math.random().toString(36).slice(2);\n this._pendingCalls.set(id, {\n reject,\n resolve: (value: unknown) => resolve(value as T),\n stream: streamOptions,\n type: null as T\n });\n\n const request: RPCRequest = {\n args,\n id,\n method,\n type: MessageType.RPC\n };\n\n this.send(JSON.stringify(request));\n });\n }\n}\n\n/**\n * Make an HTTP request to an Agent\n * @param opts Connection options\n * @param init Request initialization options\n * @returns Promise resolving to a Response\n */\nexport function agentFetch(opts: AgentClientFetchOptions, init?: RequestInit) {\n const agentNamespace = camelCaseToKebabCase(opts.agent);\n\n return PartySocket.fetch(\n {\n party: agentNamespace,\n prefix: \"agents\",\n room: opts.name || \"default\",\n ...opts\n },\n init\n );\n}\n"],"mappings":";;;;;;;;;AAyDA,SAAgB,qBAAqB,KAAqB;AAExD,KAAI,QAAQ,IAAI,aAAa,IAAI,QAAQ,IAAI,aAAa,CACxD,QAAO,IAAI,aAAa,CAAC,QAAQ,MAAM,IAAI;CAI7C,IAAI,aAAa,IAAI,QACnB,WACC,WAAW,IAAI,OAAO,aAAa,GACrC;AACD,cAAa,WAAW,WAAW,IAAI,GAAG,WAAW,MAAM,EAAE,GAAG;AAEhE,QAAO,WAAW,QAAQ,MAAM,IAAI,CAAC,QAAQ,MAAM,GAAG;;;;;AAMxD,IAAa,cAAb,cAAkD,YAAY;;;;CAI5D,OAAO,MAAM,OAA6C;AACxD,QAAM,IAAI,MACR,+DACD;;CAeH,YAAY,SAAoC;EAC9C,MAAM,iBAAiB,qBAAqB,QAAQ,MAAM;AAC1D,QAAM;GACJ,OAAO;GACP,QAAQ;GACR,MAAM,QAAQ,QAAQ;GACtB,GAAG;GACJ,CAAC;uCAjBoB,IAAI,KAQzB;AAUD,OAAK,QAAQ;AACb,OAAK,OAAO,QAAQ,QAAQ;AAC5B,OAAK,UAAU;AAEf,OAAK,iBAAiB,YAAY,UAAU;AAC1C,OAAI,OAAO,MAAM,SAAS,UAAU;IAClC,IAAIA;AACJ,QAAI;AACF,qBAAgB,KAAK,MAAM,MAAM,KAAK;aAC/B,QAAQ;AAGf;;AAEF,QAAI,cAAc,SAAS,YAAY,gBAAgB;AACrD,UAAK,QAAQ,gBAAgB,cAAc,OAAgB,SAAS;AACpE;;AAEF,QAAI,cAAc,SAAS,YAAY,KAAK;KAC1C,MAAM,WAAW;KACjB,MAAM,UAAU,KAAK,cAAc,IAAI,SAAS,GAAG;AACnD,SAAI,CAAC,QAAS;AAEd,SAAI,CAAC,SAAS,SAAS;AACrB,cAAQ,OAAO,IAAI,MAAM,SAAS,MAAM,CAAC;AACzC,WAAK,cAAc,OAAO,SAAS,GAAG;AACtC,cAAQ,QAAQ,UAAU,SAAS,MAAM;AACzC;;AAIF,SAAI,UAAU,SACZ,KAAI,SAAS,MAAM;AACjB,cAAQ,QAAQ,SAAS,OAAO;AAChC,WAAK,cAAc,OAAO,SAAS,GAAG;AACtC,cAAQ,QAAQ,SAAS,SAAS,OAAO;WAEzC,SAAQ,QAAQ,UAAU,SAAS,OAAO;UAEvC;AAEL,cAAQ,QAAQ,SAAS,OAAO;AAChC,WAAK,cAAc,OAAO,SAAS,GAAG;;;;IAI5C;;CAGJ,SAAS,OAAc;AACrB,OAAK,KAAK,KAAK,UAAU;GAAE;GAAO,MAAM,YAAY;GAAgB,CAAC,CAAC;AACtE,OAAK,QAAQ,gBAAgB,OAAO,SAAS;;CAoB/C,MAAM,KACJ,QACA,OAAkB,EAAE,EACpB,eACY;AACZ,SAAO,IAAI,SAAY,SAAS,WAAW;GACzC,MAAM,KAAK,KAAK,QAAQ,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE;AAC9C,QAAK,cAAc,IAAI,IAAI;IACzB;IACA,UAAU,UAAmB,QAAQ,MAAW;IAChD,QAAQ;IACR,MAAM;IACP,CAAC;GAEF,MAAMC,UAAsB;IAC1B;IACA;IACA;IACA,MAAM,YAAY;IACnB;AAED,QAAK,KAAK,KAAK,UAAU,QAAQ,CAAC;IAClC;;;;;;;;;AAUN,SAAgB,WAAW,MAA+B,MAAoB;CAC5E,MAAM,iBAAiB,qBAAqB,KAAK,MAAM;AAEvD,QAAO,YAAY,MACjB;EACE,OAAO;EACP,QAAQ;EACR,MAAM,KAAK,QAAQ;EACnB,GAAG;EACJ,EACD,KACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-BkKbAa1R.js","names":[],"sources":["../src/context.ts"],"sourcesContent":["import { AsyncLocalStorage } from \"node:async_hooks\";\nimport type { Connection } from \"partyserver\";\n\nexport type AgentEmail = {\n from: string;\n to: string;\n getRaw: () => Promise<Uint8Array>;\n headers: Headers;\n rawSize: number;\n setReject: (reason: string) => void;\n forward: (rcptTo: string, headers?: Headers) => Promise<void>;\n reply: (options: { from: string; to: string; raw: string }) => Promise<void>;\n};\n\nexport type AgentContextStore = {\n // Using unknown to avoid circular dependency with Agent\n agent: unknown;\n connection: Connection | undefined;\n request: Request | undefined;\n email: AgentEmail | undefined;\n};\n\nexport const agentContext = new AsyncLocalStorage<AgentContextStore>();\n"],"mappings":";;;AAsBA,MAAa,eAAe,IAAI,mBAAsC"}
package/dist/context.js DELETED
@@ -1,3 +0,0 @@
1
- import { t as agentContext } from "./context-BkKbAa1R.js";
2
-
3
- export { agentContext };