packages feed

baikai-openai-0.3.0.1: baikai-openai.cabal

cabal-version: 3.4
name:          baikai-openai
version:       0.3.0.1
synopsis:      OpenAI providers for the baikai abstraction
description:
  Wraps the openai Haskell package as a Baikai Provider for OpenAI's Chat Completions API.

category:      AI
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.Provider.OpenAI.Api
    Baikai.Provider.OpenAI.Cli
    Baikai.Provider.OpenAI.Interactive
    Baikai.Provider.OpenAI.Internal.ErrorClass
    Baikai.Provider.OpenAI.Internal.Request
    Baikai.Provider.OpenAI.Shape
    Baikai.Provider.OpenAI.Sse
    Baikai.Provider.OpenAI.Transport

  build-depends:
    , aeson              ^>=2.2
    , baikai             ^>=0.3.0
    , base               >=4.20   && <5
    , base64-bytestring  ^>=1.2
    , bytestring         ^>=0.12
    , case-insensitive   ^>=1.2
    , containers         ^>=0.7
    , generic-lens       ^>=2.3
    , http-client        ^>=0.7
    , http-client-tls    ^>=0.3
    , http-types         ^>=0.12
    , lens               ^>=5.3
    , openai             ^>=2.5
    , process            ^>=1.6
    , servant-client     ^>=0.20
    , streamly           >=0.11   && <0.13
    , streamly-core      >=0.3    && <0.5
    , text               ^>=2.1
    , time               ^>=1.14
    , vector             ^>=0.13

test-suite baikai-openai-test
  import:         common-options
  type:           exitcode-stdio-1.0
  hs-source-dirs: test
  main-is:        Main.hs
  other-modules:
    ErrorClassSpec
    ReasoningSpec
    ShapeSpec
    SseSpec
    TransportSpec

  build-depends:
    , aeson
    , baikai            ^>=0.3.0
    , baikai-openai
    , base              >=4.20   && <5
    , bytestring
    , case-insensitive
    , containers
    , directory
    , filepath
    , generic-lens
    , http-client
    , http-types
    , lens              ^>=5.3
    , openai
    , servant-client
    , streamly-core     >=0.3    && <0.5
    , tasty
    , tasty-hunit
    , text              ^>=2.1
    , time
    , vector