harn-hostlib 0.8.21

Opt-in code-intelligence and deterministic-tool host builtins for the Harn VM
Documentation
[package]
name = "harn-hostlib"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Opt-in code-intelligence and deterministic-tool host builtins for the Harn VM"
include = [
    "src/**/*",
    "schemas/**/*",
    "data/**/*",
    "tests/**/*",
    "benches/**/*",
    "Cargo.toml",
    "README.md",
]

[dependencies]
harn-vm = { path = "../harn-vm", version = "0.8" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.11"
hex = "0.4"
time = { version = "0.3", features = ["formatting"] }
tokio = { version = "1", features = ["rt", "macros", "sync", "fs", "process", "time"] }
anyhow = "1"
thiserror = "2"
once_cell = "1"

# Foundational dependencies for the upcoming module implementations
# (B2/B3/B4/C1/C2/C3). They are wired in here so the workspace lockfile is
# stable across follow-up issues — module code that lands later can use them
# without bumping deps in a separate PR. Pinned to known-good releases at the
# time of scaffolding.
#
# `gix` is intentionally not pinned here: 0.82 fails to compile on the
# repo's current rustc against gix-hash 0.24's exhaustive match guards.
# Issue C2 (the `tools/git` implementation) picks the version it needs
# along with the toolchain bump; until then we shell out to the system
# `git` if anything urgent comes up.
tree-sitter = "0.26"
grep-searcher = "0.1"
grep-matcher = "0.1"
grep-regex = "0.1"
ignore = "0.4"
notify = "8"
globset = "0.4"
walkdir = "2"
base64 = "0.22"
regex = "1"

# Tree-sitter grammars driving `ast::*` (issue #564). Versions match the
# Swift `ASTEngine` set verbatim — see the `ast` module for the language
# table. Each crate exposes a `LANGUAGE` (or `LANGUAGE_*` for multi-grammar
# crates) constant so we can construct `tree_sitter::Language` cheaply.
tree-sitter-rust = "0.24"
tree-sitter-typescript = "0.23"
tree-sitter-javascript = "0.25"
tree-sitter-python = "0.25"
tree-sitter-go = "0.25"
tree-sitter-java = "0.23"
tree-sitter-c = "0.24"
tree-sitter-cpp = "0.23"
tree-sitter-c-sharp = "0.23"
tree-sitter-ruby = "0.23"
tree-sitter-kotlin-ng = "1.1"
tree-sitter-php = "0.24"
tree-sitter-scala = "0.26"
tree-sitter-bash = "0.25"
tree-sitter-swift = "0.7"
tree-sitter-zig = "1.1"
tree-sitter-elixir = "0.3"
tree-sitter-lua = "0.5"
tree-sitter-haskell = "0.23"
tree-sitter-r = "1.2"

[dev-dependencies]
tempfile = "3"
serde_json = "1"
filetime = "0.2"
criterion = "0.8"
harn-lexer = { path = "../harn-lexer", version = "0.8" }
harn-parser = { path = "../harn-parser", version = "0.8" }

[[bench]]
name = "ast_parse"
harness = false