Versions in this module Expand all Collapse all v0 v0.1.12 Mar 9, 2026 v0.1.11 Mar 5, 2026 v0.1.11-dev-20260308T221638 Mar 8, 2026 v0.1.11-dev-20260305T074840-dev-20260305T075107 Mar 5, 2026 v0.1.11-dev-20260305T074840 Mar 5, 2026 v0.1.11-dev-2026-03-05T07-36-00-251d29c Mar 5, 2026 v0.1.10 Mar 4, 2026 v0.1.9 Mar 4, 2026 v0.1.7 Mar 2, 2026 v0.1.6 Mar 2, 2026 v0.1.5 Mar 2, 2026 v0.1.4 Mar 1, 2026 v0.1.3 Mar 1, 2026 v0.1.2 Mar 1, 2026 Changes in this version + const ErrCodeAuthRequired + const ErrCodeInternal + const ErrCodeInvalidParams + const ErrCodeInvalidRequest + const ErrCodeMethodNotFound + const ErrCodeNotInitialized + const ErrCodeParse + const ErrCodePluginError + const ErrCodeTimeout + const MethodCanOutput + const MethodCanProcess + const MethodDelete + const MethodExport + const MethodExportBatch + const MethodFinalize + const MethodGetCapabilities + const MethodGetConfigSchema + const MethodGetInfo + const MethodInitialize + const MethodList + const MethodProcess + const MethodProcessBatch + const MethodRead + const MethodShutdown + const MethodTestConnection + const MethodWrite + func ExternalToDataItem(item *DataItem) *core.DataItem + func FindPluginManifest(pluginDir string) (string, error) + func RunPluginSetup(ctx context.Context, pluginDir string, setupCommands [][]string) error + type BinaryDep struct + Command string + InstallCommands map[string]string + MinVersion string + Name string + VersionFlag string + type Client struct + func NewClient(stdin io.Writer, stdout io.Reader) *Client + func (c *Client) Call(ctx context.Context, method string, params any) (any, error) + func (c *Client) CallWithResult(ctx context.Context, method string, params any, result any) error + func (c *Client) Close() error + func (c *Client) Notifications() <-chan *Request + func (c *Client) Notify(method string, params any) error + type ConfigOption struct + Default any + Description string + ID string + Name string + Options []string + Required bool + Sensitive bool + Type string + type DataItem struct + Checksum string + ID string + Metadata map[string]any + Path string + RemoteID string + Size int64 + SourceConnID string + Type string + func DataItemToExternal(item *core.DataItem) *DataItem + type Error struct + Code int + Data any + Message string + func NewError(code int, message string, data any) *Error + func (e *Error) Error() string + type ExternalConnector struct + func NewExternalConnector(plugin *ExternalPlugin) *ExternalConnector + func (c *ExternalConnector) AuthType() string + func (c *ExternalConnector) Capabilities() []core.ConnectorCapability + func (c *ExternalConnector) Close() error + func (c *ExternalConnector) ConfigSchema() []core.ConfigOption + func (c *ExternalConnector) Delete(ctx context.Context, item core.DataItem) error + func (c *ExternalConnector) Description() string + func (c *ExternalConnector) FallbackOptions() []core.FallbackOption + func (c *ExternalConnector) ID() string + func (c *ExternalConnector) Initialize(ctx context.Context, cfg core.ConnectorConfig) error + func (c *ExternalConnector) List(ctx context.Context, progress core.ProgressFunc) ([]core.DataItem, error) + func (c *ExternalConnector) Name() string + func (c *ExternalConnector) Plugin() *ExternalPlugin + func (c *ExternalConnector) Read(ctx context.Context, item core.DataItem) (io.ReadCloser, error) + func (c *ExternalConnector) ReadTo(ctx context.Context, item core.DataItem, destPath string, mode core.ImportMode) error + func (c *ExternalConnector) RequiresAuth() bool + func (c *ExternalConnector) SupportedDataTypes() []core.DataType + func (c *ExternalConnector) TestConnection(ctx context.Context, cfg core.ConnectorConfig) error + func (c *ExternalConnector) ValidateConfig(cfg core.ConnectorConfig) error + func (c *ExternalConnector) Write(ctx context.Context, item core.DataItem, reader io.Reader) error + func (c *ExternalConnector) WriteBatch(ctx context.Context, items []core.DataItem, ...) error + func (c *ExternalConnector) WriteFrom(ctx context.Context, item core.DataItem, sourcePath string) error + type ExternalConnectorPlugin struct + func NewExternalConnectorPlugin(plugin *ExternalPlugin) *ExternalConnectorPlugin + func (p *ExternalConnectorPlugin) AsConnector() core.Connector + func (p *ExternalConnectorPlugin) AsReader() (core.ConnectorReader, bool) + func (p *ExternalConnectorPlugin) AsTester() (core.ConnectorTester, bool) + func (p *ExternalConnectorPlugin) AsWriter() (core.ConnectorWriter, bool) + type ExternalOutput struct + func NewExternalOutput(plugin *ExternalPlugin) *ExternalOutput + func (o *ExternalOutput) CanOutput(item *core.DataItem) bool + func (o *ExternalOutput) ConfigSchema() []svccore.ConfigOption + func (o *ExternalOutput) Description() string + func (o *ExternalOutput) Export(ctx context.Context, item svccore.ProcessedItem) error + func (o *ExternalOutput) ExportBatch(ctx context.Context, items []svccore.ProcessedItem, ...) error + func (o *ExternalOutput) Finalize(ctx context.Context) error + func (o *ExternalOutput) ID() string + func (o *ExternalOutput) Initialize(ctx context.Context, cfg svccore.OutputConfig) error + func (o *ExternalOutput) Name() string + func (o *ExternalOutput) Plugin() *ExternalPlugin + func (o *ExternalOutput) Selector() *plugins.Selector + func (o *ExternalOutput) SupportedItemTypes() []string + type ExternalOutputPlugin struct + func NewExternalOutputPlugin(plugin *ExternalPlugin) *ExternalOutputPlugin + func (p *ExternalOutputPlugin) AsOutput() svccore.Output + func (p *ExternalOutputPlugin) Selector() *plugins.Selector + type ExternalPlugin struct + func LoadExternalPlugin(manager *ProcessManager, dir string) (*ExternalPlugin, error) + func (p *ExternalPlugin) Call(ctx context.Context, method string, params any) (any, error) + func (p *ExternalPlugin) CallWithResult(ctx context.Context, method string, params any, result any) error + func (p *ExternalPlugin) Client() *Client + func (p *ExternalPlugin) Info() plugins.PluginInfo + func (p *ExternalPlugin) IsLoaded() bool + func (p *ExternalPlugin) Load(ctx context.Context) error + func (p *ExternalPlugin) Reload(ctx context.Context) error + func (p *ExternalPlugin) Selector() *plugins.Selector + func (p *ExternalPlugin) Unload() error + type ExternalProcessor struct + func NewExternalProcessor(plugin *ExternalPlugin) *ExternalProcessor + func (p *ExternalProcessor) CanProcess(item *core.DataItem) bool + func (p *ExternalProcessor) ConfigSchema() []plugins.ConfigOption + func (p *ExternalProcessor) DefaultSelector() *plugins.Selector + func (p *ExternalProcessor) Description() string + func (p *ExternalProcessor) ID() string + func (p *ExternalProcessor) Name() string + func (p *ExternalProcessor) Plugin() *ExternalPlugin + func (p *ExternalProcessor) Process(ctx context.Context, item *core.DataItem, config map[string]any) (*core.DataItem, error) + func (p *ExternalProcessor) ProcessBatch(ctx context.Context, items []*core.DataItem, config map[string]any, ...) ([]*core.DataItem, error) + type ExternalProcessorPlugin struct + func NewExternalProcessorPlugin(plugin *ExternalPlugin) *ExternalProcessorPlugin + func (p *ExternalProcessorPlugin) AsProcessor() plugins.Processor + func (p *ExternalProcessorPlugin) Selector() *plugins.Selector + type InitializeParams struct + CacheDir string + Config map[string]any + WorkDir string + type InitializeResult struct + Message string + Success bool + type PluginInfo struct + AuthType string + Capabilities []string + DataTypes []string + Description string + ID string + Name string + RequiresAuth bool + Type string + Version string + type PluginManifest struct + Args []string + AuthType string + BinaryDeps []BinaryDep + Capabilities []string + Command string + ConfigOptions []ConfigOption + DataTypes []string + Description string + ID string + Name string + RequiresAuth bool + Selector string + SetupCommands [][]string + Type string + Version string + type Process struct + func NewProcess(pluginID string, command string, args []string, env map[string]string, ...) (*Process, error) + func (p *Process) Client() *Client + func (p *Process) ExitCode() int + func (p *Process) ExitError() error + func (p *Process) IsRunning() bool + func (p *Process) PID() int + func (p *Process) Start(ctx context.Context) error + func (p *Process) Stderr() string + func (p *Process) Stop(timeout time.Duration) error + type ProcessManager struct + func NewProcessManager() *ProcessManager + func (pm *ProcessManager) Get(pluginID string) (*Process, bool) + func (pm *ProcessManager) SetShutdownTimeout(d time.Duration) + func (pm *ProcessManager) SetStartTimeout(d time.Duration) + func (pm *ProcessManager) Start(ctx context.Context, pluginID string, command string, args []string, ...) (*Process, error) + func (pm *ProcessManager) Stop(pluginID string) error + func (pm *ProcessManager) StopAll() error + type ProcessResult struct + Error string + Item *DataItem + Skipped bool + type Request struct + ID *int + JSONRPC string + Method string + Params any + type Response struct + Error *Error + ID *int + JSONRPC string + Result any + type SetupResult struct + Error error + ExitCode int + Output string + Success bool + func RunSetupCommand(ctx context.Context, workDir string, command string, args []string) (*SetupResult, error) v0.1.1 Mar 1, 2026 v0.1.0 Mar 1, 2026