cabal-version: 3.4
name: baikai-trace-otel
version: 0.2.0.0
synopsis: OpenTelemetry TraceSink for baikai.
description:
Provides an opt-in OpenTelemetry adapter for the baikai 'TraceSink'
interface. Wiring 'otelSink' into 'Baikai.Trace.withTrace' produces
one OTel span per provider call, with GenAI semantic-convention
attributes plus baikai-specific cost and latency.
category: AI, Monitoring
license: BSD-3-Clause
license-file: LICENSE
author: Nadeem Bitar
maintainer: nadeem@gmail.com
copyright: (c) 2026 Nadeem Bitar
build-type: Simple
common common-options
ghc-options:
-Wall -Wcompat -Widentities -Wincomplete-uni-patterns
-Wincomplete-record-updates -Wredundant-constraints
-fhide-source-paths -Wmissing-export-lists -Wpartial-fields
-Wmissing-deriving-strategies
default-language: GHC2024
default-extensions:
DeriveAnyClass
DuplicateRecordFields
OverloadedLabels
OverloadedStrings
library
import: common-options
hs-source-dirs: src
exposed-modules: Baikai.Trace.Sink.OpenTelemetry
build-depends:
, baikai ^>=0.2.0
, base >=4.20 && <5
, containers
, hs-opentelemetry-api >=1.0 && <1.1
, hs-opentelemetry-semantic-conventions >=1.40 && <2
, scientific
, streamly-core ^>=0.3
, text ^>=2.1
, time
, unordered-containers
test-suite baikai-trace-otel-test
import: common-options
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
ghc-options: -threaded -with-rtsopts=-N
build-depends:
, baikai ^>=0.2.0
, baikai-trace-otel
, base
, generic-lens
, hs-opentelemetry-api >=1.0 && <1.1
, hs-opentelemetry-exporter-in-memory >=1.0 && <1.1
, hs-opentelemetry-sdk >=1.0 && <1.1
, lens ^>=5.3
, tasty
, tasty-hunit
, text
, time
, unordered-containers
, vector