aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-daemon/proto
diff options
context:
space:
mode:
authorMichelle Tilley <michelle@michelletilley.net>2026-06-08 09:12:45 -0700
committerGitHub <noreply@github.com>2026-06-08 09:12:45 -0700
commitbcdf8c8cde31e826000f1b2d6eeaebdd865a07c1 (patch)
treef62f66e4dede22ce73ea5dafe69881d6af9b3101 /crates/atuin-daemon/proto
parentchore(deps): bump debian from bookworm-20260421-slim to bookworm-20260518-sli... (diff)
downloadatuin-bcdf8c8cde31e826000f1b2d6eeaebdd865a07c1.zip
feat: Capture command output + expose to new `atuin_output` tool (#3510)
Diffstat (limited to 'crates/atuin-daemon/proto')
-rw-r--r--crates/atuin-daemon/proto/semantic.proto47
1 files changed, 47 insertions, 0 deletions
diff --git a/crates/atuin-daemon/proto/semantic.proto b/crates/atuin-daemon/proto/semantic.proto
new file mode 100644
index 00000000..07e550c8
--- /dev/null
+++ b/crates/atuin-daemon/proto/semantic.proto
@@ -0,0 +1,47 @@
+syntax = "proto3";
+package semantic;
+
+service Semantic {
+ rpc RecordCommands(stream CommandCapture) returns (RecordCommandsReply);
+ rpc CommandOutput(CommandOutputRequest) returns (CommandOutputReply);
+}
+
+message CommandCapture {
+ string prompt = 1;
+ string command = 2;
+ string output = 3;
+ optional int32 exit_code = 4;
+ optional string history_id = 5;
+ optional string session_id = 6;
+ bool output_truncated = 7;
+ uint64 output_observed_bytes = 8;
+}
+
+message RecordCommandsReply {
+ uint64 accepted = 1;
+}
+
+message CommandOutputRequest {
+ string history_id = 1;
+ repeated OutputRange ranges = 2;
+}
+
+message OutputRange {
+ int64 start = 1;
+ int64 end = 2;
+}
+
+message OutputLine {
+ uint64 line_number = 1;
+ string content = 2;
+}
+
+message CommandOutputReply {
+ bool found = 1;
+ string output = 2;
+ uint64 total_bytes = 3;
+ uint64 total_lines = 4;
+ repeated OutputLine lines = 5;
+ bool output_truncated = 6;
+ uint64 output_observed_bytes = 7;
+}