packages feed

plexus-protocol-0.5.5.0: plexus-protocol.cabal

cabal-version:      3.0
name:               plexus-protocol
version:            0.5.5.0
synopsis:           Plexus RPC protocol types and client
description:        Haskell types and a client for Plexus RPC, a streaming JSON-RPC 2.0
                    protocol: stream items and provenance, recursive plugin and method
                    schemas, authentication, and a WebSocket transport. Shared by Synapse
                    and other Plexus RPC clients.
license:            MIT
license-file:       LICENSE
author:             hypermemetic
maintainer:         hypermemetic@proton.me
copyright:          (c) 2025-2026 hypermemetic
category:           Network
build-type:         Simple
tested-with:        GHC == 9.8.4, GHC == 9.12.4

library
  exposed-modules:
    Plexus.Client
    Plexus.Client.Pool
    Plexus.Transport
    Plexus
    Plexus.Types
    Plexus.Auth
    Plexus.Schema
    Plexus.Schema.Cache
    Plexus.Schema.Recursive
  build-depends:
    base ^>=4.17 || ^>=4.18 || ^>=4.19 || ^>=4.21,
    aeson >= 2.0,
    aeson-casing >= 0.2,
    text >= 2.0,
    bytestring >= 0.11,
    case-insensitive >= 1.2,
    containers >= 0.6,
    websockets >= 0.13,
    network >= 3.1.2,
    -- SCAFFOLD-21: wss — TLS, the certificate checked against the system store
    tls >= 2.1 && < 2.5,
    crypton-x509-store >= 1.6 && < 1.10,
    crypton-x509-system >= 1.6 && < 1.10,
    async >= 2.2,
    stm >= 2.5,
    streaming >= 0.2,
    directory >= 1.3,
    filepath >= 1.4,
    time >= 1.9,
    resource-pool >= 0.4
  hs-source-dirs:   src
  default-language: GHC2021
  default-extensions:
    OverloadedStrings
    DeriveGeneric
    DeriveAnyClass
    DerivingStrategies
    GeneralizedNewtypeDeriving
    LambdaCase
    RecordWildCards

-- NAMING-9: the naming gate (scripts/naming-gate.sh) in the suite. The
-- spec counts the gate's lines and shows the first; it never diffs them.
-- Its heap is capped (-M6G; +RTS -M... -RTS overrides it), so no regression
-- of that can take the machine (2026-10-29: an hspec diff reached 7.3 GB).
test-suite naming-gate
  type:             exitcode-stdio-1.0
  main-is:          NamingGateSpec.hs
  build-depends:
    base >= 4.17 && < 5,
    process >= 1.6 && < 1.7,
    hspec >= 2.10 && < 2.12
  hs-source-dirs:   test
  default-language: GHC2021
  ghc-options:      -threaded -rtsopts "-with-rtsopts=-M6G"