[build-dependencies.vtcode-config]
version = "0.52.4"
[dependencies.ansi-to-tui]
version = "7.0.0"
[dependencies.anstream]
version = "0.6"
[dependencies.anstyle]
version = "1.0"
[dependencies.anstyle-crossterm]
version = "3.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.base64]
version = "0.22.1"
[dependencies.better-panic]
features = ["syntect"]
version = "0.3.0"
[dependencies.catppuccin]
default-features = false
version = "2.5"
[dependencies.chrono]
features = ["serde"]
version = "0.4"
[dependencies.clap]
features = ["derive"]
version = "4.5"
[dependencies.colorchoice-clap]
version = "1.0"
[dependencies.crossterm]
features = ["event-stream"]
version = "0.28.1"
[dependencies.dialoguer]
version = "0.12.0"
[dependencies.dirs]
version = "6.0"
[dependencies.dotenvy]
version = "0.15"
[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.indexmap]
features = ["serde"]
version = "2.12"
[dependencies.itertools]
version = "0.14.0"
[dependencies.json5]
version = "1.0"
[dependencies.jsonschema]
version = "0.37"
[dependencies.line-clipping]
version = "0.3"
[dependencies.lru]
version = "0.16"
[dependencies.mcp-types]
version = "0.1.1"
[dependencies.nix]
features = ["user", "signal"]
version = "0.30"
[dependencies.nucleo-matcher]
version = "0.3"
[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]
default-features = false
features = ["simd"]
version = "0.13"
[dependencies.quick_cache]
version = "0.6"
[dependencies.ratatui]
default-features = false
features = ["crossterm", "unstable-rendered-line-info", "unstable-widget-ref"]
version = "0.29"
[dependencies.regex]
version = "1.12"
[dependencies.reqwest]
features = ["json", "rustls-tls", "stream"]
version = "0.12"
[dependencies.rig]
default-features = false
features = ["reqwest-rustls"]
package = "rig-core"
version = "0.23.1"
[dependencies.rmcp]
features = ["client", "transport-child-process", "transport-streamable-http-client-reqwest"]
version = "0.9"
[dependencies.roff]
version = "0.2"
[dependencies.schemars]
optional = true
version = "1.1.0"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[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.3"
[dependencies.syntect]
default-features = false
features = ["default-fancy"]
version = "5.2"
[dependencies.tempfile]
version = "3.0"
[dependencies.terminal_size]
version = "0.4.3"
[dependencies.textwrap]
version = "0.16"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokenizers]
default-features = false
features = ["http", "fancy-regex"]
version = "0.22"
[dependencies.tokio]
features = ["fs", "io-util", "macros", "rt-multi-thread", "sync", "process"]
version = "1.48"
[dependencies.tokio-util]
features = ["codec"]
version = "0.7"
[dependencies.toml]
version = "0.9.8"
[dependencies.toml_edit]
version = "0.23"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
[dependencies.tree-sitter]
version = "0.25"
[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]
optional = true
version = "0.7.1"
[dependencies.tree-sitter-typescript]
version = "0.23"
[dependencies.tui-popup]
version = "0.6"
[dependencies.tui-prompts]
version = "0.5"
[dependencies.tui-syntax-highlight]
default-features = false
features = ["regex-fancy"]
version = "0.1.2"
[dependencies.unicode-segmentation]
version = "1.11"
[dependencies.unicode-width]
version = "0.2.0"
[dependencies.url]
version = "2.5"
[dependencies.uuid]
features = ["v4", "fast-rng"]
version = "1.8.0"
[dependencies.vt100]
version = "0.15.2"
[dependencies.vtcode-commons]
version = "0.52.4"
[dependencies.vtcode-config]
version = "0.52.4"
[dependencies.vtcode-exec-events]
version = "0.52.4"
[dependencies.vtcode-indexer]
version = "0.52.4"
[dependencies.vtcode-markdown-store]
version = "0.52.4"
[dependencies.walkdir]
version = "2.5"
[dependencies.which]
version = "8.0.0"
[dependencies.zip]
default-features = false
features = ["deflate"]
version = "2.2"
[dev-dependencies.assert_fs]
version = "1.1"
[dev-dependencies.mockito]
version = "1.7"
[dev-dependencies.proptest]
version = "1.5"
[[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 = "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"
[features]
default = []
schema = ["dep:schemars"]
swift = ["dep:tree-sitter-swift"]
[lib]
name = "vtcode_core"
path = "src/lib.rs"
[package]
authors = ["vinhnx <vinhnx@users.noreply.github.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["development-tools", "api-bindings"]
description = "Core library for VTCode - a Rust-based terminal coding agent"
documentation = "https://docs.rs/vtcode-core"
edition = "2024"
homepage = "https://github.com/vinhnx/vtcode"
include = ["src/", "tests/", "examples/", "build.rs", "Cargo.toml", "README.md", "LICENSE", "embedded_assets_source/", "templates/"]
keywords = ["ai", "coding", "agent", "llm", "rust"]
license = "MIT"
name = "vtcode-core"
readme = "README.md"
repository = "https://github.com/vinhnx/vtcode"
version = "0.52.4"
[package.metadata.cargo-machete]
ignored = ["dotenvy", "itertools", "toml_edit"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[target."cfg(unix)".dependencies]
[[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 = "keyboard_protocol_integration"
path = "tests/keyboard_protocol_integration.rs"
[[test]]
name = "loop_detector_props"
path = "tests/loop_detector_props.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 = "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 = "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"