gitbutler/gitbutler-app/Cargo.toml
Caleb Owens a43cdb4060 Set up dependencies for anthropics and open AI in client
I've been able to use the OpenAI library as they support being in the browser if you pass the "dangerouslyAllowBrowser" flag.

Anthropics don't have any interest in supporting browers making API calls and causes sugnificant CORS problems, so I've made use of the Tauri HTTP library, so this commit also sets that up
2024-03-18 19:20:18 +01:00

93 lines
3.1 KiB
TOML

[package]
name = "gitbutler-app"
version = "0.0.0"
edition = "2021"
rust-version = "1.57"
authors = ["GitButler <gitbutler@gitbutler.com>"]
[build-dependencies]
tauri-build = { version = "1.5", features = [] }
[dev-dependencies]
once_cell = "1.19"
pretty_assertions = "1.4"
tempfile = "3.10"
[dependencies]
toml = "0.8.11"
anyhow = "1.0.80"
async-trait = "0.1.77"
backoff = "0.4.0"
backtrace = { version = "0.3.69", optional = true }
bstr = "1.9.1"
byteorder = "1.5.0"
chrono = { version = "0.4.34", features = ["serde"] }
console-subscriber = "0.2.0"
diffy = "0.3.0"
filetime = "0.2.23"
fslock = "0.2.1"
futures = "0.3"
git2.workspace = true
git2-hooks = "0.3"
governor = "0.6.3"
itertools = "0.12"
lazy_static = "1.4.0"
md5 = "0.7.0"
nonzero_ext = "0.3.0"
notify = { version = "6.0.1" }
notify-debouncer-full = "0.3.1"
num_cpus = "1.16.0"
once_cell = "1.19"
r2d2 = "0.8.10"
r2d2_sqlite = "0.22.0"
rand = "0.8.5"
refinery = { version = "0.8", features = [ "rusqlite" ] }
regex = "1.10"
reqwest = "0.11.24"
resolve-path = "0.1.0"
rusqlite.workspace = true
sentry = { version = "0.32", optional = true, features = ["backtrace", "contexts", "panic", "transport", "anyhow", "debug-images", "reqwest", "native-tls" ] }
sentry-tracing = "0.32.0"
serde.workspace = true
serde_json = { version = "1.0", features = [ "std", "arbitrary_precision" ] }
sha1 = "0.10.6"
sha2 = "0.10.8"
similar = { version = "2.4.0", features = ["unicode"] }
slug = "0.1.5"
ssh-key = { version = "0.6.4", features = [ "alloc", "ed25519" ] }
ssh2 = { version = "0.9.4", features = ["vendored-openssl"] }
tauri = { version = "1.6.0", features = [ "http-all", "os-all", "dialog-open", "fs-read-file", "path-all", "process-relaunch", "protocol-asset", "shell-open", "window-maximize", "window-start-dragging", "window-unmaximize"] }
tauri-plugin-context-menu = { git = "https://github.com/c2r0b/tauri-plugin-context-menu", branch = "main" }
tauri-plugin-single-instance = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" }
tauri-plugin-window-state = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" }
tauri-plugin-store = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" }
tauri-plugin-log = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" }
log = "^0.4"
thiserror.workspace = true
tokio = { workspace = true, features = [ "full", "sync" ] }
tokio-util = "0.7.10"
tracing = "0.1.40"
tracing-appender = "0.2.3"
tracing-subscriber = "0.3.17"
url = "2.5"
urlencoding = "2.1.3"
uuid.workspace = true
walkdir = "2.3.2"
zip = "0.6.5"
[features]
# by default Tauri runs in production mode
# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is a URL
default = ["custom-protocol", "sentry", "error-context"]
# this feature enables devtools
devtools = ["tauri/devtools"]
# this feature is used used for production builds where `devPath` points to the filesystem
# DO NOT remove this
custom-protocol = ["tauri/custom-protocol"]
sentry = ["dep:sentry", "error-context"]
error-context = ["dep:backtrace", "sentry/backtrace"]
[lints]
workspace = true