Skip to content

Commit 932491f

Browse files
committed
feat: support heartbeat events in stream chunks
1 parent ef8ab06 commit 932491f

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

lib/ai/pattern-model.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,15 @@ export class PatternModel implements LanguageModelV1 {
9696
* TODO: Re-enable reasoning when backend supports it
9797
* https://github.com/pattern-tech/pattern-app/issues/27
9898
*/
99-
} else if (event.type === 'completion') {
99+
} else if (
100+
event.type === 'completion' ||
101+
event.type === 'heartbeat'
102+
) {
103+
/**
104+
* Ignore heartbeat and completion events. Completion event is
105+
* identified automatically when the stream is ended, and the
106+
* heartbeat event is only for keeping the connection alive
107+
*/
100108
} else {
101109
controller.enqueue({
102110
type: 'error',

lib/ai/types.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,16 @@ export interface CompletionEvent {
1414
data: 'Stream completed';
1515
}
1616

17+
export interface HeartbeatEvent {
18+
type: 'heartbeat';
19+
data: 'still_processing';
20+
}
21+
1722
export type PatternStreamingResponseEvent =
1823
| TokenEvent
1924
| ToolStartEvent
20-
| CompletionEvent;
25+
| CompletionEvent
26+
| HeartbeatEvent;
2127

2228
export interface PatternProviderMetadata {
2329
accessToken: string;

0 commit comments

Comments
 (0)