"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.struct_pb2
import google.protobuf.timestamp_pb2
import google.protobuf.wrappers_pb2
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class Span(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class Context(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        TRACE_ID_FIELD_NUMBER: builtins.int
        SPAN_ID_FIELD_NUMBER: builtins.int
        trace_id: builtins.bytes
        span_id: builtins.bytes
        def __init__(
            self,
            *,
            trace_id: builtins.bytes = ...,
            span_id: builtins.bytes = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["span_id", b"span_id", "trace_id", b"trace_id"]) -> None: ...

    @typing_extensions.final
    class Status(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        class _Code:
            ValueType = typing.NewType("ValueType", builtins.int)
            V: typing_extensions.TypeAlias = ValueType

        class _CodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Span.Status._Code.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            UNSET: Span.Status._Code.ValueType  # 0
            OK: Span.Status._Code.ValueType  # 1
            ERROR: Span.Status._Code.ValueType  # 2

        class Code(_Code, metaclass=_CodeEnumTypeWrapper): ...
        UNSET: Span.Status.Code.ValueType  # 0
        OK: Span.Status.Code.ValueType  # 1
        ERROR: Span.Status.Code.ValueType  # 2

        CODE_FIELD_NUMBER: builtins.int
        MESSAGE_FIELD_NUMBER: builtins.int
        code: global___Span.Status.Code.ValueType
        @property
        def message(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        def __init__(
            self,
            *,
            code: global___Span.Status.Code.ValueType = ...,
            message: google.protobuf.wrappers_pb2.StringValue | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["message", b"message"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "message", b"message"]) -> None: ...

    @typing_extensions.final
    class Event(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        ATTRIBUTES_FIELD_NUMBER: builtins.int
        NAME_FIELD_NUMBER: builtins.int
        TIMESTAMP_FIELD_NUMBER: builtins.int
        @property
        def attributes(self) -> google.protobuf.struct_pb2.Struct: ...
        name: builtins.str
        @property
        def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
        def __init__(
            self,
            *,
            attributes: google.protobuf.struct_pb2.Struct | None = ...,
            name: builtins.str = ...,
            timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "timestamp", b"timestamp"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "name", b"name", "timestamp", b"timestamp"]) -> None: ...

    @typing_extensions.final
    class Exception(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        ATTRIBUTES_FIELD_NUMBER: builtins.int
        MESSAGE_FIELD_NUMBER: builtins.int
        TYPE_FIELD_NUMBER: builtins.int
        ESCAPED_FIELD_NUMBER: builtins.int
        STACKTRACE_FIELD_NUMBER: builtins.int
        TIMESTAMP_FIELD_NUMBER: builtins.int
        @property
        def attributes(self) -> google.protobuf.struct_pb2.Struct: ...
        @property
        def message(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        @property
        def type(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        @property
        def escaped(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
        @property
        def stacktrace(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        @property
        def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
        def __init__(
            self,
            *,
            attributes: google.protobuf.struct_pb2.Struct | None = ...,
            message: google.protobuf.wrappers_pb2.StringValue | None = ...,
            type: google.protobuf.wrappers_pb2.StringValue | None = ...,
            escaped: google.protobuf.wrappers_pb2.BoolValue | None = ...,
            stacktrace: google.protobuf.wrappers_pb2.StringValue | None = ...,
            timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "escaped", b"escaped", "message", b"message", "stacktrace", b"stacktrace", "timestamp", b"timestamp", "type", b"type"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "escaped", b"escaped", "message", b"message", "stacktrace", b"stacktrace", "timestamp", b"timestamp", "type", b"type"]) -> None: ...

    @typing_extensions.final
    class IOValue(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        STRING_VALUE_FIELD_NUMBER: builtins.int
        JSON_VALUE_FIELD_NUMBER: builtins.int
        string_value: builtins.str
        @property
        def json_value(self) -> google.protobuf.struct_pb2.Struct: ...
        def __init__(
            self,
            *,
            string_value: builtins.str = ...,
            json_value: google.protobuf.struct_pb2.Struct | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["json_value", b"json_value", "kind", b"kind", "string_value", b"string_value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["json_value", b"json_value", "kind", b"kind", "string_value", b"string_value"]) -> None: ...
        def WhichOneof(self, oneof_group: typing_extensions.Literal["kind", b"kind"]) -> typing_extensions.Literal["string_value", "json_value"] | None: ...

    ATTRIBUTES_FIELD_NUMBER: builtins.int
    CONTEXT_FIELD_NUMBER: builtins.int
    PARENT_SPAN_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    END_TIME_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    EVENTS_FIELD_NUMBER: builtins.int
    EXCEPTIONS_FIELD_NUMBER: builtins.int
    INPUT_FIELD_NUMBER: builtins.int
    OUTPUT_FIELD_NUMBER: builtins.int
    KIND_FIELD_NUMBER: builtins.int
    RETRIEVAL_FIELD_NUMBER: builtins.int
    EMBEDDING_FIELD_NUMBER: builtins.int
    LLM_FIELD_NUMBER: builtins.int
    TOOL_FIELD_NUMBER: builtins.int
    @property
    def attributes(self) -> google.protobuf.struct_pb2.Struct: ...
    @property
    def context(self) -> global___Span.Context: ...
    @property
    def parent_span_id(self) -> google.protobuf.wrappers_pb2.BytesValue: ...
    name: builtins.str
    @property
    def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def status(self) -> global___Span.Status: ...
    @property
    def events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Span.Event]: ...
    @property
    def exceptions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Span.Exception]: ...
    @property
    def input(self) -> global___Span.IOValue: ...
    @property
    def output(self) -> global___Span.IOValue: ...
    kind: builtins.str
    @property
    def retrieval(self) -> global___Retrieval: ...
    @property
    def embedding(self) -> global___Embedding: ...
    @property
    def llm(self) -> global___LLM: ...
    @property
    def tool(self) -> global___Tool: ...
    def __init__(
        self,
        *,
        attributes: google.protobuf.struct_pb2.Struct | None = ...,
        context: global___Span.Context | None = ...,
        parent_span_id: google.protobuf.wrappers_pb2.BytesValue | None = ...,
        name: builtins.str = ...,
        start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        end_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        status: global___Span.Status | None = ...,
        events: collections.abc.Iterable[global___Span.Event] | None = ...,
        exceptions: collections.abc.Iterable[global___Span.Exception] | None = ...,
        input: global___Span.IOValue | None = ...,
        output: global___Span.IOValue | None = ...,
        kind: builtins.str = ...,
        retrieval: global___Retrieval | None = ...,
        embedding: global___Embedding | None = ...,
        llm: global___LLM | None = ...,
        tool: global___Tool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "context", b"context", "embedding", b"embedding", "end_time", b"end_time", "input", b"input", "llm", b"llm", "output", b"output", "parent_span_id", b"parent_span_id", "retrieval", b"retrieval", "start_time", b"start_time", "status", b"status", "tool", b"tool"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "context", b"context", "embedding", b"embedding", "end_time", b"end_time", "events", b"events", "exceptions", b"exceptions", "input", b"input", "kind", b"kind", "llm", b"llm", "name", b"name", "output", b"output", "parent_span_id", b"parent_span_id", "retrieval", b"retrieval", "start_time", b"start_time", "status", b"status", "tool", b"tool"]) -> None: ...

global___Span = Span

@typing_extensions.final
class Retrieval(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class Document(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        ATTRIBUTES_FIELD_NUMBER: builtins.int
        ID_FIELD_NUMBER: builtins.int
        SCORE_FIELD_NUMBER: builtins.int
        CONTENT_FIELD_NUMBER: builtins.int
        METADATA_FIELD_NUMBER: builtins.int
        HASH_FIELD_NUMBER: builtins.int
        @property
        def attributes(self) -> google.protobuf.struct_pb2.Struct: ...
        @property
        def id(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        @property
        def score(self) -> google.protobuf.wrappers_pb2.FloatValue: ...
        @property
        def content(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        @property
        def metadata(self) -> google.protobuf.struct_pb2.Struct: ...
        @property
        def hash(self) -> google.protobuf.wrappers_pb2.BytesValue: ...
        def __init__(
            self,
            *,
            attributes: google.protobuf.struct_pb2.Struct | None = ...,
            id: google.protobuf.wrappers_pb2.StringValue | None = ...,
            score: google.protobuf.wrappers_pb2.FloatValue | None = ...,
            content: google.protobuf.wrappers_pb2.StringValue | None = ...,
            metadata: google.protobuf.struct_pb2.Struct | None = ...,
            hash: google.protobuf.wrappers_pb2.BytesValue | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "content", b"content", "hash", b"hash", "id", b"id", "metadata", b"metadata", "score", b"score"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "content", b"content", "hash", b"hash", "id", b"id", "metadata", b"metadata", "score", b"score"]) -> None: ...

    DOCUMENTS_FIELD_NUMBER: builtins.int
    @property
    def documents(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Retrieval.Document]: ...
    def __init__(
        self,
        *,
        documents: collections.abc.Iterable[global___Retrieval.Document] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["documents", b"documents"]) -> None: ...

global___Retrieval = Retrieval

@typing_extensions.final
class Embedding(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class Embedding(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        ATTRIBUTES_FIELD_NUMBER: builtins.int
        VECTOR_FIELD_NUMBER: builtins.int
        TEXT_FIELD_NUMBER: builtins.int
        @property
        def attributes(self) -> google.protobuf.struct_pb2.Struct: ...
        @property
        def vector(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
        @property
        def text(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        def __init__(
            self,
            *,
            attributes: google.protobuf.struct_pb2.Struct | None = ...,
            vector: collections.abc.Iterable[builtins.float] | None = ...,
            text: google.protobuf.wrappers_pb2.StringValue | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "text", b"text"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "text", b"text", "vector", b"vector"]) -> None: ...

    EMBEDDINGS_FIELD_NUMBER: builtins.int
    MODEL_NAME_FIELD_NUMBER: builtins.int
    @property
    def embeddings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Embedding.Embedding]: ...
    @property
    def model_name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        embeddings: collections.abc.Iterable[global___Embedding.Embedding] | None = ...,
        model_name: google.protobuf.wrappers_pb2.StringValue | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["model_name", b"model_name"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["embeddings", b"embeddings", "model_name", b"model_name"]) -> None: ...

global___Embedding = Embedding

@typing_extensions.final
class LLM(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ATTRIBUTES_FIELD_NUMBER: builtins.int
    @property
    def attributes(self) -> google.protobuf.struct_pb2.Struct: ...
    def __init__(
        self,
        *,
        attributes: google.protobuf.struct_pb2.Struct | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["attributes", b"attributes"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes"]) -> None: ...

global___LLM = LLM

@typing_extensions.final
class Tool(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ATTRIBUTES_FIELD_NUMBER: builtins.int
    @property
    def attributes(self) -> google.protobuf.struct_pb2.Struct: ...
    def __init__(
        self,
        *,
        attributes: google.protobuf.struct_pb2.Struct | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["attributes", b"attributes"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes"]) -> None: ...

global___Tool = Tool
