lunatic-runtime 0.13.2

An actor platform built on WebAssembly
Documentation
[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-control-submillisecond",
    "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 = ""