starlane 0.3.21

Starlane -- An Orchestration and Infrastructure Framework for WebAssembly Components (https://starlane.io) This packaged manages `HyperSpace` which provides infrastructure for `Space` Apis (WebAssembly & external programs meant to provide custom behaviors in Starlane), This package references the `starlane-space` package and reuses of it to run the infrastructure and it also contains mechanisms (Drivers) for extending the Starlane Type system
Documentation
[package]
name = "starlane"

description = """
Starlane -- An Orchestration and Infrastructure Framework for WebAssembly Components (https://starlane.io)

This packaged manages `HyperSpace` which provides infrastructure for `Space`
Apis (WebAssembly & external programs meant to provide custom behaviors in Starlane),

This package references the `starlane-space` package and reuses of it to run the infrastructure and
it also contains mechanisms (Drivers) for extending the Starlane Type system
"""


version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
full=["server"]
default=["server"]
#server=["space","service","hyperspace", "hyperlane","postgres", "hyperlane-tcp", "cli", "dep:threadpool", "dep:oneshot", "dep:anyhow", "dep:virtual-fs"]
server=["space","service","hyperspace", "hyperlane","postgres", "postgres-embedded","hyperlane-tcp", "cli", "dep:threadpool", "dep:oneshot", "dep:anyhow"]
cli=["dep:text_io","dep:clap", "dep:walkdir", "parse"]
hypererr=[]
hyperspace=["dep:futures","dep:dashmap","dep:semver", "parse", "dep:zip","hypererr"]
hyperlane=["hypererr"]
hyperlane-tcp =  ["hyperlane","dep:rcgen","rustls","dep:tokio-rustls","dep:tls-api-rustls"]
hyperlane-quic =  ["hyperlane","dep:rcgen","rustls", "dep:quinn"]
postgres=[ "dep:sqlx","dep:serde","dep:async-recursion" ]
postgres-embedded=[ "postgres", "dep:postgresql_embedded" ]
parse=["dep:nom", "dep:nom-supreme", "dep:nom_locate"]
rustls=["dep:rustls","dep:rcgen","rustls-pemfile"]
driver=["hyperspace"]
dialect=[]
dialect-cli=["dialect","dep:clap"]
service=[]
space=["dep:regex", "dep:validator", "dep:convert_case", "dep:serde_json", "dep:enum-ordinalize", "dep:ariadne", "dep:serde_urlencoded"]
wasm=[]


[dependencies]
starlane-macros = { workspace=true , version = "0.3.21" }
starlane-primitive-macros ={ workspace=true , version = "0.3.21" }

thiserror = { workspace = true}
lazy_static = {  workspace=true  }
uuid = { workspace=true, features=["v4"] }
chrono = { workspace=true, features=["serde"] }
tokio = { workspace=true, features = ["full"] }
tokio-util = { workspace=true}
async-trait = {workspace = true}
ctrlc = {workspace = true}
bincode = {workspace = true}
strum =  {workspace = true}
strum_macros = {workspace = true}
wasmer = {workspace = true}
wasmer-compiler-singlepass = {workspace = true}
wasmer-wasix = {workspace = true}
itertools = {workspace = true}
#acid-store = {git="https://github.com/uberscott/acid-store.git" , version="0.14.2" }
tempdir = { workspace=true }

once_cell = { workspace=true }
zip = { workspace=true, optional = true }
dirs ={ workspace=true}
ascii ={ workspace=true }
url ={ workspace=true }

# hyper requirements
futures = {workspace=true, default-features = true, optional=true }
dashmap = {workspace=true, optional = true}
semver = { workspace=true, features=['serde'], optional = true }



# postgres deps
sqlx = { workspace = true, features = [ "runtime-tokio","runtime-tokio-rustls", "postgres", "macros", "any" ], optional = true }
serde = { workspace = true, features=['derive','rc'], optional=true }
async-recursion = { workspace = true, optional=true }

md-5 = {workspace = true}


rcgen = { workspace = true, optional = true, features=["pem", "x509-parser" ]}
rustls = { workspace = true, optional = true, features=["aws_lc_rs"]}
rustls-pemfile = { workspace = true, optional = true }
tokio-rustls =  { workspace = true, optional = true}
tls-api-rustls =  { workspace = true, optional = true}

text_io = { workspace = true, optional = true}
clap =  { workspace = true, optional = true , features=["derive"]}
walkdir = { workspace = true, optional = true }

ariadne = { workspace = true, optional = true }
nom ={ workspace = true, optional = true }
nom-supreme = { workspace = true, optional = true }
nom_locate = { workspace = true, optional = true }
regex = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
serde_urlencoded = { workspace = true, optional = true }
enum-ordinalize = { workspace = true, optional = true }
convert_case = { workspace = true, optional = true }
validator = { workspace = true, optional = true }


threadpool ={ workspace = true, optional = true }
oneshot = { workspace = true, optional = true }


anyhow = { workspace = true, optional = true }
##virtual-fs ={ workspace = true, optional = true }

quinn ={ workspace = true, optional = true }
webpki-roots = { workspace = true}
path-clean = { workspace = true}
thiserror-context = { workspace = true }
rustyline = { workspace = true, features=["with-file-history", "with-dirs"]}
cliclack = { workspace = true }

serde_yaml = { workspace = true }
derive_builder = { workspace=true }
postgresql_embedded = { workspace=true, optional = true }
text-to-ascii-art = { workspace = true}
colored = {workspace = true}
lerp = { workspace = true, features=["derive"] }
atty ={workspace = true}
#rolling-file = {workspace = true}
termsize = {workspace = true}
port_check = {workspace = true}
crossterm = {workspace = true}
#log= {workspace = true}
textwrap = {workspace = true}
console = {workspace = true}
derive-name = {workspace = true}

#tracing = { workspace = true, features=["std","log","attributes","tracing-attributes","max_level_trace"]}
tracing = { workspace = true, features=["std","log","attributes","tracing-attributes","async-await"]}

tracing-subscriber = { workspace = true, features = ["default"]}
tracing-attributes= { workspace = true,  features=["async-await"]}
tracing-core= { workspace = true,  features = ["valuable","default"] }


[lib]
name = "starlane"
path= "src/lib.rs"


[[bin]]
name = "starlane"
doc = false
path = "src/main.rs"