kioku-core 0.5.0.0 → 0.5.1.0
raw patch · 4 files changed
+36/−27 lines, 4 filesdep ~baikaidep ~baikai-claudedep ~baikai-effectfulPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: baikai, baikai-claude, baikai-effectful, kioku-api, kioku-core, kioku-migrations, shikumi, shikumi-trace
API changes (from Hackage documentation)
Files
- CHANGELOG.md +13/−0
- kioku-core.cabal +17/−21
- src/Kioku/Memory/Embedding.hs +3/−3
- test/Kioku/DistillSpec.hs +3/−3
CHANGELOG.md view
@@ -1,5 +1,18 @@ # Changelog +## 0.5.1.0 — 2026-08-29++### Changed++- Upgraded to the Baikai 0.6 cohort: `baikai ^>=0.6.0.0`,+ `baikai-claude ^>=0.6.0.0`, `baikai-effectful ^>=0.4.0.0`,+ `shikumi ^>=0.3.0.3`, and `shikumi-trace ^>=0.2.0.3`. Internal embedding+ construction now starts from Baikai's exported `emptyEmbeddingModel`, because+ Baikai 0.6 hides the evolvable `EmbeddingModel` constructor. The project also+ selects `http-client-tls ^>=0.4.0`, whose removal of a direct `crypton`+ dependency lets the cohort coexist with Kioku's `crypton ^>=1.1.4` requirement.+ Kioku's exported API and runtime behaviour are unchanged.+ ## 0.5.0.0 — 2026-08-22 ### Breaking Changes
kioku-core.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: kioku-core-version: 0.5.0.0+version: 0.5.1.0 synopsis: Reusable agent memory runtime description: Core runtime for kioku. M1 establishes the application effect stack; later@@ -100,19 +100,15 @@ -- mori://MMZK1526/mmzk-typeid/upstream-issues/mmzk-typeid-kindid-ghc-9-12-4-profiling-coercionkind-panic ghc-prof-options: -fno-opt-coercion - -- The baikai-effectful bound below looks wrong but is not. That package has- -- never had a 0.4 or 0.5 release; 0.3.0.3 is its newest and is the patch that- -- widened its own baikai bound to admit 0.5, so its version lags the rest of- -- the Baikai cohort by design. shikumi and shikumi-trace are likewise pinned- -- at their newest patch rather than their series floor, because only- -- shikumi 0.3.0.2 and shikumi-trace 0.2.0.2 carry the baikai 0.5 bounds --- -- the earlier patches are tied to baikai 0.4 and would give the solver a way- -- to silently fall off this cohort.+ -- shikumi and shikumi-trace are pinned at their newest patch rather than+ -- their series floor, because only shikumi 0.3.0.3 and shikumi-trace 0.2.0.3+ -- carry the baikai 0.6 bounds. The earlier patches are tied to baikai 0.5 and+ -- would give the solver a way to silently fall off this cohort. build-depends: , aeson >=2.2 && <2.3- , baikai ^>=0.5.0.0- , baikai-claude ^>=0.5.0.0- , baikai-effectful ^>=0.3.0.3+ , baikai ^>=0.6.0.0+ , baikai-claude ^>=0.6.0.0+ , baikai-effectful ^>=0.4.0.0 , base >=4.21 && <5 , bytestring >=0.11 && <0.13 , containers >=0.6 && <0.8@@ -131,14 +127,14 @@ , keiki ^>=0.9.0.0 , keiro ^>=0.14.0.0 , keiro-core ^>=0.14.0.0- , kioku-api ^>=0.5.0.0+ , kioku-api ^>=0.5.1.0 , kiroku-store ^>=0.8.0.0 , lens >=5.2 && <5.4 , mmzk-typeid >=0.7 && <0.8 , shibuya-core ^>=0.9.0.0 , shibuya-kiroku-adapter ^>=0.5.1.1- , shikumi ^>=0.3.0.2- , shikumi-trace ^>=0.2.0.2+ , shikumi ^>=0.3.0.3+ , shikumi-trace ^>=0.2.0.3 , text >=2.1 && <2.2 , time >=1.12 && <1.15 , unix >=2.8.8 && <2.9@@ -177,7 +173,7 @@ ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: , aeson >=2.2- , baikai ^>=0.5.0.0+ , baikai ^>=0.6.0.0 , base >=4.21 && <5 , bytestring >=0.11 , containers >=0.6@@ -190,14 +186,14 @@ , hasql-transaction >=1.0 , keiro ^>=0.14.0.0 , keiro-core ^>=0.14.0.0- , kioku-api ^>=0.5.0.0- , kioku-core ^>=0.5.0.0- , kioku-migrations:test-support ^>=0.5.0.0+ , kioku-api ^>=0.5.1.0+ , kioku-core ^>=0.5.1.0+ , kioku-migrations:test-support ^>=0.5.1.0 , kiroku-store ^>=0.8.0.0 , lens >=5.2 , shibuya-core ^>=0.9.0.0- , shikumi ^>=0.3.0.2- , shikumi-trace ^>=0.2.0.2+ , shikumi ^>=0.3.0.3+ , shikumi-trace ^>=0.2.0.3 , tasty >=1.5 , tasty-expected-failure >=0.12 , tasty-hunit >=0.10
src/Kioku/Memory/Embedding.hs view
@@ -9,7 +9,7 @@ where import Baikai.Auth (ApiKeySource (..))-import Baikai.Embedding (EmbeddingModel (..), embedOne)+import Baikai.Embedding (EmbeddingModel (..), embedOne, emptyEmbeddingModel) import Control.Concurrent (threadDelay) import Control.Exception (SomeException, try) import Crypto.Hash (Digest, SHA256)@@ -46,11 +46,11 @@ toEmbeddingModel :: EmbeddingConfig -> EmbeddingModel toEmbeddingModel cfg =- EmbeddingModel+ emptyEmbeddingModel { modelId = cfg.model, baseUrl = cfg.baseUrl, dimensions = Just (fromIntegral @Int @Natural cfg.dimensions),- apiKey = ApiKeyLiteral cfg.apiKey+ apiKey = Just (ApiKeyLiteral cfg.apiKey) } embedWithRetry :: EmbeddingModel -> Int -> Text -> IO (Either EmbedError (Vector Double))
test/Kioku/DistillSpec.hs view
@@ -5,7 +5,7 @@ ) where -import Baikai (Response, _Response, _TextContent)+import Baikai (Response, emptyResponse, emptyTextContent) import Baikai.Content (AssistantContent (..)) import Baikai.Embedding (EmbeddingModel) import Data.Aeson qualified as Aeson@@ -1732,10 +1732,10 @@ mkResponse :: Text -> Response mkResponse responseText =- _Response+ emptyResponse & #message . #content- .~ Vector.singleton (AssistantText (_TextContent & #text .~ responseText))+ .~ Vector.singleton (AssistantText (emptyTextContent & #text .~ responseText)) extractResponse :: Text extractResponse =