-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathCargo.toml
More file actions
76 lines (65 loc) · 2.35 KB
/
Copy pathCargo.toml
File metadata and controls
76 lines (65 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
[package]
name = "strands-shell"
# Placeholder — the real version comes from the release git tag, stamped at
# build time by .github/actions/stamp-version. Do not bump this by hand.
version = "0.0.0"
edition = "2024"
description = "A virtual shell sandbox for AI agents"
license = "Apache-2.0"
repository = "https://github.com/strands-agents/shell"
homepage = "https://github.com/strands-agents/shell"
[lib]
name = "strands_shell"
crate-type = ["cdylib", "rlib"]
[[bin]]
name = "strands-shell"
path = "src/main.rs"
[[bin]]
name = "strands-shell-wasm"
path = "src/wasm_main.rs"
required-features = ["wasm"]
[features]
python = ["pyo3"]
node = ["napi", "napi-derive", "napi-build"]
wasm = []
# ----- Cross-platform dependencies (pure Rust, WASM-safe) -----
[dependencies]
async-trait = "0.1"
bytes = "1"
clap = { version = "4", features = ["derive"] }
lexopt = "0.3"
strands-shell-macros = { path = "strands-shell-macros", version = "0.1.0" }
regex = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "1"
url = "2"
jaq-core = "2"
jaq-std = { version = "2", features = ["format", "log", "math", "regex", "time", "std"] }
jaq-json = { version = "1", features = ["serde_json"] }
# ----- Native-only dependencies -----
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
inventory = "0.3"
napi = { version = "3", features = ["napi9", "tokio_rt"], optional = true }
napi-derive = { version = "3", optional = true }
pyo3 = { version = "0.29", features = ["extension-module"], optional = true }
reqwest = { version = "0.12", features = ["rustls-tls"], default-features = false }
rustyline = "18"
tokio = { version = "1", features = ["rt", "macros", "sync", "io-util", "io-std", "fs", "time", "process"] }
# ----- WASM dependencies -----
[target.'cfg(target_arch = "wasm32")'.dependencies]
tokio = { version = "1", features = ["rt", "macros", "sync", "io-util"] }
wasi = "0.14"
# ----- Cross-platform (native + WASM) -----
[dependencies.mlua]
version = "0.12.1"
features = ["lua54", "async", "vendored"]
[workspace]
members = [".", "strands-shell-macros", "xtask"]
[dev-dependencies]
axum = "0.8"
# napi-build stays on 2.x — the build-script helper is versioned
# independently of the napi/napi-derive runtime crates and has no 3.x release
# (latest is 2.3.2, which is what pairs with napi 3.x).
[build-dependencies]
napi-build = { version = "2", optional = true }