@vepler/sdk 2.164.0 → 3.0.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.
Files changed (636) hide show
  1. package/README.md +408 -401
  2. package/dist/commonjs/address-search/__tests__/controller.test.d.ts +2 -0
  3. package/dist/commonjs/address-search/__tests__/controller.test.d.ts.map +1 -0
  4. package/dist/commonjs/address-search/__tests__/controller.test.js +329 -0
  5. package/dist/commonjs/address-search/__tests__/controller.test.js.map +1 -0
  6. package/dist/commonjs/address-search/__tests__/default-transports.test.d.ts +2 -0
  7. package/dist/commonjs/address-search/__tests__/default-transports.test.d.ts.map +1 -0
  8. package/dist/commonjs/address-search/__tests__/default-transports.test.js +161 -0
  9. package/dist/commonjs/address-search/__tests__/default-transports.test.js.map +1 -0
  10. package/dist/commonjs/address-search/__tests__/narrow.test.d.ts +2 -0
  11. package/dist/commonjs/address-search/__tests__/narrow.test.d.ts.map +1 -0
  12. package/dist/commonjs/address-search/__tests__/narrow.test.js +63 -0
  13. package/dist/commonjs/address-search/__tests__/narrow.test.js.map +1 -0
  14. package/dist/commonjs/address-search/controller.d.ts +14 -0
  15. package/dist/commonjs/address-search/controller.d.ts.map +1 -0
  16. package/dist/commonjs/address-search/controller.js +190 -0
  17. package/dist/commonjs/address-search/controller.js.map +1 -0
  18. package/dist/commonjs/address-search/default-transports.d.ts +52 -0
  19. package/dist/commonjs/address-search/default-transports.d.ts.map +1 -0
  20. package/dist/commonjs/address-search/default-transports.js +134 -0
  21. package/dist/commonjs/address-search/default-transports.js.map +1 -0
  22. package/dist/commonjs/address-search/errors.d.ts +5 -0
  23. package/dist/commonjs/address-search/errors.d.ts.map +1 -0
  24. package/dist/commonjs/address-search/errors.js +12 -0
  25. package/dist/commonjs/address-search/errors.js.map +1 -0
  26. package/dist/commonjs/address-search/index.d.ts +8 -0
  27. package/dist/commonjs/address-search/index.d.ts.map +1 -0
  28. package/dist/commonjs/address-search/index.js +43 -0
  29. package/dist/commonjs/address-search/index.js.map +1 -0
  30. package/dist/commonjs/address-search/lru-cache.d.ts +13 -0
  31. package/dist/commonjs/address-search/lru-cache.d.ts.map +1 -0
  32. package/dist/commonjs/address-search/lru-cache.js +50 -0
  33. package/dist/commonjs/address-search/lru-cache.js.map +1 -0
  34. package/dist/commonjs/address-search/narrow.d.ts +21 -0
  35. package/dist/commonjs/address-search/narrow.d.ts.map +1 -0
  36. package/dist/commonjs/address-search/narrow.js +49 -0
  37. package/dist/commonjs/address-search/narrow.js.map +1 -0
  38. package/dist/commonjs/address-search/types.d.ts +125 -0
  39. package/dist/commonjs/address-search/types.d.ts.map +1 -0
  40. package/dist/commonjs/address-search/types.js +9 -0
  41. package/dist/commonjs/address-search/types.js.map +1 -0
  42. package/dist/commonjs/address-search.d.ts +3 -0
  43. package/dist/commonjs/address-search.d.ts.map +1 -0
  44. package/dist/commonjs/address-search.js +19 -0
  45. package/dist/commonjs/address-search.js.map +1 -0
  46. package/dist/commonjs/funcs/avmPredictPropertyValue.d.ts +1 -1
  47. package/dist/commonjs/funcs/avmPredictPropertyValue.d.ts.map +1 -1
  48. package/dist/commonjs/funcs/avmPredictPropertyValue.js +1 -1
  49. package/dist/commonjs/funcs/avmPredictPropertyValue.js.map +1 -1
  50. package/dist/commonjs/funcs/propertyGetProperties.js +1 -0
  51. package/dist/commonjs/funcs/propertyGetProperties.js.map +1 -1
  52. package/dist/commonjs/funcs/propertyGetPropertiesByLocation.js +1 -0
  53. package/dist/commonjs/funcs/propertyGetPropertiesByLocation.js.map +1 -1
  54. package/dist/commonjs/funcs/propertyGetPropertiesBySource.js +1 -0
  55. package/dist/commonjs/funcs/propertyGetPropertiesBySource.js.map +1 -1
  56. package/dist/commonjs/funcs/searchSearchRetrieve.d.ts +23 -0
  57. package/dist/commonjs/funcs/searchSearchRetrieve.d.ts.map +1 -0
  58. package/dist/commonjs/funcs/searchSearchRetrieve.js +128 -0
  59. package/dist/commonjs/funcs/searchSearchRetrieve.js.map +1 -0
  60. package/dist/commonjs/funcs/searchSearchSuggest.d.ts +3 -1
  61. package/dist/commonjs/funcs/searchSearchSuggest.d.ts.map +1 -1
  62. package/dist/commonjs/funcs/searchSearchSuggest.js +5 -1
  63. package/dist/commonjs/funcs/searchSearchSuggest.js.map +1 -1
  64. package/dist/commonjs/funcs/titleDeedsPostV1TitleDeedsTitleNumberPurchase.d.ts +1 -1
  65. package/dist/commonjs/funcs/titleDeedsPostV1TitleDeedsTitleNumberPurchase.d.ts.map +1 -1
  66. package/dist/commonjs/funcs/titleDeedsPostV1TitleDeedsTitleNumberPurchase.js +2 -1
  67. package/dist/commonjs/funcs/titleDeedsPostV1TitleDeedsTitleNumberPurchase.js.map +1 -1
  68. package/dist/commonjs/lib/config.d.ts +3 -3
  69. package/dist/commonjs/lib/config.js +3 -3
  70. package/dist/commonjs/lib/config.js.map +1 -1
  71. package/dist/commonjs/sdk/models/errors/index.d.ts +1 -0
  72. package/dist/commonjs/sdk/models/errors/index.d.ts.map +1 -1
  73. package/dist/commonjs/sdk/models/errors/index.js +1 -0
  74. package/dist/commonjs/sdk/models/errors/index.js.map +1 -1
  75. package/dist/commonjs/sdk/models/errors/postv1titledeedstitlenumberpurchase.d.ts +65 -0
  76. package/dist/commonjs/sdk/models/errors/postv1titledeedstitlenumberpurchase.d.ts.map +1 -1
  77. package/dist/commonjs/sdk/models/errors/postv1titledeedstitlenumberpurchase.js +55 -1
  78. package/dist/commonjs/sdk/models/errors/postv1titledeedstitlenumberpurchase.js.map +1 -1
  79. package/dist/commonjs/sdk/models/errors/predictpropertyvalue.d.ts +65 -0
  80. package/dist/commonjs/sdk/models/errors/predictpropertyvalue.d.ts.map +1 -1
  81. package/dist/commonjs/sdk/models/errors/predictpropertyvalue.js +57 -1
  82. package/dist/commonjs/sdk/models/errors/predictpropertyvalue.js.map +1 -1
  83. package/dist/commonjs/sdk/models/errors/searchretrieve.d.ts +201 -0
  84. package/dist/commonjs/sdk/models/errors/searchretrieve.d.ts.map +1 -0
  85. package/dist/commonjs/sdk/models/errors/searchretrieve.js +213 -0
  86. package/dist/commonjs/sdk/models/errors/searchretrieve.js.map +1 -0
  87. package/dist/commonjs/sdk/models/operations/getcensuswholelevel.d.ts +1 -0
  88. package/dist/commonjs/sdk/models/operations/getcensuswholelevel.d.ts.map +1 -1
  89. package/dist/commonjs/sdk/models/operations/getcensuswholelevel.js +1 -0
  90. package/dist/commonjs/sdk/models/operations/getcensuswholelevel.js.map +1 -1
  91. package/dist/commonjs/sdk/models/operations/getlistingbyid.d.ts +18 -15
  92. package/dist/commonjs/sdk/models/operations/getlistingbyid.d.ts.map +1 -1
  93. package/dist/commonjs/sdk/models/operations/getlistingbyid.js +15 -15
  94. package/dist/commonjs/sdk/models/operations/getlistingbyid.js.map +1 -1
  95. package/dist/commonjs/sdk/models/operations/getlistingbysource.d.ts +18 -15
  96. package/dist/commonjs/sdk/models/operations/getlistingbysource.d.ts.map +1 -1
  97. package/dist/commonjs/sdk/models/operations/getlistingbysource.js +15 -15
  98. package/dist/commonjs/sdk/models/operations/getlistingbysource.js.map +1 -1
  99. package/dist/commonjs/sdk/models/operations/getlistingsbylocation.d.ts +18 -15
  100. package/dist/commonjs/sdk/models/operations/getlistingsbylocation.d.ts.map +1 -1
  101. package/dist/commonjs/sdk/models/operations/getlistingsbylocation.js +16 -15
  102. package/dist/commonjs/sdk/models/operations/getlistingsbylocation.js.map +1 -1
  103. package/dist/commonjs/sdk/models/operations/getproperties.d.ts +5 -0
  104. package/dist/commonjs/sdk/models/operations/getproperties.d.ts.map +1 -1
  105. package/dist/commonjs/sdk/models/operations/getproperties.js +1 -0
  106. package/dist/commonjs/sdk/models/operations/getproperties.js.map +1 -1
  107. package/dist/commonjs/sdk/models/operations/getpropertiesbylocation.d.ts +5 -0
  108. package/dist/commonjs/sdk/models/operations/getpropertiesbylocation.d.ts.map +1 -1
  109. package/dist/commonjs/sdk/models/operations/getpropertiesbylocation.js +1 -0
  110. package/dist/commonjs/sdk/models/operations/getpropertiesbylocation.js.map +1 -1
  111. package/dist/commonjs/sdk/models/operations/getpropertiesbysource.d.ts +5 -0
  112. package/dist/commonjs/sdk/models/operations/getpropertiesbysource.d.ts.map +1 -1
  113. package/dist/commonjs/sdk/models/operations/getpropertiesbysource.js +1 -0
  114. package/dist/commonjs/sdk/models/operations/getpropertiesbysource.js.map +1 -1
  115. package/dist/commonjs/sdk/models/operations/index.d.ts +1 -0
  116. package/dist/commonjs/sdk/models/operations/index.d.ts.map +1 -1
  117. package/dist/commonjs/sdk/models/operations/index.js +1 -0
  118. package/dist/commonjs/sdk/models/operations/index.js.map +1 -1
  119. package/dist/commonjs/sdk/models/operations/querylistings.d.ts +18 -15
  120. package/dist/commonjs/sdk/models/operations/querylistings.d.ts.map +1 -1
  121. package/dist/commonjs/sdk/models/operations/querylistings.js +17 -16
  122. package/dist/commonjs/sdk/models/operations/querylistings.js.map +1 -1
  123. package/dist/commonjs/sdk/models/operations/querylistingsbysource.d.ts +18 -15
  124. package/dist/commonjs/sdk/models/operations/querylistingsbysource.d.ts.map +1 -1
  125. package/dist/commonjs/sdk/models/operations/querylistingsbysource.js +16 -15
  126. package/dist/commonjs/sdk/models/operations/querylistingsbysource.js.map +1 -1
  127. package/dist/commonjs/sdk/models/operations/resolveaddress.d.ts +16 -3
  128. package/dist/commonjs/sdk/models/operations/resolveaddress.d.ts.map +1 -1
  129. package/dist/commonjs/sdk/models/operations/resolveaddress.js +18 -3
  130. package/dist/commonjs/sdk/models/operations/resolveaddress.js.map +1 -1
  131. package/dist/commonjs/sdk/models/operations/searchretrieve.d.ts +20 -0
  132. package/dist/commonjs/sdk/models/operations/searchretrieve.d.ts.map +1 -0
  133. package/dist/commonjs/sdk/models/operations/searchretrieve.js +55 -0
  134. package/dist/commonjs/sdk/models/operations/searchretrieve.js.map +1 -0
  135. package/dist/commonjs/sdk/models/operations/searchsuggest.d.ts +35 -0
  136. package/dist/commonjs/sdk/models/operations/searchsuggest.d.ts.map +1 -1
  137. package/dist/commonjs/sdk/models/operations/searchsuggest.js +18 -1
  138. package/dist/commonjs/sdk/models/operations/searchsuggest.js.map +1 -1
  139. package/dist/commonjs/sdk/models/shared/addressresolverequest.d.ts +27 -0
  140. package/dist/commonjs/sdk/models/shared/addressresolverequest.d.ts.map +1 -1
  141. package/dist/commonjs/sdk/models/shared/addressresolverequest.js +25 -1
  142. package/dist/commonjs/sdk/models/shared/addressresolverequest.js.map +1 -1
  143. package/dist/commonjs/sdk/models/shared/advancedlisting.d.ts +2 -2
  144. package/dist/commonjs/sdk/models/shared/advancedlisting.d.ts.map +1 -1
  145. package/dist/commonjs/sdk/models/shared/advancedlisting.js +2 -2
  146. package/dist/commonjs/sdk/models/shared/advancedlisting.js.map +1 -1
  147. package/dist/commonjs/sdk/models/shared/aggregationresult.d.ts +2 -1
  148. package/dist/commonjs/sdk/models/shared/aggregationresult.d.ts.map +1 -1
  149. package/dist/commonjs/sdk/models/shared/aggregationresult.js +2 -0
  150. package/dist/commonjs/sdk/models/shared/aggregationresult.js.map +1 -1
  151. package/dist/commonjs/sdk/models/shared/censusareaprofilerequest.d.ts +20 -0
  152. package/dist/commonjs/sdk/models/shared/censusareaprofilerequest.d.ts.map +1 -1
  153. package/dist/commonjs/sdk/models/shared/censusareaprofilerequest.js +13 -1
  154. package/dist/commonjs/sdk/models/shared/censusareaprofilerequest.js.map +1 -1
  155. package/dist/commonjs/sdk/models/shared/censusrolluprequest.d.ts +20 -0
  156. package/dist/commonjs/sdk/models/shared/censusrolluprequest.d.ts.map +1 -1
  157. package/dist/commonjs/sdk/models/shared/censusrolluprequest.js +12 -1
  158. package/dist/commonjs/sdk/models/shared/censusrolluprequest.js.map +1 -1
  159. package/dist/commonjs/sdk/models/shared/geocodeprecision.d.ts +17 -0
  160. package/dist/commonjs/sdk/models/shared/geocodeprecision.d.ts.map +1 -0
  161. package/dist/commonjs/sdk/models/shared/geocodeprecision.js +51 -0
  162. package/dist/commonjs/sdk/models/shared/geocodeprecision.js.map +1 -0
  163. package/dist/commonjs/sdk/models/shared/histogrambucket.d.ts +7 -0
  164. package/dist/commonjs/sdk/models/shared/histogrambucket.d.ts.map +1 -1
  165. package/dist/commonjs/sdk/models/shared/histogrambucket.js +4 -2
  166. package/dist/commonjs/sdk/models/shared/histogrambucket.js.map +1 -1
  167. package/dist/commonjs/sdk/models/shared/index.d.ts +15 -7
  168. package/dist/commonjs/sdk/models/shared/index.d.ts.map +1 -1
  169. package/dist/commonjs/sdk/models/shared/index.js +15 -7
  170. package/dist/commonjs/sdk/models/shared/index.js.map +1 -1
  171. package/dist/commonjs/sdk/models/shared/mortgagecharge.d.ts +38 -0
  172. package/dist/commonjs/sdk/models/shared/mortgagecharge.d.ts.map +1 -0
  173. package/dist/commonjs/sdk/models/shared/{extractionmortgagecharge.js → mortgagecharge.js} +11 -11
  174. package/dist/commonjs/sdk/models/shared/mortgagecharge.js.map +1 -0
  175. package/dist/commonjs/sdk/models/shared/nestedaggregationresult.d.ts +16 -0
  176. package/dist/commonjs/sdk/models/shared/nestedaggregationresult.d.ts.map +1 -0
  177. package/dist/commonjs/sdk/models/shared/{extractionproprietor.js → nestedaggregationresult.js} +12 -15
  178. package/dist/commonjs/sdk/models/shared/nestedaggregationresult.js.map +1 -0
  179. package/dist/commonjs/sdk/models/shared/othercharge.d.ts +23 -0
  180. package/dist/commonjs/sdk/models/shared/othercharge.d.ts.map +1 -0
  181. package/dist/commonjs/sdk/models/shared/{extractionothercharge.js → othercharge.js} +6 -6
  182. package/dist/commonjs/sdk/models/shared/othercharge.js.map +1 -0
  183. package/dist/commonjs/sdk/models/shared/propertyaddress.d.ts +24 -2
  184. package/dist/commonjs/sdk/models/shared/propertyaddress.d.ts.map +1 -1
  185. package/dist/commonjs/sdk/models/shared/propertyaddress.js +14 -2
  186. package/dist/commonjs/sdk/models/shared/propertyaddress.js.map +1 -1
  187. package/dist/commonjs/sdk/models/shared/propertybyslugsrequest.d.ts +5 -0
  188. package/dist/commonjs/sdk/models/shared/propertybyslugsrequest.d.ts.map +1 -1
  189. package/dist/commonjs/sdk/models/shared/propertybyslugsrequest.js +1 -0
  190. package/dist/commonjs/sdk/models/shared/propertybyslugsrequest.js.map +1 -1
  191. package/dist/commonjs/sdk/models/shared/propertydataapi.d.ts +38 -0
  192. package/dist/commonjs/sdk/models/shared/propertydataapi.d.ts.map +1 -1
  193. package/dist/commonjs/sdk/models/shared/propertydataapi.js +22 -1
  194. package/dist/commonjs/sdk/models/shared/propertydataapi.js.map +1 -1
  195. package/dist/commonjs/sdk/models/shared/propertyqueryrequest.d.ts +5 -0
  196. package/dist/commonjs/sdk/models/shared/propertyqueryrequest.d.ts.map +1 -1
  197. package/dist/commonjs/sdk/models/shared/propertyqueryrequest.js +1 -0
  198. package/dist/commonjs/sdk/models/shared/propertyqueryrequest.js.map +1 -1
  199. package/dist/commonjs/sdk/models/shared/registeredcharges.d.ts +14 -0
  200. package/dist/commonjs/sdk/models/shared/registeredcharges.d.ts.map +1 -0
  201. package/dist/commonjs/sdk/models/shared/registeredcharges.js +54 -0
  202. package/dist/commonjs/sdk/models/shared/registeredcharges.js.map +1 -0
  203. package/dist/commonjs/sdk/models/shared/salerecord.d.ts +45 -0
  204. package/dist/commonjs/sdk/models/shared/salerecord.d.ts.map +1 -1
  205. package/dist/commonjs/sdk/models/shared/salerecord.js +26 -1
  206. package/dist/commonjs/sdk/models/shared/salerecord.js.map +1 -1
  207. package/dist/commonjs/sdk/models/shared/searchresponse.d.ts +8 -0
  208. package/dist/commonjs/sdk/models/shared/searchresponse.d.ts.map +1 -1
  209. package/dist/commonjs/sdk/models/shared/searchresponse.js +4 -0
  210. package/dist/commonjs/sdk/models/shared/searchresponse.js.map +1 -1
  211. package/dist/commonjs/sdk/models/shared/searchretrieveresponse.d.ts +82 -0
  212. package/dist/commonjs/sdk/models/shared/searchretrieveresponse.d.ts.map +1 -0
  213. package/dist/commonjs/sdk/models/shared/searchretrieveresponse.js +88 -0
  214. package/dist/commonjs/sdk/models/shared/searchretrieveresponse.js.map +1 -0
  215. package/dist/commonjs/sdk/models/shared/streetmatch.d.ts +106 -0
  216. package/dist/commonjs/sdk/models/shared/streetmatch.d.ts.map +1 -0
  217. package/dist/commonjs/sdk/models/shared/streetmatch.js +84 -0
  218. package/dist/commonjs/sdk/models/shared/streetmatch.js.map +1 -0
  219. package/dist/commonjs/sdk/models/shared/termsbucket.d.ts +3 -0
  220. package/dist/commonjs/sdk/models/shared/termsbucket.d.ts.map +1 -1
  221. package/dist/commonjs/sdk/models/shared/termsbucket.js +2 -2
  222. package/dist/commonjs/sdk/models/shared/termsbucket.js.map +1 -1
  223. package/dist/commonjs/sdk/models/shared/titlecovenant.d.ts +23 -0
  224. package/dist/commonjs/sdk/models/shared/titlecovenant.d.ts.map +1 -0
  225. package/dist/commonjs/sdk/models/shared/{extractionrestriction.js → titlecovenant.js} +6 -6
  226. package/dist/commonjs/sdk/models/shared/titlecovenant.js.map +1 -0
  227. package/dist/commonjs/sdk/models/shared/{extractiondocumentsummary.d.ts → titledocumentsummary.d.ts} +9 -9
  228. package/dist/commonjs/sdk/models/shared/titledocumentsummary.d.ts.map +1 -0
  229. package/dist/commonjs/sdk/models/shared/{extractiondocumentsummary.js → titledocumentsummary.js} +11 -11
  230. package/dist/commonjs/sdk/models/shared/titledocumentsummary.js.map +1 -0
  231. package/dist/commonjs/sdk/models/shared/titleextractionpayload.d.ts +83 -0
  232. package/dist/commonjs/sdk/models/shared/titleextractionpayload.d.ts.map +1 -0
  233. package/dist/commonjs/sdk/models/shared/titleextractionpayload.js +103 -0
  234. package/dist/commonjs/sdk/models/shared/titleextractionpayload.js.map +1 -0
  235. package/dist/commonjs/sdk/models/shared/titleextractionpollresponse.d.ts +2 -2
  236. package/dist/commonjs/sdk/models/shared/titleextractionpollresponse.d.ts.map +1 -1
  237. package/dist/commonjs/sdk/models/shared/titleextractionpollresponse.js +2 -2
  238. package/dist/commonjs/sdk/models/shared/titleextractionpollresponse.js.map +1 -1
  239. package/dist/{esm/sdk/models/shared/extractionnotice.d.ts → commonjs/sdk/models/shared/titlenotice.d.ts} +13 -4
  240. package/dist/commonjs/sdk/models/shared/titlenotice.d.ts.map +1 -0
  241. package/dist/commonjs/sdk/models/shared/{extractionnotice.js → titlenotice.js} +6 -6
  242. package/dist/commonjs/sdk/models/shared/titlenotice.js.map +1 -0
  243. package/dist/commonjs/sdk/models/shared/titleproprietor.d.ts +54 -0
  244. package/dist/commonjs/sdk/models/shared/titleproprietor.d.ts.map +1 -0
  245. package/dist/commonjs/sdk/models/shared/titleproprietor.js +75 -0
  246. package/dist/commonjs/sdk/models/shared/titleproprietor.js.map +1 -0
  247. package/dist/commonjs/sdk/models/shared/titlerestriction.d.ts +23 -0
  248. package/dist/commonjs/sdk/models/shared/titlerestriction.d.ts.map +1 -0
  249. package/dist/commonjs/sdk/models/shared/titlerestriction.js +54 -0
  250. package/dist/commonjs/sdk/models/shared/titlerestriction.js.map +1 -0
  251. package/dist/commonjs/sdk/models/shared/titleschedulenoticeoflease.d.ts +13 -0
  252. package/dist/commonjs/sdk/models/shared/titleschedulenoticeoflease.d.ts.map +1 -0
  253. package/dist/commonjs/sdk/models/shared/titleschedulenoticeoflease.js +50 -0
  254. package/dist/commonjs/sdk/models/shared/titleschedulenoticeoflease.js.map +1 -0
  255. package/dist/commonjs/sdk/models/shared/titlesummarycounts.d.ts +15 -0
  256. package/dist/commonjs/sdk/models/shared/titlesummarycounts.d.ts.map +1 -0
  257. package/dist/commonjs/sdk/models/shared/titlesummarycounts.js +55 -0
  258. package/dist/commonjs/sdk/models/shared/titlesummarycounts.js.map +1 -0
  259. package/dist/commonjs/sdk/search.d.ts +14 -1
  260. package/dist/commonjs/sdk/search.d.ts.map +1 -1
  261. package/dist/commonjs/sdk/search.js +17 -1
  262. package/dist/commonjs/sdk/search.js.map +1 -1
  263. package/dist/esm/address-search/__tests__/controller.test.d.ts +2 -0
  264. package/dist/esm/address-search/__tests__/controller.test.d.ts.map +1 -0
  265. package/dist/esm/address-search/__tests__/controller.test.js +327 -0
  266. package/dist/esm/address-search/__tests__/controller.test.js.map +1 -0
  267. package/dist/esm/address-search/__tests__/default-transports.test.d.ts +2 -0
  268. package/dist/esm/address-search/__tests__/default-transports.test.d.ts.map +1 -0
  269. package/dist/esm/address-search/__tests__/default-transports.test.js +159 -0
  270. package/dist/esm/address-search/__tests__/default-transports.test.js.map +1 -0
  271. package/dist/esm/address-search/__tests__/narrow.test.d.ts +2 -0
  272. package/dist/esm/address-search/__tests__/narrow.test.d.ts.map +1 -0
  273. package/dist/esm/address-search/__tests__/narrow.test.js +61 -0
  274. package/dist/esm/address-search/__tests__/narrow.test.js.map +1 -0
  275. package/dist/esm/address-search/controller.d.ts +14 -0
  276. package/dist/esm/address-search/controller.d.ts.map +1 -0
  277. package/dist/esm/address-search/controller.js +187 -0
  278. package/dist/esm/address-search/controller.js.map +1 -0
  279. package/dist/esm/address-search/default-transports.d.ts +52 -0
  280. package/dist/esm/address-search/default-transports.d.ts.map +1 -0
  281. package/dist/esm/address-search/default-transports.js +129 -0
  282. package/dist/esm/address-search/default-transports.js.map +1 -0
  283. package/dist/esm/address-search/errors.d.ts +5 -0
  284. package/dist/esm/address-search/errors.d.ts.map +1 -0
  285. package/dist/esm/address-search/errors.js +8 -0
  286. package/dist/esm/address-search/errors.js.map +1 -0
  287. package/dist/esm/address-search/index.d.ts +8 -0
  288. package/dist/esm/address-search/index.d.ts.map +1 -0
  289. package/dist/esm/address-search/index.js +30 -0
  290. package/dist/esm/address-search/index.js.map +1 -0
  291. package/dist/esm/address-search/lru-cache.d.ts +13 -0
  292. package/dist/esm/address-search/lru-cache.d.ts.map +1 -0
  293. package/dist/esm/address-search/lru-cache.js +46 -0
  294. package/dist/esm/address-search/lru-cache.js.map +1 -0
  295. package/dist/esm/address-search/narrow.d.ts +21 -0
  296. package/dist/esm/address-search/narrow.d.ts.map +1 -0
  297. package/dist/esm/address-search/narrow.js +43 -0
  298. package/dist/esm/address-search/narrow.js.map +1 -0
  299. package/dist/esm/address-search/types.d.ts +125 -0
  300. package/dist/esm/address-search/types.d.ts.map +1 -0
  301. package/dist/esm/address-search/types.js +8 -0
  302. package/dist/esm/address-search/types.js.map +1 -0
  303. package/dist/esm/address-search.d.ts +3 -0
  304. package/dist/esm/address-search.d.ts.map +1 -0
  305. package/dist/esm/address-search.js +6 -0
  306. package/dist/esm/address-search.js.map +1 -0
  307. package/dist/esm/funcs/avmPredictPropertyValue.d.ts +1 -1
  308. package/dist/esm/funcs/avmPredictPropertyValue.d.ts.map +1 -1
  309. package/dist/esm/funcs/avmPredictPropertyValue.js +1 -1
  310. package/dist/esm/funcs/avmPredictPropertyValue.js.map +1 -1
  311. package/dist/esm/funcs/propertyGetProperties.js +1 -0
  312. package/dist/esm/funcs/propertyGetProperties.js.map +1 -1
  313. package/dist/esm/funcs/propertyGetPropertiesByLocation.js +1 -0
  314. package/dist/esm/funcs/propertyGetPropertiesByLocation.js.map +1 -1
  315. package/dist/esm/funcs/propertyGetPropertiesBySource.js +1 -0
  316. package/dist/esm/funcs/propertyGetPropertiesBySource.js.map +1 -1
  317. package/dist/esm/funcs/searchSearchRetrieve.d.ts +23 -0
  318. package/dist/esm/funcs/searchSearchRetrieve.d.ts.map +1 -0
  319. package/dist/esm/funcs/searchSearchRetrieve.js +92 -0
  320. package/dist/esm/funcs/searchSearchRetrieve.js.map +1 -0
  321. package/dist/esm/funcs/searchSearchSuggest.d.ts +3 -1
  322. package/dist/esm/funcs/searchSearchSuggest.d.ts.map +1 -1
  323. package/dist/esm/funcs/searchSearchSuggest.js +5 -1
  324. package/dist/esm/funcs/searchSearchSuggest.js.map +1 -1
  325. package/dist/esm/funcs/titleDeedsPostV1TitleDeedsTitleNumberPurchase.d.ts +1 -1
  326. package/dist/esm/funcs/titleDeedsPostV1TitleDeedsTitleNumberPurchase.d.ts.map +1 -1
  327. package/dist/esm/funcs/titleDeedsPostV1TitleDeedsTitleNumberPurchase.js +2 -1
  328. package/dist/esm/funcs/titleDeedsPostV1TitleDeedsTitleNumberPurchase.js.map +1 -1
  329. package/dist/esm/lib/config.d.ts +3 -3
  330. package/dist/esm/lib/config.js +3 -3
  331. package/dist/esm/lib/config.js.map +1 -1
  332. package/dist/esm/sdk/models/errors/index.d.ts +1 -0
  333. package/dist/esm/sdk/models/errors/index.d.ts.map +1 -1
  334. package/dist/esm/sdk/models/errors/index.js +1 -0
  335. package/dist/esm/sdk/models/errors/index.js.map +1 -1
  336. package/dist/esm/sdk/models/errors/postv1titledeedstitlenumberpurchase.d.ts +65 -0
  337. package/dist/esm/sdk/models/errors/postv1titledeedstitlenumberpurchase.d.ts.map +1 -1
  338. package/dist/esm/sdk/models/errors/postv1titledeedstitlenumberpurchase.js +52 -0
  339. package/dist/esm/sdk/models/errors/postv1titledeedstitlenumberpurchase.js.map +1 -1
  340. package/dist/esm/sdk/models/errors/predictpropertyvalue.d.ts +65 -0
  341. package/dist/esm/sdk/models/errors/predictpropertyvalue.d.ts.map +1 -1
  342. package/dist/esm/sdk/models/errors/predictpropertyvalue.js +54 -0
  343. package/dist/esm/sdk/models/errors/predictpropertyvalue.js.map +1 -1
  344. package/dist/esm/sdk/models/errors/searchretrieve.d.ts +201 -0
  345. package/dist/esm/sdk/models/errors/searchretrieve.d.ts.map +1 -0
  346. package/dist/esm/sdk/models/errors/searchretrieve.js +171 -0
  347. package/dist/esm/sdk/models/errors/searchretrieve.js.map +1 -0
  348. package/dist/esm/sdk/models/operations/getcensuswholelevel.d.ts +1 -0
  349. package/dist/esm/sdk/models/operations/getcensuswholelevel.d.ts.map +1 -1
  350. package/dist/esm/sdk/models/operations/getcensuswholelevel.js +1 -0
  351. package/dist/esm/sdk/models/operations/getcensuswholelevel.js.map +1 -1
  352. package/dist/esm/sdk/models/operations/getlistingbyid.d.ts +18 -15
  353. package/dist/esm/sdk/models/operations/getlistingbyid.d.ts.map +1 -1
  354. package/dist/esm/sdk/models/operations/getlistingbyid.js +16 -16
  355. package/dist/esm/sdk/models/operations/getlistingbyid.js.map +1 -1
  356. package/dist/esm/sdk/models/operations/getlistingbysource.d.ts +18 -15
  357. package/dist/esm/sdk/models/operations/getlistingbysource.d.ts.map +1 -1
  358. package/dist/esm/sdk/models/operations/getlistingbysource.js +16 -16
  359. package/dist/esm/sdk/models/operations/getlistingbysource.js.map +1 -1
  360. package/dist/esm/sdk/models/operations/getlistingsbylocation.d.ts +18 -15
  361. package/dist/esm/sdk/models/operations/getlistingsbylocation.d.ts.map +1 -1
  362. package/dist/esm/sdk/models/operations/getlistingsbylocation.js +17 -16
  363. package/dist/esm/sdk/models/operations/getlistingsbylocation.js.map +1 -1
  364. package/dist/esm/sdk/models/operations/getproperties.d.ts +5 -0
  365. package/dist/esm/sdk/models/operations/getproperties.d.ts.map +1 -1
  366. package/dist/esm/sdk/models/operations/getproperties.js +1 -0
  367. package/dist/esm/sdk/models/operations/getproperties.js.map +1 -1
  368. package/dist/esm/sdk/models/operations/getpropertiesbylocation.d.ts +5 -0
  369. package/dist/esm/sdk/models/operations/getpropertiesbylocation.d.ts.map +1 -1
  370. package/dist/esm/sdk/models/operations/getpropertiesbylocation.js +1 -0
  371. package/dist/esm/sdk/models/operations/getpropertiesbylocation.js.map +1 -1
  372. package/dist/esm/sdk/models/operations/getpropertiesbysource.d.ts +5 -0
  373. package/dist/esm/sdk/models/operations/getpropertiesbysource.d.ts.map +1 -1
  374. package/dist/esm/sdk/models/operations/getpropertiesbysource.js +1 -0
  375. package/dist/esm/sdk/models/operations/getpropertiesbysource.js.map +1 -1
  376. package/dist/esm/sdk/models/operations/index.d.ts +1 -0
  377. package/dist/esm/sdk/models/operations/index.d.ts.map +1 -1
  378. package/dist/esm/sdk/models/operations/index.js +1 -0
  379. package/dist/esm/sdk/models/operations/index.js.map +1 -1
  380. package/dist/esm/sdk/models/operations/querylistings.d.ts +18 -15
  381. package/dist/esm/sdk/models/operations/querylistings.d.ts.map +1 -1
  382. package/dist/esm/sdk/models/operations/querylistings.js +18 -17
  383. package/dist/esm/sdk/models/operations/querylistings.js.map +1 -1
  384. package/dist/esm/sdk/models/operations/querylistingsbysource.d.ts +18 -15
  385. package/dist/esm/sdk/models/operations/querylistingsbysource.d.ts.map +1 -1
  386. package/dist/esm/sdk/models/operations/querylistingsbysource.js +17 -16
  387. package/dist/esm/sdk/models/operations/querylistingsbysource.js.map +1 -1
  388. package/dist/esm/sdk/models/operations/resolveaddress.d.ts +16 -3
  389. package/dist/esm/sdk/models/operations/resolveaddress.d.ts.map +1 -1
  390. package/dist/esm/sdk/models/operations/resolveaddress.js +16 -2
  391. package/dist/esm/sdk/models/operations/resolveaddress.js.map +1 -1
  392. package/dist/esm/sdk/models/operations/searchretrieve.d.ts +20 -0
  393. package/dist/esm/sdk/models/operations/searchretrieve.d.ts.map +1 -0
  394. package/dist/esm/sdk/models/operations/searchretrieve.js +18 -0
  395. package/dist/esm/sdk/models/operations/searchretrieve.js.map +1 -0
  396. package/dist/esm/sdk/models/operations/searchsuggest.d.ts +35 -0
  397. package/dist/esm/sdk/models/operations/searchsuggest.d.ts.map +1 -1
  398. package/dist/esm/sdk/models/operations/searchsuggest.js +17 -0
  399. package/dist/esm/sdk/models/operations/searchsuggest.js.map +1 -1
  400. package/dist/esm/sdk/models/shared/addressresolverequest.d.ts +27 -0
  401. package/dist/esm/sdk/models/shared/addressresolverequest.d.ts.map +1 -1
  402. package/dist/esm/sdk/models/shared/addressresolverequest.js +23 -0
  403. package/dist/esm/sdk/models/shared/addressresolverequest.js.map +1 -1
  404. package/dist/esm/sdk/models/shared/advancedlisting.d.ts +2 -2
  405. package/dist/esm/sdk/models/shared/advancedlisting.d.ts.map +1 -1
  406. package/dist/esm/sdk/models/shared/advancedlisting.js +2 -2
  407. package/dist/esm/sdk/models/shared/advancedlisting.js.map +1 -1
  408. package/dist/esm/sdk/models/shared/aggregationresult.d.ts +2 -1
  409. package/dist/esm/sdk/models/shared/aggregationresult.d.ts.map +1 -1
  410. package/dist/esm/sdk/models/shared/aggregationresult.js +2 -0
  411. package/dist/esm/sdk/models/shared/aggregationresult.js.map +1 -1
  412. package/dist/esm/sdk/models/shared/censusareaprofilerequest.d.ts +20 -0
  413. package/dist/esm/sdk/models/shared/censusareaprofilerequest.d.ts.map +1 -1
  414. package/dist/esm/sdk/models/shared/censusareaprofilerequest.js +12 -0
  415. package/dist/esm/sdk/models/shared/censusareaprofilerequest.js.map +1 -1
  416. package/dist/esm/sdk/models/shared/censusrolluprequest.d.ts +20 -0
  417. package/dist/esm/sdk/models/shared/censusrolluprequest.d.ts.map +1 -1
  418. package/dist/esm/sdk/models/shared/censusrolluprequest.js +11 -0
  419. package/dist/esm/sdk/models/shared/censusrolluprequest.js.map +1 -1
  420. package/dist/esm/sdk/models/shared/geocodeprecision.d.ts +17 -0
  421. package/dist/esm/sdk/models/shared/geocodeprecision.d.ts.map +1 -0
  422. package/dist/esm/sdk/models/shared/geocodeprecision.js +15 -0
  423. package/dist/esm/sdk/models/shared/geocodeprecision.js.map +1 -0
  424. package/dist/esm/sdk/models/shared/histogrambucket.d.ts +7 -0
  425. package/dist/esm/sdk/models/shared/histogrambucket.d.ts.map +1 -1
  426. package/dist/esm/sdk/models/shared/histogrambucket.js +5 -3
  427. package/dist/esm/sdk/models/shared/histogrambucket.js.map +1 -1
  428. package/dist/esm/sdk/models/shared/index.d.ts +15 -7
  429. package/dist/esm/sdk/models/shared/index.d.ts.map +1 -1
  430. package/dist/esm/sdk/models/shared/index.js +15 -7
  431. package/dist/esm/sdk/models/shared/index.js.map +1 -1
  432. package/dist/esm/sdk/models/shared/mortgagecharge.d.ts +38 -0
  433. package/dist/esm/sdk/models/shared/mortgagecharge.d.ts.map +1 -0
  434. package/dist/esm/sdk/models/shared/mortgagecharge.js +28 -0
  435. package/dist/esm/sdk/models/shared/mortgagecharge.js.map +1 -0
  436. package/dist/esm/sdk/models/shared/nestedaggregationresult.d.ts +16 -0
  437. package/dist/esm/sdk/models/shared/nestedaggregationresult.d.ts.map +1 -0
  438. package/dist/esm/sdk/models/shared/nestedaggregationresult.js +18 -0
  439. package/dist/esm/sdk/models/shared/nestedaggregationresult.js.map +1 -0
  440. package/dist/esm/sdk/models/shared/othercharge.d.ts +23 -0
  441. package/dist/esm/sdk/models/shared/othercharge.d.ts.map +1 -0
  442. package/dist/esm/sdk/models/shared/{extractionothercharge.js → othercharge.js} +4 -4
  443. package/dist/esm/sdk/models/shared/othercharge.js.map +1 -0
  444. package/dist/esm/sdk/models/shared/propertyaddress.d.ts +24 -2
  445. package/dist/esm/sdk/models/shared/propertyaddress.d.ts.map +1 -1
  446. package/dist/esm/sdk/models/shared/propertyaddress.js +13 -1
  447. package/dist/esm/sdk/models/shared/propertyaddress.js.map +1 -1
  448. package/dist/esm/sdk/models/shared/propertybyslugsrequest.d.ts +5 -0
  449. package/dist/esm/sdk/models/shared/propertybyslugsrequest.d.ts.map +1 -1
  450. package/dist/esm/sdk/models/shared/propertybyslugsrequest.js +1 -0
  451. package/dist/esm/sdk/models/shared/propertybyslugsrequest.js.map +1 -1
  452. package/dist/esm/sdk/models/shared/propertydataapi.d.ts +38 -0
  453. package/dist/esm/sdk/models/shared/propertydataapi.d.ts.map +1 -1
  454. package/dist/esm/sdk/models/shared/propertydataapi.js +21 -0
  455. package/dist/esm/sdk/models/shared/propertydataapi.js.map +1 -1
  456. package/dist/esm/sdk/models/shared/propertyqueryrequest.d.ts +5 -0
  457. package/dist/esm/sdk/models/shared/propertyqueryrequest.d.ts.map +1 -1
  458. package/dist/esm/sdk/models/shared/propertyqueryrequest.js +1 -0
  459. package/dist/esm/sdk/models/shared/propertyqueryrequest.js.map +1 -1
  460. package/dist/esm/sdk/models/shared/registeredcharges.d.ts +14 -0
  461. package/dist/esm/sdk/models/shared/registeredcharges.d.ts.map +1 -0
  462. package/dist/esm/sdk/models/shared/registeredcharges.js +17 -0
  463. package/dist/esm/sdk/models/shared/registeredcharges.js.map +1 -0
  464. package/dist/esm/sdk/models/shared/salerecord.d.ts +45 -0
  465. package/dist/esm/sdk/models/shared/salerecord.d.ts.map +1 -1
  466. package/dist/esm/sdk/models/shared/salerecord.js +25 -0
  467. package/dist/esm/sdk/models/shared/salerecord.js.map +1 -1
  468. package/dist/esm/sdk/models/shared/searchresponse.d.ts +8 -0
  469. package/dist/esm/sdk/models/shared/searchresponse.d.ts.map +1 -1
  470. package/dist/esm/sdk/models/shared/searchresponse.js +4 -0
  471. package/dist/esm/sdk/models/shared/searchresponse.js.map +1 -1
  472. package/dist/esm/sdk/models/shared/searchretrieveresponse.d.ts +82 -0
  473. package/dist/esm/sdk/models/shared/searchretrieveresponse.d.ts.map +1 -0
  474. package/dist/esm/sdk/models/shared/searchretrieveresponse.js +50 -0
  475. package/dist/esm/sdk/models/shared/searchretrieveresponse.js.map +1 -0
  476. package/dist/esm/sdk/models/shared/streetmatch.d.ts +106 -0
  477. package/dist/esm/sdk/models/shared/streetmatch.d.ts.map +1 -0
  478. package/dist/esm/sdk/models/shared/streetmatch.js +45 -0
  479. package/dist/esm/sdk/models/shared/streetmatch.js.map +1 -0
  480. package/dist/esm/sdk/models/shared/termsbucket.d.ts +3 -0
  481. package/dist/esm/sdk/models/shared/termsbucket.d.ts.map +1 -1
  482. package/dist/esm/sdk/models/shared/termsbucket.js +3 -3
  483. package/dist/esm/sdk/models/shared/termsbucket.js.map +1 -1
  484. package/dist/esm/sdk/models/shared/titlecovenant.d.ts +23 -0
  485. package/dist/esm/sdk/models/shared/titlecovenant.d.ts.map +1 -0
  486. package/dist/esm/sdk/models/shared/{extractionrestriction.js → titlecovenant.js} +4 -4
  487. package/dist/esm/sdk/models/shared/titlecovenant.js.map +1 -0
  488. package/dist/esm/sdk/models/shared/{extractiondocumentsummary.d.ts → titledocumentsummary.d.ts} +9 -9
  489. package/dist/esm/sdk/models/shared/titledocumentsummary.d.ts.map +1 -0
  490. package/dist/esm/sdk/models/shared/{extractiondocumentsummary.js → titledocumentsummary.js} +9 -9
  491. package/dist/esm/sdk/models/shared/titledocumentsummary.js.map +1 -0
  492. package/dist/esm/sdk/models/shared/titleextractionpayload.d.ts +83 -0
  493. package/dist/esm/sdk/models/shared/titleextractionpayload.d.ts.map +1 -0
  494. package/dist/esm/sdk/models/shared/titleextractionpayload.js +65 -0
  495. package/dist/esm/sdk/models/shared/titleextractionpayload.js.map +1 -0
  496. package/dist/esm/sdk/models/shared/titleextractionpollresponse.d.ts +2 -2
  497. package/dist/esm/sdk/models/shared/titleextractionpollresponse.d.ts.map +1 -1
  498. package/dist/esm/sdk/models/shared/titleextractionpollresponse.js +2 -2
  499. package/dist/esm/sdk/models/shared/titleextractionpollresponse.js.map +1 -1
  500. package/dist/{commonjs/sdk/models/shared/extractionnotice.d.ts → esm/sdk/models/shared/titlenotice.d.ts} +13 -4
  501. package/dist/esm/sdk/models/shared/titlenotice.d.ts.map +1 -0
  502. package/dist/esm/sdk/models/shared/{extractionnotice.js → titlenotice.js} +4 -4
  503. package/dist/esm/sdk/models/shared/titlenotice.js.map +1 -0
  504. package/dist/esm/sdk/models/shared/titleproprietor.d.ts +54 -0
  505. package/dist/esm/sdk/models/shared/titleproprietor.d.ts.map +1 -0
  506. package/dist/esm/sdk/models/shared/titleproprietor.js +38 -0
  507. package/dist/esm/sdk/models/shared/titleproprietor.js.map +1 -0
  508. package/dist/esm/sdk/models/shared/titlerestriction.d.ts +23 -0
  509. package/dist/esm/sdk/models/shared/titlerestriction.d.ts.map +1 -0
  510. package/dist/esm/sdk/models/shared/titlerestriction.js +17 -0
  511. package/dist/esm/sdk/models/shared/titlerestriction.js.map +1 -0
  512. package/dist/esm/sdk/models/shared/titleschedulenoticeoflease.d.ts +13 -0
  513. package/dist/esm/sdk/models/shared/titleschedulenoticeoflease.d.ts.map +1 -0
  514. package/dist/esm/sdk/models/shared/titleschedulenoticeoflease.js +13 -0
  515. package/dist/esm/sdk/models/shared/titleschedulenoticeoflease.js.map +1 -0
  516. package/dist/esm/sdk/models/shared/titlesummarycounts.d.ts +15 -0
  517. package/dist/esm/sdk/models/shared/titlesummarycounts.d.ts.map +1 -0
  518. package/dist/esm/sdk/models/shared/titlesummarycounts.js +18 -0
  519. package/dist/esm/sdk/models/shared/titlesummarycounts.js.map +1 -0
  520. package/dist/esm/sdk/search.d.ts +14 -1
  521. package/dist/esm/sdk/search.d.ts.map +1 -1
  522. package/dist/esm/sdk/search.js +17 -1
  523. package/dist/esm/sdk/search.js.map +1 -1
  524. package/package.json +3 -2
  525. package/src/address-search/__tests__/controller.test.ts +395 -0
  526. package/src/address-search/__tests__/default-transports.test.ts +201 -0
  527. package/src/address-search/__tests__/narrow.test.ts +74 -0
  528. package/src/address-search/controller.ts +219 -0
  529. package/src/address-search/default-transports.ts +199 -0
  530. package/src/address-search/errors.ts +7 -0
  531. package/src/address-search/index.ts +54 -0
  532. package/src/address-search/lru-cache.ts +34 -0
  533. package/src/address-search/narrow.ts +45 -0
  534. package/src/address-search/types.ts +147 -0
  535. package/src/address-search.ts +40 -0
  536. package/src/funcs/avmPredictPropertyValue.ts +9 -2
  537. package/src/funcs/propertyGetProperties.ts +1 -0
  538. package/src/funcs/propertyGetPropertiesByLocation.ts +1 -0
  539. package/src/funcs/propertyGetPropertiesBySource.ts +1 -0
  540. package/src/funcs/searchSearchRetrieve.ts +192 -0
  541. package/src/funcs/searchSearchSuggest.ts +5 -1
  542. package/src/funcs/titleDeedsPostV1TitleDeedsTitleNumberPurchase.ts +8 -0
  543. package/src/lib/config.ts +3 -3
  544. package/src/sdk/models/errors/index.ts +1 -0
  545. package/src/sdk/models/errors/postv1titledeedstitlenumberpurchase.ts +144 -0
  546. package/src/sdk/models/errors/predictpropertyvalue.ts +136 -0
  547. package/src/sdk/models/errors/searchretrieve.ts +391 -0
  548. package/src/sdk/models/operations/getcensuswholelevel.ts +1 -0
  549. package/src/sdk/models/operations/getlistingbyid.ts +84 -76
  550. package/src/sdk/models/operations/getlistingbysource.ts +95 -87
  551. package/src/sdk/models/operations/getlistingsbylocation.ts +95 -86
  552. package/src/sdk/models/operations/getproperties.ts +6 -0
  553. package/src/sdk/models/operations/getpropertiesbylocation.ts +6 -0
  554. package/src/sdk/models/operations/getpropertiesbysource.ts +6 -0
  555. package/src/sdk/models/operations/index.ts +1 -0
  556. package/src/sdk/models/operations/querylistings.ts +91 -82
  557. package/src/sdk/models/operations/querylistingsbysource.ts +95 -86
  558. package/src/sdk/models/operations/resolveaddress.ts +50 -12
  559. package/src/sdk/models/operations/searchretrieve.ts +45 -0
  560. package/src/sdk/models/operations/searchsuggest.ts +41 -0
  561. package/src/sdk/models/shared/addressresolverequest.ts +60 -0
  562. package/src/sdk/models/shared/advancedlisting.ts +4 -4
  563. package/src/sdk/models/shared/aggregationresult.ts +7 -1
  564. package/src/sdk/models/shared/censusareaprofilerequest.ts +24 -0
  565. package/src/sdk/models/shared/censusrolluprequest.ts +27 -0
  566. package/src/sdk/models/shared/geocodeprecision.ts +27 -0
  567. package/src/sdk/models/shared/histogrambucket.ts +19 -5
  568. package/src/sdk/models/shared/index.ts +15 -7
  569. package/src/sdk/models/shared/mortgagecharge.ts +76 -0
  570. package/src/sdk/models/shared/nestedaggregationresult.ts +47 -0
  571. package/src/sdk/models/shared/{extractionothercharge.ts → othercharge.ts} +16 -7
  572. package/src/sdk/models/shared/propertyaddress.ts +36 -3
  573. package/src/sdk/models/shared/propertybyslugsrequest.ts +6 -0
  574. package/src/sdk/models/shared/propertydataapi.ts +55 -0
  575. package/src/sdk/models/shared/propertyqueryrequest.ts +6 -0
  576. package/src/sdk/models/shared/registeredcharges.ts +40 -0
  577. package/src/sdk/models/shared/salerecord.ts +62 -0
  578. package/src/sdk/models/shared/searchresponse.ts +12 -0
  579. package/src/sdk/models/shared/searchretrieveresponse.ts +153 -0
  580. package/src/sdk/models/shared/streetmatch.ts +181 -0
  581. package/src/sdk/models/shared/termsbucket.ts +13 -5
  582. package/src/sdk/models/shared/{extractionrestriction.ts → titlecovenant.ts} +16 -7
  583. package/src/sdk/models/shared/{extractiondocumentsummary.ts → titledocumentsummary.ts} +20 -18
  584. package/src/sdk/models/shared/titleextractionpayload.ts +170 -0
  585. package/src/sdk/models/shared/titleextractionpollresponse.ts +5 -5
  586. package/src/sdk/models/shared/{extractionnotice.ts → titlenotice.ts} +16 -7
  587. package/src/sdk/models/shared/titleproprietor.ts +90 -0
  588. package/src/sdk/models/shared/titlerestriction.ts +48 -0
  589. package/src/sdk/models/shared/titleschedulenoticeoflease.ts +34 -0
  590. package/src/sdk/models/shared/titlesummarycounts.ts +41 -0
  591. package/src/sdk/search.ts +25 -1
  592. package/dist/commonjs/sdk/models/shared/extractiondocumentsummary.d.ts.map +0 -1
  593. package/dist/commonjs/sdk/models/shared/extractiondocumentsummary.js.map +0 -1
  594. package/dist/commonjs/sdk/models/shared/extractionmortgagecharge.d.ts +0 -26
  595. package/dist/commonjs/sdk/models/shared/extractionmortgagecharge.d.ts.map +0 -1
  596. package/dist/commonjs/sdk/models/shared/extractionmortgagecharge.js.map +0 -1
  597. package/dist/commonjs/sdk/models/shared/extractionnotice.d.ts.map +0 -1
  598. package/dist/commonjs/sdk/models/shared/extractionnotice.js.map +0 -1
  599. package/dist/commonjs/sdk/models/shared/extractionothercharge.d.ts +0 -14
  600. package/dist/commonjs/sdk/models/shared/extractionothercharge.d.ts.map +0 -1
  601. package/dist/commonjs/sdk/models/shared/extractionothercharge.js.map +0 -1
  602. package/dist/commonjs/sdk/models/shared/extractionpayload.d.ts +0 -63
  603. package/dist/commonjs/sdk/models/shared/extractionpayload.d.ts.map +0 -1
  604. package/dist/commonjs/sdk/models/shared/extractionpayload.js +0 -108
  605. package/dist/commonjs/sdk/models/shared/extractionpayload.js.map +0 -1
  606. package/dist/commonjs/sdk/models/shared/extractionproprietor.d.ts +0 -18
  607. package/dist/commonjs/sdk/models/shared/extractionproprietor.d.ts.map +0 -1
  608. package/dist/commonjs/sdk/models/shared/extractionproprietor.js.map +0 -1
  609. package/dist/commonjs/sdk/models/shared/extractionrestriction.d.ts +0 -14
  610. package/dist/commonjs/sdk/models/shared/extractionrestriction.d.ts.map +0 -1
  611. package/dist/commonjs/sdk/models/shared/extractionrestriction.js.map +0 -1
  612. package/dist/esm/sdk/models/shared/extractiondocumentsummary.d.ts.map +0 -1
  613. package/dist/esm/sdk/models/shared/extractiondocumentsummary.js.map +0 -1
  614. package/dist/esm/sdk/models/shared/extractionmortgagecharge.d.ts +0 -26
  615. package/dist/esm/sdk/models/shared/extractionmortgagecharge.d.ts.map +0 -1
  616. package/dist/esm/sdk/models/shared/extractionmortgagecharge.js +0 -28
  617. package/dist/esm/sdk/models/shared/extractionmortgagecharge.js.map +0 -1
  618. package/dist/esm/sdk/models/shared/extractionnotice.d.ts.map +0 -1
  619. package/dist/esm/sdk/models/shared/extractionnotice.js.map +0 -1
  620. package/dist/esm/sdk/models/shared/extractionothercharge.d.ts +0 -14
  621. package/dist/esm/sdk/models/shared/extractionothercharge.d.ts.map +0 -1
  622. package/dist/esm/sdk/models/shared/extractionothercharge.js.map +0 -1
  623. package/dist/esm/sdk/models/shared/extractionpayload.d.ts +0 -63
  624. package/dist/esm/sdk/models/shared/extractionpayload.d.ts.map +0 -1
  625. package/dist/esm/sdk/models/shared/extractionpayload.js +0 -68
  626. package/dist/esm/sdk/models/shared/extractionpayload.js.map +0 -1
  627. package/dist/esm/sdk/models/shared/extractionproprietor.d.ts +0 -18
  628. package/dist/esm/sdk/models/shared/extractionproprietor.d.ts.map +0 -1
  629. package/dist/esm/sdk/models/shared/extractionproprietor.js +0 -21
  630. package/dist/esm/sdk/models/shared/extractionproprietor.js.map +0 -1
  631. package/dist/esm/sdk/models/shared/extractionrestriction.d.ts +0 -14
  632. package/dist/esm/sdk/models/shared/extractionrestriction.d.ts.map +0 -1
  633. package/dist/esm/sdk/models/shared/extractionrestriction.js.map +0 -1
  634. package/src/sdk/models/shared/extractionmortgagecharge.ts +0 -66
  635. package/src/sdk/models/shared/extractionpayload.ts +0 -177
  636. package/src/sdk/models/shared/extractionproprietor.ts +0 -47
@@ -0,0 +1,219 @@
1
+ import { LruCache } from "./lru-cache.js";
2
+ import { extendsTriggerPrefix, narrowSuggestions, normaliseQuery } from "./narrow.js";
3
+ import type {
4
+ AddressSearchController,
5
+ AddressSearchListener,
6
+ AddressSearchOptions,
7
+ AddressSearchState,
8
+ AddressSearchTimers,
9
+ AddressSuggestion,
10
+ BillingMetadata,
11
+ SuggestResult,
12
+ TimerHandle,
13
+ } from "./types.js";
14
+
15
+ const DEFAULT_DEBOUNCE_MS = 250;
16
+ const DEFAULT_MIN_QUERY_LENGTH = 3;
17
+ const DEFAULT_CACHE_SIZE = 50;
18
+
19
+ const defaultTimers: AddressSearchTimers = {
20
+ now: (): number => Date.now(),
21
+ setTimeout: (callback: () => void, ms: number): TimerHandle => setTimeout(callback, ms),
22
+ clearTimeout: (handle: TimerHandle): void => clearTimeout(handle as ReturnType<typeof setTimeout>),
23
+ };
24
+
25
+ const INITIAL_STATE: AddressSearchState = {
26
+ status: "idle",
27
+ query: "",
28
+ suggestions: [],
29
+ searchId: null,
30
+ setComplete: false,
31
+ billing: null,
32
+ error: null,
33
+ };
34
+
35
+ /** A complete candidate set held client-side, keyed by the prefix that fetched it. */
36
+ interface HeldCandidateSet {
37
+ readonly searchId: string;
38
+ readonly triggerPrefix: string;
39
+ readonly rows: readonly AddressSuggestion[];
40
+ }
41
+
42
+ /**
43
+ * Headless address autocomplete controller (SV2-C1). Framework-agnostic: no
44
+ * DOM access, no framework dependencies — feed keystrokes to `input()`,
45
+ * render from `subscribe()`/`getState()`, resolve a pick with `select()`.
46
+ *
47
+ * The point of the controller is the candidate-set protocol: once a response
48
+ * arrives with `set_complete: true`, further keystrokes that extend the
49
+ * fetched prefix narrow the held set locally — no request, no new royalty
50
+ * transaction. The server is consulted again only when the local narrow
51
+ * empties (set exhaustion) or the input stops extending the trigger prefix.
52
+ */
53
+ export function createAddressSearch<TRecord = unknown>(
54
+ options: AddressSearchOptions<TRecord>,
55
+ ): AddressSearchController<TRecord> {
56
+ const debounceMs = options.debounceMs ?? DEFAULT_DEBOUNCE_MS;
57
+ const minQueryLength = options.minQueryLength ?? DEFAULT_MIN_QUERY_LENGTH;
58
+ const timers = options.timers ?? defaultTimers;
59
+ const cache = new LruCache<string, SuggestResult>(options.cacheSize ?? DEFAULT_CACHE_SIZE);
60
+
61
+ let state = INITIAL_STATE;
62
+ const listeners = new Set<AddressSearchListener>();
63
+ let heldSet: HeldCandidateSet | null = null;
64
+ let pendingTimer: TimerHandle | null = null;
65
+ let inFlight: AbortController | null = null;
66
+ let requestSeq = 0;
67
+ const selections = new Map<string, Promise<TRecord>>();
68
+ let disposed = false;
69
+
70
+ function setState(patch: Partial<AddressSearchState>): void {
71
+ state = { ...state, ...patch };
72
+ for (const listener of listeners) listener(state);
73
+ }
74
+
75
+ function stampBilling(billing: BillingMetadata | null): Partial<AddressSearchState> {
76
+ return billing === null ? {} : { billing: { ...billing, receivedAt: timers.now() } };
77
+ }
78
+
79
+ function cancelPending(): void {
80
+ if (pendingTimer !== null) {
81
+ timers.clearTimeout(pendingTimer);
82
+ pendingTimer = null;
83
+ }
84
+ if (inFlight !== null) {
85
+ inFlight.abort();
86
+ inFlight = null;
87
+ }
88
+ }
89
+
90
+ /** Apply a server (or cached) result; adopt the set when it is complete. */
91
+ function applyResult(query: string, result: SuggestResult): void {
92
+ if (result.setComplete && result.searchId !== null) {
93
+ heldSet = { searchId: result.searchId, triggerPrefix: normaliseQuery(query), rows: result.suggestions };
94
+ }
95
+ setState({
96
+ status: "ready",
97
+ query,
98
+ suggestions: result.suggestions,
99
+ searchId: result.searchId,
100
+ setComplete: result.setComplete,
101
+ error: null,
102
+ ...stampBilling(result.billing),
103
+ });
104
+ }
105
+
106
+ async function fetchSuggestions(query: string, normalised: string): Promise<void> {
107
+ inFlight?.abort();
108
+ const abort = new AbortController();
109
+ inFlight = abort;
110
+ const seq = ++requestSeq;
111
+ setState({ status: "loading", query });
112
+ try {
113
+ // Always a fresh query, never a search_id: local narrowing mirrors the
114
+ // server's, so a server-side narrow of the held set could only return
115
+ // what we already computed (or less) — the only useful re-query is a
116
+ // fresh probe, which is the counted path.
117
+ const result = await options.suggest({ query, searchId: null, signal: abort.signal });
118
+ if (seq !== requestSeq || abort.signal.aborted) return; // superseded
119
+ inFlight = null;
120
+ cache.set(normalised, result);
121
+ applyResult(query, result);
122
+ } catch (error) {
123
+ if (seq !== requestSeq || abort.signal.aborted) return; // superseded or cancelled
124
+ inFlight = null;
125
+ setState({ status: "error", query, error: error instanceof Error ? error : new Error(String(error)) });
126
+ }
127
+ }
128
+
129
+ function input(text: string): void {
130
+ if (disposed) return;
131
+ const normalised = normaliseQuery(text);
132
+
133
+ // Below the minimum: clear suggestions, never fetch. The held set is kept —
134
+ // retyping into its prefix resumes local narrowing at zero cost.
135
+ if (normalised.length < minQueryLength) {
136
+ cancelPending();
137
+ setState({ status: "idle", query: text, suggestions: [], searchId: null, setComplete: false, error: null });
138
+ return;
139
+ }
140
+
141
+ // A query answered before costs nothing to answer again.
142
+ const cached = cache.get(normalised);
143
+ if (cached !== undefined) {
144
+ cancelPending();
145
+ applyResult(text, cached);
146
+ return;
147
+ }
148
+
149
+ // Local narrowing: the input extends the held set's trigger prefix, so the
150
+ // true match set is a subset of what we hold. Served instantly (no
151
+ // debounce — it is free) and no request leaves the client.
152
+ if (heldSet !== null && extendsTriggerPrefix(text, heldSet.triggerPrefix)) {
153
+ const narrowed = narrowSuggestions(heldSet.rows, text);
154
+ if (narrowed.length > 0) {
155
+ cancelPending();
156
+ setState({
157
+ status: "ready",
158
+ query: text,
159
+ suggestions: narrowed,
160
+ searchId: heldSet.searchId,
161
+ setComplete: true,
162
+ error: null,
163
+ });
164
+ return;
165
+ }
166
+ // Set exhaustion: fall through to a fresh counted fetch (no search_id).
167
+ }
168
+
169
+ cancelPending();
170
+ setState({ status: "debouncing", query: text });
171
+ pendingTimer = timers.setTimeout(() => {
172
+ pendingTimer = null;
173
+ void fetchSuggestions(text, normalised);
174
+ }, debounceMs);
175
+ }
176
+
177
+ function select(suggestion: AddressSuggestion): Promise<TRecord> {
178
+ const searchId = state.searchId;
179
+ const key = `${searchId ?? ""}::${suggestion.uprn ?? suggestion.id}`;
180
+ const existing = selections.get(key);
181
+ if (existing !== undefined) return existing;
182
+
183
+ const promise = (async (): Promise<TRecord> => {
184
+ const result = await options.retrieve({ suggestion, searchId });
185
+ if (result.billing != null) setState(stampBilling(result.billing));
186
+ return result.record;
187
+ })();
188
+ selections.set(key, promise);
189
+ // A failed retrieve must not poison the guard — the user may retry.
190
+ promise.catch((): void => {
191
+ selections.delete(key);
192
+ });
193
+ return promise;
194
+ }
195
+
196
+ function subscribe(listener: AddressSearchListener): () => void {
197
+ listeners.add(listener);
198
+ return (): void => {
199
+ listeners.delete(listener);
200
+ };
201
+ }
202
+
203
+ function dispose(): void {
204
+ disposed = true;
205
+ cancelPending();
206
+ listeners.clear();
207
+ }
208
+
209
+ return {
210
+ input,
211
+ select,
212
+ subscribe,
213
+ getState: (): AddressSearchState => state,
214
+ get billing() {
215
+ return state.billing;
216
+ },
217
+ dispose,
218
+ };
219
+ }
@@ -0,0 +1,199 @@
1
+ import type { SDKCore } from "../core.js";
2
+ import { addressLookupUprn } from "../funcs/addressLookupUprn.js";
3
+ import type { UprnLookupResponse } from "../sdk/models/shared/uprnlookupresponse.js";
4
+ import type { Result } from "../sdk/types/fp.js";
5
+ import { AddressSearchError } from "./errors.js";
6
+ import type {
7
+ AddressSuggestion,
8
+ BillingMetadata,
9
+ MatchedSubstring,
10
+ RetrieveResult,
11
+ RetrieveTransport,
12
+ SuggestResult,
13
+ SuggestTransport,
14
+ } from "./types.js";
15
+
16
+ const DEFAULT_BASE_URL = "https://api.vepler.com";
17
+
18
+ /**
19
+ * Request the full page cap so any candidate set the server forms (at most
20
+ * 100 rows) arrives complete in one response — `set_complete` is only true
21
+ * when nothing was paginated away.
22
+ */
23
+ const CANDIDATE_PAGE_LIMIT = 100;
24
+
25
+ /** The subset of a fetch Response the suggest transport reads. */
26
+ export interface SuggestHttpResponse {
27
+ readonly ok: boolean;
28
+ readonly status: number;
29
+ readonly headers: { get(name: string): string | null };
30
+ json(): Promise<unknown>;
31
+ }
32
+
33
+ /** Injectable fetch — the global `fetch` is assignable. */
34
+ export type FetchLike = (
35
+ url: string,
36
+ init: { readonly headers: Record<string, string>; readonly signal: AbortSignal },
37
+ ) => Promise<SuggestHttpResponse>;
38
+
39
+ export interface SuggestTransportConfig {
40
+ /** API origin. Default `https://api.vepler.com`. */
41
+ readonly baseUrl?: string;
42
+ /** API key sent as `x-api-key`. Omit when auth is ambient (proxy, cookie). */
43
+ readonly apiKey?: string;
44
+ readonly fetch?: FetchLike;
45
+ /** Page size requested. Default 100 (the candidate-set cap). */
46
+ readonly limit?: number;
47
+ }
48
+
49
+ /** Parse the billing transparency headers; null when none are present. */
50
+ export function parseBillingHeaders(headers: { get(name: string): string | null }): BillingMetadata | null {
51
+ const charged = headers.get("X-Credits-Charged");
52
+ const balance = headers.get("X-Credits-Balance");
53
+ const already = headers.get("X-Already-Charged");
54
+ if (charged === null && balance === null && already === null) return null;
55
+ return {
56
+ creditsCharged: parseNumeric(charged),
57
+ creditsBalance: parseNumeric(balance),
58
+ alreadyCharged: already === null ? null : already === "true" || already === "1",
59
+ };
60
+ }
61
+
62
+ function parseNumeric(value: string | null): number | null {
63
+ if (value === null) return null;
64
+ const parsed = Number(value);
65
+ return Number.isFinite(parsed) ? parsed : null;
66
+ }
67
+
68
+ /** Loosely-typed views over the wire shapes — every field is verified before use. */
69
+ interface RawMatchedSubstring {
70
+ readonly offset?: unknown;
71
+ readonly length?: unknown;
72
+ }
73
+
74
+ interface RawSuggestRow {
75
+ readonly id?: unknown;
76
+ readonly title?: unknown;
77
+ readonly main_text?: unknown;
78
+ readonly uprn?: unknown;
79
+ readonly source?: unknown;
80
+ readonly matched_substrings?: unknown;
81
+ }
82
+
83
+ interface RawSuggestEnvelope {
84
+ readonly data?: unknown;
85
+ readonly result?: unknown;
86
+ readonly search_id?: unknown;
87
+ readonly set_complete?: unknown;
88
+ }
89
+
90
+ function parseMatchedSubstrings(value: unknown): MatchedSubstring[] {
91
+ if (!Array.isArray(value)) return [];
92
+ const ranges: MatchedSubstring[] = [];
93
+ for (const entry of value) {
94
+ if (typeof entry !== "object" || entry === null) continue;
95
+ const { offset, length } = entry as RawMatchedSubstring;
96
+ if (typeof offset === "number" && typeof length === "number") ranges.push({ offset, length });
97
+ }
98
+ return ranges;
99
+ }
100
+
101
+ function toSuggestion(row: unknown): AddressSuggestion | null {
102
+ if (typeof row !== "object" || row === null) return null;
103
+ const record = row as RawSuggestRow;
104
+ const title =
105
+ typeof record.title === "string" ? record.title : typeof record.main_text === "string" ? record.main_text : null;
106
+ if (title === null) return null;
107
+ return {
108
+ id: typeof record.id === "string" ? record.id : title,
109
+ title,
110
+ uprn: typeof record.uprn === "string" ? record.uprn : null,
111
+ source: typeof record.source === "string" ? record.source : "address",
112
+ matchedSubstrings: parseMatchedSubstrings(record.matched_substrings),
113
+ raw: row,
114
+ };
115
+ }
116
+
117
+ function parseSuggestBody(body: unknown): { rows: AddressSuggestion[]; searchId: string | null; setComplete: boolean } {
118
+ const envelope: RawSuggestEnvelope = typeof body === "object" && body !== null ? (body as RawSuggestEnvelope) : {};
119
+ const rawRows: unknown[] = Array.isArray(envelope.data)
120
+ ? envelope.data
121
+ : Array.isArray(envelope.result)
122
+ ? envelope.result
123
+ : [];
124
+ const rows: AddressSuggestion[] = [];
125
+ for (const raw of rawRows) {
126
+ const suggestion = toSuggestion(raw);
127
+ if (suggestion !== null) rows.push(suggestion);
128
+ }
129
+ return {
130
+ rows,
131
+ searchId: typeof envelope.search_id === "string" ? envelope.search_id : null,
132
+ setComplete: envelope.set_complete === true,
133
+ };
134
+ }
135
+
136
+ /**
137
+ * Default suggest transport: `GET /v1/search/suggest` with the v2 response
138
+ * envelope, candidate-set fields (`search_id`, `set_complete`) and billing
139
+ * headers lifted into a `SuggestResult`.
140
+ */
141
+ export function createSuggestTransport(config: SuggestTransportConfig = {}): SuggestTransport {
142
+ const baseUrl = (config.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, "");
143
+ const fetchFn: FetchLike = config.fetch ?? globalThis.fetch;
144
+ const limit = config.limit ?? CANDIDATE_PAGE_LIMIT;
145
+
146
+ return async ({ query, searchId, signal }): Promise<SuggestResult> => {
147
+ const params = new URLSearchParams({ q: query, limit: String(limit) });
148
+ if (searchId !== null) params.set("search_id", searchId);
149
+ const headers: Record<string, string> = { Accept: "application/json", "X-API-Version": "2" };
150
+ if (config.apiKey !== undefined) headers["x-api-key"] = config.apiKey;
151
+
152
+ const response = await fetchFn(`${baseUrl}/v1/search/suggest?${params.toString()}`, { headers, signal });
153
+ if (!response.ok) {
154
+ throw new AddressSearchError(`Suggest request failed with status ${response.status}`);
155
+ }
156
+ const { rows, searchId: responseSearchId, setComplete } = parseSuggestBody(await response.json());
157
+ return {
158
+ suggestions: rows,
159
+ searchId: responseSearchId,
160
+ setComplete,
161
+ billing: parseBillingHeaders(response.headers),
162
+ };
163
+ };
164
+ }
165
+
166
+ /** The generated UPRN lookup, injectable for tests. */
167
+ export type UprnLookupFn = (
168
+ client: SDKCore,
169
+ request: { uprn: string },
170
+ ) => PromiseLike<Result<UprnLookupResponse, unknown>>;
171
+
172
+ /**
173
+ * Default retrieve transport: resolves a selected suggestion to the full
174
+ * address record through the SDK's UPRN lookup (`GET /v1/address/uprn/{uprn}`).
175
+ * Swap it out once the dedicated candidate-set retrieve endpoint ships — the
176
+ * `searchId` on the request is there for exactly that transport; this one
177
+ * cannot attribute it, so the lookup opens its own transaction row server-side.
178
+ */
179
+ export function createUprnRetrieveTransport(
180
+ client: SDKCore,
181
+ deps: { readonly lookup?: UprnLookupFn } = {},
182
+ ): RetrieveTransport<UprnLookupResponse> {
183
+ const lookup = deps.lookup ?? addressLookupUprn;
184
+ return async ({ suggestion }): Promise<RetrieveResult<UprnLookupResponse>> => {
185
+ if (suggestion.uprn === null) {
186
+ throw new AddressSearchError(
187
+ `Cannot retrieve suggestion "${suggestion.id}": it has no UPRN. ` +
188
+ "Only address rows are retrievable through the default UPRN transport.",
189
+ );
190
+ }
191
+ const result = await lookup(client, { uprn: suggestion.uprn });
192
+ if (!result.ok) {
193
+ throw result.error instanceof Error
194
+ ? result.error
195
+ : new AddressSearchError(`UPRN lookup failed for "${suggestion.uprn}"`);
196
+ }
197
+ return { record: result.value };
198
+ };
199
+ }
@@ -0,0 +1,7 @@
1
+ /** Error raised by the address-search controller and its default transports. */
2
+ export class AddressSearchError extends Error {
3
+ constructor(message: string) {
4
+ super(message);
5
+ this.name = "AddressSearchError";
6
+ }
7
+ }
@@ -0,0 +1,54 @@
1
+ /*
2
+ * Headless address autocomplete (SV2-C1). Hand-written, generator-safe: this
3
+ * directory is not tracked in .speakeasy/gen.lock, so `speakeasy run` never
4
+ * touches it (same contract as src/hooks/registration.ts).
5
+ *
6
+ * Typical wiring:
7
+ *
8
+ * ```ts
9
+ * import { SDKCore } from "@vepler/sdk/core.js";
10
+ * import {
11
+ * createAddressSearch,
12
+ * createSuggestTransport,
13
+ * createUprnRetrieveTransport,
14
+ * } from "@vepler/sdk/address-search";
15
+ *
16
+ * const core = new SDKCore({ apiKeyAuth: "..." });
17
+ * const search = createAddressSearch({
18
+ * suggest: createSuggestTransport({ apiKey: "..." }),
19
+ * retrieve: createUprnRetrieveTransport(core),
20
+ * });
21
+ * const unsubscribe = search.subscribe((state) => render(state));
22
+ * input.addEventListener("input", () => search.input(input.value));
23
+ * ```
24
+ */
25
+
26
+ export { createAddressSearch } from "./controller.js";
27
+ export type { FetchLike, SuggestHttpResponse, SuggestTransportConfig, UprnLookupFn } from "./default-transports.js";
28
+ export {
29
+ createSuggestTransport,
30
+ createUprnRetrieveTransport,
31
+ parseBillingHeaders,
32
+ } from "./default-transports.js";
33
+ export { AddressSearchError } from "./errors.js";
34
+ export { LruCache } from "./lru-cache.js";
35
+ export { extendsTriggerPrefix, narrowSuggestions, normaliseQuery, tokenise } from "./narrow.js";
36
+ export type {
37
+ AddressSearchController,
38
+ AddressSearchListener,
39
+ AddressSearchOptions,
40
+ AddressSearchState,
41
+ AddressSearchStatus,
42
+ AddressSearchTimers,
43
+ AddressSuggestion,
44
+ BillingMetadata,
45
+ BillingSnapshot,
46
+ MatchedSubstring,
47
+ RetrieveRequest,
48
+ RetrieveResult,
49
+ RetrieveTransport,
50
+ SuggestRequest,
51
+ SuggestResult,
52
+ SuggestTransport,
53
+ TimerHandle,
54
+ } from "./types.js";
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Minimal least-recently-used cache over an insertion-ordered Map: reads
3
+ * refresh recency by re-inserting; writes beyond capacity evict the oldest
4
+ * entry (the Map's first key).
5
+ */
6
+ export class LruCache<K, V> {
7
+ readonly #capacity: number;
8
+ readonly #entries = new Map<K, V>();
9
+
10
+ constructor(capacity: number) {
11
+ this.#capacity = Math.max(1, Math.floor(capacity));
12
+ }
13
+
14
+ get(key: K): V | undefined {
15
+ const value = this.#entries.get(key);
16
+ if (value === undefined) return undefined;
17
+ this.#entries.delete(key);
18
+ this.#entries.set(key, value);
19
+ return value;
20
+ }
21
+
22
+ set(key: K, value: V): void {
23
+ this.#entries.delete(key);
24
+ this.#entries.set(key, value);
25
+ if (this.#entries.size > this.#capacity) {
26
+ const oldest = this.#entries.keys().next();
27
+ if (!oldest.done) this.#entries.delete(oldest.value);
28
+ }
29
+ }
30
+
31
+ get size(): number {
32
+ return this.#entries.size;
33
+ }
34
+ }
@@ -0,0 +1,45 @@
1
+ /*
2
+ * Client-side narrowing for candidate sets. Deliberately mirrors the server's
3
+ * narrowing semantics — same tokenisation, same every-token-prefix rule — so
4
+ * client and server always agree on which rows survive a keystroke. Any
5
+ * divergence here would make the client claim a set is exhausted (an extra
6
+ * counted fetch) or show rows the server would not.
7
+ */
8
+
9
+ /** Lower-case alphanumeric tokens; everything else is a separator. */
10
+ export function tokenise(text: string): string[] {
11
+ return text
12
+ .toLowerCase()
13
+ .split(/[^a-z0-9]+/)
14
+ .filter(Boolean);
15
+ }
16
+
17
+ /**
18
+ * A row survives when EVERY token of the query is a case-insensitive prefix
19
+ * of at least one token of the row's title. Order-preserving. An empty query
20
+ * narrows nothing (the whole set survives).
21
+ */
22
+ export function narrowSuggestions<T extends { readonly title: string }>(rows: readonly T[], query: string): T[] {
23
+ const queryTokens = tokenise(query);
24
+ if (queryTokens.length === 0) return [...rows];
25
+ return rows.filter((row) => {
26
+ const titleTokens = tokenise(row.title);
27
+ return queryTokens.every((queryToken) => titleTokens.some((titleToken) => titleToken.startsWith(queryToken)));
28
+ });
29
+ }
30
+
31
+ /** Lower-case, collapse whitespace runs and trim — the cache and prefix key form. */
32
+ export function normaliseQuery(text: string): string {
33
+ return text.toLowerCase().replace(/\s+/g, " ").trim();
34
+ }
35
+
36
+ /**
37
+ * True when `query` still extends the prefix a candidate set was fetched for,
38
+ * meaning the set is guaranteed to contain every match for `query` and local
39
+ * narrowing stays sound. Backspacing past the trigger (or editing inside it)
40
+ * fails this check, which forces a fresh counted fetch — the set no longer
41
+ * bounds the true match set.
42
+ */
43
+ export function extendsTriggerPrefix(query: string, triggerPrefix: string): boolean {
44
+ return normaliseQuery(query).startsWith(normaliseQuery(triggerPrefix));
45
+ }