LemonCore.TerminalBackend behaviour (lemon_core v0.1.0)

View Source

Behaviour for terminal/process execution backends.

Registered backends include :local, backed by the existing supervised coding-agent ProcessSession Port runner, :local_pty, backed by util-linux script(1), and :docker, backed by the Docker CLI. SSH or sandbox backends should implement this contract so operators can inspect available capabilities from LemonCore without depending on a specific runner app.

Summary

Types

backend_id()

@type backend_id() :: atom()

capability()

@type capability() :: atom()

Callbacks

available?()

@callback available?() :: boolean()

capabilities()

@callback capabilities() :: [capability()]

id()

@callback id() :: backend_id()

label()

@callback label() :: String.t()

metadata()

@callback metadata() :: map()