The SDK surface is changing quickly. This page describes the shape; the package READMEs in the
repository are the authority for exact method signatures and the current version.
Choose an entry point
For a product adding chat, start with Integrate your product. Keep the organization API key on your backend.
Chat API
Use the repository workspace packages and a compatible server deployment for these examples. Follow the source quickstart and deployment setup before using the backend chat handler. It has no dedicated React frontend.tenant and user on your server. The session is created on first send, and the same product, tenant, user, and conversation IDs reopen it. agentAccess defaults to "session"; memory defaults to the same scope and accepts false to disable Memory tools. Both settings apply at creation, not when reopening an existing session.
A reply can be
completed, pending, or cancelled. Present pending requests to the user before calling respond; a text reply alone does not imply that the turn completed. The handler supports native, Vercel UI message stream, OpenAI Chat Completions, and OpenAI Responses text-chat formats. Its history and decision endpoints remain native. See the handler setup and protocol choices for route registration and history ownership.
Full TypeScript client
A framework-agnostic TypeScript client with zero runtime dependencies. It needs only WHATWGfetch and streams, so it runs in Node 18+, Bun, Deno, browsers, and edge runtimes.
Full reference: packages/sdk/README.md.
Organization session listings exclude Personal workspaces and Only me sessions. Each row includes its
workspaceId for subsequent session, event, and file reads. Use nextCursor to determine whether another page exists, even when a page is shorter than the requested limit. Read-only organization keys support this reporting path but cannot create chats or send messages.
@opengeni/react
Hooks and styled components built on the SDK: live session streaming, a composer, a timeline that renders streaming deltas, tool calls, approvals, and child-session status, session status badges, and workspace fleet tiles. Every visual decision routes through--og-* CSS variables, so a host rebrands by overriding tokens. Dark mode is the default; light is opt-in.
Subpaths keep the root import lean:
Full reference: packages/react/README.md.
Use
SessionConversation with the normal SDK for an existing session, or compose the timeline and composer. These components do not consume the backend chat-handler protocol. Import @opengeni/react/compiled.css for the supplied styles. See the React integration guide.