feat: 统一自动化任务调度配置并增强聊天流恢复
This commit is contained in:
@@ -187,6 +187,7 @@ class AgUiService {
|
||||
String? eventType;
|
||||
String? eventId;
|
||||
var hasBoundExpectedRun = false;
|
||||
var hasSeenTerminalForRun = false;
|
||||
final dataBuffer = StringBuffer();
|
||||
final done = Completer<void>();
|
||||
late final StreamSubscription<String> subscription;
|
||||
@@ -257,6 +258,7 @@ class AgUiService {
|
||||
eventThreadId == null || eventThreadId == threadId;
|
||||
if (isTerminalEvent &&
|
||||
(isTargetRun || (hasBoundExpectedRun && isThreadMatched))) {
|
||||
hasSeenTerminalForRun = true;
|
||||
stopStream();
|
||||
return;
|
||||
}
|
||||
@@ -291,6 +293,16 @@ class AgUiService {
|
||||
stopStream(error: error, stackTrace: stackTrace);
|
||||
},
|
||||
onDone: () {
|
||||
if (streamToken != _activeStreamToken) {
|
||||
stopStream();
|
||||
return;
|
||||
}
|
||||
if (!hasSeenTerminalForRun) {
|
||||
stopStream(
|
||||
error: StateError('SSE closed before terminal event for run'),
|
||||
);
|
||||
return;
|
||||
}
|
||||
stopStream();
|
||||
},
|
||||
cancelOnError: false,
|
||||
|
||||
Reference in New Issue
Block a user