[package]
edition = "2024"
name = "vtcode-core"
version = "0.67.0"
authors = ["vinhnx <vinhnx@users.noreply.github.com>"]
build = "build.rs"
include = [
"src/",
"tests/",
"examples/",
"build.rs",
"Cargo.toml",
"README.md",
"LICENSE",
"embedded_assets_source/",
"templates/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core library for VT Code - a Rust-based terminal coding agent"
homepage = "https://github.com/vinhnx/vtcode"
documentation = "https://docs.rs/vtcode-core"
readme = "README.md"
keywords = [
"ai",
"coding",
"agent",
"llm",
"rust",
]
categories = [
"development-tools",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/vinhnx/vtcode"
[package.metadata.cargo-machete]
ignored = [
"dotenvy",
"itertools",
"toml_edit",
]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
a2a-server = [
"dep:axum",
"dep:tower",
"dep:tower-http",
"dep:tokio-stream",
]
anthropic-api = [
"dep:axum",
"dep:tower",
"dep:tower-http",
"dep:tokio-stream",
]
default = []
desktop-notifications = ["dep:notify-rust"]
schema = ["dep:schemars"]
swift = ["dep:tree-sitter-swift"]
[lib]
name = "vtcode_core"
path = "src/lib.rs"
[[example]]
name = "anstyle_ratatui_example"
path = "examples/anstyle_ratatui_example.rs"
[[example]]
name = "anstyle_test"
path = "examples/anstyle_test.rs"
[[example]]
name = "dialoguer_example"
path = "examples/dialoguer_example.rs"
[[example]]
name = "file_search_bridge_demo"
path = "examples/file_search_bridge_demo.rs"
[[example]]
name = "migration_test"
path = "examples/migration_test.rs"
[[example]]
name = "modern_tui_demo"
path = "examples/modern_tui_demo.rs"
[[example]]
name = "test_anstyle"
path = "examples/test_anstyle.rs"
[[example]]
name = "verify_optimization"
path = "examples/verify_optimization.rs"
[[test]]
name = "apply_patch_alias"
path = "tests/apply_patch_alias.rs"
[[test]]
name = "apply_patch_comprehensive"
path = "tests/apply_patch_comprehensive.rs"
[[test]]
name = "config_loader_test"
path = "tests/config_loader_test.rs"
[[test]]
name = "create_file_tool"
path = "tests/create_file_tool.rs"
[[test]]
name = "delete_file_tool"
path = "tests/delete_file_tool.rs"
[[test]]
name = "execpolicy_security_tests"
path = "tests/execpolicy_security_tests.rs"
[[test]]
name = "file_ops_read"
path = "tests/file_ops_read.rs"
[[test]]
name = "file_ops_security"
path = "tests/file_ops_security.rs"
[[test]]
name = "filesystem_tool_aliases"
path = "tests/filesystem_tool_aliases.rs"
[[test]]
name = "get_errors_tool"
path = "tests/get_errors_tool.rs"
[[test]]
name = "loop_detection_integration"
path = "tests/loop_detection_integration.rs"
[[test]]
name = "loop_detector_props"
path = "tests/loop_detector_props.rs"
[[test]]
name = "lsp_tool_test"
path = "tests/lsp_tool_test.rs"
[[test]]
name = "mcp_basic_test"
path = "tests/mcp_basic_test.rs"
[[test]]
name = "mcp_context7_manual"
path = "tests/mcp_context7_manual.rs"
[[test]]
name = "mcp_integration_e2e"
path = "tests/mcp_integration_e2e.rs"
[[test]]
name = "mcp_integration_test"
path = "tests/mcp_integration_test.rs"
[[test]]
name = "mcp_startup_timeout_test"
path = "tests/mcp_startup_timeout_test.rs"
[[test]]
name = "middleware_enhancements_test"
path = "tests/middleware_enhancements_test.rs"
[[test]]
name = "openai_responses_integration"
path = "tests/openai_responses_integration.rs"
[[test]]
name = "openai_responses_streaming_integration"
path = "tests/openai_responses_streaming_integration.rs"
[[test]]
name = "optimization_integration_tests"
path = "tests/optimization_integration_tests.rs"
[[test]]
name = "patch_recovery"
path = "tests/patch_recovery.rs"
[[test]]
name = "phase4_dual_output_integration"
path = "tests/phase4_dual_output_integration.rs"
[[test]]
name = "pty_session_guard_test"
path = "tests/pty_session_guard_test.rs"
[[test]]
name = "pty_test"
path = "tests/pty_test.rs"
[[test]]
name = "pty_tests"
path = "tests/pty_tests.rs"
[[test]]
name = "pty_unicode_test"
path = "tests/pty_unicode_test.rs"
[[test]]
name = "real_execute_tool_ref_optimization_test"
path = "tests/real_execute_tool_ref_optimization_test.rs"
[[test]]
name = "real_optimization_integration_test"
path = "tests/real_optimization_integration_test.rs"
[[test]]
name = "run_command_tool"
path = "tests/run_command_tool.rs"
[[test]]
name = "unicode_handling_test"
path = "tests/unicode_handling_test.rs"
[[test]]
name = "web_fetch_default_prompt_test"
path = "tests/web_fetch_default_prompt_test.rs"
[dependencies.ansi-to-tui]
version = "8.0.0"
[dependencies.anstream]
version = "0.6"
[dependencies.anstyle]
version = "1.0"
[dependencies.anstyle-crossterm]
version = "4.0"
[dependencies.anstyle-git]
version = "1.1"
[dependencies.anstyle-ls]
version = "1.0"
[dependencies.anstyle-query]
version = "1.0"
[dependencies.anstyle-syntect]
version = "1.0"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-process]
version = "2.2"
[dependencies.async-stream]
version = "0.3"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.axum]
version = "0.8"
features = [
"json",
"macros",
]
optional = true
[dependencies.base64]
version = "0.22.1"
[dependencies.better-panic]
version = "0.3.0"
features = ["syntect"]
[dependencies.catppuccin]
version = "2.5"
default-features = false
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.colorchoice-clap]
version = "1.0"
[dependencies.crossterm]
version = "0.29"
features = ["event-stream"]
[dependencies.dialoguer]
version = "0.12.0"
[dependencies.dirs]
version = "6.0"
[dependencies.dotenvy]
version = "0.15"
[dependencies.dunce]
version = "1.0"
[dependencies.editor-command]
version = "2.0"
[dependencies.futures]
version = "0.3"
[dependencies.futures-lite]
version = "2.3"
[dependencies.glob]
version = "0.3"
[dependencies.humantime]
version = "2.1"
[dependencies.iana-time-zone]
version = "0.1"
[dependencies.include_dir]
version = "0.7"
[dependencies.indexmap]
version = "2.12"
features = ["serde"]
[dependencies.itertools]
version = "0.14.0"
[dependencies.json5]
version = "1.3"
[dependencies.jsonschema]
version = "0.38"
[dependencies.line-clipping]
version = "0.3"
[dependencies.lru]
version = "0.16"
[dependencies.lsp-types]
version = "0.97.0"
[dependencies.mcp-types]
version = "0.1.1"
[dependencies.nix]
version = "0.30"
features = [
"user",
"signal",
]
[dependencies.notify-rust]
version = "4.11"
optional = true
[dependencies.nucleo-matcher]
version = "0.3"
[dependencies.num_cpus]
version = "1.16"
[dependencies.once_cell]
version = "1.19"
[dependencies.openai-harmony]
version = "0.0.8"
[dependencies.parking_lot]
version = "0.12"
[dependencies.perg]
version = "0.8.0"
[dependencies.portable-pty]
version = "0.9.0"
[dependencies.pulldown-cmark]
version = "0.13"
features = ["simd"]
default-features = false
[dependencies.quick_cache]
version = "0.6"
[dependencies.rand]
version = "0.9"
[dependencies.ratatui]
version = "0.30"
features = [
"crossterm",
"unstable-rendered-line-info",
"unstable-widget-ref",
]
default-features = false
[dependencies.regex]
version = "1.12"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
"stream",
]
[dependencies.rig]
version = "0.23.1"
features = ["reqwest-rustls"]
default-features = false
package = "rig-core"
[dependencies.ring]
version = "0.17"
[dependencies.rmcp]
version = "0.12"
features = [
"client",
"transport-child-process",
"transport-streamable-http-client-reqwest",
]
[dependencies.roff]
version = "0.2"
[dependencies.schemars]
version = "0.8"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.shell-words]
version = "1.1"
[dependencies.signal-hook]
version = "0.4"
[dependencies.syntect]
version = "5.2"
features = ["default-fancy"]
default-features = false
[dependencies.tempfile]
version = "3.24"
[dependencies.terminal_size]
version = "0.4.3"
[dependencies.textwrap]
version = "0.16"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
version = "1.48"
features = [
"fs",
"io-util",
"macros",
"rt-multi-thread",
"sync",
"process",
]
[dependencies.tokio-stream]
version = "0.1"
optional = true
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
[dependencies.toml]
version = "0.9.10"
[dependencies.toml_edit]
version = "0.24"
[dependencies.tower]
version = "0.5"
optional = true
[dependencies.tower-http]
version = "0.6"
features = [
"cors",
"trace",
]
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
[dependencies.tree-sitter]
version = "0.26"
[dependencies.tree-sitter-bash]
version = "0.25"
[dependencies.tree-sitter-go]
version = "0.25"
[dependencies.tree-sitter-java]
version = "0.23"
[dependencies.tree-sitter-javascript]
version = "0.25"
[dependencies.tree-sitter-python]
version = "0.25"
[dependencies.tree-sitter-rust]
version = "0.24"
[dependencies.tree-sitter-swift]
version = "0.7.1"
optional = true
[dependencies.tree-sitter-typescript]
version = "0.23"
[dependencies.tui-popup]
version = "0.7"
[dependencies.tui-prompts]
version = "0.5"
[dependencies.unicode-segmentation]
version = "1.11"
[dependencies.unicode-width]
version = "0.2.0"
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1.19.0"
features = [
"v4",
"fast-rng",
]
[dependencies.vt100]
version = "0.15.2"
[dependencies.vtcode-commons]
version = "0.67.0"
[dependencies.vtcode-config]
version = "0.67.0"
[dependencies.vtcode-exec-events]
version = "0.67.0"
[dependencies.vtcode-file-search]
version = "0.67.0"
[dependencies.vtcode-indexer]
version = "0.67.0"
[dependencies.vtcode-markdown-store]
version = "0.67.0"
[dependencies.walkdir]
version = "2.5"
[dependencies.which]
version = "8.0.0"
[dependencies.zip]
version = "7.0"
features = ["deflate"]
default-features = false
[dev-dependencies.assert_fs]
version = "1.1"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.mockito]
version = "1.7"
[dev-dependencies.proptest]
version = "1.5"
[dev-dependencies.wiremock]
version = "0.6.5"
[build-dependencies.vtcode-config]
version = "0.67.0"
[target.'cfg(target_os = "linux")'.dependencies.libc]
version = "0.2"