@land-catalyst/batch-data-sdk 1.2.3 → 1.2.4

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.
@@ -231,6 +231,7 @@ IMPORTANT RULES:
231
231
  - "under $400,000" = assessment.totalMarketValue: {max: 400000}
232
232
  - "over $500,000" = assessment.totalMarketValue: {min: 500000}
233
233
  - "built after 2010" = building.yearBuilt: {min: 2010}
234
+ - "last sold after 2015" = sale.lastSaleDate: {minDate: "2016-01-01"} (use next year's January 1st for "after [year]")
234
235
  5. Extract geographic information and populate both query and address filters appropriately
235
236
  6. Only include domains that are clearly relevant to the prompt
236
237
  7. If modifying existing criteria, merge intelligently - update what's mentioned, keep what's not
@@ -245,7 +246,7 @@ Return your response as a JSON array. Each object should have:
245
246
  - searchCriteria: The complete SearchCriteria object
246
247
  - description: A natural language description of what this search criteria finds
247
248
 
248
- If the prompt suggests multiple distinct searches, return multiple objects. Otherwise, return a single object.
249
+ IMPORTANT: Only return multiple objects if they represent DISTINCT, meaningfully different searches. Do not return duplicate or near-duplicate search criteria. If the prompt describes a single search, return a single object. If the prompt describes multiple distinct searches (e.g., "luxury homes in Scottsdale" AND "starter homes in Tempe"), return multiple objects.
249
250
 
250
251
  Example response format:
251
252
  [
@@ -199,7 +199,7 @@ function getFilterGuidance(filterType) {
199
199
  case "NumericRangeFilter":
200
200
  return `Use NumericRangeFilter with: min (minimum value), max (maximum value), or both. Example: { min: 3, max: 5 } for "3-5 bedrooms" or { min: 2010 } for "built after 2010"`;
201
201
  case "DateRangeFilter":
202
- return `Use DateRangeFilter with: minDate (earliest date), maxDate (latest date), or both. Dates should be in ISO 8601 format (YYYY-MM-DD). Example: { minDate: "2020-01-01" } for "after 2020"`;
202
+ return `Use DateRangeFilter with: minDate (earliest date), maxDate (latest date), or both. Dates should be in ISO 8601 format (YYYY-MM-DD). For "after [year]", use the next year's January 1st. Example: "last sold after 2015" = { minDate: "2016-01-01" }, "after 2020" = { minDate: "2021-01-01" }`;
203
203
  case "BooleanFilter":
204
204
  return `Use BooleanFilter with: { equals: boolean }. Example: { equals: true } for ownerOccupied or { equals: false } for hasChildren`;
205
205
  case "QuickListValue":
@@ -276,7 +276,8 @@ function getExamples(fieldPath, filterType, _propertyMetadata) {
276
276
  }
277
277
  break;
278
278
  case "DateRangeFilter":
279
- examples.push('{ minDate: "2020-01-01" } // after January 1, 2020');
279
+ examples.push('{ minDate: "2020-01-01" } // on or after January 1, 2020');
280
+ examples.push('{ minDate: "2016-01-01" } // last sold after 2015 (use next year for "after [year]")');
280
281
  examples.push('{ maxDate: "2023-12-31" } // before December 31, 2023');
281
282
  examples.push('{ minDate: "2020-01-01", maxDate: "2023-12-31" } // between dates');
282
283
  break;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@land-catalyst/batch-data-sdk",
3
- "version": "1.2.3",
3
+ "version": "1.2.4",
4
4
  "description": "TypeScript SDK for BatchData.io Property API - Types, Builders, and Utilities",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",