Fleeexdocs

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 :

OptionTypeDéfautNotes
apiKeystringObligatoire. Clé d'API de l'application : flx_… en live, ou flx_test_… pour une clé de test. Envoyée en Authorization: Bearer.
userIdstringObligatoire. Utilisateur final dont l'application se porte garante. Envoyé en x-fleeex-user.
baseURLstringhttps://api.fleeex.devRacine 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.
maxRetriesnumberdéfaut d'OpenAITransmis au client OpenAI sous-jacent (réessais réseau et 5xx).
defaultHeadersRecord<string, string>En-têtes supplémentaires fusionnés sur chaque requête, après ceux gérés par Fleeex.
fetchtypeof fetchfetch globalTransport 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.