{"version":3,"sources":["../../src/models/invoke-response.ts"],"names":[],"mappings":"AAmCO,SAAS,iBAAiB,KAAA,EAAqC;AACpE,EAAA,OAAO,OAAO,KAAA,KAAU,QAAA,IAAY,YAAY,KAAA,IAAS,OAAO,MAAM,MAAA,KAAW,QAAA;AACnF","file":"invoke-response.mjs","sourcesContent":["import {\n  AdaptiveCardActionResponse,\n  ConfigResponse,\n  MessagingExtensionActionResponse,\n  MessagingExtensionResponse,\n  TabResponse,\n  TaskModuleResponse,\n  TokenExchangeInvokeResponse,\n} from '../models';\n\n/**\n * Represents a response returned by a bot when it receives an `invoke` activity.\n *\n * This interface supports the framework and is not intended to be called directly for your code.\n */\nexport type InvokeResponse<T extends keyof InvokeResponseBody = any> = {\n  /**\n   * The HTTP status code of the response.\n   */\n  status: number;\n\n  /**\n   * Optional. The body of the response.\n   */\n  body?: InvokeResponseBody[T];\n};\n\n/**\n * @hidden\n * @internal\n *\n * Type guard to check if a value is an InvokeResponse.\n * @param value value to compare\n * @returns true if value is type of InvokeResponse\n */\nexport function isInvokeResponse(value: any): value is InvokeResponse {\n  return typeof value === 'object' && 'status' in value && typeof value.status === 'number';\n}\n\ntype InvokeResponseBody = {\n  'config/fetch': ConfigResponse;\n  'config/submit': ConfigResponse;\n  'fileConsent/invoke': void;\n  'actionableMessage/executeAction': void;\n  'composeExtension/queryLink': MessagingExtensionResponse;\n  'composeExtension/anonymousQueryLink': MessagingExtensionResponse;\n  'composeExtension/query': MessagingExtensionResponse;\n  'composeExtension/selectItem': MessagingExtensionResponse;\n  'composeExtension/submitAction': MessagingExtensionActionResponse;\n  'composeExtension/fetchTask': MessagingExtensionActionResponse;\n  'composeExtension/querySettingUrl': MessagingExtensionResponse;\n  'composeExtension/setting': MessagingExtensionResponse;\n  'composeExtension/onCardButtonClicked': void;\n  'task/fetch': TaskModuleResponse;\n  'task/submit': TaskModuleResponse;\n  'tab/fetch': TabResponse;\n  'tab/submit': TabResponse;\n  'message/fetchTask': TaskModuleResponse;\n  'message/submitAction': void;\n  'handoff/action': void;\n  'signin/tokenExchange': TokenExchangeInvokeResponse | void;\n  'signin/verifyState': void;\n  'signin/failure': void;\n  'adaptiveCard/action': AdaptiveCardActionResponse;\n};\n"]}