Scrydon

Intégrations personnalisées

Créez, empaquetez et importez des intégrations vendeur personnalisées à l'aide du SDK Intégrations Scrydon

Le SDK Intégrations Scrydon vous permet de créer des intégrations vendeur personnalisées sous forme de bundles autonomes. Chaque bundle est une archive .tar.gz contenant du code compilé et un manifeste — importez-la via le portail Paramètres et elle devient immédiatement disponible dans l'éditeur de workflow.

Aucun accès au monorepo ni redéploiement de la plateforme requis. Installez le SDK depuis NPM, écrivez votre intégration en TypeScript, compilez et importez.

Les intégrations apportent des capacités vendeur à la plateforme. Vous souhaitez distribuer du contenu domaine (une ontologie + des workflows + un flux de processus) ? C'est un Pack — voir Packs & SDK d'authoring.

Fonctionnement

Chaque intégration suit le même cycle de vie :

Utilisez les helpers SDK defineVendor(), defineProduct(), defineTool() et defineBlock() pour déclarer votre intégration en TypeScript. Les schémas Zod valident les entrées et sorties à la fois au moment de la compilation et à l'exécution.

Exécutez sdk-authoring integrations build pour compiler votre TypeScript en un bundle ESM unique, extraire un manifeste avec des représentations JSON Schema de vos schémas Zod, et tout empaqueter dans un .bundle.tar.gz.

Importez l'intégration personnalisée via Paramètres > Plateforme > Intégrations > Personnalisées (ou via l'API). La plateforme valide le manifeste, stocke l'artefact et l'enregistre dans le catalogue.

Lorsqu'un workflow utilise votre outil, la plateforme démarre un Worker Thread sandboxé pour votre bundle. Votre fonction execute() s'exécute en isolation avec des credentials injectés, un logger et un contexte d'exécution.

Architecture

┌─────────────────────────────────────────────────────────┐
│  Your Code (TypeScript)                                 │
│                                                         │
│  defineVendor({ auth, products: [                       │
│    defineProduct({ block, capabilities: {               │
│      tools: [ defineTool({ input, output, execute }) ]  │
│    }})                                                  │
│  ]})                                                    │
└─────────────────┬───────────────────────────────────────┘
                  │ sdk-authoring integrations build

┌─────────────────────────────────────────────────────────┐
│  Bundle (.tar.gz)                                       │
│  ├── manifest.json   (metadata, JSON Schemas, UI def)   │
│  ├── dist/index.js   (compiled ESM, all deps inlined)   │
│  └── assets/         (icons, optional)                  │
└─────────────────┬───────────────────────────────────────┘
                  │ Upload via Settings UI or API

┌─────────────────────────────────────────────────────────┐
│  Platform Runtime                                       │
│                                                         │
│  Manifest Catalog ── metadata (what blocks/tools exist) │
│  SandboxActor ────── execution (Worker Thread per org)  │
│  Policy Engine ───── governance (capability allowlists) │
└─────────────────────────────────────────────────────────┘

Concepts clés

ConceptRôle
VendorConteneur de niveau supérieur — métadonnées, configuration d'auth et un ou plusieurs produits
ProductUnité de regroupement activée/désactivée par organisation
ToolLogique d'exécution — entrée/sortie validée par Zod avec une fonction execute()
BlockInterface de l'éditeur de workflow — champs de formulaire (subBlocks), flux de données (inputs/outputs)
CapabilityInterfaces d'exécution optionnelles — LLM, STT, TTS, Embedding, Vidéo, OCR, Webhooks, Discovery
ManifestMétadonnées JSON générées automatiquement — la plateforme les lit sans charger votre code
SandboxActorWorker Thread isolé par org et par vendeur — aucune fuite d'état inter-tenant

Modèle de sécurité

Tous les bundles — y compris les intégrations natives — passent par le même chemin d'exécution sandboxé :

  • Isolation Worker Thread — aucun accès au processus hôte, au système de fichiers ou aux autres tenants
  • Globales restreintesprocess, Bun, Deno ne sont pas disponibles dans le sandbox
  • Injection de credentials — votre code reçoit les tokens via ctx.auth, sans jamais manipuler les secrets bruts
  • Application des politiques — les politiques organisationnelles contrôlent quelles capacités et quels vendeurs sont autorisés
  • Validation du manifeste — la validation des schémas Zod au moment de l'import rejette les bundles malformés
Sur cette page

Sur cette page