Client Reference

Constructor options, full public API, endpoint examples, and runtime/error behavior for @jazzmine-ui/sdk.

Constructor

constructor.ts
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

public-api.ts
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

list-conversations.ts
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

search-conversations.ts
const result = await client.searchConversations({
  userId: "alice",
  query: "planning",
  limit: 10,
  offset: 0,
});

console.log(result.query, result.conversations.length);

Update conversation title

update-conversation.ts
const updated = await client.updateConversation("conv_123", { title: "Project planning (Q2)" });

console.log(updated.conversation_id, updated.title);

Get conversation messages

get-conversation-messages.ts
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.

errors.ts
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).
node-polyfill.ts
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,
});

On this page