Files
Agent-System/internal/dialoguectx/flags.go
T
weichen dc29b84cdf feat(ctx): inject cleaned project dialogue into squad and assistant
Add dialoguectx packaging, conflictresolve adjudication with HITL routing,
workspace context/dialogue/ injection (default on), and goose 00071.
2026-09-24 17:04:04 +00:00

48 lines
1020 B
Go

package dialoguectx
import (
"os"
"strconv"
"strings"
)
// InjectionEnabled reports whether dialogue context injection is on.
// Default is on; set DIALOGUE_CTX_INJECTION=off|false|0 to disable urgently.
func InjectionEnabled() bool {
v := strings.TrimSpace(strings.ToLower(os.Getenv("DIALOGUE_CTX_INJECTION")))
switch v {
case "off", "false", "0", "no":
return false
default:
return true
}
}
// MaxDaysFromEnv returns the configured day window (default 7, cap 31).
func MaxDaysFromEnv() int {
return envInt("DIALOGUE_CTX_MAX_DAYS", DefaultMaxDays, 1, MaxDaysCap)
}
// MaxTurnsFromEnv returns the configured turn cap (default 80, cap 200).
func MaxTurnsFromEnv() int {
return envInt("DIALOGUE_CTX_MAX_TURNS", DefaultMaxTurns, 1, MaxTurnsCap)
}
func envInt(key string, def, min, max int) int {
raw := strings.TrimSpace(os.Getenv(key))
if raw == "" {
return def
}
n, err := strconv.Atoi(raw)
if err != nil {
return def
}
if n < min {
return min
}
if n > max {
return max
}
return n
}