agents 0.22.0 → 0.24.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 (215) hide show
  1. package/README.md +20 -1
  2. package/dist/{agent-routing-CnkaHb-v.d.ts → agent-routing-B2XLNMxq.d.ts} +1094 -443
  3. package/dist/agent-routing.d.ts +1 -1
  4. package/dist/agent-tool-types.d.ts +26 -26
  5. package/dist/{agent-tools-C0XJqWzB.d.ts → agent-tools-Dj5Mzlw7.d.ts} +7 -7
  6. package/dist/agent-tools.d.ts +21 -21
  7. package/dist/browser/ai.js +4 -1
  8. package/dist/browser/ai.js.map +1 -1
  9. package/dist/browser/tanstack-ai.js.map +1 -1
  10. package/dist/callable-decorator-DP__HhBA.d.ts +72 -0
  11. package/dist/callable-decorator.d.ts +18 -0
  12. package/dist/callable-decorator.js +71 -0
  13. package/dist/callable-decorator.js.map +1 -0
  14. package/dist/{capability-BjSKYpzg.js → capability-B4WbF81e.js} +2 -1
  15. package/dist/capability-B4WbF81e.js.map +1 -0
  16. package/dist/capability-runner-BUBa6Ake.d.ts +484 -0
  17. package/dist/channel-Bnm4S7T2.d.ts +491 -0
  18. package/dist/channels/ai-sdk.d.ts +46 -0
  19. package/dist/channels/ai-sdk.js +120 -0
  20. package/dist/channels/ai-sdk.js.map +1 -0
  21. package/dist/channels/email.d.ts +95 -0
  22. package/dist/channels/email.js +323 -0
  23. package/dist/channels/email.js.map +1 -0
  24. package/dist/channels/index.d.ts +233 -0
  25. package/dist/channels/index.js +608 -0
  26. package/dist/channels/index.js.map +1 -0
  27. package/dist/channels/slack.d.ts +140 -0
  28. package/dist/channels/slack.js +614 -0
  29. package/dist/channels/slack.js.map +1 -0
  30. package/dist/channels/tanstack-ai.d.ts +39 -0
  31. package/dist/channels/tanstack-ai.js +17 -0
  32. package/dist/channels/tanstack-ai.js.map +1 -0
  33. package/dist/channels/telegram.d.ts +106 -0
  34. package/dist/channels/telegram.js +427 -0
  35. package/dist/channels/telegram.js.map +1 -0
  36. package/dist/channels/voice.d.ts +45 -0
  37. package/dist/channels/voice.js +122 -0
  38. package/dist/channels/voice.js.map +1 -0
  39. package/dist/chat/index.d.ts +2319 -2010
  40. package/dist/chat/index.js +892 -518
  41. package/dist/chat/index.js.map +1 -1
  42. package/dist/chat-sdk/index.d.ts +7 -7
  43. package/dist/chat-sdk/index.js +1 -1
  44. package/dist/client-BxdkCuVy.d.ts +411 -0
  45. package/dist/client-C9DAjZIY.js +518 -0
  46. package/dist/client-C9DAjZIY.js.map +1 -0
  47. package/dist/{client-jagG8a9_.js → client-fyQrLGkD.js} +2 -2
  48. package/dist/{client-jagG8a9_.js.map → client-fyQrLGkD.js.map} +1 -1
  49. package/dist/client.d.ts +27 -283
  50. package/dist/client.js +2 -274
  51. package/dist/context/index.d.ts +216 -0
  52. package/dist/context/index.js +454 -0
  53. package/dist/context/index.js.map +1 -0
  54. package/dist/current-agent-C4w86kcN.d.ts +93 -0
  55. package/dist/current-agent-DhoDkSnH.js.map +1 -1
  56. package/dist/{diagnostics-CaBjfz4J.js → diagnostics-BzvaX2UT.js} +5 -1
  57. package/dist/diagnostics-BzvaX2UT.js.map +1 -0
  58. package/dist/diagnostics-C4jcz3VK.js +360 -0
  59. package/dist/diagnostics-C4jcz3VK.js.map +1 -0
  60. package/dist/durable-object-lifecycle-ei7M7lqB.d.ts +157 -0
  61. package/dist/index-BB0kqhIz.d.ts +101 -0
  62. package/dist/index-BVVgDSdq.d.ts +1 -0
  63. package/dist/index-Dlgtd3Mj.d.ts +78 -0
  64. package/dist/index-XDkuQ7zm.d.ts +89 -0
  65. package/dist/{index-DcSAZKsB.d.ts → index-YSKgfgg9.d.ts} +3 -1
  66. package/dist/index.d.ts +92 -83
  67. package/dist/index.js +4 -3
  68. package/dist/ingress-BfetZbMO.js +83 -0
  69. package/dist/ingress-BfetZbMO.js.map +1 -0
  70. package/dist/internal-CYlgHl1l.js +59 -0
  71. package/dist/internal-CYlgHl1l.js.map +1 -0
  72. package/dist/internal_context.d.ts +1 -1
  73. package/dist/lifecycle/index.d.ts +39 -19
  74. package/dist/lifecycle/index.js +2 -2
  75. package/dist/lifecycle-Mm_jQh7r.js +1314 -0
  76. package/dist/lifecycle-Mm_jQh7r.js.map +1 -0
  77. package/dist/mcp/client/index.d.ts +20 -20
  78. package/dist/mcp/client/index.js +1 -1
  79. package/dist/mcp/index.d.ts +35 -35
  80. package/dist/mcp/index.js +2 -2
  81. package/dist/observability/index.d.ts +1 -1
  82. package/dist/observability/index.js +1 -1
  83. package/dist/queue/index.d.ts +123 -0
  84. package/dist/queue/index.js +2 -0
  85. package/dist/queue-BC9F5cUo.js +406 -0
  86. package/dist/queue-BC9F5cUo.js.map +1 -0
  87. package/dist/react.d.ts +34 -16
  88. package/dist/react.js +31 -8
  89. package/dist/react.js.map +1 -1
  90. package/dist/{retries-CAvxtG9d.d.ts → retries-D9B2UCq3.d.ts} +23 -6
  91. package/dist/retries.d.ts +10 -6
  92. package/dist/retries.js +21 -1
  93. package/dist/retries.js.map +1 -1
  94. package/dist/routing/index.d.ts +137 -0
  95. package/dist/routing/index.js +244 -0
  96. package/dist/routing/index.js.map +1 -0
  97. package/dist/sanitize-D9TujEK8.js +79 -0
  98. package/dist/sanitize-D9TujEK8.js.map +1 -0
  99. package/dist/{scheduler-DQoTGoAW.d.ts → scheduler-BGq6M5Kd.d.ts} +20 -21
  100. package/dist/scheduler-D_KHqxBa.js +658 -0
  101. package/dist/scheduler-D_KHqxBa.js.map +1 -0
  102. package/dist/schedules/index.d.ts +1 -1
  103. package/dist/schedules/index.js +1 -1
  104. package/dist/sentence-chunker-BAidJ4DA.d.ts +68 -0
  105. package/dist/serializable.d.ts +1 -1
  106. package/dist/sessions/index.d.ts +441 -0
  107. package/dist/sessions/index.js +2063 -0
  108. package/dist/sessions/index.js.map +1 -0
  109. package/dist/skills/index.d.ts +99 -0
  110. package/dist/skills/index.js +254 -5
  111. package/dist/skills/index.js.map +1 -1
  112. package/dist/{src-5W6JNKVb.js → src-BNU3ZiJM.js} +1524 -1441
  113. package/dist/src-BNU3ZiJM.js.map +1 -0
  114. package/dist/state/index.d.ts +6 -0
  115. package/dist/state/index.js +137 -0
  116. package/dist/state/index.js.map +1 -0
  117. package/dist/streams/index.d.ts +120 -0
  118. package/dist/streams/index.js +107 -0
  119. package/dist/streams/index.js.map +1 -0
  120. package/dist/streams-BcE8JP2X.d.ts +370 -0
  121. package/dist/streams-CCPRV6dt.js +709 -0
  122. package/dist/streams-CCPRV6dt.js.map +1 -0
  123. package/dist/sub-routing.d.ts +12 -12
  124. package/dist/surface-bZZJqBka.js +17 -0
  125. package/dist/surface-bZZJqBka.js.map +1 -0
  126. package/dist/tasks/index.d.ts +64 -0
  127. package/dist/tasks/index.js +2 -0
  128. package/dist/tasks-D4nLqVSI.js +1656 -0
  129. package/dist/tasks-D4nLqVSI.js.map +1 -0
  130. package/dist/tasks-V2lCT8ZV.d.ts +517 -0
  131. package/dist/text-segment-joiner-BtAFQSA_.js +57 -0
  132. package/dist/text-segment-joiner-BtAFQSA_.js.map +1 -0
  133. package/dist/text-stream-CpdiKrJB.js +272 -0
  134. package/dist/text-stream-CpdiKrJB.js.map +1 -0
  135. package/dist/tokens-nHAKcN6M.js +52 -0
  136. package/dist/tokens-nHAKcN6M.js.map +1 -0
  137. package/dist/tool-schema-CBjGPrsQ.js +31 -0
  138. package/dist/tool-schema-CBjGPrsQ.js.map +1 -0
  139. package/dist/transport-protocol-BxyngQ_R.js +25 -0
  140. package/dist/transport-protocol-BxyngQ_R.js.map +1 -0
  141. package/dist/transport-protocol-ZTew5Wso.d.ts +27 -0
  142. package/dist/types-B7LojTe4.d.ts +202 -0
  143. package/dist/types-DCD6BNZH.d.ts +70 -0
  144. package/dist/types-_Faxb570.d.ts +439 -0
  145. package/dist/voice/client.d.ts +226 -0
  146. package/dist/voice/client.js +932 -0
  147. package/dist/voice/client.js.map +1 -0
  148. package/dist/voice/errors.d.ts +43 -0
  149. package/dist/voice/errors.js +41 -0
  150. package/dist/voice/errors.js.map +1 -0
  151. package/dist/voice/index.d.ts +271 -0
  152. package/dist/voice/index.js +1812 -0
  153. package/dist/voice/index.js.map +1 -0
  154. package/dist/voice/react.d.ts +167 -0
  155. package/dist/voice/react.js +234 -0
  156. package/dist/voice/react.js.map +1 -0
  157. package/dist/voice/sfu.d.ts +71 -0
  158. package/dist/voice/sfu.js +157 -0
  159. package/dist/voice/sfu.js.map +1 -0
  160. package/dist/voice/text.d.ts +6 -0
  161. package/dist/voice/text.js +2 -0
  162. package/dist/voice/types.d.ts +58 -0
  163. package/dist/voice/types.js +18 -0
  164. package/dist/voice/types.js.map +1 -0
  165. package/dist/voice/workers-ai.d.ts +136 -0
  166. package/dist/voice/workers-ai.js +568 -0
  167. package/dist/voice/workers-ai.js.map +1 -0
  168. package/dist/websockets/index.d.ts +301 -0
  169. package/dist/websockets/index.js +3 -0
  170. package/dist/websockets-D7IzWbZb.js +1005 -0
  171. package/dist/websockets-D7IzWbZb.js.map +1 -0
  172. package/dist/workflow-types.d.ts +25 -25
  173. package/dist/workflows.d.ts +21 -21
  174. package/dist/workflows.js +1 -1
  175. package/docs/agent-class.md +4 -4
  176. package/docs/agent-tools.md +2 -1
  177. package/docs/channels.md +323 -0
  178. package/docs/chat-agents.md +6 -13
  179. package/docs/client-sdk.md +30 -0
  180. package/docs/context.md +131 -0
  181. package/docs/index.md +16 -13
  182. package/docs/lifecycle.md +179 -57
  183. package/docs/long-running-agents.md +2 -2
  184. package/docs/mcp-servers.md +5 -1
  185. package/docs/queue.md +135 -241
  186. package/docs/resumable-streaming.md +1 -1
  187. package/docs/retries.md +1 -1
  188. package/docs/routing.md +105 -0
  189. package/docs/sessions.md +237 -871
  190. package/docs/streams.md +213 -0
  191. package/docs/sub-agents.md +184 -124
  192. package/docs/tasks.md +246 -0
  193. package/docs/voice.md +745 -0
  194. package/package.json +126 -14
  195. package/dist/capability-BjSKYpzg.js.map +0 -1
  196. package/dist/capability-runner-CvHGZqUu.d.ts +0 -150
  197. package/dist/client.js.map +0 -1
  198. package/dist/compaction-helpers-iiKMr2TQ.js +0 -340
  199. package/dist/compaction-helpers-iiKMr2TQ.js.map +0 -1
  200. package/dist/compaction-helpers-wUz6M3us.d.ts +0 -621
  201. package/dist/current-agent-CuMErtly.d.ts +0 -283
  202. package/dist/diagnostics-CaBjfz4J.js.map +0 -1
  203. package/dist/durable-object-lifecycle-D6nNQJJd.js +0 -862
  204. package/dist/durable-object-lifecycle-D6nNQJJd.js.map +0 -1
  205. package/dist/experimental/memory/session/index.d.ts +0 -671
  206. package/dist/experimental/memory/session/index.js +0 -2379
  207. package/dist/experimental/memory/session/index.js.map +0 -1
  208. package/dist/experimental/memory/utils/index.d.ts +0 -96
  209. package/dist/experimental/memory/utils/index.js +0 -79
  210. package/dist/experimental/memory/utils/index.js.map +0 -1
  211. package/dist/scheduler-CR9RHGos.js +0 -857
  212. package/dist/scheduler-CR9RHGos.js.map +0 -1
  213. package/dist/src-5W6JNKVb.js.map +0 -1
  214. package/dist/tool-output-truncation-CNnnGZQ3.js +0 -98
  215. package/dist/tool-output-truncation-CNnnGZQ3.js.map +0 -1
@@ -0,0 +1,226 @@
1
+ import {
2
+ C as VoiceTransport,
3
+ D as VoiceTurnSource,
4
+ E as VoiceTurnOutcome,
5
+ S as VoiceStatus,
6
+ T as VoiceTurnMetrics,
7
+ _ as VoiceErrorStage,
8
+ b as VoiceRole,
9
+ c as VoiceAudioFormat,
10
+ d as VoiceCompletionOutcome,
11
+ f as VoiceCompletionOutcomeCode,
12
+ g as VoiceErrorCode,
13
+ h as VoiceError,
14
+ l as VoiceAudioInput,
15
+ m as VoiceDiagnosticsOptions,
16
+ o as TranscriptMessage,
17
+ p as VoiceDiagnosticEvent,
18
+ s as VOICE_PROTOCOL_VERSION,
19
+ v as VoiceModelFinishReason,
20
+ w as VoiceTransportCloseInfo,
21
+ y as VoicePipelineMetrics
22
+ } from "../types-_Faxb570.js";
23
+
24
+ //#region src/voice/client.d.ts
25
+ interface VoiceClientOptions {
26
+ /** Agent name (matches the server-side Durable Object class). */
27
+ agent: string;
28
+ /** Instance name for the agent. @default "default" */
29
+ name?: string;
30
+ /** Host to connect to. @default window.location.host */
31
+ host?: string;
32
+ /** Query parameters appended to the WebSocket URL. */
33
+ query?: Record<string, string | null | undefined>;
34
+ /**
35
+ * Custom transport for sending/receiving data.
36
+ * Defaults to a WebSocket transport via PartySocket.
37
+ * Provide a custom implementation for WebRTC, SFU, or other transports.
38
+ */
39
+ transport?: VoiceTransport;
40
+ /**
41
+ * Custom audio input source. When provided, VoiceClient does NOT
42
+ * use its built-in AudioWorklet mic capture. The audio input is
43
+ * responsible for capturing and routing audio to the server.
44
+ * It must report audio levels via `onAudioLevel` for silence and
45
+ * interrupt detection to work.
46
+ */
47
+ audioInput?: VoiceAudioInput;
48
+ /**
49
+ * Preferred audio format for server responses. Sent in `start_call`
50
+ * as a hint — the server may ignore it if it cannot produce that format.
51
+ * The actual format is declared in the server's `audio_config` message.
52
+ */
53
+ preferredFormat?: VoiceAudioFormat;
54
+ /** RMS threshold below which audio is considered silence. @default 0.04 */
55
+ silenceThreshold?: number;
56
+ /** How long silence must last before sending end_of_speech (ms). @default 500 */
57
+ silenceDurationMs?: number;
58
+ /** RMS threshold for detecting user speech during agent playback. @default 0.05 */
59
+ interruptThreshold?: number;
60
+ /** Consecutive high-RMS chunks needed to trigger an interrupt. @default 2 */
61
+ interruptChunks?: number;
62
+ /** Maximum transcript messages to keep in memory. @default 200 */
63
+ maxTranscriptMessages?: number;
64
+ /**
65
+ * Preferred audio output device for assistant playback.
66
+ * Pass a MediaDeviceInfo.deviceId from an audiooutput device.
67
+ * Unsupported browsers continue playing through the default output.
68
+ * @default "default"
69
+ */
70
+ outputDeviceId?: string;
71
+ }
72
+ /**
73
+ * Low-level browser transport information for diagnosing connection failures.
74
+ * Error causes stay as the raw `unknown` value because browsers do not
75
+ * guarantee useful fields on WebSocket error events. The SDK does not
76
+ * serialize or log this local event; consumers must narrow it before use.
77
+ */
78
+ type VoiceConnectionDiagnostic =
79
+ | {
80
+ type: "error";
81
+ cause: unknown;
82
+ }
83
+ | ({
84
+ type: "close";
85
+ } & VoiceTransportCloseInfo);
86
+ /** Maps each event name to the data type passed to its listeners. */
87
+ interface VoiceClientEventMap {
88
+ statuschange: VoiceStatus;
89
+ transcriptchange: TranscriptMessage[];
90
+ interimtranscript: string | null;
91
+ metricschange: VoicePipelineMetrics | null;
92
+ turnmetrics: VoiceTurnMetrics;
93
+ audiolevelchange: number;
94
+ connectionchange: boolean;
95
+ connectiondiagnostic: VoiceConnectionDiagnostic;
96
+ voiceerror: VoiceError;
97
+ completionoutcome: VoiceCompletionOutcome;
98
+ error: string | null;
99
+ outputdeviceerror: string | null;
100
+ mutechange: boolean;
101
+ custommessage: unknown;
102
+ }
103
+ type VoiceClientEvent = keyof VoiceClientEventMap;
104
+ /**
105
+ * Default VoiceTransport backed by PartySocket (reconnecting WebSocket).
106
+ * Created automatically when no custom transport is provided.
107
+ */
108
+ declare class WebSocketVoiceTransport implements VoiceTransport {
109
+ #private;
110
+ onopen: (() => void) | null;
111
+ onclose: ((info?: VoiceTransportCloseInfo) => void) | null;
112
+ onerror: ((error?: unknown) => void) | null;
113
+ onmessage: ((data: string | ArrayBuffer | Blob) => void) | null;
114
+ constructor(options: {
115
+ agent: string;
116
+ name?: string;
117
+ host?: string;
118
+ query?: Record<string, string | null | undefined>;
119
+ });
120
+ get connected(): boolean;
121
+ sendJSON(data: Record<string, unknown>): void;
122
+ sendBinary(data: ArrayBuffer): void;
123
+ connect(): void;
124
+ disconnect(): void;
125
+ }
126
+ declare class VoiceClient {
127
+ #private;
128
+ constructor(options: VoiceClientOptions);
129
+ get status(): VoiceStatus;
130
+ get transcript(): TranscriptMessage[];
131
+ get metrics(): VoicePipelineMetrics | null;
132
+ /** Last stable terminal summary received for any speech or text turn. */
133
+ get turnMetrics(): VoiceTurnMetrics | null;
134
+ get audioLevel(): number;
135
+ get isMuted(): boolean;
136
+ get connected(): boolean;
137
+ get error(): string | null;
138
+ get outputDeviceError(): string | null;
139
+ /**
140
+ * The current interim (partial) transcript from streaming STT.
141
+ * Updates in real time as the user speaks. Cleared when the final
142
+ * transcript is produced or the call reaches a terminal reset.
143
+ * null when no interim text is available.
144
+ */
145
+ get interimTranscript(): string | null;
146
+ /**
147
+ * The protocol version reported by the server.
148
+ * null until the server sends its welcome message.
149
+ */
150
+ get serverProtocolVersion(): number | null;
151
+ addEventListener<K extends VoiceClientEvent>(
152
+ event: K,
153
+ listener: (data: VoiceClientEventMap[K]) => void
154
+ ): void;
155
+ removeEventListener<K extends VoiceClientEvent>(
156
+ event: K,
157
+ listener: (data: VoiceClientEventMap[K]) => void
158
+ ): void;
159
+ connect(): void;
160
+ disconnect(): void;
161
+ startCall(): Promise<void>;
162
+ endCall(): void;
163
+ toggleMute(): void;
164
+ /**
165
+ * Send a text message to the agent. The agent processes it through
166
+ * `onTurn()` (bypassing STT) and responds with text transcript and
167
+ * TTS audio (if in a call) or text-only (if not).
168
+ */
169
+ sendText(text: string): void;
170
+ /**
171
+ * Send arbitrary JSON to the agent. Use this for app-level messages
172
+ * that are not part of the voice protocol (e.g. `{ type: "kick_speaker" }`).
173
+ * The server receives these in the consumer's `onMessage()` handler.
174
+ */
175
+ sendJSON(data: Record<string, unknown>): void;
176
+ /**
177
+ * Set the preferred audio output device for assistant playback.
178
+ * Unsupported browsers continue playing through the default output.
179
+ */
180
+ setOutputDevice(outputDeviceId?: string): Promise<void>;
181
+ /**
182
+ * The last custom (non-voice-protocol) message received from the server.
183
+ * Listen for the `"custommessage"` event to be notified when this changes.
184
+ */
185
+ get lastCustomMessage(): unknown;
186
+ /**
187
+ * The audio format the server declared for binary payloads.
188
+ * Set when the server sends `audio_config` at call start.
189
+ */
190
+ get audioFormat(): VoiceAudioFormat | null;
191
+ /**
192
+ * The sample rate (Hz) the server declared for raw pcm16 payloads.
193
+ * Set when the server sends `audio_config` at call start. Defaults to 16000.
194
+ */
195
+ get sampleRate(): number;
196
+ }
197
+ //#endregion
198
+ export {
199
+ type TranscriptMessage,
200
+ VOICE_PROTOCOL_VERSION,
201
+ type VoiceAudioFormat,
202
+ type VoiceAudioInput,
203
+ VoiceClient,
204
+ VoiceClientEvent,
205
+ VoiceClientEventMap,
206
+ VoiceClientOptions,
207
+ type VoiceCompletionOutcome,
208
+ type VoiceCompletionOutcomeCode,
209
+ VoiceConnectionDiagnostic,
210
+ type VoiceDiagnosticEvent,
211
+ type VoiceDiagnosticsOptions,
212
+ type VoiceError,
213
+ type VoiceErrorCode,
214
+ type VoiceErrorStage,
215
+ type VoiceModelFinishReason,
216
+ type VoicePipelineMetrics,
217
+ type VoiceRole,
218
+ type VoiceStatus,
219
+ type VoiceTransport,
220
+ type VoiceTransportCloseInfo,
221
+ type VoiceTurnMetrics,
222
+ type VoiceTurnOutcome,
223
+ type VoiceTurnSource,
224
+ WebSocketVoiceTransport
225
+ };
226
+ //# sourceMappingURL=client.d.ts.map