---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/llm/bedrock_converse/helpers/variables/defaultBuildConverseRequest.md
description: 'Default implementation; alias of [`buildConverseRequest`](https://adk.nht.io/api/@nhtio/adk/batteries/llm/bedrock_converse/helpers/functions/buildConverseRequest).'
---

# Variable: defaultBuildConverseRequest

```ts
const defaultBuildConverseRequest: (
  input: ConverseRequestBuildInput,
) => Promise<ConverseRequest> = buildConverseRequest;
```

Defined in: [src/batteries/llm/bedrock\_converse/helpers.ts:460](https://github.com/NHTIO/ADK/blob/master/src/src/batteries/llm/bedrock_converse/helpers.ts#L460)

Default implementation; alias of [buildConverseRequest](../functions/buildConverseRequest.md).

Assemble the native Converse request from ADK turn state. THE ordering seam.

## Parameters

| Parameter | Type                                                                               |
| --------- | ---------------------------------------------------------------------------------- |
| `input`   | [`ConverseRequestBuildInput`](../../types/interfaces/ConverseRequestBuildInput.md) |

## Returns

`Promise`<[`ConverseRequest`](../../types/interfaces/ConverseRequest.md)>

## Remarks

The translation that makes this battery different from pointing `openai_chat_completions` at a
Converse-backed gateway:

* System text becomes a top-level `system[]`, never a turn.
* A `ToolCall` becomes an `assistant` turn with a `{toolUse}` block, then a **`user`** turn with
  a `{toolResult}` block — Converse has no `tool` role.
* Blocks accumulate on the CURRENT turn where possible, so prose and a tool call emitted in the
  same assistant turn stay in one turn (the shape Converse is designed around).
* Alternation is applied last, under [ConverseRequestBuildInput.alternationPolicy](../../types/interfaces/ConverseRequestBuildInput.md#property-alternationpolicy).
* Timeline order is `createdAt`, matching the ordering guard's view, so what the guard validated
  is what gets dispatched.
