---
url: 'https://adk.nht.io/api/@nhtio/adk/shims/type-aliases/AdkResolverFn.md'
description: >-
  The seam: a zero-argument, consumer-supplied function that produces the bundle
  a shim wraps, synchronously or asynchronously. All environment-specific
  loading knowledge — where the bundle lives, how it's fetched, whether it's
  cached upstream — lives inside this one function; the shim itself is entirely
  agnostic to how `TBundle` gets produced.
---

# Type Alias: AdkResolverFn\<TBundle>

```ts
type AdkResolverFn<TBundle> = () => TBundle | Promise<TBundle>;
```

Defined in: [src/shims/index.ts:250](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/shims/index.ts#L250)

The seam: a zero-argument, consumer-supplied function that produces the bundle a shim wraps,
synchronously or asynchronously. All environment-specific loading knowledge — where the bundle
lives, how it's fetched, whether it's cached upstream — lives inside this one function; the shim
itself is entirely agnostic to how `TBundle` gets produced.

## Type Parameters

| Type Parameter | Default type   | Description                                                                                                                                                                                                                                                       |
| -------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `TBundle`      | `AdkNamespace` | The shape of the value this resolver produces. Defaults to AdkNamespace (the full `@nhtio/adk` root namespace) since that is the motivating case, but any object shape works — see [createAdkShim](../functions/createAdkShim.md)'s battery-intersection example. |

## Returns

`TBundle` | `Promise`<`TBundle`>

The bundle, or a `Promise` of it. Rejecting (or throwing synchronously) surfaces as
[E\_SHIM\_RESOLUTION\_FAILED](../variables/E_SHIM_RESOLUTION_FAILED.md) from the owning shim's `resolve()`.
