in plugin/src/software/aws/toolkits/eclipse/amazonq/inlineChat/InlineChatTask.java [172:211]
InlineChatResultParams buildResultObject() {
var userDecision = this.userDecision.get();
int inputLength = -1;
double startLatency = -1;
double endLatency = -1;
int numSuggestionAddChars = 0;
int numSuggestionDelChars = 0;
if (userDecision != UserDecision.DISMISS) {
inputLength = getPrompt().length();
startLatency = getFirstTokenTime() - requestTime.get();
endLatency = lastTokenTime.get() - requestTime.get();
}
if (textDiffs != null) {
numSuggestionAddChars = textDiffs.stream()
.filter(diff -> !diff.isDeletion())
.mapToInt(TextDiff::length)
.sum();
numSuggestionDelChars = textDiffs.stream()
.filter(TextDiff::isDeletion)
.mapToInt(TextDiff::length)
.sum();
}
int numSuggestionDelLines = this.numDeletedLines.get();
int numSuggestionAddLines = this.numAddedLines.get();
return new InlineChatResultParams(
requestId,
language,
inputLength,
numSelectedLines,
numSuggestionAddChars,
numSuggestionAddLines,
numSuggestionDelChars,
numSuggestionDelLines,
userDecision,
startLatency,
endLatency);
}