dsct 0.2.8

LLM-friendly packet dissector CLI
Documentation
# 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.88"
name = "dsct"
version = "0.2.8"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "LLM-friendly packet dissector CLI"
readme = "README.md"
keywords = [
    "pcap",
    "pcapng",
    "packet",
    "dissector",
    "llm",
]
categories = [
    "command-line-utilities",
    "network-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/higebu/dsct"

[package.metadata.docs.rs]
all-features = true

[features]
ah = ["packet-dissector/ah"]
arp = ["packet-dissector/arp"]
bfd = ["packet-dissector/bfd"]
bgp = ["packet-dissector/bgp"]
default = [
    "ethernet",
    "linux_sll",
    "linux_sll2",
    "arp",
    "lacp",
    "ipv4",
    "ipv6",
    "icmp",
    "icmpv6",
    "igmp",
    "tcp",
    "udp",
    "sctp",
    "http",
    "http2",
    "dns",
    "mdns",
    "dhcp",
    "dhcpv6",
    "gtpv1u",
    "gtpv2c",
    "pfcp",
    "sip",
    "diameter",
    "nas5g",
    "ngap",
    "srv6",
    "geneve",
    "gre",
    "vxlan",
    "lldp",
    "stp",
    "mpls",
    "ntp",
    "ospf",
    "vrrp",
    "bfd",
    "isis",
    "bgp",
    "l2tp",
    "l2tpv3",
    "tls",
    "ppp",
    "radius",
    "ah",
    "esp",
    "esp-decrypt",
    "ike",
    "rtp",
    "quic",
    "stun",
]
dhcp = ["packet-dissector/dhcp"]
dhcpv6 = ["packet-dissector/dhcpv6"]
diameter = ["packet-dissector/diameter"]
dns = ["packet-dissector/dns"]
esp = ["packet-dissector/esp"]
esp-decrypt = [
    "esp",
    "packet-dissector/esp-decrypt",
]
ethernet = ["packet-dissector/ethernet"]
geneve = ["packet-dissector/geneve"]
gre = ["packet-dissector/gre"]
gtpv1u = ["packet-dissector/gtpv1u"]
gtpv2c = ["packet-dissector/gtpv2c"]
http = ["packet-dissector/http"]
http2 = ["packet-dissector/http2"]
icmp = ["packet-dissector/icmp"]
icmpv6 = ["packet-dissector/icmpv6"]
igmp = ["packet-dissector/igmp"]
ike = ["packet-dissector/ike"]
ipv4 = ["packet-dissector/ipv4"]
ipv6 = ["packet-dissector/ipv6"]
isis = ["packet-dissector/isis"]
l2tp = ["packet-dissector/l2tp"]
l2tpv3 = ["packet-dissector/l2tpv3"]
lacp = ["packet-dissector/lacp"]
linux_sll = ["packet-dissector/linux_sll"]
linux_sll2 = ["packet-dissector/linux_sll2"]
lldp = ["packet-dissector/lldp"]
mdns = ["packet-dissector/mdns"]
mpls = ["packet-dissector/mpls"]
nas5g = ["packet-dissector/nas5g"]
ngap = ["packet-dissector/ngap"]
ntp = ["packet-dissector/ntp"]
ospf = ["packet-dissector/ospf"]
pfcp = ["packet-dissector/pfcp"]
ppp = ["packet-dissector/ppp"]
quic = ["packet-dissector/quic"]
radius = ["packet-dissector/radius"]
rtp = ["packet-dissector/rtp"]
sctp = ["packet-dissector/sctp"]
sip = ["packet-dissector/sip"]
srv6 = ["packet-dissector/srv6"]
stp = ["packet-dissector/stp"]
stun = ["packet-dissector/stun"]
tcp = ["packet-dissector/tcp"]
tls = ["packet-dissector/tls"]
tui = [
    "dep:ratatui",
    "dep:crossterm",
    "dep:memmap2",
    "dep:nucleo-matcher",
    "dep:tempfile",
    "dep:rustix",
    "dep:lru",
]
udp = ["packet-dissector/udp"]
vrrp = ["packet-dissector/vrrp"]
vxlan = ["packet-dissector/vxlan"]

[lib]
name = "dsct"
path = "src/lib.rs"

[[bin]]
name = "dsct"
path = "src/main.rs"

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

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

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

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

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

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

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

[[bench]]
name = "json_escape"
path = "benches/json_escape.rs"
harness = false

[[bench]]
name = "tui_index"
path = "benches/tui_index.rs"
harness = false
required-features = ["tui"]

[dependencies.clap]
version = "4"
features = ["derive"]

[dependencies.crossterm]
version = "0.29"
features = ["use-dev-tty"]
optional = true

[dependencies.lru]
version = "0.16"
optional = true

[dependencies.memmap2]
version = "0.9"
optional = true

[dependencies.nucleo-matcher]
version = "0.3"
optional = true

[dependencies.packet-dissector]
version = "0.2.5"
default-features = false

[dependencies.packet-dissector-core]
version = "0.2.5"

[dependencies.packet-dissector-pcap]
version = "0.2.5"

[dependencies.ratatui]
version = "0.30"
features = ["crossterm"]
optional = true
default-features = false

[dependencies.rustix]
version = "1"
features = ["stdio"]
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"
features = ["preserve_order"]

[dependencies.sqlparser]
version = "0.61.0"

[dependencies.tempfile]
version = "3"
optional = true

[dependencies.thiserror]
version = "2"

[dependencies.toml]
version = "1.1"

[dev-dependencies.assert_cmd]
version = "2"

[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]

[dev-dependencies.nix]
version = "0.31"
features = [
    "term",
    "poll",
    "process",
    "fs",
]
default-features = false

[dev-dependencies.packet-dissector-test-alloc]
version = "0.2.5"

[dev-dependencies.predicates]
version = "3"

[dev-dependencies.tempfile]
version = "3"

[profile.dist]
lto = "thin"
inherits = "release"