@mapbox/mcp-server 0.5.5 → 0.6.1
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/README.md +36 -0
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +45 -3
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/schemas/geojson.d.ts +115 -0
- package/dist/commonjs/schemas/geojson.d.ts.map +1 -0
- package/dist/commonjs/schemas/geojson.js +5 -0
- package/dist/commonjs/schemas/geojson.js.map +1 -0
- package/dist/commonjs/tools/BaseTool.d.ts +5 -2
- package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
- package/dist/commonjs/tools/BaseTool.js +12 -2
- package/dist/commonjs/tools/BaseTool.js.map +1 -1
- package/dist/commonjs/tools/MapboxApiBasedTool.d.ts +12 -7
- package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -1
- package/dist/commonjs/tools/MapboxApiBasedTool.js +57 -29
- package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -1
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts +10 -6
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
- package/dist/commonjs/tools/category-list-tool/{CategoryListTool.schema.d.ts → CategoryListTool.input.schema.d.ts} +1 -1
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/category-list-tool/{CategoryListTool.schema.js → CategoryListTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.js +34 -11
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.js.map +1 -1
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.d.ts +10 -0
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.js +12 -0
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts +9 -8
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
- package/dist/commonjs/tools/category-search-tool/{CategorySearchTool.schema.d.ts → CategorySearchTool.input.schema.d.ts} +1 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/category-search-tool/{CategorySearchTool.schema.js → CategorySearchTool.input.schema.js} +10 -11
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +42 -13
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +2184 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js +148 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts +9 -5
- package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/{esm/tools/directions-tool/DirectionsTool.schema.d.ts → commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts} +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/directions-tool/{DirectionsTool.schema.js → DirectionsTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js +100 -19
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +7880 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js +346 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts +101 -2
- package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
- package/dist/commonjs/tools/directions-tool/cleanResponseData.js +90 -89
- package/dist/commonjs/tools/directions-tool/cleanResponseData.js.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts +10 -5
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
- package/dist/{esm/tools/isochrone-tool/IsochroneTool.schema.d.ts → commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts} +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/isochrone-tool/{IsochroneTool.schema.js → IsochroneTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +80 -10
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +314 -0
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js +58 -0
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts +9 -5
- package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
- package/dist/commonjs/tools/matrix-tool/{MatrixTool.schema.d.ts → MatrixTool.input.schema.d.ts} +3 -3
- package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/matrix-tool/{MatrixTool.schema.js → MatrixTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/matrix-tool/MatrixTool.js +131 -26
- package/dist/commonjs/tools/matrix-tool/MatrixTool.js.map +1 -1
- package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.d.ts +80 -0
- package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.js +22 -0
- package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +9 -8
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
- package/dist/{esm/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts → commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts} +3 -3
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/reverse-geocode-tool/{ReverseGeocodeTool.schema.js → ReverseGeocodeTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js +56 -15
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +4085 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js +206 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +9 -8
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.d.ts → SearchAndGeocodeTool.input.schema.d.ts} +5 -5
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.js → SearchAndGeocodeTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +42 -12
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +1496 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +124 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts +7 -4
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/{StaticMapImageTool.schema.d.ts → StaticMapImageTool.input.schema.d.ts} +33 -33
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/static-map-image-tool/{StaticMapImageTool.schema.js → StaticMapImageTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +24 -11
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
- package/dist/commonjs/tools/toolRegistry.js +9 -8
- package/dist/commonjs/tools/toolRegistry.js.map +1 -1
- package/dist/commonjs/tools/version-tool/VersionTool.d.ts +5 -9
- package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +1 -1
- package/dist/commonjs/tools/version-tool/{VersionTool.schema.d.ts → VersionTool.input.schema.d.ts} +1 -1
- package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/version-tool/{VersionTool.schema.js → VersionTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/version-tool/VersionTool.js +45 -30
- package/dist/commonjs/tools/version-tool/VersionTool.js.map +1 -1
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts +22 -0
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js +15 -0
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js.map +1 -0
- package/dist/commonjs/utils/httpPipeline.d.ts +39 -0
- package/dist/commonjs/utils/httpPipeline.d.ts.map +1 -0
- package/dist/commonjs/utils/{fetchRequest.js → httpPipeline.js} +13 -13
- package/dist/commonjs/utils/httpPipeline.js.map +1 -0
- package/dist/commonjs/utils/tracing.d.ts +99 -0
- package/dist/commonjs/utils/tracing.d.ts.map +1 -0
- package/dist/commonjs/utils/tracing.js +283 -0
- package/dist/commonjs/utils/tracing.js.map +1 -0
- package/dist/commonjs/utils/types.d.ts +18 -0
- package/dist/commonjs/utils/types.d.ts.map +1 -0
- package/dist/commonjs/utils/types.js +5 -0
- package/dist/commonjs/utils/types.js.map +1 -0
- package/dist/commonjs/utils/versionUtils-cjs.cjs.map +1 -1
- package/dist/commonjs/utils/versionUtils.js +1 -1
- package/dist/commonjs/version.json +3 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +45 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/schemas/geojson.d.ts +115 -0
- package/dist/esm/schemas/geojson.d.ts.map +1 -0
- package/dist/esm/schemas/geojson.js +4 -0
- package/dist/esm/schemas/geojson.js.map +1 -0
- package/dist/esm/tools/BaseTool.d.ts +5 -2
- package/dist/esm/tools/BaseTool.d.ts.map +1 -1
- package/dist/esm/tools/BaseTool.js +12 -2
- package/dist/esm/tools/BaseTool.js.map +1 -1
- package/dist/esm/tools/MapboxApiBasedTool.d.ts +12 -7
- package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -1
- package/dist/esm/tools/MapboxApiBasedTool.js +57 -29
- package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -1
- package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts +10 -6
- package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
- package/dist/esm/tools/category-list-tool/{CategoryListTool.schema.d.ts → CategoryListTool.input.schema.d.ts} +1 -1
- package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/category-list-tool/{CategoryListTool.schema.js → CategoryListTool.input.schema.js} +1 -1
- package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.js.map +1 -0
- package/dist/esm/tools/category-list-tool/CategoryListTool.js +34 -11
- package/dist/esm/tools/category-list-tool/CategoryListTool.js.map +1 -1
- package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.d.ts +10 -0
- package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.js +9 -0
- package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.js.map +1 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts +9 -8
- package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
- package/dist/esm/tools/category-search-tool/{CategorySearchTool.schema.d.ts → CategorySearchTool.input.schema.d.ts} +1 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/category-search-tool/{CategorySearchTool.schema.js → CategorySearchTool.input.schema.js} +10 -11
- package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.js +42 -13
- package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +2184 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js +145 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +9 -5
- package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/{commonjs/tools/directions-tool/DirectionsTool.schema.d.ts → esm/tools/directions-tool/DirectionsTool.input.schema.d.ts} +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/directions-tool/{DirectionsTool.schema.js → DirectionsTool.input.schema.js} +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.js +100 -19
- package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +7880 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js +343 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -0
- package/dist/esm/tools/directions-tool/cleanResponseData.d.ts +101 -2
- package/dist/esm/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
- package/dist/esm/tools/directions-tool/cleanResponseData.js +90 -89
- package/dist/esm/tools/directions-tool/cleanResponseData.js.map +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts +10 -5
- package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
- package/dist/{commonjs/tools/isochrone-tool/IsochroneTool.schema.d.ts → esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts} +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/isochrone-tool/{IsochroneTool.schema.js → IsochroneTool.input.schema.js} +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.js.map +1 -0
- package/dist/esm/tools/isochrone-tool/IsochroneTool.js +80 -10
- package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +314 -0
- package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js +55 -0
- package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -0
- package/dist/esm/tools/matrix-tool/MatrixTool.d.ts +9 -5
- package/dist/esm/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
- package/dist/esm/tools/matrix-tool/{MatrixTool.schema.d.ts → MatrixTool.input.schema.d.ts} +3 -3
- package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/matrix-tool/{MatrixTool.schema.js → MatrixTool.input.schema.js} +1 -1
- package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -0
- package/dist/esm/tools/matrix-tool/MatrixTool.js +131 -26
- package/dist/esm/tools/matrix-tool/MatrixTool.js.map +1 -1
- package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.d.ts +80 -0
- package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.js +19 -0
- package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.js.map +1 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +9 -8
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
- package/dist/{commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts → esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts} +3 -3
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/reverse-geocode-tool/{ReverseGeocodeTool.schema.js → ReverseGeocodeTool.input.schema.js} +1 -1
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js.map +1 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js +56 -15
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +4085 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js +203 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js.map +1 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +9 -8
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.d.ts → SearchAndGeocodeTool.input.schema.d.ts} +5 -5
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.js → SearchAndGeocodeTool.input.schema.js} +1 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +42 -12
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +1496 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +121 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -0
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +7 -4
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/esm/tools/static-map-image-tool/{StaticMapImageTool.schema.d.ts → StaticMapImageTool.input.schema.d.ts} +33 -33
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/static-map-image-tool/{StaticMapImageTool.schema.js → StaticMapImageTool.input.schema.js} +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -0
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +24 -11
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
- package/dist/esm/tools/toolRegistry.js +9 -8
- package/dist/esm/tools/toolRegistry.js.map +1 -1
- package/dist/esm/tools/version-tool/VersionTool.d.ts +5 -9
- package/dist/esm/tools/version-tool/VersionTool.d.ts.map +1 -1
- package/dist/esm/tools/version-tool/{VersionTool.schema.d.ts → VersionTool.input.schema.d.ts} +1 -1
- package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/version-tool/{VersionTool.schema.js → VersionTool.input.schema.js} +1 -1
- package/dist/esm/tools/version-tool/VersionTool.input.schema.js.map +1 -0
- package/dist/esm/tools/version-tool/VersionTool.js +43 -28
- package/dist/esm/tools/version-tool/VersionTool.js.map +1 -1
- package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts +22 -0
- package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/version-tool/VersionTool.output.schema.js +12 -0
- package/dist/esm/tools/version-tool/VersionTool.output.schema.js.map +1 -0
- package/dist/esm/utils/httpPipeline.d.ts +39 -0
- package/dist/esm/utils/httpPipeline.d.ts.map +1 -0
- package/dist/esm/utils/{fetchRequest.js → httpPipeline.js} +11 -11
- package/dist/esm/utils/httpPipeline.js.map +1 -0
- package/dist/esm/utils/tracing.d.ts +99 -0
- package/dist/esm/utils/tracing.d.ts.map +1 -0
- package/dist/esm/utils/tracing.js +269 -0
- package/dist/esm/utils/tracing.js.map +1 -0
- package/dist/esm/utils/types.d.ts +18 -0
- package/dist/esm/utils/types.d.ts.map +1 -0
- package/dist/esm/utils/types.js +4 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/esm/utils/versionUtils.js +1 -1
- package/dist/esm/utils/versionUtils.js.map +1 -1
- package/dist/esm/version.json +3 -3
- package/package.json +26 -7
- package/dist/commonjs/tools/MapboxApiBasedTool.schema.d.ts +0 -47
- package/dist/commonjs/tools/MapboxApiBasedTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/MapboxApiBasedTool.schema.js +0 -21
- package/dist/commonjs/tools/MapboxApiBasedTool.schema.js.map +0 -1
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.schema.js.map +0 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.schema.js.map +0 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.schema.js.map +0 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.schema.js.map +0 -1
- package/dist/commonjs/tools/matrix-tool/MatrixTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/matrix-tool/MatrixTool.schema.js.map +0 -1
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.js.map +0 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.js.map +0 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.schema.js.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.schema.js.map +0 -1
- package/dist/commonjs/utils/fetchRequest.d.ts +0 -38
- package/dist/commonjs/utils/fetchRequest.d.ts.map +0 -1
- package/dist/commonjs/utils/fetchRequest.js.map +0 -1
- package/dist/esm/tools/MapboxApiBasedTool.schema.d.ts +0 -47
- package/dist/esm/tools/MapboxApiBasedTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/MapboxApiBasedTool.schema.js +0 -18
- package/dist/esm/tools/MapboxApiBasedTool.schema.js.map +0 -1
- package/dist/esm/tools/category-list-tool/CategoryListTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/category-list-tool/CategoryListTool.schema.js.map +0 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.schema.js.map +0 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.schema.js.map +0 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.schema.js.map +0 -1
- package/dist/esm/tools/matrix-tool/MatrixTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/matrix-tool/MatrixTool.schema.js.map +0 -1
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.js.map +0 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.js.map +0 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.schema.js.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.schema.js.map +0 -1
- package/dist/esm/utils/fetchRequest.d.ts +0 -38
- package/dist/esm/utils/fetchRequest.d.ts.map +0 -1
- package/dist/esm/utils/fetchRequest.js.map +0 -1
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { URLSearchParams } from 'node:url';
|
|
4
4
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { MatrixInputSchema } from './MatrixTool.input.schema.js';
|
|
6
|
+
import { MatrixResponseSchema } from './MatrixTool.output.schema.js';
|
|
7
7
|
// API documentation: https://docs.mapbox.com/api/navigation/matrix/
|
|
8
8
|
export class MatrixTool extends MapboxApiBasedTool {
|
|
9
9
|
name = 'matrix_tool';
|
|
@@ -15,20 +15,38 @@ export class MatrixTool extends MapboxApiBasedTool {
|
|
|
15
15
|
idempotentHint: true,
|
|
16
16
|
openWorldHint: true
|
|
17
17
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
constructor(params) {
|
|
19
|
+
super({
|
|
20
|
+
inputSchema: MatrixInputSchema,
|
|
21
|
+
outputSchema: MatrixResponseSchema,
|
|
22
|
+
httpRequest: params.httpRequest
|
|
23
|
+
});
|
|
22
24
|
}
|
|
23
25
|
async execute(input, accessToken) {
|
|
24
26
|
// Validate input based on profile type
|
|
25
27
|
if (input.profile === 'driving-traffic' && input.coordinates.length > 10) {
|
|
26
|
-
|
|
28
|
+
return {
|
|
29
|
+
content: [
|
|
30
|
+
{
|
|
31
|
+
type: 'text',
|
|
32
|
+
text: 'The driving-traffic profile supports a maximum of 10 coordinate pairs.'
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
isError: true
|
|
36
|
+
};
|
|
27
37
|
}
|
|
28
38
|
// Validate approaches parameter if provided
|
|
29
39
|
if (input.approaches &&
|
|
30
40
|
input.approaches.split(';').length !== input.coordinates.length) {
|
|
31
|
-
|
|
41
|
+
return {
|
|
42
|
+
content: [
|
|
43
|
+
{
|
|
44
|
+
type: 'text',
|
|
45
|
+
text: 'When provided, the number of approaches (including empty/skipped) must match the number of coordinates.'
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
isError: true
|
|
49
|
+
};
|
|
32
50
|
}
|
|
33
51
|
// Validate that all approaches values are either "curb" or "unrestricted"
|
|
34
52
|
if (input.approaches &&
|
|
@@ -37,32 +55,73 @@ export class MatrixTool extends MapboxApiBasedTool {
|
|
|
37
55
|
.some((approach) => approach !== '' &&
|
|
38
56
|
approach !== 'curb' &&
|
|
39
57
|
approach !== 'unrestricted')) {
|
|
40
|
-
|
|
58
|
+
return {
|
|
59
|
+
content: [
|
|
60
|
+
{
|
|
61
|
+
type: 'text',
|
|
62
|
+
text: 'Approaches parameter contains invalid values. Each value must be either "curb" or "unrestricted".'
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
isError: true
|
|
66
|
+
};
|
|
41
67
|
}
|
|
42
68
|
// Validate bearings parameter if provided
|
|
43
69
|
if (input.bearings &&
|
|
44
70
|
input.bearings.split(';').length !== input.coordinates.length) {
|
|
45
|
-
|
|
71
|
+
return {
|
|
72
|
+
content: [
|
|
73
|
+
{
|
|
74
|
+
type: 'text',
|
|
75
|
+
text: 'When provided, the number of bearings (including empty/skipped) must match the number of coordinates.'
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
isError: true
|
|
79
|
+
};
|
|
46
80
|
}
|
|
47
81
|
// Additional validation for bearings values
|
|
48
82
|
if (input.bearings) {
|
|
49
83
|
const bearingsArr = input.bearings.split(';');
|
|
50
|
-
bearingsArr.
|
|
84
|
+
for (let idx = 0; idx < bearingsArr.length; idx++) {
|
|
85
|
+
const bearing = bearingsArr[idx];
|
|
51
86
|
if (bearing.trim() === '')
|
|
52
|
-
|
|
87
|
+
continue; // allow skipped
|
|
53
88
|
const parts = bearing.split(',');
|
|
54
89
|
if (parts.length !== 2) {
|
|
55
|
-
|
|
90
|
+
return {
|
|
91
|
+
content: [
|
|
92
|
+
{
|
|
93
|
+
type: 'text',
|
|
94
|
+
text: `Invalid bearings format at index ${idx}: '${bearing}'. Each bearing must be two comma-separated numbers (angle,degrees).`
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
isError: true
|
|
98
|
+
};
|
|
56
99
|
}
|
|
57
100
|
const angle = Number(parts[0]);
|
|
58
101
|
const degrees = Number(parts[1]);
|
|
59
102
|
if (isNaN(angle) || angle < 0 || angle > 360) {
|
|
60
|
-
|
|
103
|
+
return {
|
|
104
|
+
content: [
|
|
105
|
+
{
|
|
106
|
+
type: 'text',
|
|
107
|
+
text: `Invalid bearing angle at index ${idx}: '${parts[0]}'. Angle must be a number between 0 and 360.`
|
|
108
|
+
}
|
|
109
|
+
],
|
|
110
|
+
isError: true
|
|
111
|
+
};
|
|
61
112
|
}
|
|
62
113
|
if (isNaN(degrees) || degrees < 0 || degrees > 180) {
|
|
63
|
-
|
|
114
|
+
return {
|
|
115
|
+
content: [
|
|
116
|
+
{
|
|
117
|
+
type: 'text',
|
|
118
|
+
text: `Invalid bearing degrees at index ${idx}: '${parts[1]}'. Degrees must be a number between 0 and 180.`
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
isError: true
|
|
122
|
+
};
|
|
64
123
|
}
|
|
65
|
-
}
|
|
124
|
+
}
|
|
66
125
|
}
|
|
67
126
|
// Validate sources parameter if provided - ensure all indices are valid
|
|
68
127
|
if (input.sources &&
|
|
@@ -73,9 +132,17 @@ export class MatrixTool extends MapboxApiBasedTool {
|
|
|
73
132
|
parsedIndex < 0 ||
|
|
74
133
|
parsedIndex >= input.coordinates.length);
|
|
75
134
|
})) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
135
|
+
return {
|
|
136
|
+
content: [
|
|
137
|
+
{
|
|
138
|
+
type: 'text',
|
|
139
|
+
text: 'Sources parameter contains invalid indices. All indices must be between 0 and ' +
|
|
140
|
+
(input.coordinates.length - 1) +
|
|
141
|
+
'.'
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
isError: true
|
|
145
|
+
};
|
|
79
146
|
}
|
|
80
147
|
// Validate destinations parameter if provided - ensure all indices are valid
|
|
81
148
|
if (input.destinations &&
|
|
@@ -86,9 +153,17 @@ export class MatrixTool extends MapboxApiBasedTool {
|
|
|
86
153
|
parsedIndex < 0 ||
|
|
87
154
|
parsedIndex >= input.coordinates.length);
|
|
88
155
|
})) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
156
|
+
return {
|
|
157
|
+
content: [
|
|
158
|
+
{
|
|
159
|
+
type: 'text',
|
|
160
|
+
text: 'Destinations parameter contains invalid indices. All indices must be between 0 and ' +
|
|
161
|
+
(input.coordinates.length - 1) +
|
|
162
|
+
'.'
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
isError: true
|
|
166
|
+
};
|
|
92
167
|
}
|
|
93
168
|
// Validate that when specifying both sources and destinations, all coordinates are used
|
|
94
169
|
if (input.sources &&
|
|
@@ -105,7 +180,15 @@ export class MatrixTool extends MapboxApiBasedTool {
|
|
|
105
180
|
const usedIndices = new Set([...sourcesIndices, ...destinationsIndices]);
|
|
106
181
|
// Check if all coordinate indices are used
|
|
107
182
|
if (usedIndices.size < input.coordinates.length) {
|
|
108
|
-
|
|
183
|
+
return {
|
|
184
|
+
content: [
|
|
185
|
+
{
|
|
186
|
+
type: 'text',
|
|
187
|
+
text: 'When specifying both sources and destinations, all coordinates must be used as either a source or destination.'
|
|
188
|
+
}
|
|
189
|
+
],
|
|
190
|
+
isError: true
|
|
191
|
+
};
|
|
109
192
|
}
|
|
110
193
|
}
|
|
111
194
|
// Format coordinates for API request
|
|
@@ -138,13 +221,35 @@ export class MatrixTool extends MapboxApiBasedTool {
|
|
|
138
221
|
// Construct the URL for the Matrix API request
|
|
139
222
|
const url = `${MapboxApiBasedTool.mapboxApiEndpoint}directions-matrix/v1/mapbox/${input.profile}/${joined}?${queryParams.toString()}`;
|
|
140
223
|
// Make the request
|
|
141
|
-
const response = await this.
|
|
224
|
+
const response = await this.httpRequest(url);
|
|
142
225
|
if (!response.ok) {
|
|
143
|
-
|
|
226
|
+
return {
|
|
227
|
+
content: [
|
|
228
|
+
{
|
|
229
|
+
type: 'text',
|
|
230
|
+
text: `Request failed with status ${response.status}: ${response.statusText}`
|
|
231
|
+
}
|
|
232
|
+
],
|
|
233
|
+
isError: true
|
|
234
|
+
};
|
|
144
235
|
}
|
|
145
236
|
// Return the matrix data
|
|
146
237
|
const data = await response.json();
|
|
147
|
-
|
|
238
|
+
// Validate the response data against our schema
|
|
239
|
+
let validatedData;
|
|
240
|
+
try {
|
|
241
|
+
validatedData = MatrixResponseSchema.parse(data);
|
|
242
|
+
}
|
|
243
|
+
catch (error) {
|
|
244
|
+
// If validation fails, fall back to the original data
|
|
245
|
+
this.log('warning', `MatrixTool: Response validation failed: ${error}`);
|
|
246
|
+
validatedData = data;
|
|
247
|
+
}
|
|
248
|
+
return {
|
|
249
|
+
content: [{ type: 'text', text: JSON.stringify(validatedData, null, 2) }],
|
|
250
|
+
structuredContent: validatedData,
|
|
251
|
+
isError: false
|
|
252
|
+
};
|
|
148
253
|
}
|
|
149
254
|
}
|
|
150
255
|
//# sourceMappingURL=MatrixTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatrixTool.js","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAGlC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"MatrixTool.js","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
declare const MatrixWaypointSchema: z.ZodObject<{
|
|
3
|
+
name: z.ZodString;
|
|
4
|
+
location: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
|
|
5
|
+
distance: z.ZodNumber;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
name: string;
|
|
8
|
+
distance: number;
|
|
9
|
+
location: [number, number];
|
|
10
|
+
}, {
|
|
11
|
+
name: string;
|
|
12
|
+
distance: number;
|
|
13
|
+
location: [number, number];
|
|
14
|
+
}>;
|
|
15
|
+
export declare const MatrixResponseSchema: z.ZodObject<{
|
|
16
|
+
code: z.ZodString;
|
|
17
|
+
durations: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodNumber>, "many">, "many">>;
|
|
18
|
+
distances: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodNumber>, "many">, "many">>;
|
|
19
|
+
sources: z.ZodArray<z.ZodObject<{
|
|
20
|
+
name: z.ZodString;
|
|
21
|
+
location: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
|
|
22
|
+
distance: z.ZodNumber;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
name: string;
|
|
25
|
+
distance: number;
|
|
26
|
+
location: [number, number];
|
|
27
|
+
}, {
|
|
28
|
+
name: string;
|
|
29
|
+
distance: number;
|
|
30
|
+
location: [number, number];
|
|
31
|
+
}>, "many">;
|
|
32
|
+
destinations: z.ZodArray<z.ZodObject<{
|
|
33
|
+
name: z.ZodString;
|
|
34
|
+
location: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
|
|
35
|
+
distance: z.ZodNumber;
|
|
36
|
+
}, "strip", z.ZodTypeAny, {
|
|
37
|
+
name: string;
|
|
38
|
+
distance: number;
|
|
39
|
+
location: [number, number];
|
|
40
|
+
}, {
|
|
41
|
+
name: string;
|
|
42
|
+
distance: number;
|
|
43
|
+
location: [number, number];
|
|
44
|
+
}>, "many">;
|
|
45
|
+
message: z.ZodOptional<z.ZodString>;
|
|
46
|
+
}, "strip", z.ZodTypeAny, {
|
|
47
|
+
code: string;
|
|
48
|
+
destinations: {
|
|
49
|
+
name: string;
|
|
50
|
+
distance: number;
|
|
51
|
+
location: [number, number];
|
|
52
|
+
}[];
|
|
53
|
+
sources: {
|
|
54
|
+
name: string;
|
|
55
|
+
distance: number;
|
|
56
|
+
location: [number, number];
|
|
57
|
+
}[];
|
|
58
|
+
message?: string | undefined;
|
|
59
|
+
durations?: (number | null)[][] | undefined;
|
|
60
|
+
distances?: (number | null)[][] | undefined;
|
|
61
|
+
}, {
|
|
62
|
+
code: string;
|
|
63
|
+
destinations: {
|
|
64
|
+
name: string;
|
|
65
|
+
distance: number;
|
|
66
|
+
location: [number, number];
|
|
67
|
+
}[];
|
|
68
|
+
sources: {
|
|
69
|
+
name: string;
|
|
70
|
+
distance: number;
|
|
71
|
+
location: [number, number];
|
|
72
|
+
}[];
|
|
73
|
+
message?: string | undefined;
|
|
74
|
+
durations?: (number | null)[][] | undefined;
|
|
75
|
+
distances?: (number | null)[][] | undefined;
|
|
76
|
+
}>;
|
|
77
|
+
export type MatrixResponse = z.infer<typeof MatrixResponseSchema>;
|
|
78
|
+
export type MatrixWaypoint = z.infer<typeof MatrixWaypointSchema>;
|
|
79
|
+
export {};
|
|
80
|
+
//# sourceMappingURL=MatrixTool.output.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MatrixTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,oBAAoB;;;;;;;;;;;;EAIxB,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Copyright (c) Mapbox, Inc.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
// Waypoint object schema (used for both sources and destinations)
|
|
5
|
+
const MatrixWaypointSchema = z.object({
|
|
6
|
+
name: z.string(),
|
|
7
|
+
location: z.tuple([z.number(), z.number()]),
|
|
8
|
+
distance: z.number()
|
|
9
|
+
});
|
|
10
|
+
// Main Matrix API response schema
|
|
11
|
+
export const MatrixResponseSchema = z.object({
|
|
12
|
+
code: z.string(),
|
|
13
|
+
durations: z.array(z.array(z.number().nullable())).optional(),
|
|
14
|
+
distances: z.array(z.array(z.number().nullable())).optional(),
|
|
15
|
+
sources: z.array(MatrixWaypointSchema),
|
|
16
|
+
destinations: z.array(MatrixWaypointSchema),
|
|
17
|
+
message: z.string().optional() // Present in error responses
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=MatrixTool.output.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MatrixTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.output.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kEAAkE;AAClE,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH,kCAAkC;AAClC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7D,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7D,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IACtC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,6BAA6B;CAC7D,CAAC,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
2
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
import type { HttpRequest } from '../../utils/types.js';
|
|
5
|
+
import { ReverseGeocodeInputSchema } from './ReverseGeocodeTool.input.schema.js';
|
|
6
|
+
import { GeocodingResponseSchema } from './ReverseGeocodeTool.output.schema.js';
|
|
7
|
+
export declare class ReverseGeocodeTool extends MapboxApiBasedTool<typeof ReverseGeocodeInputSchema, typeof GeocodingResponseSchema> {
|
|
6
8
|
name: string;
|
|
7
9
|
description: string;
|
|
8
10
|
annotations: {
|
|
@@ -12,11 +14,10 @@ export declare class ReverseGeocodeTool extends MapboxApiBasedTool<typeof Revers
|
|
|
12
14
|
idempotentHint: boolean;
|
|
13
15
|
openWorldHint: boolean;
|
|
14
16
|
};
|
|
15
|
-
constructor(
|
|
17
|
+
constructor(params: {
|
|
18
|
+
httpRequest: HttpRequest;
|
|
19
|
+
});
|
|
16
20
|
private formatGeoJsonToText;
|
|
17
|
-
protected execute(input: z.infer<typeof ReverseGeocodeInputSchema>, accessToken: string): Promise<
|
|
18
|
-
type: 'text';
|
|
19
|
-
text: string;
|
|
20
|
-
}>;
|
|
21
|
+
protected execute(input: z.infer<typeof ReverseGeocodeInputSchema>, accessToken: string): Promise<CallToolResult>;
|
|
21
22
|
}
|
|
22
23
|
//# sourceMappingURL=ReverseGeocodeTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReverseGeocodeTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ReverseGeocodeTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAQhF,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,EAChC,OAAO,uBAAuB,CAC/B;IACC,IAAI,SAA0B;IAC9B,WAAW,SAC2b;IACtc,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAQhD,OAAO,CAAC,mBAAmB;cAiDX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CAgG3B"}
|
|
@@ -15,7 +15,7 @@ export declare const ReverseGeocodeInputSchema: z.ZodObject<{
|
|
|
15
15
|
limit: number;
|
|
16
16
|
format: "json_string" | "formatted_text";
|
|
17
17
|
permanent: boolean;
|
|
18
|
-
worldview: "
|
|
18
|
+
worldview: "in" | "us" | "cn" | "jp";
|
|
19
19
|
language?: string | undefined;
|
|
20
20
|
country?: string[] | undefined;
|
|
21
21
|
types?: ("country" | "region" | "postcode" | "district" | "place" | "locality" | "neighborhood" | "address")[] | undefined;
|
|
@@ -28,6 +28,6 @@ export declare const ReverseGeocodeInputSchema: z.ZodObject<{
|
|
|
28
28
|
format?: "json_string" | "formatted_text" | undefined;
|
|
29
29
|
permanent?: boolean | undefined;
|
|
30
30
|
types?: ("country" | "region" | "postcode" | "district" | "place" | "locality" | "neighborhood" | "address")[] | undefined;
|
|
31
|
-
worldview?: "
|
|
31
|
+
worldview?: "in" | "us" | "cn" | "jp" | undefined;
|
|
32
32
|
}>;
|
|
33
|
-
//# sourceMappingURL=ReverseGeocodeTool.schema.d.ts.map
|
|
33
|
+
//# sourceMappingURL=ReverseGeocodeTool.input.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReverseGeocodeTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDpC,CAAC"}
|
|
@@ -43,4 +43,4 @@ export const ReverseGeocodeInputSchema = z.object({
|
|
|
43
43
|
.default('formatted_text')
|
|
44
44
|
.describe('Output format: "json_string" returns raw GeoJSON data as a JSON string that can be parsed; "formatted_text" returns human-readable text with place names, addresses, and coordinates. Both return as text content but json_string contains parseable JSON data while formatted_text is for display.')
|
|
45
45
|
});
|
|
46
|
-
//# sourceMappingURL=ReverseGeocodeTool.schema.js.map
|
|
46
|
+
//# sourceMappingURL=ReverseGeocodeTool.input.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReverseGeocodeTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,SAAS,EAAE,eAAe,CAAC,QAAQ,CACjC,yCAAyC,CAC1C;IACD,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC3E,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,2CAA2C,CAAC;IACxD,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CACP,oJAAoJ,CACrJ;IACH,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC;QACL,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,OAAO;QACP,UAAU;QACV,cAAc;QACd,SAAS;KACV,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,SAAS,EAAE,CAAC;SACT,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9B,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,uDAAuD,CAAC;IACpE,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;SACvC,QAAQ,EAAE;SACV,OAAO,CAAC,gBAAgB,CAAC;SACzB,QAAQ,CACP,qSAAqS,CACtS;CACJ,CAAC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// Copyright (c) Mapbox, Inc.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { ReverseGeocodeInputSchema } from './ReverseGeocodeTool.input.schema.js';
|
|
5
|
+
import { GeocodingResponseSchema } from './ReverseGeocodeTool.output.schema.js';
|
|
6
|
+
// API Docs https://docs.mapbox.com/api/search/geocoding/
|
|
6
7
|
export class ReverseGeocodeTool extends MapboxApiBasedTool {
|
|
7
|
-
fetch;
|
|
8
8
|
name = 'reverse_geocode_tool';
|
|
9
9
|
description = 'Find addresses, cities, towns, neighborhoods, postcodes, districts, regions, and countries around a specified geographic coordinate pair. Converts geographic coordinates (longitude, latitude) into human-readable addresses or place names. Use limit=1 for best results. This tool cannot reverse geocode businesses, landmarks, historic sites, and other points of interest that are not of the types mentioned. Supports both JSON and text output formats.';
|
|
10
10
|
annotations = {
|
|
@@ -14,9 +14,12 @@ export class ReverseGeocodeTool extends MapboxApiBasedTool {
|
|
|
14
14
|
idempotentHint: true,
|
|
15
15
|
openWorldHint: true
|
|
16
16
|
};
|
|
17
|
-
constructor(
|
|
18
|
-
super({
|
|
19
|
-
|
|
17
|
+
constructor(params) {
|
|
18
|
+
super({
|
|
19
|
+
inputSchema: ReverseGeocodeInputSchema,
|
|
20
|
+
outputSchema: GeocodingResponseSchema,
|
|
21
|
+
httpRequest: params.httpRequest
|
|
22
|
+
});
|
|
20
23
|
}
|
|
21
24
|
formatGeoJsonToText(geoJsonResponse) {
|
|
22
25
|
if (!geoJsonResponse ||
|
|
@@ -26,7 +29,7 @@ export class ReverseGeocodeTool extends MapboxApiBasedTool {
|
|
|
26
29
|
}
|
|
27
30
|
const results = geoJsonResponse.features.map((feature, index) => {
|
|
28
31
|
const props = feature.properties || {};
|
|
29
|
-
const geom = feature.geometry
|
|
32
|
+
const geom = feature.geometry;
|
|
30
33
|
let result = `${index + 1}. `;
|
|
31
34
|
// Place name
|
|
32
35
|
result += `${props.name}`;
|
|
@@ -41,7 +44,7 @@ export class ReverseGeocodeTool extends MapboxApiBasedTool {
|
|
|
41
44
|
result += `\n Address: ${props.place_formatted}`;
|
|
42
45
|
}
|
|
43
46
|
// Geographic coordinates
|
|
44
|
-
if (geom.
|
|
47
|
+
if (geom && geom.type === 'Point' && geom.coordinates) {
|
|
45
48
|
const [lng, lat] = geom.coordinates;
|
|
46
49
|
result += `\n Coordinates: ${lat}, ${lng}`;
|
|
47
50
|
}
|
|
@@ -58,7 +61,15 @@ export class ReverseGeocodeTool extends MapboxApiBasedTool {
|
|
|
58
61
|
if (input.limit &&
|
|
59
62
|
input.limit > 1 &&
|
|
60
63
|
(!input.types || input.types.length !== 1)) {
|
|
61
|
-
|
|
64
|
+
return {
|
|
65
|
+
content: [
|
|
66
|
+
{
|
|
67
|
+
type: 'text',
|
|
68
|
+
text: 'When limit > 1 for reverse geocoding, you must specify exactly one type in the types parameter (e.g., types: ["address"]). Consider using limit: 1 instead for best results.'
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
isError: true
|
|
72
|
+
};
|
|
62
73
|
}
|
|
63
74
|
const url = new URL(`${MapboxApiBasedTool.mapboxApiEndpoint}search/geocode/v6/reverse`);
|
|
64
75
|
// Required parameters
|
|
@@ -78,20 +89,50 @@ export class ReverseGeocodeTool extends MapboxApiBasedTool {
|
|
|
78
89
|
if (input.types && input.types.length > 0) {
|
|
79
90
|
url.searchParams.append('types', input.types.join(','));
|
|
80
91
|
}
|
|
81
|
-
const response = await this.
|
|
92
|
+
const response = await this.httpRequest(url.toString());
|
|
82
93
|
if (!response.ok) {
|
|
83
|
-
|
|
94
|
+
return {
|
|
95
|
+
content: [
|
|
96
|
+
{
|
|
97
|
+
type: 'text',
|
|
98
|
+
text: `Failed to reverse geocode: ${response.status} ${response.statusText}`
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
isError: true
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
const rawData = await response.json();
|
|
105
|
+
// Validate response against schema with graceful fallback
|
|
106
|
+
let data;
|
|
107
|
+
try {
|
|
108
|
+
data = GeocodingResponseSchema.parse(rawData);
|
|
109
|
+
}
|
|
110
|
+
catch (validationError) {
|
|
111
|
+
this.log('warning', `Schema validation failed for reverse geocoding response: ${validationError instanceof Error ? validationError.message : 'Unknown validation error'}`);
|
|
112
|
+
// Graceful fallback to raw data
|
|
113
|
+
data = rawData;
|
|
84
114
|
}
|
|
85
|
-
const data = (await response.json());
|
|
86
115
|
// Check if the response has features
|
|
87
116
|
if (!data || !data.features || data.features.length === 0) {
|
|
88
|
-
return {
|
|
117
|
+
return {
|
|
118
|
+
content: [{ type: 'text', text: 'No results found.' }],
|
|
119
|
+
structuredContent: data,
|
|
120
|
+
isError: false
|
|
121
|
+
};
|
|
89
122
|
}
|
|
90
123
|
if (input.format === 'json_string') {
|
|
91
|
-
return {
|
|
124
|
+
return {
|
|
125
|
+
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
126
|
+
structuredContent: data,
|
|
127
|
+
isError: false
|
|
128
|
+
};
|
|
92
129
|
}
|
|
93
130
|
else {
|
|
94
|
-
return {
|
|
131
|
+
return {
|
|
132
|
+
content: [{ type: 'text', text: this.formatGeoJsonToText(data) }],
|
|
133
|
+
structuredContent: data,
|
|
134
|
+
isError: false
|
|
135
|
+
};
|
|
95
136
|
}
|
|
96
137
|
}
|
|
97
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReverseGeocodeTool.js","sourceRoot":"","sources":["../../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAGlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ReverseGeocodeTool.js","sourceRoot":"","sources":["../../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.ts"],"names":[],"mappings":"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"}
|