| @@ -55,9 +55,15 @@ | ||
| 55 | 55 | * @param array $input_params Raw input params passed to execute(). |
| 56 | 56 | * @return void |
| 57 | 57 | */ |
| 58 | 58 | public function on_ability_executed( string $ability_id, string $ability_name, $result, float $start_time, array $input_params ): void { |
| 59 | - $this->mcp_tracking->track_ability_executed( $ability_id, $ability_name, $start_time ); | |
| 59 | + $is_preview = is_array( $result ) && in_array( | |
| 60 | + $result['status'] ?? '', | |
| 61 | + [ 'confirmation_required', 'insufficient_quota', 'invalid_api_key' ], | |
| 62 | + true | |
| 63 | + ); | |
| 64 | + | |
| 65 | + $this->mcp_tracking->track_ability_executed( $ability_id, $ability_name, $start_time, $is_preview ); | |
| 60 | 66 | |
| 61 | 67 | if ( 'imagify/optimize-media' === $ability_id && is_array( $result ) ) { |
| 62 | 68 | $this->mcp_tracking->track_media_optimized( $ability_id, $result, $start_time, $input_params ); |
| 63 | 69 | } |