Imported as a linear vendor commit so forge rebases do not replay the upstream root tree. git-subtree-dir: third_party/pi git-subtree-split: d981de1229ef899957bbe968bc8dcda02a21f477
21 lines
683 B
TypeScript
21 lines
683 B
TypeScript
import type { StreamFn } from "./types.ts";
|
|
|
|
let defaultStreamFn: StreamFn | undefined;
|
|
|
|
/**
|
|
* Configure the fallback used by Agent and low-level loops when callers omit streamFn.
|
|
*
|
|
* Hosts that provide a default model runtime can install its stream function here
|
|
* without making pi-agent-core depend on a provider catalog or compatibility layer.
|
|
*/
|
|
export function setDefaultStreamFn(streamFn: StreamFn | undefined): void {
|
|
defaultStreamFn = streamFn;
|
|
}
|
|
|
|
export function getDefaultStreamFn(): StreamFn {
|
|
if (!defaultStreamFn) {
|
|
throw new Error("No default stream function configured. Pass streamFn explicitly or call setDefaultStreamFn().");
|
|
}
|
|
return defaultStreamFn;
|
|
}
|