aboutsummaryrefslogtreecommitdiffstats
path: root/crates/daemon
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--crates/daemon/Cargo.toml103
-rw-r--r--crates/daemon/build.rs48
-rw-r--r--crates/daemon/db/client-meta-migrations/20260203030924_create_meta.sql (renamed from crates/turtle/db/client-meta-migrations/20260203030924_create_meta.sql)0
-rw-r--r--crates/daemon/db/client-migrations/20210422143411_create_history.sql (renamed from crates/turtle/db/client-migrations/20210422143411_create_history.sql)0
-rw-r--r--crates/daemon/db/client-migrations/20220505083406_create-events.sql (renamed from crates/turtle/db/client-migrations/20220505083406_create-events.sql)0
-rw-r--r--crates/daemon/db/client-migrations/20220806155627_interactive_search_index.sql (renamed from crates/turtle/db/client-migrations/20220806155627_interactive_search_index.sql)0
-rw-r--r--crates/daemon/db/client-migrations/20230315220114_drop-events.sql (renamed from crates/turtle/db/client-migrations/20230315220114_drop-events.sql)0
-rw-r--r--crates/daemon/db/client-migrations/20230319185725_deleted_at.sql (renamed from crates/turtle/db/client-migrations/20230319185725_deleted_at.sql)0
-rw-r--r--crates/daemon/db/client-migrations/20260224000100_history_author_intent.sql (renamed from crates/turtle/db/client-migrations/20260224000100_history_author_intent.sql)0
-rw-r--r--crates/daemon/db/client-record-migrations/20230531212437_create-records.sql (renamed from crates/turtle/db/client-record-migrations/20230531212437_create-records.sql)0
-rw-r--r--crates/daemon/db/client-record-migrations/20231127090831_create-store.sql (renamed from crates/turtle/db/client-record-migrations/20231127090831_create-store.sql)0
-rw-r--r--crates/daemon/proto/control.proto (renamed from crates/turtle/proto/control.proto)0
-rw-r--r--crates/daemon/proto/history.proto (renamed from crates/turtle/proto/history.proto)0
-rw-r--r--crates/daemon/proto/search.proto (renamed from crates/turtle/proto/search.proto)0
-rw-r--r--crates/daemon/proto/semantic.proto (renamed from crates/turtle/proto/semantic.proto)0
-rw-r--r--crates/daemon/src/client.rs (renamed from crates/turtle/src/atuin_daemon/client.rs)0
-rw-r--r--crates/daemon/src/components/history.rs (renamed from crates/turtle/src/atuin_daemon/components/history.rs)0
-rw-r--r--crates/daemon/src/components/mod.rs (renamed from crates/turtle/src/atuin_daemon/components/mod.rs)0
-rw-r--r--crates/daemon/src/components/search.rs (renamed from crates/turtle/src/atuin_daemon/components/search.rs)0
-rw-r--r--crates/daemon/src/components/semantic.rs (renamed from crates/turtle/src/atuin_daemon/components/semantic.rs)0
-rw-r--r--crates/daemon/src/components/sync.rs (renamed from crates/turtle/src/atuin_daemon/components/sync.rs)0
-rw-r--r--crates/daemon/src/control/mod.rs (renamed from crates/turtle/src/atuin_daemon/control/mod.rs)0
-rw-r--r--crates/daemon/src/daemon.rs (renamed from crates/turtle/src/atuin_daemon/daemon.rs)0
-rw-r--r--crates/daemon/src/events.rs (renamed from crates/turtle/src/atuin_daemon/events.rs)0
-rw-r--r--crates/daemon/src/generated.rs (renamed from crates/turtle/src/atuin_daemon/generated.rs)0
-rw-r--r--crates/daemon/src/lib.rs (renamed from crates/turtle/src/atuin_daemon/mod.rs)0
-rw-r--r--crates/daemon/src/search/mod.rs (renamed from crates/turtle/src/atuin_daemon/search/mod.rs)0
-rw-r--r--crates/daemon/src/server.rs (renamed from crates/turtle/src/atuin_daemon/server.rs)0
28 files changed, 151 insertions, 0 deletions
diff --git a/crates/daemon/Cargo.toml b/crates/daemon/Cargo.toml
new file mode 100644
index 00000000..509595b0
--- /dev/null
+++ b/crates/daemon/Cargo.toml
@@ -0,0 +1,103 @@
+[package]
+name = "turtle-daemon"
+edition = "2024"
+description = "daemon, that controls the history db"
+readme = "./README.md"
+
+rust-version = { workspace = true }
+version = { workspace = true }
+authors = { workspace = true }
+license = { workspace = true }
+homepage = { workspace = true }
+repository = { workspace = true }
+
+[dependencies]
+async-trait = "0.1.58"
+atuin-nucleo-matcher = { workspace = true }
+atuin-nucleo = { workspace = true }
+axum = "0.8"
+base64 = "0.22"
+clap = { version = "4.5.7", features = ["derive"] }
+clap_complete = "4.5.8"
+clap_complete_nushell = "4.5.4"
+colored = "2.0.4"
+config = { version = "0.15.8", default-features = false, features = ["toml"] }
+crossterm = {version = "0.29.0", features = ["use-dev-tty", "serde"] }
+crypto_secretbox = "0.1.1"
+dashmap = "6.1.0"
+directories = "6.0.0"
+eyre = "0.6"
+fs-err = "3.1"
+fs4 = "0.13.1"
+fuzzy-matcher = "0.3.7"
+hyper-util = "0.1"
+indicatif = "0.18.0"
+interim = { version = "0.2.0", features = ["time_0_3"] }
+itertools = "0.14.0"
+lasso = { version = "0.7", features = ["multi-threaded"] }
+log = "0.4"
+metrics = "0.24"
+metrics-exporter-prometheus = { version = "0.18", default-features = false }
+minspan = "0.1.5"
+norm = { version = "0.1.1", features = ["fzf-v2"] }
+notify = "7"
+prost = "0.14"
+rand = { version = "0.8.5", features = ["std"] }
+ratatui = "0.30.0"
+regex = "1.10.5"
+reqwest = { version = "0.13", features = ["json", "rustls-no-provider", "stream"], default-features = false }
+rmp = { version = "0.8.14" }
+runtime-format = "0.1.3"
+rustix = { version = "1.1.4", features = ["process", "fs"] }
+rustls = { version = "0.23", default-features = false, features = [ "ring", "std", "tls12", ] }
+rusty_paserk = { version = "0.5.0", default-features = false, features = [ "v4", "serde", ] }
+rusty_paseto = { version = "0.8.0", default-features = false }
+semver = "1.0.20"
+serde = { version = "1.0.202", features = ["derive"] }
+serde_json = "1.0.119"
+serde_regex = "1.1.0"
+serde_with = "3.8.1"
+shellexpand = "3"
+sql-builder = "3"
+sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "time", "postgres", "uuid", "sqlite", "regexp"] }
+thiserror = "2"
+time = { version = "0.3.47", features = [ "serde-human-readable", "macros", "local-offset", "macros", "formatting", "parsing"] }
+tokio = { version = "1", features = ["full"] }
+tokio-stream = { version = "0.1.14", features = ["net"] }
+toml_edit = "0.25.4"
+tonic = "0.14"
+tonic-prost = "0.14"
+tower = "0.5"
+tower-http = { version = "0.6", features = ["trace"] }
+tracing = "0.1"
+tracing-appender = "0.2"
+tracing-subscriber = { version = "0.3", features = ["ansi", "fmt", "registry", "env-filter", "json"] }
+typed-builder = "0.18.2"
+unicode-segmentation = "1.11.0"
+unicode-width = "0.2"
+url = "2.5.2"
+uuid = { version = "1.9", features = ["v4", "v7", "serde"] }
+vt100 = "0.16"
+whoami = "2.1.0"
+
+[target.'cfg(target_os = "linux")'.dependencies]
+arboard = { version = "3.4", default-features = false, features = [ "wayland-data-control", ] }
+listenfd = "1.0.1"
+
+[target.'cfg(unix)'.dependencies]
+daemonize = "0.5.0"
+portable-pty = "0.9"
+signal-hook = "0.3"
+
+[dev-dependencies]
+tokio = { version = "1", features = ["full"] }
+
+[build-dependencies]
+protox = "0.9"
+tonic-prost-build = "0.14"
+
+[package.metadata.docs.rs]
+all-features = true
+
+[lints]
+workspace = true
diff --git a/crates/daemon/build.rs b/crates/daemon/build.rs
new file mode 100644
index 00000000..ad4bc3c8
--- /dev/null
+++ b/crates/daemon/build.rs
@@ -0,0 +1,48 @@
+use std::process::Command;
+use std::{env, fs, path::PathBuf};
+
+use protox::Compiler;
+use protox::prost::Message;
+
+fn main() -> Result<(), std::io::Error> {
+ {
+ let output = Command::new("git").args(["rev-parse", "HEAD"]).output();
+
+ let sha = match output {
+ Ok(sha) => String::from_utf8(sha.stdout).unwrap(),
+ Err(_) => String::from("NO_GIT"),
+ };
+
+ println!("cargo:rustc-env=GIT_HASH={sha}");
+ }
+
+ {
+ let proto_paths = [
+ "proto/history.proto",
+ "proto/search.proto",
+ "proto/control.proto",
+ "proto/semantic.proto",
+ ];
+ let proto_include_dirs = ["proto"];
+
+ let file_descriptor_set = Compiler::new(proto_include_dirs)
+ .map_err(std::io::Error::other)?
+ .include_source_info(true)
+ .include_imports(true)
+ .open_files(proto_paths)
+ .map_err(std::io::Error::other)?
+ .file_descriptor_set();
+
+ let file_descriptor_path = PathBuf::from(env::var_os("OUT_DIR").expect("OUT_DIR not set"))
+ .join("file_descriptor_set.bin");
+ fs::write(&file_descriptor_path, file_descriptor_set.encode_to_vec()).unwrap();
+
+ tonic_prost_build::configure()
+ .build_server(true)
+ .file_descriptor_set_path(&file_descriptor_path)
+ .skip_protoc_run()
+ .compile_protos(&proto_paths, &proto_include_dirs)?;
+ }
+
+ Ok(())
+}
diff --git a/crates/turtle/db/client-meta-migrations/20260203030924_create_meta.sql b/crates/daemon/db/client-meta-migrations/20260203030924_create_meta.sql
index 26c3c142..26c3c142 100644
--- a/crates/turtle/db/client-meta-migrations/20260203030924_create_meta.sql
+++ b/crates/daemon/db/client-meta-migrations/20260203030924_create_meta.sql
diff --git a/crates/turtle/db/client-migrations/20210422143411_create_history.sql b/crates/daemon/db/client-migrations/20210422143411_create_history.sql
index 1f3f8686..1f3f8686 100644
--- a/crates/turtle/db/client-migrations/20210422143411_create_history.sql
+++ b/crates/daemon/db/client-migrations/20210422143411_create_history.sql
diff --git a/crates/turtle/db/client-migrations/20220505083406_create-events.sql b/crates/daemon/db/client-migrations/20220505083406_create-events.sql
index f6cafeba..f6cafeba 100644
--- a/crates/turtle/db/client-migrations/20220505083406_create-events.sql
+++ b/crates/daemon/db/client-migrations/20220505083406_create-events.sql
diff --git a/crates/turtle/db/client-migrations/20220806155627_interactive_search_index.sql b/crates/daemon/db/client-migrations/20220806155627_interactive_search_index.sql
index b5770e62..b5770e62 100644
--- a/crates/turtle/db/client-migrations/20220806155627_interactive_search_index.sql
+++ b/crates/daemon/db/client-migrations/20220806155627_interactive_search_index.sql
diff --git a/crates/turtle/db/client-migrations/20230315220114_drop-events.sql b/crates/daemon/db/client-migrations/20230315220114_drop-events.sql
index fe3cae17..fe3cae17 100644
--- a/crates/turtle/db/client-migrations/20230315220114_drop-events.sql
+++ b/crates/daemon/db/client-migrations/20230315220114_drop-events.sql
diff --git a/crates/turtle/db/client-migrations/20230319185725_deleted_at.sql b/crates/daemon/db/client-migrations/20230319185725_deleted_at.sql
index 6c422abc..6c422abc 100644
--- a/crates/turtle/db/client-migrations/20230319185725_deleted_at.sql
+++ b/crates/daemon/db/client-migrations/20230319185725_deleted_at.sql
diff --git a/crates/turtle/db/client-migrations/20260224000100_history_author_intent.sql b/crates/daemon/db/client-migrations/20260224000100_history_author_intent.sql
index 2bed17e9..2bed17e9 100644
--- a/crates/turtle/db/client-migrations/20260224000100_history_author_intent.sql
+++ b/crates/daemon/db/client-migrations/20260224000100_history_author_intent.sql
diff --git a/crates/turtle/db/client-record-migrations/20230531212437_create-records.sql b/crates/daemon/db/client-record-migrations/20230531212437_create-records.sql
index 4f4b304a..4f4b304a 100644
--- a/crates/turtle/db/client-record-migrations/20230531212437_create-records.sql
+++ b/crates/daemon/db/client-record-migrations/20230531212437_create-records.sql
diff --git a/crates/turtle/db/client-record-migrations/20231127090831_create-store.sql b/crates/daemon/db/client-record-migrations/20231127090831_create-store.sql
index 53d78860..53d78860 100644
--- a/crates/turtle/db/client-record-migrations/20231127090831_create-store.sql
+++ b/crates/daemon/db/client-record-migrations/20231127090831_create-store.sql
diff --git a/crates/turtle/proto/control.proto b/crates/daemon/proto/control.proto
index 06347902..06347902 100644
--- a/crates/turtle/proto/control.proto
+++ b/crates/daemon/proto/control.proto
diff --git a/crates/turtle/proto/history.proto b/crates/daemon/proto/history.proto
index 59c12471..59c12471 100644
--- a/crates/turtle/proto/history.proto
+++ b/crates/daemon/proto/history.proto
diff --git a/crates/turtle/proto/search.proto b/crates/daemon/proto/search.proto
index 6b84acbd..6b84acbd 100644
--- a/crates/turtle/proto/search.proto
+++ b/crates/daemon/proto/search.proto
diff --git a/crates/turtle/proto/semantic.proto b/crates/daemon/proto/semantic.proto
index 07e550c8..07e550c8 100644
--- a/crates/turtle/proto/semantic.proto
+++ b/crates/daemon/proto/semantic.proto
diff --git a/crates/turtle/src/atuin_daemon/client.rs b/crates/daemon/src/client.rs
index 2ea7ffc5..2ea7ffc5 100644
--- a/crates/turtle/src/atuin_daemon/client.rs
+++ b/crates/daemon/src/client.rs
diff --git a/crates/turtle/src/atuin_daemon/components/history.rs b/crates/daemon/src/components/history.rs
index b4f91b06..b4f91b06 100644
--- a/crates/turtle/src/atuin_daemon/components/history.rs
+++ b/crates/daemon/src/components/history.rs
diff --git a/crates/turtle/src/atuin_daemon/components/mod.rs b/crates/daemon/src/components/mod.rs
index 5a93fbc1..5a93fbc1 100644
--- a/crates/turtle/src/atuin_daemon/components/mod.rs
+++ b/crates/daemon/src/components/mod.rs
diff --git a/crates/turtle/src/atuin_daemon/components/search.rs b/crates/daemon/src/components/search.rs
index bcd60cc4..bcd60cc4 100644
--- a/crates/turtle/src/atuin_daemon/components/search.rs
+++ b/crates/daemon/src/components/search.rs
diff --git a/crates/turtle/src/atuin_daemon/components/semantic.rs b/crates/daemon/src/components/semantic.rs
index e1d376de..e1d376de 100644
--- a/crates/turtle/src/atuin_daemon/components/semantic.rs
+++ b/crates/daemon/src/components/semantic.rs
diff --git a/crates/turtle/src/atuin_daemon/components/sync.rs b/crates/daemon/src/components/sync.rs
index 20d49839..20d49839 100644
--- a/crates/turtle/src/atuin_daemon/components/sync.rs
+++ b/crates/daemon/src/components/sync.rs
diff --git a/crates/turtle/src/atuin_daemon/control/mod.rs b/crates/daemon/src/control/mod.rs
index 79398d61..79398d61 100644
--- a/crates/turtle/src/atuin_daemon/control/mod.rs
+++ b/crates/daemon/src/control/mod.rs
diff --git a/crates/turtle/src/atuin_daemon/daemon.rs b/crates/daemon/src/daemon.rs
index 80aaeef8..80aaeef8 100644
--- a/crates/turtle/src/atuin_daemon/daemon.rs
+++ b/crates/daemon/src/daemon.rs
diff --git a/crates/turtle/src/atuin_daemon/events.rs b/crates/daemon/src/events.rs
index d379277d..d379277d 100644
--- a/crates/turtle/src/atuin_daemon/events.rs
+++ b/crates/daemon/src/events.rs
diff --git a/crates/turtle/src/atuin_daemon/generated.rs b/crates/daemon/src/generated.rs
index a3ea4d9d..a3ea4d9d 100644
--- a/crates/turtle/src/atuin_daemon/generated.rs
+++ b/crates/daemon/src/generated.rs
diff --git a/crates/turtle/src/atuin_daemon/mod.rs b/crates/daemon/src/lib.rs
index 5f0f489e..5f0f489e 100644
--- a/crates/turtle/src/atuin_daemon/mod.rs
+++ b/crates/daemon/src/lib.rs
diff --git a/crates/turtle/src/atuin_daemon/search/mod.rs b/crates/daemon/src/search/mod.rs
index 02c79c9c..02c79c9c 100644
--- a/crates/turtle/src/atuin_daemon/search/mod.rs
+++ b/crates/daemon/src/search/mod.rs
diff --git a/crates/turtle/src/atuin_daemon/server.rs b/crates/daemon/src/server.rs
index 36954cca..36954cca 100644
--- a/crates/turtle/src/atuin_daemon/server.rs
+++ b/crates/daemon/src/server.rs