---
url: 'https://adk.nht.io/api/@nhtio/adk/types/type-aliases/RetrievableRetrievalFn.md'
description: >-
  A function that retrieves the retrievable (RAG) records relevant to the
  current turn.
---

# Type Alias: RetrievableRetrievalFn

```ts
type RetrievableRetrievalFn = (
  ctx: TurnContext,
) => Retrievable[] | Promise<Retrievable[]>;
```

Defined in: [lib/contracts/turn\_runner\_context.ts:103](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/contracts/turn_runner_context.ts#L103)

A function that retrieves the retrievable (RAG) records relevant to the current turn.

## Parameters

| Parameter | Type                                          |
| --------- | --------------------------------------------- |
| `ctx`     | [`TurnContext`](../interfaces/TurnContext.md) |

## Returns

| [`Retrievable`](../../common/classes/Retrievable.md)\[]
| `Promise`<[`Retrievable`](../../common/classes/Retrievable.md)\[]>

## Remarks

Receives the active [TurnContext](../interfaces/TurnContext.md) so implementations can rank, filter, or compose
retrieval results against the turn-specific state (system prompt, standing instructions, etc.).
The retrieval middleware that produces these records is responsible for assigning each one's
`trustTier` — batteries MUST NOT auto-classify retrieved content.
May be synchronous or asynchronous.
