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 :
Bloc Starter
Point d'entrée du workflow supportant les déclencheurs manuels, webhooks et planifications
Bloc Agent
Traitement assisté par IA avec intégration LLM et support d'outils
Bloc Function
Environnement d'exécution de code JavaScript/TypeScript personnalisé
Bloc Response
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 :
Bloc Condition
Branchement conditionnel basé sur des expressions booléennes
Bloc Router
Routage intelligent assisté par IA vers plusieurs chemins
Bloc Loop
Traitement itératif avec boucles for et forEach
Bloc Parallel
Exécution simultanée sur plusieurs instances
Blocs d'intégration
Blocs pour se connecter à des services et systèmes externes :
Bloc API
Requêtes HTTP vers des API REST externes
Bloc Webhook
Déclencheurs webhook pour les intégrations externes
Blocs avancés
Blocs spécialisés pour les patterns de workflows complexes :
Bloc Evaluator
Valider les sorties selon des critères et métriques définis
Bloc Workflow
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 |
| parallel | .results | Traitement concurrent |
| 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