atuin/atuin-client/Cargo.toml
Ellie Huxtable 97e24d0d41
Add new sync (#1093)
* Add record migration

* Add database functions for inserting history

No real tests yet :( I would like to avoid running postgres lol

* Add index handler, use UUIDs not strings

* Fix a bunch of tests, remove Option<Uuid>

* Add tests, all passing

* Working upload sync

* Record downloading works

* Sync download works

* Don't waste requests

* Use a page size for uploads, make it variable later

* Aaaaaand they're encrypted now too

* Add cek

* Allow reading tail across hosts

* Revert "Allow reading tail across hosts"

Not like that

This reverts commit 7b0c72e7e050c358172f9b53cbd21b9e44cf4931.

* Handle multiple shards properly

* format

* Format and make clippy happy

* use some fancy types (#1098)

* use some fancy types

* fmt

* Goodbye horrible tuple

* Update atuin-server-postgres/migrations/20230623070418_records.sql

Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>

* fmt

* Sort tests too because time sucks

* fix features

---------

Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
2023-07-14 20:44:08 +01:00

76 lines
1.9 KiB
TOML

[package]
name = "atuin-client"
edition = "2021"
description = "client library for atuin"
version = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
default = ["sync"]
sync = [
"urlencoding",
"reqwest",
"sha2",
"hex",
"generic-array",
"xsalsa20poly1305",
]
[dependencies]
atuin-common = { path = "../atuin-common", version = "15.0.0" }
log = { workspace = true }
base64 = { workspace = true }
chrono = { workspace = true }
clap = { workspace = true }
eyre = { workspace = true }
directories = { workspace = true }
uuid = { workspace = true }
whoami = { workspace = true }
interim = { workspace = true }
config = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
parse_duration = "2.1.1"
async-trait = { workspace = true }
itertools = { workspace = true }
rand = { workspace = true }
shellexpand = "2"
sqlx = { workspace = true, features = ["sqlite"] }
minspan = "0.1.1"
regex = "1.9.1"
serde_regex = "1.1.0"
fs-err = { workspace = true }
sql-builder = "3"
lazy_static = "1"
memchr = "2.5"
rmp = { version = "0.8.11" }
typed-builder = "0.14.0"
tokio = { workspace = true }
semver = { workspace = true }
futures = "0.3"
# encryption
rusty_paseto = { version = "0.5.0", default-features = false }
rusty_paserk = { version = "0.2.0", default-features = false, features = [
"v4",
"serde",
] }
# sync
urlencoding = { version = "2.1.0", optional = true }
reqwest = { workspace = true, optional = true }
hex = { version = "0.4", optional = true }
sha2 = { version = "0.10", optional = true }
xsalsa20poly1305 = { version = "0.9.0", optional = true }
generic-array = { version = "0.14", optional = true, features = ["serde"] }
[dev-dependencies]
tokio = { version = "1", features = ["full"] }
pretty_assertions = { workspace = true }