The 1.85 claim is now false at the dependency level: the lockfile pins alkcall 0.7.x, and alkcall 0.7.1 raised its MSRV floor to 1.88, so no 1.85 toolchain can resolve this dependency graph regardless of what Cargo.toml declares. Raising the floor keeps the claim honest and aligns with the ecosystem floor (noq's 1.88, matching the QUIC path; iroh sits above at 1.91). alktty's own code is 1.85-clean (verified: cargo check under 1.85 passes with the pre-bump lockfile) — the raise is dependency-driven only, so no clippy fixes are needed. - Cargo.toml: rust-version 1.85 -> 1.88 (version-line bump deferred to release time) Verification: - 1.88: cargo test --locked (113 default / 156 all-features pass), clippy --all-targets -D warnings - stable 1.94: test --locked, clippy --all-targets -D warnings, fmt, doc --no-deps, wasm32-unknown-unknown check + clippy clean
54 lines
1.9 KiB
TOML
54 lines
1.9 KiB
TOML
[package]
|
|
name = "alktty"
|
|
version = "0.4.0"
|
|
edition = "2021"
|
|
rust-version = "1.88"
|
|
license = "MIT OR Apache-2.0"
|
|
description = "Terminal session protocol: wire format, TtyBackend trait, TtyAdapter, and typed consumer client. Producer/consumer protocol crate on top of alkcall channels."
|
|
repository = "https://git.alk.dev/alkdev/alktty"
|
|
readme = "README.md"
|
|
keywords = ["tty", "terminal", "pty", "channels", "alkcall"]
|
|
categories = ["network-programming", "asynchronous"]
|
|
exclude = [".opencode/", "AGENTS.md", "docs/reviews/", "docs/plans/", "docs/sdd_process.md"]
|
|
|
|
[lib]
|
|
name = "alktty"
|
|
|
|
[features]
|
|
default = []
|
|
# `local` is inherently non-wasm (portable-pty + tokio::process need a real
|
|
# OS). The default crate (no features) targets `wasm32-unknown-unknown`;
|
|
# enabling `local` on wasm is a build error by design — use a real OS for
|
|
# the local-process backend. The protocol crate (wire, negotiation,
|
|
# control, backend trait, adapter, session, channels) stays wasm-clean so
|
|
# downstream TS/Python adapters can compile it in a sandbox.
|
|
local = ["dep:portable-pty", "dep:tokio-util", "tokio/process", "tokio/rt-multi-thread"]
|
|
|
|
[dependencies]
|
|
alkcall = "0.7.0"
|
|
# Minimal, wasm-clean tokio features. `local` adds `process` +
|
|
# `rt-multi-thread` (non-wasm). Do NOT use `features = ["full"]` — it
|
|
# pulls in `signal`/`fs`/`net` which break `wasm32-unknown-unknown`.
|
|
tokio = { version = "1", default-features = false, features = ["rt", "sync", "io-util", "macros"] }
|
|
bytes = "1"
|
|
futures = "0.3"
|
|
futures-core = "0.3"
|
|
tokio-stream = "0.1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
async-trait = "0.1"
|
|
tracing = "0.1"
|
|
thiserror = "2"
|
|
|
|
portable-pty = { version = "0.9", optional = true }
|
|
tokio-util = { version = "0.7", features = ["io"], optional = true }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1", features = ["full", "test-util", "macros"] }
|
|
serde_json = "1"
|
|
tempfile = "3"
|
|
bytes = "1"
|