UNPKG

consortium

Version:

Remote control and session sharing CLI for AI coding agents

33 lines (31 loc) 1.1 kB
function hasIncompleteOptions(text) { const hasOpeningTag = /<options>/i.test(text); const hasClosingTag = /<\/options>/i.test(text); return hasOpeningTag && !hasClosingTag; } function parseOptionsFromText(text) { const optionsRegex = /<options>\s*([\s\S]*?)\s*<\/options>/i; const match = text.match(optionsRegex); if (!match) { return { text: text.trim(), options: [] }; } const optionsBlock = match[1]; const optionRegex = /<option>(.*?)<\/option>/gi; const options = []; let optionMatch; while ((optionMatch = optionRegex.exec(optionsBlock)) !== null) { const optionText = optionMatch[1].trim(); if (optionText) { options.push(optionText); } } const textWithoutOptions = text.replace(optionsRegex, "").trim(); return { text: textWithoutOptions, options }; } function formatOptionsXml(options) { if (options.length === 0) { return ""; } return "\n<options>\n" + options.map((opt) => ` <option>${opt}</option>`).join("\n") + "\n</options>"; } export { formatOptionsXml as f, hasIncompleteOptions as h, parseOptionsFromText as p };