Discovery metadata and bridge helpers for the optional Claude-native ASM extension namespace.
This namespace lives above ASM's normalized kernel.
It does not implement Claude's richer control semantics itself. Instead it:
- publishes discovery metadata for the optional Claude-native surface
- derives
ClaudeAgentSDK.Optionsfrom ASM-style configuration, including normalized execution-surface data for CLI-backed families - starts
ClaudeAgentSDK.Clientwhen callers explicitly opt into the SDK-local control family
The actual control family remains in claude_agent_sdk.
Summary
Functions
Returns the SDK-local Claude client module.
Returns the Claude SDK control protocol module.
Returns the Claude SDK hooks module.
Returns the Claude SDK permission module.
Derives ClaudeAgentSDK.Options from ASM-style Claude configuration.
Derives ClaudeAgentSDK.Options from an ASM session plus optional ASM/native
overrides.
Starts ClaudeAgentSDK.Client from ASM-style Claude configuration.
Starts ClaudeAgentSDK.Client from an ASM session plus optional ASM/native
overrides.
Functions
@spec available?() :: boolean()
@spec client_module() :: module()
Returns the SDK-local Claude client module.
@spec control_protocol_module() :: module()
Returns the Claude SDK control protocol module.
@spec extension() :: ASM.Extensions.ProviderSDK.Extension.t()
@spec hooks_module() :: module()
Returns the Claude SDK hooks module.
@spec native_capabilities() :: [atom()]
@spec native_surface_modules() :: [module()]
@spec permission_module() :: module()
Returns the Claude SDK permission module.
@spec sdk_app() :: atom()
@spec sdk_module() :: module()
@spec sdk_options(keyword(), keyword()) :: {:ok, struct()} | {:error, ASM.Error.t()}
Derives ClaudeAgentSDK.Options from ASM-style Claude configuration.
native_overrides remains the explicit home for Claude-native options such as
hooks, permission callbacks, SDK MCP servers, file checkpointing, or thinking
configuration. Execution-surface placement stays on asm_opts.
@spec sdk_options_for_session(term(), keyword(), keyword()) :: {:ok, struct()} | {:error, ASM.Error.t()}
Derives ClaudeAgentSDK.Options from an ASM session plus optional ASM/native
overrides.
@spec start_client(keyword(), keyword(), keyword()) :: GenServer.on_start() | {:error, ASM.Error.t() | term()}
Starts ClaudeAgentSDK.Client from ASM-style Claude configuration.
ASM configuration stays on the first argument. Claude-native options live in
native_overrides. Direct runtime overrides such as :execution_surface or
:control_request_timeout_ms live in client_opts.
@spec start_client_for_session(term(), keyword(), keyword(), keyword()) :: GenServer.on_start() | {:error, ASM.Error.t() | term()}
Starts ClaudeAgentSDK.Client from an ASM session plus optional ASM/native
overrides.