# ASM v0.10.0 - API Reference

## Modules

- [ASM.AdapterSelectionPolicy](ASM.AdapterSelectionPolicy.md): Phase 6 adapter selection policy declaration for ASM provider resolution.
- [ASM.Cost](ASM.Cost.md): Cost helpers for token usage projection and accumulation.

- [ASM.Cost.Models](ASM.Cost.Models.md): Lightweight model pricing lookup table for provider cost estimation.

- [ASM.EnvSnapshot](ASM.EnvSnapshot.md): Allowlist filter for the `config/runtime.exs` environment snapshot.
- [ASM.Execution.Config](ASM.Execution.Config.md): Normalized execution-mode, execution-surface, and execution-environment
configuration with precedence-aware merging.
- [ASM.Execution.Environment](ASM.Execution.Environment.md): Normalized runtime environment and policy context for ASM execution.

- [ASM.Extensions](ASM.Extensions.md): Boundary root for optional extension domains.

- [ASM.InferenceEndpoint.RuntimeConfig](ASM.InferenceEndpoint.RuntimeConfig.md): Supervised runtime override owner for inference endpoint tests and examples.

- [ASM.Migration.MainCompat](ASM.Migration.MainCompat.md): Compatibility helpers for migrating `main` SessionManager input/event shapes
to the rebuild `ASM` runtime.
- [ASM.Remote.BackendStarter](ASM.Remote.BackendStarter.md): Remote RPC entrypoint for starting backend sessions.

- [ASM.Remote.Capabilities](ASM.Remote.Capabilities.md): Remote node capability and compatibility handshake helpers.

- [ASM.Remote.NodeConnector](ASM.Remote.NodeConnector.md): Remote node connection and preflight checks.

- [ASM.RuntimeAuth](ASM.RuntimeAuth.md): ASM-local runtime-auth context for standalone provider execution.
- [ASM.RuntimeAuth.CodexMaterialization](ASM.RuntimeAuth.CodexMaterialization.md): Codex-specific governed materialization guard owned by ASM.
- [ASM.RuntimeAuth.ConnectorBinding](ASM.RuntimeAuth.ConnectorBinding.md): Per-run connector binding evidence consumed by ASM run metadata.

- [ASM.RuntimeAuth.ConnectorInstance](ASM.RuntimeAuth.ConnectorInstance.md): Concrete standalone connector identity selected for a provider call.

- [ASM.RuntimeAuth.ExecutionContext](ASM.RuntimeAuth.ExecutionContext.md): Runtime invocation context owned by ASM standalone execution.

- [ASM.RuntimeAuth.HandoffPacket](ASM.RuntimeAuth.HandoffPacket.md): Ref-only ASM handoff packet for governed session transfer.
- [ASM.RuntimeAuth.ProviderAccountIdentity](ASM.RuntimeAuth.ProviderAccountIdentity.md): Redacted provider account evidence, distinct from connector identity.

- [ASM.Schema.Event](ASM.Schema.Event.md): Schema-backed parser for ASM runtime event envelopes before projection into
`%ASM.Event{}`.

- [ASM.Schema.ProviderOptions](ASM.Schema.ProviderOptions.md): ASM-owned schema validation for provider option maps and provider profile
limits.

- [ASM.Schema.RemoteNode](ASM.Schema.RemoteNode.md): Schema-backed parser for remote node execution configuration owned by ASM.

- [ASM.Telemetry](ASM.Telemetry.md): Telemetry helpers for standard ASM runtime lifecycle signals.

- [ASM.Test](ASM.Test.md): Test helpers for quickly creating sessions and provider fixtures.

- [ASM.Test.Factory](ASM.Test.Factory.md): Builders for normalized runtime structs used in tests.

- Public API
  - [ASM](ASM.md): Public facade for the ASM session runtime.

  - [ASM.Error](ASM.Error.md): Canonical runtime error type for ASM.

  - [ASM.Event](ASM.Event.md): Run-scoped envelope around normalized core runtime events.
  - [ASM.History](ASM.History.md): Replay and rebuild helpers on top of `ASM.Store`.

  - [ASM.InferenceEndpoint](ASM.InferenceEndpoint.md): Publishes CLI-backed ASM providers as endpoint-shaped inference targets.

  - [ASM.Permission](ASM.Permission.md): Normalizes permission modes into a common runtime model.
  - [ASM.ProviderRegistry](ASM.ProviderRegistry.md): Resolves providers to backend lanes and runtime metadata.
  - [ASM.Result](ASM.Result.md): Final run projection returned by `ASM.query/3`.
  - [ASM.Stream](ASM.Stream.md): Stream helpers for run event consumption and final result projection.

- Inference Endpoint Contracts
  - [ASM.InferenceEndpoint.BackendManifest](ASM.InferenceEndpoint.BackendManifest.md): Shared backend manifest contract for the ASM CLI inference endpoint facade.

  - [ASM.InferenceEndpoint.CompatibilityResult](ASM.InferenceEndpoint.CompatibilityResult.md): Shared compatibility result contract for ASM endpoint publication.

  - [ASM.InferenceEndpoint.ConsumerManifest](ASM.InferenceEndpoint.ConsumerManifest.md): Shared consumer manifest contract for the ASM inference endpoint facade.

  - [ASM.InferenceEndpoint.EndpointDescriptor](ASM.InferenceEndpoint.EndpointDescriptor.md): Shared endpoint publication contract for CLI-backed ASM inference routes.

- Backends
  - [ASM.ProviderBackend](ASM.ProviderBackend.md): Runtime contract for provider backends.
  - [ASM.ProviderBackend.Core](ASM.ProviderBackend.Core.md): Backend that runs the shared CLI runtime from `cli_subprocess_core`.

  - [ASM.ProviderBackend.Event](ASM.ProviderBackend.Event.md): ASM-owned event delivery envelope emitted by provider backends.

  - [ASM.ProviderBackend.Info](ASM.ProviderBackend.Info.md): ASM-owned backend metadata contract consumed by the orchestration kernel.

  - [ASM.ProviderBackend.SDK](ASM.ProviderBackend.SDK.md): Backend that runs provider SDK runtime kits when available locally.

  - [ASM.ProviderBackend.SdkUnavailableError](ASM.ProviderBackend.SdkUnavailableError.md): Stable cause category for explicit SDK-lane requests that cannot run.

- Providers
  - [ASM.Options](ASM.Options.md): Shared runtime options validation and normalization.

  - [ASM.Provider](ASM.Provider.md): Provider definition data used by the backend registry.

  - [ASM.ProviderFeatures](ASM.ProviderFeatures.md): Public provider feature manifests for ASM.
  - [ASM.ProviderRuntimeProfile](ASM.ProviderRuntimeProfile.md): ASM view of configured CLI core provider runtime profiles.
  - [ASM.Options.Amp](ASM.Options.Amp.md): Amp provider-specific option schema.

  - [ASM.Options.Antigravity](ASM.Options.Antigravity.md): Antigravity CLI provider-specific option schema.

  - [ASM.Options.Claude](ASM.Options.Claude.md): Claude provider-specific option schema.

  - [ASM.Options.Codex](ASM.Options.Codex.md): Codex exec provider-specific option schema.

  - [ASM.Options.Cursor](ASM.Options.Cursor.md): Cursor Agent CLI provider-specific option schema.

  - [ASM.Options.PartialFeatureUnsupportedError](ASM.Options.PartialFeatureUnsupportedError.md): Returned when a partial/discovery feature is used as if it were common.

  - [ASM.Options.ProviderMismatchError](ASM.Options.ProviderMismatchError.md): Returned when an API receives conflicting positional and option providers.

  - [ASM.Options.ProviderNativeOptionError](ASM.Options.ProviderNativeOptionError.md): Returned when provider-native behavior is passed through the generic ASM path.

  - [ASM.Options.Shell](ASM.Options.Shell.md): Shell provider-specific option schema.

  - [ASM.Options.UnsupportedExecutionSurfaceError](ASM.Options.UnsupportedExecutionSurfaceError.md): Returned when preflight cannot normalize an execution surface.

  - [ASM.Options.UnsupportedOptionError](ASM.Options.UnsupportedOptionError.md): Returned when a strict ASM common preflight receives an unsupported option.

  - [ASM.Options.Warning](ASM.Options.Warning.md): Structured compatibility warning returned by `ASM.Options.preflight/3`.

  - [ASM.Provider.ExampleSupport](ASM.Provider.ExampleSupport.md): Provider-specific values used by examples and setup guidance.

  - [ASM.Provider.Profile](ASM.Provider.Profile.md): Session admission defaults for a provider.

- Runtime
  - [ASM.SessionControl](ASM.SessionControl.md): Provider-native session control helpers for historical resume and
interrupt-then-intervene flows.

  - [ASM.SessionControl.Entry](ASM.SessionControl.Entry.md): Standardized provider-native resumable session entry.

  - [ASM.Run.ApprovalCoordinator](ASM.Run.ApprovalCoordinator.md): Pure state helper for approval ownership indexing.

  - [ASM.Run.EventReducer](ASM.Run.EventReducer.md): Deterministic reducer from run-scoped events to result projections.

  - [ASM.Run.Server](ASM.Run.Server.md): Per-run worker that owns backend lifecycle and event fanout.

  - [ASM.Run.State](ASM.Run.State.md): Run process state with reducer-owned projection fields.

  - [ASM.Run.Supervisor](ASM.Run.Supervisor.md): Dynamic supervisor for per-run workers.

  - [ASM.Session.Continuation](ASM.Session.Continuation.md): Session checkpoint helpers for capture and restore seams.

  - [ASM.Session.Server](ASM.Session.Server.md): Session aggregate root for run admission, approval routing, and cost totals.

  - [ASM.Session.State](ASM.Session.State.md): Aggregate state owned by `ASM.Session.Server`.

  - [ASM.Session.Subtree](ASM.Session.Subtree.md): Per-session supervision subtree.
  - [ASM.Session.Supervisor](ASM.Session.Supervisor.md): Root dynamic supervisor for session subtrees.

- Streaming &amp; Tooling
  - [ASM.HostTool](ASM.HostTool.md): Provider-neutral host dynamic tool contracts.
  - [ASM.HostTool.Request](ASM.HostTool.Request.md): Host dynamic tool invocation request.
  - [ASM.HostTool.Response](ASM.HostTool.Response.md): Host dynamic tool invocation response.
  - [ASM.HostTool.Spec](ASM.HostTool.Spec.md): Host dynamic tool declaration.
  - [ASM.Store](ASM.Store.md): Persistence contract for event storage and replay.

  - [ASM.Tool](ASM.Tool.md): Behaviour for run-time tool handlers.

  - [ASM.Store.Memory](ASM.Store.Memory.md): In-memory event store with idempotent append by event id.

  - [ASM.Tool.Executor](ASM.Tool.Executor.md): Synchronous tool execution adapter used by `ASM.Run.Server`.

  - [ASM.Tool.MCP](ASM.Tool.MCP.md): Optional MCP tool bridge placeholder.

- Pipeline
  - [ASM.Pipeline](ASM.Pipeline.md): Synchronous event pipeline with optional event injection.

  - [ASM.Pipeline.CostTracker](ASM.Pipeline.CostTracker.md): Pipeline plug that emits `:cost_update` control events from result usage.

  - [ASM.Pipeline.Plug](ASM.Pipeline.Plug.md): Behaviour for synchronous run-event pipeline plugs.

  - [ASM.Pipeline.PolicyGuard](ASM.Pipeline.PolicyGuard.md): Pipeline plug that enforces lightweight policy checks on events.

- Payload Types
  - [ASM.Content](ASM.Content.md): Content block variants shared across messages.

  - [ASM.Control](ASM.Control.md): Control-layer payload variants.

  - [ASM.Message](ASM.Message.md): Conversation-layer payload variants.

  - [ASM.Content.Text](ASM.Content.Text.md): Plain text content emitted by a model response.

  - [ASM.Content.Thinking](ASM.Content.Thinking.md): Provider thinking content, optionally signed when supported.

  - [ASM.Content.ToolResult](ASM.Content.ToolResult.md): Tool response payload linked to a prior tool call.

  - [ASM.Content.ToolUse](ASM.Content.ToolUse.md): Structured request to invoke a named tool with JSON input.

  - [ASM.Control.ApprovalRequest](ASM.Control.ApprovalRequest.md): Tool approval prompt emitted when the provider requires operator input.

  - [ASM.Control.ApprovalResolution](ASM.Control.ApprovalResolution.md): Approval decision sent back to resume or block a tool call.

  - [ASM.Control.CostUpdate](ASM.Control.CostUpdate.md): Incremental token and cost accounting update.

  - [ASM.Control.GuardrailTrigger](ASM.Control.GuardrailTrigger.md): Signal that a policy/guardrail rule was triggered.

  - [ASM.Control.Raw](ASM.Control.Raw.md): Provider-native control event preserved in normalized form.

  - [ASM.Control.RunLifecycle](ASM.Control.RunLifecycle.md): Run lifecycle checkpoint emitted by the runtime.

  - [ASM.Message.Assistant](ASM.Message.Assistant.md): Assistant-authored message composed of one or more content blocks.

  - [ASM.Message.Error](ASM.Message.Error.md): Structured error message emitted by the provider/runtime.

  - [ASM.Message.Partial](ASM.Message.Partial.md): Incremental text or thinking delta emitted during streaming.

  - [ASM.Message.Raw](ASM.Message.Raw.md): Provider-native message event preserved in normalized form.

  - [ASM.Message.Result](ASM.Message.Result.md): Terminal metadata describing why a run completed.

  - [ASM.Message.System](ASM.Message.System.md): System-level initialization payloads.

  - [ASM.Message.Thinking](ASM.Message.Thinking.md): Provider thinking payload emitted as a top-level message.

  - [ASM.Message.ToolResult](ASM.Message.ToolResult.md): Result returned to the model for a previously requested tool call.

  - [ASM.Message.ToolUse](ASM.Message.ToolUse.md): Request from the model to execute a tool.

  - [ASM.Message.User](ASM.Message.User.md): User-authored message composed of one or more content blocks.

- Extensions/Persistence
  - [ASM.Extensions.Persistence](ASM.Extensions.Persistence.md): Public persistence extension API.
  - [ASM.Extensions.Persistence.Adapter](ASM.Extensions.Persistence.Adapter.md): Store adapter contract for persistence extension implementations.

  - [ASM.Extensions.Persistence.FileStore](ASM.Extensions.Persistence.FileStore.md): Durable append-only event store backed by a local file.
  - [ASM.Extensions.Persistence.PipelinePlug](ASM.Extensions.Persistence.PipelinePlug.md): Non-blocking pipeline plug that forwards events to an async persistence writer.
  - [ASM.Extensions.Persistence.Writer](ASM.Extensions.Persistence.Writer.md): Async writer process that persists events outside the run process path.

- Extensions/Routing
  - [ASM.Extensions.Routing](ASM.Extensions.Routing.md): Public routing extension API.
  - [ASM.Extensions.Routing.HealthTracker](ASM.Extensions.Routing.HealthTracker.md): Provider health state machine with temporary exclusion windows.

  - [ASM.Extensions.Routing.Router](ASM.Extensions.Routing.Router.md): Extension-owned routing process for provider selection and failover.

  - [ASM.Extensions.Routing.Strategy](ASM.Extensions.Routing.Strategy.md): Selection strategy contract for routing provider candidates.

  - [ASM.Extensions.Routing.Strategy.Priority](ASM.Extensions.Routing.Strategy.Priority.md): Stable priority strategy that always picks the lowest priority value.

  - [ASM.Extensions.Routing.Strategy.RoundRobin](ASM.Extensions.Routing.Strategy.RoundRobin.md): Deterministic round-robin strategy.

  - [ASM.Extensions.Routing.Strategy.Weighted](ASM.Extensions.Routing.Strategy.Weighted.md): Deterministic weighted round-robin strategy.

- Extensions/Policy
  - [ASM.Extensions.Policy](ASM.Extensions.Policy.md): Public policy extension API.
  - [ASM.Extensions.Policy.Enforcer](ASM.Extensions.Policy.Enforcer.md): Sync-only policy pipeline plug.
  - [ASM.Extensions.Policy.Violation](ASM.Extensions.Policy.Violation.md): Normalized policy-violation descriptor with explicit action semantics.

- Extensions/Rendering
  - [ASM.Extensions.Rendering](ASM.Extensions.Rendering.md): Public rendering extension API.
  - [ASM.Extensions.Rendering.Renderer](ASM.Extensions.Rendering.Renderer.md): Behaviour for rendering `%ASM.Event{}` values into display iodata.

  - [ASM.Extensions.Rendering.Renderers.Compact](ASM.Extensions.Rendering.Renderers.Compact.md): Compact token renderer for `%ASM.Event{}` streams.

  - [ASM.Extensions.Rendering.Renderers.Verbose](ASM.Extensions.Rendering.Renderers.Verbose.md): Verbose line-by-line renderer for `%ASM.Event{}` streams.

  - [ASM.Extensions.Rendering.Sink](ASM.Extensions.Rendering.Sink.md): Behaviour for sink destinations that receive rendered iodata and events.

  - [ASM.Extensions.Rendering.Sinks.Callback](ASM.Extensions.Rendering.Sinks.Callback.md): Sink that forwards events and rendered iodata to a callback function.
  - [ASM.Extensions.Rendering.Sinks.File](ASM.Extensions.Rendering.Sinks.File.md): Sink that writes rendered output to a file with ANSI escape codes stripped.
  - [ASM.Extensions.Rendering.Sinks.JSONL](ASM.Extensions.Rendering.Sinks.JSONL.md): Sink that writes events as newline-delimited JSON.
  - [ASM.Extensions.Rendering.Sinks.TTY](ASM.Extensions.Rendering.Sinks.TTY.md): Sink that writes rendered output to an IO device (default: `:stdio`).

- Extensions/Workspace
  - [ASM.Extensions.Workspace](ASM.Extensions.Workspace.md): Public workspace extension API.
  - [ASM.Extensions.Workspace.Backend](ASM.Extensions.Workspace.Backend.md): Behavior contract for workspace snapshot backends.

  - [ASM.Extensions.Workspace.Diff](ASM.Extensions.Workspace.Diff.md): Workspace diff result between two snapshots.

  - [ASM.Extensions.Workspace.GitBackend](ASM.Extensions.Workspace.GitBackend.md): Git-backed workspace snapshots, diffs, and rollback.

  - [ASM.Extensions.Workspace.HashBackend](ASM.Extensions.Workspace.HashBackend.md): Filesystem hash backend used when git snapshots are unavailable.

  - [ASM.Extensions.Workspace.Snapshot](ASM.Extensions.Workspace.Snapshot.md): Immutable workspace snapshot descriptor.

- Extensions/PubSub
  - [ASM.Extensions.PubSub](ASM.Extensions.PubSub.md): Public PubSub extension API.
  - [ASM.Extensions.PubSub.Adapter](ASM.Extensions.PubSub.Adapter.md): Behaviour for PubSub adapter implementations.
  - [ASM.Extensions.PubSub.Adapters.Local](ASM.Extensions.PubSub.Adapters.Local.md): Local in-node PubSub adapter built on `Registry` duplicate keys.
  - [ASM.Extensions.PubSub.Adapters.Phoenix](ASM.Extensions.PubSub.Adapters.Phoenix.md): Phoenix PubSub adapter.
  - [ASM.Extensions.PubSub.Broadcaster](ASM.Extensions.PubSub.Broadcaster.md): Async broadcaster process that publishes `%ASM.Event{}` outside run-critical paths.
  - [ASM.Extensions.PubSub.Payload](ASM.Extensions.PubSub.Payload.md): Canonical payload contract for PubSub broadcast events.
  - [ASM.Extensions.PubSub.PipelinePlug](ASM.Extensions.PubSub.PipelinePlug.md): Non-blocking pipeline plug that forwards events to an async PubSub broadcaster.
  - [ASM.Extensions.PubSub.Topic](ASM.Extensions.PubSub.Topic.md): Canonical topic strategy for PubSub event fanout.

- Extensions/Provider Native
  - [ASM.Extensions.Provider](ASM.Extensions.Provider.md): Boundary root reserved for provider add-on extension domains.
  - [ASM.Extensions.ProviderSDK](ASM.Extensions.ProviderSDK.md): Public discovery API for optional provider-native extension namespaces.
  - [ASM.Extensions.ProviderSDK.Amp](ASM.Extensions.ProviderSDK.Amp.md): Discovery metadata and strict derivation helpers for the optional Amp-native
ASM extension namespace.
  - [ASM.Extensions.ProviderSDK.Claude](ASM.Extensions.ProviderSDK.Claude.md): Discovery metadata and bridge helpers for the optional Claude-native ASM
extension namespace.
  - [ASM.Extensions.ProviderSDK.Codex](ASM.Extensions.ProviderSDK.Codex.md): Discovery metadata and bridge helpers for the optional Codex-native ASM
extension namespace.
  - [ASM.Extensions.ProviderSDK.Cursor](ASM.Extensions.ProviderSDK.Cursor.md): Discovery metadata and strict derivation helpers for the optional
Cursor-native ASM extension namespace.
  - [ASM.Extensions.ProviderSDK.Extension](ASM.Extensions.ProviderSDK.Extension.md): Metadata contract for an optional provider-native ASM extension namespace.

