MCPcopy Create free account
hub / github.com/github/gh-aw / formatMissingTools

Function formatMissingTools

actions/setup/js/missing_info_formatter.cjs:35–46  ·  view source on GitHub ↗

* Format missing_tool messages into markdown list items * @param {Array<{tool: string | null, reason: string, alternatives?: string | null}>} missingTools - Missing tool messages * @returns {string} Formatted markdown list

(missingTools)

Source from the content-addressed store, hash-verified

33 * @returns {string} Formatted markdown list
34 */
35function formatMissingTools(missingTools) {
36 if (!missingTools || missingTools.length === 0) return "";
37
38 const items = missingTools.map(item => `- **${escapeMarkdown(item.tool)}**: ${escapeMarkdown(item.reason)}`);
39 const alternativesRows = missingTools.filter(item => item.alternatives).map(item => `| ${escapeMarkdownTableCell(item.tool)} | ${escapeMarkdownTableCell(item.alternatives)} |`);
40
41 if (alternativesRows.length === 0) {
42 return items.join("\n");
43 }
44
45 return `${items.join("\n")}\n\nAlternatives:\n\n| Tool | Alternative |\n| --- | --- |\n${alternativesRows.join("\n")}`;
46}
47
48/**
49 * Format missing_data messages into markdown list items

Calls 2

escapeMarkdownFunction · 0.85
escapeMarkdownTableCellFunction · 0.70

Tested by

no test coverage detected