2026-03-29 21:46:26 +08:00
|
|
|
import 'dart:typed_data';
|
|
|
|
|
|
|
|
|
|
abstract class ChatApi {
|
|
|
|
|
Future<Map<String, dynamic>> createRun(Map<String, dynamic> runInput);
|
|
|
|
|
|
|
|
|
|
Future<Stream<String>> streamRunEvents(
|
|
|
|
|
String threadId, {
|
2026-03-30 09:06:10 +08:00
|
|
|
required String runId,
|
2026-03-29 21:46:26 +08:00
|
|
|
String? lastEventId,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Future<Map<String, dynamic>> fetchHistory({
|
|
|
|
|
String? threadId,
|
|
|
|
|
DateTime? beforeDate,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Future<Map<String, dynamic>> uploadAttachment({
|
|
|
|
|
required String threadId,
|
|
|
|
|
required String filename,
|
|
|
|
|
required String mimeType,
|
|
|
|
|
required Uint8List bytes,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Future<Uint8List> fetchAttachmentPreview(String previewPath);
|
|
|
|
|
|
|
|
|
|
Future<String> transcribeAudio(String filePath);
|
|
|
|
|
|
|
|
|
|
Future<void> cancelRun({required String threadId, required String runId});
|
|
|
|
|
}
|