Versions in this module Expand all Collapse all v0 v0.0.1 Jan 13, 2026 Changes in this version + var ErrUnsupported = errors.New(protocol.ErrUnsupported) + type Client interface + Call func(ctx context.Context, op string, input any, output any) error + Close func(ctx context.Context) error + Handshake func() protocol.Handshake + Spec func() PluginSpec + StartStream func(ctx context.Context, op string, input any) (streamID string, events <-chan protocol.Event, err error) + SupportsOp func(op string) bool + type Factory struct + func NewFactory(opts FactoryOptions) *Factory + func (f *Factory) Start(ctx context.Context, spec PluginSpec, opts StartOptions) (Client, error) + type FactoryOptions struct + HandshakeTimeout time.Duration + ShutdownTimeout time.Duration + type OpError struct + Code string + Details map[string]any + Message string + Op string + PluginID string + func (e *OpError) Error() string + func (e *OpError) Is(target error) bool + type PluginSpec struct + Args []string + Env map[string]string + ID string + Path string + Priority int + WorkDir string + type RequestMeta struct + Cwd string + DryRun bool + RepoRoot string + type StartOptions struct + Meta RequestMeta