UNPKG

aios-core

Version:

Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework

151 lines (142 loc) 4.04 kB
# yamllint disable # Workflow Template for Synkra AIOS # This template is used by aios-developer to create new workflows # Variables are replaced during generation: {{VARIABLE_NAME}} # # NOTE: This file contains Handlebars template directives ({{...}}) that are # NOT valid YAML. It is pre-processed by the workflow creation engine before use. # Do NOT validate this file directly with yamllint. workflow: id: "{{WORKFLOW_ID}}" name: "{{WORKFLOW_NAME}}" description: "{{WORKFLOW_DESCRIPTION}}" version: "{{WORKFLOW_VERSION}}" type: "{{WORKFLOW_TYPE}}" # sequential, parallel, conditional {{#IF_CONTEXT}} context: target: "{{TARGET_CONTEXT}}" # core | squad | hybrid {{#IF_SQUAD}} squad: "{{SQUAD_NAME}}" {{/IF_SQUAD}} {{#IF_HYBRID}} resolution_order: "squad-first, core-fallback" note: "Agents are resolved from squad first; if not found, falls back to core agents" {{/IF_HYBRID}} {{/IF_CONTEXT}} metadata: author: "{{AUTHOR}}" created_date: "{{CREATED_DATE}}" last_modified: "{{LAST_MODIFIED}}" tags: {{#EACH_TAGS}} - {{TAG}} {{/EACH_TAGS}} {{#IF_TRIGGERS}} triggers: {{#EACH_TRIGGERS}} - type: "{{TRIGGER_TYPE}}" condition: "{{TRIGGER_CONDITION}}" {{#IF_TRIGGER_PARAMS}} parameters: {{#EACH_TRIGGER_PARAMS}} {{PARAM_KEY}}: "{{PARAM_VALUE}}" {{/EACH_TRIGGER_PARAMS}} {{/IF_TRIGGER_PARAMS}} {{/EACH_TRIGGERS}} {{/IF_TRIGGERS}} {{#IF_INPUTS}} inputs: {{#EACH_INPUTS}} {{INPUT_NAME}}: type: "{{INPUT_TYPE}}" description: "{{INPUT_DESCRIPTION}}" required: {{INPUT_REQUIRED}} {{#IF_INPUT_DEFAULT}} default: "{{INPUT_DEFAULT}}" {{/IF_INPUT_DEFAULT}} {{#IF_INPUT_VALIDATION}} validation: "{{INPUT_VALIDATION}}" {{/IF_INPUT_VALIDATION}} {{/EACH_INPUTS}} {{/IF_INPUTS}} steps: {{#EACH_STEPS}} - id: "{{STEP_ID}}" name: "{{STEP_NAME}}" type: "{{STEP_TYPE}}" # agent, task, subprocess, condition {{#IF_STEP_AGENT}} agent: "{{STEP_AGENT}}" {{/IF_STEP_AGENT}} {{#IF_STEP_TASK}} task: "{{STEP_TASK}}" {{/IF_STEP_TASK}} {{#IF_STEP_COMMAND}} command: "{{STEP_COMMAND}}" {{/IF_STEP_COMMAND}} {{#IF_STEP_INPUTS}} inputs: {{#EACH_STEP_INPUTS}} {{INPUT_KEY}}: "{{INPUT_VALUE}}" {{/EACH_STEP_INPUTS}} {{/IF_STEP_INPUTS}} {{#IF_STEP_CONDITIONS}} conditions: {{#EACH_CONDITIONS}} - type: "{{CONDITION_TYPE}}" expression: "{{CONDITION_EXPRESSION}}" {{#IF_CONDITION_ACTIONS}} on_true: "{{ON_TRUE_ACTION}}" on_false: "{{ON_FALSE_ACTION}}" {{/IF_CONDITION_ACTIONS}} {{/EACH_CONDITIONS}} {{/IF_STEP_CONDITIONS}} {{#IF_STEP_ERROR_HANDLING}} error_handling: strategy: "{{ERROR_STRATEGY}}" # fail, retry, skip, fallback {{#IF_RETRY_CONFIG}} retry_attempts: {{RETRY_ATTEMPTS}} retry_delay: {{RETRY_DELAY}} {{/IF_RETRY_CONFIG}} {{#IF_FALLBACK_STEP}} fallback_step: "{{FALLBACK_STEP}}" {{/IF_FALLBACK_STEP}} {{/IF_STEP_ERROR_HANDLING}} {{#IF_STEP_OUTPUTS}} outputs: {{#EACH_STEP_OUTPUTS}} {{OUTPUT_KEY}}: "{{OUTPUT_VALUE}}" {{/EACH_STEP_OUTPUTS}} {{/IF_STEP_OUTPUTS}} {{/EACH_STEPS}} {{#IF_OUTPUTS}} outputs: {{#EACH_OUTPUTS}} {{OUTPUT_NAME}}: type: "{{OUTPUT_TYPE}}" description: "{{OUTPUT_DESCRIPTION}}" source: "{{OUTPUT_SOURCE}}" # step_id.output_key {{/EACH_OUTPUTS}} {{/IF_OUTPUTS}} {{#IF_ERROR_HANDLING}} global_error_handling: on_error: "{{GLOBAL_ERROR_ACTION}}" # abort, continue, rollback notification: enabled: {{NOTIFICATION_ENABLED}} {{#IF_NOTIFICATION_CHANNELS}} channels: {{#EACH_CHANNELS}} - {{CHANNEL}} {{/EACH_CHANNELS}} {{/IF_NOTIFICATION_CHANNELS}} {{/IF_ERROR_HANDLING}} {{#IF_SECURITY}} security: authorization_required: {{AUTH_REQUIRED}} {{#IF_ALLOWED_ROLES}} allowed_roles: {{#EACH_ROLES}} - {{ROLE}} {{/EACH_ROLES}} {{/IF_ALLOWED_ROLES}} audit_logging: {{AUDIT_LOGGING}} {{/IF_SECURITY}}