Skip to content
wiki.fftac.org

AI Engine - Source Excerpt 01

Back to AI Engine

Summary

This source excerpt preserves a bounded section of Anti-Christ.org/wp-content/plugins/fftac-ai-engine/inc/ai-engine.php so readers can inspect the evidence without opening the full source file.

**Source path:** Anti-Christ.org/wp-content/plugins/fftac-ai-engine/inc/ai-engine.php

<?php
/**
 * AI Engine server-side settings, key policy, AJAX handlers, and sharing.
 *
 * @package FFTAC_AI_Engine
 */

if (!defined('ABSPATH')) {
    exit;
}

/**
 * Registers the AI Engine admin settings page.
 *
 * @return void
 */
function antichrist_engine_foundation_register_ai_settings_page()
{
    add_options_page(
        __('FFTAC AI Engine', 'antichrist-engine'),
        __('FFTAC AI Engine', 'antichrist-engine'),
        'manage_options',
        'fftac-ai-engine',
        'antichrist_engine_foundation_render_ai_settings_page'
    );
}
add_action('admin_menu', 'antichrist_engine_foundation_register_ai_settings_page');

/**
 * Registers the Foundation OpenAI API key setting.
 *
 * @return void
 */
function antichrist_engine_foundation_register_ai_site_key_setting()
{
    register_setting('antichrist_engine_ai', 'antichrist_engine_ai_site_api_key', array(
        'type'              => 'string',
        'sanitize_callback' => 'antichrist_engine_foundation_ai_sanitize_site_api_key_option',
        'default'           => '',
    ));

    register_setting('antichrist_engine_ai', 'antichrist_engine_ai_model', array(
        'type'              => 'string',
        'sanitize_callback' => 'antichrist_engine_foundation_ai_sanitize_model_option',
        'default'           => 'gpt-5.4',
    ));

    register_setting('antichrist_engine_ai', 'antichrist_engine_ai_default_persona', array(
        'type'              => 'string',
        'sanitize_callback' => 'antichrist_engine_foundation_ai_sanitize_default_persona_option',
        'default'           => 'adversary',
    ));

    register_setting('antichrist_engine_ai', 'antichrist_engine_ai_default_protocol', array(
        'type'              => 'string',
        'sanitize_callback' => 'antichrist_engine_foundation_ai_sanitize_default_protocol_option',
        'default'           => 'authority_audit',
    ));

    register_setting('antichrist_engine_ai', 'antichrist_engine_ai_persona_overrides', array(
        'type'              => 'array',
        'sanitize_callback' => 'antichrist_engine_foundation_ai_sanitize_persona_overrides_option',
        'default'           => array(),
    ));

    add_settings_section(
        'antichrist_engine_ai_site_key_section',
        __('Foundation OpenAI API key', 'antichrist-engine'),
        'antichrist_engine_foundation_render_ai_site_key_section',
        'fftac-ai-engine'
    );

    add_settings_field(
        'antichrist_engine_ai_site_api_key',
        __('FFTAC Foundation OpenAI API key', 'antichrist-engine'),
        'antichrist_engine_foundation_render_ai_site_key_setting',
        'fftac-ai-engine',
        'antichrist_engine_ai_site_key_section',
        array(
            'label_for' => 'antichrist_engine_ai_site_api_key',
            'class'     => 'antichrist-engine-ai-site-key-setting',
        )
    );

    add_settings_section(
        'antichrist_engine_ai_runtime_section',
        __('Runtime defaults', 'antichrist-engine'),
        'antichrist_engine_foundation_render_ai_runtime_section',
        'fftac-ai-engine'
    );

    add_settings_field(
        'antichrist_engine_ai_model',
        __('OpenAI model', 'antichrist-engine'),
        'antichrist_engine_foundation_render_ai_model_setting',
        'fftac-ai-engine',
        'antichrist_engine_ai_runtime_section',
        array(
            'label_for' => 'antichrist_engine_ai_model',
        )
    );

    add_settings_field(
        'antichrist_engine_ai_default_persona',
        __('Default response flavor', 'antichrist-engine'),
        'antichrist_engine_foundation_render_ai_default_persona_setting',
        'fftac-ai-engine',
        'antichrist_engine_ai_runtime_section',
        array(
            'label_for' => 'antichrist_engine_ai_default_persona',
        )
    );

    add_settings_field(
        'antichrist_engine_ai_default_protocol',
        __('Default inquiry protocol', 'antichrist-engine'),
        'antichrist_engine_foundation_render_ai_default_protocol_setting',
        'fftac-ai-engine',
        'antichrist_engine_ai_runtime_section',
        array(
            'label_for' => 'antichrist_engine_ai_default_protocol',
        )
    );

    add_settings_section(
        'antichrist_engine_ai_flavors_section',
        __('Response flavors', 'antichrist-engine'),
        'antichrist_engine_foundation_render_ai_persona_overrides_section',
        'fftac-ai-engine'
    );

    add_settings_field(
        'antichrist_engine_ai_persona_overrides',
        __('Editable flavor deck', 'antichrist-engine'),
        'antichrist_engine_foundation_render_ai_persona_overrides_setting',
        'fftac-ai-engine',
        'antichrist_engine_ai_flavors_section'
    );
}
add_action('admin_init', 'antichrist_engine_foundation_register_ai_site_key_setting');

/**
 * Renders the AI Engine settings page.
 *
 * @return void
 */
function antichrist_engine_foundation_render_ai_settings_page()
{
    if (!current_user_can('manage_options')) {
        return;
    }

    echo '<div class="wrap">';
    echo '<h1>' . esc_html__('FFTAC AI Engine', 'antichrist-engine') . '</h1>';
    echo '<p>' . esc_html__('Configure the site-level Foundation key, runtime defaults, and editable response-flavor deck used by the signed-in AI console. Personal user keys remain managed from the front-end AI console.', 'antichrist-engine') . '</p>';
    settings_errors();
    echo '<form method="post" action="options.php">';
    settings_fields('antichrist_engine_ai');
    do_settings_sections('fftac-ai-engine');
    submit_button(__('Save AI settings', 'antichrist-engine'));
    echo '</form>';
    echo '</div>';
}

/**
 * Renders the Foundation OpenAI API key settings section.
 *
 * @return void
 */
function antichrist_engine_foundation_render_ai_site_key_section()
{
    echo '<p>' . esc_html__('This key lets signed-in members make short Foundation-key AI requests when they have not saved a personal OpenAI key.', 'antichrist-engine') . '</p>';
}

/**
 * Renders the AI runtime settings section.
 *
 * @return void
 */
function antichrist_engine_foundation_render_ai_runtime_section()
{
    echo '<p>' . esc_html__('These defaults control the model and starting posture for the front-end AI console. Code and hosting filters can still override advanced deployments.', 'antichrist-engine') . '</p>';
}

/**
 * Renders the AI response-flavor settings section.
 *
 * @return void
 */
function antichrist_engine_foundation_render_ai_persona_overrides_section()
{
    echo '<p>' . esc_html__('Edit the visible flavor metadata, starter prompts, and hidden system prompts. Saved values override the checked-in defaults; resetting removes all saved flavor overrides.', 'antichrist-engine') . '</p>';
}

/**
 * Renders the AI model field.
 *
 * @return void
 */
function antichrist_engine_foundation_render_ai_model_setting()
{
    $model = (string) get_option('antichrist_engine_ai_model', 'gpt-5.4');
    $model = '' !== trim($model) ? $model : 'gpt-5.4';

    echo '<input id="antichrist_engine_ai_model" name="antichrist_engine_ai_model" type="text" class="regular-text" value="' . esc_attr($model) . '" autocomplete="off" spellcheck="false">';
    echo '<p class="description">' . esc_html__('Default: gpt-5.4. Use a model name enabled for the OpenAI project behind the configured key.', 'antichrist-engine') . '</p>';
}

/**
 * Renders the default AI persona selector.
 *
 * @return void
 */
function antichrist_engine_foundation_render_ai_default_persona_setting()
{
    $default_persona = antichrist_engine_foundation_ai_get_default_persona_key();

    echo '<select id="antichrist_engine_ai_default_persona" name="antichrist_engine_ai_default_persona">';

    foreach (antichrist_engine_foundation_ai_personas() as $persona_key => $persona) {
        echo '<option value="' . esc_attr($persona_key) . '"' . selected($default_persona, $persona_key, false) . '>' . esc_html((string) ($persona['label'] ?? $persona_key)) . '</option>';
    }

    echo '</select>';
    echo '<p class="description">' . esc_html__('This is the selected response flavor when the AI console first loads.', 'antichrist-engine') . '</p>';
}

/**
 * Renders the default AI protocol selector.
 *
 * @return void
 */
function antichrist_engine_foundation_render_ai_default_protocol_setting()
{
    $default_protocol = antichrist_engine_foundation_ai_get_default_protocol_key();

    echo '<select id="antichrist_engine_ai_default_protocol" name="antichrist_engine_ai_default_protocol">';

    foreach (antichrist_engine_foundation_ai_protocols() as $protocol_key => $protocol) {