Merge branch 'main' into t3

This commit is contained in:
Cytown
2026-03-30 18:07:20 +08:00
24 changed files with 340 additions and 270 deletions
+17 -5
View File
@@ -107,11 +107,13 @@ func Run(debug bool, homePath, configPath string, allowEmptyStartup bool) error
logger.Fatalf("config pre-check failed: %v", err)
}
logger.SetLevelFromString(cfg.Gateway.LogLevel)
// Debug mode permanently overrides the config log level to DEBUG.
if debug {
logger.SetLevel(logger.DEBUG)
fmt.Println("🔍 Debug mode enabled")
} else {
logger.SetLevelFromString(cfg.Gateway.LogLevel)
logger.Infof("Log level set to %q", cfg.Gateway.LogLevel)
}
// Enforce singleton: write PID file with generated token.
@@ -201,7 +203,7 @@ func Run(debug bool, homePath, configPath string, allowEmptyStartup bool) error
logger.Warn("Config reload skipped: another reload is in progress")
continue
}
err := executeReload(ctx, agentLoop, newCfg, &provider, runningServices, msgBus, allowEmptyStartup)
err := executeReload(ctx, agentLoop, newCfg, &provider, runningServices, msgBus, allowEmptyStartup, debug)
if err != nil {
logger.Errorf("Config reload failed: %v", err)
}
@@ -218,7 +220,7 @@ func Run(debug bool, homePath, configPath string, allowEmptyStartup bool) error
runningServices.reloading.Store(false)
continue
}
err = executeReload(ctx, agentLoop, newCfg, &provider, runningServices, msgBus, allowEmptyStartup)
err = executeReload(ctx, agentLoop, newCfg, &provider, runningServices, msgBus, allowEmptyStartup, debug)
if err != nil {
logger.Errorf("Manual reload failed: %v", err)
} else {
@@ -243,12 +245,13 @@ func executeReload(
runningServices *services,
msgBus *bus.MessageBus,
allowEmptyStartup bool,
debug bool,
) error {
defer runningServices.reloading.Store(false)
overridePicoToken(newCfg, runningServices.authToken)
return handleConfigReload(ctx, agentLoop, newCfg, provider, runningServices, msgBus, allowEmptyStartup)
return handleConfigReload(ctx, agentLoop, newCfg, provider, runningServices, msgBus, allowEmptyStartup, debug)
}
func createStartupProvider(
@@ -420,6 +423,7 @@ func handleConfigReload(
runningServices *services,
msgBus *bus.MessageBus,
allowEmptyStartup bool,
debug bool,
) error {
logger.Info("🔄 Config file changed, reloading...")
@@ -468,6 +472,14 @@ func handleConfigReload(
}
logger.Info(" ✓ Provider, configuration, and services reloaded successfully (thread-safe)")
// Debug mode permanently overrides the config log level to DEBUG.
if !debug {
// Update log level last so that reload-related info/warn logs above are not suppressed.
logger.SetLevelFromString(newCfg.Gateway.LogLevel)
logger.Infof("Log level changing from current to %q", newCfg.Gateway.LogLevel)
}
return nil
}