openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
42 lines (41 loc) • 1.04 kB
JavaScript
//#region src/commands/non-interactive-prompter.ts
/** Builds a WizardPrompter for commands that must fail instead of prompting. */
function createNonInteractiveLoggingPrompter(runtime, formatPromptError) {
const unavailable = (message) => Promise.reject(new Error(formatPromptError(message)));
return {
async intro(title) {
runtime.log(title);
},
async outro(message) {
runtime.log(message);
},
async note(message, title) {
runtime.log(title ? `${title}\n${message}` : message);
},
async select(params) {
return unavailable(params.message);
},
async multiselect(params) {
return unavailable(params.message);
},
async text(params) {
return unavailable(params.message);
},
async confirm(params) {
return unavailable(params.message);
},
progress(label) {
runtime.log(label);
return {
update(message) {
runtime.log(message);
},
stop(message) {
if (message) runtime.log(message);
}
};
}
};
}
//#endregion
export { createNonInteractiveLoggingPrompter as t };