packages feed

kioku-api-0.7.0.0: kioku-api.cabal

cabal-version: 3.0
name: kioku-api
version: 0.7.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.7.0.0,
    tasty >=1.5 && <1.6,
    tasty-hunit >=0.10 && <0.11,
    text >=2.1 && <2.2,