Current section

Files

Jump to
agent_session_manager lib asm options cursor.ex
Raw

lib/asm/options/cursor.ex

defmodule ASM.Options.Cursor do
@moduledoc """
Cursor Agent CLI provider-specific option schema.
"""
@spec schema() :: keyword()
def schema do
[
model: [type: :string],
mode: [type: {:or, [{:in, [:agent, :plan, :ask]}, :string, nil]}, default: nil],
sandbox: [
type: {:or, [{:in, [:enabled, :disabled]}, :boolean, :string, nil]},
default: nil
],
approve_mcps: [type: :boolean, default: false],
worktree: [type: {:or, [:string, :boolean, nil]}, default: nil],
worktree_base: [type: {:or, [:string, nil]}, default: nil],
skip_worktree_setup: [type: :boolean, default: false],
plugin_dirs: [type: {:list, :string}, default: []],
headers: [
type: {:custom, ASM.Options, :validate_passthrough_list, [:headers]},
default: []
],
# Allow a Cursor model newer than the shared registry to pass through
# to the CLI `--model` (default false = require a registered model).
allow_unknown_model: [type: :boolean, default: false]
]
end
end