PAIPAI

@pai/react

Typed React bindings. Call hooks on Pai.agent("main"), not as free imports.

Package: @pai/react

pnpm add @pai/react
export 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.

How-to: Chat, Tool UI.

Exports

PageSignature
createPaiReactRoot, 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
ToolCards, renderers, ToolRenderProps
useClientToolBrowser tools
useFileUrlAttachment URLs
useSubagentChild-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.

On this page