SDK Client
Appelez des workflows Scrydon déployés et la surface données / IA / action de la plateforme depuis vos propres applications
Le SDK Client (@scrydon/sdk) est destiné aux applications first-party agissant pour le compte d'un utilisateur final. Il s'authentifie avec OAuth 2.0 + PKCE et expose des modules typés pour les workflows, les complétions LLM gouvernées, les connaissances, le stockage et la surface data / ai / action de la plateforme.
@scrydon/sdk 1.0 supprime l'ancien client public de chat de workflow et remplace les chaînes d'identifiants de préproduction par des liaisons d'intégration structurées. Consultez le guide de migration 1.0 avant la mise à niveau.
Pour une exécution serveur à serveur — backends, tâches cron, CI, services internes — appelez directement l'API de workflow avec une x-api-key statique. Il n'existe pas de SDK serveur séparé ; voir Exécution → Exécution programmatique.
Ce qu'expose le SDK
| Surface | Ce qu'elle fait |
|---|---|
client.auth | OAuth 2.0 + PKCE : signIn() → handleCallback() → getSession() / signOut() / onAuthStateChange() |
client.workflows | trigger({ workflowId, inputs }), triggerAsync(...), getStatus(executionId) |
client.chat.completions | Complétions LLM gouvernées compatibles OpenAI ; l'appelant gère l'état de la conversation |
client.knowledge | query() / ingest() contre la KB de l'espace de travail |
client.storage | upload() / getUrl() pour le stockage de l'espace de travail |
client.webhooks | Pub/sub en processus pour les payloads de webhooks |
client.data | SDK data de la plateforme — connaissances, memex, stockage, mémoire |
client.ai | SDK ai de la plateforme — appels LLM résolus par capacité |
client.action | SDK action de la plateforme — exécution de workflow, envoi d'e-mail, SMS, exécution de fonction |
client.workflows.trigger() et getStatus() analysent une seule union discriminée
WorkflowResult :
type WorkflowResult =
| { executionId: string; status: "running" }
| { executionId: string; status: "completed"; outputs: unknown }
| {
executionId: string;
status: "failed";
error: { code: string; message: string; retryable: boolean; blockId?: string };
};Un échec terminal d'un workflow accepté est un résultat HTTP 200 normal. L'expiration du polling
synchrone renvoie HTTP 202 avec status: "running" ; appelez ensuite
getStatus(executionId).
Modèle d'authentification
Le SDK Client utilise OAuth 2.0 avec PKCE — pas de secret client dans le navigateur, pas de clé API statique. Le flux :
Génère le défi PKCE, stocke le vérificateur dans sessionStorage, retourne l'URL https://scrydon.com/oauth/authorize?…. Vous naviguez l'utilisateur vers cette URL.
Il arrive sur votre redirectUri avec ?code= et ?state= dans la chaîne de requête.
Le SDK lit window.location.href (ou ce que vous passez), échange le code contre des jetons, analyse le jeton ID et retourne une ScrydonSession.
Chaque appel de module ajoute automatiquement Authorization: Bearer <accessToken> jusqu'à l'expiration du jeton.
const client = new ScrydonClient({
baseUrl: 'https://scrydon.com',
clientId: 'your-oauth-client-id',
redirectUri: 'https://your-app.com/auth/callback',
})
// Connexion
window.location.assign(await client.auth.signIn())
// Sur la page de callback
const session = await client.auth.handleCallback()
// → { user: { id, email, name? }, accessToken, expiresAt }Quand NE PAS utiliser ce SDK
| Vous êtes… | Utilisez plutôt |
|---|---|
| Un service backend fonctionnant sur un planificateur | Curl direct avec x-api-key vers /api/workflows/{id}/execute |
| Une étape CI ou une tâche cron | Idem — x-api-key |
| En train de construire une intégration que d'autres apps installent | Le SDK Authoring — defineVendor etc. |
Pour aller plus loin
Référence TypeScript
Référence API complète : chaque module, chaque méthode, erreurs, hooks React.
Migration du SDK 1.0
Remplacez l'ancien client public de chat de workflow par les complétions, l'exécution de workflow ou A2A.
Exécution programmatique
Exécution serveur à serveur avec x-api-key.
SDK Authoring
Créez vos propres intégrations, ontologies et processus.