# `ReqManagedAgents.AgentCore.Client`
[🔗](https://github.com/cash-mckeeman/req_managed_agents/blob/v0.13.0/req_managed_agents/lib/req_managed_agents/agent_core/client.ex#L1)

Compatibility client for `ReqManagedAgents.Providers.BedrockAgentCore.Client`,
retaining the published client and command-result structs.

# `t`

```elixir
@type t() :: %ReqManagedAgents.AgentCore.Client{
  base_url: String.t(),
  control_base_url: String.t(),
  credentials: ReqManagedAgents.AWS.SigV4.creds(),
  receive_timeout: timeout(),
  req_options: keyword(),
  service: String.t()
}
```

# `control_plane_attempts`

```elixir
@spec control_plane_attempts(:get | :post | :delete) :: pos_integer()
```

# `create_api_key_credential_provider`

```elixir
@spec create_api_key_credential_provider(
  t() | ReqManagedAgents.Providers.BedrockAgentCore.Client.t(),
  map()
) :: {:ok, map()} | {:error, term()}
```

# `create_harness`

```elixir
@spec create_harness(
  t() | ReqManagedAgents.Providers.BedrockAgentCore.Client.t(),
  ReqManagedAgents.Providers.BedrockAgentCore.HarnessSpec.t() | map()
) :: {:ok, map()} | {:error, term()}
```

# `delete_harness`

```elixir
@spec delete_harness(
  t() | ReqManagedAgents.Providers.BedrockAgentCore.Client.t(),
  String.t()
) ::
  {:ok, map()} | {:error, term()}
```

# `get_harness`

```elixir
@spec get_harness(
  t() | ReqManagedAgents.Providers.BedrockAgentCore.Client.t(),
  String.t()
) ::
  {:ok, map()} | {:error, term()}
```

# `get_harness_endpoint`

```elixir
@spec get_harness_endpoint(
  t() | ReqManagedAgents.Providers.BedrockAgentCore.Client.t(),
  String.t(),
  String.t()
) :: {:ok, map()} | {:error, term()}
```

# `invoke_agent_runtime_command`

```elixir
@spec invoke_agent_runtime_command(
  t() | ReqManagedAgents.Providers.BedrockAgentCore.Client.t(),
  map()
) ::
  {:ok, ReqManagedAgents.AgentCore.CommandResult.t()} | {:error, term()}
```

# `invoke_harness`

```elixir
@spec invoke_harness(
  t() | ReqManagedAgents.Providers.BedrockAgentCore.Client.t(),
  map()
) ::
  {:ok, [map()]} | {:error, term()}
```

# `list_harnesses`

```elixir
@spec list_harnesses(
  t() | ReqManagedAgents.Providers.BedrockAgentCore.Client.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}
```

# `new`

```elixir
@spec new(keyword()) :: t()
```

Build a client with the published AgentCore client struct.

---

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