agents 0.20.1 → 0.22.0

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 (169) hide show
  1. package/README.md +51 -12
  2. package/dist/{agent-tool-types-BC-WFlsz.d.ts → agent-routing-CnkaHb-v.d.ts} +3305 -3138
  3. package/dist/agent-routing.d.ts +14 -0
  4. package/dist/agent-routing.js +187 -0
  5. package/dist/agent-routing.js.map +1 -0
  6. package/dist/agent-tool-types.d.ts +26 -26
  7. package/dist/{agent-tools-DeHe9Xov.d.ts → agent-tools-C0XJqWzB.d.ts} +7 -7
  8. package/dist/agent-tools.d.ts +44 -28
  9. package/dist/agent-tools.js +16 -7
  10. package/dist/agent-tools.js.map +1 -1
  11. package/dist/browser/ai.d.ts +5 -3
  12. package/dist/browser/ai.js +88 -8
  13. package/dist/browser/ai.js.map +1 -1
  14. package/dist/browser/index.d.ts +1 -1
  15. package/dist/browser/index.js +1 -1
  16. package/dist/browser/tanstack-ai.js +13 -1
  17. package/dist/browser/tanstack-ai.js.map +1 -1
  18. package/dist/capability-BjSKYpzg.js +42 -0
  19. package/dist/capability-BjSKYpzg.js.map +1 -0
  20. package/dist/capability-runner-CvHGZqUu.d.ts +150 -0
  21. package/dist/chat/index.d.ts +51 -15
  22. package/dist/chat/index.js +59 -4
  23. package/dist/chat/index.js.map +1 -1
  24. package/dist/chat/react.d.ts +19 -180
  25. package/dist/chat/react.js +93 -600
  26. package/dist/chat/react.js.map +1 -1
  27. package/dist/chat/transport.d.ts +10 -0
  28. package/dist/chat/transport.js +2 -0
  29. package/dist/chat-sdk/index.d.ts +4 -4
  30. package/dist/chat-sdk/index.js +1 -1
  31. package/dist/{client-zqKcsyFa.js → client-jagG8a9_.js} +129 -37
  32. package/dist/client-jagG8a9_.js.map +1 -0
  33. package/dist/client.d.ts +1 -1
  34. package/dist/client.js +1 -1
  35. package/dist/{cloudflare-BduZwmYK.js → cloudflare-Dzvc7V2N.js} +10 -3
  36. package/dist/{cloudflare-BduZwmYK.js.map → cloudflare-Dzvc7V2N.js.map} +1 -1
  37. package/dist/{connector-v2M1zlZp.d.ts → connector-CkQD4MK3.d.ts} +20 -3
  38. package/dist/{connector-KEJnl6e5.js → connector-CptFKzRh.js} +158 -40
  39. package/dist/connector-CptFKzRh.js.map +1 -0
  40. package/dist/current-agent-CuMErtly.d.ts +283 -0
  41. package/dist/current-agent-DhoDkSnH.js +51 -0
  42. package/dist/current-agent-DhoDkSnH.js.map +1 -0
  43. package/dist/diagnostics-CaBjfz4J.js +41 -0
  44. package/dist/diagnostics-CaBjfz4J.js.map +1 -0
  45. package/dist/{do-oauth-client-provider-VTZj2VtM.d.ts → do-oauth-client-provider-Tmf1vgKz.d.ts} +2 -2
  46. package/dist/durable-object-lifecycle-D6nNQJJd.js +862 -0
  47. package/dist/durable-object-lifecycle-D6nNQJJd.js.map +1 -0
  48. package/dist/{email-CL27preh.d.ts → email-7TatiTnl.d.ts} +38 -9
  49. package/dist/email-send.d.ts +15 -0
  50. package/dist/email-send.js +32 -0
  51. package/dist/email-send.js.map +1 -0
  52. package/dist/email.d.ts +14 -10
  53. package/dist/email.js.map +1 -1
  54. package/dist/experimental/memory/session/index.d.ts +3 -2
  55. package/dist/experimental/memory/session/index.js +15 -10
  56. package/dist/experimental/memory/session/index.js.map +1 -1
  57. package/dist/{handler-stateless-C_bo-Ytq.d.ts → handler-stateless-DxYpJ_XF.d.ts} +3 -3
  58. package/dist/{handler-stateless-CIkKPETH.js → handler-stateless-VvrWSAVA.js} +5 -5
  59. package/dist/handler-stateless-VvrWSAVA.js.map +1 -0
  60. package/dist/{index-BRnybD6X.d.ts → index-DcSAZKsB.d.ts} +19 -31
  61. package/dist/index.d.ts +102 -91
  62. package/dist/index.js +12 -7235
  63. package/dist/internal_context-BlxFEWfn.d.ts +19 -0
  64. package/dist/internal_context.d.ts +10 -4
  65. package/dist/internal_context.js +1 -10
  66. package/dist/{client-invoker-BNSZxAkv.d.ts → invoker-CG0_p_Wq.d.ts} +2 -2
  67. package/dist/{client-invoker-VNZ7X0nn.js → invoker-CHMnoxIA.js} +2 -2
  68. package/dist/invoker-CHMnoxIA.js.map +1 -0
  69. package/dist/lifecycle/index.d.ts +48 -0
  70. package/dist/lifecycle/index.js +4 -0
  71. package/dist/mcp/{do-oauth-client-provider.d.ts → client/do-oauth-client-provider.d.ts} +1 -1
  72. package/dist/mcp/{do-oauth-client-provider.js → client/do-oauth-client-provider.js} +1 -1
  73. package/dist/mcp/client/do-oauth-client-provider.js.map +1 -0
  74. package/dist/mcp/client/index.d.ts +42 -0
  75. package/dist/mcp/{client.js → client/index.js} +1 -1
  76. package/dist/mcp/{x402.d.ts → client/x402.d.ts} +2 -2
  77. package/dist/mcp/{x402.js → client/x402.js} +2 -2
  78. package/dist/mcp/client/x402.js.map +1 -0
  79. package/dist/mcp/index.d.ts +36 -36
  80. package/dist/mcp/index.js +14 -16
  81. package/dist/mcp/index.js.map +1 -1
  82. package/dist/mcp/{server.d.ts → server/index.d.ts} +1 -1
  83. package/dist/mcp/{server.js → server/index.js} +1 -1
  84. package/dist/observability/ai/index.d.ts +1 -130
  85. package/dist/observability/ai/index.js +88 -433
  86. package/dist/observability/ai/index.js.map +1 -1
  87. package/dist/observability/index.d.ts +4 -4
  88. package/dist/observability/index.js +3 -50
  89. package/dist/observability/index.js.map +1 -1
  90. package/dist/{wire-types-CU9rLoeS.js → protocol-B0nh6KNf.js} +20 -66
  91. package/dist/protocol-B0nh6KNf.js.map +1 -0
  92. package/dist/react.d.ts +4 -4
  93. package/dist/react.js +6 -9
  94. package/dist/react.js.map +1 -1
  95. package/dist/schedule.d.ts +25 -94
  96. package/dist/schedule.js +1 -98
  97. package/dist/schedule.js.map +1 -1
  98. package/dist/scheduler-CR9RHGos.js +857 -0
  99. package/dist/scheduler-CR9RHGos.js.map +1 -0
  100. package/dist/scheduler-DQoTGoAW.d.ts +224 -0
  101. package/dist/schedules/index.d.ts +22 -0
  102. package/dist/schedules/index.js +2 -0
  103. package/dist/schedules/parser.d.ts +79 -0
  104. package/dist/schedules/parser.js +103 -0
  105. package/dist/schedules/parser.js.map +1 -0
  106. package/dist/serializable.d.ts +1 -1
  107. package/dist/sql-error-CPY-GXyI.d.ts +12 -0
  108. package/dist/sql-error.d.ts +2 -0
  109. package/dist/sql-error.js +16 -0
  110. package/dist/sql-error.js.map +1 -0
  111. package/dist/src-5W6JNKVb.js +6613 -0
  112. package/dist/src-5W6JNKVb.js.map +1 -0
  113. package/dist/sub-routing.d.ts +18 -6
  114. package/dist/sub-routing.js +92 -2
  115. package/dist/sub-routing.js.map +1 -1
  116. package/dist/wire-types-CnMt6_HR.js +47 -0
  117. package/dist/wire-types-CnMt6_HR.js.map +1 -0
  118. package/dist/workflow-types.d.ts +25 -25
  119. package/dist/workflow-types.js.map +1 -1
  120. package/dist/workflows.d.ts +22 -22
  121. package/dist/workflows.js +2 -1
  122. package/dist/workflows.js.map +1 -1
  123. package/dist/ws-chat-transport-UNRIS2xl.d.ts +184 -0
  124. package/dist/ws-chat-transport-rWwta645.js +698 -0
  125. package/dist/ws-chat-transport-rWwta645.js.map +1 -0
  126. package/docs/adding-to-existing-project.md +4 -2
  127. package/docs/agent-class.md +29 -87
  128. package/docs/agent-tools.md +29 -0
  129. package/docs/browse-the-web.md +16 -1
  130. package/docs/chat-agents.md +16 -13
  131. package/docs/client-sdk.md +12 -8
  132. package/docs/configuration.md +7 -1
  133. package/docs/cross-domain-authentication.md +7 -35
  134. package/docs/durable-execution.md +1 -1
  135. package/docs/email.md +2 -13
  136. package/docs/http-websockets.md +1 -11
  137. package/docs/human-in-the-loop.md +16 -13
  138. package/docs/index.md +1 -0
  139. package/docs/lifecycle.md +323 -0
  140. package/docs/long-running-agents.md +13 -15
  141. package/docs/mcp-client.md +55 -0
  142. package/docs/mcp-servers.md +6 -0
  143. package/docs/mcp-transports.md +18 -12
  144. package/docs/migration-to-ai-sdk-v5.md +2 -2
  145. package/docs/migration-to-ai-sdk-v6.md +5 -1
  146. package/docs/observability.md +33 -77
  147. package/docs/resumable-streaming.md +1 -1
  148. package/docs/routing.md +27 -0
  149. package/docs/scheduling.md +175 -15
  150. package/docs/server-driven-messages.md +1 -1
  151. package/docs/sub-agents.md +47 -2
  152. package/docs/webhooks.md +109 -136
  153. package/docs/workflows.md +9 -1
  154. package/package.json +41 -23
  155. package/dist/cli/index.d.ts +0 -1
  156. package/dist/cli/index.js +0 -26
  157. package/dist/cli/index.js.map +0 -1
  158. package/dist/client-invoker-VNZ7X0nn.js.map +0 -1
  159. package/dist/client-zqKcsyFa.js.map +0 -1
  160. package/dist/connector-KEJnl6e5.js.map +0 -1
  161. package/dist/handler-stateless-CIkKPETH.js.map +0 -1
  162. package/dist/index.js.map +0 -1
  163. package/dist/internal_context-Dg4Cgjcu.d.ts +0 -37
  164. package/dist/internal_context.js.map +0 -1
  165. package/dist/mcp/client.d.ts +0 -42
  166. package/dist/mcp/do-oauth-client-provider.js.map +0 -1
  167. package/dist/mcp/x402.js.map +0 -1
  168. package/dist/wire-types-CU9rLoeS.js.map +0 -1
  169. package/dist/workflow-types-Baz_PO5v.d.ts +0 -280
@@ -0,0 +1,184 @@
1
+ import { ChatTransport, UIMessage, UIMessageChunk } from "ai";
2
+
3
+ //#region src/chat/ws-chat-transport.d.ts
4
+ /**
5
+ * Agent-like interface for sending/receiving WebSocket messages.
6
+ * Matches `AgentClient` from `agents/client` and the connection returned by
7
+ * `useAgent` from `agents/react`.
8
+ */
9
+ interface AgentConnection {
10
+ send: (data: string) => void;
11
+ addEventListener: (
12
+ type: string,
13
+ listener: (event: MessageEvent) => void,
14
+ options?: {
15
+ signal?: AbortSignal;
16
+ }
17
+ ) => void;
18
+ removeEventListener: (
19
+ type: string,
20
+ listener: (event: MessageEvent) => void
21
+ ) => void;
22
+ }
23
+ type WebSocketChatTransportOptions<ChatMessage extends UIMessage = UIMessage> =
24
+ {
25
+ /** The framework-neutral AgentClient or useAgent connection. */ agent: AgentConnection;
26
+ /**
27
+ * Callback to add custom fields to the request body before sending.
28
+ */
29
+ prepareBody?: (options: {
30
+ messages: ChatMessage[];
31
+ trigger: "submit-message" | "regenerate-message";
32
+ messageId?: string;
33
+ }) => Promise<Record<string, unknown>> | Record<string, unknown>;
34
+ /**
35
+ * Optional set to track active request IDs.
36
+ * IDs are added when a request starts and removed when it completes.
37
+ * Used by the onAgentMessage handler to skip messages already handled by the transport.
38
+ */
39
+ activeRequestIds?: Set<string>;
40
+ /**
41
+ * Whether generic client-side abort/cancel lifecycle should cancel the
42
+ * server turn. Explicit cancellation via cancelActiveServerTurn() always
43
+ * sends CF_AGENT_CHAT_REQUEST_CANCEL.
44
+ * @default false
45
+ */
46
+ cancelOnClientAbort?: boolean;
47
+ };
48
+ /**
49
+ * ChatTransport that sends messages over WebSocket and returns a
50
+ * ReadableStream<UIMessageChunk> that the AI SDK's useChat consumes directly.
51
+ *
52
+ * This low-level transport handles new and regenerated request streams plus
53
+ * cancellation. Higher-level protocol coordination such as automatic reconnect
54
+ * resume, cross-tab transcript synchronization, and client-tool continuations
55
+ * is provided by integrations such as `useAgentChat`.
56
+ */
57
+ declare class WebSocketChatTransport<
58
+ ChatMessage extends UIMessage = UIMessage
59
+ > implements ChatTransport<ChatMessage> {
60
+ agent: AgentConnection;
61
+ private prepareBody?;
62
+ private activeRequestIds?;
63
+ private cancelOnClientAbort;
64
+ private _resumeResolver;
65
+ private _resumeNoneResolver;
66
+ private _onStreamPending;
67
+ private _retryResumeProbe;
68
+ private _expectToolContinuation;
69
+ private _abortToolContinuation;
70
+ private _activeServerTurnId;
71
+ private _cancelAttachedStream;
72
+ private _detachResumeStream;
73
+ constructor(options: WebSocketChatTransportOptions<ChatMessage>);
74
+ /**
75
+ * Point the singleton transport at a new Agent connection. A pending resolver
76
+ * belongs to the old Chat/socket generation and must settle before messages
77
+ * from the replacement connection can be consumed (#1914 review).
78
+ */
79
+ setAgent(agent: AgentConnection): void;
80
+ setCancelOnClientAbort(cancelOnClientAbort: boolean): void;
81
+ /**
82
+ * Explicitly cancel the active server turn, if any.
83
+ * This is separate from generic client-side abort/cancel lifecycle so
84
+ * clients can detach locally without stopping server work.
85
+ */
86
+ cancelActiveServerTurn(): boolean;
87
+ private sendCancelFrame;
88
+ private setActiveServerTurn;
89
+ private clearActiveServerTurn;
90
+ /**
91
+ * Mark that the next reconnectToStream() call should attach to a
92
+ * server-initiated tool continuation rather than a page-load resume.
93
+ */
94
+ expectToolContinuation(): void;
95
+ /**
96
+ * Abort the active client-side tool continuation stream, if one is attached
97
+ * to a server request id.
98
+ */
99
+ abortActiveToolContinuation(): boolean;
100
+ /**
101
+ * True when the transport is waiting for a resume handshake.
102
+ */
103
+ isAwaitingResume(): boolean;
104
+ /**
105
+ * Settle and detach the current handshake without interpreting it as a
106
+ * server-idle response. Used when the owning hook/agent generation changes.
107
+ */
108
+ cancelPendingResume(): boolean;
109
+ /**
110
+ * Invalidate all client-side resume state for an obsolete hook/agent
111
+ * generation without cancelling its durable server turn.
112
+ */
113
+ resetResumeState(): void;
114
+ /**
115
+ * Re-send the active handshake request on the latest socket generation. This
116
+ * preserves one AI SDK resume operation while recovering a request/reply lost
117
+ * with the previous WebSocket.
118
+ */
119
+ retryPendingResume(): boolean;
120
+ /**
121
+ * Called by onAgentMessage when it receives CF_AGENT_STREAM_RESUMING.
122
+ * If reconnectToStream is waiting, this handles the resume handshake
123
+ * (ACK + stream creation) and returns true. Otherwise returns false
124
+ * so the caller can use its own fallback path.
125
+ */
126
+ handleStreamResuming(data: { id: string }): boolean;
127
+ /**
128
+ * Called by onAgentMessage when it receives CF_AGENT_STREAM_RESUME_NONE.
129
+ * If reconnectToStream is waiting, resolves the promise with null
130
+ * immediately (no 5-second timeout). Returns true if handled.
131
+ */
132
+ handleStreamResumeNone(data?: { probeId?: string }): boolean;
133
+ /**
134
+ * Called by onAgentMessage when it receives CF_AGENT_STREAM_PENDING (#1784):
135
+ * the server accepted a turn but its stream has not started yet. If a resume
136
+ * path is awaiting, extend its probe timeout (so it keeps waiting for the
137
+ * eventual STREAM_RESUMING / STREAM_RESUME_NONE instead of resolving null
138
+ * after the short window). Returns true if a waiting path consumed it.
139
+ */
140
+ handleStreamPending(): boolean;
141
+ /**
142
+ * Called by the hook's shared message handler when a server turn finishes
143
+ * outside the currently attached transport stream, such as after local-only
144
+ * client cleanup.
145
+ */
146
+ handleServerTurnCompleted(requestId: string): void;
147
+ /**
148
+ * Register a server turn that is being rendered outside a transport-owned
149
+ * stream, such as the hook's fallback cross-tab/resume observer path.
150
+ */
151
+ observeServerTurn(requestId: string): void;
152
+ sendMessages(options: {
153
+ chatId: string;
154
+ messages: ChatMessage[];
155
+ abortSignal: AbortSignal | undefined;
156
+ trigger: "submit-message" | "regenerate-message";
157
+ messageId?: string;
158
+ body?: object;
159
+ headers?: Record<string, string> | Headers;
160
+ metadata?: unknown;
161
+ }): Promise<ReadableStream<UIMessageChunk>>;
162
+ reconnectToStream(_options: {
163
+ chatId: string;
164
+ }): Promise<ReadableStream<UIMessageChunk> | null>;
165
+ /**
166
+ * Creates a deferred ReadableStream for client-side tool continuations.
167
+ * The stream is returned immediately so AI SDK status becomes "submitted"
168
+ * right after addToolOutput()/addToolApprovalResponse(), then it waits for
169
+ * the server to announce the continuation via STREAM_RESUMING.
170
+ */
171
+ private _createToolContinuationStream;
172
+ /**
173
+ * Creates a ReadableStream that receives resumed stream chunks
174
+ * and forwards them to useChat as UIMessageChunk objects.
175
+ */
176
+ private _createResumeStream;
177
+ }
178
+ //#endregion
179
+ export {
180
+ WebSocketChatTransport as n,
181
+ WebSocketChatTransportOptions as r,
182
+ AgentConnection as t
183
+ };
184
+ //# sourceMappingURL=ws-chat-transport-UNRIS2xl.d.ts.map