UNPKG

@ydbjs/api

Version:

TypeScript gRPC service definitions and protobuf types for all YDB APIs. Enables strongly-typed client generation and low-level protocol access.

1,306 lines 123 kB
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; import type { Operation, OperationParams } from "./ydb_operation_pb.js"; import type { Entry } from "./ydb_scheme_pb.js"; import type { StatusIds_StatusCode } from "./ydb_status_codes_pb.js"; import type { IssueMessage } from "./ydb_issue_message_pb.js"; import type { Duration } from "../google/protobuf/duration_pb.js"; import type { Timestamp } from "../google/protobuf/timestamp_pb.js"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file protos/ydb_topic.proto. */ export declare const file_protos_ydb_topic: GenFile; /** * Description of supported codecs. * * @generated from message Ydb.Topic.SupportedCodecs */ export type SupportedCodecs = Message<"Ydb.Topic.SupportedCodecs"> & { /** * List of supported codecs. * See enum Codec above for values. * * @generated from field: repeated int32 codecs = 1; */ codecs: number[]; }; /** * Describes the message Ydb.Topic.SupportedCodecs. * Use `create(SupportedCodecsSchema)` to create a new message. */ export declare const SupportedCodecsSchema: GenMessage<SupportedCodecs>; /** * Represents range [start, end). * I.e. (end - 1) is the greatest of offsets, included in non-empty range. * * @generated from message Ydb.Topic.OffsetsRange */ export type OffsetsRange = Message<"Ydb.Topic.OffsetsRange"> & { /** * @generated from field: int64 start = 1; */ start: bigint; /** * @generated from field: int64 end = 2; */ end: bigint; }; /** * Describes the message Ydb.Topic.OffsetsRange. * Use `create(OffsetsRangeSchema)` to create a new message. */ export declare const OffsetsRangeSchema: GenMessage<OffsetsRange>; /** * In-session reauthentication and reauthorization, lets user increase session lifetime. * Client should wait for UpdateTokenResponse before sending next UpdateTokenRequest. * * @generated from message Ydb.Topic.UpdateTokenRequest */ export type UpdateTokenRequest = Message<"Ydb.Topic.UpdateTokenRequest"> & { /** * @generated from field: string token = 1; */ token: string; }; /** * Describes the message Ydb.Topic.UpdateTokenRequest. * Use `create(UpdateTokenRequestSchema)` to create a new message. */ export declare const UpdateTokenRequestSchema: GenMessage<UpdateTokenRequest>; /** * @generated from message Ydb.Topic.UpdateTokenResponse */ export type UpdateTokenResponse = Message<"Ydb.Topic.UpdateTokenResponse"> & {}; /** * Describes the message Ydb.Topic.UpdateTokenResponse. * Use `create(UpdateTokenResponseSchema)` to create a new message. */ export declare const UpdateTokenResponseSchema: GenMessage<UpdateTokenResponse>; /** * @generated from message Ydb.Topic.PartitionWithGeneration */ export type PartitionWithGeneration = Message<"Ydb.Topic.PartitionWithGeneration"> & { /** * Partition identifier. * * @generated from field: int64 partition_id = 1; */ partitionId: bigint; /** * Partition generation. * * @generated from field: int64 generation = 2; */ generation: bigint; }; /** * Describes the message Ydb.Topic.PartitionWithGeneration. * Use `create(PartitionWithGenerationSchema)` to create a new message. */ export declare const PartitionWithGenerationSchema: GenMessage<PartitionWithGeneration>; /** * @generated from message Ydb.Topic.MetadataItem */ export type MetadataItem = Message<"Ydb.Topic.MetadataItem"> & { /** * @generated from field: string key = 1; */ key: string; /** * @generated from field: bytes value = 2; */ value: Uint8Array; }; /** * Describes the message Ydb.Topic.MetadataItem. * Use `create(MetadataItemSchema)` to create a new message. */ export declare const MetadataItemSchema: GenMessage<MetadataItem>; /** * Messages for bidirectional streaming rpc StreamWrite * * @generated from message Ydb.Topic.StreamWriteMessage */ export type StreamWriteMessage = Message<"Ydb.Topic.StreamWriteMessage"> & {}; /** * Describes the message Ydb.Topic.StreamWriteMessage. * Use `create(StreamWriteMessageSchema)` to create a new message. */ export declare const StreamWriteMessageSchema: GenMessage<StreamWriteMessage>; /** * Client-server message for write session. Contains one of: * InitRequest - handshake request. * WriteRequest - portion of data to be written. * UpdateTokenRequest - user credentials if update is needed. * * @generated from message Ydb.Topic.StreamWriteMessage.FromClient */ export type StreamWriteMessage_FromClient = Message<"Ydb.Topic.StreamWriteMessage.FromClient"> & { /** * @generated from oneof Ydb.Topic.StreamWriteMessage.FromClient.client_message */ clientMessage: { /** * @generated from field: Ydb.Topic.StreamWriteMessage.InitRequest init_request = 1; */ value: StreamWriteMessage_InitRequest; case: "initRequest"; } | { /** * @generated from field: Ydb.Topic.StreamWriteMessage.WriteRequest write_request = 2; */ value: StreamWriteMessage_WriteRequest; case: "writeRequest"; } | { /** * @generated from field: Ydb.Topic.UpdateTokenRequest update_token_request = 3; */ value: UpdateTokenRequest; case: "updateTokenRequest"; } | { case: undefined; value?: undefined; }; }; /** * Describes the message Ydb.Topic.StreamWriteMessage.FromClient. * Use `create(StreamWriteMessage_FromClientSchema)` to create a new message. */ export declare const StreamWriteMessage_FromClientSchema: GenMessage<StreamWriteMessage_FromClient>; /** * Server-client message for write session. Contains either non-success status, or one of: * InitResponse - correct handshake response. * WriteResponse - acknowledgment of storing client messages. * UpdateTokenResponse - acknowledgment of reauthentication and reauthorization. * * @generated from message Ydb.Topic.StreamWriteMessage.FromServer */ export type StreamWriteMessage_FromServer = Message<"Ydb.Topic.StreamWriteMessage.FromServer"> & { /** * Server status of response. * * @generated from field: Ydb.StatusIds.StatusCode status = 1; */ status: StatusIds_StatusCode; /** * Issues if any. * * @generated from field: repeated Ydb.Issue.IssueMessage issues = 2; */ issues: IssueMessage[]; /** * @generated from oneof Ydb.Topic.StreamWriteMessage.FromServer.server_message */ serverMessage: { /** * @generated from field: Ydb.Topic.StreamWriteMessage.InitResponse init_response = 3; */ value: StreamWriteMessage_InitResponse; case: "initResponse"; } | { /** * @generated from field: Ydb.Topic.StreamWriteMessage.WriteResponse write_response = 4; */ value: StreamWriteMessage_WriteResponse; case: "writeResponse"; } | { /** * @generated from field: Ydb.Topic.UpdateTokenResponse update_token_response = 5; */ value: UpdateTokenResponse; case: "updateTokenResponse"; } | { case: undefined; value?: undefined; }; }; /** * Describes the message Ydb.Topic.StreamWriteMessage.FromServer. * Use `create(StreamWriteMessage_FromServerSchema)` to create a new message. */ export declare const StreamWriteMessage_FromServerSchema: GenMessage<StreamWriteMessage_FromServer>; /** * Handshake request that must be sent to server first. * * @generated from message Ydb.Topic.StreamWriteMessage.InitRequest */ export type StreamWriteMessage_InitRequest = Message<"Ydb.Topic.StreamWriteMessage.InitRequest"> & { /** * Full path of topic to write to. * * @generated from field: string path = 1; */ path: string; /** * Producer identifier of client data stream. * Used for message deduplication by sequence numbers. * * @generated from field: string producer_id = 2; */ producerId: string; /** * User metadata attached to this write session. * Reader will get this session meta data with each message read. * * @generated from field: map<string, string> write_session_meta = 3; */ writeSessionMeta: { [key: string]: string; }; /** * Option for setting order on messages. * If neither is set, no guarantees on ordering or partitions to write to. * * @generated from oneof Ydb.Topic.StreamWriteMessage.InitRequest.partitioning */ partitioning: { /** * All messages with given pair (producer_id, message_group_id) go to single partition in order of writes. * * @generated from field: string message_group_id = 4; */ value: string; case: "messageGroupId"; } | { /** * Explicit partition id to write to. * * @generated from field: int64 partition_id = 5; */ value: bigint; case: "partitionId"; } | { /** * Explicit partition location to write to. * * @generated from field: Ydb.Topic.PartitionWithGeneration partition_with_generation = 7; */ value: PartitionWithGeneration; case: "partitionWithGeneration"; } | { case: undefined; value?: undefined; }; /** * Explicitly request for last sequential number * It may be expensive, if producer wrote to many partitions before. * * @generated from field: bool get_last_seq_no = 6; */ getLastSeqNo: boolean; }; /** * Describes the message Ydb.Topic.StreamWriteMessage.InitRequest. * Use `create(StreamWriteMessage_InitRequestSchema)` to create a new message. */ export declare const StreamWriteMessage_InitRequestSchema: GenMessage<StreamWriteMessage_InitRequest>; /** * Response to the handshake. * * @generated from message Ydb.Topic.StreamWriteMessage.InitResponse */ export type StreamWriteMessage_InitResponse = Message<"Ydb.Topic.StreamWriteMessage.InitResponse"> & { /** * Last persisted message's sequence number for this producer. * Zero for new producer. * * @generated from field: int64 last_seq_no = 1; */ lastSeqNo: bigint; /** * Unique identifier of write session. Used for debug purposes. * * @generated from field: string session_id = 2; */ sessionId: string; /** * Identifier of partition that is matched for this write session. * * @generated from field: int64 partition_id = 3; */ partitionId: bigint; /** * Client can only use compression codecs from this set to write messages to topic. * Otherwise session will be closed with BAD_REQUEST. * * @generated from field: Ydb.Topic.SupportedCodecs supported_codecs = 4; */ supportedCodecs?: SupportedCodecs; }; /** * Describes the message Ydb.Topic.StreamWriteMessage.InitResponse. * Use `create(StreamWriteMessage_InitResponseSchema)` to create a new message. */ export declare const StreamWriteMessage_InitResponseSchema: GenMessage<StreamWriteMessage_InitResponse>; /** * Represents portion of client messages. * * @generated from message Ydb.Topic.StreamWriteMessage.WriteRequest */ export type StreamWriteMessage_WriteRequest = Message<"Ydb.Topic.StreamWriteMessage.WriteRequest"> & { /** * @generated from field: repeated Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData messages = 1; */ messages: StreamWriteMessage_WriteRequest_MessageData[]; /** * Codec that is used for data compression. * See enum Codec above for values. * * @generated from field: int32 codec = 2; */ codec: number; /** * @generated from field: optional Ydb.Topic.TransactionIdentity tx = 3; */ tx?: TransactionIdentity; }; /** * Describes the message Ydb.Topic.StreamWriteMessage.WriteRequest. * Use `create(StreamWriteMessage_WriteRequestSchema)` to create a new message. */ export declare const StreamWriteMessage_WriteRequestSchema: GenMessage<StreamWriteMessage_WriteRequest>; /** * @generated from message Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData */ export type StreamWriteMessage_WriteRequest_MessageData = Message<"Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData"> & { /** * Message sequence number, provided by client for deduplication. * Starts at 1 * * @generated from field: int64 seq_no = 1; */ seqNo: bigint; /** * Creation timestamp * * @generated from field: google.protobuf.Timestamp created_at = 2; */ createdAt?: Timestamp; /** * Compressed client message body. * * @generated from field: bytes data = 3; */ data: Uint8Array; /** * Uncompressed size of client message body. * * @generated from field: int64 uncompressed_size = 4; */ uncompressedSize: bigint; /** * Per-message override for respective write session settings. * * @generated from oneof Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData.partitioning */ partitioning: { /** * All messages with given pair (producer_id, message_group_id) go to single partition in order of writes. * * @generated from field: string message_group_id = 5; */ value: string; case: "messageGroupId"; } | { /** * Explicit partition id to write to. * * @generated from field: int64 partition_id = 6; */ value: bigint; case: "partitionId"; } | { /** * Explicit partition location to write to. * * @generated from field: Ydb.Topic.PartitionWithGeneration partition_with_generation = 8; */ value: PartitionWithGeneration; case: "partitionWithGeneration"; } | { case: undefined; value?: undefined; }; /** * Message metadata. Overall size is limited to 4096 symbols (all keys and values combined). * * @generated from field: repeated Ydb.Topic.MetadataItem metadata_items = 7; */ metadataItems: MetadataItem[]; }; /** * Describes the message Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData. * Use `create(StreamWriteMessage_WriteRequest_MessageDataSchema)` to create a new message. */ export declare const StreamWriteMessage_WriteRequest_MessageDataSchema: GenMessage<StreamWriteMessage_WriteRequest_MessageData>; /** * Message that represents acknowledgment for sequence of client messages. * This sequence is persisted together so write statistics is for messages batch. * * @generated from message Ydb.Topic.StreamWriteMessage.WriteResponse */ export type StreamWriteMessage_WriteResponse = Message<"Ydb.Topic.StreamWriteMessage.WriteResponse"> & { /** * Number of acks is equal to number of messages in the corresponding WriteRequests. * * @generated from field: repeated Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck acks = 1; */ acks: StreamWriteMessage_WriteResponse_WriteAck[]; /** * Assigned partition for all client messages inside this batch. * This actual partition may differ from that returned in InitResponse * or other WriteResponses in this write session. * * @generated from field: int64 partition_id = 2; */ partitionId: bigint; /** * Write statistics for this sequence of client messages. * * @generated from field: Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics write_statistics = 3; */ writeStatistics?: StreamWriteMessage_WriteResponse_WriteStatistics; }; /** * Describes the message Ydb.Topic.StreamWriteMessage.WriteResponse. * Use `create(StreamWriteMessage_WriteResponseSchema)` to create a new message. */ export declare const StreamWriteMessage_WriteResponseSchema: GenMessage<StreamWriteMessage_WriteResponse>; /** * Acknowledgment for one persistently written message. * * @generated from message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck */ export type StreamWriteMessage_WriteResponse_WriteAck = Message<"Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck"> & { /** * Sequence number as in WriteRequest. * * @generated from field: int64 seq_no = 1; */ seqNo: bigint; /** * Either message is written for the first time or duplicate. * * @generated from oneof Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.message_write_status */ messageWriteStatus: { /** * @generated from field: Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Written written = 2; */ value: StreamWriteMessage_WriteResponse_WriteAck_Written; case: "written"; } | { /** * @generated from field: Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped skipped = 3; */ value: StreamWriteMessage_WriteResponse_WriteAck_Skipped; case: "skipped"; } | { /** * @generated from field: Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTx written_in_tx = 4; */ value: StreamWriteMessage_WriteResponse_WriteAck_WrittenInTx; case: "writtenInTx"; } | { case: undefined; value?: undefined; }; }; /** * Describes the message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck. * Use `create(StreamWriteMessage_WriteResponse_WriteAckSchema)` to create a new message. */ export declare const StreamWriteMessage_WriteResponse_WriteAckSchema: GenMessage<StreamWriteMessage_WriteResponse_WriteAck>; /** * @generated from message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Written */ export type StreamWriteMessage_WriteResponse_WriteAck_Written = Message<"Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Written"> & { /** * Assigned partition offset. * * @generated from field: int64 offset = 1; */ offset: bigint; }; /** * Describes the message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Written. * Use `create(StreamWriteMessage_WriteResponse_WriteAck_WrittenSchema)` to create a new message. */ export declare const StreamWriteMessage_WriteResponse_WriteAck_WrittenSchema: GenMessage<StreamWriteMessage_WriteResponse_WriteAck_Written>; /** * @generated from message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped */ export type StreamWriteMessage_WriteResponse_WriteAck_Skipped = Message<"Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped"> & { /** * @generated from field: Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason reason = 1; */ reason: StreamWriteMessage_WriteResponse_WriteAck_Skipped_Reason; }; /** * Describes the message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped. * Use `create(StreamWriteMessage_WriteResponse_WriteAck_SkippedSchema)` to create a new message. */ export declare const StreamWriteMessage_WriteResponse_WriteAck_SkippedSchema: GenMessage<StreamWriteMessage_WriteResponse_WriteAck_Skipped>; /** * @generated from enum Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason */ export declare enum StreamWriteMessage_WriteResponse_WriteAck_Skipped_Reason { /** * @generated from enum value: REASON_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * @generated from enum value: REASON_ALREADY_WRITTEN = 1; */ ALREADY_WRITTEN = 1 } /** * Describes the enum Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason. */ export declare const StreamWriteMessage_WriteResponse_WriteAck_Skipped_ReasonSchema: GenEnum<StreamWriteMessage_WriteResponse_WriteAck_Skipped_Reason>; /** * @generated from message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTx */ export type StreamWriteMessage_WriteResponse_WriteAck_WrittenInTx = Message<"Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTx"> & {}; /** * Describes the message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTx. * Use `create(StreamWriteMessage_WriteResponse_WriteAck_WrittenInTxSchema)` to create a new message. */ export declare const StreamWriteMessage_WriteResponse_WriteAck_WrittenInTxSchema: GenMessage<StreamWriteMessage_WriteResponse_WriteAck_WrittenInTx>; /** * Message with write statistics. * * @generated from message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics */ export type StreamWriteMessage_WriteResponse_WriteStatistics = Message<"Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics"> & { /** * Time spent in persisting of data. Same for each message in response. * * @generated from field: google.protobuf.Duration persisting_time = 1; */ persistingTime?: Duration; /** * Time spent in queue before persisting, minimal of all messages in response. * * @generated from field: google.protobuf.Duration min_queue_wait_time = 2; */ minQueueWaitTime?: Duration; /** * Time spent in queue before persisting, maximal of all messages in response. * * @generated from field: google.protobuf.Duration max_queue_wait_time = 3; */ maxQueueWaitTime?: Duration; /** * Time spent awaiting for partition write quota. Same for each message in response. * * @generated from field: google.protobuf.Duration partition_quota_wait_time = 4; */ partitionQuotaWaitTime?: Duration; /** * Time spent awaiting for topic write quota. Same for each message in response. * * @generated from field: google.protobuf.Duration topic_quota_wait_time = 5; */ topicQuotaWaitTime?: Duration; }; /** * Describes the message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics. * Use `create(StreamWriteMessage_WriteResponse_WriteStatisticsSchema)` to create a new message. */ export declare const StreamWriteMessage_WriteResponse_WriteStatisticsSchema: GenMessage<StreamWriteMessage_WriteResponse_WriteStatistics>; /** * Messages for bidirectional streaming rpc StreamRead * * @generated from message Ydb.Topic.StreamReadMessage */ export type StreamReadMessage = Message<"Ydb.Topic.StreamReadMessage"> & {}; /** * Describes the message Ydb.Topic.StreamReadMessage. * Use `create(StreamReadMessageSchema)` to create a new message. */ export declare const StreamReadMessageSchema: GenMessage<StreamReadMessage>; /** * Within a StreamRead session delivered messages are separated by partition. * Reads from a single partition are represented by a partition session. * * @generated from message Ydb.Topic.StreamReadMessage.PartitionSession */ export type StreamReadMessage_PartitionSession = Message<"Ydb.Topic.StreamReadMessage.PartitionSession"> & { /** * Identifier of partition session. Unique inside one RPC call. * * @generated from field: int64 partition_session_id = 1; */ partitionSessionId: bigint; /** * Topic path of partition. * * @generated from field: string path = 2; */ path: string; /** * Partition identifier. * * @generated from field: int64 partition_id = 3; */ partitionId: bigint; }; /** * Describes the message Ydb.Topic.StreamReadMessage.PartitionSession. * Use `create(StreamReadMessage_PartitionSessionSchema)` to create a new message. */ export declare const StreamReadMessage_PartitionSessionSchema: GenMessage<StreamReadMessage_PartitionSession>; /** * Client-server message for read session. Contains one of: * InitRequest - handshake request. * ReadRequest - request for data. * CommitOffsetRequest - request for commit of some read data. * PartitionSessionStatusRequest - request for session status * UpdateTokenRequest - request to update auth token * DirectReadAck - client signals it has finished direct reading from the partition node. * * StartPartitionSessionResponse - Response to StreamReadServerMessage.StartPartitionSessionRequest. * Client signals it is ready to get data from partition. * StopPartitionSessionResponse - Response to StreamReadServerMessage.StopPartitionSessionRequest. * Client signals it has finished working with partition. Mandatory for graceful stop, optional otherwise. * * @generated from message Ydb.Topic.StreamReadMessage.FromClient */ export type StreamReadMessage_FromClient = Message<"Ydb.Topic.StreamReadMessage.FromClient"> & { /** * @generated from oneof Ydb.Topic.StreamReadMessage.FromClient.client_message */ clientMessage: { /** * Client requests. * * @generated from field: Ydb.Topic.StreamReadMessage.InitRequest init_request = 1; */ value: StreamReadMessage_InitRequest; case: "initRequest"; } | { /** * @generated from field: Ydb.Topic.StreamReadMessage.ReadRequest read_request = 2; */ value: StreamReadMessage_ReadRequest; case: "readRequest"; } | { /** * @generated from field: Ydb.Topic.StreamReadMessage.CommitOffsetRequest commit_offset_request = 3; */ value: StreamReadMessage_CommitOffsetRequest; case: "commitOffsetRequest"; } | { /** * @generated from field: Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequest partition_session_status_request = 4; */ value: StreamReadMessage_PartitionSessionStatusRequest; case: "partitionSessionStatusRequest"; } | { /** * @generated from field: Ydb.Topic.UpdateTokenRequest update_token_request = 5; */ value: UpdateTokenRequest; case: "updateTokenRequest"; } | { /** * @generated from field: Ydb.Topic.StreamReadMessage.DirectReadAck direct_read_ack = 8; */ value: StreamReadMessage_DirectReadAck; case: "directReadAck"; } | { /** * Responses to respective server commands. * * @generated from field: Ydb.Topic.StreamReadMessage.StartPartitionSessionResponse start_partition_session_response = 6; */ value: StreamReadMessage_StartPartitionSessionResponse; case: "startPartitionSessionResponse"; } | { /** * @generated from field: Ydb.Topic.StreamReadMessage.StopPartitionSessionResponse stop_partition_session_response = 7; */ value: StreamReadMessage_StopPartitionSessionResponse; case: "stopPartitionSessionResponse"; } | { case: undefined; value?: undefined; }; }; /** * Describes the message Ydb.Topic.StreamReadMessage.FromClient. * Use `create(StreamReadMessage_FromClientSchema)` to create a new message. */ export declare const StreamReadMessage_FromClientSchema: GenMessage<StreamReadMessage_FromClient>; /** * Server-client message for read session. Contains one of: * InitResponse - handshake response from server. * ReadResponse - portion of data. * CommitOffsetResponse - acknowledgment for commit. * PartitionSessionStatusResponse - server response with partition session status. * UpdateTokenResponse - acknowledgment of token update. * * StartPartitionSessionRequest - command from server to create a partition session. * StopPartitionSessionRequest - command from server to destroy a partition session. * UpdatePartitionSession - command from server to update a partition session. * * @generated from message Ydb.Topic.StreamReadMessage.FromServer */ export type StreamReadMessage_FromServer = Message<"Ydb.Topic.StreamReadMessage.FromServer"> & { /** * Server status of response. * * @generated from field: Ydb.StatusIds.StatusCode status = 1; */ status: StatusIds_StatusCode; /** * Issues if any. * * @generated from field: repeated Ydb.Issue.IssueMessage issues = 2; */ issues: IssueMessage[]; /** * @generated from oneof Ydb.Topic.StreamReadMessage.FromServer.server_message */ serverMessage: { /** * Responses to respective client requests. * * @generated from field: Ydb.Topic.StreamReadMessage.InitResponse init_response = 3; */ value: StreamReadMessage_InitResponse; case: "initResponse"; } | { /** * @generated from field: Ydb.Topic.StreamReadMessage.ReadResponse read_response = 4; */ value: StreamReadMessage_ReadResponse; case: "readResponse"; } | { /** * @generated from field: Ydb.Topic.StreamReadMessage.CommitOffsetResponse commit_offset_response = 5; */ value: StreamReadMessage_CommitOffsetResponse; case: "commitOffsetResponse"; } | { /** * @generated from field: Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponse partition_session_status_response = 6; */ value: StreamReadMessage_PartitionSessionStatusResponse; case: "partitionSessionStatusResponse"; } | { /** * @generated from field: Ydb.Topic.UpdateTokenResponse update_token_response = 7; */ value: UpdateTokenResponse; case: "updateTokenResponse"; } | { /** * Server commands. * * @generated from field: Ydb.Topic.StreamReadMessage.StartPartitionSessionRequest start_partition_session_request = 8; */ value: StreamReadMessage_StartPartitionSessionRequest; case: "startPartitionSessionRequest"; } | { /** * @generated from field: Ydb.Topic.StreamReadMessage.StopPartitionSessionRequest stop_partition_session_request = 9; */ value: StreamReadMessage_StopPartitionSessionRequest; case: "stopPartitionSessionRequest"; } | { /** * @generated from field: Ydb.Topic.StreamReadMessage.UpdatePartitionSession update_partition_session = 10; */ value: StreamReadMessage_UpdatePartitionSession; case: "updatePartitionSession"; } | { /** * @generated from field: Ydb.Topic.StreamReadMessage.EndPartitionSession end_partition_session = 11; */ value: StreamReadMessage_EndPartitionSession; case: "endPartitionSession"; } | { case: undefined; value?: undefined; }; }; /** * Describes the message Ydb.Topic.StreamReadMessage.FromServer. * Use `create(StreamReadMessage_FromServerSchema)` to create a new message. */ export declare const StreamReadMessage_FromServerSchema: GenMessage<StreamReadMessage_FromServer>; /** * Handshake request. * * @generated from message Ydb.Topic.StreamReadMessage.InitRequest */ export type StreamReadMessage_InitRequest = Message<"Ydb.Topic.StreamReadMessage.InitRequest"> & { /** * Message that describes topic to read. * Topics that will be read by this session. * * @generated from field: repeated Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings topics_read_settings = 1; */ topicsReadSettings: StreamReadMessage_InitRequest_TopicReadSettings[]; /** * Path of consumer that is used for reading by this session. * * @generated from field: string consumer = 2; */ consumer: string; /** * Optional name. Will be shown in debug stat. * * @generated from field: string reader_name = 3; */ readerName: string; /** * Direct reading from a partition node. * * @generated from field: bool direct_read = 4; */ directRead: boolean; /** * Indicates that the SDK supports auto partitioning. * * @generated from field: bool auto_partitioning_support = 5; */ autoPartitioningSupport: boolean; }; /** * Describes the message Ydb.Topic.StreamReadMessage.InitRequest. * Use `create(StreamReadMessage_InitRequestSchema)` to create a new message. */ export declare const StreamReadMessage_InitRequestSchema: GenMessage<StreamReadMessage_InitRequest>; /** * @generated from message Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings */ export type StreamReadMessage_InitRequest_TopicReadSettings = Message<"Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings"> & { /** * Topic path. * * @generated from field: string path = 1; */ path: string; /** * Partitions that will be read by this session. * If list is empty - then session will read all partitions. * * @generated from field: repeated int64 partition_ids = 2; */ partitionIds: bigint[]; /** * Skip all messages that has write timestamp smaller than now - max_lag. * Zero means infinite lag. * * @generated from field: google.protobuf.Duration max_lag = 3; */ maxLag?: Duration; /** * Read data only after this timestamp from this topic. * Read only messages with 'written_at' value greater or equal than this timestamp. * * @generated from field: google.protobuf.Timestamp read_from = 4; */ readFrom?: Timestamp; }; /** * Describes the message Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings. * Use `create(StreamReadMessage_InitRequest_TopicReadSettingsSchema)` to create a new message. */ export declare const StreamReadMessage_InitRequest_TopicReadSettingsSchema: GenMessage<StreamReadMessage_InitRequest_TopicReadSettings>; /** * Handshake response. * * @generated from message Ydb.Topic.StreamReadMessage.InitResponse */ export type StreamReadMessage_InitResponse = Message<"Ydb.Topic.StreamReadMessage.InitResponse"> & { /** * Read session identifier. * * @generated from field: string session_id = 1; */ sessionId: string; }; /** * Describes the message Ydb.Topic.StreamReadMessage.InitResponse. * Use `create(StreamReadMessage_InitResponseSchema)` to create a new message. */ export declare const StreamReadMessage_InitResponseSchema: GenMessage<StreamReadMessage_InitResponse>; /** * Message that represents client readiness for receiving more data. * * @generated from message Ydb.Topic.StreamReadMessage.ReadRequest */ export type StreamReadMessage_ReadRequest = Message<"Ydb.Topic.StreamReadMessage.ReadRequest"> & { /** * Server and client each keep track of total bytes size of all ReadResponses. * When client is ready to receive N more bytes in responses (to increment possible total by N), * it sends a ReadRequest with bytes_size = N. * bytes_size value must be positive. * So in expression 'A = (sum of bytes_size in all ReadRequests) - (sum of bytes_size in all ReadResponses)' * server will keep A (available size for responses) non-negative. * But there is an exception. If server receives ReadRequest, and the first message in response exceeds A - * then it will still be delivered, and A will become negative until enough additional ReadRequests. * * Example: * 1) Let client have 200 bytes buffer. It sends ReadRequest with bytes_size = 200; * 2) Server may return one ReadResponse with bytes_size = 70 and than another 80 bytes response; * now client buffer has 50 free bytes, server is free to send up to 50 bytes in responses. * 3) Client processes 100 bytes from buffer, now buffer free space is 150 bytes, * so client sends ReadRequest with bytes_size = 100; * 4) Server is free to send up to 50 + 100 = 150 bytes. But the next read message is too big, * and it sends 160 bytes ReadResponse. * 5) Let's assume client somehow processes it, and its 200 bytes buffer is free again. * It should account for excess 10 bytes and send ReadRequest with bytes_size = 210. * * @generated from field: int64 bytes_size = 1; */ bytesSize: bigint; }; /** * Describes the message Ydb.Topic.StreamReadMessage.ReadRequest. * Use `create(StreamReadMessage_ReadRequestSchema)` to create a new message. */ export declare const StreamReadMessage_ReadRequestSchema: GenMessage<StreamReadMessage_ReadRequest>; /** * Data read. * * @generated from message Ydb.Topic.StreamReadMessage.ReadResponse */ export type StreamReadMessage_ReadResponse = Message<"Ydb.Topic.StreamReadMessage.ReadResponse"> & { /** * Client messages, divided by partitions. * * @generated from field: repeated Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData partition_data = 1; */ partitionData: StreamReadMessage_ReadResponse_PartitionData[]; /** * Total size in bytes of this response as calculated by server. * See ReadRequest comment above. * * @generated from field: int64 bytes_size = 2; */ bytesSize: bigint; }; /** * Describes the message Ydb.Topic.StreamReadMessage.ReadResponse. * Use `create(StreamReadMessage_ReadResponseSchema)` to create a new message. */ export declare const StreamReadMessage_ReadResponseSchema: GenMessage<StreamReadMessage_ReadResponse>; /** * One client message representation. * * @generated from message Ydb.Topic.StreamReadMessage.ReadResponse.MessageData */ export type StreamReadMessage_ReadResponse_MessageData = Message<"Ydb.Topic.StreamReadMessage.ReadResponse.MessageData"> & { /** * Partition offset in partition that assigned for message. * * unique value for client side deduplication - Topic:Partition:Offset * * @generated from field: int64 offset = 1; */ offset: bigint; /** * Sequence number that provided with message on write from client. * * @generated from field: int64 seq_no = 2; */ seqNo: bigint; /** * Timestamp of creation of message provided on write from client. * * @generated from field: google.protobuf.Timestamp created_at = 3; */ createdAt?: Timestamp; /** * Compressed client message body. * * @generated from field: bytes data = 5; */ data: Uint8Array; /** * Uncompressed size of client message body. * sent as is from WriteRequest, without check on server side. May be empty (for writes from old client) or wrong (if bug in writer). * Use it for optimization purposes only, don't trust it. * * @generated from field: int64 uncompressed_size = 6; */ uncompressedSize: bigint; /** * Filled if message_group_id was set on message write. * * @generated from field: string message_group_id = 7; */ messageGroupId: string; /** * @generated from field: repeated Ydb.Topic.MetadataItem metadata_items = 8; */ metadataItems: MetadataItem[]; }; /** * Describes the message Ydb.Topic.StreamReadMessage.ReadResponse.MessageData. * Use `create(StreamReadMessage_ReadResponse_MessageDataSchema)` to create a new message. */ export declare const StreamReadMessage_ReadResponse_MessageDataSchema: GenMessage<StreamReadMessage_ReadResponse_MessageData>; /** * Representation of sequence of client messages from one write session. * * @generated from message Ydb.Topic.StreamReadMessage.ReadResponse.Batch */ export type StreamReadMessage_ReadResponse_Batch = Message<"Ydb.Topic.StreamReadMessage.ReadResponse.Batch"> & { /** * List of client messages. * * @generated from field: repeated Ydb.Topic.StreamReadMessage.ReadResponse.MessageData message_data = 1; */ messageData: StreamReadMessage_ReadResponse_MessageData[]; /** * Producer identifier provided by client for this batch of client messages. * * @generated from field: string producer_id = 2; */ producerId: string; /** * Client metadata attached to write session, the same for all messages in batch. * * @generated from field: map<string, string> write_session_meta = 3; */ writeSessionMeta: { [key: string]: string; }; /** * Codec that is used for data compression. * See enum Codec above for values. * * @generated from field: int32 codec = 4; */ codec: number; /** * Persist timestamp on server for batch. * * @generated from field: google.protobuf.Timestamp written_at = 5; */ writtenAt?: Timestamp; }; /** * Describes the message Ydb.Topic.StreamReadMessage.ReadResponse.Batch. * Use `create(StreamReadMessage_ReadResponse_BatchSchema)` to create a new message. */ export declare const StreamReadMessage_ReadResponse_BatchSchema: GenMessage<StreamReadMessage_ReadResponse_Batch>; /** * Representation of sequence of messages from one partition. * * @generated from message Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData */ export type StreamReadMessage_ReadResponse_PartitionData = Message<"Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData"> & { /** * @generated from field: int64 partition_session_id = 1; */ partitionSessionId: bigint; /** * Client messages, divided by write sessions. * * @generated from field: repeated Ydb.Topic.StreamReadMessage.ReadResponse.Batch batches = 2; */ batches: StreamReadMessage_ReadResponse_Batch[]; }; /** * Describes the message Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData. * Use `create(StreamReadMessage_ReadResponse_PartitionDataSchema)` to create a new message. */ export declare const StreamReadMessage_ReadResponse_PartitionDataSchema: GenMessage<StreamReadMessage_ReadResponse_PartitionData>; /** * Signal for server that client processed some read data. * * @generated from message Ydb.Topic.StreamReadMessage.CommitOffsetRequest */ export type StreamReadMessage_CommitOffsetRequest = Message<"Ydb.Topic.StreamReadMessage.CommitOffsetRequest"> & { /** * Partition offsets that indicates processed data. * * @generated from field: repeated Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset commit_offsets = 1; */ commitOffsets: StreamReadMessage_CommitOffsetRequest_PartitionCommitOffset[]; }; /** * Describes the message Ydb.Topic.StreamReadMessage.CommitOffsetRequest. * Use `create(StreamReadMessage_CommitOffsetRequestSchema)` to create a new message. */ export declare const StreamReadMessage_CommitOffsetRequestSchema: GenMessage<StreamReadMessage_CommitOffsetRequest>; /** * Message that is used for describing commit. * * @generated from message Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset */ export type StreamReadMessage_CommitOffsetRequest_PartitionCommitOffset = Message<"Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset"> & { /** * Identifier of partition session with data to commit. * * @generated from field: int64 partition_session_id = 1; */ partitionSessionId: bigint; /** * Processed offsets ranges, repeated in case of disjoint ranges. * * @generated from field: repeated Ydb.Topic.OffsetsRange offsets = 2; */ offsets: OffsetsRange[]; }; /** * Describes the message Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset. * Use `create(StreamReadMessage_CommitOffsetRequest_PartitionCommitOffsetSchema)` to create a new message. */ export declare const StreamReadMessage_CommitOffsetRequest_PartitionCommitOffsetSchema: GenMessage<StreamReadMessage_CommitOffsetRequest_PartitionCommitOffset>; /** * Acknowledgement for commits. * * @generated from message Ydb.Topic.StreamReadMessage.CommitOffsetResponse */ export type StreamReadMessage_CommitOffsetResponse = Message<"Ydb.Topic.StreamReadMessage.CommitOffsetResponse"> & { /** * Partitions with progress. * * @generated from field: repeated Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset partitions_committed_offsets = 1; */ partitionsCommittedOffsets: StreamReadMessage_CommitOffsetResponse_PartitionCommittedOffset[]; }; /** * Describes the message Ydb.Topic.StreamReadMessage.CommitOffsetResponse. * Use `create(StreamReadMessage_CommitOffsetResponseSchema)` to create a new message. */ export declare const StreamReadMessage_CommitOffsetResponseSchema: GenMessage<StreamReadMessage_CommitOffsetResponse>; /** * Per-partition commit representation. * * @generated from message Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset */ export type StreamReadMessage_CommitOffsetResponse_PartitionCommittedOffset = Message<"Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset"> & { /** * Partition session identifier. * * @generated from field: int64 partition_session_id = 1; */ partitionSessionId: bigint; /** * Upper bound for committed offsets. * * @generated from field: int64 committed_offset = 2; */ committedOffset: bigint; }; /** * Describes the message Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset. * Use `create(StreamReadMessage_CommitOffsetResponse_PartitionCommittedOffsetSchema)` to create a new message. */ export declare const StreamReadMessage_CommitOffsetResponse_PartitionCommittedOffsetSchema: GenMessage<StreamReadMessage_CommitOffsetResponse_PartitionCommittedOffset>; /** * @generated from message Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequest */ export type StreamReadMessage_PartitionSessionStatusRequest = Message<"Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequest"> & { /** * @generated from field: int64 partition_session_id = 1; */ partitionSessionId: bigint; }; /** * Describes the message Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequest. * Use `create(StreamReadMessage_PartitionSessionStatusRequestSchema)` to create a new message. */ export declare const StreamReadMessage_PartitionSessionStatusRequestSchema: GenMessage<StreamReadMessage_PartitionSessionStatusRequest>; /** * Response to status request. * * @generated from message Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponse */ export type StreamReadMessage_PartitionSessionStatusResponse = Message<"Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponse"> & { /** * Identifier of partition session whose status was requested. * * @generated from field: int64 partition_session_id = 1; */ partitionSessionId: bigint; /** * Partition contains messages with offsets in range [start, end). * * @generated from field: Ydb.Topic.OffsetsRange partition_offsets = 2; */ partitionOffsets?: OffsetsRange; /** * Each offset up to and including (committed_offset - 1) was fully processed. * * @generated from field: int64 committed_offset = 3; */ committedOffset: bigint; /** * Write timestamp of next message written to this partition will be no less than write_time_high_watermark. * * @generated from field: google.protobuf.Timestamp write_time_high_watermark = 4; */ writeTimeHighWatermark?: Timestamp; }; /** * Describes the message Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponse. * Use `create(StreamReadMessage_PartitionSessionStatusResponseSchema)` to create a new message. */ export declare const StreamReadMessage_PartitionSessionStatusResponseSchema: GenMessage<StreamReadMessage_PartitionSessionStatusResponse>; /** * Command from server to create and start a partition session. * Client must respond with StartPartitionSessionResponse when ready to receive data from this partition. * * @generated from message Ydb.Topic.StreamReadMessage.StartPartitionSessionRequest */ export type StreamReadMessage_StartPartitionSessionRequest = Message<"Ydb.Topic.StreamReadMessage.StartPartitionSessionRequest"> & { /** * Partition session description. * * @generated from field: Ydb.Topic.StreamReadMessage.PartitionSession partition_session = 1; */ partitionSession?: StreamReadMessage_PartitionSession; /** * Each offset up to and including (committed_offset - 1) was fully processed. * * @generated from field: int64 committed_offset = 2; */ committedOffset: bigint; /** * Partition contains messages with offsets in range [start, end). * * @generated from field: Ydb.Topic.OffsetsRange partition_offsets = 3; */ partitionOffsets?: OffsetsRange; /** * Partition location, filled only when InitRequest.direct_read is true. * * @generated from field: Ydb.Topic.PartitionLocation partition_location = 4; */ partitionLocation?: PartitionLocation; }; /** * Describes the message Ydb.Topic.StreamReadMessage.StartPartitionSessionRequest. * Use `create(StreamReadMessage_StartPartitionSessionRequestSchema)` to create a new message. */ export declare const StreamReadMessage_StartPartitionSessionRequestSchema: GenMessage<StreamReadMessage_StartPartitionSessionRequest>; /** * Signal for server that client is ready to recive data for partition. * * @generated from message Ydb.Topic.StreamReadMessage.StartPartitionSessionResponse */ export type StreamReadMessage_StartPartitionSessionResponse = Message<"Ydb.Topic.StreamReadMessage.StartPartitionSessionResponse"> & { /** * Partition session identifier of partition to start read. * * @generated from field: int64 partition_session_id = 1; */ partitionSessionId: bigint; /** * Reads in this partition session will start from offset no less than read_offset. * If read_offset is set, server will check that read_offset is no less that actual committed offset. * If check fails then server will send an error message (status != SUCCESS) and close stream. * * If read_offset is not set, no check will be made. * InitRequest.max_lag and InitRequest.read_from could lead to skip of more messages. * Server will return data starting from offse