feat: consolidate docs, backend/session infra, and settings updates
This commit is contained in:
@@ -30,7 +30,8 @@ class WP_Agentic_Writer_Keyword_Suggester {
|
||||
* @return array|WP_Error Array with focus_keyword, secondary_keywords, reasoning, and cost.
|
||||
*/
|
||||
public static function suggest_keywords( $title, $sections, $language = 'english', $post_id = 0 ) {
|
||||
$provider = WP_Agentic_Writer_Provider_Manager::get_provider_for_task( 'clarity' );
|
||||
$provider_result = WP_Agentic_Writer_Provider_Manager::get_provider_for_task( 'clarity' );
|
||||
$provider = $provider_result->provider;
|
||||
|
||||
// Build outline text from sections
|
||||
$outline_text = '';
|
||||
@@ -114,9 +115,28 @@ class WP_Agentic_Writer_Keyword_Suggester {
|
||||
$suggestions['secondary_keywords'] = array();
|
||||
}
|
||||
|
||||
// Track cost with separate operation type
|
||||
// Track cost with full nine-argument contract including provider attribution.
|
||||
$cost = $response['cost'] ?? 0;
|
||||
if ( $cost > 0 && $post_id > 0 ) {
|
||||
$actual_provider = 'unknown';
|
||||
$provider_name = '';
|
||||
|
||||
// Extract provider info from provider_result.
|
||||
if ( is_object( $provider_result ) && isset( $provider_result->actual_provider ) ) {
|
||||
$actual_provider = $provider_result->actual_provider;
|
||||
$provider_name = is_object( $provider ) ? get_class( $provider ) : 'unknown';
|
||||
}
|
||||
|
||||
// Get session ID for this post if available.
|
||||
$session_id = '';
|
||||
if ( $post_id > 0 ) {
|
||||
$manager = WP_Agentic_Writer_Conversation_Manager::get_instance();
|
||||
$session = $manager->get_session_by_post_id( $post_id );
|
||||
if ( $session && isset( $session['session_id'] ) ) {
|
||||
$session_id = $session['session_id'];
|
||||
}
|
||||
}
|
||||
|
||||
do_action(
|
||||
'wp_aw_after_api_request',
|
||||
$post_id,
|
||||
@@ -124,7 +144,10 @@ class WP_Agentic_Writer_Keyword_Suggester {
|
||||
'suggest_keyword',
|
||||
$response['input_tokens'] ?? 0,
|
||||
$response['output_tokens'] ?? 0,
|
||||
$cost
|
||||
$cost,
|
||||
$actual_provider,
|
||||
$session_id,
|
||||
'success'
|
||||
);
|
||||
}
|
||||
|
||||
@@ -133,6 +156,8 @@ class WP_Agentic_Writer_Keyword_Suggester {
|
||||
'secondary_keywords' => $suggestions['secondary_keywords'],
|
||||
'reasoning' => $suggestions['reasoning'] ?? '',
|
||||
'cost' => $cost,
|
||||
'provider_result' => $provider_result,
|
||||
'model' => $response['model'] ?? '',
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user