Versions in this module Expand all Collapse all v6 v6.9.3 Mar 25, 2026 Changes in this version + const CloseAllExecutionSessionsID + func OAuthModelAliasChannel(provider, authKind string) string + func ProviderRefreshLead(provider string, runtime any) *time.Duration + func RegisterRefreshLeadProvider(provider string, factory func() *time.Duration) + func SetQuotaCooldownDisabled(disable bool) + func WithRequestInfo(ctx context.Context, info *RequestInfo) context.Context + func WithSkipPersist(ctx context.Context) context.Context + type APIKeyConfigEntry interface + GetAPIKey func() string + GetBaseURL func() string + type Auth struct + Attributes map[string]string + CreatedAt time.Time + Disabled bool + FileName string + ID string + Index string + Label string + LastError *Error + LastRefreshedAt time.Time + Metadata map[string]any + ModelStates map[string]*ModelState + NextRefreshAfter time.Time + NextRetryAfter time.Time + Prefix string + Provider string + ProxyURL string + Quota QuotaState + Runtime any + Status Status + StatusMessage string + Storage baseauth.TokenStorage + Unavailable bool + UpdatedAt time.Time + func (a *Auth) AccountInfo() (string, string) + func (a *Auth) Clone() *Auth + func (a *Auth) DisableCoolingOverride() (bool, bool) + func (a *Auth) EnsureIndex() string + func (a *Auth) ExpirationTime() (time.Time, bool) + func (a *Auth) ProxyInfo() string + func (a *Auth) RequestRetryOverride() (int, bool) + func (a *Auth) ToolPrefixDisabled() bool + type Error struct + Code string + HTTPStatus int + Message string + Retryable bool + func (e *Error) Error() string + func (e *Error) StatusCode() int + type ExecutionSessionCloser interface + CloseExecutionSession func(sessionID string) + type FillFirstSelector struct + func (s *FillFirstSelector) Pick(ctx context.Context, provider, model string, opts cliproxyexecutor.Options, ...) (*Auth, error) + type Hook interface + OnAuthRegistered func(ctx context.Context, auth *Auth) + OnAuthUpdated func(ctx context.Context, auth *Auth) + OnResult func(ctx context.Context, result Result) + type Manager struct + func NewManager(store Store, selector Selector, hook Hook) *Manager + func (m *Manager) CloseExecutionSession(sessionID string) + func (m *Manager) Execute(ctx context.Context, providers []string, req cliproxyexecutor.Request, ...) (cliproxyexecutor.Response, error) + func (m *Manager) ExecuteCount(ctx context.Context, providers []string, req cliproxyexecutor.Request, ...) (cliproxyexecutor.Response, error) + func (m *Manager) ExecuteStream(ctx context.Context, providers []string, req cliproxyexecutor.Request, ...) (*cliproxyexecutor.StreamResult, error) + func (m *Manager) Executor(provider string) (ProviderExecutor, bool) + func (m *Manager) GetByID(id string) (*Auth, bool) + func (m *Manager) HttpRequest(ctx context.Context, auth *Auth, req *http.Request) (*http.Response, error) + func (m *Manager) InjectCredentials(req *http.Request, authID string) error + func (m *Manager) List() []*Auth + func (m *Manager) Load(ctx context.Context) error + func (m *Manager) MarkResult(ctx context.Context, result Result) + func (m *Manager) NewHttpRequest(ctx context.Context, auth *Auth, method, targetURL string, body []byte, ...) (*http.Request, error) + func (m *Manager) PrepareHttpRequest(ctx context.Context, auth *Auth, req *http.Request) error + func (m *Manager) RefreshSchedulerEntry(authID string) + func (m *Manager) Register(ctx context.Context, auth *Auth) (*Auth, error) + func (m *Manager) RegisterExecutor(executor ProviderExecutor) + func (m *Manager) SetConfig(cfg *internalconfig.Config) + func (m *Manager) SetOAuthModelAlias(aliases map[string][]internalconfig.OAuthModelAlias) + func (m *Manager) SetRetryConfig(retry int, maxRetryInterval time.Duration, maxRetryCredentials int) + func (m *Manager) SetRoundTripperProvider(p RoundTripperProvider) + func (m *Manager) SetSelector(selector Selector) + func (m *Manager) SetStore(store Store) + func (m *Manager) StartAutoRefresh(parent context.Context, interval time.Duration) + func (m *Manager) StopAutoRefresh() + func (m *Manager) UnregisterExecutor(provider string) + func (m *Manager) Update(ctx context.Context, auth *Auth) (*Auth, error) + type ModelState struct + LastError *Error + NextRetryAfter time.Time + Quota QuotaState + Status Status + StatusMessage string + Unavailable bool + UpdatedAt time.Time + func (m *ModelState) Clone() *ModelState + type NoopHook struct + func (NoopHook) OnAuthRegistered(context.Context, *Auth) + func (NoopHook) OnAuthUpdated(context.Context, *Auth) + func (NoopHook) OnResult(context.Context, Result) + type PostAuthHook func(context.Context, *Auth) error + type ProviderExecutor interface + CountTokens func(ctx context.Context, auth *Auth, req cliproxyexecutor.Request, ...) (cliproxyexecutor.Response, error) + Execute func(ctx context.Context, auth *Auth, req cliproxyexecutor.Request, ...) (cliproxyexecutor.Response, error) + ExecuteStream func(ctx context.Context, auth *Auth, req cliproxyexecutor.Request, ...) (*cliproxyexecutor.StreamResult, error) + HttpRequest func(ctx context.Context, auth *Auth, req *http.Request) (*http.Response, error) + Identifier func() string + Refresh func(ctx context.Context, auth *Auth) (*Auth, error) + type QuotaState struct + BackoffLevel int + Exceeded bool + NextRecoverAt time.Time + Reason string + type RefreshEvaluator interface + ShouldRefresh func(now time.Time, auth *Auth) bool + type RequestInfo struct + Headers http.Header + Query url.Values + func GetRequestInfo(ctx context.Context) *RequestInfo + type RequestPreparer interface + PrepareRequest func(req *http.Request, auth *Auth) error + type Result struct + AuthID string + Error *Error + Model string + Provider string + RetryAfter *time.Duration + Success bool + type RoundRobinSelector struct + func (s *RoundRobinSelector) Pick(ctx context.Context, provider, model string, opts cliproxyexecutor.Options, ...) (*Auth, error) + type RoundTripperProvider interface + RoundTripperFor func(auth *Auth) http.RoundTripper + type Selector interface + Pick func(ctx context.Context, provider, model string, opts cliproxyexecutor.Options, ...) (*Auth, error) + type Status string + const StatusActive + const StatusDisabled + const StatusError + const StatusPending + const StatusRefreshing + const StatusUnknown + type Store interface + Delete func(ctx context.Context, id string) error + List func(ctx context.Context) ([]*Auth, error) + Save func(ctx context.Context, auth *Auth) (string, error) v6.9.2-rc1 Mar 25, 2026