mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-24 19:29:34 +00:00
* 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
23 lines
440 B
TypeScript
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 = [];
|
|
},
|
|
};
|
|
}
|