@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.
- package/LICENSE +21 -0
- package/README.md +502 -0
- package/dist/clients/datagovau_client.d.ts +61 -0
- package/dist/clients/datagovau_client.d.ts.map +1 -0
- package/dist/clients/datagovau_client.js +421 -0
- package/dist/clients/datagovau_client.js.map +1 -0
- package/dist/clients/prov_client.d.ts +64 -0
- package/dist/clients/prov_client.d.ts.map +1 -0
- package/dist/clients/prov_client.js +393 -0
- package/dist/clients/prov_client.js.map +1 -0
- package/dist/clients/trove_client.d.ts +77 -0
- package/dist/clients/trove_client.d.ts.map +1 -0
- package/dist/clients/trove_client.js +374 -0
- package/dist/clients/trove_client.js.map +1 -0
- package/dist/core/base-client.d.ts +49 -0
- package/dist/core/base-client.d.ts.map +1 -0
- package/dist/core/base-client.js +116 -0
- package/dist/core/base-client.js.map +1 -0
- package/dist/core/base-source.d.ts +45 -0
- package/dist/core/base-source.d.ts.map +1 -0
- package/dist/core/base-source.js +19 -0
- package/dist/core/base-source.js.map +1 -0
- package/dist/core/harvest-runner.d.ts +26 -0
- package/dist/core/harvest-runner.d.ts.map +1 -0
- package/dist/core/harvest-runner.js +82 -0
- package/dist/core/harvest-runner.js.map +1 -0
- package/dist/core/index.d.ts +10 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +14 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/types.d.ts +80 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +52 -0
- package/dist/core/types.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +103 -0
- package/dist/index.js.map +1 -0
- package/dist/registry.d.ts +65 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +112 -0
- package/dist/registry.js.map +1 -0
- package/dist/sources/acmi/client.d.ts +47 -0
- package/dist/sources/acmi/client.d.ts.map +1 -0
- package/dist/sources/acmi/client.js +131 -0
- package/dist/sources/acmi/client.js.map +1 -0
- package/dist/sources/acmi/index.d.ts +12 -0
- package/dist/sources/acmi/index.d.ts.map +1 -0
- package/dist/sources/acmi/index.js +35 -0
- package/dist/sources/acmi/index.js.map +1 -0
- package/dist/sources/acmi/tools/get-constellation.d.ts +6 -0
- package/dist/sources/acmi/tools/get-constellation.d.ts.map +1 -0
- package/dist/sources/acmi/tools/get-constellation.js +53 -0
- package/dist/sources/acmi/tools/get-constellation.js.map +1 -0
- package/dist/sources/acmi/tools/get-creator.d.ts +6 -0
- package/dist/sources/acmi/tools/get-creator.d.ts.map +1 -0
- package/dist/sources/acmi/tools/get-creator.js +52 -0
- package/dist/sources/acmi/tools/get-creator.js.map +1 -0
- package/dist/sources/acmi/tools/get-work.d.ts +6 -0
- package/dist/sources/acmi/tools/get-work.d.ts.map +1 -0
- package/dist/sources/acmi/tools/get-work.js +103 -0
- package/dist/sources/acmi/tools/get-work.js.map +1 -0
- package/dist/sources/acmi/tools/harvest.d.ts +6 -0
- package/dist/sources/acmi/tools/harvest.d.ts.map +1 -0
- package/dist/sources/acmi/tools/harvest.js +95 -0
- package/dist/sources/acmi/tools/harvest.js.map +1 -0
- package/dist/sources/acmi/tools/list-constellations.d.ts +6 -0
- package/dist/sources/acmi/tools/list-constellations.d.ts.map +1 -0
- package/dist/sources/acmi/tools/list-constellations.js +44 -0
- package/dist/sources/acmi/tools/list-constellations.js.map +1 -0
- package/dist/sources/acmi/tools/list-creators.d.ts +6 -0
- package/dist/sources/acmi/tools/list-creators.d.ts.map +1 -0
- package/dist/sources/acmi/tools/list-creators.js +46 -0
- package/dist/sources/acmi/tools/list-creators.js.map +1 -0
- package/dist/sources/acmi/tools/search-works.d.ts +6 -0
- package/dist/sources/acmi/tools/search-works.d.ts.map +1 -0
- package/dist/sources/acmi/tools/search-works.js +73 -0
- package/dist/sources/acmi/tools/search-works.js.map +1 -0
- package/dist/sources/acmi/types.d.ts +135 -0
- package/dist/sources/acmi/types.d.ts.map +1 -0
- package/dist/sources/acmi/types.js +5 -0
- package/dist/sources/acmi/types.js.map +1 -0
- package/dist/sources/ala/client.d.ts +79 -0
- package/dist/sources/ala/client.d.ts.map +1 -0
- package/dist/sources/ala/client.js +556 -0
- package/dist/sources/ala/client.js.map +1 -0
- package/dist/sources/ala/index.d.ts +12 -0
- package/dist/sources/ala/index.d.ts.map +1 -0
- package/dist/sources/ala/index.js +37 -0
- package/dist/sources/ala/index.js.map +1 -0
- package/dist/sources/ala/tools/get-species-list.d.ts +6 -0
- package/dist/sources/ala/tools/get-species-list.d.ts.map +1 -0
- package/dist/sources/ala/tools/get-species-list.js +56 -0
- package/dist/sources/ala/tools/get-species-list.js.map +1 -0
- package/dist/sources/ala/tools/get-species.d.ts +6 -0
- package/dist/sources/ala/tools/get-species.d.ts.map +1 -0
- package/dist/sources/ala/tools/get-species.js +81 -0
- package/dist/sources/ala/tools/get-species.js.map +1 -0
- package/dist/sources/ala/tools/harvest.d.ts +6 -0
- package/dist/sources/ala/tools/harvest.d.ts.map +1 -0
- package/dist/sources/ala/tools/harvest.js +133 -0
- package/dist/sources/ala/tools/harvest.js.map +1 -0
- package/dist/sources/ala/tools/list-species-lists.d.ts +6 -0
- package/dist/sources/ala/tools/list-species-lists.d.ts.map +1 -0
- package/dist/sources/ala/tools/list-species-lists.js +60 -0
- package/dist/sources/ala/tools/list-species-lists.js.map +1 -0
- package/dist/sources/ala/tools/match-name.d.ts +6 -0
- package/dist/sources/ala/tools/match-name.d.ts.map +1 -0
- package/dist/sources/ala/tools/match-name.js +66 -0
- package/dist/sources/ala/tools/match-name.js.map +1 -0
- package/dist/sources/ala/tools/search-images.d.ts +6 -0
- package/dist/sources/ala/tools/search-images.d.ts.map +1 -0
- package/dist/sources/ala/tools/search-images.js +64 -0
- package/dist/sources/ala/tools/search-images.js.map +1 -0
- package/dist/sources/ala/tools/search-occurrences.d.ts +6 -0
- package/dist/sources/ala/tools/search-occurrences.d.ts.map +1 -0
- package/dist/sources/ala/tools/search-occurrences.js +134 -0
- package/dist/sources/ala/tools/search-occurrences.js.map +1 -0
- package/dist/sources/ala/tools/search-species.d.ts +6 -0
- package/dist/sources/ala/tools/search-species.d.ts.map +1 -0
- package/dist/sources/ala/tools/search-species.js +68 -0
- package/dist/sources/ala/tools/search-species.js.map +1 -0
- package/dist/sources/ala/types.d.ts +255 -0
- package/dist/sources/ala/types.d.ts.map +1 -0
- package/dist/sources/ala/types.js +7 -0
- package/dist/sources/ala/types.js.map +1 -0
- package/dist/sources/datagovau/client.d.ts +68 -0
- package/dist/sources/datagovau/client.d.ts.map +1 -0
- package/dist/sources/datagovau/client.js +344 -0
- package/dist/sources/datagovau/client.js.map +1 -0
- package/dist/sources/datagovau/index.d.ts +12 -0
- package/dist/sources/datagovau/index.d.ts.map +1 -0
- package/dist/sources/datagovau/index.js +37 -0
- package/dist/sources/datagovau/index.js.map +1 -0
- package/dist/sources/datagovau/tools/autocomplete.d.ts +6 -0
- package/dist/sources/datagovau/tools/autocomplete.d.ts.map +1 -0
- package/dist/sources/datagovau/tools/autocomplete.js +49 -0
- package/dist/sources/datagovau/tools/autocomplete.js.map +1 -0
- package/dist/sources/datagovau/tools/browse.d.ts +25 -0
- package/dist/sources/datagovau/tools/browse.d.ts.map +1 -0
- package/dist/sources/datagovau/tools/browse.js +205 -0
- package/dist/sources/datagovau/tools/browse.js.map +1 -0
- package/dist/sources/datagovau/tools/dataset.d.ts +17 -0
- package/dist/sources/datagovau/tools/dataset.d.ts.map +1 -0
- package/dist/sources/datagovau/tools/dataset.js +177 -0
- package/dist/sources/datagovau/tools/dataset.js.map +1 -0
- package/dist/sources/datagovau/tools/harvest.d.ts +6 -0
- package/dist/sources/datagovau/tools/harvest.d.ts.map +1 -0
- package/dist/sources/datagovau/tools/harvest.js +99 -0
- package/dist/sources/datagovau/tools/harvest.js.map +1 -0
- package/dist/sources/datagovau/tools/search.d.ts +6 -0
- package/dist/sources/datagovau/tools/search.d.ts.map +1 -0
- package/dist/sources/datagovau/tools/search.js +85 -0
- package/dist/sources/datagovau/tools/search.js.map +1 -0
- package/dist/sources/datagovau/types.d.ts +81 -0
- package/dist/sources/datagovau/types.d.ts.map +1 -0
- package/dist/sources/datagovau/types.js +5 -0
- package/dist/sources/datagovau/types.js.map +1 -0
- package/dist/sources/ga-hap/client.d.ts +65 -0
- package/dist/sources/ga-hap/client.d.ts.map +1 -0
- package/dist/sources/ga-hap/client.js +247 -0
- package/dist/sources/ga-hap/client.js.map +1 -0
- package/dist/sources/ga-hap/index.d.ts +12 -0
- package/dist/sources/ga-hap/index.d.ts.map +1 -0
- package/dist/sources/ga-hap/index.js +23 -0
- package/dist/sources/ga-hap/index.js.map +1 -0
- package/dist/sources/ga-hap/tools/get-photo.d.ts +6 -0
- package/dist/sources/ga-hap/tools/get-photo.d.ts.map +1 -0
- package/dist/sources/ga-hap/tools/get-photo.js +89 -0
- package/dist/sources/ga-hap/tools/get-photo.js.map +1 -0
- package/dist/sources/ga-hap/tools/harvest.d.ts +6 -0
- package/dist/sources/ga-hap/tools/harvest.d.ts.map +1 -0
- package/dist/sources/ga-hap/tools/harvest.js +87 -0
- package/dist/sources/ga-hap/tools/harvest.js.map +1 -0
- package/dist/sources/ga-hap/tools/search.d.ts +6 -0
- package/dist/sources/ga-hap/tools/search.d.ts.map +1 -0
- package/dist/sources/ga-hap/tools/search.js +97 -0
- package/dist/sources/ga-hap/tools/search.js.map +1 -0
- package/dist/sources/ga-hap/types.d.ts +178 -0
- package/dist/sources/ga-hap/types.d.ts.map +1 -0
- package/dist/sources/ga-hap/types.js +30 -0
- package/dist/sources/ga-hap/types.js.map +1 -0
- package/dist/sources/iiif/client.d.ts +37 -0
- package/dist/sources/iiif/client.d.ts.map +1 -0
- package/dist/sources/iiif/client.js +142 -0
- package/dist/sources/iiif/client.js.map +1 -0
- package/dist/sources/iiif/index.d.ts +18 -0
- package/dist/sources/iiif/index.d.ts.map +1 -0
- package/dist/sources/iiif/index.js +31 -0
- package/dist/sources/iiif/index.js.map +1 -0
- package/dist/sources/iiif/tools/get-image-url.d.ts +9 -0
- package/dist/sources/iiif/tools/get-image-url.d.ts.map +1 -0
- package/dist/sources/iiif/tools/get-image-url.js +101 -0
- package/dist/sources/iiif/tools/get-image-url.js.map +1 -0
- package/dist/sources/iiif/tools/get-manifest.d.ts +9 -0
- package/dist/sources/iiif/tools/get-manifest.d.ts.map +1 -0
- package/dist/sources/iiif/tools/get-manifest.js +87 -0
- package/dist/sources/iiif/tools/get-manifest.js.map +1 -0
- package/dist/sources/iiif/types.d.ts +123 -0
- package/dist/sources/iiif/types.d.ts.map +1 -0
- package/dist/sources/iiif/types.js +26 -0
- package/dist/sources/iiif/types.js.map +1 -0
- package/dist/sources/museums-victoria/client.d.ts +64 -0
- package/dist/sources/museums-victoria/client.d.ts.map +1 -0
- package/dist/sources/museums-victoria/client.js +358 -0
- package/dist/sources/museums-victoria/client.js.map +1 -0
- package/dist/sources/museums-victoria/index.d.ts +12 -0
- package/dist/sources/museums-victoria/index.d.ts.map +1 -0
- package/dist/sources/museums-victoria/index.js +30 -0
- package/dist/sources/museums-victoria/index.js.map +1 -0
- package/dist/sources/museums-victoria/tools/harvest.d.ts +6 -0
- package/dist/sources/museums-victoria/tools/harvest.d.ts.map +1 -0
- package/dist/sources/museums-victoria/tools/harvest.js +120 -0
- package/dist/sources/museums-victoria/tools/harvest.js.map +1 -0
- package/dist/sources/museums-victoria/tools/records.d.ts +21 -0
- package/dist/sources/museums-victoria/tools/records.d.ts.map +1 -0
- package/dist/sources/museums-victoria/tools/records.js +225 -0
- package/dist/sources/museums-victoria/tools/records.js.map +1 -0
- package/dist/sources/museums-victoria/tools/search.d.ts +6 -0
- package/dist/sources/museums-victoria/tools/search.d.ts.map +1 -0
- package/dist/sources/museums-victoria/tools/search.js +147 -0
- package/dist/sources/museums-victoria/tools/search.js.map +1 -0
- package/dist/sources/museums-victoria/types.d.ts +153 -0
- package/dist/sources/museums-victoria/types.d.ts.map +1 -0
- package/dist/sources/museums-victoria/types.js +5 -0
- package/dist/sources/museums-victoria/types.js.map +1 -0
- package/dist/sources/nma/client.d.ts +52 -0
- package/dist/sources/nma/client.d.ts.map +1 -0
- package/dist/sources/nma/client.js +175 -0
- package/dist/sources/nma/client.js.map +1 -0
- package/dist/sources/nma/index.d.ts +12 -0
- package/dist/sources/nma/index.d.ts.map +1 -0
- package/dist/sources/nma/index.js +39 -0
- package/dist/sources/nma/index.js.map +1 -0
- package/dist/sources/nma/tools/get-media.d.ts +6 -0
- package/dist/sources/nma/tools/get-media.d.ts.map +1 -0
- package/dist/sources/nma/tools/get-media.js +58 -0
- package/dist/sources/nma/tools/get-media.js.map +1 -0
- package/dist/sources/nma/tools/get-object.d.ts +6 -0
- package/dist/sources/nma/tools/get-object.d.ts.map +1 -0
- package/dist/sources/nma/tools/get-object.js +83 -0
- package/dist/sources/nma/tools/get-object.js.map +1 -0
- package/dist/sources/nma/tools/get-party.d.ts +6 -0
- package/dist/sources/nma/tools/get-party.d.ts.map +1 -0
- package/dist/sources/nma/tools/get-party.js +63 -0
- package/dist/sources/nma/tools/get-party.js.map +1 -0
- package/dist/sources/nma/tools/get-place.d.ts +6 -0
- package/dist/sources/nma/tools/get-place.d.ts.map +1 -0
- package/dist/sources/nma/tools/get-place.js +50 -0
- package/dist/sources/nma/tools/get-place.js.map +1 -0
- package/dist/sources/nma/tools/harvest.d.ts +6 -0
- package/dist/sources/nma/tools/harvest.d.ts.map +1 -0
- package/dist/sources/nma/tools/harvest.js +91 -0
- package/dist/sources/nma/tools/harvest.js.map +1 -0
- package/dist/sources/nma/tools/search-media.d.ts +6 -0
- package/dist/sources/nma/tools/search-media.d.ts.map +1 -0
- package/dist/sources/nma/tools/search-media.js +66 -0
- package/dist/sources/nma/tools/search-media.js.map +1 -0
- package/dist/sources/nma/tools/search-objects.d.ts +6 -0
- package/dist/sources/nma/tools/search-objects.d.ts.map +1 -0
- package/dist/sources/nma/tools/search-objects.js +70 -0
- package/dist/sources/nma/tools/search-objects.js.map +1 -0
- package/dist/sources/nma/tools/search-parties.d.ts +6 -0
- package/dist/sources/nma/tools/search-parties.d.ts.map +1 -0
- package/dist/sources/nma/tools/search-parties.js +64 -0
- package/dist/sources/nma/tools/search-parties.js.map +1 -0
- package/dist/sources/nma/tools/search-places.d.ts +6 -0
- package/dist/sources/nma/tools/search-places.d.ts.map +1 -0
- package/dist/sources/nma/tools/search-places.js +53 -0
- package/dist/sources/nma/tools/search-places.js.map +1 -0
- package/dist/sources/nma/types.d.ts +135 -0
- package/dist/sources/nma/types.d.ts.map +1 -0
- package/dist/sources/nma/types.js +5 -0
- package/dist/sources/nma/types.js.map +1 -0
- package/dist/sources/pm-transcripts/client.d.ts +39 -0
- package/dist/sources/pm-transcripts/client.d.ts.map +1 -0
- package/dist/sources/pm-transcripts/client.js +192 -0
- package/dist/sources/pm-transcripts/client.js.map +1 -0
- package/dist/sources/pm-transcripts/index.d.ts +13 -0
- package/dist/sources/pm-transcripts/index.d.ts.map +1 -0
- package/dist/sources/pm-transcripts/index.js +23 -0
- package/dist/sources/pm-transcripts/index.js.map +1 -0
- package/dist/sources/pm-transcripts/tools/get-transcript.d.ts +6 -0
- package/dist/sources/pm-transcripts/tools/get-transcript.d.ts.map +1 -0
- package/dist/sources/pm-transcripts/tools/get-transcript.js +52 -0
- package/dist/sources/pm-transcripts/tools/get-transcript.js.map +1 -0
- package/dist/sources/pm-transcripts/tools/harvest.d.ts +9 -0
- package/dist/sources/pm-transcripts/tools/harvest.d.ts.map +1 -0
- package/dist/sources/pm-transcripts/tools/harvest.js +213 -0
- package/dist/sources/pm-transcripts/tools/harvest.js.map +1 -0
- package/dist/sources/pm-transcripts/types.d.ts +54 -0
- package/dist/sources/pm-transcripts/types.d.ts.map +1 -0
- package/dist/sources/pm-transcripts/types.js +8 -0
- package/dist/sources/pm-transcripts/types.js.map +1 -0
- package/dist/sources/prov/client.d.ts +46 -0
- package/dist/sources/prov/client.d.ts.map +1 -0
- package/dist/sources/prov/client.js +297 -0
- package/dist/sources/prov/client.js.map +1 -0
- package/dist/sources/prov/index.d.ts +12 -0
- package/dist/sources/prov/index.d.ts.map +1 -0
- package/dist/sources/prov/index.js +31 -0
- package/dist/sources/prov/index.js.map +1 -0
- package/dist/sources/prov/tools/get-agency.d.ts +6 -0
- package/dist/sources/prov/tools/get-agency.d.ts.map +1 -0
- package/dist/sources/prov/tools/get-agency.js +49 -0
- package/dist/sources/prov/tools/get-agency.js.map +1 -0
- package/dist/sources/prov/tools/get-series.d.ts +6 -0
- package/dist/sources/prov/tools/get-series.d.ts.map +1 -0
- package/dist/sources/prov/tools/get-series.js +51 -0
- package/dist/sources/prov/tools/get-series.js.map +1 -0
- package/dist/sources/prov/tools/harvest.d.ts +6 -0
- package/dist/sources/prov/tools/harvest.d.ts.map +1 -0
- package/dist/sources/prov/tools/harvest.js +112 -0
- package/dist/sources/prov/tools/harvest.js.map +1 -0
- package/dist/sources/prov/tools/images.d.ts +9 -0
- package/dist/sources/prov/tools/images.d.ts.map +1 -0
- package/dist/sources/prov/tools/images.js +67 -0
- package/dist/sources/prov/tools/images.js.map +1 -0
- package/dist/sources/prov/tools/search.d.ts +6 -0
- package/dist/sources/prov/tools/search.d.ts.map +1 -0
- package/dist/sources/prov/tools/search.js +103 -0
- package/dist/sources/prov/tools/search.js.map +1 -0
- package/dist/sources/prov/types.d.ts +75 -0
- package/dist/sources/prov/types.d.ts.map +1 -0
- package/dist/sources/prov/types.js +31 -0
- package/dist/sources/prov/types.js.map +1 -0
- package/dist/sources/trove/client.d.ts +128 -0
- package/dist/sources/trove/client.d.ts.map +1 -0
- package/dist/sources/trove/client.js +1008 -0
- package/dist/sources/trove/client.js.map +1 -0
- package/dist/sources/trove/index.d.ts +12 -0
- package/dist/sources/trove/index.d.ts.map +1 -0
- package/dist/sources/trove/index.js +53 -0
- package/dist/sources/trove/index.js.map +1 -0
- package/dist/sources/trove/tools/get-contributor.d.ts +6 -0
- package/dist/sources/trove/tools/get-contributor.d.ts.map +1 -0
- package/dist/sources/trove/tools/get-contributor.js +54 -0
- package/dist/sources/trove/tools/get-contributor.js.map +1 -0
- package/dist/sources/trove/tools/get-list.d.ts +6 -0
- package/dist/sources/trove/tools/get-list.d.ts.map +1 -0
- package/dist/sources/trove/tools/get-list.js +95 -0
- package/dist/sources/trove/tools/get-list.js.map +1 -0
- package/dist/sources/trove/tools/get-magazine-title.d.ts +6 -0
- package/dist/sources/trove/tools/get-magazine-title.d.ts.map +1 -0
- package/dist/sources/trove/tools/get-magazine-title.js +96 -0
- package/dist/sources/trove/tools/get-magazine-title.js.map +1 -0
- package/dist/sources/trove/tools/get-person.d.ts +6 -0
- package/dist/sources/trove/tools/get-person.d.ts.map +1 -0
- package/dist/sources/trove/tools/get-person.js +64 -0
- package/dist/sources/trove/tools/get-person.js.map +1 -0
- package/dist/sources/trove/tools/get-work.d.ts +6 -0
- package/dist/sources/trove/tools/get-work.d.ts.map +1 -0
- package/dist/sources/trove/tools/get-work.js +104 -0
- package/dist/sources/trove/tools/get-work.js.map +1 -0
- package/dist/sources/trove/tools/harvest.d.ts +6 -0
- package/dist/sources/trove/tools/harvest.d.ts.map +1 -0
- package/dist/sources/trove/tools/harvest.js +127 -0
- package/dist/sources/trove/tools/harvest.js.map +1 -0
- package/dist/sources/trove/tools/list-contributors.d.ts +6 -0
- package/dist/sources/trove/tools/list-contributors.d.ts.map +1 -0
- package/dist/sources/trove/tools/list-contributors.js +59 -0
- package/dist/sources/trove/tools/list-contributors.js.map +1 -0
- package/dist/sources/trove/tools/list-magazine-titles.d.ts +6 -0
- package/dist/sources/trove/tools/list-magazine-titles.d.ts.map +1 -0
- package/dist/sources/trove/tools/list-magazine-titles.js +42 -0
- package/dist/sources/trove/tools/list-magazine-titles.js.map +1 -0
- package/dist/sources/trove/tools/newspaper.d.ts +17 -0
- package/dist/sources/trove/tools/newspaper.d.ts.map +1 -0
- package/dist/sources/trove/tools/newspaper.js +210 -0
- package/dist/sources/trove/tools/newspaper.js.map +1 -0
- package/dist/sources/trove/tools/search-people.d.ts +6 -0
- package/dist/sources/trove/tools/search-people.d.ts.map +1 -0
- package/dist/sources/trove/tools/search-people.js +72 -0
- package/dist/sources/trove/tools/search-people.js.map +1 -0
- package/dist/sources/trove/tools/search.d.ts +6 -0
- package/dist/sources/trove/tools/search.d.ts.map +1 -0
- package/dist/sources/trove/tools/search.js +219 -0
- package/dist/sources/trove/tools/search.js.map +1 -0
- package/dist/sources/trove/types.d.ts +257 -0
- package/dist/sources/trove/types.d.ts.map +1 -0
- package/dist/sources/trove/types.js +38 -0
- package/dist/sources/trove/types.js.map +1 -0
- package/dist/sources/vhd/client.d.ts +47 -0
- package/dist/sources/vhd/client.d.ts.map +1 -0
- package/dist/sources/vhd/client.js +158 -0
- package/dist/sources/vhd/client.js.map +1 -0
- package/dist/sources/vhd/index.d.ts +12 -0
- package/dist/sources/vhd/index.d.ts.map +1 -0
- package/dist/sources/vhd/index.js +39 -0
- package/dist/sources/vhd/index.js.map +1 -0
- package/dist/sources/vhd/tools/get-place.d.ts +6 -0
- package/dist/sources/vhd/tools/get-place.d.ts.map +1 -0
- package/dist/sources/vhd/tools/get-place.js +71 -0
- package/dist/sources/vhd/tools/get-place.js.map +1 -0
- package/dist/sources/vhd/tools/get-shipwreck.d.ts +6 -0
- package/dist/sources/vhd/tools/get-shipwreck.d.ts.map +1 -0
- package/dist/sources/vhd/tools/get-shipwreck.js +60 -0
- package/dist/sources/vhd/tools/get-shipwreck.js.map +1 -0
- package/dist/sources/vhd/tools/harvest.d.ts +6 -0
- package/dist/sources/vhd/tools/harvest.d.ts.map +1 -0
- package/dist/sources/vhd/tools/harvest.js +109 -0
- package/dist/sources/vhd/tools/harvest.js.map +1 -0
- package/dist/sources/vhd/tools/list-architectural-styles.d.ts +6 -0
- package/dist/sources/vhd/tools/list-architectural-styles.d.ts.map +1 -0
- package/dist/sources/vhd/tools/list-architectural-styles.js +33 -0
- package/dist/sources/vhd/tools/list-architectural-styles.js.map +1 -0
- package/dist/sources/vhd/tools/list-municipalities.d.ts +6 -0
- package/dist/sources/vhd/tools/list-municipalities.d.ts.map +1 -0
- package/dist/sources/vhd/tools/list-municipalities.js +33 -0
- package/dist/sources/vhd/tools/list-municipalities.js.map +1 -0
- package/dist/sources/vhd/tools/list-periods.d.ts +6 -0
- package/dist/sources/vhd/tools/list-periods.d.ts.map +1 -0
- package/dist/sources/vhd/tools/list-periods.js +33 -0
- package/dist/sources/vhd/tools/list-periods.js.map +1 -0
- package/dist/sources/vhd/tools/list-themes.d.ts +6 -0
- package/dist/sources/vhd/tools/list-themes.d.ts.map +1 -0
- package/dist/sources/vhd/tools/list-themes.js +34 -0
- package/dist/sources/vhd/tools/list-themes.js.map +1 -0
- package/dist/sources/vhd/tools/search-places.d.ts +6 -0
- package/dist/sources/vhd/tools/search-places.d.ts.map +1 -0
- package/dist/sources/vhd/tools/search-places.js +71 -0
- package/dist/sources/vhd/tools/search-places.js.map +1 -0
- package/dist/sources/vhd/tools/search-shipwrecks.d.ts +6 -0
- package/dist/sources/vhd/tools/search-shipwrecks.d.ts.map +1 -0
- package/dist/sources/vhd/tools/search-shipwrecks.js +52 -0
- package/dist/sources/vhd/tools/search-shipwrecks.js.map +1 -0
- package/dist/sources/vhd/types.d.ts +179 -0
- package/dist/sources/vhd/types.d.ts.map +1 -0
- package/dist/sources/vhd/types.js +5 -0
- package/dist/sources/vhd/types.js.map +1 -0
- package/dist/tools/datagovau_browse.d.ts +96 -0
- package/dist/tools/datagovau_browse.d.ts.map +1 -0
- package/dist/tools/datagovau_browse.js +297 -0
- package/dist/tools/datagovau_browse.js.map +1 -0
- package/dist/tools/datagovau_dataset.d.ts +79 -0
- package/dist/tools/datagovau_dataset.d.ts.map +1 -0
- package/dist/tools/datagovau_dataset.js +246 -0
- package/dist/tools/datagovau_dataset.js.map +1 -0
- package/dist/tools/datagovau_search.d.ts +58 -0
- package/dist/tools/datagovau_search.d.ts.map +1 -0
- package/dist/tools/datagovau_search.js +112 -0
- package/dist/tools/datagovau_search.js.map +1 -0
- package/dist/tools/harvest.d.ts +175 -0
- package/dist/tools/harvest.d.ts.map +1 -0
- package/dist/tools/harvest.js +426 -0
- package/dist/tools/harvest.js.map +1 -0
- package/dist/tools/prov_images.d.ts +38 -0
- package/dist/tools/prov_images.d.ts.map +1 -0
- package/dist/tools/prov_images.js +87 -0
- package/dist/tools/prov_images.js.map +1 -0
- package/dist/tools/prov_search.d.ts +60 -0
- package/dist/tools/prov_search.d.ts.map +1 -0
- package/dist/tools/prov_search.js +131 -0
- package/dist/tools/prov_search.js.map +1 -0
- package/dist/tools/trove_newspaper.d.ts +100 -0
- package/dist/tools/trove_newspaper.d.ts.map +1 -0
- package/dist/tools/trove_newspaper.js +282 -0
- package/dist/tools/trove_newspaper.js.map +1 -0
- package/dist/tools/trove_search.d.ts +62 -0
- package/dist/tools/trove_search.d.ts.map +1 -0
- package/dist/tools/trove_search.js +143 -0
- package/dist/tools/trove_search.js.map +1 -0
- package/dist/types.d.ts +231 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trove Get Work Tool - Get book, image, map, music, or archive details by ID
|
|
3
|
+
*/
|
|
4
|
+
import { successResponse, errorResponse } from '../../../core/types.js';
|
|
5
|
+
import { troveClient } from '../client.js';
|
|
6
|
+
export const troveGetWorkTool = {
|
|
7
|
+
schema: {
|
|
8
|
+
name: 'trove_get_work',
|
|
9
|
+
description: 'Get detailed information about a Trove work (book, image, map, music, or archive) by ID. Returns full metadata with optional holdings, links, and version information.',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
type: 'object',
|
|
12
|
+
properties: {
|
|
13
|
+
workId: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
description: 'The Trove work ID (e.g., "12345678")',
|
|
16
|
+
},
|
|
17
|
+
reclevel: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
enum: ['brief', 'full'],
|
|
20
|
+
default: 'full',
|
|
21
|
+
description: 'Record detail level: "brief" for basic metadata, "full" for extended metadata',
|
|
22
|
+
},
|
|
23
|
+
include: {
|
|
24
|
+
type: 'array',
|
|
25
|
+
items: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
enum: ['holdings', 'links', 'workversions', 'subscribinglibs'],
|
|
28
|
+
},
|
|
29
|
+
description: 'Additional data to include: holdings (library copies), links (external URLs), workversions (editions), subscribinglibs (subscribing libraries)',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
required: ['workId'],
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
async execute(args) {
|
|
36
|
+
const input = args;
|
|
37
|
+
if (!input.workId) {
|
|
38
|
+
return errorResponse('workId is required');
|
|
39
|
+
}
|
|
40
|
+
if (!troveClient.hasApiKey()) {
|
|
41
|
+
return errorResponse('TROVE_API_KEY not configured');
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const work = await troveClient.getWork(input.workId, {
|
|
45
|
+
reclevel: input.reclevel || 'full',
|
|
46
|
+
include: input.include,
|
|
47
|
+
});
|
|
48
|
+
if (!work) {
|
|
49
|
+
return errorResponse(`Work not found: ${input.workId}`);
|
|
50
|
+
}
|
|
51
|
+
// Build response with all available fields
|
|
52
|
+
const response = {
|
|
53
|
+
source: 'trove',
|
|
54
|
+
work: {
|
|
55
|
+
id: work.id,
|
|
56
|
+
title: work.title,
|
|
57
|
+
contributor: work.contributor,
|
|
58
|
+
issued: work.issued,
|
|
59
|
+
type: work.type,
|
|
60
|
+
subjects: work.subjects,
|
|
61
|
+
abstract: work.abstract,
|
|
62
|
+
tableOfContents: work.tableOfContents,
|
|
63
|
+
language: work.language,
|
|
64
|
+
identifier: work.identifier,
|
|
65
|
+
holdingsCount: work.holdingsCount,
|
|
66
|
+
versionCount: work.versionCount,
|
|
67
|
+
url: work.troveUrl,
|
|
68
|
+
thumbnailUrl: work.thumbnailUrl,
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
// Include holdings if requested and available
|
|
72
|
+
if (work.holdings && work.holdings.length > 0) {
|
|
73
|
+
response.holdings = work.holdings.map((h) => ({
|
|
74
|
+
nuc: h.nuc,
|
|
75
|
+
name: h.name,
|
|
76
|
+
url: h.url,
|
|
77
|
+
callNumber: h.callNumber,
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
// Include links if requested and available
|
|
81
|
+
if (work.links && work.links.length > 0) {
|
|
82
|
+
response.links = work.links.map((l) => ({
|
|
83
|
+
url: l.url,
|
|
84
|
+
type: l.linktype,
|
|
85
|
+
text: l.linktext,
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
// Include versions if requested and available
|
|
89
|
+
if (work.versions && work.versions.length > 0) {
|
|
90
|
+
response.versions = work.versions.map((v) => ({
|
|
91
|
+
id: v.id,
|
|
92
|
+
type: v.type,
|
|
93
|
+
issued: v.issued,
|
|
94
|
+
holdingsCount: v.holdingsCount,
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
return successResponse(response);
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
return errorResponse(error);
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=get-work.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-work.js","sourceRoot":"","sources":["../../../../src/sources/trove/tools/get-work.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harvest.d.ts","sourceRoot":"","sources":["../../../../src/sources/trove/tools/harvest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAM/D,eAAO,MAAM,gBAAgB,EAAE,UAwI9B,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trove Harvest Tool - Bulk download records from Trove
|
|
3
|
+
*/
|
|
4
|
+
import { successResponse, errorResponse } from '../../../core/types.js';
|
|
5
|
+
import { runHarvest } from '../../../core/harvest-runner.js';
|
|
6
|
+
import { troveClient } from '../client.js';
|
|
7
|
+
import { TROVE_CATEGORIES, TROVE_STATES } from '../types.js';
|
|
8
|
+
export const troveHarvestTool = {
|
|
9
|
+
schema: {
|
|
10
|
+
name: 'trove_harvest',
|
|
11
|
+
description: 'Bulk download Trove records with cursor-based pagination.',
|
|
12
|
+
inputSchema: {
|
|
13
|
+
type: 'object',
|
|
14
|
+
properties: {
|
|
15
|
+
query: {
|
|
16
|
+
type: 'string',
|
|
17
|
+
description: 'Search terms',
|
|
18
|
+
},
|
|
19
|
+
category: {
|
|
20
|
+
type: 'string',
|
|
21
|
+
enum: TROVE_CATEGORIES,
|
|
22
|
+
description: 'Content category',
|
|
23
|
+
default: 'all',
|
|
24
|
+
},
|
|
25
|
+
state: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
enum: TROVE_STATES,
|
|
28
|
+
description: 'Filter by state (newspapers)',
|
|
29
|
+
},
|
|
30
|
+
dateFrom: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
description: 'Start date (YYYY)',
|
|
33
|
+
},
|
|
34
|
+
dateTo: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
description: 'End date (YYYY)',
|
|
37
|
+
},
|
|
38
|
+
format: {
|
|
39
|
+
type: 'string',
|
|
40
|
+
description: 'Format filter',
|
|
41
|
+
},
|
|
42
|
+
includeFullText: {
|
|
43
|
+
type: 'boolean',
|
|
44
|
+
description: 'Include article text (newspapers only)',
|
|
45
|
+
default: false,
|
|
46
|
+
},
|
|
47
|
+
nuc: {
|
|
48
|
+
type: 'string',
|
|
49
|
+
description: 'NUC code to filter by contributor/partner. Common codes: VSL (State Library Victoria), SLNSW (State Library NSW), ANL (National Library), QSL (State Library Queensland)',
|
|
50
|
+
},
|
|
51
|
+
sortby: {
|
|
52
|
+
type: 'string',
|
|
53
|
+
enum: ['relevance', 'datedesc', 'dateasc'],
|
|
54
|
+
default: 'relevance',
|
|
55
|
+
description: 'Sort order: relevance (default), datedesc (newest first), dateasc (oldest first)',
|
|
56
|
+
},
|
|
57
|
+
maxRecords: {
|
|
58
|
+
type: 'number',
|
|
59
|
+
description: 'Maximum records to harvest (1-1000)',
|
|
60
|
+
default: 100,
|
|
61
|
+
},
|
|
62
|
+
cursor: {
|
|
63
|
+
type: 'string',
|
|
64
|
+
description: 'Pagination cursor from previous harvest',
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
required: ['query'],
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
async execute(args) {
|
|
71
|
+
const input = args;
|
|
72
|
+
if (!troveClient.hasApiKey()) {
|
|
73
|
+
return errorResponse('TROVE_API_KEY not configured. See CLAUDE.md for setup instructions.');
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
const maxRecords = Math.min(input.maxRecords ?? 100, 1000);
|
|
77
|
+
// Build query description for response
|
|
78
|
+
const queryDesc = [
|
|
79
|
+
`query="${input.query}"`,
|
|
80
|
+
input.category && `category=${input.category}`,
|
|
81
|
+
input.state && `state=${input.state}`,
|
|
82
|
+
input.nuc && `nuc=${input.nuc}`,
|
|
83
|
+
input.sortby && input.sortby !== 'relevance' && `sortby=${input.sortby}`,
|
|
84
|
+
].filter(Boolean).join(', ');
|
|
85
|
+
const result = await runHarvest('trove', queryDesc, {
|
|
86
|
+
maxRecords,
|
|
87
|
+
batchSize: 100, // Trove max per request
|
|
88
|
+
cursorMode: 'cursor',
|
|
89
|
+
initialCursor: input.cursor,
|
|
90
|
+
fetchBatch: async (cursor, limit) => {
|
|
91
|
+
const searchResult = await troveClient.search({
|
|
92
|
+
query: input.query,
|
|
93
|
+
category: input.category,
|
|
94
|
+
state: input.state,
|
|
95
|
+
dateFrom: input.dateFrom,
|
|
96
|
+
dateTo: input.dateTo,
|
|
97
|
+
format: input.format,
|
|
98
|
+
includeFullText: input.includeFullText ?? false,
|
|
99
|
+
nuc: input.nuc,
|
|
100
|
+
sortby: input.sortby,
|
|
101
|
+
bulkHarvest: true,
|
|
102
|
+
limit,
|
|
103
|
+
start: cursor,
|
|
104
|
+
});
|
|
105
|
+
return {
|
|
106
|
+
records: searchResult.records,
|
|
107
|
+
total: searchResult.totalResults,
|
|
108
|
+
nextCursor: searchResult.nextStart,
|
|
109
|
+
hasMore: !!searchResult.nextStart,
|
|
110
|
+
};
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
return successResponse({
|
|
114
|
+
source: 'trove',
|
|
115
|
+
harvested: result.totalHarvested,
|
|
116
|
+
totalAvailable: result.totalAvailable,
|
|
117
|
+
hasMore: result.hasMore,
|
|
118
|
+
nextCursor: result.nextCursor,
|
|
119
|
+
records: result.records,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
return errorResponse(error);
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
//# sourceMappingURL=harvest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harvest.js","sourceRoot":"","sources":["../../../../src/sources/trove/tools/harvest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-contributors.d.ts","sourceRoot":"","sources":["../../../../src/sources/trove/tools/list-contributors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAK/D,eAAO,MAAM,yBAAyB,EAAE,UA0DvC,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trove List Contributors Tool - List/search all contributing libraries
|
|
3
|
+
*/
|
|
4
|
+
import { successResponse, errorResponse } from '../../../core/types.js';
|
|
5
|
+
import { troveClient } from '../client.js';
|
|
6
|
+
export const troveListContributorsTool = {
|
|
7
|
+
schema: {
|
|
8
|
+
name: 'trove_list_contributors',
|
|
9
|
+
description: 'List or search Trove contributors (1500+ libraries, archives, and institutions). Returns NUC codes, names, and contact details.',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
type: 'object',
|
|
12
|
+
properties: {
|
|
13
|
+
query: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
description: 'Optional search query to filter contributors by name (e.g., "university", "state library")',
|
|
16
|
+
},
|
|
17
|
+
reclevel: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
enum: ['brief', 'full'],
|
|
20
|
+
default: 'brief',
|
|
21
|
+
description: 'Record detail level: "brief" for basic info, "full" for extended details',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
required: [],
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
async execute(args) {
|
|
28
|
+
const input = args;
|
|
29
|
+
if (!troveClient.hasApiKey()) {
|
|
30
|
+
return errorResponse('TROVE_API_KEY not configured');
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const contributors = await troveClient.listContributors({
|
|
34
|
+
query: input.query,
|
|
35
|
+
reclevel: input.reclevel || 'brief',
|
|
36
|
+
});
|
|
37
|
+
return successResponse({
|
|
38
|
+
source: 'trove',
|
|
39
|
+
query: input.query || null,
|
|
40
|
+
totalResults: contributors.length,
|
|
41
|
+
contributors: contributors.map((c) => ({
|
|
42
|
+
nuc: c.nuc,
|
|
43
|
+
name: c.name,
|
|
44
|
+
shortname: c.shortname,
|
|
45
|
+
url: c.url,
|
|
46
|
+
address: c.address,
|
|
47
|
+
email: c.email,
|
|
48
|
+
phone: c.phone,
|
|
49
|
+
catalogue: c.catalogue,
|
|
50
|
+
totalHoldings: c.totalHoldings,
|
|
51
|
+
})),
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
return errorResponse(error);
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=list-contributors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-contributors.js","sourceRoot":"","sources":["../../../../src/sources/trove/tools/list-contributors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,CAAC,MAAM,yBAAyB,GAAe;IACnD,MAAM,EAAE;QACN,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,iIAAiI;QAC9I,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4FAA4F;iBAC1G;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;oBACvB,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,0EAA0E;iBACxF;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IAED,KAAK,CAAC,OAAO,CAAC,IAA6B;QACzC,MAAM,KAAK,GAAG,IAGb,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7B,OAAO,aAAa,CAAC,8BAA8B,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC;gBACtD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,OAAO;aACpC,CAAC,CAAC;YAEH,OAAO,eAAe,CAAC;gBACrB,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;gBAC1B,YAAY,EAAE,YAAY,CAAC,MAAM;gBACjC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrC,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,aAAa,EAAE,CAAC,CAAC,aAAa;iBAC/B,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 @@
|
|
|
1
|
+
{"version":3,"file":"list-magazine-titles.d.ts","sourceRoot":"","sources":["../../../../src/sources/trove/tools/list-magazine-titles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI/D,eAAO,MAAM,2BAA2B,EAAE,UAqCzC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trove List Magazine Titles Tool - List available magazine titles
|
|
3
|
+
*/
|
|
4
|
+
import { successResponse, errorResponse } from '../../../core/types.js';
|
|
5
|
+
import { troveClient } from '../client.js';
|
|
6
|
+
export const troveListMagazineTitlesTool = {
|
|
7
|
+
schema: {
|
|
8
|
+
name: 'trove_list_magazine_titles',
|
|
9
|
+
description: 'List magazine titles available in Trove. Returns publication metadata including date ranges and ISSN.',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
type: 'object',
|
|
12
|
+
properties: {},
|
|
13
|
+
required: [],
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
async execute() {
|
|
17
|
+
if (!troveClient.hasApiKey()) {
|
|
18
|
+
return errorResponse('TROVE_API_KEY not configured');
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
const titles = await troveClient.listMagazineTitles();
|
|
22
|
+
return successResponse({
|
|
23
|
+
source: 'trove',
|
|
24
|
+
totalResults: titles.length,
|
|
25
|
+
titles: titles.map((t) => ({
|
|
26
|
+
id: t.id,
|
|
27
|
+
title: t.title,
|
|
28
|
+
publisher: t.publisher,
|
|
29
|
+
dateRange: t.startDate && t.endDate
|
|
30
|
+
? `${t.startDate} - ${t.endDate}`
|
|
31
|
+
: t.startDate || t.endDate,
|
|
32
|
+
issn: t.issn,
|
|
33
|
+
url: t.troveUrl,
|
|
34
|
+
})),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
return errorResponse(error);
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=list-magazine-titles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-magazine-titles.js","sourceRoot":"","sources":["../../../../src/sources/trove/tools/list-magazine-titles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,2BAA2B,GAAe;IACrD,MAAM,EAAE;QACN,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,uGAAuG;QACpH,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7B,OAAO,aAAa,CAAC,8BAA8B,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,EAAE,CAAC;YAEtD,OAAO,eAAe,CAAC;gBACrB,MAAM,EAAE,OAAO;gBACf,YAAY,EAAE,MAAM,CAAC,MAAM;gBAC3B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzB,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO;wBACjC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,OAAO,EAAE;wBACjC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO;oBAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,GAAG,EAAE,CAAC,CAAC,QAAQ;iBAChB,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,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trove Newspaper Tools - Article details and title listings
|
|
3
|
+
*/
|
|
4
|
+
import type { SourceTool } from '../../../core/base-source.js';
|
|
5
|
+
/**
|
|
6
|
+
* Get full details of a newspaper/gazette article
|
|
7
|
+
*/
|
|
8
|
+
export declare const troveNewspaperArticleTool: SourceTool;
|
|
9
|
+
/**
|
|
10
|
+
* List available newspaper/gazette titles
|
|
11
|
+
*/
|
|
12
|
+
export declare const troveListTitlesTool: SourceTool;
|
|
13
|
+
/**
|
|
14
|
+
* Get detailed information about a specific title
|
|
15
|
+
*/
|
|
16
|
+
export declare const troveTitleDetailsTool: SourceTool;
|
|
17
|
+
//# sourceMappingURL=newspaper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"newspaper.d.ts","sourceRoot":"","sources":["../../../../src/sources/trove/tools/newspaper.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAK/D;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,UA6EvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,UA2DjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,UAmFnC,CAAC"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trove Newspaper Tools - Article details and title listings
|
|
3
|
+
*/
|
|
4
|
+
import { successResponse, errorResponse } from '../../../core/types.js';
|
|
5
|
+
import { troveClient } from '../client.js';
|
|
6
|
+
import { TROVE_STATES } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Get full details of a newspaper/gazette article
|
|
9
|
+
*/
|
|
10
|
+
export const troveNewspaperArticleTool = {
|
|
11
|
+
schema: {
|
|
12
|
+
name: 'trove_newspaper_article',
|
|
13
|
+
description: 'Get full article details including OCR text and PDF link.',
|
|
14
|
+
inputSchema: {
|
|
15
|
+
type: 'object',
|
|
16
|
+
properties: {
|
|
17
|
+
articleId: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
description: 'The Trove article ID (from search results)',
|
|
20
|
+
},
|
|
21
|
+
type: {
|
|
22
|
+
type: 'string',
|
|
23
|
+
enum: ['newspaper', 'gazette'],
|
|
24
|
+
description: 'Article type',
|
|
25
|
+
default: 'newspaper',
|
|
26
|
+
},
|
|
27
|
+
includeText: {
|
|
28
|
+
type: 'boolean',
|
|
29
|
+
description: 'Include the full OCR text of the article',
|
|
30
|
+
default: true,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
required: ['articleId'],
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
async execute(args) {
|
|
37
|
+
const input = args;
|
|
38
|
+
if (!troveClient.hasApiKey()) {
|
|
39
|
+
return errorResponse('TROVE_API_KEY not configured. See CLAUDE.md for setup instructions.');
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
const type = input.type ?? 'newspaper';
|
|
43
|
+
const includeText = input.includeText ?? true;
|
|
44
|
+
const article = type === 'gazette'
|
|
45
|
+
? await troveClient.getGazetteArticle(input.articleId, includeText)
|
|
46
|
+
: await troveClient.getNewspaperArticle(input.articleId, includeText);
|
|
47
|
+
if (!article) {
|
|
48
|
+
return errorResponse(`Article ${input.articleId} not found`);
|
|
49
|
+
}
|
|
50
|
+
return successResponse({
|
|
51
|
+
source: 'trove',
|
|
52
|
+
type,
|
|
53
|
+
article: {
|
|
54
|
+
id: article.id,
|
|
55
|
+
heading: article.heading,
|
|
56
|
+
newspaper: article.title,
|
|
57
|
+
titleId: article.titleId,
|
|
58
|
+
date: article.date,
|
|
59
|
+
page: article.page,
|
|
60
|
+
pageSequence: article.pageSequence,
|
|
61
|
+
category: article.category,
|
|
62
|
+
url: article.troveUrl,
|
|
63
|
+
pdfUrl: article.pdfUrl,
|
|
64
|
+
wordCount: article.wordCount,
|
|
65
|
+
correctionCount: article.correctionCount,
|
|
66
|
+
tagCount: article.tagCount,
|
|
67
|
+
commentCount: article.commentCount,
|
|
68
|
+
illustrated: article.illustrated,
|
|
69
|
+
lastCorrected: article.lastCorrected,
|
|
70
|
+
fullText: article.fullText,
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
return errorResponse(error);
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* List available newspaper/gazette titles
|
|
81
|
+
*/
|
|
82
|
+
export const troveListTitlesTool = {
|
|
83
|
+
schema: {
|
|
84
|
+
name: 'trove_list_titles',
|
|
85
|
+
description: 'List available newspaper or gazette titles by state.',
|
|
86
|
+
inputSchema: {
|
|
87
|
+
type: 'object',
|
|
88
|
+
properties: {
|
|
89
|
+
type: {
|
|
90
|
+
type: 'string',
|
|
91
|
+
enum: ['newspaper', 'gazette'],
|
|
92
|
+
description: 'Type of publication',
|
|
93
|
+
default: 'newspaper',
|
|
94
|
+
},
|
|
95
|
+
state: {
|
|
96
|
+
type: 'string',
|
|
97
|
+
enum: TROVE_STATES,
|
|
98
|
+
description: 'Filter by state',
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
required: [],
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
async execute(args) {
|
|
105
|
+
const input = args;
|
|
106
|
+
if (!troveClient.hasApiKey()) {
|
|
107
|
+
return errorResponse('TROVE_API_KEY not configured. See CLAUDE.md for setup instructions.');
|
|
108
|
+
}
|
|
109
|
+
try {
|
|
110
|
+
const type = input.type ?? 'newspaper';
|
|
111
|
+
const state = input.state;
|
|
112
|
+
const titles = type === 'gazette'
|
|
113
|
+
? await troveClient.listGazetteTitles(state)
|
|
114
|
+
: await troveClient.listNewspaperTitles(state);
|
|
115
|
+
return successResponse({
|
|
116
|
+
source: 'trove',
|
|
117
|
+
type,
|
|
118
|
+
state: state ?? 'all',
|
|
119
|
+
count: titles.length,
|
|
120
|
+
titles: titles.map(t => ({
|
|
121
|
+
id: t.id,
|
|
122
|
+
title: t.title,
|
|
123
|
+
state: t.state,
|
|
124
|
+
issn: t.issn,
|
|
125
|
+
dateRange: `${t.startDate} - ${t.endDate}`,
|
|
126
|
+
url: t.troveUrl,
|
|
127
|
+
})),
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
return errorResponse(error);
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Get detailed information about a specific title
|
|
137
|
+
*/
|
|
138
|
+
export const troveTitleDetailsTool = {
|
|
139
|
+
schema: {
|
|
140
|
+
name: 'trove_title_details',
|
|
141
|
+
description: 'Get title details with available years and issue counts.',
|
|
142
|
+
inputSchema: {
|
|
143
|
+
type: 'object',
|
|
144
|
+
properties: {
|
|
145
|
+
titleId: {
|
|
146
|
+
type: 'string',
|
|
147
|
+
description: 'The Trove title ID',
|
|
148
|
+
},
|
|
149
|
+
type: {
|
|
150
|
+
type: 'string',
|
|
151
|
+
enum: ['newspaper', 'gazette'],
|
|
152
|
+
description: 'Type of publication',
|
|
153
|
+
default: 'newspaper',
|
|
154
|
+
},
|
|
155
|
+
includeYears: {
|
|
156
|
+
type: 'boolean',
|
|
157
|
+
description: 'Include list of available years',
|
|
158
|
+
default: true,
|
|
159
|
+
},
|
|
160
|
+
dateFrom: {
|
|
161
|
+
type: 'string',
|
|
162
|
+
description: 'Start of date range for issue list (YYYYMMDD)',
|
|
163
|
+
},
|
|
164
|
+
dateTo: {
|
|
165
|
+
type: 'string',
|
|
166
|
+
description: 'End of date range for issue list (YYYYMMDD)',
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
required: ['titleId'],
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
async execute(args) {
|
|
173
|
+
const input = args;
|
|
174
|
+
if (!troveClient.hasApiKey()) {
|
|
175
|
+
return errorResponse('TROVE_API_KEY not configured. See CLAUDE.md for setup instructions.');
|
|
176
|
+
}
|
|
177
|
+
try {
|
|
178
|
+
const type = input.type ?? 'newspaper';
|
|
179
|
+
const dateRange = input.dateFrom && input.dateTo
|
|
180
|
+
? { from: input.dateFrom, to: input.dateTo }
|
|
181
|
+
: undefined;
|
|
182
|
+
const detail = await troveClient.getTitleDetails(input.titleId, {
|
|
183
|
+
type,
|
|
184
|
+
includeYears: input.includeYears ?? true,
|
|
185
|
+
dateRange,
|
|
186
|
+
});
|
|
187
|
+
if (!detail) {
|
|
188
|
+
return errorResponse(`Title ${input.titleId} not found`);
|
|
189
|
+
}
|
|
190
|
+
return successResponse({
|
|
191
|
+
source: 'trove',
|
|
192
|
+
type,
|
|
193
|
+
title: {
|
|
194
|
+
id: detail.id,
|
|
195
|
+
title: detail.title,
|
|
196
|
+
state: detail.state,
|
|
197
|
+
issn: detail.issn,
|
|
198
|
+
dateRange: `${detail.startDate} - ${detail.endDate}`,
|
|
199
|
+
url: detail.troveUrl,
|
|
200
|
+
years: detail.years,
|
|
201
|
+
issues: detail.issues,
|
|
202
|
+
},
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
return errorResponse(error);
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
};
|
|
210
|
+
//# sourceMappingURL=newspaper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"newspaper.js","sourceRoot":"","sources":["../../../../src/sources/trove/tools/newspaper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-people.d.ts","sourceRoot":"","sources":["../../../../src/sources/trove/tools/search-people.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAK/D,eAAO,MAAM,qBAAqB,EAAE,UA0EnC,CAAC"}
|