@ai-sdk/react 4.0.0-beta.18 → 4.0.0-beta.181
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/CHANGELOG.md +1306 -0
- package/dist/index.d.ts +123 -3
- package/dist/index.js +806 -90
- package/dist/index.js.map +1 -1
- package/package.json +25 -24
- package/src/chat.react.ts +10 -4
- package/src/index.ts +2 -0
- package/src/mcp-apps/app-frame.tsx +164 -0
- package/src/mcp-apps/app-renderer.tsx +98 -0
- package/src/mcp-apps/bridge.ts +408 -0
- package/src/mcp-apps/index.ts +8 -0
- package/src/mcp-apps/sandbox.ts +74 -0
- package/src/mcp-apps/types.ts +105 -0
- package/src/mcp-apps/utils.ts +84 -0
- package/src/use-chat.ts +1 -6
- package/src/use-completion.ts +2 -2
- package/src/use-object.ts +11 -6
- package/src/use-realtime.ts +252 -0
- package/dist/index.d.mts +0 -178
- package/dist/index.mjs +0 -506
- package/dist/index.mjs.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { UIMessage, AbstractChat, ChatInit, CompletionRequestOptions, UseCompletionOptions, DeepPartial } from 'ai';
|
|
2
|
-
export { CreateUIMessage, UIMessage, UseCompletionOptions } from 'ai';
|
|
1
|
+
import { UIMessage, AbstractChat, ChatInit, CompletionRequestOptions, UseCompletionOptions, DeepPartial, Experimental_RealtimeSessionOptions, Experimental_RealtimeStatus, Experimental_RealtimeServerEvent, Experimental_AbstractRealtimeSession, Experimental_RealtimeState, ToolUIPart, UITools, DynamicToolUIPart } from 'ai';
|
|
2
|
+
export { CreateUIMessage, Experimental_RealtimeStatus, UIMessage, UseCompletionOptions } from 'ai';
|
|
3
3
|
import { FlexibleSchema, FetchFunction, Resolvable, InferSchema } from '@ai-sdk/provider-utils';
|
|
4
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
+
import * as react from 'react';
|
|
6
|
+
import { CSSProperties, ReactNode } from 'react';
|
|
7
|
+
import { MCPAppResource } from '@ai-sdk/mcp';
|
|
8
|
+
export { MCPAppResource } from '@ai-sdk/mcp';
|
|
4
9
|
|
|
5
10
|
declare class Chat<UI_MESSAGE extends UIMessage> extends AbstractChat<UI_MESSAGE> {
|
|
6
11
|
#private;
|
|
@@ -175,4 +180,119 @@ declare function useObject<SCHEMA extends FlexibleSchema, RESULT = InferSchema<S
|
|
|
175
180
|
initialValue, fetch, onError, onFinish, headers, credentials, }: Experimental_UseObjectOptions<SCHEMA, RESULT>): Experimental_UseObjectHelpers<RESULT, INPUT>;
|
|
176
181
|
declare const experimental_useObject: typeof useObject;
|
|
177
182
|
|
|
178
|
-
|
|
183
|
+
type UseRealtimeOptions = Experimental_RealtimeSessionOptions;
|
|
184
|
+
type RealtimeStateKey = keyof Experimental_RealtimeState;
|
|
185
|
+
declare class RealtimeStore extends Experimental_AbstractRealtimeSession {
|
|
186
|
+
protected state: Experimental_RealtimeState;
|
|
187
|
+
private callbacks;
|
|
188
|
+
get status(): Experimental_RealtimeStatus;
|
|
189
|
+
get messages(): UIMessage[];
|
|
190
|
+
get events(): Experimental_RealtimeServerEvent[];
|
|
191
|
+
get isCapturing(): boolean;
|
|
192
|
+
get isPlaying(): boolean;
|
|
193
|
+
subscribe(key: RealtimeStateKey, onChange: () => void): () => void;
|
|
194
|
+
protected setState<K extends RealtimeStateKey>(key: K, value: Experimental_RealtimeState[K]): void;
|
|
195
|
+
protected pushMessage(message: UIMessage): void;
|
|
196
|
+
protected updateMessages(updater: (messages: UIMessage[]) => UIMessage[]): void;
|
|
197
|
+
protected pushEvent(event: Experimental_RealtimeServerEvent): void;
|
|
198
|
+
}
|
|
199
|
+
type UseRealtimeReturn = {
|
|
200
|
+
status: Experimental_RealtimeStatus;
|
|
201
|
+
messages: UIMessage[];
|
|
202
|
+
events: Experimental_RealtimeServerEvent[];
|
|
203
|
+
isCapturing: boolean;
|
|
204
|
+
isPlaying: boolean;
|
|
205
|
+
connect: () => Promise<void>;
|
|
206
|
+
disconnect: () => void;
|
|
207
|
+
addToolOutput: (callId: string, result: unknown) => void;
|
|
208
|
+
sendEvent: RealtimeStore['sendEvent'];
|
|
209
|
+
sendTextMessage: (text: string) => void;
|
|
210
|
+
sendAudio: (base64Audio: string) => void;
|
|
211
|
+
commitAudio: () => void;
|
|
212
|
+
clearAudioBuffer: () => void;
|
|
213
|
+
requestResponse: (options?: {
|
|
214
|
+
modalities?: string[];
|
|
215
|
+
}) => void;
|
|
216
|
+
cancelResponse: () => void;
|
|
217
|
+
startAudioCapture: (stream: MediaStream) => void;
|
|
218
|
+
stopAudioCapture: () => void;
|
|
219
|
+
stopPlayback: () => void;
|
|
220
|
+
};
|
|
221
|
+
declare function useRealtime(options: UseRealtimeOptions): UseRealtimeReturn;
|
|
222
|
+
declare const experimental_useRealtime: typeof useRealtime;
|
|
223
|
+
|
|
224
|
+
type MCPAppDisplayMode = 'inline' | 'fullscreen' | 'pip';
|
|
225
|
+
type MCPAppMetadata = {
|
|
226
|
+
resourceUri: string;
|
|
227
|
+
mimeType: MCPAppResource['mimeType'];
|
|
228
|
+
visibility?: Array<'model' | 'app'>;
|
|
229
|
+
};
|
|
230
|
+
type MCPAppHostContext = {
|
|
231
|
+
theme?: 'light' | 'dark';
|
|
232
|
+
displayMode?: MCPAppDisplayMode;
|
|
233
|
+
availableDisplayModes?: MCPAppDisplayMode[];
|
|
234
|
+
[key: string]: unknown;
|
|
235
|
+
};
|
|
236
|
+
type MCPAppToolCallParams = {
|
|
237
|
+
name: string;
|
|
238
|
+
arguments?: Record<string, unknown>;
|
|
239
|
+
};
|
|
240
|
+
type MCPAppBridgeHandlers = {
|
|
241
|
+
/**
|
|
242
|
+
* Tools the MCP App is allowed to invoke via `tools/call`. Deny-by-default:
|
|
243
|
+
* if omitted, the (untrusted) app cannot call any tool. List only the tools
|
|
244
|
+
* the app is meant to see.
|
|
245
|
+
*/
|
|
246
|
+
allowedTools?: string[];
|
|
247
|
+
callTool?: (params: MCPAppToolCallParams) => Promise<unknown> | unknown;
|
|
248
|
+
readResource?: (params: {
|
|
249
|
+
uri: string;
|
|
250
|
+
}) => Promise<unknown> | unknown;
|
|
251
|
+
listResources?: (params?: unknown) => Promise<unknown> | unknown;
|
|
252
|
+
openLink?: (params: {
|
|
253
|
+
url: string;
|
|
254
|
+
}) => Promise<unknown> | unknown;
|
|
255
|
+
sendMessage?: (params: unknown) => Promise<unknown> | unknown;
|
|
256
|
+
updateModelContext?: (params: unknown) => Promise<unknown> | unknown;
|
|
257
|
+
requestDisplayMode?: (params: {
|
|
258
|
+
mode: MCPAppDisplayMode;
|
|
259
|
+
}) => Promise<{
|
|
260
|
+
mode: MCPAppDisplayMode;
|
|
261
|
+
}> | {
|
|
262
|
+
mode: MCPAppDisplayMode;
|
|
263
|
+
};
|
|
264
|
+
onSizeChange?: (params: {
|
|
265
|
+
width?: number;
|
|
266
|
+
height?: number;
|
|
267
|
+
}) => void;
|
|
268
|
+
onInitialized?: () => void;
|
|
269
|
+
onRequestTeardown?: (params: unknown) => void;
|
|
270
|
+
onLog?: (params: unknown) => void;
|
|
271
|
+
onError?: (error: Error) => void;
|
|
272
|
+
};
|
|
273
|
+
type MCPAppSandboxConfig = {
|
|
274
|
+
url: string | URL;
|
|
275
|
+
title?: string;
|
|
276
|
+
className?: string;
|
|
277
|
+
style?: CSSProperties;
|
|
278
|
+
targetOrigin?: string;
|
|
279
|
+
outerSandbox?: string;
|
|
280
|
+
innerSandbox?: string;
|
|
281
|
+
};
|
|
282
|
+
type MCPAppRendererProps = {
|
|
283
|
+
part: ToolUIPart<UITools> | DynamicToolUIPart;
|
|
284
|
+
sandbox: MCPAppSandboxConfig;
|
|
285
|
+
resource?: MCPAppResource;
|
|
286
|
+
loadResource?: (app: MCPAppMetadata) => Promise<MCPAppResource>;
|
|
287
|
+
handlers?: MCPAppBridgeHandlers;
|
|
288
|
+
hostInfo?: {
|
|
289
|
+
name: string;
|
|
290
|
+
version: string;
|
|
291
|
+
};
|
|
292
|
+
hostContext?: MCPAppHostContext;
|
|
293
|
+
fallback?: ReactNode;
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
declare function MCPAppRenderer({ part, sandbox, resource: resourceProp, loadResource, handlers, hostInfo, hostContext, fallback, }: MCPAppRendererProps): string | number | boolean | Iterable<react.ReactNode> | react_jsx_runtime.JSX.Element | null;
|
|
297
|
+
|
|
298
|
+
export { Chat, Experimental_UseObjectHelpers, Experimental_UseObjectOptions, UseRealtimeOptions as Experimental_UseRealtimeOptions, UseRealtimeReturn as Experimental_UseRealtimeReturn, MCPAppBridgeHandlers, MCPAppMetadata, MCPAppRendererProps, MCPAppSandboxConfig, UseChatHelpers, UseChatOptions, UseCompletionHelpers, MCPAppRenderer as experimental_MCPAppRenderer, experimental_useObject, experimental_useRealtime, useChat, useCompletion };
|