Skip to content

Commit 02a2a52

Browse files
zirkelcCopilot
andauthored
chore(main): release 1.6.0 (#12)
* chore(main): release 1.6.0 * docs: document consumeUIMessageStream in README (#13) * Initial plan * docs: add consumeUIMessageStream documentation to README Co-authored-by: zirkelc <950244+zirkelc@users.noreply.github.com> * docs: remove advanced example from consumeUIMessageStream section Co-authored-by: zirkelc <950244+zirkelc@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: zirkelc <950244+zirkelc@users.noreply.github.com> --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: zirkelc <950244+zirkelc@users.noreply.github.com>
1 parent 290f418 commit 02a2a52

3 files changed

Lines changed: 37 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## [1.6.0](https://github.com/zirkelc/ai-stream-utils/compare/v1.5.0...v1.6.0) (2026-02-11)
4+
5+
6+
### Features
7+
8+
* add `consumeUIMessageStream` utility ([#11](https://github.com/zirkelc/ai-stream-utils/issues/11)) ([290f418](https://github.com/zirkelc/ai-stream-utils/commit/290f41827cc4762356a3d3f79f8bc0a16b684564))
9+
310
## [1.5.0](https://github.com/zirkelc/ai-stream-utils/compare/v1.4.2...v1.5.0) (2026-01-29)
411

512

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ npm install ai-stream-utils
3535
| [`mapUIMessageStream`](#mapuimessagestream) | [UIMessageChunk](https://github.com/vercel/ai/blob/main/packages/ai/src/ui-message-stream/ui-message-chunks.ts) | `chunk \| chunk[] \| null` | Transform or filter chunks in real-time (e.g., smooth streaming) |
3636
| [`flatMapUIMessageStream`](#flatmapuimessagestream) | [UIMessagePart](https://ai-sdk.dev/docs/reference/ai-sdk-core/ui-message#uimessagepart-types) | `part \| part[] \| null` | Buffer until complete, then transform (e.g., redact tool output) |
3737
| [`filterUIMessageStream`](#filteruimessagestream) | [UIMessageChunk](https://github.com/vercel/ai/blob/main/packages/ai/src/ui-message-stream/ui-message-chunks.ts) | `boolean` | Include/exclude parts by type (e.g., hide reasoning) |
38+
| [`consumeUIMessageStream`](#consumeuimessagestream) | [UIMessageChunk](https://github.com/vercel/ai/blob/main/packages/ai/src/ui-message-stream/ui-message-chunks.ts) | `Promise<UIMessage>` | Consume entire stream and return final message (e.g., server-side processing) |
3839

3940
## Usage
4041

@@ -113,6 +114,26 @@ const stream = filterUIMessageStream(
113114
);
114115
```
115116

117+
### `consumeUIMessageStream`
118+
119+
The `consumeUIMessageStream` function consumes a UI message stream by fully reading it and returns the final assembled message. This is useful when you need to process the complete message on the server-side without streaming to the client.
120+
121+
```typescript
122+
import { consumeUIMessageStream } from 'ai-stream-utils';
123+
124+
const result = streamText({
125+
model: openai('gpt-4o'),
126+
prompt: 'Tell me a joke',
127+
});
128+
129+
/* Consume the entire stream and get the final message */
130+
const message = await consumeUIMessageStream(
131+
result.toUIMessageStream<MyUIMessage>()
132+
);
133+
134+
console.log(message.parts); // All parts fully assembled
135+
```
136+
116137
## Examples
117138

118139
### Smooth Streaming
@@ -577,3 +598,11 @@ function excludeParts<UI_MESSAGE extends UIMessage>(
577598
partTypes: Array<InferUIMessagePartType<UI_MESSAGE>>,
578599
): FilterUIMessageStreamPredicate<UI_MESSAGE>
579600
```
601+
602+
### `consumeUIMessageStream`
603+
604+
```typescript
605+
async function consumeUIMessageStream<UI_MESSAGE extends UIMessage>(
606+
stream: ReadableStream<InferUIMessageChunk<UI_MESSAGE>>,
607+
): Promise<UI_MESSAGE>
608+
```

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ai-stream-utils",
3-
"version": "1.5.0",
3+
"version": "1.6.0",
44
"description": "AI SDK: Filter and transform UI messages while streaming to the client",
55
"packageManager": "pnpm@10.0.0",
66
"types": "./dist/index.d.mts",

0 commit comments

Comments
 (0)