@atomist/automation-client
Version:
Atomist API for software low-level client
86 lines • 3.62 kB
TypeScript
import { SlackMessage } from "@atomist/slack-messages";
import * as WebSocket from "ws";
import { Configuration } from "../../../configuration";
import { Destination, MessageOptions, RequiredMessageOptions } from "../../../spi/message/MessageClient";
import { MessageClientSupport } from "../../../spi/message/MessageClientSupport";
import { CommandIncoming, EventIncoming, Source } from "../RequestProcessor";
import { WebSocketLifecycle } from "./WebSocketLifecycle";
export declare abstract class AbstractMessageClient extends MessageClientSupport {
protected readonly request: CommandIncoming | EventIncoming;
protected readonly correlationId: string;
protected readonly team: {
id: string;
name?: string;
};
protected readonly source: Source;
protected readonly configuration: Configuration;
constructor(request: CommandIncoming | EventIncoming, correlationId: string, team: {
id: string;
name?: string;
}, source: Source, configuration: Configuration);
delete(destinations: Destination | Destination[], options: RequiredMessageOptions): Promise<void>;
protected doSend(msg: string | SlackMessage, destinations: Destination | Destination[], options?: MessageOptions): Promise<any>;
protected abstract sendResponse(response: any): Promise<void>;
private ts;
}
export declare class AbstractWebSocketMessageClient extends AbstractMessageClient {
protected readonly ws: WebSocketLifecycle;
protected readonly request: CommandIncoming | EventIncoming;
protected readonly correlationId: string;
protected readonly team: {
id: string;
name?: string;
};
protected readonly source: Source;
protected readonly configuration: Configuration;
constructor(ws: WebSocketLifecycle, request: CommandIncoming | EventIncoming, correlationId: string, team: {
id: string;
name?: string;
}, source: Source, configuration: Configuration);
protected sendResponse(response: any): Promise<void>;
}
export declare class WebSocketCommandMessageClient extends AbstractWebSocketMessageClient {
constructor(request: CommandIncoming, ws: WebSocketLifecycle, configuration: Configuration);
protected doSend(msg: string | SlackMessage, destinations: Destination | Destination[], options?: MessageOptions): Promise<any>;
}
export declare class WebSocketEventMessageClient extends AbstractWebSocketMessageClient {
constructor(request: EventIncoming, ws: WebSocketLifecycle, configuration: Configuration);
protected doSend(msg: string | SlackMessage, destinations: Destination | Destination[], options?: MessageOptions): Promise<any>;
}
export declare function mapActions(msg: SlackMessage): Action[];
export declare function sendMessage(message: any, ws: WebSocket, log?: boolean): void;
export declare function clean(addresses: string[] | string): string[];
export interface HandlerResponse {
api_version: "1";
correlation_id: any;
team: {
id: string;
name?: string;
};
command?: string;
event?: string;
status?: {
code: number;
reason: string;
};
source?: Source;
destinations?: any[];
content_type?: string;
body?: string;
id?: string;
timestamp?: number;
ttl?: number;
post_mode?: "ttl" | "always" | "update_only";
actions?: Action[];
}
export interface Action {
id: string;
parameter_name?: string;
command: string;
parameters: Parameter[];
}
export interface Parameter {
name: string;
value: string;
}
//# sourceMappingURL=WebSocketMessageClient.d.ts.map