Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
417 changes: 417 additions & 0 deletions lsp_protos/buf/validate/validate.proto

Large diffs are not rendered by default.

119 changes: 119 additions & 0 deletions lsp_protos/cel/expr/checked.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
syntax = "proto3";

package cel.expr;

option java_package = "dev.cel.expr";
option java_outer_classname = "DeclProto";
option java_multiple_files = true;
option go_package = "cel.dev/expr";
option cc_enable_arenas = true;

import "cel/expr/syntax.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/struct.proto";

message CheckedExpr {
message ReferenceMapEntry {
int64 key = 1;
.cel.expr.Reference value = 2;
}

message TypeMapEntry {
int64 key = 1;
.cel.expr.Type value = 2;
}

repeated .cel.expr.CheckedExpr.ReferenceMapEntry reference_map = 2;
repeated .cel.expr.CheckedExpr.TypeMapEntry type_map = 3;
.cel.expr.SourceInfo source_info = 5;
string expr_version = 6;
.cel.expr.Expr expr = 4;
}

message Type {
message ListType {
.cel.expr.Type elem_type = 1;
}

message MapType {
.cel.expr.Type key_type = 1;
.cel.expr.Type value_type = 2;
}

message FunctionType {
.cel.expr.Type result_type = 1;
repeated .cel.expr.Type arg_types = 2;
}

message AbstractType {
string name = 1;
repeated .cel.expr.Type parameter_types = 2;
}

enum PrimitiveType {
PRIMITIVE_TYPE_UNSPECIFIED = 0;
BOOL = 1;
INT64 = 2;
UINT64 = 3;
DOUBLE = 4;
STRING = 5;
BYTES = 6;
}

enum WellKnownType {
WELL_KNOWN_TYPE_UNSPECIFIED = 0;
ANY = 1;
TIMESTAMP = 2;
DURATION = 3;
}

oneof type_kind {
.google.protobuf.Empty dyn = 1;
.google.protobuf.NullValue null = 2;
.cel.expr.Type.PrimitiveType primitive = 3;
.cel.expr.Type.PrimitiveType wrapper = 4;
.cel.expr.Type.WellKnownType well_known = 5;
.cel.expr.Type.ListType list_type = 6;
.cel.expr.Type.MapType map_type = 7;
.cel.expr.Type.FunctionType function = 8;
string message_type = 9;
string type_param = 10;
.cel.expr.Type type = 11;
.google.protobuf.Empty error = 12;
.cel.expr.Type.AbstractType abstract_type = 14;
}
}

message Decl {
message IdentDecl {
.cel.expr.Type type = 1;
.cel.expr.Constant value = 2;
string doc = 3;
}

message FunctionDecl {
message Overload {
string overload_id = 1;
repeated .cel.expr.Type params = 2;
repeated string type_params = 3;
.cel.expr.Type result_type = 4;
bool is_instance_function = 5;
string doc = 6;
}

repeated .cel.expr.Decl.FunctionDecl.Overload overloads = 1;
}

string name = 1;
oneof decl_kind {
.cel.expr.Decl.IdentDecl ident = 2;
.cel.expr.Decl.FunctionDecl function = 3;
}
}

message Reference {
string name = 1;
repeated string overload_id = 3;
.cel.expr.Constant value = 4;
}

45 changes: 45 additions & 0 deletions lsp_protos/cel/expr/eval.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
syntax = "proto3";

package cel.expr;

option java_package = "dev.cel.expr";
option java_outer_classname = "EvalProto";
option java_multiple_files = true;
option go_package = "cel.dev/expr";
option cc_enable_arenas = true;

import "google/protobuf/any.proto";
import "cel/expr/value.proto";

message EvalState {
message Result {
int64 expr = 1;
int64 value = 2;
}

repeated .cel.expr.ExprValue values = 1;
repeated .cel.expr.EvalState.Result results = 3;
}

message ExprValue {
oneof kind {
.cel.expr.Value value = 1;
.cel.expr.ErrorSet error = 2;
.cel.expr.UnknownSet unknown = 3;
}
}

message ErrorSet {
repeated .cel.expr.Status errors = 1;
}

message Status {
int32 code = 1;
string message = 2;
repeated .google.protobuf.Any details = 3;
}

message UnknownSet {
repeated int64 exprs = 1;
}

22 changes: 22 additions & 0 deletions lsp_protos/cel/expr/explain.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
syntax = "proto3";

package cel.expr;

option java_package = "dev.cel.expr";
option java_outer_classname = "ExplainProto";
option java_multiple_files = true;
option go_package = "cel.dev/expr";
option cc_enable_arenas = true;

import "cel/expr/value.proto";

message Explain {
message ExprStep {
int64 id = 1;
int32 value_index = 2;
}

repeated .cel.expr.Value values = 1;
repeated .cel.expr.Explain.ExprStep expr_steps = 2;
}

129 changes: 129 additions & 0 deletions lsp_protos/cel/expr/syntax.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
syntax = "proto3";

package cel.expr;

option java_package = "dev.cel.expr";
option java_outer_classname = "SyntaxProto";
option java_multiple_files = true;
option go_package = "cel.dev/expr";
option cc_enable_arenas = true;

import "google/protobuf/duration.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";

message ParsedExpr {
.cel.expr.Expr expr = 2;
.cel.expr.SourceInfo source_info = 3;
}

message Expr {
message Ident {
string name = 1;
}

message Select {
.cel.expr.Expr operand = 1;
string field = 2;
bool test_only = 3;
}

message Call {
.cel.expr.Expr target = 1;
string function = 2;
repeated .cel.expr.Expr args = 3;
}

message CreateList {
repeated .cel.expr.Expr elements = 1;
repeated int32 optional_indices = 2;
}

message CreateStruct {
message Entry {
int64 id = 1;
.cel.expr.Expr value = 4;
bool optional_entry = 5;
oneof key_kind {
string field_key = 2;
.cel.expr.Expr map_key = 3;
}
}

string message_name = 1;
repeated .cel.expr.Expr.CreateStruct.Entry entries = 2;
}

message Comprehension {
string iter_var = 1;
.cel.expr.Expr iter_range = 2;
string accu_var = 3;
.cel.expr.Expr accu_init = 4;
.cel.expr.Expr loop_condition = 5;
.cel.expr.Expr loop_step = 6;
.cel.expr.Expr result = 7;
}

int64 id = 2;
oneof expr_kind {
.cel.expr.Constant const_expr = 3;
.cel.expr.Expr.Ident ident_expr = 4;
.cel.expr.Expr.Select select_expr = 5;
.cel.expr.Expr.Call call_expr = 6;
.cel.expr.Expr.CreateList list_expr = 7;
.cel.expr.Expr.CreateStruct struct_expr = 8;
.cel.expr.Expr.Comprehension comprehension_expr = 9;
}
}

message Constant {
oneof constant_kind {
.google.protobuf.NullValue null_value = 1;
bool bool_value = 2;
int64 int64_value = 3;
uint64 uint64_value = 4;
double double_value = 5;
string string_value = 6;
bytes bytes_value = 7;
.google.protobuf.Duration duration_value = 8;
.google.protobuf.Timestamp timestamp_value = 9;
}
}

message SourceInfo {
message PositionsEntry {
int64 key = 1;
int32 value = 2;
}

message MacroCallsEntry {
int64 key = 1;
.cel.expr.Expr value = 2;
}

message Extension {
message Version {
int64 major = 1;
int64 minor = 2;
}

enum Component {
COMPONENT_UNSPECIFIED = 0;
COMPONENT_PARSER = 1;
COMPONENT_TYPE_CHECKER = 2;
COMPONENT_RUNTIME = 3;
}

string id = 1;
repeated .cel.expr.SourceInfo.Extension.Component affected_components = 2;
.cel.expr.SourceInfo.Extension.Version version = 3;
}

string syntax_version = 1;
string location = 2;
repeated int32 line_offsets = 3;
repeated .cel.expr.SourceInfo.PositionsEntry positions = 4;
repeated .cel.expr.SourceInfo.MacroCallsEntry macro_calls = 5;
repeated .cel.expr.SourceInfo.Extension extensions = 6;
}

48 changes: 48 additions & 0 deletions lsp_protos/cel/expr/value.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
syntax = "proto3";

package cel.expr;

option java_package = "dev.cel.expr";
option java_outer_classname = "ValueProto";
option java_multiple_files = true;
option go_package = "cel.dev/expr";
option cc_enable_arenas = true;

import "google/protobuf/any.proto";
import "google/protobuf/struct.proto";

message Value {
oneof kind {
.google.protobuf.NullValue null_value = 1;
bool bool_value = 2;
int64 int64_value = 3;
uint64 uint64_value = 4;
double double_value = 5;
string string_value = 6;
bytes bytes_value = 7;
.cel.expr.EnumValue enum_value = 9;
.google.protobuf.Any object_value = 10;
.cel.expr.MapValue map_value = 11;
.cel.expr.ListValue list_value = 12;
string type_value = 15;
}
}

message EnumValue {
string type = 1;
int32 value = 2;
}

message ListValue {
repeated .cel.expr.Value values = 1;
}

message MapValue {
message Entry {
.cel.expr.Value key = 1;
.cel.expr.Value value = 2;
}

repeated .cel.expr.MapValue.Entry entries = 1;
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
syntax = "proto3";

package grpc.status.v1;

option java_package = "com.grpc.status.v1";
option java_outer_classname = "StatusProto";
option java_multiple_files = true;
option go_package = "connectrpc.com/connect/internal/gen/connectext/grpc/status/v1;statusv1";
option objc_class_prefix = "GSX";
option csharp_namespace = "Grpc.Status.V1";
option php_namespace = "Grpc\\Status\\V1";
option php_metadata_namespace = "Grpc\\Status\\V1\\GPBMetadata";
option ruby_package = "Grpc::Status::V1";

import "google/protobuf/any.proto";

message Status {
int32 code = 1;
string message = 2;
repeated .google.protobuf.Any details = 3;
}

Loading