@sfranalytics/mcp 0.6.6 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @sfranalytics/mcp might be problematic. Click here for more details.
- package/dist/landing.js +3 -6
- package/dist/landing.js.map +1 -1
- package/dist/server.js +14 -9
- package/dist/server.js.map +1 -1
- package/dist/services/plr.d.ts +2 -0
- package/dist/services/plr.js +7 -0
- package/dist/services/plr.js.map +1 -1
- package/dist/tools/formatters.d.ts +32 -0
- package/dist/tools/formatters.js +47 -0
- package/dist/tools/formatters.js.map +1 -1
- package/dist/tools/plr/borrowerContacts.js +16 -4
- package/dist/tools/plr/borrowerContacts.js.map +1 -1
- package/dist/tools/plr/borrowerHoldings.d.ts +3 -0
- package/dist/tools/plr/borrowerHoldings.js +77 -0
- package/dist/tools/plr/borrowerHoldings.js.map +1 -0
- package/dist/tools/plr/borrowerLoans.js +18 -5
- package/dist/tools/plr/borrowerLoans.js.map +1 -1
- package/dist/tools/plr/borrowerSearch.js +13 -3
- package/dist/tools/plr/borrowerSearch.js.map +1 -1
- package/dist/tools/plr/entityDetect.d.ts +19 -0
- package/dist/tools/plr/entityDetect.js +55 -0
- package/dist/tools/plr/entityDetect.js.map +1 -0
- package/dist/tools/plr/lenderLoans.d.ts +3 -0
- package/dist/tools/plr/lenderLoans.js +101 -0
- package/dist/tools/plr/lenderLoans.js.map +1 -0
- package/dist/tools/plr/marketTrends.js +31 -2
- package/dist/tools/plr/marketTrends.js.map +1 -1
- package/dist/tools/prompts.js +4 -4
- package/dist/tools/prompts.js.map +1 -1
- package/dist/tools/sfr/bestBuyers.js +4 -2
- package/dist/tools/sfr/bestBuyers.js.map +1 -1
- package/dist/tools/sfr/buyerGrowth.js +13 -2
- package/dist/tools/sfr/buyerGrowth.js.map +1 -1
- package/dist/tools/sfr/buyerProfile.js +17 -15
- package/dist/tools/sfr/buyerProfile.js.map +1 -1
- package/dist/tools/sfr/distressSearch.js +3 -2
- package/dist/tools/sfr/distressSearch.js.map +1 -1
- package/dist/tools/sfr/flipActivity.js +2 -2
- package/dist/tools/sfr/flipActivity.js.map +1 -1
- package/dist/tools/sfr/flipStats.js +27 -1
- package/dist/tools/sfr/flipStats.js.map +1 -1
- package/dist/tools/sfr/investorActivity.js +2 -2
- package/dist/tools/sfr/investorActivity.js.map +1 -1
- package/dist/tools/sfr/marketHighlights.js +5 -3
- package/dist/tools/sfr/marketHighlights.js.map +1 -1
- package/dist/tools/sfr/propertyTypeMap.d.ts +8 -0
- package/dist/tools/sfr/propertyTypeMap.js +31 -0
- package/dist/tools/sfr/propertyTypeMap.js.map +1 -0
- package/dist/tools/sfr/rentalMarketAnalysis.js +9 -3
- package/dist/tools/sfr/rentalMarketAnalysis.js.map +1 -1
- package/dist/tools/sfr/searchProperties.js +33 -4
- package/dist/tools/sfr/searchProperties.js.map +1 -1
- package/dist/tools/sfr/topBuyers.js +2 -1
- package/dist/tools/sfr/topBuyers.js.map +1 -1
- package/dist/tools/snowflake/hviTrend.js +6 -1
- package/dist/tools/snowflake/hviTrend.js.map +1 -1
- package/dist/tools/snowflake/marketTrends.js +6 -2
- package/dist/tools/snowflake/marketTrends.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyerProfile.js","sourceRoot":"","sources":["../../../src/tools/sfr/buyerProfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACvB,
|
|
1
|
+
{"version":3,"file":"buyerProfile.js","sourceRoot":"","sources":["../../../src/tools/sfr/buyerProfile.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { z } from "zod";
|
|
|
2
2
|
import { structuredResult, markdownTable, fmtDollars } from "../formatters.js";
|
|
3
3
|
import { action } from "../nextActions.js";
|
|
4
4
|
import { registerToolSafe } from "../registerToolSafe.js";
|
|
5
|
+
import { resolvePropertyType } from "./propertyTypeMap.js";
|
|
5
6
|
const Input = z.object({
|
|
6
7
|
search_type: z
|
|
7
8
|
.enum(["state", "city", "zip", "county", "msa"])
|
|
@@ -22,7 +23,7 @@ const Input = z.object({
|
|
|
22
23
|
beds_max: z.coerce.number().optional().describe("Maximum bedrooms"),
|
|
23
24
|
baths_min: z.coerce.number().optional().describe("Minimum bathrooms"),
|
|
24
25
|
baths_max: z.coerce.number().optional().describe("Maximum bathrooms"),
|
|
25
|
-
property_type: z.string().optional().describe("Property type: 'SFR', 'Condo', '
|
|
26
|
+
property_type: z.string().optional().describe("Property type: 'SFR', 'Condo', 'Townhouse', 'Vacant Land'"),
|
|
26
27
|
page: z.coerce.number().default(1).describe("Page number (default 1)"),
|
|
27
28
|
page_size: z.coerce.number().default(20).describe("Results per page (default 20, max 100)"),
|
|
28
29
|
});
|
|
@@ -96,7 +97,7 @@ export function registerDistressSearchTool(server, sfr) {
|
|
|
96
97
|
if (args.baths_max !== undefined)
|
|
97
98
|
query.baths_max = args.baths_max;
|
|
98
99
|
if (args.property_type)
|
|
99
|
-
query.property_type = args.property_type;
|
|
100
|
+
query.property_type = resolvePropertyType(args.property_type);
|
|
100
101
|
const data = await sfr.getPropertySearch(query);
|
|
101
102
|
const items = Array.isArray(data?.data) ? data.data : [];
|
|
102
103
|
const total = data?.total ?? items.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distressSearch.js","sourceRoot":"","sources":["../../../src/tools/sfr/distressSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"distressSearch.js","sourceRoot":"","sources":["../../../src/tools/sfr/distressSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export function registerFlipActivityTool(server, sfr) {
|
|
|
23
23
|
"Returns original buyer, flipper, purchase/sale prices, hold time, and profit. " +
|
|
24
24
|
"Supports buyer_name filtering (partial match, case-insensitive) for a specific buyer/flipper strategy. " +
|
|
25
25
|
"For iBuyer margin analysis (e.g. 'how are Opendoor margins trending'), use buyer_name='OPENDOOR' — partial match finds all Opendoor entities. " +
|
|
26
|
-
"
|
|
26
|
+
"For mega-institutional flippers, chain with sfr_buyer_profile to get relatedLLCs and search flips across all entities. " +
|
|
27
27
|
"Can filter for foreclosure sales (is_foreclosure) or REO/bank-owned sales (is_reo_sale). " +
|
|
28
28
|
"For aggregate flip distributions (hold time buckets, margin ranges), use sfr_flip_stats.",
|
|
29
29
|
inputSchema: Input,
|
|
@@ -101,7 +101,7 @@ export function registerFlipActivityTool(server, sfr) {
|
|
|
101
101
|
const locArgs = locationArgs(args);
|
|
102
102
|
const actions = [
|
|
103
103
|
...(firstAddr ? [action("sfr_get_property", "Details on first flip", { address: firstAddr })] : []),
|
|
104
|
-
...(firstFlipper ? [action("
|
|
104
|
+
...(firstFlipper ? [action("plr_borrower_profile", "Flipper lending activity + contacts", { borrowerName: firstFlipper })] : []),
|
|
105
105
|
action("sfr_flip_stats", "Flip profitability trends", locArgs),
|
|
106
106
|
];
|
|
107
107
|
return structuredResult(lines.join("\n"), { items: slimItems, total: items.length, page: args.page }, actions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flipActivity.js","sourceRoot":"","sources":["../../../src/tools/sfr/flipActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;SAChE,QAAQ,CAAC,qCAAqC,CAAC;IAClD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACjF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACtE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IAChG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACjE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC1E,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACpF,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACtF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CAC5F,CAAC,CAAC;AAEH,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,GAAc;IACxE,gBAAgB,CAAC,MAAM,EACrB,mBAAmB,EACnB;QACE,KAAK,EAAE,gCAAgC;QACvC,WAAW,EACT,oEAAoE;YACpE,gFAAgF;YAChF,yGAAyG;YACzG,gJAAgJ;YAChJ,
|
|
1
|
+
{"version":3,"file":"flipActivity.js","sourceRoot":"","sources":["../../../src/tools/sfr/flipActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;SAChE,QAAQ,CAAC,qCAAqC,CAAC;IAClD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACjF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACtE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IAChG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACjE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC1E,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACpF,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACtF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CAC5F,CAAC,CAAC;AAEH,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,GAAc;IACxE,gBAAgB,CAAC,MAAM,EACrB,mBAAmB,EACnB;QACE,KAAK,EAAE,gCAAgC;QACvC,WAAW,EACT,oEAAoE;YACpE,gFAAgF;YAChF,yGAAyG;YACzG,gJAAgJ;YAChJ,yHAAyH;YACzH,2FAA2F;YAC3F,0FAA0F;QAC5F,WAAW,EAAE,KAAK;KACnB,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5B,IAAI,gBAAgB,GAAkC,OAAO,CAAC;QAE9D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAQ,CAAC;QAC9C,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAE1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACjE,gBAAgB,GAAG,MAAM,CAAC;YAC1B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5E,IACE,QAAQ,CAAC,WAAW;mBACjB,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EACvE,CAAC;gBACD,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACpC,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAQ,CAAC;gBAC7E,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC;gBACrE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,gBAAgB,GAAG,UAAU,CAAC;YACtD,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACxF,MAAM,KAAK,GAAG;YACZ,0BAA0B,GAAG,EAAE;YAC/B,gBAAgB,KAAK,CAAC,MAAM,QAAQ;YACpC,EAAE;SACH,CAAC;QACF,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,GAAG,SAAS,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC;gBAC9C,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG;gBACjD,CAAC,CAAC,SAAS,IAAI,GAAG;gBAClB,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;gBACrB,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjB,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG;gBAC3C,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;aACvB,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,aAAa,CACtB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EACnE,IAAI,CACL,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,gCAAgC;gBAChC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,UAAU,gDAAgD,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvG,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,EAAE,CAAC,CAAC,OAAO;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,YAAY,EAAE,CAAC,CAAC,WAAW;YAC3B,IAAI,EAAE,CAAC,CAAC,YAAY,IAAI,SAAS;YACjC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;YACnC,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,cAAc;YAC9C,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,SAAS;YAC7C,mBAAmB,EAAE,CAAC,CAAC,mBAAmB,IAAI,SAAS;YACvD,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,SAAS;YACnD,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,SAAS;YAC3C,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,SAAS;YACzC,GAAG,EAAE,CAAC,CAAC,GAAG;SACX,CAAC,CAAC,CAAC;QAEJ,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACxH,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;QACzC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,qCAAqC,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChI,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,OAAO,CAAC;SAC/D,CAAC;QACF,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACnH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { structuredResult, markdownTable, fmtDollars } from "../formatters.js";
|
|
2
|
+
import { structuredResult, markdownTable, fmtDollars, trendSummary, vizHint } from "../formatters.js";
|
|
3
3
|
import { action, locationArgs } from "../nextActions.js";
|
|
4
4
|
import { registerToolSafe } from "../registerToolSafe.js";
|
|
5
5
|
import { resolveCanonicalMsa } from "./msaResolver.js";
|
|
@@ -71,12 +71,25 @@ export function registerFlipStatsTool(server, sfr) {
|
|
|
71
71
|
lines.push(`_MSA normalized: '${args.msa}' -> '${effectiveMsa}'_`, "");
|
|
72
72
|
}
|
|
73
73
|
const result = {};
|
|
74
|
+
const vizSeries = [];
|
|
75
|
+
const vizLabels = [];
|
|
76
|
+
let primaryTrend = trendSummary([]);
|
|
74
77
|
if (args.metric !== "gross-margin") {
|
|
75
78
|
const holdTime = await sfr.getFlipHoldTime(query);
|
|
76
79
|
const items = Array.isArray(holdTime) ? holdTime : holdTime?.data ?? [];
|
|
77
80
|
result.holdTime = items;
|
|
78
81
|
lines.push("### Median Hold Time (last 12 months)");
|
|
79
82
|
lines.push(formatTimeSeries(items, "daysDiff", (v) => `${Math.round(v)} days`, "Median Days"));
|
|
83
|
+
const holdValues = items.map((r) => Number(r.daysDiff)).filter(Boolean);
|
|
84
|
+
if (holdValues.length >= 2) {
|
|
85
|
+
const ht = trendSummary(holdValues, { label: "Hold time", format: (v) => `${Math.round(v)}d` });
|
|
86
|
+
lines.push(`**Trend:** ${ht.summary} ${ht.spark}`);
|
|
87
|
+
vizSeries.push({ field: "daysDiff", label: "Median Hold Days", values: holdValues });
|
|
88
|
+
if (vizLabels.length === 0) {
|
|
89
|
+
vizLabels.push(...items.slice(-holdValues.length).map((r) => (r.date ?? "").slice(0, 7)));
|
|
90
|
+
primaryTrend = ht;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
80
93
|
lines.push("");
|
|
81
94
|
}
|
|
82
95
|
if (args.metric !== "hold-time") {
|
|
@@ -85,6 +98,19 @@ export function registerFlipStatsTool(server, sfr) {
|
|
|
85
98
|
result.grossMargin = items;
|
|
86
99
|
lines.push("### Median Gross Margin (last 12 months)");
|
|
87
100
|
lines.push(formatTimeSeries(items, "grossMargin", (v) => fmtDollars(v), "Median Margin"));
|
|
101
|
+
const marginValues = items.map((r) => Number(r.grossMargin)).filter(Boolean);
|
|
102
|
+
if (marginValues.length >= 2) {
|
|
103
|
+
const gm = trendSummary(marginValues, { label: "Margin", format: fmtDollars });
|
|
104
|
+
lines.push(`**Trend:** ${gm.summary} ${gm.spark}`);
|
|
105
|
+
vizSeries.push({ field: "grossMargin", label: "Median Margin", values: marginValues });
|
|
106
|
+
if (vizLabels.length === 0) {
|
|
107
|
+
vizLabels.push(...items.slice(-marginValues.length).map((r) => (r.date ?? "").slice(0, 7)));
|
|
108
|
+
primaryTrend = gm;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (vizSeries.length > 0) {
|
|
113
|
+
result.visualization = vizHint(vizLabels, vizSeries, primaryTrend);
|
|
88
114
|
}
|
|
89
115
|
const locArgs = locationArgs(args);
|
|
90
116
|
const actions = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flipStats.js","sourceRoot":"","sources":["../../../src/tools/sfr/flipStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"flipStats.js","sourceRoot":"","sources":["../../../src/tools/sfr/flipStats.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export function registerInvestorActivityTool(server, sfr) {
|
|
|
22
22
|
"Also supports seller_name filter, but for 'where is [institution] selling?' queries prefer sfr_search_properties which has broader date coverage. " +
|
|
23
23
|
"To calculate yields on purchases, chain with sfr_rental_stats by zip: yield = (annual rent / purchase price). " +
|
|
24
24
|
"Requires an MSA name. For non-MSA transaction searches, use sfr_search_properties. " +
|
|
25
|
-
"
|
|
25
|
+
"Use plr_borrower_profile for investor details, or sfr_buyer_profile for ~50 mega-institutional investors only. See sfr_flip_activity for flip stats.",
|
|
26
26
|
inputSchema: Input,
|
|
27
27
|
}, async (args) => {
|
|
28
28
|
const query = {
|
|
@@ -113,7 +113,7 @@ export function registerInvestorActivityTool(server, sfr) {
|
|
|
113
113
|
const firstBuyer = items[0]?.buyerName;
|
|
114
114
|
const firstAddr = items[0] ? `${items[0].address}, ${items[0].city}, ${items[0].state} ${items[0].zipCode}` : undefined;
|
|
115
115
|
const actions = [
|
|
116
|
-
...(firstBuyer ? [action("
|
|
116
|
+
...(firstBuyer ? [action("plr_borrower_profile", "Investor profile + contacts", { borrowerName: firstBuyer })] : []),
|
|
117
117
|
...(firstAddr ? [action("sfr_get_property", "Details on first property", { address: firstAddr })] : []),
|
|
118
118
|
action("sfr_search_properties", "Search with more filters", { search_type: "msa", msa: effectiveMsa }),
|
|
119
119
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"investorActivity.js","sourceRoot":"","sources":["../../../src/tools/sfr/investorActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IACrB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACtE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC/E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC1D,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAChF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACpF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CAC5F,CAAC,CAAC;AAEH,MAAM,UAAU,4BAA4B,CAAC,MAAiB,EAAE,GAAc;IAC5E,gBAAgB,CAAC,MAAM,EACrB,uBAAuB,EACvB;QACE,KAAK,EAAE,iEAAiE;QACxE,WAAW,EACT,qEAAqE;YACrE,8GAA8G;YAC9G,oGAAoG;YACpG,oJAAoJ;YACpJ,gHAAgH;YAChH,qFAAqF;YACrF
|
|
1
|
+
{"version":3,"file":"investorActivity.js","sourceRoot":"","sources":["../../../src/tools/sfr/investorActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IACrB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACtE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC/E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC1D,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAChF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACpF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CAC5F,CAAC,CAAC;AAEH,MAAM,UAAU,4BAA4B,CAAC,MAAiB,EAAE,GAAc;IAC5E,gBAAgB,CAAC,MAAM,EACrB,uBAAuB,EACvB;QACE,KAAK,EAAE,iEAAiE;QACxE,WAAW,EACT,qEAAqE;YACrE,8GAA8G;YAC9G,oGAAoG;YACpG,oJAAoJ;YACpJ,gHAAgH;YAChH,qFAAqF;YACrF,sJAAsJ;QACxJ,WAAW,EAAE,KAAK;KACnB,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,KAAK,GAA4B;YACrC,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QACF,IAAI,IAAI,CAAC,cAAc;YAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACpE,IAAI,IAAI,CAAC,cAAc;YAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACpE,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/E,IAAI,IAAI,CAAC,WAAW;YAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5B,IAAI,gBAAgB,GAAkC,OAAO,CAAC;QAE9D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAQ,CAAC;QACtD,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAE1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,gBAAgB,GAAG,MAAM,CAAC;YAC1B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;gBAC9C,YAAY,EAAE,IAAI,CAAC,GAAG;gBACtB,YAAY,EAAE,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;gBACzF,YAAY,EAAE,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;aAC1F,CAAC,CAAC;YACH,IACE,QAAQ,CAAC,WAAW;mBACjB,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EACvE,CAAC;gBACD,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACpC,MAAM,UAAU,GAA4B,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;gBAC5E,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAQ,CAAC;gBAChE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC;gBACrE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,gBAAgB,GAAG,UAAU,CAAC;YACtD,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,YAAY,CAAC;QACzB,MAAM,KAAK,GAAG;YACZ,iCAAiC,GAAG,EAAE;YACtC,gBAAgB,KAAK,CAAC,MAAM,eAAe;YAC3C,EAAE;SACH,CAAC;QACF,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,GAAG,SAAS,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC;gBAC9C,CAAC,CAAC,SAAS,IAAI,GAAG;gBAClB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG;gBACjD,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;gBACnC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY;gBACrC,CAAC,CAAC,oBAAoB,IAAI,GAAG;aAC9B,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,aAAa,CACtB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,EAC5D,IAAI,CACL,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,2CAA2C;gBAC3C,6BAA6B;gBAC7B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,sDAAsD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,oFAAoF;QACpF,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YACpD,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,EAAE,CAAC,CAAC,OAAO;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;YACvC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;YACvC,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,IAAI,SAAS;YACzD,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,SAAS;YACrC,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,SAAS;YACrC,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,IAAI,SAAS;YACzD,sBAAsB,EAAE,CAAC,CAAC,sBAAsB,IAAI,SAAS;YAC7D,IAAI,EAAE,CAAC,CAAC,YAAY,IAAI,SAAS;YACjC,IAAI,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;SAC9B,CAAC,CAAC,CAAC;QAEJ,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACxH,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpH,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvG,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;SACvG,CAAC;QACF,OAAO,gBAAgB,CACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAChB;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,IAAI,CAAC,GAAG;YACvB,YAAY,EAAE,YAAY;YAC1B,qBAAqB,EAAE,gBAAgB;SACxC,EACD,OAAO,CACR,CAAC;IACN,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -18,7 +18,7 @@ export function registerMarketHighlightsTool(server, sfr) {
|
|
|
18
18
|
"Supports optional city filter and date range within the MSA. " +
|
|
19
19
|
"Different from sfr_top_buyers which accepts any geography (state/city/zip/MSA). " +
|
|
20
20
|
"Different from sfr_institutional_owners which shows only institutional REITs/funds. " +
|
|
21
|
-
"Use sfr_buyer_profile
|
|
21
|
+
"Use plr_borrower_profile for any investor, or sfr_buyer_profile for ~50 mega-institutional investors only.",
|
|
22
22
|
inputSchema: Input,
|
|
23
23
|
}, async (args) => {
|
|
24
24
|
const query = { msa: args.msa };
|
|
@@ -82,9 +82,11 @@ export function registerMarketHighlightsTool(server, sfr) {
|
|
|
82
82
|
hasContact: b.hasContactInfo || undefined,
|
|
83
83
|
}));
|
|
84
84
|
const firstName = buyers[0]?.name ?? buyers[0]?.buyer_name;
|
|
85
|
+
const firstHasProfile = buyers[0]?.hasProfilePage;
|
|
85
86
|
const actions = [
|
|
86
|
-
...(firstName ? [action("sfr_buyer_profile", "
|
|
87
|
-
action("
|
|
87
|
+
...(firstName && firstHasProfile ? [action("sfr_buyer_profile", "SFR institutional profile", { name: firstName })] : []),
|
|
88
|
+
...(firstName && !firstHasProfile ? [action("plr_borrower_profile", "Lending activity + contacts", { borrowerName: firstName })] : []),
|
|
89
|
+
action("sfr_top_buyers", "Full buyer list", { search_type: "msa", msa: effectiveMsa }),
|
|
88
90
|
action("sfr_search_properties", "Browse individual transactions", { search_type: "msa", msa: effectiveMsa }),
|
|
89
91
|
];
|
|
90
92
|
return structuredResult(lines.join("\n"), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketHighlights.js","sourceRoot":"","sources":["../../../src/tools/sfr/marketHighlights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IACrB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACtE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC3E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC/E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CAC5F,CAAC,CAAC;AAEH,MAAM,UAAU,4BAA4B,CAAC,MAAiB,EAAE,GAAc;IAC5E,gBAAgB,CAAC,MAAM,EACrB,uBAAuB,EACvB;QACE,KAAK,EAAE,gCAAgC;QACvC,WAAW,EACT,2EAA2E;YAC3E,+DAA+D;YAC/D,kFAAkF;YAClF,sFAAsF;YACtF,
|
|
1
|
+
{"version":3,"file":"marketHighlights.js","sourceRoot":"","sources":["../../../src/tools/sfr/marketHighlights.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps common property type aliases to the exact values the SFR API recognizes.
|
|
3
|
+
* Unknown values pass through unchanged for forward-compatibility.
|
|
4
|
+
*/
|
|
5
|
+
/** Resolve a single property type value to the canonical API value. */
|
|
6
|
+
export declare function resolvePropertyType(raw: string): string;
|
|
7
|
+
/** Resolve a comma-separated list of property types to canonical API values. */
|
|
8
|
+
export declare function resolvePropertyTypes(raw: string): string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps common property type aliases to the exact values the SFR API recognizes.
|
|
3
|
+
* Unknown values pass through unchanged for forward-compatibility.
|
|
4
|
+
*/
|
|
5
|
+
const ALIAS_MAP = {
|
|
6
|
+
// Single Family Residential
|
|
7
|
+
sfr: "Single Family Residential",
|
|
8
|
+
"single family": "Single Family Residential",
|
|
9
|
+
"single family residential": "Single Family Residential",
|
|
10
|
+
// Condo
|
|
11
|
+
condo: "Condo",
|
|
12
|
+
"condo/co-op": "Condo",
|
|
13
|
+
// Townhouse
|
|
14
|
+
townhouse: "Townhouse",
|
|
15
|
+
// Vacant Land
|
|
16
|
+
"vacant land": "Vacant Land",
|
|
17
|
+
land: "Vacant Land",
|
|
18
|
+
};
|
|
19
|
+
/** Resolve a single property type value to the canonical API value. */
|
|
20
|
+
export function resolvePropertyType(raw) {
|
|
21
|
+
const trimmed = raw.trim();
|
|
22
|
+
return ALIAS_MAP[trimmed.toLowerCase()] ?? trimmed;
|
|
23
|
+
}
|
|
24
|
+
/** Resolve a comma-separated list of property types to canonical API values. */
|
|
25
|
+
export function resolvePropertyTypes(raw) {
|
|
26
|
+
return raw
|
|
27
|
+
.split(",")
|
|
28
|
+
.map((v) => resolvePropertyType(v))
|
|
29
|
+
.join(",");
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=propertyTypeMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"propertyTypeMap.js","sourceRoot":"","sources":["../../../src/tools/sfr/propertyTypeMap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,SAAS,GAA2B;IACxC,4BAA4B;IAC5B,GAAG,EAAE,2BAA2B;IAChC,eAAe,EAAE,2BAA2B;IAC5C,2BAA2B,EAAE,2BAA2B;IAExD,QAAQ;IACR,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,OAAO;IAEtB,YAAY;IACZ,SAAS,EAAE,WAAW;IAEtB,cAAc;IACd,aAAa,EAAE,aAAa;IAC5B,IAAI,EAAE,aAAa;CACpB,CAAC;AAEF,uEAAuE;AACvE,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,OAAO,CAAC;AACrD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;SAClC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { structuredResult, kvSummary, markdownTable, fmtPercent } from "../formatters.js";
|
|
2
|
+
import { structuredResult, kvSummary, markdownTable, fmtPercent, trendSummary } from "../formatters.js";
|
|
3
3
|
import { action } from "../nextActions.js";
|
|
4
4
|
import { registerToolSafe } from "../registerToolSafe.js";
|
|
5
|
+
import { resolvePropertyTypes } from "./propertyTypeMap.js";
|
|
5
6
|
const Input = z.object({
|
|
6
7
|
geography_type: z
|
|
7
8
|
.enum(["city", "county", "msa", "state", "zipCode"])
|
|
@@ -11,7 +12,7 @@ const Input = z.object({
|
|
|
11
12
|
.describe("Comma-separated geography values (e.g. 'Jacksonville,Tampa' for cities, 'FL' for state)"),
|
|
12
13
|
time_range_start: z.string().optional().describe("Start date (YYYY-MM-DD)"),
|
|
13
14
|
time_range_end: z.string().optional().describe("End date (YYYY-MM-DD)"),
|
|
14
|
-
property_types: z.string().optional().describe("
|
|
15
|
+
property_types: z.string().optional().describe("Property types: 'SFR', 'Condo', 'Townhouse', 'Vacant Land' (comma-separated)"),
|
|
15
16
|
bedrooms: z.string().optional().describe("Comma-separated bedroom counts (e.g. '2,3,4')"),
|
|
16
17
|
});
|
|
17
18
|
export function registerRentalMarketAnalysisTool(server, sfr) {
|
|
@@ -36,7 +37,7 @@ export function registerRentalMarketAnalysisTool(server, sfr) {
|
|
|
36
37
|
query.time_range_end = args.time_range_end;
|
|
37
38
|
}
|
|
38
39
|
if (args.property_types)
|
|
39
|
-
query.property_types = args.property_types;
|
|
40
|
+
query.property_types = resolvePropertyTypes(args.property_types);
|
|
40
41
|
if (args.bedrooms)
|
|
41
42
|
query.bedrooms = args.bedrooms;
|
|
42
43
|
const data = await sfr.getRentalMarketAnalysis(query);
|
|
@@ -76,6 +77,11 @@ export function registerRentalMarketAnalysisTool(server, sfr) {
|
|
|
76
77
|
t.volume?.toLocaleString() ?? "—",
|
|
77
78
|
]);
|
|
78
79
|
lines.push(markdownTable(["Month", "Avg Rent", "Volume"], rows));
|
|
80
|
+
const rents = recentTrends.map((t) => t.avgRent).filter(Boolean);
|
|
81
|
+
if (rents.length >= 2) {
|
|
82
|
+
const rt = trendSummary(rents, { label: "Avg rent", format: (v) => `$${Math.round(v).toLocaleString()}` });
|
|
83
|
+
lines.push(`**Trend:** ${rt.summary} ${rt.spark}`);
|
|
84
|
+
}
|
|
79
85
|
lines.push("");
|
|
80
86
|
}
|
|
81
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rentalMarketAnalysis.js","sourceRoot":"","sources":["../../../src/tools/sfr/rentalMarketAnalysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAc,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"rentalMarketAnalysis.js","sourceRoot":"","sources":["../../../src/tools/sfr/rentalMarketAnalysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ import { structuredResult, markdownTable, fmtDollars } from "../formatters.js";
|
|
|
3
3
|
import { action, locationArgs } from "../nextActions.js";
|
|
4
4
|
import { registerToolSafe } from "../registerToolSafe.js";
|
|
5
5
|
import { autoFillDateRange } from "../dateHelper.js";
|
|
6
|
+
import { resolvePropertyTypes } from "./propertyTypeMap.js";
|
|
7
|
+
import { resolveCanonicalMsa } from "./msaResolver.js";
|
|
6
8
|
const Input = z.object({
|
|
7
9
|
search_type: z
|
|
8
10
|
.enum(["state", "city", "zip", "msa", "address"])
|
|
@@ -22,7 +24,7 @@ const Input = z.object({
|
|
|
22
24
|
beds_max: z.coerce.number().optional().describe("Maximum bedrooms"),
|
|
23
25
|
building_sqft_min: z.coerce.number().optional().describe("Minimum sqft"),
|
|
24
26
|
building_sqft_max: z.coerce.number().optional().describe("Maximum sqft"),
|
|
25
|
-
property_types: z.string().optional().describe("Property type filter: 'SFR', 'Condo', '
|
|
27
|
+
property_types: z.string().optional().describe("Property type filter: 'SFR', 'Condo', 'Townhouse', 'Vacant Land' (comma-separated for multiple)"),
|
|
26
28
|
seller_name: z.string().optional().describe("Filter by seller name (partial match)"),
|
|
27
29
|
purchase_type: z.string().optional().describe("Discount filter: 'all' (default), 'discounted' (below-AVM), or 'non-discount'. " +
|
|
28
30
|
"NOTE: This is NOT a cash/financed filter. For cash buyer data, use sfr_investor_activity which includes isCashBuyer per transaction."),
|
|
@@ -81,7 +83,7 @@ export function registerSearchPropertiesTool(server, sfr) {
|
|
|
81
83
|
if (args.building_sqft_max)
|
|
82
84
|
query.building_sqft_max = args.building_sqft_max;
|
|
83
85
|
if (args.property_types)
|
|
84
|
-
query.property_types = args.property_types;
|
|
86
|
+
query.property_types = resolvePropertyTypes(args.property_types);
|
|
85
87
|
if (args.seller_name)
|
|
86
88
|
query.seller_name = args.seller_name;
|
|
87
89
|
if (args.purchase_type)
|
|
@@ -91,19 +93,46 @@ export function registerSearchPropertiesTool(server, sfr) {
|
|
|
91
93
|
if (args.sort)
|
|
92
94
|
query.sort = args.sort;
|
|
93
95
|
autoFillDateRange(query);
|
|
96
|
+
let effectiveMsa = args.msa;
|
|
97
|
+
let resolutionMethod = "exact";
|
|
94
98
|
// Fetch page + total count in parallel
|
|
95
99
|
const [data, countData] = await Promise.all([
|
|
96
100
|
sfr.getBuyerActivity(query),
|
|
97
101
|
sfr.getActivityCount(query).catch(() => null),
|
|
98
102
|
]);
|
|
99
103
|
// External API returns a flat array
|
|
100
|
-
|
|
101
|
-
|
|
104
|
+
let items = Array.isArray(data) ? data : (data?.data ?? []);
|
|
105
|
+
let total = countData?.count ?? countData ?? items.length;
|
|
106
|
+
// MSA fallback: if 0 results on MSA search, try resolving canonical name
|
|
107
|
+
if (items.length === 0 && args.search_type === "msa" && args.msa) {
|
|
108
|
+
resolutionMethod = "none";
|
|
109
|
+
const resolved = await resolveCanonicalMsa(sfr, {
|
|
110
|
+
requestedMsa: args.msa,
|
|
111
|
+
salesDateMin: typeof query.sales_date_min === "string" ? query.sales_date_min : undefined,
|
|
112
|
+
salesDateMax: typeof query.sales_date_max === "string" ? query.sales_date_max : undefined,
|
|
113
|
+
});
|
|
114
|
+
if (resolved.resolvedMsa
|
|
115
|
+
&& resolved.resolvedMsa.toLowerCase() !== args.msa.trim().toLowerCase()) {
|
|
116
|
+
effectiveMsa = resolved.resolvedMsa;
|
|
117
|
+
const retryQuery = { ...query, msa: effectiveMsa };
|
|
118
|
+
const [retryData, retryCount] = await Promise.all([
|
|
119
|
+
sfr.getBuyerActivity(retryQuery),
|
|
120
|
+
sfr.getActivityCount(retryQuery).catch(() => null),
|
|
121
|
+
]);
|
|
122
|
+
items = Array.isArray(retryData) ? retryData : retryData?.data ?? [];
|
|
123
|
+
total = retryCount?.count ?? retryCount ?? items.length;
|
|
124
|
+
if (items.length > 0)
|
|
125
|
+
resolutionMethod = "fallback";
|
|
126
|
+
}
|
|
127
|
+
}
|
|
102
128
|
const lines = [
|
|
103
129
|
`## Property Transactions`,
|
|
104
130
|
`**Total:** ${typeof total === "number" ? total.toLocaleString() : total} | **Page:** ${args.page} | **Showing:** ${items.length}`,
|
|
105
131
|
"",
|
|
106
132
|
];
|
|
133
|
+
if (resolutionMethod === "fallback") {
|
|
134
|
+
lines.push(`_MSA normalized: '${args.msa}' -> '${effectiveMsa}'_`, "");
|
|
135
|
+
}
|
|
107
136
|
if (items.length > 0) {
|
|
108
137
|
const rows = items.slice(0, 25).map((p) => [
|
|
109
138
|
p.address ?? "—",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchProperties.js","sourceRoot":"","sources":["../../../src/tools/sfr/searchProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"searchProperties.js","sourceRoot":"","sources":["../../../src/tools/sfr/searchProperties.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,8 +84,9 @@ export function registerTopBuyersTool(server, sfr) {
|
|
|
84
84
|
hasContact: b.hasContactInfo || undefined,
|
|
85
85
|
}));
|
|
86
86
|
const firstName = buyers[0]?.name ?? buyers[0]?.buyer_name;
|
|
87
|
+
const firstHasProfile = buyers[0]?.hasProfilePage;
|
|
87
88
|
const actions = [
|
|
88
|
-
...(firstName ? [action("sfr_buyer_profile", "SFR
|
|
89
|
+
...(firstName && firstHasProfile ? [action("sfr_buyer_profile", "SFR institutional profile", { name: firstName })] : []),
|
|
89
90
|
...(firstName ? [action("sfr_buyer_growth", "Growth trend for top buyer", { name: firstName })] : []),
|
|
90
91
|
...(firstName ? [action("plr_borrower_profile", "Lending activity + contacts (PLR key required)", { borrowerName: firstName })] : []),
|
|
91
92
|
];
|