from respan_sdk.constants.tracing_constants import (
    RESPAN_DOGFOOD_HEADER,
    RESPAN_TRACING_INGEST_ENDPOINT,
    resolve_tracing_ingest_endpoint,
)
from respan_sdk.constants.otlp_constants import (
    OTLP_STRING_VALUE,
    OTLP_INT_VALUE,
    OTLP_DOUBLE_VALUE,
    OTLP_BOOL_VALUE,
    OTLP_BYTES_VALUE,
    OTLP_ARRAY_VALUE,
    OTLP_KVLIST_VALUE,
    OTLP_ARRAY_VALUES_KEY,
    OTLP_RESOURCE_SPANS_KEY,
    OTLP_SCOPE_SPANS_KEY,
    OTLP_RESOURCE_KEY,
    OTLP_ATTRIBUTES_KEY,
    OTLP_SCOPE_KEY,
    OTLP_SPANS_KEY,
    OTLP_TRACE_ID_KEY,
    OTLP_SPAN_ID_KEY,
    OTLP_PARENT_SPAN_ID_KEY,
    OTLP_NAME_KEY,
    OTLP_VERSION_KEY,
    OTLP_KIND_KEY,
    OTLP_START_TIME_KEY,
    OTLP_END_TIME_KEY,
    OTLP_STATUS_KEY,
    OTLP_EVENTS_KEY,
    OTLP_ATTR_KEY,
    OTLP_ATTR_VALUE,
    OTEL_STATUS_CODE_UNSET,
    OTEL_STATUS_CODE_OK,
    OTEL_STATUS_CODE_ERROR,
    OTEL_STATUS_CODE_KEY,
    OTEL_STATUS_MESSAGE_KEY,
    OTEL_EXCEPTION_EVENT_NAME,
    OTEL_EXCEPTION_MESSAGE_KEY,
    OTEL_EXCEPTION_TYPE_KEY,
    OTEL_SCOPE_NAME_KEY,
    OTEL_SCOPE_VERSION_KEY,
    ERROR_MESSAGE_ATTR,
)

DEFAULT_EVAL_LLM_ENGINE = "gpt-4o-mini"
EVAL_COST_FALLBACK = 0.001
LLM_ENGINE_FIELD_NAME = "llm_engine"

# Import constants for default values
UTC_EPOCH = "1970-01-01 00:00:00"

__all__ = [
    "DEFAULT_EVAL_LLM_ENGINE",
    "EVAL_COST_FALLBACK",
    "LLM_ENGINE_FIELD_NAME",
    "UTC_EPOCH",
    "RESPAN_DOGFOOD_HEADER",
    "RESPAN_TRACING_INGEST_ENDPOINT",
    "resolve_tracing_ingest_endpoint",
    # OTLP JSON format constants
    "OTLP_STRING_VALUE",
    "OTLP_INT_VALUE",
    "OTLP_DOUBLE_VALUE",
    "OTLP_BOOL_VALUE",
    "OTLP_BYTES_VALUE",
    "OTLP_ARRAY_VALUE",
    "OTLP_KVLIST_VALUE",
    "OTLP_ARRAY_VALUES_KEY",
    "OTLP_RESOURCE_SPANS_KEY",
    "OTLP_SCOPE_SPANS_KEY",
    "OTLP_RESOURCE_KEY",
    "OTLP_ATTRIBUTES_KEY",
    "OTLP_SCOPE_KEY",
    "OTLP_SPANS_KEY",
    "OTLP_TRACE_ID_KEY",
    "OTLP_SPAN_ID_KEY",
    "OTLP_PARENT_SPAN_ID_KEY",
    "OTLP_NAME_KEY",
    "OTLP_VERSION_KEY",
    "OTLP_KIND_KEY",
    "OTLP_START_TIME_KEY",
    "OTLP_END_TIME_KEY",
    "OTLP_STATUS_KEY",
    "OTLP_EVENTS_KEY",
    "OTLP_ATTR_KEY",
    "OTLP_ATTR_VALUE",
    "OTEL_STATUS_CODE_UNSET",
    "OTEL_STATUS_CODE_OK",
    "OTEL_STATUS_CODE_ERROR",
    "OTEL_STATUS_CODE_KEY",
    "OTEL_STATUS_MESSAGE_KEY",
    "OTEL_EXCEPTION_EVENT_NAME",
    "OTEL_EXCEPTION_MESSAGE_KEY",
    "OTEL_EXCEPTION_TYPE_KEY",
    "OTEL_SCOPE_NAME_KEY",
    "OTEL_SCOPE_VERSION_KEY",
    "ERROR_MESSAGE_ATTR",
]
