aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/aflow/flow.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/aflow/flow.go')
-rw-r--r--pkg/aflow/flow.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/pkg/aflow/flow.go b/pkg/aflow/flow.go
index 6325b2fd2..a391f5a01 100644
--- a/pkg/aflow/flow.go
+++ b/pkg/aflow/flow.go
@@ -5,6 +5,8 @@ package aflow
import (
"fmt"
+ "maps"
+ "slices"
"github.com/google/syzkaller/pkg/aflow/ai"
)
@@ -25,6 +27,7 @@ type Flow struct {
Name string // Empty for the main workflow for the workflow type.
Root Action
+ Models []string // LLM models used in this workflow.
*FlowType
}
@@ -87,6 +90,7 @@ func registerOne[Inputs, Outputs any](all map[string]*Flow, flow *Flow) error {
ctx := &verifyContext{
actions: make(map[string]bool),
state: make(map[string]*varState),
+ models: make(map[string]bool),
}
provideOutputs[Inputs](ctx, "flow inputs")
flow.Root.verify(ctx)
@@ -94,6 +98,8 @@ func registerOne[Inputs, Outputs any](all map[string]*Flow, flow *Flow) error {
if err := ctx.finalize(); err != nil {
return fmt.Errorf("flow %v: %w", flow.Name, err)
}
+ flow.Models = slices.Collect(maps.Keys(ctx.models))
+ slices.Sort(flow.Models)
all[flow.Name] = flow
return nil
}