[package]
name = "graphshell"
version = "0.0.2"
edition = "2024"
license = "MIT OR Apache-2.0"
repository = "https://github.com/merely-made/mere"
description = "Graphshell presentation host and loopback acceptance view."
autobins = false
[features]
default = ["native"]
native = [
"dep:blake3",
"dep:graphshell-network",
"dep:graphshell-stdio",
"dep:light-file-dialog",
"dep:notochord",
"dep:castellan",
"dep:personae",
"dep:rand_core",
"dep:serde",
"dep:pandect",
"dep:signature",
"dep:ssh-agent-lib",
"dep:ssh-key",
"dep:thiserror",
"dep:tokio",
"dep:tracing",
"dep:tracing-subscriber",
"dep:transport",
"dep:uuid",
"dep:zeroize",
]
web = [
"dep:async-trait",
"dep:chartulary",
"dep:eidetic",
"dep:canvas",
"dep:kernel",
"dep:muniment",
"dep:serde",
"dep:sha2",
"dep:uuid",
"dep:url",
]
personal-sync = [
"native",
"web",
"muniment/redb",
"dep:p2panda-core",
"dep:p2panda-store",
"dep:stickleback",
]
[dependencies]
async-trait = { version = "0.1", optional = true }
base64 = "0.22"
chartulary = { version = "0.2.1", optional = true }
eidetic = { package = "mere-eidetic", version = "0.0.2", default-features = false, optional = true }
graphshell-client = "0.0.2"
graphshell-endpoint = "0.0.2"
chirograph = "0.0.2"
canvas = { package = "mere-canvas", version = "0.0.1", optional = true }
kernel = { package = "mere-kernel", version = "0.0.2", optional = true }
muniment = { version = "0.1.2", optional = true }
sceno = "0.0.4"
scenotime = "0.0.4"
serde = { version = "1", features = ["derive"], optional = true }
serde_json = "1"
sha2 = { version = "0.11", optional = true }
uuid = { version = "1", features = ["serde", "v4", "v5"], optional = true }
url = { version = "2", optional = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
blake3 = { version = "1", optional = true }
graphshell-network = { version = "0.0.1", optional = true }
graphshell-stdio = { version = "0.0.2", optional = true }
light-file-dialog = { version = "3.21.3", optional = true }
notochord = { version = "0.1.0", features = ["tokio"], optional = true }
castellan = { version = "0.0.3", features = ["keeper"], optional = true }
personae = { version = "0.2.1", features = ["agent"], optional = true }
p2panda-core = { version = "0.7.0", optional = true }
p2panda-store = { version = "0.7.0", default-features = false, optional = true }
rand_core = { version = "0.6", features = ["getrandom"], optional = true }
pandect = { version = "0.1.1", optional = true }
signature = { version = "2", optional = true }
ssh-agent-lib = { version = "0.6", optional = true }
ssh-key = { version = "0.6", features = ["ed25519", "encryption"], optional = true }
stickleback = { version = "0.1.1", optional = true }
thiserror = { version = "1", optional = true }
tokio = { version = "1", features = ["io-std", "io-util", "macros", "net", "rt-multi-thread", "sync", "time"], optional = true }
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"], optional = true }
transport = { package = "mere-transport", version = "0.0.2", features = ["notochord"], optional = true }
zeroize = { version = "1", optional = true }
[target.'cfg(all(windows, not(target_arch = "wasm32")))'.dependencies]
windows-sys = { version = "0.59", features = [
"Win32_Foundation",
"Win32_Security",
"Win32_System_Pipes",
"Win32_System_Threading",
] }
[[bin]]
name = "g1_receipt"
path = "src/bin/g1_receipt.rs"
required-features = ["native"]
[[bin]]
name = "g4_sessions"
path = "src/bin/g4_sessions.rs"
required-features = ["native"]
[[bin]]
name = "g5_peer"
path = "src/bin/g5_peer/main.rs"
required-features = ["native"]
[[bin]]
name = "h6_transfer_peer"
path = "src/bin/h6_transfer_peer/main.rs"
required-features = ["native", "web"]
[[bin]]
name = "h7_sync_peer"
path = "src/bin/h7_sync_peer.rs"
required-features = ["personal-sync"]
[[bin]]
name = "n4_policy_receipt"
path = "src/bin/n4_policy_receipt.rs"
required-features = ["native"]
[[bin]]
name = "h4_identity_receipt"
path = "src/bin/h4_identity_receipt.rs"
required-features = ["native"]
[[bin]]
name = "persona_switch_receipt"
path = "src/bin/persona_switch_receipt.rs"
required-features = ["native"]
[[bin]]
name = "graphshell_native_host"
path = "src/bin/graphshell_native_host.rs"
required-features = ["native"]
[[bin]]
name = "receipt_ingest"
path = "src/bin/receipt_ingest.rs"
required-features = ["personal-sync"]
[[bin]]
name = "h4d_browser_receipt_host"
path = "src/bin/h4d_browser_receipt_host.rs"
required-features = ["native"]
[[bin]]
name = "h4e_browser_import_receipt_host"
path = "src/bin/h4e_browser_import_receipt_host.rs"
required-features = ["native"]
[[bin]]
name = "h4f_agent_probe"
path = "src/bin/h4f_agent_probe.rs"
required-features = ["native"]
[dev-dependencies]
pollster = "0.4"
tempfile = "3"
tokio = { version = "1", features = ["io-util", "macros", "net", "rt", "rt-multi-thread", "time"] }