@pai/react
Typed React bindings. Call hooks on Pai.agent("main"), not as free imports.
Package: @pai/react
pnpm add @pai/reactexport const Pai = createPaiReact<AssistantPai>();
export const Assistant = Pai.agent("main");
const chat = Assistant.useChat();
const composer = Assistant.useComposer();Most APIs live on the agent binding. A few (useComposer, Tool, useClientTool) also exist as package-root imports that follow the nearest ThreadProvider.
Exports
| Page | Signature |
|---|---|
createPaiReact | Root, Provider, agent() — package import |
Pai.agent("main").useChat() | Transcript, send, stop |
useComposer() | Draft text and attachments |
Pai.agent("main").useThreads() | Thread list |
Pai.agent("main").useThread() | Handle, useClient |
Tool | Cards, renderers, ToolRenderProps |
useClientTool | Browser tools |
useFileUrl | Attachment URLs |
useSubagent | Child-thread ref from a subagent card |
isPaiToolPart lives on Tool. clientTool / ClientTool live on useClientTool. useClientData writes into ThreadProvider client data — see Identity. useComposerActions is on useComposer.