boundgraph-slice 0.1.0

Layer 4 of BoundGraph: the slicers that turn raw tool output into size-capped condensates.
Documentation
[package]

name = "boundgraph-slice"

description = "Layer 4 of BoundGraph: the slicers that turn raw tool output into size-capped condensates."

version.workspace = true

edition.workspace = true

rust-version.workspace = true

license.workspace = true

repository.workspace = true

authors.workspace = true

homepage.workspace = true

readme.workspace = true

keywords = ["boundgraph", "ast", "tree-sitter", "summary", "context"]

categories = ["parsing", "text-processing"]



# docs.rs documents the whole crate, not the default build: the tiers and

# sinks behind cargo features are the part a reader most needs to see before

# deciding to turn one on.

[package.metadata.docs.rs]

all-features = true



[lib]

name = "boundgraph_slice"

path = "src/lib.rs"



[features]

# The log, diff, and JSON slicers need no parser and are always available. The

# AST slicer does, and a build that never slices source code should not compile

# one — the same audit-friendly split the providers use (`ARCHITECTURE.md` §3).

default = ["ast"]



# The AST-preserving slicer for source code (US-0702), and the grammars it

# understands. Adds tree-sitter and one crate per language.

ast = [

    "dep:tree-sitter",

    "dep:tree-sitter-rust",

    "dep:tree-sitter-python",

    "dep:tree-sitter-javascript",

]



[dependencies]

async-trait.workspace = true

boundgraph-core.workspace = true

serde.workspace = true

serde_json.workspace = true

thiserror.workspace = true



tree-sitter = { workspace = true, optional = true }

tree-sitter-javascript = { workspace = true, optional = true }

tree-sitter-python = { workspace = true, optional = true }

tree-sitter-rust = { workspace = true, optional = true }



[dev-dependencies]

tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }



[lints]

workspace = true