TypeScript API Reference

Imports

1import { JoyTokenClient, JoyTokenAPIError } from "@joytoken/client-sdk-ts";

JoyTokenClient

1const joytoken = new JoyTokenClient({
2 apiKey: process.env.JOY_TOKEN_API_KEY,
3 apiBaseUrl: process.env.JOY_TOKEN_API_BASE_URL,
4 openAIBaseUrl: process.env.JOY_TOKEN_OPENAI_BASE_URL,
5 timeoutMs: 60_000,
6});
OptionUse
apiKeyRequest auth, defaults to JOY_TOKEN_API_KEY
apiBaseUrlBase URL for JoyToken APIs such as model list
openAIBaseUrlBase URL for OpenAI-compatible APIs
timeoutMsRequest timeout
fetchCustom fetch implementation

chat.completions.create

1await joytoken.chat.completions.create({
2 model: "auto",
3 messages: [{ role: "user", content: "Hello" }],
4});

Calls POST /openai/v1/chat/completions and returns a non-streaming Chat Completions response.

chat.completions.stream

1for await (const chunk of joytoken.chat.completions.stream({
2 model: "auto",
3 messages: [{ role: "user", content: "Hello" }],
4})) {
5 process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
6}

Calls the same endpoint and reads SSE chunks.

models.list

1const models = await joytoken.models.list();

Calls GET /api/v1/models.

JoyTokenAPIError

1try {
2 await joytoken.models.list();
3} catch (error) {
4 if (error instanceof JoyTokenAPIError) {
5 console.error(error.status, error.requestId, error.body);
6 }
7}
FieldUse
statusHTTP status code
requestIdRequest ID
bodyError response body