taskAsyncResultNotice function
Implementation
String taskAsyncResultNotice(TaskJob job) {
final result = job.result;
final buffer = StringBuffer()
..writeln('<system-notice>')
..writeln(
'Background agent ${job.id} (${job.agent}) finished with status: '
'${job.status.name}.',
)
..writeln('Task: ${job.task}')
..writeln()
..write(
'<task-result id="${job.id}" agent="${job.agent}" '
'status="${job.status.name}">',
);
final output = result?.output ?? '';
if (output.isNotEmpty) {
buffer
..writeln()
..writeln(
output.length > taskAsyncResultPreviewChars
? '${output.substring(0, taskAsyncResultPreviewChars)}\n…\n'
'[Full output: agent://${job.id}]'
: output,
);
}
final error = result?.error;
if (error != null) buffer.write('\nerror: $error');
buffer
..write('\n</task-result>')
..write('\n</system-notice>');
return buffer.toString();
}