Client Reference
Constructor options, full public API, endpoint examples, and runtime/error behavior for @jazzmine-ui/sdk.
Constructor
new JazzmineClient(baseEndpoint: string, options?: JazzmineClientOptions)Framework-agnostic client
The same client works in React, Vue, Svelte, Next.js, and vanilla TypeScript apps.
Constructor options
Prop
Type
Public API
getHealth(requestOptions?: RequestOptions): Promise<HealthResponse>
getInfo(requestOptions?: RequestOptions): Promise<InfoResponse>
createConversation(payload?: ConversationCreateRequest, requestOptions?: RequestOptions): Promise<ConversationCreateResponse>
listConversations(params: ConversationListParams, requestOptions?: RequestOptions): Promise<ConversationPage>
searchConversations(params: ConversationSearchParams, requestOptions?: RequestOptions): Promise<ConversationPage>
updateConversation(conversationId: string, payload: ConversationUpdateRequest, requestOptions?: RequestOptions): Promise<ConversationUpdateResponse>
getConversationMessages(params: ConversationMessagesParams, requestOptions?: RequestOptions): Promise<ConversationMessagesPage>
deleteConversation(conversationId: string, requestOptions?: RequestOptions): Promise<ConversationDeleteResponse>
chat(payload: ChatRequestPayload, requestOptions?: RequestOptions): Promise<ChatResponse>
chatStream(payload: ChatRequestPayload, handlers?: StreamHandlers, requestOptions?: RequestOptions): Promise<ChatResponse>
sendMessage(message: string, options?): Promise<{ response: ChatResponse; conversationId: string }>
resolveServerEndpoints(requestOptions?: RequestOptions): Promise<{ chat: string; stream: string; conversations: string; health: string; info: string }>Conversation endpoint examples
List conversations
const page = await client.listConversations({ userId: "alice", limit: 20, offset: 0 });
console.log(page.total, page.hasMore);
console.log(page.conversations[0]?.title);Search conversations
const result = await client.searchConversations({
userId: "alice",
query: "planning",
limit: 10,
offset: 0,
});
console.log(result.query, result.conversations.length);Update conversation title
const updated = await client.updateConversation("conv_123", { title: "Project planning (Q2)" });
console.log(updated.conversation_id, updated.title);Get conversation messages
const messagesPage = await client.getConversationMessages({
conversationId: "conv_123",
limit: 50,
offset: 0,
});
console.log(messagesPage.total, messagesPage.hasMore);
console.log(messagesPage.messages[0]?.role, messagesPage.messages[0]?.original_content);Error handling
Errors thrown by the client are instances of JazzmineClientError.
class JazzmineClientError extends Error {
status?: number;
code?: string;
details?: unknown;
}status: HTTP status code when available.code: Optional semantic code, for example stream error event codes.details: Parsed response payload or low-level details when available.
Node.js note
- Node.js 18+ includes fetch globally and works out of the box.
- For Node.js versions below 18, provide
fetchImpl(for example from undici or cross-fetch).
import JazzmineClient from "@jazzmine-ui/sdk";
import fetch from "cross-fetch";
const client = new JazzmineClient("https://your-jazzmine-api.example.com", {
fetchImpl: fetch as unknown as typeof globalThis.fetch,
});