package main import ( "fmt" "strings" "github.com/pinchtab/pinchtab/internal/config" "github.com/pinchtab/pinchtab/internal/server" "github.com/spf13/cobra" ) var bridgeEngine string var bridgeCmd = &cobra.Command{ Use: "bridge", Short: "Start single-instance bridge-only server", RunE: func(cmd *cobra.Command, args []string) error { cfg := config.Load() engineMode, err := resolveBridgeEngine(bridgeEngine, cfg.Engine) if err != nil { return err } cfg.Engine = engineMode server.RunBridgeServer(cfg) return nil }, } func resolveBridgeEngine(flagValue, configValue string) (string, error) { engineMode := strings.ToLower(strings.TrimSpace(configValue)) if strings.TrimSpace(flagValue) != "" { engineMode = strings.ToLower(strings.TrimSpace(flagValue)) } if engineMode == "" { engineMode = "chrome" } if engineMode != "chrome" && engineMode != "lite" && engineMode != "auto" { return "", fmt.Errorf("invalid --engine %q (expected chrome, lite, or auto)", engineMode) } return engineMode, nil } func init() { bridgeCmd.GroupID = "primary" bridgeCmd.Flags().StringVar(&bridgeEngine, "engine", "", "Bridge engine: chrome, lite, or auto (overrides config)") rootCmd.AddCommand(bridgeCmd) }