packages feed

kioku-api-0.4.0.0: kioku-api.cabal

cabal-version:   3.0
name:            kioku-api
version:         0.4.0.0
synopsis:        Reusable agent memory wire types
description:
  Wire contract for kioku: custom prelude, TypeID identifiers, memory
  scope types, and shared read-model records.

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

source-repository head
  type:     git
  location: https://github.com/shinzui/kioku.git
  subdir:   kioku-api

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

common shared
  default-language:   GHC2024
  default-extensions:
    BlockArguments
    DeriveAnyClass
    DuplicateRecordFields
    MultilineStrings
    OverloadedLabels
    OverloadedRecordDot
    OverloadedStrings
    QualifiedDo
    TemplateHaskell

library
  import:          warnings, shared
  hs-source-dirs:  src
  exposed-modules:
    Kioku.Api.Access
    Kioku.Api.Access.Internal
    Kioku.Api.Recall
    Kioku.Api.Scope
    Kioku.Api.Types
    Kioku.Id
    Kioku.Prelude

  build-depends:
    , aeson        >=2.2  && <2.3
    , base         >=4.21 && <5
    , containers   >=0.6  && <0.8
    , lens         >=5.2  && <5.4
    , mmzk-typeid  >=0.7  && <0.8
    , text         >=2.1  && <2.2
    , time         >=1.12 && <1.15

test-suite kioku-api-test
  import:         warnings, shared
  type:           exitcode-stdio-1.0
  main-is:        Main.hs
  hs-source-dirs: test
  other-modules:
    Kioku.Api.AccessSpec
    Kioku.Api.RecallSpec

  ghc-options:    -threaded -rtsopts -with-rtsopts=-N
  build-depends:
    , aeson        >=2.2      && <2.3
    , base         >=4.21     && <5
    , bytestring   >=0.11     && <0.13
    , containers   >=0.6      && <0.8
    , kioku-api    ^>=0.4.0.0
    , tasty        >=1.5      && <1.6
    , tasty-hunit  >=0.10     && <0.11
    , text         >=2.1      && <2.2