[package]
edition = "2024"
name = "opi-coding-agent"
version = "0.5.0"
authors = ["OdradekAI"]
build = false
exclude = [".opi"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Interactive coding agent CLI with file editing and shell execution"
readme = "README.md"
license = "MIT"
repository = "https://github.com/OdradekAI/opi"
resolver = "2"
[lib]
name = "opi_coding_agent"
path = "src/lib.rs"
[[bin]]
name = "opi"
path = "src/main.rs"
[[test]]
name = "agents_md_context"
path = "tests/agents_md_context.rs"
[[test]]
name = "azure_openai_provider_wiring"
path = "tests/azure_openai_provider_wiring.rs"
[[test]]
name = "bedrock_provider_wiring"
path = "tests/bedrock_provider_wiring.rs"
[[test]]
name = "compaction_runtime"
path = "tests/compaction_runtime.rs"
[[test]]
name = "config_loading"
path = "tests/config_loading.rs"
[[test]]
name = "config_precedence"
path = "tests/config_precedence.rs"
[[test]]
name = "custom_provider_registration"
path = "tests/custom_provider_registration.rs"
[[test]]
name = "diff_view_integration"
path = "tests/diff_view_integration.rs"
[[test]]
name = "extension_resources"
path = "tests/extension_resources.rs"
[[test]]
name = "extensions"
path = "tests/extensions.rs"
[[test]]
name = "find_tool"
path = "tests/find_tool.rs"
[[test]]
name = "harness_resource_integration"
path = "tests/harness_resource_integration.rs"
[[test]]
name = "image_input_cli"
path = "tests/image_input_cli.rs"
[[test]]
name = "image_input_json_mode"
path = "tests/image_input_json_mode.rs"
[[test]]
name = "image_slash_command"
path = "tests/image_slash_command.rs"
[[test]]
name = "image_tool_results_json"
path = "tests/image_tool_results_json.rs"
[[test]]
name = "interactive_hooks"
path = "tests/interactive_hooks.rs"
[[test]]
name = "interactive_mock"
path = "tests/interactive_mock.rs"
[[test]]
name = "json_mode"
path = "tests/json_mode.rs"
[[test]]
name = "keybindings_config"
path = "tests/keybindings_config.rs"
[[test]]
name = "list_models"
path = "tests/list_models.rs"
[[test]]
name = "list_models_json"
path = "tests/list_models_json.rs"
[[test]]
name = "ls_tool"
path = "tests/ls_tool.rs"
[[test]]
name = "mcp_adapter_example"
path = "tests/mcp_adapter_example.rs"
[[test]]
name = "mock_e2e"
path = "tests/mock_e2e.rs"
[[test]]
name = "model_listing"
path = "tests/model_listing.rs"
[[test]]
name = "non_interactive"
path = "tests/non_interactive.rs"
[[test]]
name = "non_interactive_policy"
path = "tests/non_interactive_policy.rs"
[[test]]
name = "package_discovery"
path = "tests/package_discovery.rs"
[[test]]
name = "permission_gate_example"
path = "tests/permission_gate_example.rs"
[[test]]
name = "phase4_ledger"
path = "tests/phase4_ledger.rs"
[[test]]
name = "picker_integration"
path = "tests/picker_integration.rs"
[[test]]
name = "plan_mode_example"
path = "tests/plan_mode_example.rs"
[[test]]
name = "prompt_fragments"
path = "tests/prompt_fragments.rs"
[[test]]
name = "protected_paths_example"
path = "tests/protected_paths_example.rs"
[[test]]
name = "provider_factory"
path = "tests/provider_factory.rs"
[[test]]
name = "proxy_config"
path = "tests/proxy_config.rs"
[[test]]
name = "rpc_jsonl"
path = "tests/rpc_jsonl.rs"
[[test]]
name = "safety_hooks"
path = "tests/safety_hooks.rs"
[[test]]
name = "sdk_embedding"
path = "tests/sdk_embedding.rs"
[[test]]
name = "session_cli"
path = "tests/session_cli.rs"
[[test]]
name = "session_runtime"
path = "tests/session_runtime.rs"
[[test]]
name = "shell_completions"
path = "tests/shell_completions.rs"
[[test]]
name = "skills_discovery"
path = "tests/skills_discovery.rs"
[[test]]
name = "sub_agent_example"
path = "tests/sub_agent_example.rs"
[[test]]
name = "system_prompt"
path = "tests/system_prompt.rs"
[[test]]
name = "terminal_image_integration"
path = "tests/terminal_image_integration.rs"
[[test]]
name = "theme_discovery"
path = "tests/theme_discovery.rs"
[[test]]
name = "todo_example"
path = "tests/todo_example.rs"
[[test]]
name = "tool_schema_fixtures_glob_grep"
path = "tests/tool_schema_fixtures_glob_grep.rs"
[[test]]
name = "tool_selection"
path = "tests/tool_selection.rs"
[[test]]
name = "tools_glob_grep"
path = "tests/tools_glob_grep.rs"
[[test]]
name = "tools_read_write_edit_bash"
path = "tests/tools_read_write_edit_bash.rs"
[[test]]
name = "usage_accumulation"
path = "tests/usage_accumulation.rs"
[[test]]
name = "vertex_provider_wiring"
path = "tests/vertex_provider_wiring.rs"
[dependencies.anyhow]
version = "1"
[dependencies.base64]
version = "0.22"
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.clap_complete]
version = "4"
[dependencies.crossterm]
version = "0.29"
[dependencies.dotenvy]
version = "0.15"
[dependencies.futures-util]
version = "0.3"
[dependencies.globset]
version = "0.4"
[dependencies.ignore]
version = "0.4"
[dependencies.opi-agent]
version = "0.5.0"
[dependencies.opi-ai]
version = "0.5.0"
[dependencies.opi-tui]
version = "0.5.0"
[dependencies.ratatui]
version = "0.30"
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.12"
features = [
"rustls-tls",
"json",
"stream",
]
default-features = false
[dependencies.schemars]
version = "1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"sync",
"time",
"process",
"io-util",
"fs",
]
[dependencies.tokio-util]
version = "0.7"
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dev-dependencies.base64]
version = "0.22"
[dev-dependencies.sha2]
version = "0.10"
[dev-dependencies.tempfile]
version = "3"