packages feed

keiro-pgmq-0.17.0.0: keiro-pgmq.cabal

cabal-version: 3.0
name: keiro-pgmq
version: 0.17.0.0
synopsis: PostgreSQL job-queue (PGMQ) integration for Keiro
description:
  A typed background-job queue for Keiro applications on top of PGMQ (the
  PostgreSQL-native message queue) and shibuya (a Broadway-style worker
  framework). Declare a @Job@ value bundling a queue, a payload codec, and a
  retry/dead-letter policy, then write a plain domain handler of type
  @p -> Eff es JobOutcome@.

license: BSD-3-Clause
license-file: LICENSE
author: Nadeem Bitar
maintainer: nadeem@gmail.com
copyright: 2026 Nadeem Bitar
category: Control
homepage: https://github.com/shinzui/keiro#readme
bug-reports: https://github.com/shinzui/keiro/issues
build-type: Simple
tested-with: ghc >=9.12 && <9.13
extra-doc-files: CHANGELOG.md

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

common warnings
  ghc-options:
    -Wall
    -Wcompat
    -Widentities
    -Wincomplete-record-updates
    -Wincomplete-uni-patterns
    -Wpartial-fields
    -Wredundant-constraints

common shared
  default-language: GHC2024
  default-extensions:
    DeriveAnyClass
    DuplicateRecordFields
    ImportQualifiedPost
    MultilineStrings
    OverloadedLabels
    OverloadedRecordDot
    OverloadedStrings
    PackageImports

library
  import: warnings, shared
  exposed-modules:
    Keiro.PGMQ
    Keiro.PGMQ.Codec
    Keiro.PGMQ.Dlq
    Keiro.PGMQ.Job
    Keiro.PGMQ.Metrics
    Keiro.PGMQ.Runtime

  hs-source-dirs: src
  build-depends:
    aeson >=2.2 && <2.3,
    base >=4.21 && <5,
    effectful-core >=2.6 && <2.7,
    hasql >=1.10 && <1.11,
    hasql-pool >=1.2 && <1.5,
    hs-opentelemetry-api >=1.0 && <1.1,
    keiro-core ^>=0.17.0.0,
    pgmq-config >=0.6 && <0.7,
    pgmq-core >=0.6 && <0.7,
    pgmq-effectful >=0.6 && <0.7,
    pgmq-hasql >=0.6 && <0.7,
    shibuya-core ^>=0.9.0.0,
    shibuya-pgmq-adapter ^>=0.16.0.0,
    streamly-core >=0.3 && <0.4,
    text >=2.1 && <2.2,
    time >=1.12 && <1.15,

test-suite keiro-pgmq-test
  import: warnings, shared
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  ghc-options:
    -threaded
    -rtsopts
    -with-rtsopts=-N

  build-depends:
    aeson >=2.2 && <2.3,
    base >=4.21 && <5,
    effectful-core >=2.6 && <2.7,
    hasql >=1.10 && <1.11,
    hasql-pool >=1.2 && <1.5,
    hs-opentelemetry-api >=1.0 && <1.1,
    hs-opentelemetry-exporter-in-memory >=1.0 && <1.1,
    hs-opentelemetry-propagator-w3c >=1.0 && <1.1,
    hs-opentelemetry-sdk >=1.0 && <1.1,
    hspec >=2.11,
    keiro-core ^>=0.17.0.0,
    keiro-pgmq,
    keiro-test-support ^>=0.17.0.0,
    pgmq-config >=0.6 && <0.7,
    pgmq-core >=0.6 && <0.7,
    pgmq-effectful >=0.6 && <0.7,
    pgmq-migration >=0.6 && <0.7,
    shibuya-core ^>=0.9.0.0,
    shibuya-pgmq-adapter ^>=0.16.0.0,
    text >=2.1 && <2.2,