mindstudio
Version:
Client library for MindStudio AI Workers
54 lines (53 loc) • 2.14 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Prompts = void 0;
const inquirer_1 = __importDefault(require("inquirer"));
class Prompts {
async selectWorkerAndWorkflow(config) {
const { worker } = await inquirer_1.default.prompt([
{
type: "list",
name: "worker",
message: "Select a worker:",
choices: config.workers.map((worker) => ({
name: worker.name || worker.id, // Display name if available, fallback to id
value: worker.id,
})),
},
]);
const selectedWorker = config.workers.find((w) => w.id === worker);
const { workflow } = await inquirer_1.default.prompt([
{
type: "list",
name: "workflow",
message: "Select a workflow:",
choices: selectedWorker === null || selectedWorker === void 0 ? void 0 : selectedWorker.workflows.map((wf) => ({
name: wf.name || wf.id, // Display name if available, fallback to id
value: wf.id,
})),
},
]);
return { worker, workflow };
}
async getWorkflowInput(config, worker, workflow) {
var _a;
const workflowConfig = (_a = config.workers
.find(({ id }) => id === worker)) === null || _a === void 0 ? void 0 : _a.workflows.find(({ id }) => id === workflow);
const input = {};
for (const key of (workflowConfig === null || workflowConfig === void 0 ? void 0 : workflowConfig.launchVariables) || []) {
const { value } = await inquirer_1.default.prompt([
{
type: "input",
name: "value",
message: `Enter value for ${key}:`,
},
]);
input[key] = value;
}
return input;
}
}
exports.Prompts = Prompts;