Documentation
¶
Index ¶
- func PluginExtension(goos string) string
- func SupportPluginHeaderValue() string
- func ValidatePluginID(id string) bool
- type AuthModelResult
- type Host
- func (h *Host) ApplyConfig(ctx context.Context, cfg *config.Config)
- func (h *Host) AuthDataToCoreAuth(data pluginapi.AuthData, path, fileName string) *coreauth.Auth
- func (h *Host) AuthProviderIdentifiers() []string
- func (h *Host) BuiltinProviders() []string
- func (h *Host) CountPluginExecutor(ctx context.Context, pluginID string, req coreexecutor.Request, ...) (coreexecutor.Response, error)
- func (h *Host) ExecuteCommandLine(ctx context.Context, program string, args []string, configPath string, ...) (int, bool)
- func (h *Host) ExecutePluginExecutor(ctx context.Context, pluginID string, req coreexecutor.Request, ...) (coreexecutor.Response, error)
- func (h *Host) ExecutePluginExecutorStream(ctx context.Context, pluginID string, req coreexecutor.Request, ...) (*coreexecutor.StreamResult, error)
- func (h *Host) HasAuthProvider(provider string) bool
- func (h *Host) HasBuiltinProvider(provider string) bool
- func (h *Host) HasExecutorCandidateProvider(provider string) bool
- func (h *Host) HasModelRouters() bool
- func (h *Host) HasModelRoutersExcept(skipPluginID string) bool
- func (h *Host) HasRequestInterceptors() bool
- func (h *Host) HasScheduler() bool
- func (h *Host) HasStreamInterceptors() bool
- func (h *Host) HasTriggeredCommandLineFlags() bool
- func (h *Host) InterceptRequestAfterAuth(ctx context.Context, req pluginapi.RequestInterceptRequest) pluginapi.RequestInterceptResponse
- func (h *Host) InterceptRequestAfterAuthExcept(ctx context.Context, req pluginapi.RequestInterceptRequest, ...) pluginapi.RequestInterceptResponse
- func (h *Host) InterceptRequestBeforeAuth(ctx context.Context, req pluginapi.RequestInterceptRequest) pluginapi.RequestInterceptResponse
- func (h *Host) InterceptRequestBeforeAuthExcept(ctx context.Context, req pluginapi.RequestInterceptRequest, ...) pluginapi.RequestInterceptResponse
- func (h *Host) InterceptResponse(ctx context.Context, req pluginapi.ResponseInterceptRequest) pluginapi.ResponseInterceptResponse
- func (h *Host) InterceptResponseExcept(ctx context.Context, req pluginapi.ResponseInterceptRequest, ...) pluginapi.ResponseInterceptResponse
- func (h *Host) InterceptStreamChunk(ctx context.Context, req pluginapi.StreamChunkInterceptRequest) pluginapi.StreamChunkInterceptResponse
- func (h *Host) InterceptStreamChunkExcept(ctx context.Context, req pluginapi.StreamChunkInterceptRequest, ...) pluginapi.StreamChunkInterceptResponse
- func (h *Host) ModelsForAuth(ctx context.Context, auth *coreauth.Auth) AuthModelResult
- func (h *Host) ModelsForProvider(provider string) []*registry.ModelInfo
- func (h *Host) NormalizeRequest(ctx context.Context, from, to sdktranslator.Format, model string, body []byte, ...) []byte
- func (h *Host) NormalizeResponseAfter(ctx context.Context, from, to sdktranslator.Format, model string, ...) []byte
- func (h *Host) NormalizeResponseBefore(ctx context.Context, from, to sdktranslator.Format, model string, ...) []byte
- func (h *Host) ParseAuth(ctx context.Context, req pluginapi.AuthParseRequest) (*coreauth.Auth, bool, error)
- func (h *Host) PickAuth(ctx context.Context, req pluginapi.SchedulerPickRequest) (pluginapi.SchedulerPickResponse, bool, error)
- func (h *Host) PluginExecutorRequestToFormat(pluginID string, req coreexecutor.Request, opts coreexecutor.Options) sdktranslator.Format
- func (h *Host) PluginLoaded(id string) bool
- func (h *Host) PollLogin(ctx context.Context, provider, state string, metadata ...map[string]any) (pluginapi.AuthLoginPollResponse, bool, error)
- func (h *Host) RegisterCommandLineFlags(ctx context.Context, flagSet *flag.FlagSet)
- func (h *Host) RegisterExecutors(manager executorManager, modelRegistry modelProviderRegistry)
- func (h *Host) RegisterFrontendAuthProviders()
- func (h *Host) RegisterManagementRoutes(ctx context.Context, reserved map[string]struct{})
- func (h *Host) RegisterModels(ctx context.Context, modelRegistry modelRegistry)
- func (h *Host) RegisterUsagePlugins()
- func (h *Host) RegisteredPlugins() []RegisteredPluginInfo
- func (h *Host) RouteModel(ctx context.Context, req pluginapi.ModelRouteRequest) (pluginapi.ModelRouteResponse, bool)
- func (h *Host) RouteModelExcept(ctx context.Context, req pluginapi.ModelRouteRequest, skipPluginID string) (pluginapi.ModelRouteResponse, bool)
- func (h *Host) ServeManagementHTTP(w http.ResponseWriter, r *http.Request) bool
- func (h *Host) ServeResourceHTTP(w http.ResponseWriter, r *http.Request) bool
- func (h *Host) SetAuthManager(manager *coreauth.Manager)
- func (h *Host) SetModelExecutor(executor modelExecutor)
- func (h *Host) ShutdownAll()
- func (h *Host) Snapshot() *Snapshot
- func (h *Host) StartLogin(ctx context.Context, provider string, baseURL string) (pluginapi.AuthLoginStartResponse, bool, error)
- func (h *Host) TranslateRequest(ctx context.Context, from, to sdktranslator.Format, model string, body []byte, ...) ([]byte, bool)
- func (h *Host) TranslateResponse(ctx context.Context, from, to sdktranslator.Format, model string, ...) ([]byte, bool)
- func (h *Host) UnloadPlugin(id string) bool
- type PluginFileInfo
- type RegisteredPluginInfo
- type RegisteredPluginMenu
- type Snapshot
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PluginExtension ¶ added in v7.1.69
PluginExtension returns the dynamic library file extension used for goos.
func SupportPluginHeaderValue ¶ added in v7.1.69
func SupportPluginHeaderValue() string
SupportPluginHeaderValue reports whether the current binary was built with CGO enabled.
func ValidatePluginID ¶
ValidatePluginID reports whether id can be used as a plugin configuration key.
Types ¶
type AuthModelResult ¶
type Host ¶
type Host struct {
// contains filtered or unexported fields
}
func NewForTest ¶
func NewForTest(loader pluginLoader) *Host
func (*Host) AuthDataToCoreAuth ¶
func (*Host) AuthProviderIdentifiers ¶
func (*Host) BuiltinProviders ¶ added in v7.2.8
BuiltinProviders returns built-in provider keys that currently have auth registered.
func (*Host) CountPluginExecutor ¶ added in v7.2.8
func (h *Host) CountPluginExecutor(ctx context.Context, pluginID string, req coreexecutor.Request, opts coreexecutor.Options) (coreexecutor.Response, error)
CountPluginExecutor executes a count-tokens request with the named plugin executor without changing the requested model.
func (*Host) ExecuteCommandLine ¶
func (h *Host) ExecuteCommandLine(ctx context.Context, program string, args []string, configPath string, flagSet *flag.FlagSet) (int, bool)
ExecuteCommandLine runs all enabled plugins whose command-line flags were provided.
func (*Host) ExecutePluginExecutor ¶ added in v7.2.8
func (h *Host) ExecutePluginExecutor(ctx context.Context, pluginID string, req coreexecutor.Request, opts coreexecutor.Options) (coreexecutor.Response, error)
ExecutePluginExecutor executes a request with the named plugin executor without changing the requested model.
func (*Host) ExecutePluginExecutorStream ¶ added in v7.2.8
func (h *Host) ExecutePluginExecutorStream(ctx context.Context, pluginID string, req coreexecutor.Request, opts coreexecutor.Options) (*coreexecutor.StreamResult, error)
ExecutePluginExecutorStream executes a streaming request with the named plugin executor without changing the requested model.
func (*Host) HasAuthProvider ¶
func (*Host) HasBuiltinProvider ¶ added in v7.2.8
HasBuiltinProvider reports whether a built-in provider currently has at least one registered auth record.
func (*Host) HasExecutorCandidateProvider ¶
func (*Host) HasModelRouters ¶ added in v7.2.8
func (*Host) HasModelRoutersExcept ¶ added in v7.2.8
func (*Host) HasRequestInterceptors ¶ added in v7.1.62
func (*Host) HasScheduler ¶ added in v7.1.57
func (*Host) HasStreamInterceptors ¶ added in v7.1.55
func (*Host) HasTriggeredCommandLineFlags ¶
HasTriggeredCommandLineFlags reports whether any plugin-owned flag was provided.
func (*Host) InterceptRequestAfterAuth ¶ added in v7.1.62
func (h *Host) InterceptRequestAfterAuth(ctx context.Context, req pluginapi.RequestInterceptRequest) pluginapi.RequestInterceptResponse
func (*Host) InterceptRequestAfterAuthExcept ¶ added in v7.1.67
func (h *Host) InterceptRequestAfterAuthExcept(ctx context.Context, req pluginapi.RequestInterceptRequest, skipPluginID string) pluginapi.RequestInterceptResponse
func (*Host) InterceptRequestBeforeAuth ¶ added in v7.1.62
func (h *Host) InterceptRequestBeforeAuth(ctx context.Context, req pluginapi.RequestInterceptRequest) pluginapi.RequestInterceptResponse
func (*Host) InterceptRequestBeforeAuthExcept ¶ added in v7.1.67
func (h *Host) InterceptRequestBeforeAuthExcept(ctx context.Context, req pluginapi.RequestInterceptRequest, skipPluginID string) pluginapi.RequestInterceptResponse
func (*Host) InterceptResponse ¶ added in v7.1.55
func (h *Host) InterceptResponse(ctx context.Context, req pluginapi.ResponseInterceptRequest) pluginapi.ResponseInterceptResponse
func (*Host) InterceptResponseExcept ¶ added in v7.1.67
func (h *Host) InterceptResponseExcept(ctx context.Context, req pluginapi.ResponseInterceptRequest, skipPluginID string) pluginapi.ResponseInterceptResponse
func (*Host) InterceptStreamChunk ¶ added in v7.1.55
func (h *Host) InterceptStreamChunk(ctx context.Context, req pluginapi.StreamChunkInterceptRequest) pluginapi.StreamChunkInterceptResponse
func (*Host) InterceptStreamChunkExcept ¶ added in v7.1.67
func (h *Host) InterceptStreamChunkExcept(ctx context.Context, req pluginapi.StreamChunkInterceptRequest, skipPluginID string) pluginapi.StreamChunkInterceptResponse
func (*Host) ModelsForAuth ¶
func (*Host) ModelsForProvider ¶
func (*Host) NormalizeRequest ¶
func (*Host) NormalizeResponseAfter ¶
func (*Host) NormalizeResponseBefore ¶
func (*Host) PickAuth ¶ added in v7.1.57
func (h *Host) PickAuth(ctx context.Context, req pluginapi.SchedulerPickRequest) (pluginapi.SchedulerPickResponse, bool, error)
func (*Host) PluginExecutorRequestToFormat ¶ added in v7.2.8
func (h *Host) PluginExecutorRequestToFormat(pluginID string, req coreexecutor.Request, opts coreexecutor.Options) sdktranslator.Format
PluginExecutorRequestToFormat reports the executor input format selected for a direct plugin executor route.
func (*Host) PluginLoaded ¶ added in v7.1.69
PluginLoaded reports whether a plugin dynamic library is still loaded by the host.
func (*Host) RegisterCommandLineFlags ¶
RegisterCommandLineFlags exposes plugin-declared flags on the provided FlagSet.
func (*Host) RegisterExecutors ¶
func (h *Host) RegisterExecutors(manager executorManager, modelRegistry modelProviderRegistry)
func (*Host) RegisterFrontendAuthProviders ¶
func (h *Host) RegisterFrontendAuthProviders()
func (*Host) RegisterManagementRoutes ¶
RegisterManagementRoutes rebuilds the plugin-owned Management API and resource route tables.
func (*Host) RegisterModels ¶
func (*Host) RegisterUsagePlugins ¶
func (h *Host) RegisterUsagePlugins()
func (*Host) RegisteredPlugins ¶
func (h *Host) RegisteredPlugins() []RegisteredPluginInfo
RegisteredPlugins returns a stable copy of plugin metadata in the current runtime snapshot.
func (*Host) RouteModel ¶ added in v7.2.8
func (h *Host) RouteModel(ctx context.Context, req pluginapi.ModelRouteRequest) (pluginapi.ModelRouteResponse, bool)
func (*Host) RouteModelExcept ¶ added in v7.2.8
func (h *Host) RouteModelExcept(ctx context.Context, req pluginapi.ModelRouteRequest, skipPluginID string) (pluginapi.ModelRouteResponse, bool)
func (*Host) ServeManagementHTTP ¶
ServeManagementHTTP dispatches an authenticated Management API request to a plugin route.
func (*Host) ServeResourceHTTP ¶ added in v7.1.59
ServeResourceHTTP dispatches an unauthenticated browser-navigable resource request to a plugin route.
func (*Host) SetAuthManager ¶ added in v7.2.1
func (*Host) SetModelExecutor ¶ added in v7.1.67
func (h *Host) SetModelExecutor(executor modelExecutor)
func (*Host) ShutdownAll ¶ added in v7.1.48
func (h *Host) ShutdownAll()
ShutdownAll removes active plugin capabilities and closes all loaded dynamic libraries.
func (*Host) StartLogin ¶
func (*Host) TranslateRequest ¶
func (*Host) TranslateResponse ¶
func (*Host) UnloadPlugin ¶ added in v7.1.70
UnloadPlugin removes one plugin from the active runtime and closes its dynamic library.
type PluginFileInfo ¶
PluginFileInfo describes a plugin binary selected by the host discovery rules.
func DiscoverPluginFiles ¶
func DiscoverPluginFiles(root string) ([]PluginFileInfo, error)
DiscoverPluginFiles returns plugin binaries selected by the current host discovery rules.
type RegisteredPluginInfo ¶
type RegisteredPluginInfo struct {
ID string
Priority int
Metadata pluginapi.Metadata
SupportsOAuth bool
Menus []RegisteredPluginMenu
}
RegisteredPluginInfo describes a plugin that is active in the current runtime snapshot.
type RegisteredPluginMenu ¶
RegisteredPluginMenu describes a plugin-owned resource menu entry.
Source Files
¶
- abi.go
- adapters.go
- auth_callbacks.go
- auth_provider.go
- callback_contexts.go
- client_guard.go
- command_line.go
- config.go
- executor_route.go
- host.go
- host_callbacks.go
- host_callbacks_unix.go
- host_model_stream_callbacks.go
- http_bridge.go
- http_stream_bridge.go
- loader_unix.go
- management.go
- model_router.go
- model_stream_bridge.go
- platform.go
- rpc_client.go
- rpc_client_stream.go
- rpc_schema.go
- scheduler.go
- snapshot.go
- stream_bridge.go
- support.go
- support_cgo.go