feat: add LLM step executor with vision and tool support, event workflow system, and inheritance

- Add LLM executor supporting OpenAI vision, tool calling, embeddings, and structured outputs
- Introduce event emitter/receiver workflows with deduplication and filtering (generate_event functions)
- Add workflow extends/override system enabling inheritance chains and step merge modes
- Update function naming to snake_case across all testdata (fileExists→file_exists, etc.)
- Add comprehensive test fixtures for linter, events, CDN, step dependencies, and extends workflows
This commit is contained in:
j3ssie
2026-01-20 18:23:57 +08:00
parent 9ed02e7eee
commit 1403d20a4d
219 changed files with 25734 additions and 1696 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ steps:
- name: verify-exports-and-params
type: bash
pre_condition: 'fileExists("{{anotherParam3as1}}")'
pre_condition: 'file_exists("{{anotherParam3as1}}")'
command: |
echo "Module 2: paramFromFlowFile={{paramFromFlowFile}}"
echo "Module 2: module1_completed={{module1_completed}}"
@@ -21,7 +21,7 @@ steps:
# Foreach with templated input path
- name: foreach-with-templates
type: foreach
pre_condition: 'fileExists("{{inputFile}}")'
pre_condition: 'file_exists("{{inputFile}}")'
input: "{{inputFile}}"
variable: item
threads: 2
@@ -34,7 +34,7 @@ steps:
# Verify results
- name: verify-foreach
type: bash
pre_condition: 'fileExists("{{outputDir}}/item1.txt")'
pre_condition: 'file_exists("{{outputDir}}/item1.txt")'
command: |
echo "=== Foreach Verification ==="
echo "Foreach completed for {{Target}}"
@@ -36,7 +36,7 @@ steps:
- name: verify-parallel
type: bash
pre_condition: 'fileExists("{{parallelOutput}}/bash1.txt")'
pre_condition: 'file_exists("{{parallelOutput}}/bash1.txt")'
command: |
echo "=== Parallel Steps Verification ==="
echo "parallel_dir={{parallel_dir}}"
@@ -26,7 +26,7 @@ steps:
# 2. Function step with templated function calls
- name: function-with-templates
type: function
pre_condition: 'fileExists("{{bash_output_path}}")'
pre_condition: 'file_exists("{{bash_output_path}}")'
function: 'log_info("Processing {{Target}} with path {{customPath}}")'
exports:
function_result: "processed-{{Target}}"
@@ -50,7 +50,7 @@ steps:
# 5. Final verification step
- name: verify-all-templates
type: bash
pre_condition: 'fileExists("{{customPath}}")'
pre_condition: 'file_exists("{{customPath}}")'
command: |
echo "=== Template Rendering Verification ==="
echo "bash_output_path={{bash_output_path}}"