| export class Inputs { | |
| constructor( | |
| public systemMessage?: string, | |
| public title?: string, | |
| public description?: string, | |
| public rawSummary?: string, | |
| public shortSummary?: string, | |
| public filename?: string, | |
| public fileContent?: string, | |
| public fileDiff?: string, | |
| public patches?: string, | |
| public diff?: string, | |
| public commentChain?: string, | |
| public comment?: string, | |
| public suggestion?: string, | |
| public error?: string, | |
| public staticAnalysis?: string, | |
| public issues?: string, | |
| public previousFindings?: string | |
| ) {} | |
| clone(): Inputs { | |
| return new Inputs( | |
| this.systemMessage, | |
| this.title, | |
| this.description, | |
| this.rawSummary, | |
| this.shortSummary, | |
| this.filename, | |
| this.fileContent, | |
| this.fileDiff, | |
| this.patches, | |
| this.diff, | |
| this.commentChain, | |
| this.comment, | |
| this.suggestion, | |
| this.error, | |
| this.staticAnalysis, | |
| this.issues, | |
| this.previousFindings | |
| ) | |
| } | |
| render(content: string): string { | |
| if (!content) return '' | |
| const subs: [string, string | undefined][] = [ | |
| ['$system_message', this.systemMessage], | |
| ['$title', this.title], | |
| ['$description', this.description], | |
| ['$raw_summary', this.rawSummary], | |
| ['$short_summary', this.shortSummary], | |
| ['$filename', this.filename], | |
| ['$file_content', this.fileContent], | |
| ['$file_diff', this.fileDiff], | |
| ['$patches', this.patches], | |
| ['$diff', this.diff], | |
| ['$comment_chain', this.commentChain], | |
| ['$comment', this.comment], | |
| ['$suggestion', this.suggestion], | |
| ['$error', this.error], | |
| ['$static_analysis', this.staticAnalysis], | |
| ['$issues', this.issues], | |
| ['$previous_findings', this.previousFindings] | |
| ] | |
| for (const [key, val] of subs) { | |
| if (val) { | |
| if (key === '$static_analysis') { | |
| const MAX = 1000 | |
| content = content.replace( | |
| key, | |
| val.length > MAX ? val.substring(0, MAX) + `\n[...truncated]` : val | |
| ) | |
| } else { | |
| content = content.replace(key, val) | |
| } | |
| } | |
| } | |
| return content | |
| } | |
| } | |