message TraceMessage {
  required string act_id=1;
  required string msg=2;
  required int32 flags=3;
}

message TraceMessage {
  required string act_id=1;
  required string msg=2;
  required uint64 ts_origin=3;
  required int32 flags=4;
}

Add the local timestamp to the Trace Message


// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package google.events.cloud.scheduler.v1;

option csharp_namespace = "Google.Events.Protobuf.Cloud.Scheduler.V1";

import "google/events/cloudevent.proto";
import "google/protobuf/timestamp.proto";

// The CloudEvent raised when a Scheduler job is executed.
message JobExecutedEvent {
  option (google.events.cloud_event_type) =
      "google.cloud.scheduler.job.v1.executed";

  // The data associated with the event.
  SchedulerData data = 1;
}

// Scheduler event data.
message SchedulerData {
  // The custom data the user specified when creating the scheduler source.
  bytes custom_data = 1;

  // The time at which the job was executed, populated by the server.
  google.protobuf.Timestamp execution_time = 2;
}

// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package google.events.cloud.scheduler.v1;

option csharp_namespace = "Google.Events.Protobuf.Cloud.Scheduler.V1";

import "google/events/cloudevent.proto";
import "google/protobuf/timestamp.proto";

// The CloudEvent raised when a Scheduler job is executed.
message JobExecutedEvent {
  option (google.events.cloud_event_type) =
      "google.cloud.scheduler.job.v1.executed";

  // The data associated with the event.
  SchedulerData data = 1;
}

// Scheduler event data.
message SchedulerData {
  // The custom data the user specified when creating the scheduler source.
  bytes custom_data = 1;
}

Remove execution time from scheduler schema


syntax = "proto3";
package zigbeealliance.distributedcomplianceledger.dclauth;

option go_package = "github.com/zigbee-alliance/distributed-compliance-ledger/x/dclauth/types";

import "gogoproto/gogo.proto";
import "dclauth/account.proto";
import "dclauth/grant.proto";

message RevokedAccount {
  Account account = 1 [(gogoproto.embed) = true];
  repeated Grant revoke_approvals = 2;
}

syntax = "proto3";
package zigbeealliance.distributedcomplianceledger.dclauth;

option go_package = "github.com/zigbee-alliance/distributed-compliance-ledger/x/dclauth/types";

import "gogoproto/gogo.proto";
import "dclauth/account.proto";
import "dclauth/grant.proto";

message RevokedAccount {
  Account account = 1 [(gogoproto.embed) = true];
  repeated Grant revokeApprovals = 2;
}

Change variable name in protofile

Change variable name in protofile


syntax = "proto3";

package Cura;

// typeid 1
message ObjectList {
    repeated Object objects = 1;
}

message Object {
    int64 id = 1;
    bytes vertices = 2; //An array of 3 floats.
    bytes normals = 3; //An array of 3 floats.
    bytes indices = 4; //An array of ints.
}

// typeid 3
message Progress {
    float amount = 1;
}

// typeid 2
message SlicedObjectList {
    repeated SlicedObject objects = 1;
}

message SlicedObject {
    int64 id = 1;

    repeated Layer layers = 2;
}

message Layer {
    int32 id = 1;
    repeated Polygon polygons = 2;
}

message Polygon {
    enum Type {
        NoneType = 0;
        Inset0Type = 1;
        InsetXType = 2;
        SkinType = 3;
        SupportType = 4;
        SkirtType = 5;
    }
    Type type = 1;
    bytes points = 2;
}

// typeid 4
message GCode {
    string filename = 1;
}

// typeid 5
message ObjectPrintTime {
    int64 id = 1;
    float time = 2;
}

// typeid 6
message SettingList {
    repeated Setting settings = 1;
}

message Setting {
    string name = 1;

    bytes value = 2;
}

Add SettingList and Setting messages to the protocol


message meta {
  required msgtype type = 1;
  required bytes   msg  = 2;
}

enum msgtype {
  meta                   = 0;
  ping                   = 1;
  pong                   = 2;
  connect                = 3;
  disconnect             = 4;
  connect_resp           = 5;
  force_disconnect       = 6;
  client_egress_chat_msg = 7;
  server_egress_chat_msg = 8;
}

message meta {
  enum msgtype {
    meta                   = 0;
    ping                   = 1;
    pong                   = 2;
    connect                = 3;
    disconnect             = 4;
    connect_resp           = 5;
    force_disconnect       = 6;
    client_egress_chat_msg = 7;
    server_egress_chat_msg = 8;
  }
  required msgtype type = 1;
  required bytes   msg  = 2;
}

Move the msgtype enum out of the root namespace


syntax = "proto3";

package tensorflow.serving;
option cc_enable_arenas = true;

import "google/protobuf/wrappers.proto";

// Metadata for an inference request such as the model name and version.
message ModelSpec {
  // Required servable name.
  string name = 1;

  // Optional version. If unspecified, will use the latest (numerical) version.
  // Typically not needed unless coordinating across multiple models that were
  // co-trained and/or have inter-dependencies on the versions used at inference
  // time.
  google.protobuf.Int64Value version = 2;

  // A named signature to evaluate. If unspecified, the default signature will
  // be used. Note that only MultiInference will initially support this.
  string signature_name = 3;
}

syntax = "proto3";

package tensorflow.serving;
option cc_enable_arenas = true;

import "google/protobuf/wrappers.proto";

// Metadata for an inference request such as the model name and version.
message ModelSpec {
  // Required servable name.
  string name = 1;

  // Optional version. If unspecified, will use the latest (numerical) version.
  // Typically not needed unless coordinating across multiple models that were
  // co-trained and/or have inter-dependencies on the versions used at inference
  // time.
  google.protobuf.Int64Value version = 2;

  // A named signature to evaluate. If unspecified, the default signature will
  // be used.
  string signature_name = 3;
}

Update outdated comment now that all functions in the Prediction API support signature_name. Change: 158580011


package com.signalfuse.metrics.protobuf;

enum MetricType {
    /**
     * Numerical: Periodic, instantaneous measurement of some state.
     */
    GAUGE = 0;
    /**
     * Numerical: Count of occurrences. Generally non-negative integers.
     */
    COUNTER = 1;
    /**
     * String: Used for non-continuous quantities (that is, measurements where there is a fixed
     * set of meaningful values). This is essentially a special case of gauge.
     */
    ENUM = 2;
    /**
     * Tracks a value that increases over time, where only the difference is important.
     */
    CUMULATIVE_COUNTER =3;
}

message Datum {
    optional string strValue = 1;
    optional double doubleValue = 2;
    optional int64 intValue = 3;
}

message DataPoint {
    optional string source = 1;
    optional string metric = 2;
    optional int64 timestamp = 3;
    optional Datum value = 4;
    optional MetricType metricType = 5;
}

message PointValue {
    optional int64 timestamp = 3;
    optional Datum value = 4;
}

package com.signalfuse.metrics.protobuf;

enum MetricType {
    /**
     * Numerical: Periodic, instantaneous measurement of some state.
     */
    GAUGE = 0;
    /**
     * Numerical: Count of occurrences. Generally non-negative integers.
     */
    COUNTER = 1;
    /**
     * String: Used for non-continuous quantities (that is, measurements where there is a fixed
     * set of meaningful values). This is essentially a special case of gauge.
     */
    ENUM = 2;
    /**
     * Tracks a value that increases over time, where only the difference is important.
     */
    CUMULATIVE_COUNTER =3;
}

message Datum {
    optional string strValue = 1;
    optional double doubleValue = 2;
    optional int64 intValue = 3;
}

message Dimension {
    optional string key = 1;
    optional string value = 2;
}

message DataPoint {
    optional string source = 1;
    optional string metric = 2;
    optional int64 timestamp = 3;
    optional Datum value = 4;
    optional MetricType metricType = 5;
    repeated Dimension dimensions = 6;
}

message DataPointUploadMessage {
    repeated DataPoint datapoints = 1;
}

message PointValue {
    optional int64 timestamp = 3;
    optional Datum value = 4;
}

Add dimensions to protocol buffer

Add dimensions to protocol buffer

Summary: Dimensions in protocol buffer

Test Plan: compile

Reviewers: kris, arijit, psi, tedo

Reviewed By: psi, tedo

Subscribers: Diffs_emails

Differential Revision: http://phabricator.signalfuse.com/D3201


syntax = "proto3";

package io.intoto;

// An authenticated message of arbitrary type.
message Envelope {
  // Message to be signed. (In JSON, this is encoded as base64.)
  bytes payload = 1;

  // String unambiguously identifying how to interpret payload.
  string payloadType = 2;

  // Signature over:
  //     le64(2) || le64(len(utf8(payloadType))) || utf8(payloadType) ||
  //         le64(len(payload)) || payload
  // At least one signature must be present.
  repeated Signature signatures = 3;
}

message Signature {
  // Signature itself. (In JSON, this is encoded as base64.)
  bytes sig = 1;

  // *Unauthenticated* hint identifying which public key was used.
  string keyid = 2;
}

syntax = "proto3";

package io.intoto;

// An authenticated message of arbitrary type.
message Envelope {
  // Message to be signed. (In JSON, this is encoded as base64.)
  // REQUIRED.
  bytes payload = 1;

  // String unambiguously identifying how to interpret payload.
  // REQUIRED.
  string payloadType = 2;

  // Signature over:
  //     le64(2) || le64(len(utf8(payloadType))) || utf8(payloadType) ||
  //         le64(len(payload)) || payload
  // where:
  //     le64(n) := 64-bit little-endian encoding of integer `n`, 0 <= n < 2^63
  //     len(s) := number of octets in byte sequence `s`
  //     utf8(s) := UTF-8 encoding of unicode string `s`
  // REQUIRED (length >= 1).
  repeated Signature signatures = 3;
}

message Signature {
  // Signature itself. (In JSON, this is encoded as base64.)
  // REQUIRED.
  bytes sig = 1;

  // *Unauthenticated* hint identifying which public key was used.
  // OPTIONAL.
  string keyid = 2;
}

Add required/optional and explain PAE.

proto: Add required/optional and explain PAE.


package openxc;

message VehicleMessage {
    enum Type { RAW = 1; STRING = 2; NUM = 3; BOOL = 4; }

    optional Type type = 1;

    optional RawMessage raw_message = 2;
    optional TranslatedStringMessage string_message = 3;
    optional TranslatedNumericMessage numerical_message = 4;
    optional TranslatedBooleanMessage boolean_message = 5;
}

message RawMessage {
    optional uint32 message_id = 1;
    optional double data = 2;
}

message TranslatedStringMessage {
    optional string name = 1;
    optional string value = 2;
}

message TranslatedNumericMessage {
    optional string name = 1;
    optional double value = 2;
}

message TranslatedBooleanMessage {
    optional string name = 1;
    optional bool value = 2;
}

// TODO we should also consider having an enum type, h aving each specific
// message defined as a protobuf

package openxc;

message VehicleMessage {
    enum Type { RAW = 1; STRING = 2; NUM = 3; BOOL = 4; }

    optional Type type = 1;

    optional RawMessage raw_message = 2;
    optional TranslatedStringMessage string_message = 3;
    optional TranslatedNumericMessage numerical_message = 4;
    optional TranslatedBooleanMessage boolean_message = 5;
}

message RawMessage {
    optional int32 bus = 1;
    optional uint32 message_id = 2;
    optional sint64 data = 3;
}

message TranslatedStringMessage {
    optional string name = 1;
    optional string value = 2;
}

message TranslatedNumericMessage {
    optional string name = 1;
    optional double value = 2;
}

message TranslatedBooleanMessage {
    optional string name = 1;
    optional bool value = 2;
}

// TODO we should also consider having an enum type, h aving each specific
// message defined as a protobuf

Add a bus field to RawMessage and make data an 64-bit int.


/*
 * Copyright 2012 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Author: rahulbansal@google.com (Rahul Bansal)
//
// Proto representing critical line information.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package net_instaweb;

// Protobuf to encapsulate the information use by blink flow.
// Next id = 3
message CriticalLineInfo {
  // Panels that are below the critical line.
  repeated Panel panels = 1;
  // URLs of images above the critical line.
  repeated string critical_image_url = 2;
}

message Panel {
  // XPath identifying the start instance tag for the panel.
  required string start_xpath = 1;
  // XPath identifying the marker beyond instances of this panel.
  // The marker can be text/comment/tag
  // The marker is not part of the panel.
  optional string end_marker_xpath = 2;
};

/*
 * Copyright 2012 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Author: rahulbansal@google.com (Rahul Bansal)
//
// Proto representing critical line information.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package net_instaweb;

// Protobuf to encapsulate the information use by blink flow.
// Next id = 4
message CriticalLineInfo {
  // Panels that are below the critical line.
  repeated Panel panels = 1;
  // URLs of images above the critical line.
  repeated string critical_image_url = 2;
  // URLs of css background images above the critical line.
  repeated string css_critical_image_url = 3;
}

message Panel {
  // XPath identifying the start instance tag for the panel.
  required string start_xpath = 1;
  // XPath identifying the marker beyond instances of this panel.
  // The marker can be text/comment/tag
  // The marker is not part of the panel.
  optional string end_marker_xpath = 2;
};

Add css critical images field to critical line proto.


syntax = "proto2";

import "pose_controller_config.proto";
import "arm_system_config.proto";
import "transform.proto";

message UAVArmSystemConfig {

  /**
  * @brief Arm transform in the frame of the UAV (assuming NWU).
  */
  optional config.Transform arm_transform = 3;

  /**
  * @brief Config for arm controller
  */
  optional PoseControllerConfig position_controller_config = 6;

  /**
  * @brief How much time to spend trying to grip the object in milliseconds
  */
  optional uint32 grip_timeout = 7 [ default = 2000 ];

  /**
  * @brief Configuration for arm system
  */
  optional ArmSystemConfig arm_system_config = 9;
}

syntax = "proto2";

import "pose_controller_config.proto";
import "arm_system_config.proto";
import "transform.proto";

message UAVArmSystemConfig {

  /**
  * @brief Arm transform in the frame of the UAV (assuming NWU).
  */
  optional config.Transform arm_transform = 3;

  /**
  * @brief Config for arm controller
  */
  optional PoseControllerConfig position_controller_config = 6;

  /**
  * @brief Configuration for arm system
  */
  optional ArmSystemConfig arm_system_config = 9;
}

Remove grip timeout from proto file

Remove grip timeout from proto file


package amber.drive_to_point_proto;
option java_package = "pl.edu.agh.amber.drivetopoint.proto";
option java_outer_classname = "DriveToPointProto";

import "drivermsg.proto";

extend amber.DriverMsg {
    optional bool setTargets = 80;
    optional bool getNextTarget = 81;
    optional bool getNextTargets = 82;
    optional bool getVisitedTarget = 83;
    optional bool getVisitedTargets = 84;
    optional Targets targets = 85;
}

message Targets {
    repeated double longitudes = 1 [packed = true];
    repeated double latitudes = 2 [packed = true];
    repeated double radiuses = 3 [packed = true];
}

package amber.drive_to_point_proto;
option java_package = "pl.edu.agh.amber.drivetopoint.proto";
option java_outer_classname = "DriveToPointProto";

import "drivermsg.proto";

extend amber.DriverMsg {
    optional bool setTargets = 80;
    optional bool getNextTarget = 81;
    optional bool getNextTargets = 82;
    optional bool getVisitedTarget = 83;
    optional bool getVisitedTargets = 84;
    optional Targets targets = 85;
    optional Location location = 86;
    optional bool getConfiguration = 87;
    optional Configuration configuration = 88;
}

message Targets {
    repeated double longitudes = 1 [packed = true];
    repeated double latitudes = 2 [packed = true];
    repeated double radiuses = 3 [packed = true];
}

message Location {
    optional double x = 1;
    optional double y = 2;
    optional double p = 3;
    optional double alfa = 4;
    optional double timeStamp = 5;
}

message Configuration {
    optional double maxSpeed = 1;
}

Add information about location and configuration to drive to point protobuf file


package aris;

message Availability {
  optional uint32 serialNumber = 1;
  optional SystemType systemType = 2;
  optional SoftwareVersion softwareVersion = 3;
  optional ConnectionState connectionState = 4;
  optional Capabilities capabilities = 5;
  optional uint32 reserved6 = 6; // was ack port
  optional CommLinkPreference commLinkPreference = 7;
  optional float cpuTemp = 8;
  optional PowerDownReason powerDownReason = 9;
  optional float overTempLimitDegreesC = 10;
  optional uint32 overTempLimitSeconds = 11;
  optional bool isDiverHeld = 12;

  enum SystemType {
    ARIS_1800 = 0;
    ARIS_3000 = 1;
    ARIS_1200 = 2;
  }

  message SoftwareVersion {
    optional uint32 major = 1;
    optional uint32 minor = 2;
    optional uint32 buildnumber = 3;
  }

  enum ConnectionState {
    AVAILABLE = 0;
    BUSY = 1;
  }

  message Capabilities {
    // KA  : TCP keepalives
    repeated string enabled = 1;
  }

  enum CommLinkPreference {
    HomePlug = 0;
    Ethernet = 1;
  }

  enum PowerDownReason {
    OverTemp = 0;
  }
}

package aris;

message Availability {
  optional uint32 serialNumber = 1;
  optional SystemType systemType = 2;
  optional SoftwareVersion softwareVersion = 3;
  optional ConnectionState connectionState = 4;
  optional Capabilities capabilities = 5;
  optional uint32 reserved6 = 6; // was ack port
  optional CommLinkPreference commLinkPreference = 7;
  optional float cpuTemp = 8;
  optional PowerDownReason powerDownReason = 9;
  optional float overTempLimitDegreesC = 10;
  optional uint32 overTempLimitSeconds = 11;
  optional bool isDiverHeld = 12;
  optional SystemVariants systemVariants = 13;

  enum SystemType {
    ARIS_1800 = 0;
    ARIS_3000 = 1;
    ARIS_1200 = 2;
  }

  message SoftwareVersion {
    optional uint32 major = 1;
    optional uint32 minor = 2;
    optional uint32 buildnumber = 3;
  }

  enum ConnectionState {
    AVAILABLE = 0;
    BUSY = 1;
  }

  message Capabilities {
    // KA  : TCP keepalives
    repeated string enabled = 1;
  }

  enum CommLinkPreference {
    HomePlug = 0;
    Ethernet = 1;
  }

  enum PowerDownReason {
    OverTemp = 0;
  }

  message SystemVariants {
    // DF : Defender
    repeated string enabled = 1;
  }

}

Add system variants to sonar beacon.

Add system variants to sonar beacon.


/*
 * Copyright (c) 2014 Juniper Networks, Inc. All rights reserved.
 */

import "google/protobuf/descriptor.proto";

message SelfDescribingMessage {
  // Timestamp
  required uint64 timestamp = 1;

  // Set of .proto files which define the type.
  optional google.protobuf.FileDescriptorSet proto_files = 2;

  // Name of the message type.  Must be defined by one of the files in
  // proto_files.
  required string type_name = 3;

  // The message data.
  required bytes message_data = 4;
}

message TelemetryFieldOptions {
  // Key
  optional bool is_key = 1;

  // Timestamp
  optional bool is_timestamp = 2;
}

extend google.protobuf.FieldOptions {
  optional TelemetryFieldOptions telemetry_options = 33333;
}

/*
 * Copyright (c) 2014 Juniper Networks, Inc. All rights reserved.
 */

import "google/protobuf/descriptor.proto";

message SelfDescribingMessage {
  // Timestamp
  required uint64 timestamp = 1;

  // Set of .proto files which define the type.
  optional google.protobuf.FileDescriptorSet proto_files = 2;

  // Name of the message type.  Must be defined by one of the files in
  // proto_files.
  required string type_name = 3;

  // The message data.
  required bytes message_data = 4;
}

message TelemetryFieldOptions {
  // Key
  optional bool is_key = 1;

  // Timestamp
  optional bool is_timestamp = 2;
}

extend google.protobuf.FieldOptions {
  optional TelemetryFieldOptions telemetry_options = 50000;
}

Fix the extension number for TelemetryFieldOptions to be in sync
with MX

Change-Id: Ib7d7987d810185d6f01f53426b45f9bc687b081d


syntax = "proto3";

package tensorflow.serving;
option cc_enable_arenas = true;

import "google/protobuf/wrappers.proto";

// Metadata for an inference request such as the model name and version.
message ModelSpec {
  // Required servable name.
  string name = 1;

  // Optional version.
  google.protobuf.Int64Value version = 2;

  // A named signature to evaluate. If unspecified, the default signature will
  // be used.
  string signature_name = 3;
}

syntax = "proto3";

package tensorflow.serving;
option cc_enable_arenas = true;

import "google/protobuf/wrappers.proto";

// Metadata for an inference request such as the model name and version.
message ModelSpec {
  // Required servable name.
  string name = 1;

  // Optional version. Recommended to be left unset in the common case. Should
  // be specified only when there is a strong version consistency requirement.
  //
  // When left unspecified, the system will serve the best available version.
  // This is typically the latest version, though during version transitions,
  // notably when serving on a fleet of instances, may be either the previous or
  // new version.
  google.protobuf.Int64Value version = 2;

  // A named signature to evaluate. If unspecified, the default signature will
  // be used.
  string signature_name = 3;
}

Clarify the ModelSpec API to recommend that users leave the version field
unspecified for the common case.

PiperOrigin-RevId: 200066733


syntax = "proto3";
package com.google.cloud.solutions.datalineage.model;

message CompositeLineage {
  uint64 reconcileTime = 1;
  JobInformation jobInformation = 2;
  TableLineage tableLineage = 5;
  repeated ColumnLineage columnsLineage = 10;
}

message JobInformation {
  string jobId = 1;
  uint64 jobTime = 2;
  string jobType = 5;
  string actuator = 10;
}

message TableLineage {
  DataEntity target = 1;
  string operation = 2;
  repeated DataEntity parents = 5;
}

message ColumnLineage {
  ColumnEntity target = 1;
  repeated string operations = 2;
  repeated ColumnEntity parents = 5;
}

message DataEntity {
  enum DataEntityTypes {
    UNKNOWN = 0;
    QUERY_LEVEL_TABLE = 1;
    CLOUD_STORAGE_FILE = 5;
    BIGQUERY_TABLE = 10;
  }

  DataEntityTypes kind = 1;
  string sqlResource = 2;
  string linkedResource = 3;
}

message ColumnEntity {
  DataEntity table = 1;
  string column = 2;
}

message TargetPolicyTags {
  DataEntity table = 1;
  repeated ColumnPolicyTags policyTags = 5;
}

message ColumnPolicyTags {
  string column = 1;
  repeated string policyTagIds = 2;
}

syntax = "proto3";
package com.google.cloud.solutions.datalineage.model;

message CompositeLineage {
  int64 reconcileTime = 1;
  JobInformation jobInformation = 2;
  TableLineage tableLineage = 5;
  repeated ColumnLineage columnsLineage = 10;
}

message JobInformation {
  string jobId = 1;
  int64 jobTime = 2;
  string jobType = 5;
  string actuator = 10;
}

message TableLineage {
  DataEntity target = 1;
  string operation = 2;
  repeated DataEntity parents = 5;
}

message ColumnLineage {
  ColumnEntity target = 1;
  repeated string operations = 2;
  repeated ColumnEntity parents = 5;
}

message DataEntity {
  enum DataEntityTypes {
    UNKNOWN = 0;
    QUERY_LEVEL_TABLE = 1;
    CLOUD_STORAGE_FILE = 5;
    BIGQUERY_TABLE = 10;
  }

  DataEntityTypes kind = 1;
  string sqlResource = 2;
  string linkedResource = 3;
}

message ColumnEntity {
  DataEntity table = 1;
  string column = 2;
}

message TargetPolicyTags {
  DataEntity table = 1;
  repeated ColumnPolicyTags policyTags = 5;
}

message ColumnPolicyTags {
  string column = 1;
  repeated string policyTagIds = 2;
}

Make proto timestamp type signed

Make proto timestamp type signed


syntax = "proto3";

package tensorflow;
option cc_enable_arenas = true;
option java_outer_classname = "SaverProtos";
option java_multiple_files = true;
option java_package = "org.tensorflow.util";

// Protocol buffer representing the configuration of a SaveRestoreHelper.
message SaverDef {
  // The name of the tensor in which to specify the filename when saving or
  // restoring a model checkpoint.
  string filename_tensor_name = 1;

  // The operation to run when saving a model checkpoint.
  string save_tensor_name = 2;

  // The operation to run when restoring a model checkpoint.
  string restore_op_name = 3;

  // Maximum number of checkpoints to keep.  If 0, no checkpoints are deleted.
  int32 max_to_keep = 4;

  // Shard the save files, one per device that has Variable nodes.
  bool sharded = 5;

  // How often to keep an additional checkpoint. If not specified, only the last
  // "max_to_keep" checkpoints are kept; if specified, in addition to keeping
  // the last "max_to_keep" checkpoints, an additional checkpoint will be kept
  // for every n hours of training.
  float keep_checkpoint_every_n_hours = 6;
}

syntax = "proto3";

package tensorflow;
option cc_enable_arenas = true;
option java_outer_classname = "SaverProtos";
option java_multiple_files = true;
option java_package = "org.tensorflow.util";

// Protocol buffer representing the configuration of a Saver.
message SaverDef {
  // The name of the tensor in which to specify the filename when saving or
  // restoring a model checkpoint.
  string filename_tensor_name = 1;

  // The operation to run when saving a model checkpoint.
  string save_tensor_name = 2;

  // The operation to run when restoring a model checkpoint.
  string restore_op_name = 3;

  // Maximum number of checkpoints to keep.  If 0, no checkpoints are deleted.
  int32 max_to_keep = 4;

  // Shard the save files, one per device that has Variable nodes.
  bool sharded = 5;

  // How often to keep an additional checkpoint. If not specified, only the last
  // "max_to_keep" checkpoints are kept; if specified, in addition to keeping
  // the last "max_to_keep" checkpoints, an additional checkpoint will be kept
  // for every n hours of training.
  float keep_checkpoint_every_n_hours = 6;
}

Replace a minomer: s/SaveRestoreHelper/Saver. Change: 129002390


package amber;
option java_package = "pl.edu.agh.amber.common.proto";
option java_outer_classname = "CommonProto";

option optimize_for = SPEED;

enum DeviceType {
    NINEDOF = 1;
    ROBOCLAW = 2;
    STARGAZER = 3;
    HOKUYO = 4;
    DUMMY = 5;
    LOCATION = 6;
    MAESTRO = 7;
}

message DriverHdr {
    optional int32 deviceType = 1;
    optional int32 deviceID = 2;
    repeated int32 clientIDs = 3 [packed = true];
}

message DriverMsg {
    enum MsgType {
        DATA = 1;
        PING = 2;
        PONG = 3;
        CLIENT_DIED = 4;
        DRIVER_DIED = 5;
        SUBSCRIBE = 6;
        UNSUBSCRIBE = 7;
    }

    required MsgType type = 2;
    optional uint32 synNum = 3;
    optional uint32 ackNum = 4;
    optional uint32 listenerNum = 5;
    extensions 10 to 99;
}

package amber;
option java_package = "pl.edu.agh.amber.common.proto";
option java_outer_classname = "CommonProto";

option optimize_for = SPEED;

enum DeviceType {
    NINEDOF = 1;
    ROBOCLAW = 2;
    STARGAZER = 3;
    HOKUYO = 4;
    DUMMY = 5;
    LOCATION = 6;
    MAESTRO = 7;
}

message DriverHdr {
    optional int32 deviceType = 1;
    optional int32 deviceID = 2;
    repeated int32 clientIDs = 3 [packed = true];
}

message DriverMsg {
    enum MsgType {
        DATA = 1;
        PING = 2;
        PONG = 3;
        CLIENT_DIED = 4;
        DRIVER_DIED = 5;
        SUBSCRIBE = 6;
        UNSUBSCRIBE = 7;
    }

    required MsgType type = 2;
    optional uint32 synNum = 3;
    optional uint32 ackNum = 4;
    optional uint32 listenerNum = 5;
    extensions 10 to 89;
}

Update driver message to the latest version


/*
 * Copyright (C) 2015 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

/*
 * Protocol Buffer messages used for testing Proto2Coder implementation.
 */

syntax = "proto2";

package proto2_coder_test_messages;

option java_package = "com.google.cloud.dataflow.sdk.coders";

message MessageA {
  optional string field1 = 1;
  repeated MessageB field2 = 2;
}

message MessageB {
  optional bool field1 = 1;
}

message MessageC {
  extensions 100 to 105;
}

extend MessageC {
  optional MessageA field1 = 101;
  optional MessageB field2 = 102;
}

message MessageWithMap {
  map<string, MessageA> field1 = 1;
}

message ReferencesMessageWithMap {
  repeated MessageWithMap field1 = 1;
}

Add new test proto messages that use map fields

Directly, and transitively.

----Release Notes----
[]
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=115280894


syntax = "proto3";

package nrpc;

option go_package = "github.com/rapidloop/nrpc";

import "google/protobuf/descriptor.proto";

enum SubjectRule {
    COPY = 0;
    TOLOWER = 1;
}

extend google.protobuf.FileOptions {
    // A custom subject prefix to use instead of the package name
    string packageSubject = 50000;
    // Parameters included in the subject at the package level
    repeated string packageSubjectParams = 50001;
    // Default rule to build a service subject from the service name
    SubjectRule serviceSubjectRule = 50002;
    // Default rule to build a method subject from its name
    SubjectRule methodSubjectRule = 50003;
}

extend google.protobuf.ServiceOptions {
	// A custom subject token to use instead of (service name + serviceSubjectRule)
	string serviceSubject = 51000;
	// Parameters included in the subject at the service level
	repeated string serviceSubjectParams = 51001;
}

extend google.protobuf.MethodOptions {
    // A custom subject to use instead of (methor name + methodSubjectRule)
    string methodSubject = 52000;
    // Parameters included in the subject at the method level
    repeated string methodSubjectParams = 52001;
}

message Error {
    enum Type {
        CLIENT = 0;
        SERVER = 1;
    }
    Type type = 1;
	string message = 2;
}

message Void {}

message NoReply {}

syntax = "proto3";

package nrpc;

option go_package = "github.com/rapidloop/nrpc";

import "google/protobuf/descriptor.proto";

enum SubjectRule {
    COPY = 0;
    TOLOWER = 1;
}

extend google.protobuf.FileOptions {
    // A custom subject prefix to use instead of the package name
    string packageSubject = 50000;
    // Parameters included in the subject at the package level
    repeated string packageSubjectParams = 50001;
    // Default rule to build a service subject from the service name
    SubjectRule serviceSubjectRule = 50002;
    // Default rule to build a method subject from its name
    SubjectRule methodSubjectRule = 50003;
}

extend google.protobuf.ServiceOptions {
	// A custom subject token to use instead of (service name + serviceSubjectRule)
	string serviceSubject = 51000;
	// Parameters included in the subject at the service level
	repeated string serviceSubjectParams = 51001;
}

extend google.protobuf.MethodOptions {
    // A custom subject to use instead of (methor name + methodSubjectRule)
    string methodSubject = 52000;
    // Parameters included in the subject at the method level
    repeated string methodSubjectParams = 52001;
}

message Error {
    enum Type {
        CLIENT = 0;
        SERVER = 1;
    }
    Type type = 1;
	string message = 2;
}

message Void {}

message NoRequest {}
message NoReply {}

Add a 'NoRequest' message type

Add a 'NoRequest' message type


syntax = "proto3";

package defender;

// Commands and reports for communicating with an ARIS Defender.
// Note that little is available to control via this interface, as
// the diver is intended to have primary control.

message DefenderSet {
  string dateTime = 1;
  Frequency frequency = 2;
  uint32 range = 3;
  Units units = 4;
  uint32 antialiasing = 5;
  FrameStreamReceiver receiver = 6;
}

message DefenderReport {
  string dateTime = 1;
  Frequency frequency = 2;
  uint32 range = 3;
  Units units = 4;
  uint32 antialiasing = 5;
  FrameStreamReceiver receiver = 6;
}

enum Frequency {
  AUTO = 0;
  LOW = 1;
  HIGH = 2;
}

// for depth and range markers
enum Units {
  METERS = 0;
  FEET = 1;
}

message FrameStreamReceiver {
  string ip = 1;
  uint32 port = 2;
}

syntax = "proto3";

package defender;

// Commands and reports for communicating with an ARIS Defender.
// Note that little is available to control via this interface, as
// the diver is intended to have primary control.

message DefenderSet {
  string dateTime = 1;
  Frequency frequency = 2;
  uint32 range = 3;
  Units units = 4;
  uint32 antialiasing = 5;
  FrameStreamReceiver receiver = 6;
  FieldUpdate fieldsUsed = 7;
}

message DefenderReport {
  string dateTime = 1;
  Frequency frequency = 2;
  uint32 range = 3;
  Units units = 4;
  uint32 antialiasing = 5;
  FrameStreamReceiver receiver = 6;
}

enum Frequency {
  AUTO = 0;
  LOW = 1;
  HIGH = 2;
}

// for depth and range markers
enum Units {
  METERS = 0;
  FEET = 1;
}

message FrameStreamReceiver {
  string ip = 1;
  uint32 port = 2;
}

// An effort to deal with the ambiguity of protobuf v3 and its tendency to elide
// fields that have a value of zero. The original DefenderSet message was not meant
// to send multiple fields at once, but losing the ability to call .has_xxx has been
// problematic.
//
// Usage: bitwise-or the field specs that are passed in DefenderSet and set fieldsUsed.
enum FieldUpdate {
  NONE          = 0x00;
  DATETIME      = 0x01;
  FREQUENCY     = 0x02;
  RANGE         = 0x04;
  UNITS         = 0x08;
  ANTIALIASING  = 0x10; // Not currently implemented.
  RECEIVER      = 0x20;
}

Add FieldUpdate and fieldsUsed for DefenderSet


/*
 * Copyright 2019, TeamDev. All rights reserved.
 *
 * Redistribution and use in source and/or binary forms, with or without
 * modification, must retain the above copyright notice and the following
 * disclaimer.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
syntax = "proto3";

package spine.ui;

import "spine/options.proto";

option (type_url_prefix) = "type.spine.io";
option java_multiple_files = true;
option java_outer_classname = "LanguageProto";
option java_package = "io.spine.ui";

enum Language {
    UNDEFINED = 0;

    //TODO:2015-12-16:alexander.yevsyukov: Implement
}

/*
 * Copyright 2019, TeamDev. All rights reserved.
 *
 * Redistribution and use in source and/or binary forms, with or without
 * modification, must retain the above copyright notice and the following
 * disclaimer.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
syntax = "proto3";

package spine.ui;

import "spine/options.proto";

option (type_url_prefix) = "type.spine.io";
option java_multiple_files = true;
option java_outer_classname = "LanguageProto";
option java_package = "io.spine.ui";

// A human language.
//
// See https://github.com/SpineEventEngine/base/issues/2
enum Language {

    UNDEFINED = 0;
}

Remove `Language` todo item and replace it with a reference to an issue.


package otmp.meta;

message meta {
  enum msgtype {
    meta                   = 0;
    ping                   = 1;
    pong                   = 2;
    connect                = 3;
    disconnect             = 4;
    connect_resp           = 5;
    force_disconnect       = 6;
    client_egress_chat_msg = 7;
    server_egress_chat_msg = 8;
  }
  required msgtype type = 1;
  required bytes   msg  = 2;
}

package otmp.meta;

message meta {
  enum msgtype {
    meta                   = 0;
    ping                   = 1;
    pong                   = 2;
    connect                = 3;
    disconnect             = 4;
    conn_status            = 5;
    client_egress_chat_msg = 6;
    server_egress_chat_msg = 7;
  }
  required msgtype type = 1;
  required bytes   msg  = 2;
}

Correct meta enums to reflect current state of protocol


syntax = "proto2";

option cc_api_version = 2;
package grr;

message ClientConfiguration {
  repeated string control_url = 1;
  repeated string proxy_server = 2;

  // The ca certificate which is used to validate server certs.
  optional string ca_cert_pem = 3;

  // The RSA private key of the client.
  optional string client_private_key_pem = 4;

  optional int32 last_server_cert_serial_number = 5;

  // The file to write configuration updates.
  optional string writeback_filename = 6;

  message SubprocessConfig {
    optional string filename = 1;
    repeated string argv = 2;
    repeated string env = 3;
  }
  optional SubprocessConfig subprocess_config = 7;
}

syntax = "proto2";

package grr;

message ClientConfiguration {
  repeated string control_url = 1;
  repeated string proxy_server = 2;

  // The ca certificate which is used to validate server certs.
  optional string ca_cert_pem = 3;

  // The RSA private key of the client.
  optional string client_private_key_pem = 4;

  optional int32 last_server_cert_serial_number = 5;

  // The file to write configuration updates.
  optional string writeback_filename = 6;

  message SubprocessConfig {
    optional string filename = 1;
    repeated string argv = 2;
    repeated string env = 3;
  }
  optional SubprocessConfig subprocess_config = 7;
}

Remove version from proto file

Remove version from proto file


// Copyright 2014 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto2";
package gen_bq_schema;

option go_package = "protos";

import "google/protobuf/descriptor.proto";

extend google.protobuf.FieldOptions {
  // Flag to specify that a field should be marked as 'REQUIRED' when
  // used to generate schema for BigQuery.
  //
  // TODO: register with protobuf-global-extension-registry@google.com
  optional bool require = 1022;

  // Optionally override whatever type is resolved by the schema
  // generator. This is useful, for example, to store epoch timestamps
  // with the underlying 'TIMESTAMP' type, when normally, they would
  // be structured as 'INTEGER' fields.
  //
  // TODO: register with protobuf-global-extension-registry@google.com
  optional string type_override = 1023;
}

// Copyright 2014 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto2";
package gen_bq_schema;

option go_package = "protos";

import "google/protobuf/descriptor.proto";

extend google.protobuf.FieldOptions {
  // Flag to specify that a field should be marked as 'REQUIRED' when
  // used to generate schema for BigQuery.
  //
  // TODO: register with protobuf-global-extension-registry@google.com
  optional bool require = 1022;

  // Optionally override whatever type is resolved by the schema
  // generator. This is useful, for example, to store epoch timestamps
  // with the underlying 'TIMESTAMP' type, when normally, they would
  // be structured as 'INTEGER' fields.
  //
  // TODO: register with protobuf-global-extension-registry@google.com
  optional string type_override = 1023;

  // Optionally omit a field from BigQuery schema.
  //
  // TODO: register with protobuf-global-extension-registry@google.com
  optional bool ignore = 1024;
}

Add ignore field to proto

Add ignore field to proto


/**
 * Booking related messages.
 *
 * This file is really just an example. The data model is completely
 * fictional.
 *
 * Author: Elvis Stansvik
 */
package com.example;

/**
 * Represents the status of a vehicle booking.
 */
message BookingStatus {
    required int32 id = 1;           /// Unique booking status ID.
    required string description = 2; /// Booking status description. E.g. "Active".
}

/**
 * Represents the booking of a vehicle.
 *
 * Vehicles are some cool shit. But drive carefully!
 */
message Booking {
    required int32 vehicle_id = 1;     /// ID of booked vehicle.
    required int32 customer_id = 2;    /// Customer that booked the vehicle.
    required BookingStatus status = 3; /// Status of the booking.

    /** Has booking confirmation been sent? */
    required bool confirmation_sent = 4;

    /** Has payment been received? */
    required bool payment_received = 5;
}

/**
 * Service for handling vehicle bookings.
 */
service BookingService {
    rpc BookVehicle (Booking) returns (BookingStatus); /// Used to book a vehicle. Pass in a Booking and a Booking Status will be returned
}

/**
 * Booking related messages.
 *
 * This file is really just an example. The data model is completely
 * fictional.
 *
 * Author: Elvis Stansvik
 */
package com.example;

/**
 * Represents the status of a vehicle booking.
 */
message BookingStatus {
    required int32 id = 1;           /// Unique booking status ID.
    required string description = 2; /// Booking status description. E.g. "Active".
}

/**
 * Represents the booking of a vehicle.
 *
 * Vehicles are some cool shit. But drive carefully!
 */
message Booking {
    required int32 vehicle_id = 1;     /// ID of booked vehicle.
    required int32 customer_id = 2;    /// Customer that booked the vehicle.
    required BookingStatus status = 3; /// Status of the booking.

    /** Has booking confirmation been sent? */
    required bool confirmation_sent = 4;

    /** Has payment been received? */
    required bool payment_received = 5;
}

/**
 * Service for handling vehicle bookings.
 */
service BookingService {
    /// Used to book a vehicle. Pass in a Booking and a Booking Status will be returned
    rpc BookVehicle (Booking) returns (BookingStatus);
}

Put comment before RPC method

Put comment before RPC method

Avoids the very long line.


option optimize_for = LITE_RUNTIME;

package orwell.com;

// Base message used for communication, it contains an header defining the type of message
// And another message serialized in a byte array
message base_message {
	required string message_type = 1;
	required bytes serialized_message = 2;
	optional string recipient = 3;
}

// This message is used to handle a new client's login
message login_message {
	required string client_id = 1;
	required string wished_robot_type = 2;
}

message sample_message {
	required string login = 1;
}

message move_tank_message {
	required double left = 1;
	required double right = 2;
}

option optimize_for = LITE_RUNTIME;

package orwell.com;

// Base message used for communication, it contains an header defining the type of message
// And another message serialized in a byte array
message base_message {
	required string message_type = 1;
	required bytes serialized_message = 2;
}

// This message is used to handle a new client's login
message login_message {
	required string client_id = 1;
	required string wished_robot_type = 2;
}

message sample_message {
	required string login = 1;
}

message move_tank_message {
	required double left = 1;
	required double right = 2;
}

Remove recipient in message as zmq can filter at a higher level.


//
// Copyright 2017, TeamDev Ltd. All rights reserved.
//
// Redistribution and use in source and/or binary forms, with or without
// modification, must retain the above copyright notice and the following
// disclaimer.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
syntax = "proto3";

package spine.test.entity.number;

option (type_url_prefix) = "type.spine3.org";
option java_package = "org.spine3.test.entity.number";
option java_multiple_files = true;

import "spine/annotations.proto";
import "spine/validate.proto";

message NaturalNumber {
    int32 value = 1 [(min).value = "1"];
}

//
// Copyright 2017, TeamDev Ltd. All rights reserved.
//
// Redistribution and use in source and/or binary forms, with or without
// modification, must retain the above copyright notice and the following
// disclaimer.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
syntax = "proto3";

package spine.test.entity.number;

option (type_url_prefix) = "type.spine3.org";
option java_package = "org.spine3.test.entity.number";
option java_multiple_files = true;

import "spine/annotations.proto";
import "spine/validate.proto";

message NaturalNumber {
    int32 value = 1 [(min).value = "0"];
}

Change min natural number value

Change min natural number value


//
// Copyright 2016, TeamDev Ltd. All rights reserved.
//
// Redistribution and use in source and/or binary forms, with or without
// modification, must retain the above copyright notice and the following
// disclaimer.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
syntax = "proto3";

package spine.base;

option java_generate_equals_and_hash = true;
option java_multiple_files = true;
option java_outer_classname = "EmailProto";
option java_package = "org.spine3.base";

// An email address.
// No validation is performed for the passed value.
message EmailAddress {
    // String value of the address.
    string value = 1;
}

//
// Copyright 2016, TeamDev Ltd. All rights reserved.
//
// Redistribution and use in source and/or binary forms, with or without
// modification, must retain the above copyright notice and the following
// disclaimer.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
syntax = "proto3";

package spine.base;

option java_generate_equals_and_hash = true;
option java_multiple_files = true;
option java_outer_classname = "EmailProto";
option java_package = "org.spine3.base";

// An email address.
// No validation is performed for the passed value.
message EmailAddress {

    //TODO:2016-02-20:alexander.yevsyukov: Make it structured, to reflect http://www.ietf.org/rfc/rfc822.txt
    // A minimum it should have fields like `user`, `domain`, `personal`, `suffix` - the part coming after `+`.
    // See also InternetAddress from JavaMail: http://docs.oracle.com/javaee/6/api/javax/mail/internet/InternetAddress.html

    // String value of the address.
    string value = 1;
}

Add todo for improving `EmailAddress` type.


message Robot {
    // Message to the robot
    optional LED headlights = 1;
    optional Motor motor_left = 2;
    optional Motor motor_right = 3;
    repeated Procedure procedures = 4;

    message Motor {
        optional bool update = 1;
        // range 0 to 100, as precent of total
        optional int32 speed = 2;
        optional bool breaks = 3;
    }
    message Servo {
        optional bool update = 1;
        optional int32 degree = 2;
    }
    message LED {
        optional bool update = 1;
        optional bool on = 2;
    }
    message Procedure {
        oneof procedure {
            GoInCircle circle = 1;
        }

        message GoInCircle {
            required int32 radius = 1;
        }
    }
}

message BaseStation {
    // Message to the basestation
    optional Battery battery = 1;

    message Battery {
        optional int32 charge = 1;
    }
}

message Robot {
    // Message to the robot
    optional LED headlights = 1;
    optional Motor motor_left = 2;
    optional Motor motor_right = 3;
    repeated Procedure procedures = 4;
    optional Servo arm = 5;

    message Motor {
        optional bool update = 1;
        // range 0 to 100, as precent of total
        optional int32 speed = 2;
        optional bool breaks = 3;
    }
    message Servo {
        optional bool update = 1;
        optional int32 degree = 2;
    }
    message LED {
        optional bool update = 1;
        optional bool on = 2;
    }
    message Procedure {
        oneof procedure {
            GoInCircle circle = 1;
        }

        message GoInCircle {
            required int32 radius = 1;
        }
    }
}

message BaseStation {
    // Message to the basestation
    optional Battery battery = 1;
    optional Distance sensor_data = 2;

    message Battery {
        optional int32 charge = 1;
    }

    message Distance {
        optional int32 front_right = 1;
        optional int32 front_left = 2;
        optional int32 back_right = 3;
        optional int32 back_left = 4;
        optional bool update = 5;
    }
}

Add sensor data to protobuf

Add sensor data to protobuf


option java_multiple_files = true;
option java_generate_equals_and_hash = true;
option java_package = "com.xtrader.protocol.proto.commons.model";
option java_outer_classname = "ContainerCommonModelMessages";

// --- COMMON API 50 - 69 --- [1 - 49 reserved for traffic intensive messages]
enum ProtoPayloadType {
    ERROR_RES = 50;
    HEARTBEAT_EVENT = 51;
    PING_REQ = 52;
    PING_RES = 53;
}

// COMMON error codes 1 - 99
enum ProtoErrorCode {
    UNKNOWN_ERROR = 1;
    UNSUPPORTED_MESSAGE = 2;
    INVALID_REQUEST = 3;
    WRONG_PASSWORD = 4;
    TIMEOUT_ERROR = 5;
    ENTITY_NOT_FOUND = 6;
    CANT_ROUTE_REQUEST = 7;
    FRAME_TOO_LONG = 8;
    MARKET_CLOSED = 9;
    CONCURRENT_MODIFICATION = 10;
}

message ProtoIntRange {
    optional int32 from = 1;
    optional int32 to = 2;
}

message ProtoLongRange {
    optional int64 from = 1;
    optional int64 to = 2;
}

message ProtoDoubleRange {
    optional double from = 1;
    optional double to = 2;
}

enum ProtoTradeSide {
    BUY = 1;
    SELL = 2;
}

enum ProtoQuoteType {
    BID = 1;
    ASK = 2;
}

enum ProtoTimeInForce {
    GOOD_TILL_DATE = 1;
    GOOD_TILL_CANCEL = 2;
    IMMEDIATE_OR_CANCEL = 3;
}

Remove these enums as they are already defined elsewhere


package AppStream;
option optimize_for = LITE_RUNTIME;

message Urls {
  enum UrlType {
    UNKNOWN = 0;
    HOMEPAGE = 1;
    BUGTRACKER = 2;
    FAQ = 3;
    HELP = 4;
    DONATION = 5;
  }

  message Url {
    required UrlType type = 1 [default = UNKNOWN];
    required string url = 2;
  }

  repeated Url url = 1;
}

package AppStream;
option optimize_for = LITE_RUNTIME;

/* =================================== */
message Urls {
  enum UrlType {
    UNKNOWN = 0;
    HOMEPAGE = 1;
    BUGTRACKER = 2;
    FAQ = 3;
    HELP = 4;
    DONATION = 5;
  }

  message Url {
    required UrlType type = 1 [default = UNKNOWN];
    required string url = 2;
  }

  repeated Url url = 1;
}

/* =================================== */
message Bundles {
  enum BundleType {
    UNKNOWN = 0;
    LIMBA = 1;
    XDG_APP = 2;
  }

  message Bundle {
    required BundleType type = 1 [default = UNKNOWN];
    required string id = 2;
  }

  repeated Bundle bundle = 1;
}

/* =================================== */
message Screenshots {
  message Image {
    required int32 width  = 1;
    required int32 height = 2;
    required string url = 3;
  }

  message Screenshot {
    required bool primary = 1 [default = false];
    required Image source_image = 2;
    repeated Image thumbnail = 3;
  }

  repeated Screenshot screenshot = 1;
}

/* =================================== */
message Languages {
  message Language {
    required string locale = 1;
    required int32 completion = 2 [default = 0];
  }

  repeated Language language = 1;
}

Define most field types we want for the DB as Protobuf messages


import "uav_system_config.proto";

message OnboardSystemHandlerConfig {
  required UAVSystemConfig uav_system_config = 1;
  required string uav_parser_type = 2;
  optional int32 uav_parser_load_timeout = 3 [ default = 5 ];
  optional int32 uav_controller_timer_duration = 4 [ default = 20 ]; // millis
  optional int32 state_machine_timer_duration = 5 [ default = 20 ];  // millis
}

import "uav_system_config.proto";

message OnboardSystemHandlerConfig {
  required UAVSystemConfig uav_system_config = 1;
  required string uav_parser_type = 2;
  optional int32 uav_controller_timer_duration = 3 [ default = 20 ]; // millis
  optional int32 state_machine_timer_duration = 4 [ default = 20 ];  // millis
}

Remove parser timeout config param

Remove parser timeout config param


/*
 * Copyright (c) 2014 Juniper Networks, Inc. All rights reserved.
 */

import "google/protobuf/descriptor.proto";

message SelfDescribingMessage {
  // Timestamp
  required uint64 timestamp = 1;

  // Set of .proto files which define the type.
  required google.protobuf.FileDescriptorSet proto_files = 2;

  // Name of the message type.  Must be defined by one of the files in
  // proto_files.
  required string type_name = 3;

  // The message data.
  required bytes message_data = 4;
}

/*
 * Copyright (c) 2014 Juniper Networks, Inc. All rights reserved.
 */

import "google/protobuf/descriptor.proto";

message SelfDescribingMessage {
  // Timestamp
  required uint64 timestamp = 1;

  // Set of .proto files which define the type.
  optional google.protobuf.FileDescriptorSet proto_files = 2;

  // Name of the message type.  Must be defined by one of the files in
  // proto_files.
  required string type_name = 3;

  // The message data.
  required bytes message_data = 4;
}

Change FileDescriptorSet to be an optional field in self describing
message proto file to accomodate any future plans to send schemas
separately from the protobuf messages.

Change-Id: I4a2b96585b20102a850503cc23ed0a354bbb2771


// RPC interface for vtworker.
// The interface is very similar to the vtctld interface (see vtctlservice.proto).

syntax = "proto3";

package vtworkerservice;

import "vtworkerdata.proto";

// Service Vtworker contains the vtworker RPC calls.
service Vtworker {
  rpc ExecuteVtworkerCommand (vtworkerdata.ExecuteVtworkerCommandRequest) returns (stream vtworkerdata.ExecuteVtworkerCommandResponse) {};
}

// RPC interface for vtworker.
// The interface is very similar to the vtctld interface (see vtctlservice.proto).

syntax = "proto3";

package vtworkerservice;

import "vtworkerdata.proto";

// Service Vtworker contains the vtworker RPC calls.
service Vtworker {
  // ExecuteVtworkerCommand allows to run a vtworker command by specifying the
  // same arguments as on the command line.
  rpc ExecuteVtworkerCommand (vtworkerdata.ExecuteVtworkerCommandRequest) returns (stream vtworkerdata.ExecuteVtworkerCommandResponse) {};
}

Add comment to RPC proto definition.

vtworker: Add comment to RPC proto definition.


syntax = "proto2";

import "rustproto.proto";

option (rustproto.carllerche_bytes_for_bytes_all) = true;
option (rustproto.carllerche_bytes_for_string_all) = true;

message TestCarllercheBytes {
    optional bytes b1 = 1;
    optional string s1 = 2;
    repeated bytes br = 3;
    repeated string sr = 4;
}

syntax = "proto2";

import "rustproto.proto";

option (rustproto.carllerche_bytes_for_bytes_all) = true;
option (rustproto.carllerche_bytes_for_string_all) = true;
option (rustproto.generate_accessors_all) = true;

message TestCarllercheBytes {
    optional bytes b1 = 1;
    optional string s1 = 2;
    repeated bytes br = 3;
    repeated string sr = 4;
}

Test test compilation when `with-bytes` feature enabled


package events;

import "heartbeat.proto";
import "http.proto";
import "log.proto";
import "metric.proto";
import "error.proto";

/// Envelope wraps an Event and adds metadata.
message Envelope {
    /// Type of the wrapped event.
    enum EventType {
        Heartbeat = 1;
        HttpStart = 2;
        HttpStop = 3;
        HttpStartStop = 4;
        LogMessage = 5;
        ValueMetric = 6;
        CounterEvent = 7;
        Error = 8;
        ContainerMetric = 9;
    }

    required string origin = 1;               /// Unique description of the origin of this event.
    required EventType eventType = 2;         /// Type of wrapped event. Only the optional field corresponding to the value of eventType should be set.

    optional int64 timestamp = 6;             /// UNIX timestamp (in nanoseconds) event was wrapped in this Envelope.

    optional Heartbeat heartbeat = 3;
    optional HttpStart httpStart = 4;
    optional HttpStop httpStop = 5;
    optional HttpStartStop httpStartStop = 7;
    optional LogMessage logMessage = 8;
    optional ValueMetric valueMetric = 9;
    optional CounterEvent counterEvent = 10;
    optional Error error = 11;
    optional ContainerMetric containerMetric = 12;

    repeated Tag tags = 13;                    /// Optional list of key-value pairs. Should hold meta/descriptive information about the event contained in this envelope, not metric data itself.
}

/// Tag holds a key-value pair
message Tag {
    required string key = 1;
    required string value = 2;
}

package events;

import "heartbeat.proto";
import "http.proto";
import "log.proto";
import "metric.proto";
import "error.proto";

/// Envelope wraps an Event and adds metadata.
message Envelope {
    /// Type of the wrapped event.
    enum EventType {
        Heartbeat = 1;
        HttpStart = 2;
        HttpStop = 3;
        HttpStartStop = 4;
        LogMessage = 5;
        ValueMetric = 6;
        CounterEvent = 7;
        Error = 8;
        ContainerMetric = 9;
    }

    required string origin = 1;               /// Unique description of the origin of this event.
    required EventType eventType = 2;         /// Type of wrapped event. Only the optional field corresponding to the value of eventType should be set.

    optional int64 timestamp = 6;             /// UNIX timestamp (in nanoseconds) event was wrapped in this Envelope.

    optional string deployment = 13;          /// Deployment name (used to uniquely identify source).
    optional string job = 14;                 /// Job name (used to uniquely identify source).
    optional string index = 15;               /// Index of job (used to uniquely identify source).
    optional string ip = 16;                  /// IP address (used to uniquely identify source).

    optional Heartbeat heartbeat = 3;
    optional HttpStart httpStart = 4;
    optional HttpStop httpStop = 5;
    optional HttpStartStop httpStartStop = 7;
    optional LogMessage logMessage = 8;
    optional ValueMetric valueMetric = 9;
    optional CounterEvent counterEvent = 10;
    optional Error error = 11;
    optional ContainerMetric containerMetric = 12;
}

Swap tags for explicit deployment, job, index, ip fields

[#92626928]


// -*- cpy-indent-level: 4; indent-tabs-mode: nil -*-
// ex: set expandtab softtabstop=4 shiftwidth=4:
package aqddnsdomains;

message DNSDomain {
    optional string name = 1;
}

message DNSDomainList {
    repeated DNSDomain dns_domains = 1;
}

// -*- cpy-indent-level: 4; indent-tabs-mode: nil -*-
// ex: set expandtab softtabstop=4 shiftwidth=4:
package aqddnsdomains;

message DNSDomain {
    optional string name = 1;
    optional bool restricted = 2;
}

message DNSDomainList {
    repeated DNSDomain dns_domains = 1;
}

Add restricted attribute to DnsDomain

Add restricted attribute to DnsDomain

Change-Id: I405cbf05e363af2490d5bdc3067dedb7c2b38d0d
Reviewed-by: Priya Joshi <3c6cfa6f57440adfc837c4ad04483313acbc2582@morganstanley.com>


syntax = "proto3";
package POGOProtos.Networking.Envelopes;

import "POGOProtos/Networking/Envelopes/AuthTicket.proto";
import "POGOProtos/Networking/Platform/PlatformRequestType.proto";

message ResponseEnvelope {
	StatusCode status_code = 1;
	uint64 request_id = 2;
	string api_url = 3;

	repeated PlatformResponse platform_returns = 6;
	.POGOProtos.Networking.Envelopes.AuthTicket auth_ticket = 7;

	repeated bytes returns = 100;
	string error = 101;

	message PlatformResponse {
		.POGOProtos.Networking.Platform.PlatformRequestType type = 1;
		bytes response = 2;
	}

	enum StatusCode {
		UNKNOWN = 0;
		OK = 1; // valid response with no api url
		OK_RPC_URL_IN_RESPONSE = 2; // the response envelope has api_url set and this response is valid
		INVALID = 3; // bad request
		INVALID_REQUEST = 51; // using unimplemented request or corrupt request
		INVALID_PLATFORM_REQUEST = 52; // invalid platform request or corrupt platform request
		REDIRECT = 53; // a new rpc endpoint is available and you should redirect to there
		SESSION_INVALIDATED = 100; // occurs when you send blank authinfo, or sending nonsense timings (ie LocationFix.timestampSnapshot == Signature.timestampSinceStart)
		INVALID_AUTH_TOKEN = 102; // occurs when the login token is invalid
    }
}

syntax = "proto3";
package POGOProtos.Networking.Envelopes;

import "POGOProtos/Networking/Envelopes/AuthTicket.proto";
import "POGOProtos/Networking/Platform/PlatformRequestType.proto";

message ResponseEnvelope {
	StatusCode status_code = 1;
	uint64 request_id = 2;
	string api_url = 3;

	repeated PlatformResponse platform_returns = 6;
	.POGOProtos.Networking.Envelopes.AuthTicket auth_ticket = 7;

	repeated bytes returns = 100;
	string error = 101;

	message PlatformResponse {
		.POGOProtos.Networking.Platform.PlatformRequestType type = 1;
		bytes response = 2;
	}

	enum StatusCode {
		UNKNOWN = 0;
		OK = 1; // valid response with no api url
		OK_RPC_URL_IN_RESPONSE = 2; // the response envelope has api_url set and this response is valid
		BAD_REQUEST = 3; // bad request
		INVALID_REQUEST = 51; // using unimplemented request or corrupt request
		INVALID_PLATFORM_REQUEST = 52; // invalid platform request or corrupt platform request
		REDIRECT = 53; // a new rpc endpoint is available and you should redirect to there
		SESSION_INVALIDATED = 100; // occurs when you send blank authinfo, or sending nonsense timings (ie LocationFix.timestampSnapshot == Signature.timestampSinceStart)
		INVALID_AUTH_TOKEN = 102; // occurs when the login token is invalid
    }
}

Rename INVALID status code to BAD_REQUEST


syntax = "proto3";

package spine.test.bus.stock;

import "spine/options.proto";

option (type_url_prefix) = "type.spine.io";
option java_package = "io.spine.test.bus";
option java_outer_classname = "StockProto";
option java_multiple_files = true;

message ShareId {
    string value = 1;
}

message Share {
    option (entity).kind = AGGREGATE;

    ShareId id = 1;

    Price price = 2;
}

message Price {

    float usd = 2 [(digits).fraction_max = 2];
}

syntax = "proto3";

package spine.test.bus.stock;

import "spine/options.proto";

option (type_url_prefix) = "type.spine.io";
option java_package = "io.spine.test.bus";
option java_outer_classname = "StockProto";
option java_multiple_files = true;

message ShareId {
    string value = 1;
}

message Share {
    option (entity).kind = AGGREGATE;

    ShareId id = 1;

    Price price = 2;
}

message Price {

    float usd = 2;
}

Remove outdated proto option usage

Remove outdated proto option usage


package metadata_info;

message MetadataInfo
{
    optional metadata metadata = 1;
    optional string metadataMergeInfo = 2;
}

message Metadata
{
    optional string modelVersion = 1;
    required string groupId = 2;
    required string artifactId = 3;
    required string version = 4;
    optional Versioning versioning = 5;
    repeated Plugin plugins = 6;
    optional string modelEncoding = 7;
}

message Versioning
{
    optional string latest = 1;
    optional string release = 2;
    optional Snapshot snapshot = 3;
    repeated string versions = 4;
    optional string lastUpdated = 5;
    repeated SnapshotVersion snapshotVersions = 6;
}

message Plugin
{
    optional string artifactId = 1;
    optional string name = 2;
    optional string prefix = 3;
}

message Snapshot
{
    optional string timestamp = 1;
    optional int32 buildNumber = 2;
    optional bool localCopy = 3;
}

message SnapshotVersion
{
    optional string classifier = 1;
    optional string extension = 2;
    optional string version = 3;
    optional string updated = 4;
}

package metadata_info;

message MetadataInfo
{
    optional Metadata metadata = 1;
    optional string metadataMergeInfo = 2;
}

message Metadata
{
    optional string modelVersion = 1;
    required string groupId = 2;
    required string artifactId = 3;
    required string version = 4;
    optional Versioning versioning = 5;
    repeated Plugin plugins = 6;
    optional string modelEncoding = 7;
}

message Versioning
{
    optional string latest = 1;
    optional string release = 2;
    optional Snapshot snapshot = 3;
    repeated string versions = 4;
    optional string lastUpdated = 5;
    repeated SnapshotVersion snapshotVersions = 6;
}

message Plugin
{
    optional string artifactId = 1;
    optional string name = 2;
    optional string prefix = 3;
}

message Snapshot
{
    optional string timestamp = 1;
    optional int32 buildNumber = 2;
    optional bool localCopy = 3;
}

message SnapshotVersion
{
    optional string classifier = 1;
    optional string extension = 2;
    optional string version = 3;
    optional string updated = 4;
}

Fix the type in .proto

Fix the type in .proto


/*
 * Copyright 2019, TeamDev. All rights reserved.
 *
 * Redistribution and use in source and/or binary forms, with or without
 * modification, must retain the above copyright notice and the following
 * disclaimer.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
syntax = "proto3";

package spine.tools.protoc.iface;

import "spine/options.proto";

option (type_url_prefix) = "type.spine.io";
option java_multiple_files = true;
option java_outer_classname = "EntityStatesProto";
option java_package = "io.spine.tools.protoc.iface";

message ProtocProject {
    option (entity).kind = PROJECTION;

    ProtocProjectId id = 1;
}

message ProtocProjectId {
    string uuid = 1;
}

message ProtocTask {
    option (entity) = {};

    string id = 1;
}

Delete a redundant empty line

Delete a redundant empty line


syntax = "proto3";
package zigbeealliance.distributedcomplianceledger.dclauth;

option go_package = "github.com/zigbee-alliance/distributed-compliance-ledger/x/dclauth/types";

import "gogoproto/gogo.proto";
import "dclauth/account.proto";
import "dclauth/grant.proto";

message RevokedAccount {
  Account account = 1 [(gogoproto.embed) = true];
  repeated Grant revokeApprovals = 2;
}

syntax = "proto3";
package zigbeealliance.distributedcomplianceledger.dclauth;

option go_package = "github.com/zigbee-alliance/distributed-compliance-ledger/x/dclauth/types";

import "gogoproto/gogo.proto";
import "dclauth/account.proto";
import "dclauth/grant.proto";
import "cosmos_proto/cosmos.proto";

message RevokedAccount {
  Account account = 1 [(gogoproto.embed) = true];
  repeated Grant revokeApprovals = 2;
  string revokedReason = 3 [(cosmos_proto.scalar) = "cosmos.AddressString"];
}

Add a new field revokedReason for RevokedAccount


// Copyright 2020 The Measurement System Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package wfa.measurement.internal.kingdom;

option java_package = "org.wfanet.measurement.internal.kingdom";
option java_multiple_files = true;

message ReportDetails {
  repeated string confirmed_duchies = 1;
  repeated string unconfirmed_duchies = 2;
}

// Copyright 2020 The Measurement System Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package wfa.measurement.internal.kingdom;

option java_package = "org.wfanet.measurement.internal.kingdom";
option java_multiple_files = true;

message ReportDetails {
  // Before a Report can be started, each Duchy involved needs to confirm its
  // readiness. This holds the list of Duchies that are ready.
  repeated string confirmed_duchies = 1;
}

Document and fix up ReportDetails proto fields

Change-Id: I7a3cf7b33c3200e4fa2204bf6468159289f07878


// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Protocol buffer definitions for Drive backend of Syncable FileSystem.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package sync_file_system.drive_backend;

enum FileKind {
  KIND_UNSUPPORTED = 0;
  KIND_FILE = 1;
  KIND_FOLDER = 2;
}

message ServiceMetadata {
  optional int64 largest_change_id = 1;
  optional string sync_root_folder_id = 2;
}

// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Protocol buffer definitions for Drive backend of Syncable FileSystem.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package sync_file_system.drive_backend;

enum FileKind {
  KIND_UNSUPPORTED = 0;
  KIND_FILE = 1;
  KIND_FOLDER = 2;
}

message ServiceMetadata {
  optional int64 largest_change_id = 1;
  optional int64 sync_root_tracker_id = 2;

  // The sequence number of FileTrackers. Must be positive.
  optional int64 next_tracker_id = 3;
}

// Holds details of file/folder metadata.
message FileDetails {
  repeated string parent_folder_ids = 1;

  optional string title = 2;
  optional FileKind kind = 3;
  optional string md5 = 4;
  optional string etag = 5;

  // Creation time and modification time of the resource.
  // Serialized by Time::ToInternalValue.
  optional int64 creation_time = 6;
  optional int64 modification_time = 7;

  optional bool deleted = 8;
  optional int64 change_id = 9;
}

// Represents a server-side file.
message FileMetadata {
  // File ID of the remote file/folder which the FileMetadata represents.
  required string file_id = 1;

  optional FileDetails details = 2;
}

// Represents synced local file.
message FileTracker {
  // A unique sequence number to identify the tracker. Must be positive.
  required int64 tracker_id = 1;

  // Points the parent tracker in the tracker tree.  0 if there's no parent.
  required int64 parent_tracker_id = 2;

  required string file_id = 3;

  optional string app_id = 4;
  optional bool is_app_root = 5;

  optional FileDetails synced_details = 6;

  // True if the file is changed since the last update for this file.
  optional bool dirty = 7;

  // True if the FileTracker is active.
  // Remote file modification should only be applied to active trackers.
  // Active FileTracker must have a unique title under its parent.
  optional bool active = 8;

  // Valid only for folders.
  // True if the folder contents have not yet been fetched.
  optional bool needs_folder_listing = 9;
}

[SyncFS] Add FileMetadata and FileTracker for MetadataDatabase

BUG=240165

Review URL: https://chromiumcodereview.appspot.com/22369003

git-svn-id: de016e52bd170d2d4f2344f9bf92d50478b649e0@215875 0039d316-1c4b-4281-b951-d872f2087c98


syntax = "proto3";

package tensorflow.distributed_runtime;

option cc_enable_arenas = true;

// Used to serialize and transmit tensorflow::Status payloads through
// grpc::Status `error_details` since grpc::Status lacks payload API.
// TODO(b/204231601): Use GRPC API once supported.
message GrpcPayloadContainer {
  map<string, string> payloads = 1;
}

// If included as a payload, this message flags the Status to have lost payloads
// during the GRPC transmission.
// URI: "type.googleapis.com/tensorflow.distributed_runtime.GrpcPayloadsLost"
message GrpcPayloadsLost {}

// If included as a payload, this message flags the Status to be a possible
// outcome of a worker restart.
// URI:
// "type.googleapis.com/tensorflow.distributed_runtime.WorkerPossiblyRestarted"
message WorkerPossiblyRestarted {}

syntax = "proto3";

package tensorflow.distributed_runtime;

option cc_enable_arenas = true;
option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto";

// Used to serialize and transmit tensorflow::Status payloads through
// grpc::Status `error_details` since grpc::Status lacks payload API.
// TODO(b/204231601): Use GRPC API once supported.
message GrpcPayloadContainer {
  map<string, string> payloads = 1;
}

// If included as a payload, this message flags the Status to have lost payloads
// during the GRPC transmission.
// URI: "type.googleapis.com/tensorflow.distributed_runtime.GrpcPayloadsLost"
message GrpcPayloadsLost {}

// If included as a payload, this message flags the Status to be a possible
// outcome of a worker restart.
// URI:
// "type.googleapis.com/tensorflow.distributed_runtime.WorkerPossiblyRestarted"
message WorkerPossiblyRestarted {}

Declare import path in distributed runtime payloads proto


// Copyright 2020 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package google.events;

import "google/protobuf/descriptor.proto";

option csharp_namespace = "Google.Events.Protobuf";

extend google.protobuf.MessageOptions {
  // The CloudEvent type (e.g. "google.cloud.storage.object.v1.finalized")
  // that relates to this message.
  string cloud_event_type = 311716486;
}

// Copyright 2020 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package google.events;

import "google/protobuf/descriptor.proto";

option csharp_namespace = "Google.Events.Protobuf";

extend google.protobuf.MessageOptions {
  // The CloudEvent type (e.g. "google.cloud.storage.object.v1.finalized")
  // that relates to this message.
  string cloud_event_type = 11716486;
}

Use a smaller extension field number for the cloud_event_type

While the field number here *should* be valid, it at least causes
problems in C#. I'll investigate whether this is a Google.Protobuf bug
separately, but it does no harm to use a smaller number here.


package amber;
option java_package = "pl.edu.agh.amber.common.proto";
option java_outer_classname = "CommonProto";

option optimize_for = SPEED;

enum DeviceType {
    NINEDOF = 1;
    ROBOCLAW = 2;
    STARGAZER = 3;
    HOKUYO = 4;
    DUMMY = 5;
    LOCATION = 6;
    MAESTRO = 7;
    DRIVE_TO_POINT = 8;
    COLLISION_AVOIDANCE = 9;
}

message DriverHdr {
    optional int32 deviceType = 1;
    optional int32 deviceID = 2;
    repeated int32 clientIDs = 3 [packed = true];
}

message DriverMsg {
    enum MsgType {
        DATA = 1;
        PING = 2;
        PONG = 3;
        CLIENT_DIED = 4;
        DRIVER_DIED = 5;
        SUBSCRIBE = 6;
        UNSUBSCRIBE = 7;
    }

    required MsgType type = 2;
    optional uint32 synNum = 3;
    optional uint32 ackNum = 4;
    optional uint32 listenerNum = 5;
    extensions 10 to 99;
}

package amber;
option java_package = "pl.edu.agh.amber.common.proto";
option java_outer_classname = "CommonProto";

option optimize_for = SPEED;

enum DeviceType {
    NINEDOF = 1;
    ROBOCLAW = 2;
    STARGAZER = 3;
    HOKUYO = 4;
    DUMMY = 5;
    LOCATION = 6;
    MAESTRO = 7;
    DRIVE_TO_POINT = 8;
    COLLISION_AVOIDANCE = 9;
    PID_FOLLOW_TRAJECTORY = 10;
}

message DriverHdr {
    optional int32 deviceType = 1;
    optional int32 deviceID = 2;
    repeated int32 clientIDs = 3 [packed = true];
}

message DriverMsg {
    enum MsgType {
        DATA = 1;
        PING = 2;
        PONG = 3;
        CLIENT_DIED = 4;
        DRIVER_DIED = 5;
        SUBSCRIBE = 6;
        UNSUBSCRIBE = 7;
    }

    required MsgType type = 2;
    optional uint32 synNum = 3;
    optional uint32 ackNum = 4;
    optional uint32 listenerNum = 5;
    extensions 10 to 199;
}

Extend number of extenstions to 199, add PID follow trajectory driver


// -*- cpy-indent-level: 4; indent-tabs-mode: nil -*-
// ex: set expandtab softtabstop=4 shiftwidth=4:
package aqdnetworks;

import "aqdsystems.proto";
import "aqdlocations.proto";

message DynamicRange {
    optional string start = 1;
    optional string end = 2;
}

message Network {
    optional string name = 1;
    optional string ip = 2;
    optional int32 cidr = 3;
    optional string bcast = 4;
    optional string netmask = 5;
    optional string side = 6;
    optional string sysloc = 7;
    optional aqdlocations.Location location = 8;
    repeated aqdsystems.Host hosts = 9;
    optional int32 id = 10 [deprecated=true];
    optional string type = 11;
    optional bool discoverable = 12 [deprecated=true];
    optional bool discovered = 13 [deprecated=true];
    optional string env_name = 14;
    repeated DynamicRange dynamic_ranges = 15;
    repeated string routers = 16;
    optional string compartment = 17;
    optional aqdsystems.NetworkEnvironment network_environment = 18;
    // Note: network_environment.name == env_name
}

message NetworkList {
    repeated Network networks = 1;
}

message NetworkCompartment {
    required string name = 1;
}

message NetworkCompartmentList {
    repeated NetworkCompartment compartments = 1;
}

// -*- cpy-indent-level: 4; indent-tabs-mode: nil -*-
// ex: set expandtab softtabstop=4 shiftwidth=4:
package aqdnetworks;

import "aqdsystems.proto";
import "aqdlocations.proto";

message DynamicRange {
    optional string start = 1;
    optional string end = 2;
    optional string range_class = 3;
}

message Network {
    optional string name = 1;
    optional string ip = 2;
    optional int32 cidr = 3;
    optional string bcast = 4;
    optional string netmask = 5;
    optional string side = 6;
    optional string sysloc = 7;
    optional aqdlocations.Location location = 8;
    repeated aqdsystems.Host hosts = 9;
    optional int32 id = 10 [deprecated=true];
    optional string type = 11;
    optional bool discoverable = 12 [deprecated=true];
    optional bool discovered = 13 [deprecated=true];
    optional string env_name = 14;
    repeated DynamicRange dynamic_ranges = 15;
    repeated string routers = 16;
    optional string compartment = 17;
    optional aqdsystems.NetworkEnvironment network_environment = 18;
    // Note: network_environment.name == env_name
}

message NetworkList {
    repeated Network networks = 1;
}

message NetworkCompartment {
    required string name = 1;
}

message NetworkCompartmentList {
    repeated NetworkCompartment compartments = 1;
}

Add range_class option to dynamic ranges

Dynamic ranges should have a range_class option to describe what
the dynamic range will be used for. This has been added for
fully-automated-build purposes.

Addresses-Issue: Jira/AQUILON-4586


/*
 *  Copyright 2017 Google Inc. All Rights Reserved.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

syntax = "proto2";

package goosci;
option java_package = "com.google.android.apps.forscience.whistlepunk.metadata";
option java_outer_classname = "GoosciCaption";
option objc_class_prefix = "GSJ";
option optimize_for = LITE_RUNTIME;

// A user-added caption. This can be applied to trials and labels.
message Caption {
    optional string text = 1;

    optional string lastEditedTimestamp = 2;
}

/*
 *  Copyright 2017 Google Inc. All Rights Reserved.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

syntax = "proto2";

package goosci;
option java_package = "com.google.android.apps.forscience.whistlepunk.metadata";
option java_outer_classname = "GoosciCaption";
option objc_class_prefix = "GSJ";
option optimize_for = LITE_RUNTIME;

// A user-added caption. This can be applied to trials and labels.
message Caption {
    optional string text = 1;

    optional int64 lastEditedTimestamp = 2;
}

Fix proto timestamp: should be long, not string.

Change-Id: Id26771074ef589fa9d936644e9690cfb0721c98b


// To regenerate api.pb.go run `make proto`
syntax = "proto3";

package cri.runtimeoptions.v1;

import "github.com/gogo/protobuf/gogoproto/gogo.proto";

option (gogoproto.goproto_stringer_all) = false;
option (gogoproto.stringer_all) =  true;
option (gogoproto.goproto_getters_all) = true;
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (gogoproto.goproto_unrecognized_all) = false;

message Options {
  // TypeUrl specifies the type of the content inside the config file.
  string type_url = 1;
  // ConfigPath specifies the filesystem location of the config file
  // used by the runtime.
  string config_path = 2;
}

Use tabs in protofile indentation

Use tabs in protofile indentation

This is enforced as part of containerd's fmt checks

Signed-off-by: Derek McGowan <e1c79a582b6629e6b39e9679f4bb964d25db4aa8@mcg.dev>


syntax = "proto3";

package org.langmeta.internal.semanticdb.schema;

message TextDocuments {
  repeated TextDocument documents = 1;
}

message TextDocument {
  reserved 1;
  reserved 5;
  string format = 10;
  string uri = 9;
  string text = 8;
  string language = 7;
  repeated SymbolInformation symbols = 4;
  repeated SymbolOccurrence occurrences = 2;
  repeated Diagnostic diagnostics = 3;
  repeated Synthetic synthetics = 6;
}

message SymbolInformation {
  string symbol = 1;
  Denotation denotation = 2;
}

message Denotation {
  int64 flags = 1;
  string name = 2;
  string signature = 3;
  repeated SymbolOccurrence occurrences = 4;
  repeated string members = 5;
  repeated string overrides = 6;
}

message SymbolOccurrence {
  Position position = 1;
  string symbol = 2;
  bool is_definition = 3;
}

message Position {
  int32 start = 2;
  int32 end = 3;
}

message Diagnostic {
  enum Severity {
    UNKNOWN = 0;
    INFO = 1;
    WARNING = 2;
    ERROR = 3;
  }
  Position position = 1;
  Severity severity = 2;
  string text = 3;
}

message Synthetic {
  Position pos = 1;
  string text = 2;
  repeated SymbolOccurrence occurrences = 3;
}

syntax = "proto3";

package org.langmeta.internal.semanticdb.schema;

message TextDocuments {
  repeated TextDocument documents = 1;
}

message TextDocument {
  reserved 1;
  reserved 5;
  string format = 10;
  string uri = 9;
  string text = 8;
  string language = 7;
  repeated SymbolInformation symbols = 4;
  repeated SymbolOccurrence occurrences = 2;
  repeated Diagnostic diagnostics = 3;
  repeated Synthetic synthetics = 6;
}

message Position {
  int32 start = 2;
  int32 end = 3;
}

message SymbolInformation {
  string symbol = 1;
  Denotation denotation = 2;
}

message Denotation {
  int64 flags = 1;
  string name = 2;
  string signature = 3;
  repeated SymbolOccurrence occurrences = 4;
  repeated string members = 5;
  repeated string overrides = 6;
}

message SymbolOccurrence {
  Position position = 1;
  string symbol = 2;
  bool is_definition = 3;
}

message Diagnostic {
  enum Severity {
    UNKNOWN = 0;
    INFO = 1;
    WARNING = 2;
    ERROR = 3;
  }
  Position position = 1;
  Severity severity = 2;
  string text = 3;
}

message Synthetic {
  Position pos = 1;
  string text = 2;
  repeated SymbolOccurrence occurrences = 3;
}

Move s.Position to be directly under s.TextDocument


syntax = "proto3";

package bazil.db;

option go_package = "wire";

import "bazil.org/bazil/cas/wire/manifest.proto";

message Dirent {
  uint64 inode = 1;
  oneof type {
    File file = 2;
    Dir dir = 3;
  }

  // TODO executable, xattr, acl
  // TODO mtime
  // TODO vector clocks
}

message File {
  bazil.cas.Manifest manifest = 1;
}

// Dir is a directory stored fully in the database, not persisted
// in objects.
message Dir {
}

syntax = "proto3";

package bazil.db;

option go_package = "wire";

import "bazil.org/bazil/cas/wire/manifest.proto";

message Dirent {
  uint64 inode = 1;
  oneof type {
    File file = 2;
    Dir dir = 3;
  }

  // TODO executable, xattr, acl
  // TODO mtime
}

message File {
  bazil.cas.Manifest manifest = 1;
}

// Dir is a directory stored fully in the database, not persisted
// in objects.
message Dir {
}

fs/wire: Remove TODO note, logical clocks are now implemented


message ColorProto
{
  required int32 color = 1;
  optional uint8 opacity = 2;  // opacity : 0 - completly invisible, 255 - completly visible
}

message DashDotProto
{
  repeated double dd = 1;
}

message LineRuleProto
{
  required double width = 1;
  required ColorProto color = 2;
  optional DashDotProto dashdot = 4;
}

message AreaRuleProto
{
  required ColorProto color = 1;
  optional LineRuleProto border = 3;
}

message SymbolRuleProto
{
  required string name = 1;
}

message CaptionRuleProto
{
  required int32 height = 1;
  optional ColorProto color = 2;
  optional ColorProto stroke_color = 3;
}

message CircleRuleProto
{
  required double rad = 1;
  required ColorProto color = 2;
  optional LineRuleProto border = 3;
}

// PathTextRule is same as CaptionRule

// WayMarkerRule not used yet

// Describe containers.

message DrawElementProto
{
  required int8 scale = 1;
  optional repeated LineRuleProto lines = 2;
  optional AreaRuleProto area = 3;
  optional SymbolRuleProto = 4;
  optional CaptionRuleProto = 5;
  optional CircleRuleProto = 6;
}

message ClassifElementProto
{
  required string name = 1;
  repeated DrawElementProto lines = 2;
}

message ContainerProto
{
  repeated ClassifElementProto cont = 1;
}

Add drawing rules container definition.

Add drawing rules container definition.


// Copyright 2018 The Hypebot Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";

package hypebot;

message Channel {
  // The unique name of the target. For IRC, the channel or username. For
  // Hangouts Chat, the Space name. This is intended to be the replacement for
  // everything that currently uses target as a string.
  string id = 1;

  enum Visibility {
    PUBLIC = 0;
    PRIVATE = 1;
  }

  // Indicates who can see messages sent to the channel. Certain behavior (spam)
  // is only acceptable in private channels.
  Visibility visibility = 2;

  // Human readable name for the room. Make it easier to talk about Hangout
  // rooms instead of using gibberish.
  string name = 3;
}

// Copyright 2018 The Hypebot Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";

package hypebot;

message Channel {
  // The unique name of the target. For IRC, the channel or username. For
  // Hangouts Chat, the Space name. This is intended to be the replacement for
  // everything that currently uses target as a string. Note that some chat
  // systems may have case-sensitive identifiers, so this field should not have
  // case changing operations applied to it.
  string id = 1;

  enum Visibility {
    PUBLIC = 0;
    PRIVATE = 1;
  }

  // Indicates who can see messages sent to the channel. Certain behavior (spam)
  // is only acceptable in private channels.
  Visibility visibility = 2;

  // Human readable name for the room. Make it easier to talk about Hangout
  // rooms instead of using gibberish.
  string name = 3;
}

Clarify some semantics of Channel.id.

Clarify some semantics of Channel.id.

PiperOrigin-RevId: 265964814