---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/context/thrift/contracts/type-aliases/IsEphemeralMessageFn.md
description: >-
  Decide whether a message is an EPHEMERAL control message — one that is
  re-derived fresh every dispatch iteration and never persisted, so only the
  LATEST surviving copy carries live information and every older one is pure
  waste. Injectable so a caller's own id-tagging scheme (or a caller with no
  such concept at all) can plug in; see the `isEphemeralMessage` option on
  {@link @nhtio/adk/batteries/context/thrift/subtractive_pass!subtractToFit} for
  the calibrated default (`id.startsWith('__eph-')`, the flagship agent's own
  convention).
---

# Type Alias: IsEphemeralMessageFn

```ts
type IsEphemeralMessageFn = (message: WorkingMessage) => boolean;
```

Defined in: [src/batteries/context/thrift/contracts.ts:287](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/context/thrift/contracts.ts#L287)

Decide whether a message is an EPHEMERAL control message — one that is re-derived fresh every
dispatch iteration and never persisted, so only the LATEST surviving copy carries live information
and every older one is pure waste. Injectable so a caller's own id-tagging scheme (or a caller with
no such concept at all) can plug in; see the `isEphemeralMessage` option on
[@nhtio/adk/batteries/context/thrift/subtractive\_pass!subtractToFit](../../subtractive_pass/functions/subtractToFit.md) for the calibrated
default (`id.startsWith('__eph-')`, the flagship agent's own convention).

## Parameters

| Parameter | Type                                                |
| --------- | --------------------------------------------------- |
| `message` | [`WorkingMessage`](../interfaces/WorkingMessage.md) |

## Returns

`boolean`
