---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/tools/web_retrieval/functions/storeRetrievables.md
---

# Function: storeRetrievables()

```ts
function storeRetrievables(
  ctx: RetrievableStoreCtx,
  raws: RawRetrievable[],
  deps: {
    retrievable: Resolver<RetrievableCtor>;
  },
): Promise<Retrievable[]>;
```

Defined in: [batteries/tools/web\_retrieval/index.ts:347](https://github.com/NHTIO/ADK/blob/v1.20260609.1/src/batteries/tools/web_retrieval/index.ts#L347)

Construct [@nhtio/adk!Retrievable](../../../../common/classes/Retrievable.md)s from `RawRetrievable`s and store each via `ctx`.

## Parameters

| Parameter          | Type                                                                                                                       | Description                                                                 |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| `ctx`              | [`RetrievableStoreCtx`](../interfaces/RetrievableStoreCtx.md)                                                              | Anything with a `storeRetrievable` method (a `DispatchContext`, or a stub). |
| `raws`             | [`RawRetrievable`](../../../../common/interfaces/RawRetrievable.md)\[]                                                      | The plain records from the converters.                                      |
| `deps`             | { `retrievable`: [`Resolver`](../type-aliases/Resolver.md)<[`RetrievableCtor`](../type-aliases/RetrievableCtor.md)>; } | `{ retrievable }`: the `Retrievable` constructor or a resolver of it.       |
| `deps.retrievable` | [`Resolver`](../type-aliases/Resolver.md)<[`RetrievableCtor`](../type-aliases/RetrievableCtor.md)>                       | -                                                                           |

## Returns

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

The constructed `Retrievable` instances, in input order.

## Remarks

This is the only function here that touches a core class, and it does so through an injected
**resolver** (`deps.retrievable`) so the glue itself never value-imports `Retrievable`. Each
record's `RawRetrievable` validation (including the required `trustTier`) fires at construction.
For reader-backed content, the caller's `spool` hook will typically have used
`ctx.storeRetrievableBytes` already; this helper just persists the records into the turn.
