UNPKG

consortium

Version:

Remote control and session sharing CLI for AI coding agents

37 lines (34 loc) 1.18 kB
'use strict'; 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>"; } exports.formatOptionsXml = formatOptionsXml; exports.hasIncompleteOptions = hasIncompleteOptions; exports.parseOptionsFromText = parseOptionsFromText;