@adonis-agora/agent
Version:
Governed, durable-backed AI agent (chat + tool-calling + governance) for AdonisJS — part of the Agora ecosystem.
45 lines • 2.03 kB
TypeScript
import type { ElicitationQuestion } from '../elicitation.js';
/** How a text channel words a question. English defaults; override any (`texts.questions`). */
export interface ChannelQuestionTexts {
/** Above the first question of a set with more than one: `(1/3)`. */
counter(index: number, total: number): string;
/** Under single-choice options. */
pickOne: string;
/** Under multiple-choice options. */
pickMany: string;
/** Under options a typed answer may replace. */
orWrite: string;
/** The word that keeps a question's pre-picked answers (or leaves it unanswered). */
skipWord: string;
/** How to keep the pre-picked answers, shown when a question has some. */
keep(skipWord: string, labels: string): string;
/** The answer could not be read; the question follows. */
invalid(problem: string): string;
}
export declare const DEFAULT_CHANNEL_QUESTION_TEXTS: ChannelQuestionTexts;
/** Brazilian Portuguese question texts — part of `ptBrChannelTexts`. */
export declare const ptBrChannelQuestionTexts: ChannelQuestionTexts;
/** One question as a text message: its prompt, numbered options, and how to answer. */
export declare function formatChannelQuestion(question: ElicitationQuestion, position: {
index: number;
total: number;
preamble?: string;
}, texts?: ChannelQuestionTexts): string;
export type ChannelAnswer = {
status: 'answer';
values: string[];
}
/** Keep the question's defaults: its id is left out of the reply. */
| {
status: 'skip';
} | {
status: 'invalid';
problem: string;
};
/**
* Read a chat message as the answer to `question`: an option's number or label (several, separated
* by commas, for a multiple choice), a typed value for a typed question or one that allows free
* text, or the skip word. Checked against the question's own rules.
*/
export declare function parseChannelAnswer(question: ElicitationQuestion, text: string, skipWord?: string): ChannelAnswer;
//# sourceMappingURL=questions.d.ts.map