aboutsummaryrefslogtreecommitdiffstats
path: root/crates/turtle/proto/control.proto
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-06-11 00:54:30 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-06-11 00:54:30 +0200
commit5c39e7cf284a1f6e9a1657f2deb44e359fc47eb8 (patch)
treec64baa8d5866c8e339eaf660dd3f94f30a3f7d8a /crates/turtle/proto/control.proto
parentchore: Somewhat simplify sync code (diff)
downloadatuin-5c39e7cf284a1f6e9a1657f2deb44e359fc47eb8.zip
chore: Move everything into one big crate
That helps remove duplicated code and rustc/cargo will now also show dead code correctly.
Diffstat (limited to 'crates/turtle/proto/control.proto')
-rw-r--r--crates/turtle/proto/control.proto62
1 files changed, 62 insertions, 0 deletions
diff --git a/crates/turtle/proto/control.proto b/crates/turtle/proto/control.proto
new file mode 100644
index 00000000..06347902
--- /dev/null
+++ b/crates/turtle/proto/control.proto
@@ -0,0 +1,62 @@
+syntax = "proto3";
+package control;
+
+// The Control service allows external processes (CLI commands, etc.)
+// to inject events into the running daemon.
+service Control {
+ // Send an event to the daemon's event bus
+ rpc SendEvent(SendEventRequest) returns (SendEventResponse);
+}
+
+message SendEventRequest {
+ oneof event {
+ // History was pruned - search index needs full rebuild
+ HistoryPrunedEvent history_pruned = 1;
+
+ // Specific history items were deleted
+ HistoryDeletedEvent history_deleted = 2;
+
+ // Request immediate sync
+ ForceSyncEvent force_sync = 3;
+
+ // Settings have changed, reload if needed
+ SettingsReloadedEvent settings_reloaded = 4;
+
+ // Request graceful shutdown
+ ShutdownEvent shutdown = 5;
+
+ // History was rebuilt - search index needs full rebuild
+ HistoryRebuiltEvent history_rebuilt = 6;
+ }
+}
+
+message SendEventResponse {
+ // Empty on success; errors come through gRPC status
+}
+
+// Individual event message types
+
+message HistoryPrunedEvent {
+ // No fields needed - just signals that pruning happened
+}
+
+message HistoryRebuiltEvent {
+ // No fields needed - just signals that rebuilding happened
+}
+
+message HistoryDeletedEvent {
+ // IDs of deleted history items (UUIDs as strings)
+ repeated string ids = 1;
+}
+
+message ForceSyncEvent {
+ // No fields needed - just triggers sync
+}
+
+message SettingsReloadedEvent {
+ // No fields needed - components should re-read settings
+}
+
+message ShutdownEvent {
+ // No fields needed - triggers graceful shutdown
+}