Documentation
¶
Index ¶
- func SaveState(path string, s *ManifestState) error
- func StatePath(annaHome string) string
- func Validate(m *Manifest) error
- type BinaryInstallState
- type BinaryReconcileResult
- type Manifest
- type ManifestBinary
- type ManifestOAuthFlow
- type ManifestOAuthProvider
- type ManifestPlugin
- type ManifestSessionEnv
- type ManifestSkill
- type ManifestState
- type PluginInstallState
- type PluginReconcileResult
- type ReconcileResult
- type SkillInstallState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SaveState ¶
func SaveState(path string, s *ManifestState) error
SaveState writes the manifest state to path atomically (write to .tmp then rename).
Types ¶
type BinaryInstallState ¶
type BinaryReconcileResult ¶
BinaryReconcileResult holds the result for a single binary within a plugin.
type Manifest ¶
type Manifest struct {
OAuthProviders []ManifestOAuthProvider `json:"oauth_providers,omitempty" yaml:"oauth_providers,omitempty"`
Plugins []ManifestPlugin `json:"plugins" yaml:"plugins"`
}
func LoadBuiltin ¶
type ManifestBinary ¶
type ManifestBinary struct {
Name string `json:"name" yaml:"name"`
Repo string `json:"repo" yaml:"repo"`
Version string `json:"version,omitempty" yaml:"version,omitempty"`
BinPath string `json:"bin_path,omitempty" yaml:"bin_path,omitempty"` // subdir within archive containing the binary
Exe string `json:"exe,omitempty" yaml:"exe,omitempty"` // binary name inside archive when it differs from Name
}
type ManifestOAuthFlow ¶
type ManifestOAuthFlow struct {
Type string `json:"type" yaml:"type"`
AuthURL string `json:"auth_url,omitempty" yaml:"auth_url,omitempty"`
DeviceAuthURL string `json:"device_auth_url,omitempty" yaml:"device_auth_url,omitempty"`
TokenURL string `json:"token_url" yaml:"token_url"`
AuthStyle string `json:"auth_style,omitempty" yaml:"auth_style,omitempty"`
}
type ManifestOAuthProvider ¶
type ManifestOAuthProvider struct {
ID string `json:"id" yaml:"id"`
Scopes []string `json:"scopes" yaml:"scopes"`
VaultKey string `json:"vault_key" yaml:"vault_key"`
Flows []ManifestOAuthFlow `json:"flows" yaml:"flows"`
}
type ManifestPlugin ¶
type ManifestPlugin struct {
ID string `json:"id" yaml:"id"`
Kind string `json:"kind" yaml:"kind"`
Name string `json:"name" yaml:"name"`
DisplayName string `json:"display_name" yaml:"display_name"`
Description string `json:"description" yaml:"description"`
Enabled bool `json:"enabled" yaml:"enabled"`
Binaries []ManifestBinary `json:"binaries,omitempty" yaml:"binaries,omitempty"`
Skills []ManifestSkill `json:"skills,omitempty" yaml:"skills,omitempty"`
SessionEnvs []ManifestSessionEnv `json:"session_env,omitempty" yaml:"session_env,omitempty"`
OAuthProvider string `json:"oauth_provider,omitempty" yaml:"oauth_provider,omitempty"`
OAuthProviderConfigField string `json:"oauth_provider_config_field,omitempty" yaml:"oauth_provider_config_field,omitempty"`
OAuthProviderChoices []string `json:"oauth_provider_choices,omitempty" yaml:"oauth_provider_choices,omitempty"`
}
type ManifestSessionEnv ¶
type ManifestSkill ¶
type ManifestState ¶
type ManifestState struct {
UpdatedAt time.Time `json:"updated_at"`
Plugins map[string]PluginInstallState `json:"plugins"`
}
func LoadState ¶
func LoadState(path string) (*ManifestState, error)
LoadState reads the manifest state file at path. If the file does not exist, an empty state is returned.
type PluginInstallState ¶
type PluginInstallState struct {
Binaries []BinaryInstallState `json:"binaries,omitempty"`
Skills []SkillInstallState `json:"skills,omitempty"`
}
type PluginReconcileResult ¶
type PluginReconcileResult struct {
PluginID string
Binaries []BinaryReconcileResult
// Skills not yet implemented (bundled-only in v1), but reserved for future use
Err error
}
PluginReconcileResult holds the result for a single plugin.
type ReconcileResult ¶
type ReconcileResult struct {
EnabledCount int
// Per-plugin results, keyed by plugin ID
Plugins map[string]PluginReconcileResult
}
ReconcileResult summarizes one reconcile run.
Click to show internal directories.
Click to hide internal directories.