Eai.Sandbox behaviour (eai v0.1.4)

Copy Markdown

Behaviour for PTY-like command execution sandbox

Summary

Callbacks

exec_async(agent_id, command, task_id)

@callback exec_async(
  agent_id :: String.t(),
  command :: String.t(),
  task_id :: String.t() | nil
) ::
  {:ok, task_id :: String.t()} | {:error, term()}

exec_sync(agent_id, command, timeout_ms)

@callback exec_sync(
  agent_id :: String.t(),
  command :: String.t(),
  timeout_ms :: non_neg_integer()
) ::
  {:ok, output :: String.t()} | {:error, term()}

kill(agent_id)

@callback kill(agent_id :: String.t()) :: :ok