Files
picoclaw/pkg/evolution/llm_timeout.go
T
lxowalle b3a7b7ad64 feat: agent self evolution (#2847)
* feat: add agent self-evolution

* fix ci

* delete unused doc

* fix lint

* fix evolution review issues
2026-05-11 16:13:27 +08:00

26 lines
591 B
Go

package evolution
import (
"context"
"time"
)
const (
llmTaskSuccessJudgeTimeout = 15 * time.Second
llmPatternClusterTimeout = 45 * time.Second
llmDraftGenerationTimeout = 60 * time.Second
)
func withLLMCallTimeout(parent context.Context, timeout time.Duration) (context.Context, context.CancelFunc) {
if parent == nil {
parent = context.Background()
}
if timeout <= 0 {
return context.WithCancel(parent)
}
if deadline, ok := parent.Deadline(); ok && time.Until(deadline) <= timeout {
return context.WithCancel(parent)
}
return context.WithTimeout(parent, timeout)
}