@adonis-agora/agent
Version:
Governed, durable-backed AI agent (chat + tool-calling + governance) for AdonisJS — part of the Agora ecosystem.
22 lines • 1.41 kB
TypeScript
import type { ElicitationInputType, ElicitationQuestion } from '../../../index.js';
export { type ElicitationInput, type ElicitationInputType, validateElicitationAnswer as validateAnswer, validateElicitationValue as validateAnswerValue, } from '../../../elicitation-input.js';
/** What a form control can hand over: a field's value, a checkbox's state, a picked date, a list. */
export type RawAnswer = string | number | boolean | Date | null | undefined | readonly RawAnswer[];
/** The question fields {@link coerceAnswer} reads. A transcript question and a core one both fit. */
export type CoercibleQuestion = Pick<ElicitationQuestion, 'multiple'> & {
input?: {
type: ElicitationInputType;
} | null;
};
/**
* Turn whatever a form control produced into the `string[]` the answer route takes, in the
* question's canonical form: numbers as decimals, booleans as `"true"`/`"false"`, dates as
* `YYYY-MM-DD` (a `Date` is read as the local calendar day), trimmed where whitespace means
* nothing. An empty value becomes `[]` — no answer, not an empty string. A single-choice question
* keeps the first value.
*
* Coercion never judges: pair it with {@link validateAnswer} (the same rules the server applies) to
* say what is wrong before sending.
*/
export declare function coerceAnswer(question: CoercibleQuestion, raw: RawAnswer): string[];
//# sourceMappingURL=answers.d.ts.map