Documentation
¶
Index ¶
- type Client
- func (c *Client) EnsureAssetSupport(_ context.Context, _ *clients.InstallScope) error
- func (c *Client) GetAssetPath(_ context.Context, name string, assetType asset.Type, ...) (string, error)
- func (c *Client) GetBootstrapOptions(_ context.Context) []bootstrap.Option
- func (c *Client) GetBootstrapPath() string
- func (c *Client) GetVersion() string
- func (c *Client) InstallAssets(ctx context.Context, req clients.InstallRequest) (clients.InstallResponse, error)
- func (c *Client) InstallBootstrap(ctx context.Context, opts []bootstrap.Option) error
- func (c *Client) IsInstalled() bool
- func (c *Client) ListAssets(ctx context.Context, scope *clients.InstallScope) ([]clients.InstalledSkill, error)
- func (c *Client) ReadSkill(ctx context.Context, name string, scope *clients.InstallScope) (*clients.SkillContent, error)
- func (c *Client) ScanInstalledAssets(_ context.Context, _ *clients.InstallScope) ([]clients.InstalledAsset, error)
- func (c *Client) ShouldInstall(_ context.Context) (bool, error)
- func (c *Client) UninstallAssets(ctx context.Context, req clients.UninstallRequest) (clients.UninstallResponse, error)
- func (c *Client) UninstallBootstrap(ctx context.Context, opts []bootstrap.Option) error
- func (c *Client) VerifyAssets(_ context.Context, assets []*lockfile.Asset, scope *clients.InstallScope) []clients.VerifyResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
clients.BaseClient
}
Client implements the clients.Client interface for OpenClaw
func (*Client) EnsureAssetSupport ¶
EnsureAssetSupport is a no-op for OpenClaw since it has native SKILL.md discovery.
func (*Client) GetAssetPath ¶
func (c *Client) GetAssetPath(_ context.Context, name string, assetType asset.Type, scope *clients.InstallScope) (string, error)
GetAssetPath returns the filesystem path to an installed asset
func (*Client) GetBootstrapOptions ¶
GetBootstrapOptions returns bootstrap options for OpenClaw. Note: MCP server registration is not yet supported — OpenClaw's config validation rejects unknown keys at the root level. We'll add MCP support once we confirm the correct config location.
func (*Client) GetBootstrapPath ¶
GetBootstrapPath returns the path to OpenClaw's config file.
func (*Client) GetVersion ¶
GetVersion returns the OpenClaw version
func (*Client) InstallAssets ¶
func (c *Client) InstallAssets(ctx context.Context, req clients.InstallRequest) (clients.InstallResponse, error)
InstallAssets installs assets to OpenClaw using client-specific handlers
func (*Client) InstallBootstrap ¶
InstallBootstrap installs OpenClaw infrastructure (hook, cron, MCP servers)
func (*Client) IsInstalled ¶
IsInstalled checks if OpenClaw is installed by checking for ~/.openclaw directory or openclaw binary in PATH
func (*Client) ListAssets ¶
func (c *Client) ListAssets(ctx context.Context, scope *clients.InstallScope) ([]clients.InstalledSkill, error)
ListAssets returns all installed skills for a given scope
func (*Client) ReadSkill ¶
func (c *Client) ReadSkill(ctx context.Context, name string, scope *clients.InstallScope) (*clients.SkillContent, error)
ReadSkill reads the content of a specific skill by name
func (*Client) ScanInstalledAssets ¶
func (c *Client) ScanInstalledAssets(_ context.Context, _ *clients.InstallScope) ([]clients.InstalledAsset, error)
ScanInstalledAssets scans for unmanaged assets
func (*Client) ShouldInstall ¶
ShouldInstall checks if installation should proceed based on timestamp-based dedup. OpenClaw fires before_agent_start per session. We use a session cache with timestamp-based dedup to avoid redundant installs within a 1-hour window.
func (*Client) UninstallAssets ¶
func (c *Client) UninstallAssets(ctx context.Context, req clients.UninstallRequest) (clients.UninstallResponse, error)
UninstallAssets removes assets from OpenClaw
func (*Client) UninstallBootstrap ¶
UninstallBootstrap removes OpenClaw infrastructure
func (*Client) VerifyAssets ¶
func (c *Client) VerifyAssets(_ context.Context, assets []*lockfile.Asset, scope *clients.InstallScope) []clients.VerifyResult
VerifyAssets checks if assets are actually installed on the filesystem