Fix employee count field mapping - Add employeeCount field to LLM schema and prompt - Update frontend to use correct dealOverview.employeeCount field - Add employee count to CIMReviewTemplate interface and rendering - Include employee count in PDF summary generation - Fix incorrect mapping from customerConcentrationRisk to proper employeeCount field

This commit is contained in:
Jon
2025-07-29 00:39:08 -04:00
parent a4c8aac92d
commit 785195908f
5 changed files with 9 additions and 2 deletions

View File

@@ -13,6 +13,7 @@ export const cimReviewSchema = z.object({
reviewers: z.string().describe("Reviewer(s)"),
cimPageCount: z.string().describe("CIM Page Count"),
statedReasonForSale: z.string().describe("Stated Reason for Sale (if provided)"),
employeeCount: z.string().describe("Number of employees (if stated in document)"),
}).describe("Deal Overview section"),
businessDescription: z.object({

View File

@@ -334,7 +334,8 @@ Please correct these errors and generate a new, valid JSON object. Pay close att
"dateReviewed": "Date Reviewed",
"reviewers": "Reviewer(s)",
"cimPageCount": "CIM Page Count",
"statedReasonForSale": "Stated Reason for Sale (if provided)"
"statedReasonForSale": "Stated Reason for Sale (if provided)",
"employeeCount": "Number of employees (if stated in document)"
},
"businessDescription": {
"coreOperationsSummary": "Core Operations Summary (3-5 sentences)",

View File

@@ -499,6 +499,9 @@ export class OptimizedAgenticRAGProcessor {
if (analysisData.dealOverview.geography) {
summary += `**Geography:** ${analysisData.dealOverview.geography}\n\n`;
}
if (analysisData.dealOverview.employeeCount) {
summary += `**Employee Count:** ${analysisData.dealOverview.employeeCount}\n\n`;
}
if (analysisData.dealOverview.dealSource) {
summary += `**Deal Source:** ${analysisData.dealOverview.dealSource}\n\n`;
}

View File

@@ -345,7 +345,7 @@ const Dashboard: React.FC = () => {
// For revenue and ebitda, we'll take the most recent value from the financial summary.
revenue: cimReviewData?.financialSummary?.financials?.ltm?.revenue || 'N/A',
ebitda: cimReviewData?.financialSummary?.financials?.ltm?.ebitda || 'N/A',
employees: cimReviewData?.businessDescription?.customerBaseOverview?.customerConcentrationRisk || 'Not specified',
employees: cimReviewData?.dealOverview?.employeeCount || 'Not specified',
founded: 'Not specified', // This field is not in the new schema
location: cimReviewData?.dealOverview?.geography || 'Not specified',
summary: cimReviewData?.preliminaryInvestmentThesis?.keyAttractions || 'No summary available',

View File

@@ -15,6 +15,7 @@ interface CIMReviewData {
reviewers: string;
cimPageCount: string;
statedReasonForSale: string;
employeeCount: string;
};
// Business Description
@@ -440,6 +441,7 @@ const CIMReviewTemplate: React.FC<CIMReviewTemplateProps> = ({
{renderField('Date Reviewed', 'dealOverview.dateReviewed', 'date')}
{renderField('Reviewer(s)', 'dealOverview.reviewers')}
{renderField('CIM Page Count', 'dealOverview.cimPageCount')}
{renderField('Employee Count', 'dealOverview.employeeCount')}
</div>
{renderField('Stated Reason for Sale (if provided)', 'dealOverview.statedReasonForSale', 'textarea', 'Enter the stated reason for sale...', 4)}
</div>