Files
prowler/ui/lib/lighthouse/prompts.ts
2026-07-16 16:02:22 +02:00

43 lines
1.3 KiB
TypeScript

export interface FindingAnalysisPromptInput {
findingId: string | null | undefined;
providerUid: string | null | undefined;
resourceUid: string | null | undefined;
checkId: string | null | undefined;
severity: string | null | undefined;
status: string | null | undefined;
detail: string | null | undefined;
risk: string | null | undefined;
}
function getPromptValue(value: string | null | undefined): string {
return typeof value === "string" && value.trim().length > 0
? value
: "unknown";
}
export function buildFindingAnalysisPrompt({
findingId,
providerUid,
resourceUid,
checkId,
severity,
status,
detail,
risk,
}: FindingAnalysisPromptInput): string {
return [
"Get all the possible information from Prowler Application and from Prowler Hub to have the full context.",
"",
"Analyze this security finding and provide remediation guidance:",
"",
`- **Finding ID**: ${getPromptValue(findingId)}`,
`- **Provider UID**: ${getPromptValue(providerUid)}`,
`- **Resource UID**: ${getPromptValue(resourceUid)}`,
`- **Check ID**: ${getPromptValue(checkId)}`,
`- **Severity**: ${getPromptValue(severity)}`,
`- **Status**: ${getPromptValue(status)}`,
`- **Detail**: ${getPromptValue(detail)}`,
`- **Risk**: ${getPromptValue(risk)}`,
].join("\n");
}