import { LogLevel } from "../logging"; import { ProxySubjectStatus } from "../proxy"; import { ConnectRequest, ConnectRequestData, ConnectResponse } from "../request"; import { SubscriptionHandlerId, SubscriptionTopic } from "./subscription"; import { HasUpstreamMessageOrigin } from "./upstream-message-origin"; export type RequestMessage = { type: "request"; } & ConnectRequest & HasUpstreamMessageOrigin; export type SubscribeMessage = { type: "subscribe"; topic: SubscriptionTopic; handlerId: SubscriptionHandlerId; } & HasUpstreamMessageOrigin; export type UnsubscribeMessage = { type: "unsubscribe"; topic: SubscriptionTopic; } & HasUpstreamMessageOrigin; export type LogMessage = { type: "log"; level: LogLevel; source: string; time: Date; message: string; loggerId: string; data?: Record; context: Record; } & HasUpstreamMessageOrigin; export type MetricMessage = { type: "metric"; namespace: string; metricName: string; unit: string; value: number; time: Date; dimensions: Record; optionalDimensions: Record; } & HasUpstreamMessageOrigin; export type CloseChannelMessage = { type: "closeChannel"; }; export type HealthCheckMessage = { type: "healthCheck"; } & HasUpstreamMessageOrigin; export type UpstreamMessage = RequestMessage | SubscribeMessage | UnsubscribeMessage | LogMessage | MetricMessage | CloseChannelMessage | HealthCheckMessage; export type AcknowledgeMessage = { type: "acknowledge"; connectionId: string; status: T; healthCheckInterval: number; }; export type ErrorMessage = { type: "error"; message: string; key: string; isFatal: boolean; status: T; details?: Record; }; export type ResponseMessage = { type: "response"; } & ConnectResponse; export type PublishMessage = { type: "publish"; topic: SubscriptionTopic; data: object; handlerId?: SubscriptionHandlerId; }; export type HealthCheckResponseMessage = { type: "healthCheckResponse"; time: number; counter: number; }; export type DownstreamMessage = AcknowledgeMessage | ResponseMessage | PublishMessage | ErrorMessage | HealthCheckResponseMessage; //# sourceMappingURL=messages.d.ts.map