Documentation
¶
Overview ¶
Package client provides an HTTP client for the ToolHive Plugins API.
Index ¶
- Variables
- type Client
- func (c *Client) Build(ctx context.Context, opts plugins.BuildOptions) (*plugins.BuildResult, error)
- func (c *Client) DeleteBuild(ctx context.Context, tag string) error
- func (c *Client) GetContent(ctx context.Context, opts plugins.ContentOptions) (*plugins.PluginContent, error)
- func (c *Client) Info(ctx context.Context, opts plugins.InfoOptions) (*plugins.PluginInfo, error)
- func (c *Client) Install(ctx context.Context, opts plugins.InstallOptions) (*plugins.InstallResult, error)
- func (c *Client) List(ctx context.Context, opts plugins.ListOptions) ([]plugins.InstalledPlugin, error)
- func (c *Client) ListBuilds(ctx context.Context) ([]plugins.LocalBuild, error)
- func (c *Client) Push(ctx context.Context, opts plugins.PushOptions) error
- func (c *Client) Uninstall(ctx context.Context, opts plugins.UninstallOptions) error
- func (c *Client) Validate(ctx context.Context, path string) (*plugins.ValidationResult, error)
- type Option
Constants ¶
This section is empty.
Variables ¶
var ErrServerUnreachable = errors.New("could not reach ToolHive API server — is 'thv serve' running?")
ErrServerUnreachable is returned when the client cannot connect to the ToolHive API server. The most common cause is that "thv serve" is not running.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is an HTTP client for the ToolHive Plugins API.
func NewDefaultClient ¶
NewDefaultClient creates a Plugins API client by trying, in order:
- The TOOLHIVE_API_URL environment variable (explicit override)
- The server discovery file (auto-detected running server)
- The default URL http://127.0.0.1:8080
The context is used for the server discovery health check; it is not stored.
func (*Client) Build ¶
func (c *Client) Build(ctx context.Context, opts plugins.BuildOptions) (*plugins.BuildResult, error)
Build builds a plugin from a local directory into an OCI artifact.
func (*Client) DeleteBuild ¶
DeleteBuild removes a locally-built OCI plugin artifact from the local store.
func (*Client) GetContent ¶
func (c *Client) GetContent(ctx context.Context, opts plugins.ContentOptions) (*plugins.PluginContent, error)
GetContent retrieves the plugin.json body and file listing from an OCI artifact without installing it.
func (*Client) Info ¶
func (c *Client) Info(ctx context.Context, opts plugins.InfoOptions) (*plugins.PluginInfo, error)
Info returns detailed information about a plugin.
func (*Client) Install ¶
func (c *Client) Install(ctx context.Context, opts plugins.InstallOptions) (*plugins.InstallResult, error)
Install installs a plugin from a remote source.
func (*Client) List ¶
func (c *Client) List(ctx context.Context, opts plugins.ListOptions) ([]plugins.InstalledPlugin, error)
List returns all installed plugins matching the given options.
func (*Client) ListBuilds ¶
ListBuilds returns all locally-built OCI plugin artifacts in the local store.
type Option ¶
type Option func(*Client)
Option configures a Client.
func WithHTTPClient ¶
WithHTTPClient replaces the underlying *http.Client entirely. This overrides any previously applied options such as WithTimeout.
func WithTimeout ¶
WithTimeout sets the HTTP client timeout.