FleeexClient
Options du constructeur et méthodes du FleeexClient.
Le point d'entrée principal. Construisez-en un par couple (app, utilisateur) :
import { FleeexClient } from "@fleeex/sdk";
const client = new FleeexClient({
apiKey: process.env.FLEEEX_API_KEY!,
userId: "user-123",
});Le constructeur lève une erreur si apiKey ou userId manque, ou si aucun fetch n'est
disponible (Node < 18 sans l'option fetch).
Options
new FleeexClient(options) prend un FleeexClientOptions :
| Option | Type | Défaut | Notes |
|---|---|---|---|
apiKey | string | Obligatoire. Clé d'API de l'application : flx_… en live, ou flx_test_… pour une clé de test. Envoyée en Authorization: Bearer. | |
userId | string | Obligatoire. Utilisateur final dont l'application se porte garante. Envoyé en x-fleeex-user. | |
baseURL | string | https://api.fleeex.dev | Racine de l'API Fleeex, sans /v1 final. Pointez sur http://localhost:3000 pour le développement local. |
onPaymentRequired | (err) => void | Promise<void> | Hook déclenché sur tout 402 traduit, avant que l'erreur ne soit levée. | |
maxRetries | number | défaut d'OpenAI | Transmis au client OpenAI sous-jacent (réessais réseau et 5xx). |
defaultHeaders | Record<string, string> | En-têtes supplémentaires fusionnés sur chaque requête, après ceux gérés par Fleeex. | |
fetch | typeof fetch | fetch global | Transport personnalisé (proxys, tests). |
Méthodes
chat.completions.create
La méthode OpenAI elle-même, avec les types de requête et de réponse d'OpenAI (y compris
la surcharge stream: true). Le SDK se contente de préconfigurer la connexion et de
traduire un 402 en
PaymentRequiredError. Il ne valide rien et
ne réécrit aucun champ.
La surface de paramètres du serveur est plus étroite que ces types : c'est un
sous-ensemble documenté de celle d'OpenAI, où un paramètre non pris en charge donne un
400 qui le nomme. Voir Paramètres pris en charge.
const completion = await client.chat.completions.create({
model: "nova-lite",
messages: [{ role: "user", content: "Bonjour !" }],
});Voir Streaming pour la forme stream: true.
getBalance
getBalance(): Promise<BalanceResponse>Solde prépayé restant pour le couple (app, utilisateur) configuré. Lève
PaymentRequiredError sur un 402 (après
le déclenchement de onPaymentRequired). Renvoie un
BalanceResponse. Voir
Solde et paiements.
getConnection
getConnection(options?: GetConnectionOptions): Promise<ConnectionStatus>Indique si le couple (app, utilisateur) est connecté et approvisionné, avec un lien
d'onboarding, sans aucun appel de chat. Ne lève jamais de 402. Passez redirectUri
(enregistré sur l'application) pour y être renvoyé une fois connecté. Renvoie un
ConnectionStatus. Voir
Connecter vos utilisateurs.
getUsageSummary
getUsageSummary(): Promise<UsageSummary>Usage du mois en cours (dépense, tokens, requêtes) pour le couple (app, utilisateur)
configuré. Ne lève jamais de 402, et l'absence d'usage se lit en zéros. Renvoie un
UsageSummary. Voir
Résumé d'usage.