[package]
name = "lunatic-runtime"
version = "0.13.2"
authors = ["Bernard Kolobara <bernard@lunatic.solutions>"]
edition = "2018"
description = "An actor platform built on WebAssembly"
homepage = "https://lunatic.solutions"
repository = "https://github.com/lunatic-solutions/lunatic"
categories = ["wasm"]
license = "Apache-2.0/MIT"
readme = "README.md"
default-run = "lunatic"
[lib]
name = "lunatic_runtime"
path = "src/lib.rs"
[[bin]]
name = "lunatic"
path = "src/main.rs"
[[bin]]
name = "cargo-lunatic"
path = "src/cargo_lunatic.rs"
[features]
default = ["metrics"]
metrics = [
"lunatic-process-api/metrics",
"lunatic-process/metrics",
"lunatic-registry-api/metrics",
"lunatic-timer-api/metrics",
"dep:lunatic-metrics-api",
]
prometheus = ["dep:metrics-exporter-prometheus", "metrics"]
[dependencies]
hash-map-id = { workspace = true }
lunatic-control = { workspace = true }
lunatic-control-axum = { workspace = true }
lunatic-distributed = { workspace = true }
lunatic-distributed-api = { workspace = true }
lunatic-error-api = { workspace = true }
lunatic-messaging-api = { workspace = true }
lunatic-networking-api = { workspace = true }
lunatic-process = { workspace = true }
lunatic-process-api = { workspace = true }
lunatic-registry-api = { workspace = true }
lunatic-stdout-capture = { workspace = true }
lunatic-timer-api = { workspace = true }
lunatic-version-api = { workspace = true }
lunatic-metrics-api = { workspace = true, optional = true }
lunatic-wasi-api = { workspace = true }
lunatic-trap-api = { workspace = true }
lunatic-sqlite-api = { workspace = true }
anyhow = { workspace = true }
async-ctrlc = "1.2.0"
clap = { version = "4.0", features = ["cargo", "derive"] }
dashmap = { workspace = true }
env_logger = "0.9"
log = { workspace = true }
metrics-exporter-prometheus = { version = "0.11.0", optional = true }
regex = "1.7"
reqwest = { workspace = true }
serde = { workspace = true, features = ["derive"] }
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "net"] }
toml = "0.5"
uuid = { workspace = true }
wasmtime = { workspace = true }
wasmtime-wasi = { workspace = true }
[dev-dependencies]
criterion = { version = "0.4", features = ["async_tokio"] }
tokio = { workspace = true, features = ["rt-multi-thread"] }
wat = "1.0"
[[bench]]
harness = false
name = "benchmark"
[workspace]
members = [
"crates/hash-map-id",
"crates/lunatic-common-api",
"crates/lunatic-control",
"crates/lunatic-control-axum",
"crates/lunatic-distributed-api",
"crates/lunatic-distributed",
"crates/lunatic-error-api",
"crates/lunatic-messaging-api",
"crates/lunatic-process-api",
"crates/lunatic-process",
"crates/lunatic-registry-api",
"crates/lunatic-stdout-capture",
"crates/lunatic-timer-api",
"crates/lunatic-version-api",
"crates/lunatic-wasi-api",
"crates/lunatic-trap-api",
"crates/lunatic-sqlite-api",
]
[workspace.dependencies]
hash-map-id = { path = "crates/hash-map-id", version = "0.13" }
lunatic-common-api = { path = "crates/lunatic-common-api", version = "0.13" }
lunatic-control = { path = "crates/lunatic-control", version = "0.13" }
lunatic-control-axum = { path = "crates/lunatic-control-axum", version = "0.13" }
lunatic-control-submillisecond = { path = "crates/lunatic-control-submillisecond", version = "0.13" }
lunatic-distributed = { path = "crates/lunatic-distributed", version = "0.13" }
lunatic-distributed-api = { path = "crates/lunatic-distributed-api", version = "0.13" }
lunatic-error-api = { path = "crates/lunatic-error-api", version = "0.13" }
lunatic-messaging-api = { path = "crates/lunatic-messaging-api", version = "0.13" }
lunatic-metrics-api = { path = "crates/lunatic-metrics-api", version = "0.13" }
lunatic-networking-api = { path = "crates/lunatic-networking-api", version = "0.13" }
lunatic-process = { path = "crates/lunatic-process", version = "0.13" }
lunatic-process-api = { path = "crates/lunatic-process-api", version = "0.13" }
lunatic-registry-api = { path = "crates/lunatic-registry-api", version = "0.13" }
lunatic-sqlite-api = { path = "crates/lunatic-sqlite-api", version = "0.13" }
lunatic-stdout-capture = { path = "crates/lunatic-stdout-capture", version = "0.13" }
lunatic-timer-api = { path = "crates/lunatic-timer-api", version = "0.13" }
lunatic-trap-api = { path = "crates/lunatic-trap-api", version = "0.13" }
lunatic-version-api = { path = "crates/lunatic-version-api", version = "0.13" }
lunatic-wasi-api = { path = "crates/lunatic-wasi-api", version = "0.13" }
anyhow = "1.0"
bincode = "1.3"
dashmap = "5.4"
log = "0.4"
metrics = "0.20.1"
reqwest = "0.11"
rustls-pemfile = "1.0"
serde = "1.0"
tokio = "1.28"
uuid = { version = "1.1", features = ["v4"] }
wasi-common = "8"
wasmtime = "8"
wasmtime-wasi = "8"
wiggle = "8"
[workspace.metadata.git-cliff.changelog]
header = """
# Lunatic Changelog
"""
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="v") }}]
Released {{ timestamp | date(format="%Y-%m-%d") }}.
{% else %}\
## [unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | upper_first }}
{% for commit in commits %}
- {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }} [`{{ commit.id | truncate(length=7, end="") }}`](https://github.com/lunatic-solutions/lunatic/commit/{{ commit.id | urlencode }})\
{% endfor %}
{% endfor %}\n
"""
footer = ""