---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/context/thrift/contracts/type-aliases/IsSummaryMessageFn.md
description: >-
  Decide whether a message is the load-bearing "running summary" a
  compacting/summarizing strategy maintains — content that stands in for every
  older turn that strategy folded away, and so must never be shed like an
  ordinary old turn even though it is chronologically the oldest message in the
  working set. Injectable; see the `isSummaryMessage` option on {@link
  @nhtio/adk/batteries/context/thrift/subtractive_pass!subtractToFit} for the
  calibrated default (`id === '__compact-summary'`). Callers who never run a
  summarizing strategy alongside thrift can ignore this entirely — the default
  predicate simply never matches their messages.
---

# Type Alias: IsSummaryMessageFn

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

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

Decide whether a message is the load-bearing "running summary" a compacting/summarizing strategy
maintains — content that stands in for every older turn that strategy folded away, and so must
never be shed like an ordinary old turn even though it is chronologically the oldest message in the
working set. Injectable; see the `isSummaryMessage` option on
[@nhtio/adk/batteries/context/thrift/subtractive\_pass!subtractToFit](../../subtractive_pass/functions/subtractToFit.md) for the calibrated
default (`id === '__compact-summary'`). Callers who never run a summarizing strategy alongside
thrift can ignore this entirely — the default predicate simply never matches their messages.

## Parameters

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

## Returns

`boolean`
