@littlebearapps/australian-history-mcp 0.6.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 (467) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +502 -0
  3. package/dist/clients/datagovau_client.d.ts +61 -0
  4. package/dist/clients/datagovau_client.d.ts.map +1 -0
  5. package/dist/clients/datagovau_client.js +421 -0
  6. package/dist/clients/datagovau_client.js.map +1 -0
  7. package/dist/clients/prov_client.d.ts +64 -0
  8. package/dist/clients/prov_client.d.ts.map +1 -0
  9. package/dist/clients/prov_client.js +393 -0
  10. package/dist/clients/prov_client.js.map +1 -0
  11. package/dist/clients/trove_client.d.ts +77 -0
  12. package/dist/clients/trove_client.d.ts.map +1 -0
  13. package/dist/clients/trove_client.js +374 -0
  14. package/dist/clients/trove_client.js.map +1 -0
  15. package/dist/core/base-client.d.ts +49 -0
  16. package/dist/core/base-client.d.ts.map +1 -0
  17. package/dist/core/base-client.js +116 -0
  18. package/dist/core/base-client.js.map +1 -0
  19. package/dist/core/base-source.d.ts +45 -0
  20. package/dist/core/base-source.d.ts.map +1 -0
  21. package/dist/core/base-source.js +19 -0
  22. package/dist/core/base-source.js.map +1 -0
  23. package/dist/core/harvest-runner.d.ts +26 -0
  24. package/dist/core/harvest-runner.d.ts.map +1 -0
  25. package/dist/core/harvest-runner.js +82 -0
  26. package/dist/core/harvest-runner.js.map +1 -0
  27. package/dist/core/index.d.ts +10 -0
  28. package/dist/core/index.d.ts.map +1 -0
  29. package/dist/core/index.js +14 -0
  30. package/dist/core/index.js.map +1 -0
  31. package/dist/core/types.d.ts +80 -0
  32. package/dist/core/types.d.ts.map +1 -0
  33. package/dist/core/types.js +52 -0
  34. package/dist/core/types.js.map +1 -0
  35. package/dist/index.d.ts +21 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +103 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/registry.d.ts +65 -0
  40. package/dist/registry.d.ts.map +1 -0
  41. package/dist/registry.js +112 -0
  42. package/dist/registry.js.map +1 -0
  43. package/dist/sources/acmi/client.d.ts +47 -0
  44. package/dist/sources/acmi/client.d.ts.map +1 -0
  45. package/dist/sources/acmi/client.js +131 -0
  46. package/dist/sources/acmi/client.js.map +1 -0
  47. package/dist/sources/acmi/index.d.ts +12 -0
  48. package/dist/sources/acmi/index.d.ts.map +1 -0
  49. package/dist/sources/acmi/index.js +35 -0
  50. package/dist/sources/acmi/index.js.map +1 -0
  51. package/dist/sources/acmi/tools/get-constellation.d.ts +6 -0
  52. package/dist/sources/acmi/tools/get-constellation.d.ts.map +1 -0
  53. package/dist/sources/acmi/tools/get-constellation.js +53 -0
  54. package/dist/sources/acmi/tools/get-constellation.js.map +1 -0
  55. package/dist/sources/acmi/tools/get-creator.d.ts +6 -0
  56. package/dist/sources/acmi/tools/get-creator.d.ts.map +1 -0
  57. package/dist/sources/acmi/tools/get-creator.js +52 -0
  58. package/dist/sources/acmi/tools/get-creator.js.map +1 -0
  59. package/dist/sources/acmi/tools/get-work.d.ts +6 -0
  60. package/dist/sources/acmi/tools/get-work.d.ts.map +1 -0
  61. package/dist/sources/acmi/tools/get-work.js +103 -0
  62. package/dist/sources/acmi/tools/get-work.js.map +1 -0
  63. package/dist/sources/acmi/tools/harvest.d.ts +6 -0
  64. package/dist/sources/acmi/tools/harvest.d.ts.map +1 -0
  65. package/dist/sources/acmi/tools/harvest.js +95 -0
  66. package/dist/sources/acmi/tools/harvest.js.map +1 -0
  67. package/dist/sources/acmi/tools/list-constellations.d.ts +6 -0
  68. package/dist/sources/acmi/tools/list-constellations.d.ts.map +1 -0
  69. package/dist/sources/acmi/tools/list-constellations.js +44 -0
  70. package/dist/sources/acmi/tools/list-constellations.js.map +1 -0
  71. package/dist/sources/acmi/tools/list-creators.d.ts +6 -0
  72. package/dist/sources/acmi/tools/list-creators.d.ts.map +1 -0
  73. package/dist/sources/acmi/tools/list-creators.js +46 -0
  74. package/dist/sources/acmi/tools/list-creators.js.map +1 -0
  75. package/dist/sources/acmi/tools/search-works.d.ts +6 -0
  76. package/dist/sources/acmi/tools/search-works.d.ts.map +1 -0
  77. package/dist/sources/acmi/tools/search-works.js +73 -0
  78. package/dist/sources/acmi/tools/search-works.js.map +1 -0
  79. package/dist/sources/acmi/types.d.ts +135 -0
  80. package/dist/sources/acmi/types.d.ts.map +1 -0
  81. package/dist/sources/acmi/types.js +5 -0
  82. package/dist/sources/acmi/types.js.map +1 -0
  83. package/dist/sources/ala/client.d.ts +79 -0
  84. package/dist/sources/ala/client.d.ts.map +1 -0
  85. package/dist/sources/ala/client.js +556 -0
  86. package/dist/sources/ala/client.js.map +1 -0
  87. package/dist/sources/ala/index.d.ts +12 -0
  88. package/dist/sources/ala/index.d.ts.map +1 -0
  89. package/dist/sources/ala/index.js +37 -0
  90. package/dist/sources/ala/index.js.map +1 -0
  91. package/dist/sources/ala/tools/get-species-list.d.ts +6 -0
  92. package/dist/sources/ala/tools/get-species-list.d.ts.map +1 -0
  93. package/dist/sources/ala/tools/get-species-list.js +56 -0
  94. package/dist/sources/ala/tools/get-species-list.js.map +1 -0
  95. package/dist/sources/ala/tools/get-species.d.ts +6 -0
  96. package/dist/sources/ala/tools/get-species.d.ts.map +1 -0
  97. package/dist/sources/ala/tools/get-species.js +81 -0
  98. package/dist/sources/ala/tools/get-species.js.map +1 -0
  99. package/dist/sources/ala/tools/harvest.d.ts +6 -0
  100. package/dist/sources/ala/tools/harvest.d.ts.map +1 -0
  101. package/dist/sources/ala/tools/harvest.js +133 -0
  102. package/dist/sources/ala/tools/harvest.js.map +1 -0
  103. package/dist/sources/ala/tools/list-species-lists.d.ts +6 -0
  104. package/dist/sources/ala/tools/list-species-lists.d.ts.map +1 -0
  105. package/dist/sources/ala/tools/list-species-lists.js +60 -0
  106. package/dist/sources/ala/tools/list-species-lists.js.map +1 -0
  107. package/dist/sources/ala/tools/match-name.d.ts +6 -0
  108. package/dist/sources/ala/tools/match-name.d.ts.map +1 -0
  109. package/dist/sources/ala/tools/match-name.js +66 -0
  110. package/dist/sources/ala/tools/match-name.js.map +1 -0
  111. package/dist/sources/ala/tools/search-images.d.ts +6 -0
  112. package/dist/sources/ala/tools/search-images.d.ts.map +1 -0
  113. package/dist/sources/ala/tools/search-images.js +64 -0
  114. package/dist/sources/ala/tools/search-images.js.map +1 -0
  115. package/dist/sources/ala/tools/search-occurrences.d.ts +6 -0
  116. package/dist/sources/ala/tools/search-occurrences.d.ts.map +1 -0
  117. package/dist/sources/ala/tools/search-occurrences.js +134 -0
  118. package/dist/sources/ala/tools/search-occurrences.js.map +1 -0
  119. package/dist/sources/ala/tools/search-species.d.ts +6 -0
  120. package/dist/sources/ala/tools/search-species.d.ts.map +1 -0
  121. package/dist/sources/ala/tools/search-species.js +68 -0
  122. package/dist/sources/ala/tools/search-species.js.map +1 -0
  123. package/dist/sources/ala/types.d.ts +255 -0
  124. package/dist/sources/ala/types.d.ts.map +1 -0
  125. package/dist/sources/ala/types.js +7 -0
  126. package/dist/sources/ala/types.js.map +1 -0
  127. package/dist/sources/datagovau/client.d.ts +68 -0
  128. package/dist/sources/datagovau/client.d.ts.map +1 -0
  129. package/dist/sources/datagovau/client.js +344 -0
  130. package/dist/sources/datagovau/client.js.map +1 -0
  131. package/dist/sources/datagovau/index.d.ts +12 -0
  132. package/dist/sources/datagovau/index.d.ts.map +1 -0
  133. package/dist/sources/datagovau/index.js +37 -0
  134. package/dist/sources/datagovau/index.js.map +1 -0
  135. package/dist/sources/datagovau/tools/autocomplete.d.ts +6 -0
  136. package/dist/sources/datagovau/tools/autocomplete.d.ts.map +1 -0
  137. package/dist/sources/datagovau/tools/autocomplete.js +49 -0
  138. package/dist/sources/datagovau/tools/autocomplete.js.map +1 -0
  139. package/dist/sources/datagovau/tools/browse.d.ts +25 -0
  140. package/dist/sources/datagovau/tools/browse.d.ts.map +1 -0
  141. package/dist/sources/datagovau/tools/browse.js +205 -0
  142. package/dist/sources/datagovau/tools/browse.js.map +1 -0
  143. package/dist/sources/datagovau/tools/dataset.d.ts +17 -0
  144. package/dist/sources/datagovau/tools/dataset.d.ts.map +1 -0
  145. package/dist/sources/datagovau/tools/dataset.js +177 -0
  146. package/dist/sources/datagovau/tools/dataset.js.map +1 -0
  147. package/dist/sources/datagovau/tools/harvest.d.ts +6 -0
  148. package/dist/sources/datagovau/tools/harvest.d.ts.map +1 -0
  149. package/dist/sources/datagovau/tools/harvest.js +99 -0
  150. package/dist/sources/datagovau/tools/harvest.js.map +1 -0
  151. package/dist/sources/datagovau/tools/search.d.ts +6 -0
  152. package/dist/sources/datagovau/tools/search.d.ts.map +1 -0
  153. package/dist/sources/datagovau/tools/search.js +85 -0
  154. package/dist/sources/datagovau/tools/search.js.map +1 -0
  155. package/dist/sources/datagovau/types.d.ts +81 -0
  156. package/dist/sources/datagovau/types.d.ts.map +1 -0
  157. package/dist/sources/datagovau/types.js +5 -0
  158. package/dist/sources/datagovau/types.js.map +1 -0
  159. package/dist/sources/ga-hap/client.d.ts +65 -0
  160. package/dist/sources/ga-hap/client.d.ts.map +1 -0
  161. package/dist/sources/ga-hap/client.js +247 -0
  162. package/dist/sources/ga-hap/client.js.map +1 -0
  163. package/dist/sources/ga-hap/index.d.ts +12 -0
  164. package/dist/sources/ga-hap/index.d.ts.map +1 -0
  165. package/dist/sources/ga-hap/index.js +23 -0
  166. package/dist/sources/ga-hap/index.js.map +1 -0
  167. package/dist/sources/ga-hap/tools/get-photo.d.ts +6 -0
  168. package/dist/sources/ga-hap/tools/get-photo.d.ts.map +1 -0
  169. package/dist/sources/ga-hap/tools/get-photo.js +89 -0
  170. package/dist/sources/ga-hap/tools/get-photo.js.map +1 -0
  171. package/dist/sources/ga-hap/tools/harvest.d.ts +6 -0
  172. package/dist/sources/ga-hap/tools/harvest.d.ts.map +1 -0
  173. package/dist/sources/ga-hap/tools/harvest.js +87 -0
  174. package/dist/sources/ga-hap/tools/harvest.js.map +1 -0
  175. package/dist/sources/ga-hap/tools/search.d.ts +6 -0
  176. package/dist/sources/ga-hap/tools/search.d.ts.map +1 -0
  177. package/dist/sources/ga-hap/tools/search.js +97 -0
  178. package/dist/sources/ga-hap/tools/search.js.map +1 -0
  179. package/dist/sources/ga-hap/types.d.ts +178 -0
  180. package/dist/sources/ga-hap/types.d.ts.map +1 -0
  181. package/dist/sources/ga-hap/types.js +30 -0
  182. package/dist/sources/ga-hap/types.js.map +1 -0
  183. package/dist/sources/iiif/client.d.ts +37 -0
  184. package/dist/sources/iiif/client.d.ts.map +1 -0
  185. package/dist/sources/iiif/client.js +142 -0
  186. package/dist/sources/iiif/client.js.map +1 -0
  187. package/dist/sources/iiif/index.d.ts +18 -0
  188. package/dist/sources/iiif/index.d.ts.map +1 -0
  189. package/dist/sources/iiif/index.js +31 -0
  190. package/dist/sources/iiif/index.js.map +1 -0
  191. package/dist/sources/iiif/tools/get-image-url.d.ts +9 -0
  192. package/dist/sources/iiif/tools/get-image-url.d.ts.map +1 -0
  193. package/dist/sources/iiif/tools/get-image-url.js +101 -0
  194. package/dist/sources/iiif/tools/get-image-url.js.map +1 -0
  195. package/dist/sources/iiif/tools/get-manifest.d.ts +9 -0
  196. package/dist/sources/iiif/tools/get-manifest.d.ts.map +1 -0
  197. package/dist/sources/iiif/tools/get-manifest.js +87 -0
  198. package/dist/sources/iiif/tools/get-manifest.js.map +1 -0
  199. package/dist/sources/iiif/types.d.ts +123 -0
  200. package/dist/sources/iiif/types.d.ts.map +1 -0
  201. package/dist/sources/iiif/types.js +26 -0
  202. package/dist/sources/iiif/types.js.map +1 -0
  203. package/dist/sources/museums-victoria/client.d.ts +64 -0
  204. package/dist/sources/museums-victoria/client.d.ts.map +1 -0
  205. package/dist/sources/museums-victoria/client.js +358 -0
  206. package/dist/sources/museums-victoria/client.js.map +1 -0
  207. package/dist/sources/museums-victoria/index.d.ts +12 -0
  208. package/dist/sources/museums-victoria/index.d.ts.map +1 -0
  209. package/dist/sources/museums-victoria/index.js +30 -0
  210. package/dist/sources/museums-victoria/index.js.map +1 -0
  211. package/dist/sources/museums-victoria/tools/harvest.d.ts +6 -0
  212. package/dist/sources/museums-victoria/tools/harvest.d.ts.map +1 -0
  213. package/dist/sources/museums-victoria/tools/harvest.js +120 -0
  214. package/dist/sources/museums-victoria/tools/harvest.js.map +1 -0
  215. package/dist/sources/museums-victoria/tools/records.d.ts +21 -0
  216. package/dist/sources/museums-victoria/tools/records.d.ts.map +1 -0
  217. package/dist/sources/museums-victoria/tools/records.js +225 -0
  218. package/dist/sources/museums-victoria/tools/records.js.map +1 -0
  219. package/dist/sources/museums-victoria/tools/search.d.ts +6 -0
  220. package/dist/sources/museums-victoria/tools/search.d.ts.map +1 -0
  221. package/dist/sources/museums-victoria/tools/search.js +147 -0
  222. package/dist/sources/museums-victoria/tools/search.js.map +1 -0
  223. package/dist/sources/museums-victoria/types.d.ts +153 -0
  224. package/dist/sources/museums-victoria/types.d.ts.map +1 -0
  225. package/dist/sources/museums-victoria/types.js +5 -0
  226. package/dist/sources/museums-victoria/types.js.map +1 -0
  227. package/dist/sources/nma/client.d.ts +52 -0
  228. package/dist/sources/nma/client.d.ts.map +1 -0
  229. package/dist/sources/nma/client.js +175 -0
  230. package/dist/sources/nma/client.js.map +1 -0
  231. package/dist/sources/nma/index.d.ts +12 -0
  232. package/dist/sources/nma/index.d.ts.map +1 -0
  233. package/dist/sources/nma/index.js +39 -0
  234. package/dist/sources/nma/index.js.map +1 -0
  235. package/dist/sources/nma/tools/get-media.d.ts +6 -0
  236. package/dist/sources/nma/tools/get-media.d.ts.map +1 -0
  237. package/dist/sources/nma/tools/get-media.js +58 -0
  238. package/dist/sources/nma/tools/get-media.js.map +1 -0
  239. package/dist/sources/nma/tools/get-object.d.ts +6 -0
  240. package/dist/sources/nma/tools/get-object.d.ts.map +1 -0
  241. package/dist/sources/nma/tools/get-object.js +83 -0
  242. package/dist/sources/nma/tools/get-object.js.map +1 -0
  243. package/dist/sources/nma/tools/get-party.d.ts +6 -0
  244. package/dist/sources/nma/tools/get-party.d.ts.map +1 -0
  245. package/dist/sources/nma/tools/get-party.js +63 -0
  246. package/dist/sources/nma/tools/get-party.js.map +1 -0
  247. package/dist/sources/nma/tools/get-place.d.ts +6 -0
  248. package/dist/sources/nma/tools/get-place.d.ts.map +1 -0
  249. package/dist/sources/nma/tools/get-place.js +50 -0
  250. package/dist/sources/nma/tools/get-place.js.map +1 -0
  251. package/dist/sources/nma/tools/harvest.d.ts +6 -0
  252. package/dist/sources/nma/tools/harvest.d.ts.map +1 -0
  253. package/dist/sources/nma/tools/harvest.js +91 -0
  254. package/dist/sources/nma/tools/harvest.js.map +1 -0
  255. package/dist/sources/nma/tools/search-media.d.ts +6 -0
  256. package/dist/sources/nma/tools/search-media.d.ts.map +1 -0
  257. package/dist/sources/nma/tools/search-media.js +66 -0
  258. package/dist/sources/nma/tools/search-media.js.map +1 -0
  259. package/dist/sources/nma/tools/search-objects.d.ts +6 -0
  260. package/dist/sources/nma/tools/search-objects.d.ts.map +1 -0
  261. package/dist/sources/nma/tools/search-objects.js +70 -0
  262. package/dist/sources/nma/tools/search-objects.js.map +1 -0
  263. package/dist/sources/nma/tools/search-parties.d.ts +6 -0
  264. package/dist/sources/nma/tools/search-parties.d.ts.map +1 -0
  265. package/dist/sources/nma/tools/search-parties.js +64 -0
  266. package/dist/sources/nma/tools/search-parties.js.map +1 -0
  267. package/dist/sources/nma/tools/search-places.d.ts +6 -0
  268. package/dist/sources/nma/tools/search-places.d.ts.map +1 -0
  269. package/dist/sources/nma/tools/search-places.js +53 -0
  270. package/dist/sources/nma/tools/search-places.js.map +1 -0
  271. package/dist/sources/nma/types.d.ts +135 -0
  272. package/dist/sources/nma/types.d.ts.map +1 -0
  273. package/dist/sources/nma/types.js +5 -0
  274. package/dist/sources/nma/types.js.map +1 -0
  275. package/dist/sources/pm-transcripts/client.d.ts +39 -0
  276. package/dist/sources/pm-transcripts/client.d.ts.map +1 -0
  277. package/dist/sources/pm-transcripts/client.js +192 -0
  278. package/dist/sources/pm-transcripts/client.js.map +1 -0
  279. package/dist/sources/pm-transcripts/index.d.ts +13 -0
  280. package/dist/sources/pm-transcripts/index.d.ts.map +1 -0
  281. package/dist/sources/pm-transcripts/index.js +23 -0
  282. package/dist/sources/pm-transcripts/index.js.map +1 -0
  283. package/dist/sources/pm-transcripts/tools/get-transcript.d.ts +6 -0
  284. package/dist/sources/pm-transcripts/tools/get-transcript.d.ts.map +1 -0
  285. package/dist/sources/pm-transcripts/tools/get-transcript.js +52 -0
  286. package/dist/sources/pm-transcripts/tools/get-transcript.js.map +1 -0
  287. package/dist/sources/pm-transcripts/tools/harvest.d.ts +9 -0
  288. package/dist/sources/pm-transcripts/tools/harvest.d.ts.map +1 -0
  289. package/dist/sources/pm-transcripts/tools/harvest.js +213 -0
  290. package/dist/sources/pm-transcripts/tools/harvest.js.map +1 -0
  291. package/dist/sources/pm-transcripts/types.d.ts +54 -0
  292. package/dist/sources/pm-transcripts/types.d.ts.map +1 -0
  293. package/dist/sources/pm-transcripts/types.js +8 -0
  294. package/dist/sources/pm-transcripts/types.js.map +1 -0
  295. package/dist/sources/prov/client.d.ts +46 -0
  296. package/dist/sources/prov/client.d.ts.map +1 -0
  297. package/dist/sources/prov/client.js +297 -0
  298. package/dist/sources/prov/client.js.map +1 -0
  299. package/dist/sources/prov/index.d.ts +12 -0
  300. package/dist/sources/prov/index.d.ts.map +1 -0
  301. package/dist/sources/prov/index.js +31 -0
  302. package/dist/sources/prov/index.js.map +1 -0
  303. package/dist/sources/prov/tools/get-agency.d.ts +6 -0
  304. package/dist/sources/prov/tools/get-agency.d.ts.map +1 -0
  305. package/dist/sources/prov/tools/get-agency.js +49 -0
  306. package/dist/sources/prov/tools/get-agency.js.map +1 -0
  307. package/dist/sources/prov/tools/get-series.d.ts +6 -0
  308. package/dist/sources/prov/tools/get-series.d.ts.map +1 -0
  309. package/dist/sources/prov/tools/get-series.js +51 -0
  310. package/dist/sources/prov/tools/get-series.js.map +1 -0
  311. package/dist/sources/prov/tools/harvest.d.ts +6 -0
  312. package/dist/sources/prov/tools/harvest.d.ts.map +1 -0
  313. package/dist/sources/prov/tools/harvest.js +112 -0
  314. package/dist/sources/prov/tools/harvest.js.map +1 -0
  315. package/dist/sources/prov/tools/images.d.ts +9 -0
  316. package/dist/sources/prov/tools/images.d.ts.map +1 -0
  317. package/dist/sources/prov/tools/images.js +67 -0
  318. package/dist/sources/prov/tools/images.js.map +1 -0
  319. package/dist/sources/prov/tools/search.d.ts +6 -0
  320. package/dist/sources/prov/tools/search.d.ts.map +1 -0
  321. package/dist/sources/prov/tools/search.js +103 -0
  322. package/dist/sources/prov/tools/search.js.map +1 -0
  323. package/dist/sources/prov/types.d.ts +75 -0
  324. package/dist/sources/prov/types.d.ts.map +1 -0
  325. package/dist/sources/prov/types.js +31 -0
  326. package/dist/sources/prov/types.js.map +1 -0
  327. package/dist/sources/trove/client.d.ts +128 -0
  328. package/dist/sources/trove/client.d.ts.map +1 -0
  329. package/dist/sources/trove/client.js +1008 -0
  330. package/dist/sources/trove/client.js.map +1 -0
  331. package/dist/sources/trove/index.d.ts +12 -0
  332. package/dist/sources/trove/index.d.ts.map +1 -0
  333. package/dist/sources/trove/index.js +53 -0
  334. package/dist/sources/trove/index.js.map +1 -0
  335. package/dist/sources/trove/tools/get-contributor.d.ts +6 -0
  336. package/dist/sources/trove/tools/get-contributor.d.ts.map +1 -0
  337. package/dist/sources/trove/tools/get-contributor.js +54 -0
  338. package/dist/sources/trove/tools/get-contributor.js.map +1 -0
  339. package/dist/sources/trove/tools/get-list.d.ts +6 -0
  340. package/dist/sources/trove/tools/get-list.d.ts.map +1 -0
  341. package/dist/sources/trove/tools/get-list.js +95 -0
  342. package/dist/sources/trove/tools/get-list.js.map +1 -0
  343. package/dist/sources/trove/tools/get-magazine-title.d.ts +6 -0
  344. package/dist/sources/trove/tools/get-magazine-title.d.ts.map +1 -0
  345. package/dist/sources/trove/tools/get-magazine-title.js +96 -0
  346. package/dist/sources/trove/tools/get-magazine-title.js.map +1 -0
  347. package/dist/sources/trove/tools/get-person.d.ts +6 -0
  348. package/dist/sources/trove/tools/get-person.d.ts.map +1 -0
  349. package/dist/sources/trove/tools/get-person.js +64 -0
  350. package/dist/sources/trove/tools/get-person.js.map +1 -0
  351. package/dist/sources/trove/tools/get-work.d.ts +6 -0
  352. package/dist/sources/trove/tools/get-work.d.ts.map +1 -0
  353. package/dist/sources/trove/tools/get-work.js +104 -0
  354. package/dist/sources/trove/tools/get-work.js.map +1 -0
  355. package/dist/sources/trove/tools/harvest.d.ts +6 -0
  356. package/dist/sources/trove/tools/harvest.d.ts.map +1 -0
  357. package/dist/sources/trove/tools/harvest.js +127 -0
  358. package/dist/sources/trove/tools/harvest.js.map +1 -0
  359. package/dist/sources/trove/tools/list-contributors.d.ts +6 -0
  360. package/dist/sources/trove/tools/list-contributors.d.ts.map +1 -0
  361. package/dist/sources/trove/tools/list-contributors.js +59 -0
  362. package/dist/sources/trove/tools/list-contributors.js.map +1 -0
  363. package/dist/sources/trove/tools/list-magazine-titles.d.ts +6 -0
  364. package/dist/sources/trove/tools/list-magazine-titles.d.ts.map +1 -0
  365. package/dist/sources/trove/tools/list-magazine-titles.js +42 -0
  366. package/dist/sources/trove/tools/list-magazine-titles.js.map +1 -0
  367. package/dist/sources/trove/tools/newspaper.d.ts +17 -0
  368. package/dist/sources/trove/tools/newspaper.d.ts.map +1 -0
  369. package/dist/sources/trove/tools/newspaper.js +210 -0
  370. package/dist/sources/trove/tools/newspaper.js.map +1 -0
  371. package/dist/sources/trove/tools/search-people.d.ts +6 -0
  372. package/dist/sources/trove/tools/search-people.d.ts.map +1 -0
  373. package/dist/sources/trove/tools/search-people.js +72 -0
  374. package/dist/sources/trove/tools/search-people.js.map +1 -0
  375. package/dist/sources/trove/tools/search.d.ts +6 -0
  376. package/dist/sources/trove/tools/search.d.ts.map +1 -0
  377. package/dist/sources/trove/tools/search.js +219 -0
  378. package/dist/sources/trove/tools/search.js.map +1 -0
  379. package/dist/sources/trove/types.d.ts +257 -0
  380. package/dist/sources/trove/types.d.ts.map +1 -0
  381. package/dist/sources/trove/types.js +38 -0
  382. package/dist/sources/trove/types.js.map +1 -0
  383. package/dist/sources/vhd/client.d.ts +47 -0
  384. package/dist/sources/vhd/client.d.ts.map +1 -0
  385. package/dist/sources/vhd/client.js +158 -0
  386. package/dist/sources/vhd/client.js.map +1 -0
  387. package/dist/sources/vhd/index.d.ts +12 -0
  388. package/dist/sources/vhd/index.d.ts.map +1 -0
  389. package/dist/sources/vhd/index.js +39 -0
  390. package/dist/sources/vhd/index.js.map +1 -0
  391. package/dist/sources/vhd/tools/get-place.d.ts +6 -0
  392. package/dist/sources/vhd/tools/get-place.d.ts.map +1 -0
  393. package/dist/sources/vhd/tools/get-place.js +71 -0
  394. package/dist/sources/vhd/tools/get-place.js.map +1 -0
  395. package/dist/sources/vhd/tools/get-shipwreck.d.ts +6 -0
  396. package/dist/sources/vhd/tools/get-shipwreck.d.ts.map +1 -0
  397. package/dist/sources/vhd/tools/get-shipwreck.js +60 -0
  398. package/dist/sources/vhd/tools/get-shipwreck.js.map +1 -0
  399. package/dist/sources/vhd/tools/harvest.d.ts +6 -0
  400. package/dist/sources/vhd/tools/harvest.d.ts.map +1 -0
  401. package/dist/sources/vhd/tools/harvest.js +109 -0
  402. package/dist/sources/vhd/tools/harvest.js.map +1 -0
  403. package/dist/sources/vhd/tools/list-architectural-styles.d.ts +6 -0
  404. package/dist/sources/vhd/tools/list-architectural-styles.d.ts.map +1 -0
  405. package/dist/sources/vhd/tools/list-architectural-styles.js +33 -0
  406. package/dist/sources/vhd/tools/list-architectural-styles.js.map +1 -0
  407. package/dist/sources/vhd/tools/list-municipalities.d.ts +6 -0
  408. package/dist/sources/vhd/tools/list-municipalities.d.ts.map +1 -0
  409. package/dist/sources/vhd/tools/list-municipalities.js +33 -0
  410. package/dist/sources/vhd/tools/list-municipalities.js.map +1 -0
  411. package/dist/sources/vhd/tools/list-periods.d.ts +6 -0
  412. package/dist/sources/vhd/tools/list-periods.d.ts.map +1 -0
  413. package/dist/sources/vhd/tools/list-periods.js +33 -0
  414. package/dist/sources/vhd/tools/list-periods.js.map +1 -0
  415. package/dist/sources/vhd/tools/list-themes.d.ts +6 -0
  416. package/dist/sources/vhd/tools/list-themes.d.ts.map +1 -0
  417. package/dist/sources/vhd/tools/list-themes.js +34 -0
  418. package/dist/sources/vhd/tools/list-themes.js.map +1 -0
  419. package/dist/sources/vhd/tools/search-places.d.ts +6 -0
  420. package/dist/sources/vhd/tools/search-places.d.ts.map +1 -0
  421. package/dist/sources/vhd/tools/search-places.js +71 -0
  422. package/dist/sources/vhd/tools/search-places.js.map +1 -0
  423. package/dist/sources/vhd/tools/search-shipwrecks.d.ts +6 -0
  424. package/dist/sources/vhd/tools/search-shipwrecks.d.ts.map +1 -0
  425. package/dist/sources/vhd/tools/search-shipwrecks.js +52 -0
  426. package/dist/sources/vhd/tools/search-shipwrecks.js.map +1 -0
  427. package/dist/sources/vhd/types.d.ts +179 -0
  428. package/dist/sources/vhd/types.d.ts.map +1 -0
  429. package/dist/sources/vhd/types.js +5 -0
  430. package/dist/sources/vhd/types.js.map +1 -0
  431. package/dist/tools/datagovau_browse.d.ts +96 -0
  432. package/dist/tools/datagovau_browse.d.ts.map +1 -0
  433. package/dist/tools/datagovau_browse.js +297 -0
  434. package/dist/tools/datagovau_browse.js.map +1 -0
  435. package/dist/tools/datagovau_dataset.d.ts +79 -0
  436. package/dist/tools/datagovau_dataset.d.ts.map +1 -0
  437. package/dist/tools/datagovau_dataset.js +246 -0
  438. package/dist/tools/datagovau_dataset.js.map +1 -0
  439. package/dist/tools/datagovau_search.d.ts +58 -0
  440. package/dist/tools/datagovau_search.d.ts.map +1 -0
  441. package/dist/tools/datagovau_search.js +112 -0
  442. package/dist/tools/datagovau_search.js.map +1 -0
  443. package/dist/tools/harvest.d.ts +175 -0
  444. package/dist/tools/harvest.d.ts.map +1 -0
  445. package/dist/tools/harvest.js +426 -0
  446. package/dist/tools/harvest.js.map +1 -0
  447. package/dist/tools/prov_images.d.ts +38 -0
  448. package/dist/tools/prov_images.d.ts.map +1 -0
  449. package/dist/tools/prov_images.js +87 -0
  450. package/dist/tools/prov_images.js.map +1 -0
  451. package/dist/tools/prov_search.d.ts +60 -0
  452. package/dist/tools/prov_search.d.ts.map +1 -0
  453. package/dist/tools/prov_search.js +131 -0
  454. package/dist/tools/prov_search.js.map +1 -0
  455. package/dist/tools/trove_newspaper.d.ts +100 -0
  456. package/dist/tools/trove_newspaper.d.ts.map +1 -0
  457. package/dist/tools/trove_newspaper.js +282 -0
  458. package/dist/tools/trove_newspaper.js.map +1 -0
  459. package/dist/tools/trove_search.d.ts +62 -0
  460. package/dist/tools/trove_search.d.ts.map +1 -0
  461. package/dist/tools/trove_search.js +143 -0
  462. package/dist/tools/trove_search.js.map +1 -0
  463. package/dist/types.d.ts +231 -0
  464. package/dist/types.d.ts.map +1 -0
  465. package/dist/types.js +5 -0
  466. package/dist/types.js.map +1 -0
  467. package/package.json +73 -0
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Victorian Heritage Database (VHD) API Client
3
+ *
4
+ * Provides access to Victorian heritage places, shipwrecks, and objects.
5
+ * No API key required for read-only access.
6
+ *
7
+ * API Documentation: https://discover.data.vic.gov.au/dataset/victorian-heritage-api
8
+ */
9
+ import { BaseClient } from '../../core/base-client.js';
10
+ import type { VHDPlaceSearchParams, VHDShipwreckSearchParams, VHDSearchResult, VHDPlace, VHDPlaceDetail, VHDShipwreck, VHDShipwreckDetail, VHDLookupItem } from './types.js';
11
+ export declare class VHDClient extends BaseClient {
12
+ constructor();
13
+ /**
14
+ * Search for heritage places
15
+ */
16
+ searchPlaces(params: VHDPlaceSearchParams): Promise<VHDSearchResult<VHDPlace>>;
17
+ /**
18
+ * Get a single place by ID
19
+ */
20
+ getPlace(id: number): Promise<VHDPlaceDetail | null>;
21
+ /**
22
+ * Search for shipwrecks
23
+ */
24
+ searchShipwrecks(params: VHDShipwreckSearchParams): Promise<VHDSearchResult<VHDShipwreck>>;
25
+ /**
26
+ * Get a single shipwreck by ID
27
+ */
28
+ getShipwreck(id: number): Promise<VHDShipwreckDetail | null>;
29
+ /**
30
+ * List all municipalities (local government areas)
31
+ */
32
+ listMunicipalities(): Promise<VHDLookupItem[]>;
33
+ /**
34
+ * List all architectural styles
35
+ */
36
+ listArchitecturalStyles(): Promise<VHDLookupItem[]>;
37
+ /**
38
+ * List all heritage themes
39
+ */
40
+ listThemes(): Promise<VHDLookupItem[]>;
41
+ /**
42
+ * List all time periods
43
+ */
44
+ listPeriods(): Promise<VHDLookupItem[]>;
45
+ }
46
+ export declare const vhdClient: VHDClient;
47
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/sources/vhd/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,aAAa,EAKd,MAAM,YAAY,CAAC;AAIpB,qBAAa,SAAU,SAAQ,UAAU;;IASvC;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAwCpF;;OAEG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAiB1D;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAqBhG;;OAEG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAiBlE;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAUpD;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAUzD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAU5C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;CAS9C;AAGD,eAAO,MAAM,SAAS,WAAkB,CAAC"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Victorian Heritage Database (VHD) API Client
3
+ *
4
+ * Provides access to Victorian heritage places, shipwrecks, and objects.
5
+ * No API key required for read-only access.
6
+ *
7
+ * API Documentation: https://discover.data.vic.gov.au/dataset/victorian-heritage-api
8
+ */
9
+ import { BaseClient } from '../../core/base-client.js';
10
+ const VHD_API_BASE = 'https://api.heritagecouncil.vic.gov.au/v1';
11
+ export class VHDClient extends BaseClient {
12
+ constructor() {
13
+ super(VHD_API_BASE, { userAgent: 'australian-history-mcp/0.6.0' });
14
+ }
15
+ // =========================================================================
16
+ // Place Search
17
+ // =========================================================================
18
+ /**
19
+ * Search for heritage places
20
+ */
21
+ async searchPlaces(params) {
22
+ const queryParams = {};
23
+ // VHD API uses 'kw' for keyword search
24
+ if (params.query) {
25
+ queryParams.kw = params.query;
26
+ }
27
+ // VHD API uses 'mun' for municipality (expects numeric ID or name)
28
+ if (params.municipality) {
29
+ queryParams.sub = params.municipality; // 'sub' is suburb, more flexible
30
+ }
31
+ if (params.heritageAuthority) {
32
+ queryParams.aut = params.heritageAuthority;
33
+ }
34
+ // VHD API uses 'arcs' for architectural style (numeric ID or name)
35
+ if (params.architecturalStyle) {
36
+ queryParams.arcs = params.architecturalStyle;
37
+ }
38
+ // VHD API uses 'per' for time period (numeric ID)
39
+ if (params.period) {
40
+ queryParams.per = params.period;
41
+ }
42
+ if (params.page) {
43
+ queryParams.page = params.page.toString();
44
+ }
45
+ // VHD API uses 'rpp' (records per page), not 'limit'
46
+ if (params.limit) {
47
+ queryParams.rpp = params.limit.toString();
48
+ }
49
+ const url = this.buildUrl('/places', queryParams);
50
+ return this.fetchJSON(url);
51
+ }
52
+ /**
53
+ * Get a single place by ID
54
+ */
55
+ async getPlace(id) {
56
+ const url = this.buildUrl(`/places/${id}`, {});
57
+ try {
58
+ return await this.fetchJSON(url);
59
+ }
60
+ catch (error) {
61
+ if (error instanceof Error && error.message.includes('404')) {
62
+ return null;
63
+ }
64
+ throw error;
65
+ }
66
+ }
67
+ // =========================================================================
68
+ // Shipwreck Search
69
+ // =========================================================================
70
+ /**
71
+ * Search for shipwrecks
72
+ */
73
+ async searchShipwrecks(params) {
74
+ const queryParams = {};
75
+ // VHD API uses 'kw' for keyword search
76
+ if (params.query) {
77
+ queryParams.kw = params.query;
78
+ }
79
+ if (params.page) {
80
+ queryParams.page = params.page.toString();
81
+ }
82
+ // VHD API uses 'rpp' (records per page), not 'limit'
83
+ if (params.limit) {
84
+ queryParams.rpp = params.limit.toString();
85
+ }
86
+ const url = this.buildUrl('/shipwrecks', queryParams);
87
+ return this.fetchJSON(url);
88
+ }
89
+ /**
90
+ * Get a single shipwreck by ID
91
+ */
92
+ async getShipwreck(id) {
93
+ const url = this.buildUrl(`/shipwrecks/${id}`, {});
94
+ try {
95
+ return await this.fetchJSON(url);
96
+ }
97
+ catch (error) {
98
+ if (error instanceof Error && error.message.includes('404')) {
99
+ return null;
100
+ }
101
+ throw error;
102
+ }
103
+ }
104
+ // =========================================================================
105
+ // Lookup Endpoints
106
+ // =========================================================================
107
+ /**
108
+ * List all municipalities (local government areas)
109
+ */
110
+ async listMunicipalities() {
111
+ const url = this.buildUrl('/municipalities', {});
112
+ const response = await this.fetchJSON(url);
113
+ const raw = response._embedded?.local_government_authority ?? [];
114
+ return raw.map((m) => ({
115
+ id: parseInt(m.id, 10) || 0,
116
+ name: m.lga_name,
117
+ }));
118
+ }
119
+ /**
120
+ * List all architectural styles
121
+ */
122
+ async listArchitecturalStyles() {
123
+ const url = this.buildUrl('/architectural-styles', {});
124
+ const response = await this.fetchJSON(url);
125
+ const raw = response._embedded?.architectural_style ?? [];
126
+ return raw.map((s) => ({
127
+ id: parseInt(s.id, 10) || 0,
128
+ name: s.architectural_style_name,
129
+ }));
130
+ }
131
+ /**
132
+ * List all heritage themes
133
+ */
134
+ async listThemes() {
135
+ const url = this.buildUrl('/themes', {});
136
+ const response = await this.fetchJSON(url);
137
+ const raw = response._embedded?.themes ?? [];
138
+ return raw.map((t) => ({
139
+ id: parseInt(t.id, 10) || 0,
140
+ name: t.name,
141
+ }));
142
+ }
143
+ /**
144
+ * List all time periods
145
+ */
146
+ async listPeriods() {
147
+ const url = this.buildUrl('/periods', {});
148
+ const response = await this.fetchJSON(url);
149
+ const raw = response._embedded?.period ?? [];
150
+ return raw.map((p) => ({
151
+ id: parseInt(p.id, 10) || 0,
152
+ name: `${p.start_year} - ${p.end_year}`,
153
+ }));
154
+ }
155
+ }
156
+ // Export singleton instance
157
+ export const vhdClient = new VHDClient();
158
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/sources/vhd/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAgBvD,MAAM,YAAY,GAAG,2CAA2C,CAAC;AAEjE,MAAM,OAAO,SAAU,SAAQ,UAAU;IACvC;QACE,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,8BAA8B,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,4EAA4E;IAC5E,eAAe;IACf,4EAA4E;IAE5E;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAA4B;QAC7C,MAAM,WAAW,GAA2B,EAAE,CAAC;QAE/C,uCAAuC;QACvC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,WAAW,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QAChC,CAAC;QAED,mEAAmE;QACnE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,iCAAiC;QAC1E,CAAC;QAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAC7C,CAAC;QAED,mEAAmE;QACnE,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAC/C,CAAC;QAED,kDAAkD;QAClD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5C,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,SAAS,CAA4B,GAAG,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAiB,GAAG,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,mBAAmB;IACnB,4EAA4E;IAE5E;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAgC;QACrD,MAAM,WAAW,GAA2B,EAAE,CAAC;QAE/C,uCAAuC;QACvC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,WAAW,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QAChC,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5C,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,SAAS,CAAgC,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAqB,GAAG,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,mBAAmB;IACnB,4EAA4E;IAE5E;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAoB,GAAG,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,0BAA0B,IAAI,EAAE,CAAC;QACjE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC;YACzC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,QAAQ;SACjB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAoB,GAAG,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,mBAAmB,IAAI,EAAE,CAAC;QAC1D,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAA2B,EAAE,EAAE,CAAC,CAAC;YAC/C,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,wBAAwB;SACjC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAoB,GAAG,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrB,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAoB,GAAG,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC;YACnC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,QAAQ,EAAE;SACxC,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AAED,4BAA4B;AAC5B,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Victorian Heritage Database (VHD) Source Module
3
+ *
4
+ * Provides access to Victorian heritage places, shipwrecks, and objects.
5
+ * CC-BY 4.0 licensed data.
6
+ *
7
+ * No API key required.
8
+ */
9
+ export declare const vhdSource: import("../../core/base-source.js").Source;
10
+ export * from './types.js';
11
+ export { vhdClient } from './client.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sources/vhd/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,eAAO,MAAM,SAAS,4CAgBpB,CAAC;AAGH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Victorian Heritage Database (VHD) Source Module
3
+ *
4
+ * Provides access to Victorian heritage places, shipwrecks, and objects.
5
+ * CC-BY 4.0 licensed data.
6
+ *
7
+ * No API key required.
8
+ */
9
+ import { defineSource } from '../../core/base-source.js';
10
+ import { vhdSearchPlacesTool } from './tools/search-places.js';
11
+ import { vhdGetPlaceTool } from './tools/get-place.js';
12
+ import { vhdSearchShipwrecksTool } from './tools/search-shipwrecks.js';
13
+ import { vhdGetShipwreckTool } from './tools/get-shipwreck.js';
14
+ import { vhdListMunicipalitiesTool } from './tools/list-municipalities.js';
15
+ import { vhdListArchitecturalStylesTool } from './tools/list-architectural-styles.js';
16
+ import { vhdListThemesTool } from './tools/list-themes.js';
17
+ import { vhdListPeriodsTool } from './tools/list-periods.js';
18
+ import { vhdHarvestTool } from './tools/harvest.js';
19
+ export const vhdSource = defineSource({
20
+ name: 'vhd',
21
+ displayName: 'Victorian Heritage Database',
22
+ description: 'Victorian heritage places, shipwrecks, and heritage inventory sites.',
23
+ requiresAuth: false,
24
+ tools: [
25
+ vhdSearchPlacesTool,
26
+ vhdGetPlaceTool,
27
+ vhdSearchShipwrecksTool,
28
+ vhdGetShipwreckTool,
29
+ vhdListMunicipalitiesTool,
30
+ vhdListArchitecturalStylesTool,
31
+ vhdListThemesTool,
32
+ vhdListPeriodsTool,
33
+ vhdHarvestTool,
34
+ ],
35
+ });
36
+ // Re-export types and client for external use
37
+ export * from './types.js';
38
+ export { vhdClient } from './client.js';
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sources/vhd/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC;IACpC,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE,sEAAsE;IACnF,YAAY,EAAE,KAAK;IACnB,KAAK,EAAE;QACL,mBAAmB;QACnB,eAAe;QACf,uBAAuB;QACvB,mBAAmB;QACnB,yBAAyB;QACzB,8BAA8B;QAC9B,iBAAiB;QACjB,kBAAkB;QAClB,cAAc;KACf;CACF,CAAC,CAAC;AAEH,8CAA8C;AAC9C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * VHD Get Place Tool - Get detailed heritage place by ID
3
+ */
4
+ import type { SourceTool } from '../../../core/base-source.js';
5
+ export declare const vhdGetPlaceTool: SourceTool;
6
+ //# sourceMappingURL=get-place.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-place.d.ts","sourceRoot":"","sources":["../../../../src/sources/vhd/tools/get-place.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI/D,eAAO,MAAM,eAAe,EAAE,UAoE7B,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * VHD Get Place Tool - Get detailed heritage place by ID
3
+ */
4
+ import { successResponse, errorResponse } from '../../../core/types.js';
5
+ import { vhdClient } from '../client.js';
6
+ export const vhdGetPlaceTool = {
7
+ schema: {
8
+ name: 'vhd_get_place',
9
+ description: 'Get detailed heritage place record from Victorian Heritage Database by ID. Returns full history, description, and heritage significance.',
10
+ inputSchema: {
11
+ type: 'object',
12
+ properties: {
13
+ id: {
14
+ type: 'number',
15
+ description: 'Place ID (from search results)',
16
+ },
17
+ },
18
+ required: ['id'],
19
+ },
20
+ },
21
+ async execute(args) {
22
+ const input = args;
23
+ if (!input.id) {
24
+ return errorResponse('id is required');
25
+ }
26
+ try {
27
+ const place = await vhdClient.getPlace(input.id);
28
+ if (!place) {
29
+ return errorResponse(`Place not found: ${input.id}`);
30
+ }
31
+ return successResponse({
32
+ source: 'vhd',
33
+ place: {
34
+ id: place.id,
35
+ name: place.name,
36
+ location: place.location,
37
+ coordinates: place.latlon,
38
+ summary: place.summary,
39
+ description: place.description,
40
+ history: place.history,
41
+ heritageAuthority: place.heritage_authority_name,
42
+ vhrNumber: place.vhr_number,
43
+ overlays: place.overlay_numbers,
44
+ municipality: place.municipality?.name,
45
+ architecturalStyle: place.architectural_style?.name,
46
+ period: place.period?.name,
47
+ dateCreated: place.date_created,
48
+ dateModified: place.date_modified,
49
+ primaryImage: {
50
+ url: place.primary_image_url,
51
+ caption: place.primary_image_caption,
52
+ },
53
+ images: place.images
54
+ ? Object.entries(place.images).map(([key, img]) => ({
55
+ id: key,
56
+ url: img.image_url,
57
+ caption: img.image_caption,
58
+ photographer: img.image_by,
59
+ type: img.image_type,
60
+ }))
61
+ : [],
62
+ url: place.url,
63
+ },
64
+ });
65
+ }
66
+ catch (error) {
67
+ return errorResponse(error);
68
+ }
69
+ },
70
+ };
71
+ //# sourceMappingURL=get-place.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-place.js","sourceRoot":"","sources":["../../../../src/sources/vhd/tools/get-place.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,MAAM,EAAE;QACN,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,0IAA0I;QACvJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IAED,KAAK,CAAC,OAAO,CAAC,IAA6B;QACzC,MAAM,KAAK,GAAG,IAAuB,CAAC;QAEtC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEjD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,aAAa,CAAC,oBAAoB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,OAAO,eAAe,CAAC;gBACrB,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE;oBACL,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,WAAW,EAAE,KAAK,CAAC,MAAM;oBACzB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,iBAAiB,EAAE,KAAK,CAAC,uBAAuB;oBAChD,SAAS,EAAE,KAAK,CAAC,UAAU;oBAC3B,QAAQ,EAAE,KAAK,CAAC,eAAe;oBAC/B,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI;oBACtC,kBAAkB,EAAE,KAAK,CAAC,mBAAmB,EAAE,IAAI;oBACnD,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI;oBAC1B,WAAW,EAAE,KAAK,CAAC,YAAY;oBAC/B,YAAY,EAAE,KAAK,CAAC,aAAa;oBACjC,YAAY,EAAE;wBACZ,GAAG,EAAE,KAAK,CAAC,iBAAiB;wBAC5B,OAAO,EAAE,KAAK,CAAC,qBAAqB;qBACrC;oBACD,MAAM,EAAE,KAAK,CAAC,MAAM;wBAClB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;4BAChD,EAAE,EAAE,GAAG;4BACP,GAAG,EAAE,GAAG,CAAC,SAAS;4BAClB,OAAO,EAAE,GAAG,CAAC,aAAa;4BAC1B,YAAY,EAAE,GAAG,CAAC,QAAQ;4BAC1B,IAAI,EAAE,GAAG,CAAC,UAAU;yBACrB,CAAC,CAAC;wBACL,CAAC,CAAC,EAAE;oBACN,GAAG,EAAE,KAAK,CAAC,GAAG;iBACf;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * VHD Get Shipwreck Tool - Get detailed shipwreck by ID
3
+ */
4
+ import type { SourceTool } from '../../../core/base-source.js';
5
+ export declare const vhdGetShipwreckTool: SourceTool;
6
+ //# sourceMappingURL=get-shipwreck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-shipwreck.d.ts","sourceRoot":"","sources":["../../../../src/sources/vhd/tools/get-shipwreck.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI/D,eAAO,MAAM,mBAAmB,EAAE,UAyDjC,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * VHD Get Shipwreck Tool - Get detailed shipwreck by ID
3
+ */
4
+ import { successResponse, errorResponse } from '../../../core/types.js';
5
+ import { vhdClient } from '../client.js';
6
+ export const vhdGetShipwreckTool = {
7
+ schema: {
8
+ name: 'vhd_get_shipwreck',
9
+ description: 'Get detailed Victorian shipwreck record by ID. Returns full history, vessel details, cargo, and loss information.',
10
+ inputSchema: {
11
+ type: 'object',
12
+ properties: {
13
+ id: {
14
+ type: 'number',
15
+ description: 'Shipwreck ID (from search results)',
16
+ },
17
+ },
18
+ required: ['id'],
19
+ },
20
+ },
21
+ async execute(args) {
22
+ const input = args;
23
+ if (!input.id) {
24
+ return errorResponse('id is required');
25
+ }
26
+ try {
27
+ const shipwreck = await vhdClient.getShipwreck(input.id);
28
+ if (!shipwreck) {
29
+ return errorResponse(`Shipwreck not found: ${input.id}`);
30
+ }
31
+ return successResponse({
32
+ source: 'vhd',
33
+ shipwreck: {
34
+ id: shipwreck.id,
35
+ name: shipwreck.name,
36
+ location: shipwreck.sw_location,
37
+ description: shipwreck.description,
38
+ history: shipwreck.history,
39
+ vesselType: shipwreck.vessel_type,
40
+ constructionDate: shipwreck.construction_date,
41
+ lossDate: shipwreck.loss_date,
42
+ causeOfLoss: shipwreck.cause_of_loss,
43
+ tonnage: shipwreck.tonnage,
44
+ length: shipwreck.length,
45
+ cargo: shipwreck.cargo,
46
+ crew: shipwreck.crew,
47
+ passengers: shipwreck.passengers,
48
+ livesLost: shipwreck.lives_lost,
49
+ heritageAuthority: shipwreck.heritage_authority_name,
50
+ vhrNumber: shipwreck.vhr_number,
51
+ url: shipwreck.url,
52
+ },
53
+ });
54
+ }
55
+ catch (error) {
56
+ return errorResponse(error);
57
+ }
58
+ },
59
+ };
60
+ //# sourceMappingURL=get-shipwreck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-shipwreck.js","sourceRoot":"","sources":["../../../../src/sources/vhd/tools/get-shipwreck.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,MAAM,EAAE;QACN,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,mHAAmH;QAChI,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;iBAClD;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IAED,KAAK,CAAC,OAAO,CAAC,IAA6B;QACzC,MAAM,KAAK,GAAG,IAAuB,CAAC;QAEtC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEzD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,aAAa,CAAC,wBAAwB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO,eAAe,CAAC;gBACrB,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE;oBACT,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,QAAQ,EAAE,SAAS,CAAC,WAAW;oBAC/B,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,WAAW;oBACjC,gBAAgB,EAAE,SAAS,CAAC,iBAAiB;oBAC7C,QAAQ,EAAE,SAAS,CAAC,SAAS;oBAC7B,WAAW,EAAE,SAAS,CAAC,aAAa;oBACpC,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,SAAS,EAAE,SAAS,CAAC,UAAU;oBAC/B,iBAAiB,EAAE,SAAS,CAAC,uBAAuB;oBACpD,SAAS,EAAE,SAAS,CAAC,UAAU;oBAC/B,GAAG,EAAE,SAAS,CAAC,GAAG;iBACnB;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * VHD Harvest Tool - Bulk download Victorian heritage records
3
+ */
4
+ import type { SourceTool } from '../../../core/base-source.js';
5
+ export declare const vhdHarvestTool: SourceTool;
6
+ //# sourceMappingURL=harvest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harvest.d.ts","sourceRoot":"","sources":["../../../../src/sources/vhd/tools/harvest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAM/D,eAAO,MAAM,cAAc,EAAE,UAmH5B,CAAC"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * VHD Harvest Tool - Bulk download Victorian heritage records
3
+ */
4
+ import { successResponse, errorResponse } from '../../../core/types.js';
5
+ import { runHarvest } from '../../../core/harvest-runner.js';
6
+ import { vhdClient } from '../client.js';
7
+ export const vhdHarvestTool = {
8
+ schema: {
9
+ name: 'vhd_harvest',
10
+ description: 'Bulk download Victorian heritage place records with pagination.',
11
+ inputSchema: {
12
+ type: 'object',
13
+ properties: {
14
+ query: {
15
+ type: 'string',
16
+ description: 'Search query (place name, location, or keyword)',
17
+ },
18
+ municipality: {
19
+ type: 'string',
20
+ description: 'Filter by municipality',
21
+ },
22
+ architecturalStyle: {
23
+ type: 'string',
24
+ description: 'Filter by architectural style',
25
+ },
26
+ period: {
27
+ type: 'string',
28
+ description: 'Filter by period',
29
+ },
30
+ maxRecords: {
31
+ type: 'number',
32
+ description: 'Maximum records to harvest (1-1000)',
33
+ default: 100,
34
+ },
35
+ startPage: {
36
+ type: 'number',
37
+ description: 'Page to start from (1-based)',
38
+ default: 1,
39
+ },
40
+ },
41
+ required: [],
42
+ },
43
+ },
44
+ async execute(args) {
45
+ const input = args;
46
+ try {
47
+ const maxRecords = Math.min(input.maxRecords ?? 100, 1000);
48
+ const startPage = input.startPage ?? 1;
49
+ // Build query description
50
+ const queryDesc = [
51
+ input.query && `query="${input.query}"`,
52
+ input.municipality && `municipality=${input.municipality}`,
53
+ input.architecturalStyle && `style=${input.architecturalStyle}`,
54
+ input.period && `period=${input.period}`,
55
+ ].filter(Boolean).join(', ') || 'all places';
56
+ const result = await runHarvest('vhd', queryDesc, {
57
+ maxRecords,
58
+ batchSize: 25, // VHD default page size (rpp)
59
+ cursorMode: 'page',
60
+ initialCursor: startPage,
61
+ fetchBatch: async (page, limit) => {
62
+ const searchResult = await vhdClient.searchPlaces({
63
+ query: input.query,
64
+ municipality: input.municipality,
65
+ architecturalStyle: input.architecturalStyle,
66
+ period: input.period,
67
+ page: page,
68
+ limit,
69
+ });
70
+ const places = searchResult._embedded?.places ?? [];
71
+ const hasNext = !!searchResult._links?.next;
72
+ // Estimate total from last page link if available
73
+ let total = 0;
74
+ if (searchResult._links?.last) {
75
+ const lastMatch = searchResult._links.last.href.match(/page=(\d+)/);
76
+ if (lastMatch) {
77
+ total = parseInt(lastMatch[1], 10) * limit;
78
+ }
79
+ }
80
+ return {
81
+ records: places,
82
+ total,
83
+ hasMore: hasNext,
84
+ };
85
+ },
86
+ });
87
+ return successResponse({
88
+ source: 'vhd',
89
+ harvested: result.totalHarvested,
90
+ totalAvailable: result.totalAvailable,
91
+ hasMore: result.hasMore,
92
+ nextPage: result.nextCursor,
93
+ records: result.records.map((place) => ({
94
+ id: place.id,
95
+ name: place.name,
96
+ location: place.location,
97
+ heritageAuthority: place.heritage_authority_name,
98
+ vhrNumber: place.vhr_number,
99
+ coordinates: place.latlon,
100
+ url: place.url,
101
+ })),
102
+ });
103
+ }
104
+ catch (error) {
105
+ return errorResponse(error);
106
+ }
107
+ },
108
+ };
109
+ //# sourceMappingURL=harvest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harvest.js","sourceRoot":"","sources":["../../../../src/sources/vhd/tools/harvest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * VHD List Architectural Styles Tool - List all architectural style classifications
3
+ */
4
+ import type { SourceTool } from '../../../core/base-source.js';
5
+ export declare const vhdListArchitecturalStylesTool: SourceTool;
6
+ //# sourceMappingURL=list-architectural-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-architectural-styles.d.ts","sourceRoot":"","sources":["../../../../src/sources/vhd/tools/list-architectural-styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI/D,eAAO,MAAM,8BAA8B,EAAE,UA2B5C,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * VHD List Architectural Styles Tool - List all architectural style classifications
3
+ */
4
+ import { successResponse, errorResponse } from '../../../core/types.js';
5
+ import { vhdClient } from '../client.js';
6
+ export const vhdListArchitecturalStylesTool = {
7
+ schema: {
8
+ name: 'vhd_list_architectural_styles',
9
+ description: 'List all architectural style classifications used in the Victorian Heritage Database. Use style IDs or names when searching for heritage places.',
10
+ inputSchema: {
11
+ type: 'object',
12
+ properties: {},
13
+ required: [],
14
+ },
15
+ },
16
+ async execute() {
17
+ try {
18
+ const styles = await vhdClient.listArchitecturalStyles();
19
+ return successResponse({
20
+ source: 'vhd',
21
+ count: styles.length,
22
+ architecturalStyles: styles.map((s) => ({
23
+ id: s.id,
24
+ name: s.name,
25
+ })),
26
+ });
27
+ }
28
+ catch (error) {
29
+ return errorResponse(error);
30
+ }
31
+ },
32
+ };
33
+ //# sourceMappingURL=list-architectural-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-architectural-styles.js","sourceRoot":"","sources":["../../../../src/sources/vhd/tools/list-architectural-styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,CAAC,MAAM,8BAA8B,GAAe;IACxD,MAAM,EAAE;QACN,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,kJAAkJ;QAC/J,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,uBAAuB,EAAE,CAAC;YAEzD,OAAO,eAAe,CAAC;gBACrB,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;iBACb,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * VHD List Municipalities Tool - List all Victorian municipalities (LGAs)
3
+ */
4
+ import type { SourceTool } from '../../../core/base-source.js';
5
+ export declare const vhdListMunicipalitiesTool: SourceTool;
6
+ //# sourceMappingURL=list-municipalities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-municipalities.d.ts","sourceRoot":"","sources":["../../../../src/sources/vhd/tools/list-municipalities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI/D,eAAO,MAAM,yBAAyB,EAAE,UA2BvC,CAAC"}