CursorCliSdk.Options (CursorCliSdk v0.1.0)

Copy Markdown View Source

Options for a Cursor Agent CLI headless invocation.

:cwd is the single workspace placement field. It is used as the process cwd and is mapped to Cursor's --workspace flag by CursorCliSdk.ArgBuilder.

Summary

Types

mode()

@type mode() :: :agent | :ask | :plan | String.t()

permission_mode()

@type permission_mode() :: :default | :bypass | :plan

t()

@type t() :: %CursorCliSdk.Options{
  api_key: String.t() | nil,
  approve_mcps: boolean(),
  cli_command: String.t() | nil,
  continue: boolean(),
  cwd: String.t() | nil,
  env: %{optional(String.t()) => String.t()},
  execution_surface: CliSubprocessCore.ExecutionSurface.t(),
  governed_authority:
    CliSubprocessCore.GovernedAuthority.t() | keyword() | map() | nil,
  headers: [{String.t(), String.t()} | String.t()],
  max_stderr_buffer_bytes: pos_integer(),
  mode: mode(),
  model: String.t() | nil,
  model_payload: CliSubprocessCore.ModelRegistry.selection() | nil,
  output_format: String.t(),
  permission_mode: permission_mode(),
  plugin_dirs: [String.t()],
  resume: String.t() | nil,
  sandbox: String.t() | boolean() | nil,
  skip_worktree_setup: boolean(),
  stream_partial_output: boolean(),
  timeout_ms: pos_integer(),
  trust: boolean(),
  worktree: boolean() | String.t() | nil,
  worktree_base: String.t() | nil
}

Functions

new(opts)

@spec new(keyword() | map() | t()) :: {:ok, t()} | {:error, term()}

new!(attrs)

@spec new!(keyword() | map() | t()) :: t()

validate!(opts)

@spec validate!(t()) :: t()