|
Server : Apache System : Linux s1230 5.15.0-139-generic #149~20.04.1 SMP Tue Jul 14 11:21:49 UTC 2026 x86_64 User : p141464 ( 418825) PHP Version : 7.4.33.12 Disable Function : NONE Directory : /html/KMU-CSR-PLANER/wp-content/plugins/matomo/app/plugins/AIAgents/ |
Upload File : |
<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
declare (strict_types=1);
namespace Piwik\Plugins\AIAgents;
use Piwik\Columns\Dimension;
use Piwik\Plugin;
use Piwik\Plugins\AIAgents\Providers\AgentAbstract;
use Piwik\Plugins\AIAgents\Providers\ChatGPT;
use Piwik\Plugins\AIAgents\Providers\NovaAct;
class AIAgents extends Plugin
{
public function registerEvents()
{
return ['Metrics.getDefaultMetricTranslations' => 'addMetricTranslations', 'Metrics.getDefaultMetricSemanticTypes' => 'addMetricSemanticTypes'];
}
/**
* @param array<string, string> $translations
*/
public function addMetricTranslations(&$translations) : void
{
$translations['avg_time_on_site_ai_agent'] = 'AIAgents_ColumnAIAgentAverageVisitDuration';
$translations['avg_time_on_site_human'] = 'AIAgents_ColumnHumanAverageVisitDuration';
$translations['bounce_rate_ai_agent'] = 'AIAgents_ColumnAIAgentBounceRate';
$translations['bounce_rate_human'] = 'AIAgents_ColumnHumanBounceRate';
$translations['max_actions_ai_agent'] = 'AIAgents_ColumnAIAgentMaxActions';
$translations['max_actions_human'] = 'AIAgents_ColumnHumanMaxActions';
$translations['nb_actions_ai_agent'] = 'AIAgents_ColumnAIAgentActions';
$translations['nb_actions_human'] = 'AIAgents_ColumnHumanActions';
$translations['nb_actions_per_visit_ai_agent'] = 'AIAgents_ColumnAIAgentAvgActionsPerVisit';
$translations['nb_actions_per_visit_human'] = 'AIAgents_ColumnHumanAvgActionsPerVisit';
$translations['nb_uniq_visitors_ai_agent'] = 'AIAgents_ColumnAIAgentUniqueVisitors';
$translations['nb_uniq_visitors_human'] = 'AIAgents_ColumnHumanUniqueVisitors';
$translations['nb_users_ai_agent'] = 'AIAgents_ColumnAIAgentUsers';
$translations['nb_users_human'] = 'AIAgents_ColumnHumanUsers';
$translations['nb_visits_ai_agent'] = 'AIAgents_ColumnAIAgentVisits';
$translations['nb_visits_human'] = 'AIAgents_ColumnHumanVisits';
}
/**
* @param array<string, string> $types
*/
public function addMetricSemanticTypes(array &$types) : void
{
$types['max_actions_ai_agent'] = Dimension::TYPE_NUMBER;
$types['max_actions_human'] = Dimension::TYPE_NUMBER;
$types['nb_actions_ai_agent'] = Dimension::TYPE_NUMBER;
$types['nb_actions_human'] = Dimension::TYPE_NUMBER;
$types['nb_uniq_ai_agent'] = Dimension::TYPE_NUMBER;
$types['nb_uniq_human'] = Dimension::TYPE_NUMBER;
$types['nb_uniq_visitors_ai_agent'] = Dimension::TYPE_NUMBER;
$types['nb_uniq_visitors_human'] = Dimension::TYPE_NUMBER;
$types['nb_users_ai_agent'] = Dimension::TYPE_NUMBER;
$types['nb_users_human'] = Dimension::TYPE_NUMBER;
$types['nb_visits_ai_agent'] = Dimension::TYPE_NUMBER;
$types['nb_visits_human'] = Dimension::TYPE_NUMBER;
}
/**
* @return array<AgentAbstract>
*/
public static function getAvailableAgentProviders() : array
{
return [ChatGPT::getInstance(), NovaAct::getInstance()];
}
}