packages feed

typesafe-hs-0.1.0.0: typesafe-hs.cabal

cabal-version: 3.12
name: typesafe-hs
version: 0.1.0.0
license: BSD-3-Clause
license-file: LICENSE
copyright: Copyright (c) 2026 Nadeem Bitar
author: Nadeem Bitar
maintainer: nadeem@gmail.com
homepage: https://github.com/shinzui/typesafe-hs
bug-reports: https://github.com/shinzui/typesafe-hs/issues
description:
  Haskell types, deterministic request encoding and lossless response decoding
  for the TypeSafe System One API, mirroring the vendored OpenAPI 0.2.0
  document, plus servant routes and authenticated client methods. Applications
  own retries, failure classification, credentials, logging and timeout policy.

extra-doc-files:
  CHANGELOG.md
  README.md

synopsis: Wire types and servant client for the TypeSafe System One API
category: AI, Web
build-type: Simple
tested-with: ghc ==9.12.4
extra-source-files:
  scripts/check-spec-drift.sh
  spec/openapi.json
  test/golden/*.bytes
  test/golden/*.json

common common
  default-language: GHC2024
  default-extensions:
    DeriveAnyClass
    DuplicateRecordFields
    NoFieldSelectors
    OverloadedLabels
    OverloadedRecordDot
    OverloadedStrings

  ghc-options: -Wall

library
  import: common
  hs-source-dirs: src
  exposed-modules:
    TypeSafe.V1
    TypeSafe.Wire
    TypeSafe.Wire.Common
    TypeSafe.Wire.Error
    TypeSafe.Wire.Models
    TypeSafe.Wire.Request
    TypeSafe.Wire.Response

  other-modules: TypeSafe.Wire.Internal.Number
  build-depends:
    aeson ^>=2.2,
    base >=4.20 && <5,
    bytestring ^>=0.12,
    containers ^>=0.7,
    http-client-tls >=0.3.5 && <0.5,
    http-types ^>=0.12,
    scientific ^>=0.3,
    servant >=0.20.3 && <0.21,
    servant-client ^>=0.20,
    servant-client-core >=0.20.3 && <0.22,
    text ^>=2.1,
    time ^>=1.14,
    vector ^>=0.13,

test-suite typesafe-hs-test
  import: common
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  other-modules:
    TypeSafe.Conformance.JsonSchema
    TypeSafe.Conformance.OperationsTest
    TypeSafe.Conformance.SchemaTest
    TypeSafe.ReadmeExample
    TypeSafe.ReadmeExampleTest
    TypeSafe.SpecVersionTest
    TypeSafe.Test.Arbitrary
    TypeSafe.Test.MockServer
    TypeSafe.V1Test
    TypeSafe.Wire.CommonTest
    TypeSafe.Wire.RequestTest
    TypeSafe.Wire.ResponseTest

  default-extensions: MultilineStrings
  ghc-options:
    -threaded
    -rtsopts
    -with-rtsopts=-N

  build-depends:
    QuickCheck >=2.14 && <2.19,
    aeson,
    base,
    bytestring ^>=0.12,
    containers,
    http-types,
    scientific,
    servant,
    servant-client,
    servant-client-core,
    servant-server >=0.20 && <0.21,
    tasty >=1.4 && <1.6,
    tasty-hunit ^>=0.10,
    tasty-quickcheck >=0.10 && <0.12,
    text,
    time,
    typesafe-hs,
    vector ^>=0.13,
    wai >=3.2.4 && <3.3,
    warp >=3.3 && <3.5,

source-repository head
  type: git
  location: https://github.com/shinzui/typesafe-hs.git