PRININIT / src /inputs.ts
Rachit-Tw's picture
Upload 50 files
7d9309d verified
Raw
History Blame Contribute Delete
2.26 kB
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
}
}