@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
package/README.md
CHANGED
|
@@ -192,6 +192,42 @@ npx plop create-tool
|
|
|
192
192
|
# provide tool name without suffix (e.g. Search)
|
|
193
193
|
```
|
|
194
194
|
|
|
195
|
+
## OpenTelemetry Tracing
|
|
196
|
+
|
|
197
|
+
This MCP server includes comprehensive OpenTelemetry tracing for production observability:
|
|
198
|
+
|
|
199
|
+
### Quick Demo
|
|
200
|
+
|
|
201
|
+
```sh
|
|
202
|
+
# Run tracing demo with console output
|
|
203
|
+
npm run demo:tracing
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Testing with Tracing
|
|
207
|
+
|
|
208
|
+
```sh
|
|
209
|
+
# Run tests with tracing enabled
|
|
210
|
+
npm run test:tracing
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Production Configuration
|
|
214
|
+
|
|
215
|
+
See [docs/tracing.md](./docs/tracing.md) for complete setup instructions including:
|
|
216
|
+
|
|
217
|
+
- 🔧 Environment variable configuration
|
|
218
|
+
- 📊 Supported backends (Jaeger, AWS X-Ray, Google Cloud, etc.)
|
|
219
|
+
- 🎯 Custom trace attributes and context
|
|
220
|
+
- 🚀 Performance optimization (minimal overhead)
|
|
221
|
+
- 🔍 Troubleshooting and debugging
|
|
222
|
+
|
|
223
|
+
**Tracing Features:**
|
|
224
|
+
|
|
225
|
+
- ✅ Automatic tool execution tracing
|
|
226
|
+
- ✅ HTTP request instrumentation
|
|
227
|
+
- ✅ Configurable exporters (console, OTLP)
|
|
228
|
+
- ✅ Security-conscious (data protection, JWT validation)
|
|
229
|
+
- ✅ Production-ready (<1% CPU overhead)
|
|
230
|
+
|
|
195
231
|
## Contributing
|
|
196
232
|
|
|
197
233
|
We welcome contributions to the Mapbox MCP Server! Please review our standards and guidelines before contributing:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,eAAe,CAAC"}
|
package/dist/commonjs/index.js
CHANGED
|
@@ -8,6 +8,7 @@ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
|
8
8
|
const toolConfig_js_1 = require("./config/toolConfig.js");
|
|
9
9
|
const toolRegistry_js_1 = require("./tools/toolRegistry.js");
|
|
10
10
|
const versionUtils_js_1 = require("./utils/versionUtils.js");
|
|
11
|
+
const tracing_js_1 = require("./utils/tracing.js");
|
|
11
12
|
require("dotenv/config");
|
|
12
13
|
const versionInfo = (0, versionUtils_js_1.getVersionInfo)();
|
|
13
14
|
// Parse configuration from command-line arguments
|
|
@@ -28,13 +29,54 @@ const server = new mcp_js_1.McpServer({
|
|
|
28
29
|
enabledTools.forEach((tool) => {
|
|
29
30
|
tool.installTo(server);
|
|
30
31
|
});
|
|
32
|
+
// MCP-compatible logging functions
|
|
33
|
+
// Completely suppress logging when MCP_DISABLE_LOGGING is set (for MCP inspector compatibility)
|
|
34
|
+
function logIfEnabled(level, ...args) {
|
|
35
|
+
if (!process.env.MCP_DISABLE_LOGGING) {
|
|
36
|
+
console[level](...args);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
31
39
|
async function main() {
|
|
40
|
+
// Initialize OpenTelemetry tracing if not in test mode
|
|
41
|
+
if (process.env.NODE_ENV !== 'test' && !process.env.VITEST) {
|
|
42
|
+
try {
|
|
43
|
+
await (0, tracing_js_1.initializeTracing)();
|
|
44
|
+
logIfEnabled('log', `OpenTelemetry tracing: ${(0, tracing_js_1.isTracingInitialized)() ? 'enabled' : 'disabled'}`);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
logIfEnabled('warn', 'Failed to initialize tracing:', error);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
32
50
|
// Start receiving messages on stdin and sending messages on stdout
|
|
33
51
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
34
52
|
await server.connect(transport);
|
|
35
53
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
54
|
+
// Ensure cleanup interval is cleared when the process exits
|
|
55
|
+
async function shutdown() {
|
|
56
|
+
// Shutdown tracing
|
|
57
|
+
try {
|
|
58
|
+
await (0, tracing_js_1.shutdownTracing)();
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
logIfEnabled('error', 'Error shutting down tracing:', e);
|
|
62
|
+
}
|
|
63
|
+
process.exit(0);
|
|
64
|
+
}
|
|
65
|
+
function exitWithLog(message, error, code = 1) {
|
|
66
|
+
logIfEnabled('error', message, error);
|
|
67
|
+
process.exit(code);
|
|
68
|
+
}
|
|
69
|
+
['SIGINT', 'SIGTERM'].forEach((signal) => {
|
|
70
|
+
process.on(signal, async () => {
|
|
71
|
+
try {
|
|
72
|
+
await shutdown();
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
process.exit(0);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
39
78
|
});
|
|
79
|
+
process.on('uncaughtException', (err) => exitWithLog('Uncaught exception:', err));
|
|
80
|
+
process.on('unhandledRejection', (reason) => exitWithLog('Unhandled rejection:', reason));
|
|
81
|
+
main().catch((error) => exitWithLog('Fatal error starting MCP server:', error));
|
|
40
82
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;AAElC,oEAAoE;AACpE,wEAAiF;AACjF,0DAA8E;AAC9E,6DAAsD;AACtD,6DAAyD;AACzD,yBAAuB;AAEvB,MAAM,WAAW,GAAG,IAAA,gCAAc,GAAE,CAAC;AAErC,kDAAkD;AAClD,MAAM,MAAM,GAAG,IAAA,uCAAuB,GAAE,CAAC;AAEzC,8CAA8C;AAC9C,MAAM,QAAQ,GAAG,IAAA,6BAAW,GAAE,CAAC;AAC/B,MAAM,YAAY,GAAG,IAAA,2BAAW,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEnD,uBAAuB;AACvB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAC1B;IACE,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,OAAO,EAAE,WAAW,CAAC,OAAO;CAC7B,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,uCAAuC;AACvC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;IAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,mEAAmE;IACnE,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GeoJSON interfaces based on RFC 7946
|
|
3
|
+
* https://tools.ietf.org/html/rfc7946
|
|
4
|
+
*/
|
|
5
|
+
export type GeoJSONGeometryType = 'Point' | 'LineString' | 'Polygon' | 'MultiPoint' | 'MultiLineString' | 'MultiPolygon' | 'GeometryCollection';
|
|
6
|
+
export type GeoJSONFeatureType = 'Feature';
|
|
7
|
+
export type GeoJSONFeatureCollectionType = 'FeatureCollection';
|
|
8
|
+
export type GeoJSONType = GeoJSONGeometryType | GeoJSONFeatureType | GeoJSONFeatureCollectionType;
|
|
9
|
+
/**
|
|
10
|
+
* Position array [longitude, latitude] or [longitude, latitude, elevation]
|
|
11
|
+
*/
|
|
12
|
+
export type Position = [number, number] | [number, number, number];
|
|
13
|
+
/**
|
|
14
|
+
* Base interface for all GeoJSON objects
|
|
15
|
+
*/
|
|
16
|
+
export interface GeoJSONBase {
|
|
17
|
+
type: GeoJSONType;
|
|
18
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Point geometry
|
|
22
|
+
*/
|
|
23
|
+
export interface Point extends GeoJSONBase {
|
|
24
|
+
type: 'Point';
|
|
25
|
+
coordinates: Position;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* LineString geometry
|
|
29
|
+
*/
|
|
30
|
+
export interface LineString extends GeoJSONBase {
|
|
31
|
+
type: 'LineString';
|
|
32
|
+
coordinates: Position[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Polygon geometry
|
|
36
|
+
*/
|
|
37
|
+
export interface Polygon extends GeoJSONBase {
|
|
38
|
+
type: 'Polygon';
|
|
39
|
+
coordinates: Position[][];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* MultiPoint geometry
|
|
43
|
+
*/
|
|
44
|
+
export interface MultiPoint extends GeoJSONBase {
|
|
45
|
+
type: 'MultiPoint';
|
|
46
|
+
coordinates: Position[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* MultiLineString geometry
|
|
50
|
+
*/
|
|
51
|
+
export interface MultiLineString extends GeoJSONBase {
|
|
52
|
+
type: 'MultiLineString';
|
|
53
|
+
coordinates: Position[][];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* MultiPolygon geometry
|
|
57
|
+
*/
|
|
58
|
+
export interface MultiPolygon extends GeoJSONBase {
|
|
59
|
+
type: 'MultiPolygon';
|
|
60
|
+
coordinates: Position[][][];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* GeometryCollection
|
|
64
|
+
*/
|
|
65
|
+
export interface GeometryCollection extends GeoJSONBase {
|
|
66
|
+
type: 'GeometryCollection';
|
|
67
|
+
geometries: Geometry[];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Union of all geometry types
|
|
71
|
+
*/
|
|
72
|
+
export type Geometry = Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon | GeometryCollection;
|
|
73
|
+
/**
|
|
74
|
+
* GeoJSON Feature with properties
|
|
75
|
+
*/
|
|
76
|
+
export interface Feature<P = Record<string, unknown>, G extends Geometry = Geometry> extends GeoJSONBase {
|
|
77
|
+
type: 'Feature';
|
|
78
|
+
geometry: G | null;
|
|
79
|
+
properties: P | null;
|
|
80
|
+
id?: string | number;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* GeoJSON FeatureCollection
|
|
84
|
+
*/
|
|
85
|
+
export interface FeatureCollection<P = Record<string, unknown>, G extends Geometry = Geometry> extends GeoJSONBase {
|
|
86
|
+
type: 'FeatureCollection';
|
|
87
|
+
features: Feature<P, G>[];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Union of all GeoJSON objects
|
|
91
|
+
*/
|
|
92
|
+
export type GeoJSON = Geometry | Feature | FeatureCollection;
|
|
93
|
+
/**
|
|
94
|
+
* Mapbox-specific properties commonly found in Mapbox API responses
|
|
95
|
+
*/
|
|
96
|
+
export interface MapboxFeatureProperties extends Record<string, unknown> {
|
|
97
|
+
name?: string;
|
|
98
|
+
name_preferred?: string;
|
|
99
|
+
full_address?: string;
|
|
100
|
+
place_formatted?: string;
|
|
101
|
+
feature_type?: string;
|
|
102
|
+
poi_category?: string | string[];
|
|
103
|
+
category?: string;
|
|
104
|
+
mapbox_id?: string;
|
|
105
|
+
address?: string;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Mapbox Feature with common properties
|
|
109
|
+
*/
|
|
110
|
+
export type MapboxFeature = Feature<MapboxFeatureProperties>;
|
|
111
|
+
/**
|
|
112
|
+
* Mapbox FeatureCollection with common properties
|
|
113
|
+
*/
|
|
114
|
+
export type MapboxFeatureCollection = FeatureCollection<MapboxFeatureProperties>;
|
|
115
|
+
//# sourceMappingURL=geojson.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geojson.d.ts","sourceRoot":"","sources":["../../../src/schemas/geojson.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geojson.js","sourceRoot":"","sources":["../../../src/schemas/geojson.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import type { ToolAnnotations, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
|
|
3
4
|
import type { ZodTypeAny } from 'zod';
|
|
4
|
-
export declare abstract class BaseTool<InputSchema extends ZodTypeAny> {
|
|
5
|
+
export declare abstract class BaseTool<InputSchema extends ZodTypeAny, OutputSchema extends ZodTypeAny = ZodTypeAny> {
|
|
5
6
|
abstract readonly name: string;
|
|
6
7
|
abstract readonly description: string;
|
|
7
8
|
abstract readonly annotations: ToolAnnotations;
|
|
8
9
|
readonly inputSchema: InputSchema;
|
|
10
|
+
readonly outputSchema?: OutputSchema;
|
|
9
11
|
protected server: McpServer | null;
|
|
10
12
|
constructor(params: {
|
|
11
13
|
inputSchema: InputSchema;
|
|
14
|
+
outputSchema?: OutputSchema;
|
|
12
15
|
});
|
|
13
16
|
/**
|
|
14
17
|
* Installs the tool to the given MCP server.
|
|
@@ -17,7 +20,7 @@ export declare abstract class BaseTool<InputSchema extends ZodTypeAny> {
|
|
|
17
20
|
/**
|
|
18
21
|
* Tool logic to be implemented by subclasses.
|
|
19
22
|
*/
|
|
20
|
-
abstract run(rawInput: unknown, extra?: any): Promise<CallToolResult>;
|
|
23
|
+
abstract run(rawInput: unknown, extra?: RequestHandlerExtra<any, any>): Promise<CallToolResult>;
|
|
21
24
|
/**
|
|
22
25
|
* Helper method to send logging messages
|
|
23
26
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTool.d.ts","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,8BAAsB,QAAQ,
|
|
1
|
+
{"version":3,"file":"BaseTool.d.ts","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,8BAAsB,QAAQ,CAC5B,WAAW,SAAS,UAAU,EAC9B,YAAY,SAAS,UAAU,GAAG,UAAU;IAE5C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAE/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAE9B,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;IAKD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IA+B5C;;OAEG;IACH,QAAQ,CAAC,GAAG,CACV,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,OAAO,GACZ,IAAI;CAKR"}
|
|
@@ -5,21 +5,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
5
5
|
exports.BaseTool = void 0;
|
|
6
6
|
class BaseTool {
|
|
7
7
|
inputSchema;
|
|
8
|
+
outputSchema;
|
|
8
9
|
server = null;
|
|
9
10
|
constructor(params) {
|
|
10
11
|
this.inputSchema = params.inputSchema;
|
|
12
|
+
this.outputSchema = params.outputSchema;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* Installs the tool to the given MCP server.
|
|
14
16
|
*/
|
|
15
17
|
installTo(server) {
|
|
16
18
|
this.server = server;
|
|
17
|
-
|
|
19
|
+
const config = {
|
|
18
20
|
title: this.annotations.title,
|
|
19
21
|
description: this.description,
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
20
23
|
inputSchema: this.inputSchema.shape,
|
|
21
24
|
annotations: this.annotations
|
|
22
|
-
}
|
|
25
|
+
};
|
|
26
|
+
// Add outputSchema if provided
|
|
27
|
+
if (this.outputSchema) {
|
|
28
|
+
config.outputSchema =
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
30
|
+
this.outputSchema.shape;
|
|
31
|
+
}
|
|
32
|
+
return server.registerTool(this.name, config, (args, extra) => this.run(args, extra));
|
|
23
33
|
}
|
|
24
34
|
/**
|
|
25
35
|
* Helper method to send logging messages
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTool.js","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;
|
|
1
|
+
{"version":3,"file":"BaseTool.js","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAclC,MAAsB,QAAQ;IAQnB,WAAW,CAAc;IACzB,YAAY,CAAgB;IAC3B,MAAM,GAAqB,IAAI,CAAC;IAE1C,YAAY,MAGX;QACC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,MAAM,GAQR;YACF,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,8DAA8D;YAC9D,WAAW,EAAG,IAAI,CAAC,WAA2C,CAAC,KAAK;YACpE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;QAEF,+BAA+B;QAC/B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,YAAY;gBACjB,8DAA8D;gBAC7D,IAAI,CAAC,YAA4C,CAAC,KAAK,CAAC;QAC7D,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CACtB,CAAC;IACJ,CAAC;IAWD;;OAEG;IACO,GAAG,CACX,KAA6C,EAC7C,IAAa;QAEb,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF;AA1ED,4BA0EC"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
|
|
2
|
-
import type { ZodTypeAny
|
|
2
|
+
import type { ZodTypeAny } from 'zod';
|
|
3
3
|
import { BaseTool } from './BaseTool.js';
|
|
4
|
-
import type {
|
|
5
|
-
|
|
4
|
+
import type { CallToolResult, ToolAnnotations } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
+
import type { HttpRequest } from '../utils/types.js';
|
|
6
|
+
import type { ToolExecutionContext } from '../utils/tracing.js';
|
|
7
|
+
export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny, OutputSchema extends ZodTypeAny = ZodTypeAny> extends BaseTool<InputSchema, OutputSchema> {
|
|
6
8
|
abstract readonly name: string;
|
|
7
9
|
abstract readonly description: string;
|
|
8
|
-
abstract readonly annotations:
|
|
10
|
+
abstract readonly annotations: ToolAnnotations;
|
|
9
11
|
static get mapboxAccessToken(): string | undefined;
|
|
10
12
|
static get mapboxApiEndpoint(): string;
|
|
13
|
+
protected httpRequest: HttpRequest;
|
|
11
14
|
constructor(params: {
|
|
12
15
|
inputSchema: InputSchema;
|
|
16
|
+
outputSchema?: OutputSchema;
|
|
17
|
+
httpRequest: HttpRequest;
|
|
13
18
|
});
|
|
14
19
|
/**
|
|
15
20
|
* Validates if a string has the format of a JWT token (header.payload.signature)
|
|
@@ -21,10 +26,10 @@ export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny>
|
|
|
21
26
|
/**
|
|
22
27
|
* Validates and runs the tool logic.
|
|
23
28
|
*/
|
|
24
|
-
run(rawInput: unknown, extra?: RequestHandlerExtra<any, any>): Promise<
|
|
29
|
+
run(rawInput: unknown, extra?: RequestHandlerExtra<any, any>): Promise<CallToolResult>;
|
|
25
30
|
/**
|
|
26
|
-
* Tool logic to be implemented by subclasses.
|
|
31
|
+
* Tool-specific logic to be implemented by subclasses.
|
|
27
32
|
*/
|
|
28
|
-
protected abstract execute(
|
|
33
|
+
protected abstract execute(input: any, accessToken: string, context: ToolExecutionContext): Promise<CallToolResult>;
|
|
29
34
|
}
|
|
30
35
|
//# sourceMappingURL=MapboxApiBasedTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapboxApiBasedTool.d.ts","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MapboxApiBasedTool.d.ts","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,8BAAsB,kBAAkB,CACtC,WAAW,SAAS,UAAU,EAC9B,YAAY,SAAS,UAAU,GAAG,UAAU,CAC5C,SAAQ,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAE/C,MAAM,KAAK,iBAAiB,uBAE3B;IAED,MAAM,KAAK,iBAAiB,WAE3B;IAED,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;gBAEvB,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,WAAW,EAAE,WAAW,CAAC;KAC1B;IAKD;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACG,GAAG,CACP,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IA6F1B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAExB,KAAK,EAAE,GAAG,EACV,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC;CAC3B"}
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.MapboxApiBasedTool = void 0;
|
|
6
6
|
const BaseTool_js_1 = require("./BaseTool.js");
|
|
7
|
+
const api_1 = require("@opentelemetry/api");
|
|
8
|
+
const tracing_js_1 = require("../utils/tracing.js");
|
|
7
9
|
class MapboxApiBasedTool extends BaseTool_js_1.BaseTool {
|
|
8
10
|
static get mapboxAccessToken() {
|
|
9
11
|
return process.env.MAPBOX_ACCESS_TOKEN;
|
|
@@ -11,8 +13,10 @@ class MapboxApiBasedTool extends BaseTool_js_1.BaseTool {
|
|
|
11
13
|
static get mapboxApiEndpoint() {
|
|
12
14
|
return process.env.MAPBOX_API_ENDPOINT || 'https://api.mapbox.com/';
|
|
13
15
|
}
|
|
16
|
+
httpRequest;
|
|
14
17
|
constructor(params) {
|
|
15
18
|
super(params);
|
|
19
|
+
this.httpRequest = params.httpRequest;
|
|
16
20
|
}
|
|
17
21
|
/**
|
|
18
22
|
* Validates if a string has the format of a JWT token (header.payload.signature)
|
|
@@ -31,46 +35,70 @@ class MapboxApiBasedTool extends BaseTool_js_1.BaseTool {
|
|
|
31
35
|
/**
|
|
32
36
|
* Validates and runs the tool logic.
|
|
33
37
|
*/
|
|
34
|
-
async run(rawInput,
|
|
38
|
+
async run(rawInput,
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
40
|
+
extra) {
|
|
41
|
+
// First check if token is provided via authentication context
|
|
42
|
+
// Check both standard token field and accessToken in extra for compatibility
|
|
43
|
+
// In the streamableHttp, the authInfo is injected into extra from `req.auth`
|
|
44
|
+
// https://github.com/modelcontextprotocol/typescript-sdk/blob/main/src/server/streamableHttp.ts#L405
|
|
45
|
+
const authToken = extra?.authInfo?.token;
|
|
46
|
+
const accessToken = authToken || MapboxApiBasedTool.mapboxAccessToken;
|
|
47
|
+
if (!accessToken) {
|
|
48
|
+
const errorMessage = 'No access token available. Please provide via Bearer auth or MAPBOX_ACCESS_TOKEN env var';
|
|
49
|
+
this.log('error', `${this.name}: ${errorMessage}`);
|
|
50
|
+
return {
|
|
51
|
+
content: [{ type: 'text', text: errorMessage }],
|
|
52
|
+
isError: true
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// Validate that the token has the correct JWT format
|
|
56
|
+
if (!this.isValidJwtFormat(accessToken)) {
|
|
57
|
+
const errorMessage = 'Access token is not in valid JWT format';
|
|
58
|
+
this.log('error', `${this.name}: ${errorMessage}`);
|
|
59
|
+
return {
|
|
60
|
+
content: [{ type: 'text', text: errorMessage }],
|
|
61
|
+
isError: true
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
let toolContext;
|
|
35
65
|
try {
|
|
36
|
-
// First check if token is provided via authentication context
|
|
37
|
-
// Check both standard token field and accessToken in extra for compatibility
|
|
38
|
-
// In the streamableHttp, the authInfo is injected into extra from `req.auth`
|
|
39
|
-
// https://github.com/modelcontextprotocol/typescript-sdk/blob/main/src/server/streamableHttp.ts#L405
|
|
40
|
-
const authToken = extra?.authInfo?.token;
|
|
41
|
-
const accessToken = authToken || MapboxApiBasedTool.mapboxAccessToken;
|
|
42
|
-
if (!accessToken) {
|
|
43
|
-
throw new Error('No access token available. Please provide via Bearer auth or MAPBOX_ACCESS_TOKEN env var');
|
|
44
|
-
}
|
|
45
|
-
// Validate that the token has the correct JWT format
|
|
46
|
-
if (!this.isValidJwtFormat(accessToken)) {
|
|
47
|
-
throw new Error('Access token is not in valid JWT format');
|
|
48
|
-
}
|
|
49
66
|
const input = this.inputSchema.parse(rawInput);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return {
|
|
56
|
-
content: [result],
|
|
57
|
-
isError: false
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
// Otherwise return as text
|
|
61
|
-
return {
|
|
62
|
-
content: [{ type: 'text', text: JSON.stringify(result) }],
|
|
63
|
-
isError: false
|
|
67
|
+
// Create tool execution context - tracing is handled by the HTTP client
|
|
68
|
+
toolContext = {
|
|
69
|
+
...(0, tracing_js_1.createToolExecutionContext)(this.name, 0, // Input size not needed since tracing is in HTTP client
|
|
70
|
+
this.httpRequest, extra),
|
|
71
|
+
httpRequest: this.httpRequest
|
|
64
72
|
};
|
|
73
|
+
// Execute tool within the tool span context to connect all child spans
|
|
74
|
+
const result = await api_1.context.with(api_1.trace.setSpan(api_1.context.active(), toolContext.span), async () => {
|
|
75
|
+
return await this.execute(input, MapboxApiBasedTool.mapboxAccessToken, toolContext);
|
|
76
|
+
});
|
|
77
|
+
// Mark span as successful and end it
|
|
78
|
+
toolContext.span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
79
|
+
toolContext.span.end();
|
|
80
|
+
return result;
|
|
65
81
|
}
|
|
66
82
|
catch (error) {
|
|
67
83
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
68
84
|
this.log('error', `${this.name}: Error during execution: ${errorMessage}`);
|
|
85
|
+
// Mark span as failed and end it
|
|
86
|
+
if (toolContext?.span) {
|
|
87
|
+
toolContext.span.setStatus({
|
|
88
|
+
code: api_1.SpanStatusCode.ERROR,
|
|
89
|
+
message: errorMessage
|
|
90
|
+
});
|
|
91
|
+
toolContext.span.end();
|
|
92
|
+
}
|
|
93
|
+
const errorResponse = {
|
|
94
|
+
message: errorMessage,
|
|
95
|
+
tool: this.name
|
|
96
|
+
};
|
|
69
97
|
return {
|
|
70
98
|
content: [
|
|
71
99
|
{
|
|
72
100
|
type: 'text',
|
|
73
|
-
text:
|
|
101
|
+
text: JSON.stringify(errorResponse)
|
|
74
102
|
}
|
|
75
103
|
],
|
|
76
104
|
isError: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapboxApiBasedTool.js","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAIlC,+CAAyC;
|
|
1
|
+
{"version":3,"file":"MapboxApiBasedTool.js","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
2
|
-
import type {
|
|
3
|
-
import {
|
|
2
|
+
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import type { HttpRequest } from '../../utils/types.js';
|
|
4
|
+
import type { CategoryListInput } from './CategoryListTool.input.schema.js';
|
|
5
|
+
import { CategoryListInputSchema } from './CategoryListTool.input.schema.js';
|
|
6
|
+
import { CategoryListResponseSchema } from './CategoryListTool.output.schema.js';
|
|
4
7
|
/**
|
|
5
8
|
* Tool for retrieving the list of supported categories from Mapbox Search API
|
|
6
9
|
*/
|
|
7
|
-
export declare class CategoryListTool extends MapboxApiBasedTool<typeof CategoryListInputSchema> {
|
|
8
|
-
private fetchImpl;
|
|
10
|
+
export declare class CategoryListTool extends MapboxApiBasedTool<typeof CategoryListInputSchema, typeof CategoryListResponseSchema> {
|
|
9
11
|
name: string;
|
|
10
12
|
description: string;
|
|
11
13
|
annotations: {
|
|
@@ -15,7 +17,9 @@ export declare class CategoryListTool extends MapboxApiBasedTool<typeof Category
|
|
|
15
17
|
idempotentHint: boolean;
|
|
16
18
|
openWorldHint: boolean;
|
|
17
19
|
};
|
|
18
|
-
constructor(
|
|
19
|
-
|
|
20
|
+
constructor(params: {
|
|
21
|
+
httpRequest: HttpRequest;
|
|
22
|
+
});
|
|
23
|
+
protected execute(input: CategoryListInput, accessToken: string): Promise<CallToolResult>;
|
|
20
24
|
}
|
|
21
25
|
//# sourceMappingURL=CategoryListTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategoryListTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"CategoryListTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.ts"],"names":[],"mappings":"AAGA,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,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAiBjF;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB,CACtD,OAAO,uBAAuB,EAC9B,OAAO,0BAA0B,CAClC;IACC,IAAI,SAAwB;IAC5B,WAAW,SAC+X;IAC1Y,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;cAQhC,OAAO,CACrB,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CAkE3B"}
|
|
@@ -13,4 +13,4 @@ export declare const CategoryListInputSchema: z.ZodObject<{
|
|
|
13
13
|
offset?: number | undefined;
|
|
14
14
|
}>;
|
|
15
15
|
export type CategoryListInput = z.infer<typeof CategoryListInputSchema>;
|
|
16
|
-
//# sourceMappingURL=CategoryListTool.schema.d.ts.map
|
|
16
|
+
//# sourceMappingURL=CategoryListTool.input.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryListTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAgBlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryListTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.input.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AACxB,uDAAyD;AAE5C,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,0BAAc,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,wQAAwQ,CACzQ;IACH,MAAM,EAAE,OAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,CAAC,CAAC"}
|