shepherd-core 6.4.5

The harness-agnostic shepherd engine: domain types, configuration schema, and run state. Knows nothing about any CLI, harness, or process.
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.96.0"
name = "shepherd-core"
version = "6.4.5"
authors = [
    "FL03 <joe@pzzld.org>",
    "Scattered-Systems LLC <support@scsys.io>",
]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The harness-agnostic shepherd engine: domain types, configuration schema, and run state. Knows nothing about any CLI, harness, or process."
homepage = "https://github.com/FL03/shepherd/wiki"
readme = "README.md"
keywords = [
    "agent",
    "orchestration",
    "sprint",
    "cli",
    "plugin",
]
categories = [
    "command-line-utilities",
    "development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/FL03/shepherd.git"

[package.metadata.docs.rs]
all-features = false
features = ["full"]
rustc-args = [
    "--cfg",
    "docsrs",
]
version = "v{{version}}"

[package.metadata.release]
no-dev-version = true
tag-name = "v{{version}}"

[features]
alloc = [
    "chrono?/alloc",
    "nom?/alloc",
    "serde?/alloc",
    "serde_json?/alloc",
    "uuid?/std",
]
chrono = [
    "alloc",
    "dep:chrono",
]
config = [
    "dep:toml",
    "json",
    "std",
]
default = ["std"]
full = [
    "default",
    "chrono",
    "config",
    "json",
    "parse",
    "schema",
    "tracing",
    "uuid",
]
json = [
    "alloc",
    "serde",
    "serde_json",
]
native = ["full"]
nightly = []
parse = [
    "alloc",
    "dep:nom",
    "dep:toml",
]
schema = [
    "alloc",
    "dep:schemars",
    "serde",
]
serde = [
    "alloc",
    "dep:serde",
    "chrono?/serde",
    "uuid?/serde",
]
serde_json = [
    "alloc",
    "dep:serde_json",
]
std = [
    "alloc",
    "chrono?/std",
    "nom?/std",
    "schemars?/std",
    "serde?/std",
    "serde_json?/std",
    "strum/std",
    "thiserror/std",
    "toml?/std",
    "tracing?/std",
]
tracing = [
    "alloc",
    "dep:tracing",
]
uuid = [
    "alloc",
    "dep:uuid",
]
wasi = [
    "config",
    "json",
    "parse",
    "schema",
    "std",
]
wasm = [
    "config",
    "json",
    "parse",
    "schema",
    "std",
]

[lib]
name = "shepherd_core"
crate-type = ["rlib"]
path = "src/lib.rs"
bench = false

[[test]]
name = "default"
path = "tests/default.rs"
required-features = []

[[test]]
name = "dispatch"
path = "tests/dispatch.rs"
required-features = [
    "std",
    "json",
]

[[test]]
name = "guard"
path = "tests/guard.rs"
required-features = [
    "std",
    "parse",
    "json",
]

[[test]]
name = "loader"
path = "tests/loader.rs"

[[test]]
name = "portable_dispatch"
path = "tests/portable_dispatch.rs"
required-features = [
    "std",
    "json",
]

[[test]]
name = "run_state"
path = "tests/run_state.rs"
required-features = [
    "std",
    "json",
]

[dependencies.chrono]
version = "0.4"
optional = true
default-features = false

[dependencies.nom]
version = "8"
optional = true
default-features = false

[dependencies.schemars]
version = "1"
features = ["derive"]
optional = true
default-features = false

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
default-features = false

[dependencies.serde_json]
version = "1"
optional = true
default-features = false

[dependencies.strum]
version = "0.28"
features = ["derive"]
default-features = false

[dependencies.thiserror]
version = "2"
default-features = false

[dependencies.toml]
version = "1.1"
features = [
    "parse",
    "serde",
]
optional = true
default-features = false

[dependencies.tracing]
version = "0.1"
features = ["attributes"]
optional = true
default-features = false

[dependencies.uuid]
version = "1"
features = ["v7"]
optional = true
default-features = false

[lints.clippy]
cast_possible_truncation = "warn"
cast_sign_loss = "warn"

[lints.clippy.all]
level = "warn"
priority = -1

[lints.rust]
unreachable_pub = "warn"
unsafe_code = "deny"