diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4629ab8..b1f00a2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,7 +70,7 @@ jobs: --extensions=php \ --ignore=vendor/*,tests/*,node_modules/* \ --warning-severity=0 \ - --report=full \ + --report=summary \ includes/ prautoblogger.php uninstall.php phpunit: diff --git a/includes/admin/class-opik-settings.php b/includes/admin/class-opik-settings.php index a7c33c3..00a42f4 100644 --- a/includes/admin/class-opik-settings.php +++ b/includes/admin/class-opik-settings.php @@ -66,7 +66,10 @@ class PRAutoBlogger_Opik_Settings { register_setting( 'prautoblogger_settings', 'prautoblogger_opik_project_name', - array( 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field' ) + array( + 'type' => 'string', + 'sanitize_callback' => 'sanitize_text_field', + ) ); add_settings_field( diff --git a/includes/core/class-chief-editor.php b/includes/core/class-chief-editor.php index 82eb64f..35ff6a7 100755 --- a/includes/core/class-chief-editor.php +++ b/includes/core/class-chief-editor.php @@ -50,8 +50,14 @@ class PRAutoBlogger_Chief_Editor { $response = $this->llm->send_chat_completion( array( - array( 'role' => 'system', 'content' => $system_prompt ), - array( 'role' => 'user', 'content' => $user_prompt ), + array( + 'role' => 'system', + 'content' => $system_prompt, + ), + array( + 'role' => 'user', + 'content' => $user_prompt, + ), ), $model, array( @@ -73,8 +79,12 @@ class PRAutoBlogger_Chief_Editor { ); $this->cost_tracker->log_api_call( - null, 'review', $this->llm->get_provider_name(), - $response['model'], $response['prompt_tokens'], $response['completion_tokens'] + null, + 'review', + $this->llm->get_provider_name(), + $response['model'], + $response['prompt_tokens'], + $response['completion_tokens'] ); return $this->parse_review_response( $response['content'] ); diff --git a/includes/core/class-content-generator.php b/includes/core/class-content-generator.php index a8ef897..7b1a98c 100755 --- a/includes/core/class-content-generator.php +++ b/includes/core/class-content-generator.php @@ -66,11 +66,20 @@ class PRAutoBlogger_Content_Generator { $response = $this->llm->send_chat_completion( array( - array( 'role' => 'system', 'content' => PRAutoBlogger_Content_Prompts::build_system( $request ) ), - array( 'role' => 'user', 'content' => PRAutoBlogger_Content_Prompts::build_single_pass( $request ) ), + array( + 'role' => 'system', + 'content' => PRAutoBlogger_Content_Prompts::build_system( $request ), + ), + array( + 'role' => 'user', + 'content' => PRAutoBlogger_Content_Prompts::build_single_pass( $request ), + ), ), $model, - array( 'temperature' => 0.7, 'max_tokens' => 4000 ) + array( + 'temperature' => 0.7, + 'max_tokens' => 4000, + ) ); $ctx->end_span( @@ -85,8 +94,12 @@ class PRAutoBlogger_Content_Generator { ); $this->cost_tracker->log_api_call( - null, 'draft', $this->llm->get_provider_name(), - $response['model'], $response['prompt_tokens'], $response['completion_tokens'] + null, + 'draft', + $this->llm->get_provider_name(), + $response['model'], + $response['prompt_tokens'], + $response['completion_tokens'] ); return $response['content']; @@ -122,11 +135,20 @@ class PRAutoBlogger_Content_Generator { $response = $this->llm->send_chat_completion( array( - array( 'role' => 'system', 'content' => PRAutoBlogger_Content_Prompts::build_system( $request ) ), - array( 'role' => 'user', 'content' => PRAutoBlogger_Content_Prompts::build_outline( $request ) ), + array( + 'role' => 'system', + 'content' => PRAutoBlogger_Content_Prompts::build_system( $request ), + ), + array( + 'role' => 'user', + 'content' => PRAutoBlogger_Content_Prompts::build_outline( $request ), + ), ), $model, - array( 'temperature' => 0.5, 'max_tokens' => 1500 ) + array( + 'temperature' => 0.5, + 'max_tokens' => 1500, + ) ); $ctx->end_span( @@ -141,8 +163,12 @@ class PRAutoBlogger_Content_Generator { ); $this->cost_tracker->log_api_call( - null, 'outline', $this->llm->get_provider_name(), - $response['model'], $response['prompt_tokens'], $response['completion_tokens'] + null, + 'outline', + $this->llm->get_provider_name(), + $response['model'], + $response['prompt_tokens'], + $response['completion_tokens'] ); return $response['content']; @@ -165,11 +191,20 @@ class PRAutoBlogger_Content_Generator { $response = $this->llm->send_chat_completion( array( - array( 'role' => 'system', 'content' => PRAutoBlogger_Content_Prompts::build_system( $request ) ), - array( 'role' => 'user', 'content' => PRAutoBlogger_Content_Prompts::build_draft( $request, $outline ) ), + array( + 'role' => 'system', + 'content' => PRAutoBlogger_Content_Prompts::build_system( $request ), + ), + array( + 'role' => 'user', + 'content' => PRAutoBlogger_Content_Prompts::build_draft( $request, $outline ), + ), ), $model, - array( 'temperature' => 0.7, 'max_tokens' => 4000 ) + array( + 'temperature' => 0.7, + 'max_tokens' => 4000, + ) ); $ctx->end_span( @@ -184,8 +219,12 @@ class PRAutoBlogger_Content_Generator { ); $this->cost_tracker->log_api_call( - null, 'draft', $this->llm->get_provider_name(), - $response['model'], $response['prompt_tokens'], $response['completion_tokens'] + null, + 'draft', + $this->llm->get_provider_name(), + $response['model'], + $response['prompt_tokens'], + $response['completion_tokens'] ); return $response['content']; @@ -208,11 +247,20 @@ class PRAutoBlogger_Content_Generator { $response = $this->llm->send_chat_completion( array( - array( 'role' => 'system', 'content' => PRAutoBlogger_Content_Prompts::build_system( $request ) ), - array( 'role' => 'user', 'content' => PRAutoBlogger_Content_Prompts::build_polish( $draft ) ), + array( + 'role' => 'system', + 'content' => PRAutoBlogger_Content_Prompts::build_system( $request ), + ), + array( + 'role' => 'user', + 'content' => PRAutoBlogger_Content_Prompts::build_polish( $draft ), + ), ), $model, - array( 'temperature' => 0.4, 'max_tokens' => 4000 ) + array( + 'temperature' => 0.4, + 'max_tokens' => 4000, + ) ); $ctx->end_span( @@ -227,8 +275,12 @@ class PRAutoBlogger_Content_Generator { ); $this->cost_tracker->log_api_call( - null, 'polish', $this->llm->get_provider_name(), - $response['model'], $response['prompt_tokens'], $response['completion_tokens'] + null, + 'polish', + $this->llm->get_provider_name(), + $response['model'], + $response['prompt_tokens'], + $response['completion_tokens'] ); return $response['content']; diff --git a/includes/services/opik/class-opik-dispatcher.php b/includes/services/opik/class-opik-dispatcher.php index 10c135a..7282a77 100644 --- a/includes/services/opik/class-opik-dispatcher.php +++ b/includes/services/opik/class-opik-dispatcher.php @@ -80,7 +80,7 @@ class PRAutoBlogger_Opik_Dispatcher { $failed_items, array_filter( $batch, - function( $item ) { + function ( $item ) { return 'trace' === $item['type']; } ) @@ -96,7 +96,7 @@ class PRAutoBlogger_Opik_Dispatcher { $failed_items, array_filter( $batch, - function( $item ) { + function ( $item ) { return 'span' === $item['type']; } ) diff --git a/includes/services/opik/class-opik-span-queue.php b/includes/services/opik/class-opik-span-queue.php index daa0452..99494ca 100644 --- a/includes/services/opik/class-opik-span-queue.php +++ b/includes/services/opik/class-opik-span-queue.php @@ -83,7 +83,7 @@ class PRAutoBlogger_Opik_Span_Queue { $now = time(); $queue = array_filter( $queue, - function( $item ) use ( $now ) { + function ( $item ) use ( $now ) { return ( $now - $item['enqueued'] ) < self::ITEM_TTL_SECONDS; } );