Skip to content

Commit caceb4f

Browse files
ernilambaraslamdoctordavidperezgarraftaar1191
authored
Merge pull request #1225 from aslamdoctor/fix/1220-token-usage-display
Fix token usage not displayed in Namer result Co-authored-by: aslamdoctor <aslamdoctor@git.wordpress.org> Co-authored-by: davidperezgar <davidperez@git.wordpress.org> Co-authored-by: raftaar1191 <raftaar1191@git.wordpress.org>
2 parents 8d75e86 + 8653521 commit caceb4f

2 files changed

Lines changed: 20 additions & 3 deletions

File tree

assets/js/plugin-check-namer.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,17 @@
268268
}
269269
}
270270

271-
tokensText += tokenUsage.total_tokens + ' total';
271+
const totalTokens =
272+
tokenUsage.total_tokens ||
273+
( tokenUsage.prompt_tokens &&
274+
tokenUsage.completion_tokens
275+
? tokenUsage.prompt_tokens +
276+
tokenUsage.completion_tokens
277+
: null );
278+
279+
if ( totalTokens ) {
280+
tokensText += totalTokens + ' total';
281+
}
272282

273283
// Add breakdown with prompt and completion tokens.
274284
if (

includes/Traits/AI_Check_Names.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,12 @@ protected function execute_ai_request( $prompt, $model_preference = '', $builder
163163
}
164164

165165
// Try to generate a rich result first.
166+
// Use is_callable() instead of method_exists() to detect methods
167+
// provided via __call() magic (e.g. WP_AI_Client_Prompt_Builder).
166168
$result = null;
167-
if ( method_exists( $builder, 'generate_text_result' ) ) {
169+
if ( is_callable( array( $builder, 'generate_text_result' ) ) ) {
168170
$result = $builder->generate_text_result();
169-
} elseif ( method_exists( $builder, 'generateTextResult' ) ) {
171+
} elseif ( is_callable( array( $builder, 'generateTextResult' ) ) ) {
170172
$result = $builder->generateTextResult();
171173
}
172174

@@ -281,6 +283,11 @@ protected function extract_token_usage( $result ) {
281283
$completion_tokens = method_exists( $usage, 'get_completion_tokens' ) ? $usage->get_completion_tokens() : ( method_exists( $usage, 'getCompletionTokens' ) ? $usage->getCompletionTokens() : null );
282284
$total_tokens = method_exists( $usage, 'get_total_tokens' ) ? $usage->get_total_tokens() : ( method_exists( $usage, 'getTotalTokens' ) ? $usage->getTotalTokens() : null );
283285

286+
// Compute total from prompt + completion if not directly available.
287+
if ( null === $total_tokens && null !== $prompt_tokens && null !== $completion_tokens ) {
288+
$total_tokens = $prompt_tokens + $completion_tokens;
289+
}
290+
284291
if ( null === $prompt_tokens && null === $completion_tokens && null === $total_tokens ) {
285292
return null;
286293
}

0 commit comments

Comments
 (0)