Add property assessor assess command

This commit is contained in:
2026-03-27 22:35:57 -05:00
parent e6d987d725
commit c58a2a43c8
6 changed files with 438 additions and 11 deletions
+18
View File
@@ -2,12 +2,14 @@
import minimist from "minimist";
import { assessProperty } from "./assessment.js";
import { resolvePublicRecords } from "./public-records.js";
import { ReportValidationError, loadReportPayload, renderReportPdf } from "./report-pdf.js";
function usage(): void {
process.stdout.write(`property-assessor\n
Commands:
assess --address "<address>" [--recipient-email "<email>"] [--output "<report.pdf>"] [--parcel-id "<id>"] [--listing-geo-id "<id>"] [--listing-source-url "<url>"]
locate-public-records --address "<address>" [--parcel-id "<id>"] [--listing-geo-id "<id>"] [--listing-source-url "<url>"]
render-report --input "<payload.json>" --output "<report.pdf>"
`);
@@ -27,6 +29,22 @@ async function main(): Promise<void> {
process.exit(0);
}
if (command === "assess") {
if (!argv.address) {
throw new Error("Missing required option: --address");
}
const payload = await assessProperty({
address: argv.address,
recipientEmails: argv["recipient-email"],
output: argv.output,
parcelId: argv["parcel-id"],
listingGeoId: argv["listing-geo-id"],
listingSourceUrl: argv["listing-source-url"]
});
process.stdout.write(`${JSON.stringify(payload, null, 2)}\n`);
return;
}
if (command === "locate-public-records") {
if (!argv.address) {
throw new Error("Missing required option: --address");