@honua/sdk-js
    Preparing search index...

    Interface SourceDescriptor<TProtocol>

    Canonical descriptor for one protocol-backed data source. Carries everything required to construct a Source, negotiate capabilities, and project the source onto a server SourceBinding.

    Generic over TProtocol (defaulting to the built-in Protocol union) so a third-party ProtocolModule<TKind> (src/contract/protocol-module.ts, issue #671) can type a descriptor carrying its own custom protocol id — e.g. SourceDescriptor<"cloud-tiles"> — without widening every built-in call site that still expects descriptor.protocol to be a Protocol.

    interface SourceDescriptor<TProtocol extends string = Protocol> {
        analytics?: SourceAnalyticsCapabilities;
        attribution?: string;
        capabilities: Capabilities;
        capabilityProfile?: CapabilityProfile;
        id: string;
        locator: SourceLocator;
        protocol: TProtocol;
        schema?: SourceSchema;
        schemaV2?: SourceSchemaV2Envelope;
        schemaV2State?: SchemaIdentity;
    }

    Type Parameters

    Index

    Properties

    attribution?: string
    capabilities: Capabilities
    capabilityProfile?: CapabilityProfile

    Evaluated, immutable capability truth for this source. When present it is authoritative over the legacy capabilities set; the set is retained as a derived compatibility view for built-in capability identifiers.

    Profiles must be produced or parsed by @honua/sdk-js/source-capabilities and match both this descriptor's schemaV2 fingerprint and its canonical protocol endpoint identity. Protocol discovery attaches them in the focused capability-aware connection path.

    id: string
    locator: SourceLocator
    protocol: TProtocol
    schema?: SourceSchema

    Identity envelope for an experimental vendor-neutral schema projected alongside legacy schema. Use @honua/sdk-js/source-schema to validate and inspect the complete schema value.

    schemaV2State?: SchemaIdentity

    Explicit schema truth; unavailable states must not be represented by a fabricated schemaV2.