-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Expand file tree
/
Copy pathCargo.toml
More file actions
56 lines (52 loc) · 2.38 KB
/
Copy pathCargo.toml
File metadata and controls
56 lines (52 loc) · 2.38 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
[package]
name = "ironclaw_host_api"
version = "0.1.0"
edition = "2024"
# Keep in sync with the workspace-level package.rust-version.
rust-version.workspace = true
description = "Shared host API contracts for IronClaw Reborn"
authors = ["NEAR AI <support@near.ai>"]
license = "MIT OR Apache-2.0"
homepage = "https://github.com/nearai/ironclaw"
repository = "https://github.com/nearai/ironclaw"
publish = false
[package.metadata.ironclaw]
layer = "contracts"
[features]
# Dev-only seam (rule: cargo-features.md bar #4 — the sanctioned `test-support`
# name). Compiles the shared `TestDispatcher` `CapabilityDispatcher` double
# (`dispatch_test_support`) and the messaging conformance test-support helpers
# (`test_support::messaging_conformance`), so downstream crates stop
# hand-rolling ~25 one-method dispatcher fakes and per-extension canonical
# schema-validation plumbing. `dep:jsonschema` must be pulled in here (not
# only via `[dev-dependencies]`) because the conformance helpers are a `pub`
# module that has to compile at the *library* level for downstream crates
# that enable this feature (e.g. `tests/integration`), not only for this
# crate's own `cargo test`. Never enabled by a shipped artifact.
test-support = ["dep:jsonschema"]
[dependencies]
async-trait = "0.1"
chrono = { version = "0.4", features = ["serde"] }
jsonschema = { version = "0.49", default-features = false, optional = true }
rust_decimal = { version = "1", features = ["serde", "serde-with-str"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.11"
thiserror = "2"
tracing = "0.1"
uuid = { version = "1", features = ["v4", "v5", "serde"] }
zeroize = "1"
[dev-dependencies]
# Standard messaging contract tests only (`messaging.rs`): compiles the 32
# canonical schema files to confirm they are valid draft-07 JSON Schema. Kept
# unconditional (rather than relying solely on the optional `dep:jsonschema`
# above) so plain `cargo test -p ironclaw_host_api` — no `--features
# test-support` — still runs this suite, matching
# crates/kernel/ironclaw_host_runtime/Cargo.toml:55. Production output validation
# happens in ironclaw_host_runtime (Task 5), not here.
jsonschema = { version = "0.49", default-features = false }
rust_decimal_macros = "1"
static_assertions = "1"
toml = "1.1"
# `#[tokio::test]` for the async `dispatch_test_support::TestDispatcher` tests.
tokio = { version = "1", features = ["macros", "rt"] }