1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package feedwire;
import "components/feed/core/proto/v2/wire/action_diagnostic_info.proto";
import "components/feed/core/proto/v2/wire/action_surface.proto";
import "components/feed/core/proto/v2/wire/code.proto";
import "components/feed/core/proto/v2/wire/consistency_token.proto";
import "components/feed/core/proto/v2/wire/data_operation.proto";
import "components/feed/core/proto/v2/wire/error_details.proto";
import "components/feed/core/proto/v2/wire/feed_action.proto";
import "components/feed/core/proto/v2/wire/feed_request.proto";
import "components/feed/core/proto/v2/wire/feed_response.proto";
import "components/feed/core/proto/v2/wire/timestamp.proto";
import "components/feed/core/proto/v2/wire/token.proto";
option optimize_for = LITE_RUNTIME;
enum VisibilitySignal {
VISIBILITY_SIGNAL_UNSPECIFIED = 0;
VISIBLE = 1;
HIDDEN = 2;
}
message FullRefreshRequest {}
message InitialView {
int32 stream_index = 1;
FeedAction feed_actions = 2;
VisibilitySignal visibility_signal = 3;
}
message FeedVisibilityChange {
ActionSurface action_surface = 1;
VisibilitySignal visibility_signal = 2;
Timestamp event_time = 3;
}
message ClientAction {
oneof client_action_payload {
FullRefreshRequest full_refresh_request = 1;
InitialView initial_view = 2;
FeedVisibilityChange feed_visibility_change = 3;
}
}
message ActionsPayload {
repeated FeedAction feed_actions = 1;
repeated ClientAction client_actions = 3;
string id = 2;
ActionDiagnosticInfo action_diagnostic_info = 4;
}
message InitializationPayload {
enum SessionType {
SESSION_TYPE_UNSPECIFIED = 0;
BACKGROUND = 1;
INTERACTIVE = 2;
}
optional FeedRequest feed_request = 1;
optional Token token = 2;
optional SessionType session_type = 4;
}
message StreamingTokenUpdatePayload {
optional Token token = 1;
}
message InitializationAckPayload {}
message DataOperationPayload {
repeated DataOperation data_operations = 1;
}
message ResponseStatus {
optional Code response_code = 1;
optional ErrorInfo response_error_info = 2;
}
message NewFeedPayload {
FeedResponse feed_response = 1;
optional ResponseStatus status = 2;
}
message ActionsPayloadAck {
string processed_id = 1;
optional ResponseStatus status = 3;
}
message ClientStreamingMessage {
oneof payload {
InitializationPayload initialization_payload = 3;
StreamingTokenUpdatePayload streaming_token_update_payload = 4;
}
optional ActionsPayload actions_payload = 1;
}
message ServerStreamingMessage {
oneof payload {
InitializationAckPayload initialization_ack_payload = 4;
DataOperationPayload data_operation_payload = 1;
NewFeedPayload new_feed_payload = 5;
ActionsPayloadAck actions_payload_ack = 3;
}
optional Token token = 6;
optional ConsistencyToken consistency_token = 7;
}
|