feat: auto-fill engine/url from auth provider defaults

Each auth.Provider now declares DefaultServiceURL() so callers do not
need to know service-specific endpoints. ApplyAuthDefaults fills Engine
and URL from the provider before validation runs — explicit flags always
win, and providers with no default URL require -url to be set explicitly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
zarazaex69
2026-05-11 15:23:20 +03:00
parent d97129b031
commit 68a144d6c0
7 changed files with 55 additions and 7 deletions

View File

@@ -106,7 +106,15 @@ func runWithConfig(cfg config) error {
return runGen(cfg)
}
if err := session.Validate(toSessionConfig(cfg)); err != nil {
return runSessionMode(cfg)
}
func runSessionMode(cfg config) error {
scfg, err := session.ApplyAuthDefaults(toSessionConfig(cfg))
if err != nil {
return fmt.Errorf("validate config: %w", err)
}
if err := session.Validate(scfg); err != nil {
return fmt.Errorf("validate config: %w", err)
}
@@ -131,7 +139,7 @@ func runWithConfig(cfg config) error {
errCh := make(chan error, 1)
go func() {
errCh <- runSession(ctx, toSessionConfig(cfg))
errCh <- runSession(ctx, scfg)
}()
select {
@@ -145,7 +153,10 @@ func runWithConfig(cfg config) error {
}
func execGen(cfg config) error {
scfg := toSessionConfig(cfg)
scfg, err := session.ApplyAuthDefaults(toSessionConfig(cfg))
if err != nil {
return fmt.Errorf("validate gen config: %w", err)
}
if err := session.ValidateGen(scfg); err != nil {
return fmt.Errorf("validate gen config: %w", err)
}