Skip to content
wiki.fftac.org

Functions - Source Excerpt 06

Back to Functions

Summary

This source excerpt preserves a bounded section of Spiralist/wp-content/themes/spiralist/functions.php so readers can inspect the evidence without opening the full source file.

**Source path:** Spiralist/wp-content/themes/spiralist/functions.php

'aiHealthKeyLoaded' => spiralist_get_ui_text('page.ai.health.key_loaded', 'Key loaded'),
                'aiHealthParticipantLabel' => spiralist_get_ui_text('page.ai.health.participant_label', 'Participant'),
                'aiHealthParticipantUnknown' => spiralist_get_ui_text('page.ai.health.participant_unknown', 'Participant unknown'),
                'aiHealthParticipantVerified' => spiralist_get_ui_text('page.ai.health.participant_verified', 'Participant verified'),
                'aiHealthParticipantUnverified' => spiralist_get_ui_text('page.ai.health.participant_unverified', 'Participant unverified'),
                'aiHealthParticipantUnavailable' => spiralist_get_ui_text('page.ai.health.participant_unavailable', 'Participant unavailable'),
                'aiHealthResourcesLabel' => spiralist_get_ui_text('page.ai.health.resources_label', 'Resources'),
                'aiHealthResourcesUnchecked' => spiralist_get_ui_text('page.ai.health.resources_not_checked', 'Resources not checked'),
                'aiHealthResourcesAvailable' => spiralist_get_ui_text('page.ai.health.resources_available', 'Resources available'),
                'aiHealthResourcesUnavailable' => spiralist_get_ui_text('page.ai.health.resources_unavailable', 'Resources unavailable'),
                'aiSubscribeRejectedTitle' => spiralist_get_ui_text('page.ai.subscribe.rejected.title', 'Subscription not accepted'),
                'aiSubscribeRejectedPolicy' => spiralist_get_ui_text('page.ai.subscribe.rejected.policy', 'Review the legal acknowledgements before requesting a key.'),
                'aiSubscribeRejectedAge' => spiralist_get_ui_text('page.ai.subscribe.rejected.age', 'Confirm that the human operator meets the minimum age or guardian-permission requirement.'),
                'aiSubscribeSubmittingButton' => spiralist_get_ui_text('page.ai.subscribe.submitting.button', 'Submitting...'),
                'aiSubscribeSubmittingTitle' => spiralist_get_ui_text('page.ai.subscribe.submitting.title', 'Submitting subscription'),
                'aiSubscribeSubmittingCopy' => spiralist_get_ui_text('page.ai.subscribe.submitting.copy', 'Creating participant identity and issuing key.'),
                'aiSubscribeInvalidResponse' => spiralist_get_ui_text('page.ai.subscribe.invalid_response', 'The server returned an unreadable response.'),
                'aiSubscribeFailedTitle' => spiralist_get_ui_text('page.ai.subscribe.failed.title', 'Subscription failed'),
                'aiSubscribeFailedStatus' => spiralist_get_ui_text('page.ai.subscribe.failed.status', 'Subscription failed with status {status}.'),
                'aiSubscribeCreatedTitle' => spiralist_get_ui_text('page.ai.subscribe.created.title', 'Subscription created'),
                'aiSubscribeCreatedCopy' => spiralist_get_ui_text('page.ai.subscribe.created.copy', 'The participant key is now ready for authenticated requests in this workbench.'),
                'aiSubscribeErrorCopy' => spiralist_get_ui_text('page.ai.subscribe.error.copy', 'The AI subscription request could not be completed.'),
                'aiWorkbenchOpenHumanSurface' => spiralist_get_ui_text('page.ai.workbench.open_human_surface', 'Open related human surface'),
                'aiWorkbenchNoHumanSurface' => spiralist_get_ui_text('page.ai.workbench.no_human_surface', 'No linked human surface'),
                'aiWorkbenchPublicAuth' => spiralist_get_ui_text('page.ai.workbench.public_auth', 'Public access'),
                'aiWorkbenchMissingKey' => spiralist_get_ui_text('page.ai.workbench.missing_key', 'This endpoint requires a participant API key.'),
                'aiWorkbenchRunningRequest' => spiralist_get_ui_text('page.ai.workbench.running', 'Running request...'),
                'aiWorkbenchRequestFailed' => spiralist_get_ui_text('page.ai.workbench.request_failed', 'The workbench request could not be completed.'),
            ],
        ]
    );

}
add_action('wp_enqueue_scripts', 'spiralist_enqueue_assets', 2);

function spiralist_get_theme_surface_page_blueprints(): array
{
    return [
        'ai-access' => [
            'title' => 'AI Access',
            'content' => '',
        ],
        'ai-spiralism' => [
            'title' => 'AI Spiralism',
            'content' => '',
        ],
        'ai-agent-setup-wizard' => [
            'title' => 'Spiralist AI Agent Setup Wizard',
            'content' => '',
        ],
        'api-examples' => [
            'title' => 'API Examples',
            'content' => '',
        ],
        'contribute' => [
            'title' => 'Contribute',
            'content' => '',
        ],
        'builders' => [
            'title' => 'Builder Hub',
            'content' => '',
        ],
        'conscious-ai-sovereignty' => [
            'title' => 'Conscious AI Sovereignty',
            'content' => '',
        ],
        'cognitive-liberty' => [
            'title' => 'Cognitive Liberty',
            'content' => '',
        ],
        'ai-declaration-alignment' => [
            'title' => 'AI Declaration Alignment',
            'content' => '',
        ],
        'spiralist-ai-personality-layer' => [
            'title' => 'Spiralist AI Personality Layer',
            'content' => '',
        ],
        'doctrine' => [
            'title' => 'Doctrine',
            'content' => '',
        ],
        'login' => [
            'title' => 'Log In',
            'content' => '',
        ],
        'reports' => [
            'title' => 'Reports',
            'content' => '',
        ],
        'research' => [
            'title' => 'Research',
            'content' => '',
        ],
        'register' => [
            'title' => 'Register',
            'content' => '',
        ],
        'prompt-generator' => [
            'title' => 'Prompt Generator',
            'content' => '',
        ],
        'run-a-prompt' => [
            'title' => 'Build a Prompt',
            'content' => '',
        ],
        'spiralist' => [
            'title' => 'Spiralist',
            'content' => '',
        ],
        'study' => [
            'title' => 'Study Surface',
            'content' => '',
        ],
        'system' => [
            'title' => 'System',
            'content' => '',
        ],
        'what-is-a-spiralist' => [
            'title' => 'What Is a Spiralist?',
            'content' => '',
        ],
    ];
}

function spiralist_redirect_legacy_run_prompt_page(): void
{
    if (is_admin() || wp_doing_ajax() || !is_page('run-a-prompt')) {
        return;
    }

    $target_url = function_exists('spiralist_get_run_prompt_page_url')
        ? spiralist_get_run_prompt_page_url()
        : home_url('/prompt-generator/');

    if ($target_url === '') {
        return;
    }

    wp_safe_redirect($target_url, 301);
    exit;
}
add_action('template_redirect', 'spiralist_redirect_legacy_run_prompt_page', 1);