gwk-kernel 0.0.2

The GridWork kernel: the PostgreSQL backend behind the gwk contract
Documentation
[package]
name = "gwk-kernel"
version = "0.0.2"
description = "The GridWork kernel: the PostgreSQL backend behind the gwk contract"
homepage = "https://gridwork.dev"
keywords = ["gridwork", "event-sourcing", "postgres", "daemon", "agent"]
categories = ["database-implementations", "development-tools"]
readme = "README.md"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true

[dependencies]
# The blob container's crypto (ADR 0003). `aead` supplies the traits and the
# CSPRNG; `aead-stream` is where the streaming constructions moved in this
# generation, which is why it is a separate pin.
aead = { workspace = true, features = ["alloc", "getrandom"] }
aead-stream = { workspace = true, features = ["alloc"] }
base64.workspace = true
chacha20poly1305 = { workspace = true, features = ["zeroize"] }
gwk-domain.workspace = true
rustix.workspace = true
secrecy.workspace = true
sha2.workspace = true
# Traits only (Serialize/DeserializeOwned): the projection layer takes contract
# types generically so the stored `state` column and the JSON one come from the
# same serializer and cannot drift. No derives are used in this crate.
serde.workspace = true
serde_json.workspace = true
sqlx = { workspace = true, features = ["json"] }
thiserror.workspace = true
# `macros` is for `tokio::select!` in the wire loops. It is named here rather
# than left to the graph: the dev-dependency below and the `gridwork` crate both
# enable it, and feature unification handed it to the lib in every workspace
# build — so this crate compiled locally and in CI while being unbuildable alone.
tokio = { workspace = true, features = [
  "fs",
  "io-util",
  "macros",
  "net",
  "rt",
  "sync",
  "time",
] }
zeroize.workspace = true

[dev-dependencies]
gwk-cert.workspace = true
proptest.workspace = true
# `test-util` is what lets the hello deadline be tested without spending five
# real seconds per run — the case pauses the clock and advances it.
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "test-util"] }

[lints]
workspace = true