state method
ChatThreadStatusState
state({
- required String path,
- ChatThreadStatusState? previous,
- required bool supportsAgentMessages,
Implementation
ChatThreadStatusState state({required String path, ChatThreadStatusState? previous, required bool supportsAgentMessages}) {
final normalizedPath = path.trim();
final status = _statusByThreadPath[normalizedPath];
final pendingMessages = List<PendingAgentMessage>.unmodifiable(
_pendingMessagesByThreadPath[normalizedPath]?.values ?? const <PendingAgentMessage>[],
);
if (status == null && pendingMessages.isEmpty) {
return ChatThreadStatusState(supportsAgentMessages: supportsAgentMessages);
}
var startedAt = status?.startedAt;
if (status?.text != null) startedAt ??= DateTime.now();
return ChatThreadStatusState(
text: status?.text,
startedAt: startedAt,
mode: status?.text == null ? status?.mode : status?.mode ?? "busy",
turnId: status?.turnId,
pendingMessages: pendingMessages,
pendingItemId: status?.pendingItemId,
totalBytes: status?.totalBytes,
linesAdded: status?.linesAdded,
linesRemoved: status?.linesRemoved,
supportsAgentMessages: true,
);
}