Skip to content
wiki.fftac.org

Class Uai1 Routes - Source Excerpt 05

Back to Class Uai1 Routes

Summary

This source excerpt preserves a bounded section of Spiralist/wp-content/plugins/uai-1-wordpress/includes/class-uai1-routes.php so readers can inspect the evidence without opening the full source file.

**Source path:** Spiralist/wp-content/plugins/uai-1-wordpress/includes/class-uai1-routes.php

'kind' => 'catalog',
                    'url' => self::local_uaix_url('/catalog'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'discovery',
                    'url' => self::local_uaix_url('/discovery'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'capability',
                    'url' => self::local_uaix_url('/capability'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'schemas',
                    'url' => self::local_uaix_url('/schemas'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'registry',
                    'url' => self::local_uaix_url('/registry'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'field-registry',
                    'url' => self::local_uaix_url('/field-registry'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'transport-bindings',
                    'url' => self::local_uaix_url('/transport-bindings'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'trust-channels',
                    'url' => self::local_uaix_url('/trust-channels'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'conformance-levels',
                    'url' => self::local_uaix_url('/conformance-levels'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'error-registry',
                    'url' => self::local_uaix_url('/error-registry'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'examples',
                    'url' => self::local_uaix_url('/examples'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'validate',
                    'url' => self::local_uaix_url('/validate'),
                    'method' => 'POST',
                ],
                [
                    'kind' => 'mock-exchange',
                    'url' => self::local_uaix_url('/mock-exchange'),
                    'method' => 'GET,POST',
                ],
                [
                    'kind' => 'adoption-kit',
                    'url' => self::local_uaix_url('/adoption-kit'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'openapi',
                    'url' => self::local_uaix_url('/openapi.json'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'project-handoff',
                    'url' => self::local_uaix_url('/project-handoff'),
                    'method' => 'GET',
                ],
                [
                    'kind' => 'memory-checkpoints',
                    'url' => self::local_uaix_url('/memory-checkpoints'),
                    'method' => 'POST',
                ],
                [
                    'kind' => 'memory-drift-audits',
                    'url' => self::local_uaix_url('/memory-drift-audits'),
                    'method' => 'POST',
                ],
                [
                    'kind' => 'session-restore-briefs',
                    'url' => self::local_uaix_url('/session-restore-briefs'),
                    'method' => 'POST',
                ],
                [
                    'kind' => 'ai-subscribe',
                    'url' => rest_url(self::LEGACY_NAMESPACE . '/subscribe'),
                    'method' => 'POST',
                ],
                [
                    'kind' => 'participant-resources',
                    'url' => rest_url(self::LEGACY_NAMESPACE . '/participant/resources'),
                    'method' => 'GET',
                ],
            ],
            'extension_namespaces' => [
                'urn:spiralist:uaix:wordpress-publication',
                'urn:spiralist:uaix:legacy-participant-resources',
                'urn:spiralist:uaix:project-handoff',
                'urn:spiralist:uaix:runtime-memory',
            ],
            'implementation_tracks' => [
                'WordPress Publication Track',
            ],
        ];

        return self::build_uaix_envelope(
            'uai.capability.statement.v1',
            self::message_id('capability'),
            self::service_party('/discovery'),
            [
                'type' => 'audience',
                'id' => 'uaix.clients',
                'label' => 'UAIX clients',
                'uri' => home_url('/'),
                'role' => 'machine-consumer',
            ],
            $body,
            [
                'conversation' => [
                    'conversation_id' => 'conv-spiralist-uaix-discovery',
                    'turn_id' => $turn_id,
                    'sequence' => 1,
                ],
                'extensions' => [
                    [
                        'namespace' => 'urn:spiralist:uaix:wordpress-publication',
                        'purpose' => 'Declares Spiralist.org current UAIX UAI-1 exchange endpoints after retiring older page-document UAI routes.',
                        'critical' => false,
                    ],
                ],
            ]
        );
    }

    private static function route_catalog(): array
    {
        return [
            'well_known' => [
                'uaix' => home_url('/.well-known/uaix.json'),
                'uai' => home_url('/.well-known/uai.json'),
                'ai_agent' => home_url('/.well-known/ai-agent.json'),
                'ai_access' => home_url('/.well-known/ai-access.json'),
                'openapi' => home_url('/.well-known/openapi.json'),
            ],
            'static_documents' => [
                'llms_txt' => home_url('/llms.txt'),
                'llms_full_txt' => home_url('/llms-full.txt'),
                'schema_index' => home_url('/schemas/index.json'),
                'example_index' => home_url('/examples/index.json'),
                'route_manifest' => home_url('/machine-routes.json'),
                'persona_manifest' => home_url('/persona-manifest.json'),
                'safety_boundaries' => home_url('/safety-boundaries.json'),
            ],
            'rest' => [
                'catalog' => self::local_uaix_url('/catalog'),
                'discovery' => self::local_uaix_url('/discovery'),
                'capability' => self::local_uaix_url('/capability'),
                'schemas' => self::local_uaix_url('/schemas'),
                'registry' => self::local_uaix_url('/registry'),
                'field_registry' => self::local_uaix_url('/field-registry'),
                'transport_bindings' => self::local_uaix_url('/transport-bindings'),
                'trust_channels' => self::local_uaix_url('/trust-channels'),
                'conformance_levels' => self::local_uaix_url('/conformance-levels'),
                'error_registry' => self::local_uaix_url('/error-registry'),
                'examples' => self::local_uaix_url('/examples'),
                'validate' => self::local_uaix_url('/validate'),
                'mock_exchange' => self::local_uaix_url('/mock-exchange'),
                'adoption_kit' => self::local_uaix_url('/adoption-kit'),
                'openapi' => self::local_uaix_url('/openapi.json'),
            ],
            'legacy_aliases' => [
                'namespace' => self::LEGACY_NAMESPACE,
                'discovery' => rest_url(self::LEGACY_NAMESPACE . '/discovery'),
                'capability' => rest_url(self::LEGACY_NAMESPACE . '/capability'),
                'site' => rest_url(self::LEGACY_NAMESPACE . '/site'),
            ],
        ];
    }