ingot-cli 0.5.1

The `ingot` command-line compiler for the Ingot agent language.
[package]
name = "ingot-cli"
description = "The `ingot` command-line compiler for the Ingot agent language."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
readme = "README.md"
keywords = ["ingot", "agent", "llm", "compiler", "deterministic"]
categories = ["command-line-utilities", "compilers", "development-tools"]

[[bin]]
name = "ingot"
path = "src/main.rs"

[features]
default = ["anthropic", "openai", "google", "remote-tools"]
# Enabled by any network provider and never on its own, so one gate covers
# "this build can reach a model service" however many protocols sit above it.
providers = []
# The network model providers, and the TLS stack they share.
anthropic = ["ingot-runtime/anthropic", "providers"]
openai = ["ingot-runtime/openai", "providers"]
google = ["ingot-runtime/google", "providers"]
# MCP servers reached over a network. Separate from `providers`: reaching a
# model service and reaching a tool server are different permissions to grant a
# build, and an operator who wants only one should get only one. Without it a
# `[[mcp.server]]` with a `url` is refused, naming the feature.
remote-tools = ["ingot-mcp/http"]

[dependencies]
ingot-compiler.workspace = true
ingot-runtime.workspace = true
ingot-mcp.workspace = true
ingot-sandbox.workspace = true
ingot-egress.workspace = true
ingot-studio.workspace = true
ingot-supervisor.workspace = true
# The conformance cases, as bytes. A separate package because `cargo package`
# carries a crate's own directory and nothing above it, so a suite that lives
# outside one is a suite that is absent from every release.
ingot-conformance.workspace = true
# `ingot studio` shows the diagnostics an editor shows, by asking the same
# service for them rather than by formatting the compiler's output a second way.
ingot-language-service.workspace = true
ingot-backend-python.workspace = true
ingot-ir.workspace = true
ingot-package.workspace = true
ingot-source.workspace = true
ingot-syntax.workspace = true
ingot-diagnostics.workspace = true
ingot-lexer.workspace = true
anyhow = { workspace = true }
serde_json = { workspace = true }
clap = { workspace = true }
serde = { workspace = true }
toml = { workspace = true }
notify = { workspace = true }

[dev-dependencies]
ingot-ir.workspace = true
# The editor and the CLI must report the same diagnostics; proving it needs both
# in one process.
ingot-language-service.workspace = true
# The package tests assert on the artifact a person receives, and compute the
# digests they assert with rather than restating them.
ingot-package.workspace = true
serde_json = { workspace = true }
# `ingot run` is tested against the reference MCP server, so the tests need the
# binary built alongside the one under test.
ingot-mcp.workspace = true