import { ShortcutXLModelCallTransportKind, splitShortcutXLModelStreamRequest, toShortcutXLModelStreamRequest } from '../contracts/model-call.js';
import { runShortcutXLModelStreamRequest } from './stream.js';
export function createShortcutProxyModelStreamTransport() {
    return {
        kind: ShortcutXLModelCallTransportKind.ShortcutProxy,
        stream(call, options) {
            return runShortcutXLModelStreamRequest(toShortcutXLModelStreamRequest(call), options);
        }
    };
}
export function createShortcutXLModelCallOrchestrator(options = {}) {
    const streamTransport = options.streamTransport ?? createShortcutProxyModelStreamTransport();
    return {
        stream(request, streamOptions) {
            return streamTransport.stream(splitShortcutXLModelStreamRequest(request), streamOptions);
        }
    };
}
export function runShortcutXLModelCallStreamRequest(request, options) {
    return createShortcutXLModelCallOrchestrator().stream(request, options);
}
//# sourceMappingURL=model-call-orchestrator.js.map