# `ASM.Remote.Capabilities`
[🔗](https://github.com/nshkrdotcom/agent_session_manager/blob/v0.9.2/lib/asm/remote/capabilities.ex#L1)

Remote node capability and compatibility handshake helpers.

# `handshake_t`

```elixir
@type handshake_t() :: %{
  asm_version: String.t(),
  otp_release: String.t(),
  capabilities: [atom()]
}
```

# `current_asm_version`

```elixir
@spec current_asm_version() :: String.t()
```

# `current_otp_release`

```elixir
@spec current_otp_release() :: String.t()
```

# `handshake`

```elixir
@spec handshake() :: handshake_t()
```

# `otp_major_compatible?`

```elixir
@spec otp_major_compatible?(String.t(), String.t()) :: boolean()
```

# `required_capabilities`

```elixir
@spec required_capabilities() :: [atom()]
```

# `version_compatible?`

```elixir
@spec version_compatible?(String.t(), String.t()) :: boolean()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
