eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
24 lines (23 loc) • 1.02 kB
TypeScript
import type { InputOption, InputResponse } from "#shared/input.js";
/** The request fields plain text is resolved against. */
export interface TextResolvableRequest {
readonly allowFreeform?: boolean;
readonly options?: readonly InputOption[];
readonly requestId: string;
}
/**
* Maps freeform text to an {@link InputResponse} for a single request.
*
* Resolution order:
* 1. Exact option ID (case-insensitive)
* 2. Exact option label (case-insensitive)
* 3. 1-based numeric index into the options array
* 4. Freeform text when {@link InputRequest.allowFreeform} is `true` or the
* request has no options
*/
export declare function resolveTextToResponse(text: string, request: TextResolvableRequest): InputResponse | undefined;
/**
* Resolves text against all pending requests, returning one
* {@link InputResponse} for each request that could be matched.
*/
export declare function resolveTextToResponses(text: string, requests: readonly TextResolvableRequest[]): readonly InputResponse[];