UNPKG

@atomist/sdm

Version:

Atomist Software Delivery Machine SDK

46 lines 1.91 kB
import { HandlerContext } from "@atomist/automation-client/lib/HandlerContext"; import { ParameterStyle } from "../registration/CommandRegistration"; import { ParametersObjectValue } from "../registration/ParametersDefinition"; /** * Object with properties defining parameters. Useful for combination via spreads. */ export declare type ParametersPromptObject<PARAMS, K extends keyof PARAMS = keyof PARAMS> = Record<K, ParametersObjectValue & { force?: boolean; }>; /** * Factory to create a ParameterPrompt */ export declare type ParameterPromptFactory<PARAMS> = (ctx: HandlerContext) => ParameterPrompt<PARAMS>; /** * Options to configure the parameter prompt */ export interface ParameterPromptOptions { /** Optional thread identifier to send this message to or true to send * this to the message that triggered this command. */ thread?: boolean | string; /** * Configure strategy on how to ask for parameters in chat or web */ parameterStyle?: ParameterStyle; /** * Configure auto submit strategy for when all required parameters are collected */ autoSubmit?: boolean; } /** * ParameterPrompts let the caller prompt for the provided parameters */ export declare type ParameterPrompt<PARAMS> = (parameters: ParametersPromptObject<PARAMS>, options?: ParameterPromptOptions) => Promise<PARAMS>; /** * No-op NoParameterPrompt implementation that never prompts for new parameters * @constructor */ export declare const NoParameterPrompt: ParameterPrompt<any>; export declare const AtomistContinuationMimeType = "application/x-atomist-continuation+json"; /** * Default ParameterPromptFactory that uses the WebSocket connection to send parameter prompts to the backend. * @param ctx */ export declare function commandRequestParameterPromptFactory<T>(ctx: HandlerContext): ParameterPrompt<T>; //# sourceMappingURL=parameterPrompt.d.ts.map