aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/aflow/execute.go
Commit message (Collapse)AuthorAgeFilesLines
* pkg/aflow: add Flow.Consts instead of ProvideDmitry Vyukov3 days1-1/+3
| | | | | | | | | There is no point in using Provide more than once, and anywhere besides the first action of a flow. So it's not really an action, but more of a flow property. Add Flow.Consts field to handle this case better. Also provide slightly less verbose syntax by using a map instead of a struct, and add tests.
* pkg/aflow: export Context.CloseDmitry Vyukov2026-02-181-2/+2
| | | | This will be needed to an MCP server.
* pkg/aflow: add timeout for LLM queriesDmitry Vyukov2026-01-281-1/+10
| | | | | Sometimes LLM requests just hang dead for tens of minutes, abort them after 10 minutes and retry.
* pkg/aflow: refactor model list initializationDmitry Vyukov2026-01-281-28/+33
| | | | Factor out the initialization function to make functions shorter.
* pkg/aflow: handle input token overflow for LLM toolsDmitry Vyukov2026-01-271-0/+9
| | | | | | | Handle LLM tool input token overflow by removing the last tool reply, and replacing it with an order to answer right now. I've seen an LLM tool went into too deap research and in the end just overflowed input tokens. It could provide at least some answer instead.
* pkg/aflow: fix Temperature handlingDmitry Vyukov2026-01-261-5/+24
| | | | | | If LLMAgent.Temperature is assigned an untyped float const (0.5) it will be typed as float64 rather than float32. So recast them. Cap Temperature at model's supported MaxTemperature.
* all: fix context.Context usageTaras Madan2026-01-211-16/+16
|
* pkg/aflow: cache LLM requestsDmitry Vyukov2026-01-211-0/+3
| | | | | | Using cached replies is faster, cheaper, and more reliable. Espcially handy during development when the same workflows are retried lots of times with some changes.
* pkg/aflow/action/crash: use object cachingDmitry Vyukov2026-01-211-0/+15
| | | | | | | | | | | Use object caching instead of file caching. This removes the need for explicit file writing/reading, and reduces amount of error handling. Also any future changes should be easier to do. Add support for flow temp dirs to implement this (repro needs temp manager workdir). Previously repro abused the cache dir for that.
* pkg/aflow: add helper for caching of objectsDmitry Vyukov2026-01-211-0/+9
| | | | | | | For things like kernel build, we want to cache an actual file system dir, but in some cases we want to cache some in-memory object. Using file system dir interface is inconvinient in these cases. Add a helper that allows to cache an object directly (via json serialization).
* pkg/aflow: handle model quota errorsDmitry Vyukov2026-01-201-0/+46
| | | | | | | | Detect model quota violations (assumed to be RPD). Make syz-agent not request jobs that use the model until the next quota reset time. Fixes #6573
* pkg/aflow: make LLM model per-agent rather than per-flowDmitry Vyukov2026-01-201-31/+35
| | | | | | Having LLM model per-agent is even more flexible than per-flow. We can have some more complex tasks during patch generation with the most elaborate model, but also some simpler ones with less elaborate models.
* pkg/aflow: add notion of flow errorsDmitry Vyukov2026-01-161-0/+20
| | | | | | | | | | Flow errors denote failure of the flow itself, rather than an infrastructure error. A flow errors mean an expected condition in the flow when it cannot continue, and cannot produce expected outputs. For example, if we are doing something with the kernel, but the kernel build fails. Flow errors shouldn't be flagged in Fixes #6610
* pkg/aflow: allow to specify model per-flowDmitry Vyukov2026-01-141-3/+5
| | | | | We may want to use a weaker model for some workflows. Allow to use different models for different workflows.
* pkg/aflow: add package for agentic workflowsDmitry Vyukov2026-01-091-0/+186