(input: IssueInput)
| 38 | } |
| 39 | |
| 40 | function buildIssueBody(input: IssueInput): string { |
| 41 | const comment = input.comment?.trim(); |
| 42 | const repro = input.repoPublicUrl |
| 43 | ? `Published minimal repro: ${input.repoPublicUrl}` |
| 44 | : "_Publishing the repro failed, no public link available._"; |
| 45 | |
| 46 | return [ |
| 47 | `**Rating:** ${input.rating}/5`, |
| 48 | "", |
| 49 | "## Comment", |
| 50 | comment ? truncate(comment, COMMENT_MAX) : "_No comment provided._", |
| 51 | "", |
| 52 | "## Minimal repro", |
| 53 | repro, |
| 54 | "", |
| 55 | "## Environment", |
| 56 | "```", |
| 57 | input.environment || "(unavailable)", |
| 58 | `cli=${input.cliVersion}`, |
| 59 | "```", |
| 60 | "", |
| 61 | "---", |
| 62 | "_Filed via `hyperframes feedback --file-issue`._", |
| 63 | ].join("\n"); |
| 64 | } |
| 65 | |
| 66 | export function buildIssueUrl(input: IssueInput): string { |
| 67 | const repo = normalizeRepoUrl(input.repoUrl); |
no test coverage detected