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);
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc