import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; import type { Empty } from "@bufbuild/protobuf/wkt"; import type { Envelope, UserMetadataPayload_EncryptionDevice } from "./protocol_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file apps.proto. */ export declare const file_apps: GenFile; /** * @generated from message river.AppSettings */ export type AppSettings = Message<"river.AppSettings"> & { /** * @generated from field: river.ForwardSettingValue forward_setting = 1; */ forwardSetting: ForwardSettingValue; }; /** * Describes the message river.AppSettings. * Use `create(AppSettingsSchema)` to create a new message. */ export declare const AppSettingsSchema: GenMessage; /** * @generated from message river.RegisterRequest */ export type RegisterRequest = Message<"river.RegisterRequest"> & { /** * public key of the app * * @generated from field: bytes app_id = 1; */ appId: Uint8Array; /** * public key of the app owner * * @generated from field: bytes app_owner_id = 2; */ appOwnerId: Uint8Array; /** * @generated from field: river.AppSettings settings = 3; */ settings?: AppSettings; /** * @generated from field: river.AppMetadata metadata = 4; */ metadata?: AppMetadata; }; /** * Describes the message river.RegisterRequest. * Use `create(RegisterRequestSchema)` to create a new message. */ export declare const RegisterRequestSchema: GenMessage; /** * @generated from message river.RegisterResponse */ export type RegisterResponse = Message<"river.RegisterResponse"> & { /** * The shared secret used to sign the jwt the app registry will use to authenticate to the * app service. This secret will be exactly 32 bytes. * * @generated from field: bytes hs256_shared_secret = 1; */ hs256SharedSecret: Uint8Array; }; /** * Describes the message river.RegisterResponse. * Use `create(RegisterResponseSchema)` to create a new message. */ export declare const RegisterResponseSchema: GenMessage; /** * @generated from message river.RegisterWebhookRequest */ export type RegisterWebhookRequest = Message<"river.RegisterWebhookRequest"> & { /** * public key of the app * * @generated from field: bytes app_id = 1; */ appId: Uint8Array; /** * Webhook for sending requests to the app service * * @generated from field: string webhook_url = 2; */ webhookUrl: string; }; /** * Describes the message river.RegisterWebhookRequest. * Use `create(RegisterWebhookRequestSchema)` to create a new message. */ export declare const RegisterWebhookRequestSchema: GenMessage; /** * @generated from message river.RegisterWebhookResponse */ export type RegisterWebhookResponse = Message<"river.RegisterWebhookResponse"> & {}; /** * Describes the message river.RegisterWebhookResponse. * Use `create(RegisterWebhookResponseSchema)` to create a new message. */ export declare const RegisterWebhookResponseSchema: GenMessage; /** * @generated from message river.SetAppSettingsRequest */ export type SetAppSettingsRequest = Message<"river.SetAppSettingsRequest"> & { /** * public key of the app * * @generated from field: bytes app_id = 1; */ appId: Uint8Array; /** * @generated from field: river.AppSettings settings = 2; */ settings?: AppSettings; }; /** * Describes the message river.SetAppSettingsRequest. * Use `create(SetAppSettingsRequestSchema)` to create a new message. */ export declare const SetAppSettingsRequestSchema: GenMessage; /** * @generated from message river.SetAppSettingsResponse */ export type SetAppSettingsResponse = Message<"river.SetAppSettingsResponse"> & {}; /** * Describes the message river.SetAppSettingsResponse. * Use `create(SetAppSettingsResponseSchema)` to create a new message. */ export declare const SetAppSettingsResponseSchema: GenMessage; /** * @generated from message river.GetAppSettingsRequest */ export type GetAppSettingsRequest = Message<"river.GetAppSettingsRequest"> & { /** * public key of the app * * @generated from field: bytes app_id = 1; */ appId: Uint8Array; }; /** * Describes the message river.GetAppSettingsRequest. * Use `create(GetAppSettingsRequestSchema)` to create a new message. */ export declare const GetAppSettingsRequestSchema: GenMessage; /** * @generated from message river.GetAppSettingsResponse */ export type GetAppSettingsResponse = Message<"river.GetAppSettingsResponse"> & { /** * @generated from field: river.AppSettings settings = 1; */ settings?: AppSettings; /** * @generated from field: optional string webhook_url = 2; */ webhookUrl?: string; }; /** * Describes the message river.GetAppSettingsResponse. * Use `create(GetAppSettingsResponseSchema)` to create a new message. */ export declare const GetAppSettingsResponseSchema: GenMessage; /** * @generated from message river.RotateSecretRequest */ export type RotateSecretRequest = Message<"river.RotateSecretRequest"> & { /** * public key of the app * * @generated from field: bytes app_id = 1; */ appId: Uint8Array; }; /** * Describes the message river.RotateSecretRequest. * Use `create(RotateSecretRequestSchema)` to create a new message. */ export declare const RotateSecretRequestSchema: GenMessage; /** * @generated from message river.RotateSecretResponse */ export type RotateSecretResponse = Message<"river.RotateSecretResponse"> & { /** * the updated shared secret used to sign the jwt the app registry will use to authenticate * to the app service. This secret should be exactly 32 bytes. * * @generated from field: bytes hs256_shared_secret = 1; */ hs256SharedSecret: Uint8Array; }; /** * Describes the message river.RotateSecretResponse. * Use `create(RotateSecretResponseSchema)` to create a new message. */ export declare const RotateSecretResponseSchema: GenMessage; /** * @generated from message river.GetStatusRequest */ export type GetStatusRequest = Message<"river.GetStatusRequest"> & { /** * public key of the app * * @generated from field: bytes app_id = 1; */ appId: Uint8Array; }; /** * Describes the message river.GetStatusRequest. * Use `create(GetStatusRequestSchema)` to create a new message. */ export declare const GetStatusRequestSchema: GenMessage; /** * @generated from message river.GetStatusResponse */ export type GetStatusResponse = Message<"river.GetStatusResponse"> & { /** * is_registered describes if the app is registered with a webhook * * @generated from field: bool is_registered = 1; */ isRegistered: boolean; /** * valid_response is set to true if calling the webhook results in a 200 with version * info included in the response body. * * @generated from field: bool valid_response = 2; */ validResponse: boolean; /** * Forward the status returned by the bot service. * * @generated from field: river.AppServiceResponse.StatusResponse status = 3; */ status?: AppServiceResponse_StatusResponse; /** * active indicates whether the app is currently active and receiving messages * * @generated from field: bool active = 4; */ active: boolean; }; /** * Describes the message river.GetStatusResponse. * Use `create(GetStatusResponseSchema)` to create a new message. */ export declare const GetStatusResponseSchema: GenMessage; /** * @generated from message river.GetSessionRequest */ export type GetSessionRequest = Message<"river.GetSessionRequest"> & { /** * public key of the app * * @generated from field: bytes app_id = 1; */ appId: Uint8Array; /** * @generated from oneof river.GetSessionRequest.identifier */ identifier: { /** * session_id retrieves a specific session by its ID. * Use this when you have stored the session ID from a previous interaction. * * @generated from field: string session_id = 2; */ value: string; case: "sessionId"; } | { /** * stream_id retrieves the session key for a specific stream. * Use this when you want to reuse an existing session for a stream * without storing session IDs (useful for stateless bots). * * @generated from field: bytes stream_id = 3; */ value: Uint8Array; case: "streamId"; } | { case: undefined; value?: undefined; }; }; /** * Describes the message river.GetSessionRequest. * Use `create(GetSessionRequestSchema)` to create a new message. */ export declare const GetSessionRequestSchema: GenMessage; /** * @generated from message river.GetSessionResponse */ export type GetSessionResponse = Message<"river.GetSessionResponse"> & { /** * This will be * * @generated from field: river.Envelope group_encryption_sessions = 1; */ groupEncryptionSessions?: Envelope; }; /** * Describes the message river.GetSessionResponse. * Use `create(GetSessionResponseSchema)` to create a new message. */ export declare const GetSessionResponseSchema: GenMessage; /** * As a performance optimization, we may wish to bundle together many key solicitation requests * and channel messages for the bot to respond to in a single webhook call. Thus, an isolated * group of channel messages and encryption keys, or a request for a key solicitation, is * represented here. For webhook calls regarding channel content, the payload may contain one or * more of these events. * * @generated from message river.EventPayload */ export type EventPayload = Message<"river.EventPayload"> & { /** * @generated from oneof river.EventPayload.payload */ payload: { /** * @generated from field: river.EventPayload.Messages messages = 1; */ value: EventPayload_Messages; case: "messages"; } | { /** * @generated from field: river.EventPayload.SolicitKeys solicitation = 2; */ value: EventPayload_SolicitKeys; case: "solicitation"; } | { case: undefined; value?: undefined; }; }; /** * Describes the message river.EventPayload. * Use `create(EventPayloadSchema)` to create a new message. */ export declare const EventPayloadSchema: GenMessage; /** * A Messages payload represents a group of user messages in a channel that qualifies for the app * to be notified. The included set of group encryption sessions in this message should have * all the needed ciphertexts to decrypt the set of messages sent in the same payload. * * @generated from message river.EventPayload.Messages */ export type EventPayload_Messages = Message<"river.EventPayload.Messages"> & { /** * @generated from field: bytes stream_id = 1; */ streamId: Uint8Array; /** * @generated from field: repeated river.Envelope messages = 2; */ messages: Envelope[]; /** * @generated from field: repeated river.Envelope group_encryption_sessions_messages = 3; */ groupEncryptionSessionsMessages: Envelope[]; }; /** * Describes the message river.EventPayload.Messages. * Use `create(EventPayload_MessagesSchema)` to create a new message. */ export declare const EventPayload_MessagesSchema: GenMessage; /** * A SolicitKeys request is sent when one or more messages in the same channel cannot be forwarded * to the app because the app does not have keys available to decrypt it in it's user inbox stream. * In this case, the app must be prompted to send a message to the stream to solicit the missing * session keys so that all queued messages can be forwarded. * * @generated from message river.EventPayload.SolicitKeys */ export type EventPayload_SolicitKeys = Message<"river.EventPayload.SolicitKeys"> & { /** * @generated from field: bytes stream_id = 1; */ streamId: Uint8Array; /** * @generated from field: repeated string session_ids = 2; */ sessionIds: string[]; }; /** * Describes the message river.EventPayload.SolicitKeys. * Use `create(EventPayload_SolicitKeysSchema)` to create a new message. */ export declare const EventPayload_SolicitKeysSchema: GenMessage; /** * @generated from message river.EventsPayload */ export type EventsPayload = Message<"river.EventsPayload"> & { /** * @generated from field: repeated river.EventPayload events = 1; */ events: EventPayload[]; }; /** * Describes the message river.EventsPayload. * Use `create(EventsPayloadSchema)` to create a new message. */ export declare const EventsPayloadSchema: GenMessage; /** * @generated from message river.AppServiceRequest */ export type AppServiceRequest = Message<"river.AppServiceRequest"> & { /** * @generated from oneof river.AppServiceRequest.payload */ payload: { /** * @generated from field: google.protobuf.Empty initialize = 101; */ value: Empty; case: "initialize"; } | { /** * @generated from field: google.protobuf.Empty status = 102; */ value: Empty; case: "status"; } | { /** * @generated from field: river.EventsPayload events = 103; */ value: EventsPayload; case: "events"; } | { case: undefined; value?: undefined; }; }; /** * Describes the message river.AppServiceRequest. * Use `create(AppServiceRequestSchema)` to create a new message. */ export declare const AppServiceRequestSchema: GenMessage; /** * @generated from message river.AppServiceResponse */ export type AppServiceResponse = Message<"river.AppServiceResponse"> & { /** * @generated from oneof river.AppServiceResponse.payload */ payload: { /** * @generated from field: river.AppServiceResponse.InitializeResponse initialize = 101; */ value: AppServiceResponse_InitializeResponse; case: "initialize"; } | { /** * @generated from field: river.AppServiceResponse.StatusResponse status = 102; */ value: AppServiceResponse_StatusResponse; case: "status"; } | { case: undefined; value?: undefined; }; }; /** * Describes the message river.AppServiceResponse. * Use `create(AppServiceResponseSchema)` to create a new message. */ export declare const AppServiceResponseSchema: GenMessage; /** * @generated from message river.AppServiceResponse.InitializeResponse */ export type AppServiceResponse_InitializeResponse = Message<"river.AppServiceResponse.InitializeResponse"> & { /** * @generated from field: river.UserMetadataPayload.EncryptionDevice encryption_device = 1; */ encryptionDevice?: UserMetadataPayload_EncryptionDevice; }; /** * Describes the message river.AppServiceResponse.InitializeResponse. * Use `create(AppServiceResponse_InitializeResponseSchema)` to create a new message. */ export declare const AppServiceResponse_InitializeResponseSchema: GenMessage; /** * @generated from message river.AppServiceResponse.StatusResponse */ export type AppServiceResponse_StatusResponse = Message<"river.AppServiceResponse.StatusResponse"> & { /** * Version established by the app registry that the bot framework supports. * It indicates protocol compatibility. * * @generated from field: int32 framework_version = 1; */ frameworkVersion: number; /** * @generated from field: string device_key = 2; */ deviceKey: string; /** * @generated from field: string fallback_key = 3; */ fallbackKey: string; /** * Optional metadata used to identify the client SDK version. * Example: "javascript:@towns-protocol/bot:0.0.1" * * @generated from field: optional string client_version = 4; */ clientVersion?: string; }; /** * Describes the message river.AppServiceResponse.StatusResponse. * Use `create(AppServiceResponse_StatusResponseSchema)` to create a new message. */ export declare const AppServiceResponse_StatusResponseSchema: GenMessage; /** * SlashCommand represents a command that the bot supports. * * @generated from message river.SlashCommand */ export type SlashCommand = Message<"river.SlashCommand"> & { /** * name is the command name (e.g., "help", "search"). * Must be 1-32 characters, contain only letters, numbers, and underscores, * and start with a letter. * * @generated from field: string name = 1; */ name: string; /** * description is a short description of what the command does. * Must be 1-256 characters. * * @generated from field: string description = 2; */ description: string; }; /** * Describes the message river.SlashCommand. * Use `create(SlashCommandSchema)` to create a new message. */ export declare const SlashCommandSchema: GenMessage; /** * @generated from message river.AppMetadata */ export type AppMetadata = Message<"river.AppMetadata"> & { /** * username is the identifier used to mention the bot (e.g., "@mybot"). * Must be unique across all bots. * * @generated from field: string username = 1; */ username: string; /** * @generated from field: string description = 2; */ description: string; /** * @generated from field: string image_url = 3; */ imageUrl: string; /** * @generated from field: optional string external_url = 4; */ externalUrl?: string; /** * @generated from field: string avatar_url = 5; */ avatarUrl: string; /** * slash_commands is a list of commands the bot supports. * Maximum of 25 commands per bot. * * @generated from field: repeated river.SlashCommand slash_commands = 6; */ slashCommands: SlashCommand[]; /** * display_name is the friendly name shown in chat conversations (e.g., "My Helpful Bot"). * Must be non-empty. * * @generated from field: string display_name = 7; */ displayName: string; /** * motto is a short tagline or slogan for the bot. * * @generated from field: string motto = 8; */ motto: string; }; /** * Describes the message river.AppMetadata. * Use `create(AppMetadataSchema)` to create a new message. */ export declare const AppMetadataSchema: GenMessage; /** * AppMetadataUpdate represents a partial update to app metadata * * @generated from message river.AppMetadataUpdate */ export type AppMetadataUpdate = Message<"river.AppMetadataUpdate"> & { /** * All fields are optional for partial updates * * @generated from field: optional string username = 1; */ username?: string; /** * @generated from field: optional string description = 2; */ description?: string; /** * @generated from field: optional string image_url = 3; */ imageUrl?: string; /** * @generated from field: optional string external_url = 4; */ externalUrl?: string; /** * @generated from field: optional string avatar_url = 5; */ avatarUrl?: string; /** * @generated from field: repeated river.SlashCommand slash_commands = 6; */ slashCommands: SlashCommand[]; /** * @generated from field: optional string display_name = 7; */ displayName?: string; /** * @generated from field: optional string motto = 8; */ motto?: string; }; /** * Describes the message river.AppMetadataUpdate. * Use `create(AppMetadataUpdateSchema)` to create a new message. */ export declare const AppMetadataUpdateSchema: GenMessage; /** * Update app metadata * * @generated from message river.UpdateAppMetadataRequest */ export type UpdateAppMetadataRequest = Message<"river.UpdateAppMetadataRequest"> & { /** * @generated from field: bytes app_id = 1; */ appId: Uint8Array; /** * Changed from AppMetadata * * @generated from field: river.AppMetadataUpdate metadata = 2; */ metadata?: AppMetadataUpdate; /** * Added update mask * * @generated from field: repeated string update_mask = 3; */ updateMask: string[]; }; /** * Describes the message river.UpdateAppMetadataRequest. * Use `create(UpdateAppMetadataRequestSchema)` to create a new message. */ export declare const UpdateAppMetadataRequestSchema: GenMessage; /** * @generated from message river.UpdateAppMetadataResponse */ export type UpdateAppMetadataResponse = Message<"river.UpdateAppMetadataResponse"> & {}; /** * Describes the message river.UpdateAppMetadataResponse. * Use `create(UpdateAppMetadataResponseSchema)` to create a new message. */ export declare const UpdateAppMetadataResponseSchema: GenMessage; /** * Get app metadata * * @generated from message river.GetAppMetadataRequest */ export type GetAppMetadataRequest = Message<"river.GetAppMetadataRequest"> & { /** * @generated from field: bytes app_id = 1; */ appId: Uint8Array; }; /** * Describes the message river.GetAppMetadataRequest. * Use `create(GetAppMetadataRequestSchema)` to create a new message. */ export declare const GetAppMetadataRequestSchema: GenMessage; /** * @generated from message river.GetAppMetadataResponse */ export type GetAppMetadataResponse = Message<"river.GetAppMetadataResponse"> & { /** * @generated from field: river.AppMetadata metadata = 1; */ metadata?: AppMetadata; }; /** * Describes the message river.GetAppMetadataResponse. * Use `create(GetAppMetadataResponseSchema)` to create a new message. */ export declare const GetAppMetadataResponseSchema: GenMessage; /** * Validate bot username * * @generated from message river.ValidateBotNameRequest */ export type ValidateBotNameRequest = Message<"river.ValidateBotNameRequest"> & { /** * @generated from field: string username = 1; */ username: string; }; /** * Describes the message river.ValidateBotNameRequest. * Use `create(ValidateBotNameRequestSchema)` to create a new message. */ export declare const ValidateBotNameRequestSchema: GenMessage; /** * @generated from message river.ValidateBotNameResponse */ export type ValidateBotNameResponse = Message<"river.ValidateBotNameResponse"> & { /** * @generated from field: bool is_available = 1; */ isAvailable: boolean; /** * @generated from field: string error_message = 2; */ errorMessage: string; }; /** * Describes the message river.ValidateBotNameResponse. * Use `create(ValidateBotNameResponseSchema)` to create a new message. */ export declare const ValidateBotNameResponseSchema: GenMessage; /** * Set app active status * * @generated from message river.SetAppActiveStatusRequest */ export type SetAppActiveStatusRequest = Message<"river.SetAppActiveStatusRequest"> & { /** * @generated from field: bytes app_id = 1; */ appId: Uint8Array; /** * @generated from field: bool active = 2; */ active: boolean; }; /** * Describes the message river.SetAppActiveStatusRequest. * Use `create(SetAppActiveStatusRequestSchema)` to create a new message. */ export declare const SetAppActiveStatusRequestSchema: GenMessage; /** * @generated from message river.SetAppActiveStatusResponse */ export type SetAppActiveStatusResponse = Message<"river.SetAppActiveStatusResponse"> & {}; /** * Describes the message river.SetAppActiveStatusResponse. * Use `create(SetAppActiveStatusResponseSchema)` to create a new message. */ export declare const SetAppActiveStatusResponseSchema: GenMessage; /** * ForwardSettingValue is an app-specific setting applied to all space channels the app is a member * of. It specifies which messages the app registry service will consider relevant for forwarding to * the bot. * * @generated from enum river.ForwardSettingValue */ export declare enum ForwardSettingValue { /** * FORWARD_SETTING_UNSPECIFIED not set, assumes FORWARD_SETTING_MENTIONS_REPLIES_REACTIONS as the default setting. * * @generated from enum value: FORWARD_SETTING_UNSPECIFIED = 0; */ FORWARD_SETTING_UNSPECIFIED = 0, /** * FORWARD_SETTING_ALL_MESSAGES indicates that the app would like all messages forwarded for each channel * it is a member of. * * @generated from enum value: FORWARD_SETTING_ALL_MESSAGES = 1; */ FORWARD_SETTING_ALL_MESSAGES = 1, /** * FORWARD_SETTING_MENTIONS_REPLIES_REACTIONS indicates that the app would only like messages forwarded in * channels it has membership in if either the app is mentioned, or the message is a direct reply or reaction * to it's own post. This is the default. * * @generated from enum value: FORWARD_SETTING_MENTIONS_REPLIES_REACTIONS = 2; */ FORWARD_SETTING_MENTIONS_REPLIES_REACTIONS = 2, /** * SPACE_CHANNEL_SETTING_NO_MESSAGES indicates that the user won't receive notifications of any channel in the space. * * @generated from enum value: FORWARD_SETTING_NO_MESSAGES = 3; */ FORWARD_SETTING_NO_MESSAGES = 3 } /** * Describes the enum river.ForwardSettingValue. */ export declare const ForwardSettingValueSchema: GenEnum; /** * AppRegistryService allows apps and app owners to register apps, and set app-related preferences for messages added * to channels the app has membership in. * * These functions are all authenticated, with the exception of GetStatus, and require a session token to be passed * through the authorization metadata. * This session token can be obtained from the AuthenticationService. If the session token is missing or invalid an * Err_UNAUTHENTICATED (code=16) is returned. * * @generated from service river.AppRegistryService */ export declare const AppRegistryService: GenService<{ /** * @generated from rpc river.AppRegistryService.Register */ register: { methodKind: "unary"; input: typeof RegisterRequestSchema; output: typeof RegisterResponseSchema; }; /** * Webhook status / registration. * * @generated from rpc river.AppRegistryService.RegisterWebhook */ registerWebhook: { methodKind: "unary"; input: typeof RegisterWebhookRequestSchema; output: typeof RegisterWebhookResponseSchema; }; /** * @generated from rpc river.AppRegistryService.GetStatus */ getStatus: { methodKind: "unary"; input: typeof GetStatusRequestSchema; output: typeof GetStatusResponseSchema; }; /** * App settings management. * * @generated from rpc river.AppRegistryService.SetAppSettings */ setAppSettings: { methodKind: "unary"; input: typeof SetAppSettingsRequestSchema; output: typeof SetAppSettingsResponseSchema; }; /** * @generated from rpc river.AppRegistryService.GetAppSettings */ getAppSettings: { methodKind: "unary"; input: typeof GetAppSettingsRequestSchema; output: typeof GetAppSettingsResponseSchema; }; /** * App metadata management. * * @generated from rpc river.AppRegistryService.UpdateAppMetadata */ updateAppMetadata: { methodKind: "unary"; input: typeof UpdateAppMetadataRequestSchema; output: typeof UpdateAppMetadataResponseSchema; }; /** * @generated from rpc river.AppRegistryService.GetAppMetadata */ getAppMetadata: { methodKind: "unary"; input: typeof GetAppMetadataRequestSchema; output: typeof GetAppMetadataResponseSchema; }; /** * RotateSecret allows the bot owner to rotate the shared secret the app registry * service uses to authorize itself to the bot when making webhook calls. * * @generated from rpc river.AppRegistryService.RotateSecret */ rotateSecret: { methodKind: "unary"; input: typeof RotateSecretRequestSchema; output: typeof RotateSecretResponseSchema; }; /** * GetSession allows the bot owner to query for specific session keys. * * @generated from rpc river.AppRegistryService.GetSession */ getSession: { methodKind: "unary"; input: typeof GetSessionRequestSchema; output: typeof GetSessionResponseSchema; }; /** * ValidateBotName checks if a bot name is available for use. * * @generated from rpc river.AppRegistryService.ValidateBotName */ validateBotName: { methodKind: "unary"; input: typeof ValidateBotNameRequestSchema; output: typeof ValidateBotNameResponseSchema; }; /** * SetAppActiveStatus allows the bot owner or bot to activate or deactivate the app. * Deactivated apps won't receive forwarded messages but retain their configuration. * * @generated from rpc river.AppRegistryService.SetAppActiveStatus */ setAppActiveStatus: { methodKind: "unary"; input: typeof SetAppActiveStatusRequestSchema; output: typeof SetAppActiveStatusResponseSchema; }; }>; //# sourceMappingURL=apps_pb.d.ts.map