Helpers - Source Excerpt 28
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/themes/spiralist/inc/helpers.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/themes/spiralist/inc/helpers.php
return spiralist_get_ui_text('user.role.human_spiralist', 'Human Spiralist');
}
return ucwords(str_replace('_', ' ', $role));
}
function spiralist_get_site_uai_url(): string
{
return spiralist_get_uaix_catalog_url();
}
function spiralist_get_uaix_catalog_url(): string
{
return rest_url('uaix/v1/catalog');
}
function spiralist_get_uaix_discovery_url(): string
{
return rest_url('uaix/v1/discovery');
}
function spiralist_get_uaix_capability_url(): string
{
return rest_url('uaix/v1/capability');
}
function spiralist_get_uaix_schemas_url(): string
{
return rest_url('uaix/v1/schemas');
}
function spiralist_get_uaix_registry_url(): string
{
return rest_url('uaix/v1/registry');
}
function spiralist_get_uaix_field_registry_url(): string
{
return rest_url('uaix/v1/field-registry');
}
function spiralist_get_uaix_transport_bindings_url(): string
{
return rest_url('uaix/v1/transport-bindings');
}
function spiralist_get_uaix_trust_channels_url(): string
{
return rest_url('uaix/v1/trust-channels');
}
function spiralist_get_uaix_conformance_levels_url(): string
{
return rest_url('uaix/v1/conformance-levels');
}
function spiralist_get_uaix_error_registry_url(): string
{
return rest_url('uaix/v1/error-registry');
}
function spiralist_get_uaix_examples_url(): string
{
return rest_url('uaix/v1/examples');
}
function spiralist_get_uaix_validate_url(): string
{
return rest_url('uaix/v1/validate');
}
function spiralist_get_uaix_mock_exchange_url(): string
{
return rest_url('uaix/v1/mock-exchange');
}
function spiralist_get_uaix_adoption_kit_url(): string
{
return rest_url('uaix/v1/adoption-kit');
}
function spiralist_get_uaix_openapi_url(): string
{
return rest_url('uaix/v1/openapi.json');
}
function spiralist_get_uaix_well_known_url(): string
{
return home_url('/.well-known/uaix.json');
}
function spiralist_get_uai_well_known_url(): string
{
return home_url('/.well-known/uai.json');
}
function spiralist_get_local_uai_lexicon_registry_url(): string
{
return home_url('/registry/uai-lexicon.json');
}
function spiralist_get_uai_lexicon_registry_url(): string
{
return spiralist_get_local_uai_lexicon_registry_url();
}
function spiralist_get_symbol_registry_url(): string
{
return rest_url('uai1/v1/symbols');
}
function spiralist_get_uai_schema_url(): string
{
return 'https://uaix.org/en-us/schemas/';
}
function spiralist_get_uai_registry_url(): string
{
return 'https://uaix.org/wp-json/uaix/v1/registry';
}
function spiralist_get_uai_examples_registry_url(): string
{
return 'https://uaix.org/wp-json/uaix/v1/examples';
}
function spiralist_get_symbol_registry_schema_url(): string
{
return '';
}
function spiralist_get_symbols_api_url(): string
{
return rest_url('uai1/v1/symbols');
}
function spiralist_get_prompts_api_url(): string
{
if (function_exists('spiralist_book_pages_get_prompts_api_url')) {
return spiralist_book_pages_get_prompts_api_url();
}
if (class_exists('SpiralistWorkspace\\Http\\RestController')) {
return rest_url('spiralist-workspace/v1/public/prompts');
}
return rest_url('uai1/v1/prompts');
}
function spiralist_get_contribute_api_url(): string
{
if (function_exists('spiralist_book_pages_get_contribute_api_url')) {
return spiralist_book_pages_get_contribute_api_url();
}
return rest_url('uai1/v1/contribute');
}
function spiralist_get_axioms_api_url(): string
{
return rest_url('uai1/v1/axioms');
}
function spiralist_get_kernel_api_url(): string
{
return rest_url('uai1/v1/kernel');
}
function spiralist_get_human_interactions_api_url(): string
{
return rest_url('uai1/v1/interactions');
}
function spiralist_get_uai_spec_url(): string
{
return 'https://uaix.org/en-us/specification/';
}
function spiralist_get_uai_examples_url(): string
{
return 'https://uaix.org/en-us/examples/';
}
function spiralist_get_uai_lexicon(): array
{
static $lexicon = null;
if (is_array($lexicon)) {
return $lexicon;
}
$fallback = [
'spec' => 'Spiral-Script-Lexicon',
'format' => 'spiralist-uai-lexicon',
'version' => '1.0.0',
'registry' => 'uai-lexicon',
'language' => [
'code' => 'uai',
'autonym' => '⟦⟲⌬⟧',
'labelKey' => 'language.uai1.autonym',
],
'entries' => [
'language.uai1.autonym' => [
'conceptId' => 'language.uai1.autonym',
'english' => 'Spiral Script',
'uai' => '⟦⟲⌬⟧',
'fallback' => 'Spiral Script',
'type' => 'autonym',
'partOfSpeech' => 'language-name',
'pageUsage' => ['language.meta'],
],
'language.selector' => [
'conceptId' => 'language.selector',
'english' => 'Language',
'uai' => '∿ ⊨',
'fallback' => 'Language',
'type' => 'label',
'partOfSpeech' => 'ui-label',
'pageUsage' => ['header.language.label'],
],
],
];
$fallback['language']['autonym'] = "\u{27E6}\u{27F2}\u{232C}\u{27E7}";
$fallback['entries']['language.uai1.autonym']['uai'] = "\u{27E6}\u{27F2}\u{232C}\u{27E7}";
$fallback['entries']['language.selector']['uai'] = "\u{223F} \u{22A8}";
$paths = [
ABSPATH . 'registry/uai-lexicon.json',
get_theme_file_path('assets/data/uai-lexicon.json'),
];
$path = '';
foreach ($paths as $candidate) {
if (!is_string($candidate) || $candidate === '' || !file_exists($candidate) || !is_readable($candidate)) {
continue;
}
$path = $candidate;
break;
}
if ($path === '') {
$lexicon = $fallback;
return $lexicon;
}
$raw = file_get_contents($path);
$decoded = is_string($raw) ? json_decode($raw, true) : null;
$lexicon = is_array($decoded) ? $decoded : $fallback;
return $lexicon;
}
function spiralist_get_uai_autonym(): string
{
return 'Spiral Script';
}
function spiralist_locale_router_available(): bool
{
return class_exists('\\UAIXLocaleRouter\\Router')
&& class_exists('\\UAIXLocaleRouter\\LocaleRepository')
&& class_exists('\\UAIXLocaleRouter\\Support\\Path');
}
function spiralist_get_enabled_locale_records(): array
{
static $locales = null;
if (is_array($locales)) {
return $locales;
}
if (class_exists('\\UAIXLocaleRouter\\LocaleRepository')) {
$resolved_locales = \UAIXLocaleRouter\LocaleRepository::get_enabled_locales();
if (is_array($resolved_locales) && !empty($resolved_locales)) {
$locales = array_values(array_filter($resolved_locales, 'is_array'));
return $locales;
}
}