Functions - Source Excerpt 06
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);