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, le chat, les connaissances, le stockage et la surface data / ai / action de la plateforme.
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 | Chat en streaming contre une surface de chat déployée |
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 |
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. |