Files
openclaw/src/shared/deferred-event-buffer.ts
Peter Steinberger 0e7b5c3429 feat(anthropic): support Claude Fable 5 adaptive thinking (#91882)
* feat(anthropic): support Claude Fable 5

* test(anthropic): tighten Fable stream fixtures

* fix(anthropic): preserve Vertex input types

* test(anthropic): use provider-ready Vertex effort

* fix(anthropic): support Fable deployment aliases

* fix(anthropic): discard incomplete Fable output

* feat(anthropic): support Fable on Bedrock

* fix(anthropic): preserve Fable reasoning contracts

* refactor(anthropic): unify canonical Claude model policy

* fix(anthropic): satisfy extension thinking types

* test(anthropic): complete canonical alias fixture

* fix(bedrock): scope thinking case declarations
2026-06-10 08:08:35 -07:00

23 lines
440 B
TypeScript

type EventSink<T> = {
push(event: T): void;
};
export function createDeferredEventBuffer<T>(sink: EventSink<T>, onBufferedEvent?: () => void) {
let events: T[] = [];
return {
push(event: T): void {
events.push(event);
onBufferedEvent?.();
},
flush(): void {
for (const event of events) {
sink.push(event);
}
events = [];
},
discard(): void {
events = [];
},
};
}