Schémas des blocs
Référence complète des schémas YAML pour tous les blocs Scrydon
Cette section contient les définitions complètes de schémas YAML pour tous les types de blocs disponibles dans Scrydon. Chaque type de bloc possède des exigences de configuration spécifiques et des formats de sortie définis.
Blocs fondamentaux
Ce sont les éléments de base essentiels pour créer des workflows :
Point d'entrée du workflow supportant les déclencheurs manuels, webhooks et planifications
Traitement assisté par IA avec intégration LLM et support d'outils
Environnement d'exécution de code JavaScript/TypeScript personnalisé
Formater et retourner les résultats finaux du workflow
Logique et flux de contrôle
Blocs pour implémenter la logique conditionnelle et le flux de contrôle :
Branchement conditionnel basé sur des expressions booléennes
Routage intelligent assisté par IA vers plusieurs chemins
Traitement itératif avec boucles for et forEach
Blocs d'intégration
Blocs pour se connecter à des services et systèmes externes :
Requêtes HTTP vers des API REST externes
Déclencheurs webhook pour les intégrations externes
Blocs avancés
Blocs spécialisés pour les patterns de workflows complexes :
Valider les sorties selon des critères et métriques définis
Exécuter d'autres workflows en tant que composants réutilisables
Éléments de schéma communs
Tous les blocs partagent ces éléments communs :
Structure de base
block-id:
type: <block-type>
name: <display-name>
inputs:
# Configuration spécifique au bloc
connections:
# Définitions des connexionsTypes de connexions
- success : Bloc cible en cas d'exécution réussie
- error : Bloc cible pour la gestion des erreurs (optionnel)
- conditions : Plusieurs chemins pour les blocs conditionnels
Variables d'environnement
Utilisez des doubles accolades pour les variables d'environnement :
inputs:
apiKey: '{{API_KEY_NAME}}'
endpoint: '{{SERVICE_ENDPOINT}}'Références aux blocs
Référencez les sorties d'autres blocs en utilisant le nom du bloc en minuscules :
inputs:
userPrompt: <blockname.content>
data: <functionblock.output>
originalInput: <start.input>Règles de validation
Tous les blocs YAML sont validés par rapport à leurs schémas :
- Champs requis : Doivent être présents
- Validation de type : Les valeurs doivent correspondre aux types attendus
- Validation des énumérations : Les valeurs de chaîne doivent provenir des listes autorisées
- Validation des plages : Les nombres doivent être dans les plages spécifiées
- Validation des patterns : Les chaînes doivent correspondre aux patterns regex (le cas échéant)
Référence rapide
Types de blocs et propriétés
| Type de bloc | Sortie principale | Cas d'utilisation courants |
|---|---|---|
| starter | .input | Point d'entrée du workflow |
| agent | .content | Traitement IA, génération de texte |
| function | .output | Transformation de données, calculs |
| api | .output | Intégration de services externes |
| condition | N/A (branchement) | Logique conditionnelle |
| router | N/A (branchement) | Routage intelligent |
| response | N/A (terminal) | Mise en forme de la sortie finale |
| loop | .results | Traitement itératif |
| webhook | .payload | Déclencheurs externes |
| evaluator | .score | Validation des sorties, évaluation de la qualité |
| workflow | .output | Exécution de sous-workflows, modularité |
Requis vs optionnel
- Toujours requis :
type,name - Généralement requis :
inputs,connections - Selon le contexte : Les champs d'entrée spécifiques varient selon le type de bloc
- Toujours optionnel : connexions
error, champs spécifiques à l'interface