# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2021" name = "oatmeal" version = "0.13.0" authors = ["Dustin Blackman"] build = "build.rs" exclude = [ "tools", "test", ".cargo-husky/", ".github/", ".goreleaser.yml", ".rustfmt.toml", "cliff.toml", "committed.toml", "deny.toml", ] description = "Terminal UI to chat with large language models (LLM) using different model backends, and direct integrations with your favourite editors!" readme = "README.md" keywords = [ "cli", "llm", "chat", "tui", ] license = "MIT" repository = "https://github.com/dustinblackman/oatmeal" [package.metadata.bin.cargo-about] locked = true version = "0.6.0" [package.metadata.bin.cargo-binstall] git = "https://github.com/dustinblackman/cargo-binstall" rev = "ce72b764eeeceab8bce907cb3d4ffedff7e1e7e3" version = "1.4.9" [package.metadata.bin.cargo-cmd] locked = true version = "0.3.1" [package.metadata.bin.cargo-deny] locked = true version = "0.14.2" [package.metadata.bin.cargo-gha] locked = true version = "1.0.2" [package.metadata.bin.cargo-insta] locked = true version = "1.34.0" [package.metadata.bin.cargo-llvm-cov] locked = true version = "0.5.25" [package.metadata.bin.cargo-nextest] locked = true version = "0.9.59" [package.metadata.bin.cargo-watch] locked = true version = "8.4.0" [package.metadata.bin.cargo-xwin] locked = true version = "0.16.2" [package.metadata.bin.cargo-zigbuild] locked = true version = "0.18.1" [package.metadata.bin.committed] locked = true version = "1.0.20" [package.metadata.bin.flamegraph] bins = ["cargo-flamegraph"] locked = true version = "0.5.1" [package.metadata.bin.git-cliff] locked = true version = "1.3.1" [package.metadata.bin.mise] locked = true version = "2024.1.20" [package.metadata.bin.samply] locked = true version = "0.11.0" [package.metadata.commands] build-completions = """ set -e rm -rf completions mkdir completions ./target/debug/oatmeal completions -s zsh > completions/oatmeal.zsh ./target/debug/oatmeal completions -s bash > completions/oatmeal.bash ./target/debug/oatmeal completions -s fish > completions/oatmeal.fish """ dev = """ set -e cargo watch -i .cargo -s 'cargo run --features dev -- --model=codellama:latest' """ dev-install = """ set -e cargo build --release rm -f $HOME/.cargo/bin/oatmeal mv ./target/release/oatmeal $HOME/.cargo/bin/ """ get-nightly-name = "echo oatmeal-nightly" insta = """ set -e cargo insta test --bins --test-runner nextest || cargo insta review """ lint = """ set -e cargo cmd setup-nightly cargo +oatmeal-nightly fmt -- --check cargo clippy cargo deny check licenses -s cargo bin mise install cargo bin mise x -C tools/node -- npm ci cargo bin mise x -C tools/node -- npm run prettier-check """ lint-fix = """ set -e cargo cmd setup-nightly cargo clippy --fix --allow-dirty cargo fix --allow-dirty cargo +oatmeal-nightly fmt cargo bin mise install cargo bin mise x -C tools/node -- npm ci cargo bin mise x -C tools/node -- npm run prettier-write """ profile = """ set -e cargo build --release --features dev cargo bin samply record ./target/release/oatmeal --model codellama:latest """ profile-flamegraph = """ set -e sudo cargo flamegraph --bin=oatmeal --features dev -- --model codellama:latest """ profile-heap = """ set -e cargo run --features dhat-heap --features dev --release -- --model codellama:latest if [ ! -d \".cache/valgrind\" ]; then git clone git://sourceware.org/git/valgrind.git .cache/valgrind (cd .cache/valgrind && git checkout 8a4b233e1da5991893de1cbe072dee40cf793c39) fi open .cache/valgrind/dhat/dh_view.html """ release = """ ./tools/release.sh """ setup = """ set -e cargo bin --install cargo cmd setup-nightly cargo cmd test """ setup-nightly = """ export NIGHTLY=nightly-2023-06-16 rustup toolchain list -v | grep -q \"$NIGHTLY\" || rustup toolchain install \"$NIGHTLY\" --force --component llvm-tools-preview rustfmt rustup toolchain link oatmeal-nightly \"$(rustup toolchain list -v | grep $NIGHTLY | grep '^nightly-' | awk '{print $2}')\" """ test = """ set -e cargo nextest run """ test-coverage = """ set -e cargo llvm-cov nextest --ignore-filename-regex='_test.rs' """ test-coverage-ci = """ set -e cargo llvm-cov nextest --html --output-dir ./coverage --ignore-filename-regex='_test.rs' """ test-coverage-html = """ set -e cargo llvm-cov nextest --open --ignore-filename-regex='_test.rs' """ test-coverage-lcov = """ set -e rm -f lcov.info cargo llvm-cov nextest --lcov --output-path lcov.info --ignore-filename-regex='_test.rs' """ test-watch = """ set -e cargo watch -i .cargo -x 'cmd test' """ thirdparty = """ set -e cargo deny check licenses ./tools/thirdparty/run.sh """ top = ''' top -pid $(ps aux | grep 'target\/release\/oatmeal' | awk '{print $2}') ''' [package.metadata.gha] targets = ["aarch64-apple-darwin"] [[package.metadata.gha.assets]] binaries = ["goreleaser"] owner_repo = "goreleaser/goreleaser" tag = "v1.23.0" [package.metadata.gha.assets.target_archives] aarch64-apple-darwin = "goreleaser_Darwin_arm64.tar.gz" [[package.metadata.gha.assets]] binaries = ["gh"] owner_repo = "cli/cli" tag = "v2.40.1" [package.metadata.gha.assets.target_archives] aarch64-apple-darwin = "gh_{NOVTAG}_macOS_arm64.zip" [profile.dev.package.insta] opt-level = 3 [profile.dev.package.similar] opt-level = 3 [profile.release] opt-level = 3 lto = true codegen-units = 1 debug = 1 split-debuginfo = "packed" strip = "symbols" [profile.release-windows] inherits = "release" strip = "none" [dependencies.anyhow] version = "=1.0.75" features = ["backtrace"] [dependencies.arboard] version = "=3.2.1" features = ["wayland-data-control"] default-features = false [dependencies.async-trait] version = "=0.1.74" [dependencies.base64] version = "=0.21.5" [dependencies.better-panic] version = "=0.3.0" [dependencies.bincode] version = "=1.3.3" [dependencies.chrono] version = "=0.4.31" features = ["clock"] default-features = false [dependencies.clap] version = "=4.4.7" features = [ "env", "string", ] [dependencies.clap_complete] version = "=4.4.4" [dependencies.clap_mangen] version = "=0.2.15" [dependencies.crossterm] version = "=0.27.0" features = [ "bracketed-paste", "event-stream", ] [dependencies.dashmap] version = "=5.5.3" [dependencies.dhat] version = "=0.3.2" optional = true [dependencies.dialoguer] version = "=0.10.4" features = ["editor"] default-features = false [dependencies.dirs] version = "=5.0.0" [dependencies.dirs-sys] version = "=0.4.0" [dependencies.futures] version = "=0.3.28" [dependencies.itertools] version = "=0.11.0" [dependencies.once_cell] version = "=1.18.0" [dependencies.ratatui] version = "=0.24.0" [dependencies.regex] version = "=1.10.3" [dependencies.reqwest] version = "=0.11.22" features = [ "stream", "json", "gzip", "rustls-tls-native-roots", ] default-features = false [dependencies.serde] version = "=1.0.193" features = ["derive"] [dependencies.serde_json] version = "=1.0.107" [dependencies.serde_yaml] version = "=0.9.27" [dependencies.strum] version = "=0.25.0" features = ["derive"] [dependencies.syntect] version = "=5.1.0" features = [ "parsing", "plist-load", "regex-onig", ] default-features = false [dependencies.tokio] version = "=1.33.0" features = [ "fs", "macros", "rt-multi-thread", "sync", "process", ] [dependencies.tokio-util] version = "=0.7.9" [dependencies.toml_edit] version = "=0.21.0" [dependencies.tracing] version = "=0.1.40" features = [ "std", "log", ] default-features = false [dependencies.tracing-appender] version = "=0.2.3" [dependencies.tracing-subscriber] version = "=0.3.18" features = ["json"] default-features = false [dependencies.tui-textarea] version = "=0.4.0" features = [ "crossterm", "ratatui", ] default-features = false [dependencies.uuid] version = "=1.6.1" features = ["v4"] [dependencies.yansi] version = "=0.5.1" [dev-dependencies.cargo-husky] version = "=1.5.0" features = ["user-hooks"] default-features = false [dev-dependencies.insta] version = "=1.34.0" features = [ "toml", "yaml", ] [dev-dependencies.mockito] version = "=1.2.0" [dev-dependencies.tempfile] version = "=3.8.1" [build-dependencies.anyhow] version = "=1.0.75" [build-dependencies.bincode] version = "=1.3.3" [build-dependencies.flate2] version = "=1.0.28" [build-dependencies.glob-match] version = "=0.2.1" [build-dependencies.reqwest] version = "=0.11.22" features = [ "blocking", "rustls-tls-native-roots", ] default-features = false [build-dependencies.serde] version = "=1.0.193" features = ["derive"] [build-dependencies.syntect] version = "=5.1.0" features = [ "parsing", "default-syntaxes", "plist-load", "yaml-load", "regex-onig", ] default-features = false [build-dependencies.tar] version = "=0.4.40" [build-dependencies.toml] version = "=0.5.11" [build-dependencies.vergen] version = "=8.2.5" features = [ "build", "git", "gitcl", ] [build-dependencies.walkdir] version = "=2.4.0" [features] dev = [] dhat-heap = ["dep:dhat"] [target."cfg(target_os=\"macos\")".dependencies.errno] version = "=0.3.5"