crateApiYlsAgiChatStream method
Stream<ChatChunk>
crateApiYlsAgiChatStream({
- required ClientConfig config,
- required Provider provider,
- required ChatRequest request,
override
Implementation
@override Stream<ChatChunk> crateApiYlsAgiChatStream({required ClientConfig config , required Provider provider , required ChatRequest request }) {
final sink = RustStreamSink<ChatChunk>();
unawaited(handler.executeNormal(NormalTask(
callFfi: (port_) {
final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_box_autoadd_client_config(config, serializer);
sse_encode_provider(provider, serializer);
sse_encode_box_autoadd_chat_request(request, serializer);
sse_encode_StreamSink_chat_chunk_Sse(sink, serializer);
pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 8, port: port_);
},
codec:
SseCodec(
decodeSuccessData: sse_decode_unit,
decodeErrorData: sse_decode_AnyhowException,
)
,
constMeta: kCrateApiYlsAgiChatStreamConstMeta,
argValues: [config, provider, request, sink],
apiImpl: this,
)));
return sink.stream;
}