walrus-core 0.0.10

Core types and traits for the Walrus agent runtime
Documentation
syntax = "proto3";

package walrus.ext;

// ── Walrus Extension Protocol ───────────────────────────────────

message ExtRequest {
  oneof msg {
    ExtHello hello = 1;
    ExtRegisterTools register_tools = 2;
    ExtToolCall tool_call = 3;
    ExtServiceQuery service_query = 4;
    ExtShutdown shutdown = 5;
    ExtConfigure configure = 6;
    ExtGetSchema get_schema = 11;
  }
}

message ExtHello {
  string version = 1;
}

message ExtRegisterTools {}
message ExtShutdown {}
message ExtConfigure {
  string config = 1;
}
message ExtConfigured {}

message ExtToolCall {
  string name = 1;
  string args = 2;
  string agent = 3;
  optional uint64 task_id = 4;
}

message ExtServiceQuery {
  string query = 1;
}

// Request the extension's config JSON Schema.
message ExtGetSchema {}

message ExtResponse {
  oneof msg {
    ExtReady ready = 1;
    ExtToolSchemas tool_schemas = 2;
    ExtToolResult tool_result = 3;
    ExtServiceQueryResult service_query_result = 4;
    ExtError error = 5;
    ExtConfigured configured = 6;
    ExtSchemaResult schema_result = 10;
  }
}

message ExtReady {
  string version = 1;
  string service = 2;
  repeated Capability capabilities = 3;
}

message Capability {
  oneof cap {
    ToolsList tools = 1;
    QueryCap query = 2;
  }
}

message ToolsList {
  repeated string names = 1;
}

message QueryCap {}

message ToolDef {
  string name = 1;
  string description = 2;
  bytes parameters = 3;
  bool strict = 4;
}

message ExtToolSchemas {
  repeated ToolDef tools = 1;
}

message ExtToolResult {
  string result = 1;
}

message ExtServiceQueryResult {
  string result = 1;
}

message ExtError {
  string message = 1;
}

// Config schema response from an extension.
message ExtSchemaResult {
  string schema = 1;
}