// Copyright 2025 WIT.COM Inc Licensed GPL 3.0 syntax = "proto3"; package httppb; import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp import "google/protobuf/duration.proto"; // for duration message Auto { // `autogenpb:marshal` `autogenpb:sort` `autogenpb:nomutex` google.protobuf.Timestamp ctime = 1; // when the user tried this autocomplete google.protobuf.Duration duration = 2; // time since the last autocomplete string argname = 3; // what the shell thinks the name of the executable is string arg0 = 4; // what os.Exec() has as os.Argv[0] // not interesting string arg1 = 5; // should always be "--auto-complete" // not interesting string arg3 = 6; // usually argv3 == argv0 repeated string argv = 7; // use this to store whatever you want while the whole POST happens string cmd = 8; // the cmd being processed. For "git pull ", cmd would be "pull" string partial = 9; // set to the partial string trying to be matched bool isAuto = 10; // is true if '--auto-complete' is set bool setupAuto = 11; // is true if '--bash' is set // setup bash autocomplete here bool debug = 12; // print debugging info if true bool newline = 13; // was a newline was sent to STDERR? } message Autos { // `autogenpb:marshal` `autogenpb:sort` `autogenpb:nomutex` string uuid = 1; // `autogenpb:uuid:94210ebf-a534-4b33-aadd-2f5e1f56ae38` string version = 2; // `autogenpb:version:v0.0.1` repeated Auto autos = 3; // THIS MUST BE HttpRequest and then HttpRequests }