feagi-structures 0.0.1-beta.9

The most core library, defines the basic data types used by FEAGI, as well as some processors to modify them
Documentation
[package]
name = "feagi-structures"
version = "0.0.1-beta.9"
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "The most core library, defines the basic data types used by FEAGI, as well as some processors to modify them"

[dependencies]
serde = { workspace = true }
serde_json = { workspace = true}
ndarray = { workspace = true}
rayon = { workspace = true}
uuid = { workspace = true }
paste = "1.0.15"
base64 = "0.22.1"

# Async runtime dependencies (optional, behind "async" feature)
tokio = { version = "1.48.0", optional = true, features = ["rt", "rt-multi-thread", "macros", "time"] }
wasm-bindgen = { version = "^0.2", optional = true }
wasm-bindgen-futures = { version = "^0.4", optional = true }
futures-channel = { version = "0.3.31", optional = true }
futures-util = { version = "0.3", optional = true, default-features = false, features = ["std"] }
js-sys = { version = "0.3", optional = true }
web-sys = { version = "0.3", optional = true, features = ["Window"] }
wasm-rs-async-executor = { version = "0.9.0", optional = true }

[features]
default = []
# Async runtime abstraction (platform-agnostic async support)
async = []  # Enable async module (no runtime by default)
async-tokio = ["async", "dep:tokio"]  # Tokio runtime for desktop/server
async-wasm = ["async", "dep:wasm-bindgen", "dep:wasm-bindgen-futures", "dep:futures-channel", "dep:futures-util", "dep:js-sys", "dep:web-sys"]  # WASM runtime for browser
async-wasi = ["async", "dep:wasm-rs-async-executor"]  # WASI runtime for local WASM

[dev-dependencies]
wasm-bindgen-test = "0.3"