kioku-cli-0.7.0.0: kioku-cli.cabal
cabal-version: 3.0
name: kioku-cli
version: 0.7.0.0
synopsis: kioku command-line interface
description:
Command-line entry point for kioku demos and operational commands.
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-cli
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.Cli
Kioku.Cli.AIConfig
Kioku.Cli.Commands.Artifacts
Kioku.Cli.Commands.Demo
Kioku.Cli.Commands.DemoSession
Kioku.Cli.Commands.Distill
Kioku.Cli.Commands.Persona
Kioku.Cli.Commands.Recall
Kioku.Cli.Commands.Scenes
Kioku.Cli.Commands.Worker
Kioku.Cli.Context
Kioku.Cli.Options
Kioku.Cli.Scope
-- Same GHC 9.12.4 coercion-optimiser bug that kioku-core works around; here it
-- fells the profiled build of Kioku.Cli.Commands.DemoSession:
--
-- panic! (the 'impossible' happened) / coercionKind / ConsSymbolDef
-- pprPanic, called at compiler/GHC/Core/Coercion.hs:2550:17
--
-- The type-level Symbol axioms arrive transitively through kioku-core's
-- KindID-typed identifiers, so this package needs the same opt-out even though
-- it never mentions mmzk-typeid itself. See kioku-core.cabal for the full
-- write-up. Profiled way only; ordinary builds keep the coercion optimiser.
-- mori://MMZK1526/mmzk-typeid/upstream-issues/mmzk-typeid-kindid-ghc-9-12-4-profiling-coercionkind-panic
ghc-prof-options: -fno-opt-coercion
build-depends:
async >=2.2 && <2.3,
baikai ^>=0.7.0.0,
base >=4.21 && <5,
containers >=0.6 && <0.8,
directory >=1.3 && <1.4,
effectful >=2.5 && <2.7,
keiro ^>=0.17.0.0,
kioku-api ^>=0.7.0.0,
kioku-core ^>=0.7.0.0,
kiroku-store ^>=0.8.0.0,
optparse-applicative >=0.19 && <0.20,
text >=2.1 && <2.2,
time >=1.12 && <1.15,
uuid >=1.3 && <1.4,
executable kioku
import: warnings, shared
main-is: Main.hs
hs-source-dirs: app
ghc-options:
-threaded
-rtsopts
-with-rtsopts=-N
build-depends:
base >=4.21 && <5,
kioku-cli ^>=0.7.0.0,
test-suite kioku-cli-test
import: warnings, shared
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: test
other-modules:
Kioku.Cli.ParserSpec
Kioku.Cli.RecallEndToEndSpec
ghc-options:
-threaded
-rtsopts
-with-rtsopts=-N
-- Kioku.Cli.RecallEndToEndSpec runs the real binary as a subprocess: stdout, stderr and the
-- environment are process-wide, and tasty runs cases concurrently, so redirecting them in
-- process would race the rest of the suite.
build-tool-depends: kioku-cli:kioku
build-depends:
aeson >=2.2 && <2.3,
base >=4.21 && <5,
effectful >=2.5 && <2.7,
filepath >=1.4 && <1.6,
keiro ^>=0.17.0.0,
kioku-api ^>=0.7.0.0,
kioku-cli ^>=0.7.0.0,
kioku-core ^>=0.7.0.0,
kioku-migrations:test-support ^>=0.7.0.0,
kiroku-store ^>=0.8.0.0,
optparse-applicative >=0.19 && <0.20,
process >=1.6 && <1.7,
tasty >=1.5,
tasty-hunit >=0.10,
temporary >=1.3,
text >=2.1,
time >=1.12 && <1.15,
uuid >=1.3 && <1.4,