---
url: >-
  https://adk.nht.io/api/@nhtio/adk/common/functions/registerSpoolReaderResolver.md
---

# Function: registerSpoolReaderResolver()

```ts
function registerSpoolReaderResolver(
  tag: string,
  resolver: SpoolReaderResolver,
): void;
```

Defined in: [src/lib/contracts/reader\_resolvers.ts:69](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/lib/contracts/reader_resolvers.ts#L69)

Register (or replace) the resolver that re-binds a `spool:` reader handle on decode.

## Parameters

| Parameter  | Type                                                            | Description                                                                                                          |
| ---------- | --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `tag`      | `string`                                                        | The descriptor tag this resolver handles (e.g. `"spool:flydrive"`).                                                  |
| `resolver` | [`SpoolReaderResolver`](../type-aliases/SpoolReaderResolver.md) | Factory turning a captured locator back into a live [SpoolReader](../../spooled_artifact/interfaces/SpoolReader.md). |

## Returns

`void`

## Remarks

Call once at application startup, before `decode()`. Durable-store resolvers (flydrive, OPFS) must
capture the live `Disk`/OPFS root — the locator carries only the key. The in-memory resolver
auto-registers when the encoding battery loads. Idempotent: re-registering the same `tag` overwrites.
