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

# Function: resolveIsolatedServiceSpec()

```ts
function resolveIsolatedServiceSpec<M, S, E>(
  input: IsolatedServiceSpecInput<M, S, E>,
): IsolatedServiceSpec<M, S, E>;
```

Defined in: [src/batteries/isolation/types.ts:198](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/types.ts#L198)

Resolve an isolated-service spec input into its final [IsolatedServiceSpec](../interfaces/IsolatedServiceSpec.md) shape — filling in
`{}` defaults for omitted `methods`/`streams`/`events`. Pure and zero-import: performs NO validation
(no duplicate-name check, no empty-`name` check). This is the primitive the public,
validating `defineIsolatedService` (exported from `validation.ts` and re-exported from this
battery's `index.ts` barrel) delegates to after it validates the input — call this directly only
from tests that intentionally want to bypass validation.

## Type Parameters

| Type Parameter                                            | Default type                                                                                                    |
| --------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `M` *extends* [`MethodMap`](../type-aliases/MethodMap.md) | [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)<`never`, `never`> |
| `S` *extends* [`StreamMap`](../type-aliases/StreamMap.md) | [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)<`never`, `never`> |
| `E` *extends* [`EventMap`](../type-aliases/EventMap.md)   | [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)<`never`, `never`> |

## Parameters

| Parameter | Type                                                                                     |
| --------- | ---------------------------------------------------------------------------------------- |
| `input`   | [`IsolatedServiceSpecInput`](../interfaces/IsolatedServiceSpecInput.md)<`M`, `S`, `E`> |

## Returns

[`IsolatedServiceSpec`](../interfaces/IsolatedServiceSpec.md)<`M`, `S`, `E`>
