import { propertyDataCall } from "../lib/propertydata-api.js"; // Every endpoint tool takes the same shape: { accountId, ...params }. // Per-tool param schemas are enforced by zod in index.ts; this layer only // forwards values to the HTTP client. type Args = Record & { accountId: string }; function call(toolName: string, endpoint: string, args: Args): Promise { const { accountId, ...rest } = args; return propertyDataCall({ endpoint, toolName, accountId, params: rest as Record, }); } export const valuationSale = (a: Args) => call("property-data-valuation-sale", "valuation-sale", a); export const valuationRent = (a: Args) => call("property-data-valuation-rent", "valuation-rent", a); export const prices = (a: Args) => call("property-data-prices", "prices", a); export const pricesRent = (a: Args) => call("property-data-prices-rent", "rents", a); export const soldPrices = (a: Args) => call("property-data-sold-prices", "sold-prices", a); export const demand = (a: Args) => call("property-data-demand", "demand", a); export const yields = (a: Args) => call("property-data-yields", "yields", a); export const growth = (a: Args) => call("property-data-growth", "growth", a); export const nationalHpi = (a: Args) => call("property-data-national-hpi", "national-data", a); // Task 144 — 10 additional read endpoints (£/sqft, area risk, // planning precedent, UPRN, demand-rent, property-type mix). // All inherit the same observability + error contract as above. export const pricesPerSqf = (a: Args) => call("property-data-prices-per-sqf", "prices-per-sqf", a); export const soldPricesPerSqf = (a: Args) => call("property-data-sold-prices-per-sqf", "sold-prices-per-sqf", a); export const crime = (a: Args) => call("property-data-crime", "crime", a); export const floodRisk = (a: Args) => call("property-data-flood-risk", "flood-risk", a); export const councilTax = (a: Args) => call("property-data-council-tax", "council-tax", a); export const planningApplications = (a: Args) => call("property-data-planning-applications", "planning-applications", a); export const addressMatchUprn = (a: Args) => call("property-data-address-match-uprn", "address-match-uprn", a); export const growthPsf = (a: Args) => call("property-data-growth-psf", "growth-psf", a); export const demandRent = (a: Args) => call("property-data-demand-rent", "demand-rent", a); export const propertyTypes = (a: Args) => call("property-data-property-types", "property-types", a);