Show bridge resultSummary in task output

This commit is contained in:
Haitao Pan 2026-04-11 18:44:17 +08:00
parent d19d40e594
commit 8ab640bc5a
2 changed files with 40 additions and 0 deletions

View File

@ -762,6 +762,8 @@ GoTaskServiceResult goTaskServiceResultFromAcpResponse(
? result['output'].toString().trim()
: result['summary']?.toString().trim().isNotEmpty == true
? result['summary'].toString().trim()
: result['resultSummary']?.toString().trim().isNotEmpty == true
? result['resultSummary'].toString().trim()
: result['message']?.toString().trim() ?? '')
.trim();
final primaryText =

View File

@ -0,0 +1,38 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:xworkmate/runtime/go_task_service_client.dart';
void main() {
group('goTaskServiceResultFromAcpResponse', () {
test('uses resultSummary when output summary and message are empty', () {
final result = goTaskServiceResultFromAcpResponse(
<String, dynamic>{
'result': <String, dynamic>{
'success': true,
'resultSummary': 'bridge result summary',
'resolvedExecutionTarget': 'single-agent',
},
},
route: GoTaskServiceRoute.externalAcpSingle,
);
expect(result.success, isTrue);
expect(result.message, 'bridge result summary');
});
test('still prefers output over resultSummary when both exist', () {
final result = goTaskServiceResultFromAcpResponse(
<String, dynamic>{
'result': <String, dynamic>{
'success': true,
'output': 'primary output',
'resultSummary': 'bridge result summary',
'resolvedExecutionTarget': 'single-agent',
},
},
route: GoTaskServiceRoute.externalAcpSingle,
);
expect(result.message, 'primary output');
});
});
}