Skip to main content
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.
In an authenticated product, resolve 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 WHATWG fetch and streams, so it runs in Node 18+, Bun, Deno, browsers, and edge runtimes.
What it covers: 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.

Compatibility

Published clients and server builds are compatible within the same major version. Within a major, evolution is additive and both sides are tolerant readers: servers ignore unknown request parameters, clients ignore unknown response fields and event types, and removing or retyping a field requires a major release. Servers expose their version through the health and client-config responses. See the compatibility policy.