import { TurnContext } from 'botbuilder'; import { Memory } from '../MemoryFork'; import { ChatCompletionAction } from '../models'; import { Tokenizer } from '../tokenizers'; import { PromptResponse } from '../types'; import { PromptResponseValidator, Validation } from './PromptResponseValidator'; /** * A validated action call. */ export interface ValidatedChatCompletionAction { /** * Name of the action to call. */ name: string; /** * Arguments to pass to the action. */ parameters: Record; } /** * Validates action calls returned by the model. */ export declare class ActionResponseValidator implements PromptResponseValidator { private readonly _actions; private readonly _isRequired; private readonly _noun; private readonly _Noun; /** * Creates a new `ActionResponseValidator` instance. * @param {ChatCompletionAction[]} actions List of supported actions. * @param {boolean} isRequired Whether the response is required to call an action. * @param {string} noun Optional. Name of the action to use in feedback messages. Defaults to `action`. * @param {string} Noun Optional. Name of the action to use in feedback messages. Defaults to `Action`. */ constructor(actions: ChatCompletionAction[], isRequired: boolean, noun?: string, Noun?: string); /** * Gets a list of the actions configured for the validator. * @returns {ChatCompletionAction[]} A list of the actions configured for the validator. */ get actions(): ChatCompletionAction[]; /** * Validates a response to a prompt. * @param {TurnContext} context Context for the current turn of conversation with the user. * @param {Memory} memory An interface for accessing state values. * @param {Tokenizer} tokenizer Tokenizer to use for encoding and decoding text. * @param {PromptResponse} response Response to validate. * @param {number} remaining_attempts Number of remaining attempts to validate the response. * @returns {Promise>} A `Validation` object. */ validateResponse(context: TurnContext, memory: Memory, tokenizer: Tokenizer, response: PromptResponse, remaining_attempts: number): Promise>; } //# sourceMappingURL=ActionResponseValidator.d.ts.map