#!/usr/bin/env node import process from "node:process"; function getEnv(name, fallback = "") { return String(process.env[name] ?? fallback).trim(); } function sh(value) { return JSON.stringify(String(value ?? "")); } function escapeRegExp(s) { return String(s).replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); } function pickLine(body, key) { const re = new RegExp(`^\\s*${escapeRegExp(key)}\\s*:\\s*([^\\n\\r]+)`, "mi"); const m = String(body || "").match(re); return m ? m[1].trim() : ""; } function pickHeadingValue(body, headingKey) { const re = new RegExp( `^##\\s*${escapeRegExp(headingKey)}[^\\n]*\\n([\\s\\S]*?)(?=\\n##\\s|\\n\\s*$)`, "mi" ); const m = String(body || "").match(re); if (!m) return ""; const lines = m[1].split(/\r?\n/).map((l) => l.trim()); for (const l of lines) { if (!l) continue; if (l.startsWith("