ai_agents_test-1.0.0-alpha1/ai_agents_test.install
ai_agents_test.install
<?php
/**
* @file
* Contains uninstall file for ai_agents_test module.
*/
use Drupal\Core\Field\BaseFieldDefinition;
/**
* Implements hook_uninstall().
*/
function ai_agents_test_uninstall() {
// Make sure that the views are deleted.
foreach ([
'ai_agents_test_result',
'ai_agents_tests',
'ai_agents_test_group',
'ai_agents_test_group_result',
] as $view) {
if (\Drupal::entityTypeManager()->getStorage('view')->load($view)) {
\Drupal::entityTypeManager()->getStorage('view')->load($view)->delete();
}
}
}
/**
* Add evaluation provider and model fields to AgentTestGroupResult entity.
*/
function ai_agents_test_update_10001() {
$definition_update_manager = \Drupal::entityDefinitionUpdateManager();
// Check if eval_provider field already exists.
$eval_provider_storage = $definition_update_manager->getFieldStorageDefinition('eval_provider', 'ai_agents_test_group_result');
if (!$eval_provider_storage) {
// Add evaluation provider field.
$eval_provider = BaseFieldDefinition::create('string')
->setLabel(t('Evaluation Provider'))
->setDescription(t('The provider used for evaluating the test results.'))
->setSetting('max_length', 255)
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => 50,
])
->setDisplayConfigurable('form', TRUE)
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'string',
'weight' => 50,
])
->setDisplayConfigurable('view', TRUE);
$definition_update_manager->installFieldStorageDefinition('eval_provider', 'ai_agents_test_group_result', 'ai_agents_test', $eval_provider);
}
// Check if eval_model field already exists.
$eval_model_storage = $definition_update_manager->getFieldStorageDefinition('eval_model', 'ai_agents_test_group_result');
if (!$eval_model_storage) {
// Add evaluation model field.
$eval_model = BaseFieldDefinition::create('string')
->setLabel(t('Evaluation Model'))
->setDescription(t('The model used for evaluating the test results.'))
->setSetting('max_length', 255)
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => 55,
])
->setDisplayConfigurable('form', TRUE)
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'string',
'weight' => 55,
])
->setDisplayConfigurable('view', TRUE);
$definition_update_manager->installFieldStorageDefinition('eval_model', 'ai_agents_test_group_result', 'ai_agents_test', $eval_model);
}
}
/**
* Update function to add a field to store tokens.
*/
function ai_agents_test_update_10002() {
// Add the string_long field tokens to ai_agents_test entity.
$definition_update_manager = \Drupal::entityDefinitionUpdateManager();
// Check if eval_provider field already exists.
$test_storage = $definition_update_manager->getFieldStorageDefinition('tokens', 'ai_agents_test');
if (!$test_storage) {
// Add evaluation provider field.
$token_field = BaseFieldDefinition::create('string_long')
->setLabel(t('Tokens'))
->setDescription(t('Extra tokens to use for the test as a yaml blob.'))
->setDisplayOptions('form', [
'type' => 'text_textarea',
'weight' => 45,
])
->setDisplayConfigurable('form', TRUE)
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'text_default',
'weight' => 45,
])
->setDisplayConfigurable('view', TRUE);
$definition_update_manager->installFieldStorageDefinition('tokens', 'ai_agents_test', 'ai_agents_test', $token_field);
}
}
