@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
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// Copyright (c) Mapbox, Inc.
|
|
3
|
-
// Licensed under the MIT License.
|
|
4
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
3
|
exports.VersionTool = void 0;
|
|
4
|
+
const api_1 = require("@opentelemetry/api");
|
|
5
|
+
const tracing_js_1 = require("../../utils/tracing.js");
|
|
6
|
+
// Copyright (c) Mapbox, Inc.
|
|
7
|
+
// Licensed under the MIT License.
|
|
6
8
|
const BaseTool_js_1 = require("../BaseTool.js");
|
|
7
9
|
const versionUtils_js_1 = require("../../utils/versionUtils.js");
|
|
8
|
-
const
|
|
10
|
+
const VersionTool_input_schema_js_1 = require("./VersionTool.input.schema.js");
|
|
11
|
+
const VersionTool_output_schema_js_1 = require("./VersionTool.output.schema.js");
|
|
9
12
|
class VersionTool extends BaseTool_js_1.BaseTool {
|
|
10
13
|
name = 'version_tool';
|
|
11
14
|
description = 'Get the current version information of the MCP server';
|
|
@@ -17,36 +20,48 @@ class VersionTool extends BaseTool_js_1.BaseTool {
|
|
|
17
20
|
openWorldHint: false
|
|
18
21
|
};
|
|
19
22
|
constructor() {
|
|
20
|
-
super({
|
|
23
|
+
super({
|
|
24
|
+
inputSchema: VersionTool_input_schema_js_1.VersionSchema,
|
|
25
|
+
outputSchema: VersionTool_output_schema_js_1.VersionResponseSchema
|
|
26
|
+
});
|
|
21
27
|
}
|
|
22
28
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
23
29
|
async run(_rawInput) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
- SHA: ${versionInfo.sha}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
30
|
+
// Create tracing context for this tool
|
|
31
|
+
const toolContext = (0, tracing_js_1.createLocalToolExecutionContext)(this.name, 0);
|
|
32
|
+
return await api_1.context.with(api_1.trace.setSpan(api_1.context.active(), toolContext.span), async () => {
|
|
33
|
+
try {
|
|
34
|
+
const versionInfo = (0, versionUtils_js_1.getVersionInfo)();
|
|
35
|
+
const versionText = `MCP Server Version Information:\n- Name: ${versionInfo.name}\n- Version: ${versionInfo.version}\n- SHA: ${versionInfo.sha}\n- Tag: ${versionInfo.tag}\n- Branch: ${versionInfo.branch}`;
|
|
36
|
+
const validatedVersionInfo = VersionTool_output_schema_js_1.VersionResponseSchema.parse(versionInfo);
|
|
37
|
+
toolContext.span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
38
|
+
toolContext.span.end();
|
|
39
|
+
return {
|
|
40
|
+
content: [{ type: 'text', text: versionText }],
|
|
41
|
+
structuredContent: validatedVersionInfo,
|
|
42
|
+
isError: false
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
catch (validationError) {
|
|
46
|
+
toolContext.span.setStatus({
|
|
47
|
+
code: api_1.SpanStatusCode.ERROR,
|
|
48
|
+
message: validationError instanceof Error
|
|
49
|
+
? validationError.message
|
|
50
|
+
: 'Unknown validation error'
|
|
51
|
+
});
|
|
52
|
+
toolContext.span.end();
|
|
53
|
+
this.log('error', `Output schema validation failed: ${validationError instanceof Error ? validationError.message : 'Unknown validation error'}`);
|
|
54
|
+
return {
|
|
55
|
+
content: [
|
|
56
|
+
{
|
|
57
|
+
type: 'text',
|
|
58
|
+
text: 'VersionTool: Output schema validation failed.'
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
isError: true
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
});
|
|
50
65
|
}
|
|
51
66
|
}
|
|
52
67
|
exports.VersionTool = VersionTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.js","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VersionTool.js","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AACpE,uDAAyE;AACzE,6BAA6B;AAC7B,kCAAkC;AAElC,gDAA0C;AAC1C,iEAA6D;AAC7D,+EAA8D;AAC9D,iFAAuE;AAGvE,MAAa,WAAY,SAAQ,sBAGhC;IACU,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAClB,uDAAuD,CAAC;IACjD,WAAW,GAAG;QACrB,KAAK,EAAE,0BAA0B;QACjC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACrB,CAAC;IAEF;QACE,KAAK,CAAC;YACJ,WAAW,EAAE,2CAAa;YAC1B,YAAY,EAAE,oDAAqB;SACpC,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,GAAG,CAAC,SAAkB;QAC1B,uCAAuC;QACvC,MAAM,WAAW,GAAG,IAAA,4CAA+B,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,MAAM,aAAO,CAAC,IAAI,CACvB,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EACjD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAA,gCAAc,GAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,4CAA4C,WAAW,CAAC,IAAI,gBAAgB,WAAW,CAAC,OAAO,YAAY,WAAW,CAAC,GAAG,YAAY,WAAW,CAAC,GAAG,eAAe,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC7M,MAAM,oBAAoB,GAAG,oDAAqB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACtE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;oBACvD,iBAAiB,EAAE,oBAAoB;oBACvC,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;YAAC,OAAO,eAAe,EAAE,CAAC;gBACzB,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;oBACzB,IAAI,EAAE,oBAAc,CAAC,KAAK;oBAC1B,OAAO,EACL,eAAe,YAAY,KAAK;wBAC9B,CAAC,CAAC,eAAe,CAAC,OAAO;wBACzB,CAAC,CAAC,0BAA0B;iBACjC,CAAC,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CACN,OAAO,EACP,oCAAoC,eAAe,YAAY,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAC9H,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,+CAA+C;yBACtD;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAlED,kCAkEC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const VersionResponseSchema: z.ZodObject<{
|
|
3
|
+
name: z.ZodString;
|
|
4
|
+
version: z.ZodString;
|
|
5
|
+
sha: z.ZodString;
|
|
6
|
+
tag: z.ZodString;
|
|
7
|
+
branch: z.ZodString;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
name: string;
|
|
10
|
+
version: string;
|
|
11
|
+
sha: string;
|
|
12
|
+
tag: string;
|
|
13
|
+
branch: string;
|
|
14
|
+
}, {
|
|
15
|
+
name: string;
|
|
16
|
+
version: string;
|
|
17
|
+
sha: string;
|
|
18
|
+
tag: string;
|
|
19
|
+
branch: string;
|
|
20
|
+
}>;
|
|
21
|
+
export type VersionResponse = z.infer<typeof VersionResponseSchema>;
|
|
22
|
+
//# sourceMappingURL=VersionTool.output.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Mapbox, Inc.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.VersionResponseSchema = void 0;
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
// Schema for version tool output - matches the VersionInfo interface
|
|
8
|
+
exports.VersionResponseSchema = zod_1.z.object({
|
|
9
|
+
name: zod_1.z.string(),
|
|
10
|
+
version: zod_1.z.string(),
|
|
11
|
+
sha: zod_1.z.string(),
|
|
12
|
+
tag: zod_1.z.string(),
|
|
13
|
+
branch: zod_1.z.string()
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=VersionTool.output.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.output.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AAExB,qEAAqE;AACxD,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type HttpRequest } from './types.js';
|
|
2
|
+
export interface HttpPolicy {
|
|
3
|
+
id: string;
|
|
4
|
+
handle(input: string | URL | Request, init: RequestInit, next: HttpRequest): Promise<Response>;
|
|
5
|
+
}
|
|
6
|
+
export declare class HttpPipeline {
|
|
7
|
+
private policies;
|
|
8
|
+
private httpRequestImpl;
|
|
9
|
+
constructor(httpRequestImpl?: HttpRequest);
|
|
10
|
+
usePolicy(policy: HttpPolicy): void;
|
|
11
|
+
removePolicy(policyOrId: HttpPolicy | string): void;
|
|
12
|
+
findPolicyById(id: string): HttpPolicy | undefined;
|
|
13
|
+
listPolicies(): HttpPolicy[];
|
|
14
|
+
execute(input: string | URL | Request, init?: RequestInit): Promise<Response>;
|
|
15
|
+
}
|
|
16
|
+
export declare class UserAgentPolicy implements HttpPolicy {
|
|
17
|
+
private userAgent;
|
|
18
|
+
id: string;
|
|
19
|
+
constructor(userAgent: string, id?: string);
|
|
20
|
+
handle(input: string | URL | Request, init: RequestInit, next: HttpRequest): Promise<Response>;
|
|
21
|
+
static fromVersionInfo(versionInfo: {
|
|
22
|
+
name: string;
|
|
23
|
+
version: string;
|
|
24
|
+
sha: string;
|
|
25
|
+
tag: string;
|
|
26
|
+
branch: string;
|
|
27
|
+
}, id?: string): UserAgentPolicy;
|
|
28
|
+
}
|
|
29
|
+
export declare class RetryPolicy implements HttpPolicy {
|
|
30
|
+
private maxRetries;
|
|
31
|
+
private baseDelayMs;
|
|
32
|
+
private maxDelayMs;
|
|
33
|
+
id: string;
|
|
34
|
+
constructor(maxRetries?: number, baseDelayMs?: number, maxDelayMs?: number, id?: string);
|
|
35
|
+
handle(input: string | URL | Request, init: RequestInit, next: HttpRequest): Promise<Response>;
|
|
36
|
+
}
|
|
37
|
+
export declare const httpRequest: (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
|
|
38
|
+
export declare const systemHttpPipeline: HttpPipeline;
|
|
39
|
+
//# sourceMappingURL=httpPipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpPipeline.d.ts","sourceRoot":"","sources":["../../../src/utils/httpPipeline.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAM9C,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CACJ,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,QAAQ,CAAC,CAAC;CACtB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,eAAe,CAAc;gBAEzB,eAAe,CAAC,EAAE,WAAW;IAIzC,SAAS,CAAC,MAAM,EAAE,UAAU;IAI5B,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAQ5C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIlD,YAAY;IAIN,OAAO,CACX,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,QAAQ,CAAC;CAkBrB;AAED,qBAAa,eAAgB,YAAW,UAAU;IAI9C,OAAO,CAAC,SAAS;IAHnB,EAAE,EAAE,MAAM,CAAC;gBAGD,SAAS,EAAE,MAAM,EACzB,EAAE,CAAC,EAAE,MAAM;IAIP,MAAM,CACV,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,QAAQ,CAAC;IAmBpB,MAAM,CAAC,eAAe,CACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,EACD,EAAE,CAAC,EAAE,MAAM,GACV,eAAe;CAInB;AAED,qBAAa,WAAY,YAAW,UAAU;IAI1C,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IALpB,EAAE,EAAE,MAAM,CAAC;gBAGD,UAAU,GAAE,MAAU,EACtB,WAAW,GAAE,MAAY,EACzB,UAAU,GAAE,MAAa,EACjC,EAAE,CAAC,EAAE,MAAM;IAKP,MAAM,CACV,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,QAAQ,CAAC;CA2BrB;AASD,eAAO,MAAM,WAAW,UAzHb,MAAM,GAAG,GAAG,GAAG,OAAO,SACvB,WAAW,KAChB,OAAO,CAAC,QAAQ,CAuHqC,CAAC;AAC3D,eAAO,MAAM,kBAAkB,cAAW,CAAC"}
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
// Copyright (c) Mapbox, Inc.
|
|
3
3
|
// Licensed under the MIT License.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.
|
|
5
|
+
exports.systemHttpPipeline = exports.httpRequest = exports.RetryPolicy = exports.UserAgentPolicy = exports.HttpPipeline = void 0;
|
|
6
6
|
const versionUtils_js_1 = require("./versionUtils.js");
|
|
7
7
|
function createRandomId(prefix) {
|
|
8
8
|
return `${prefix}${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
|
|
9
9
|
}
|
|
10
|
-
class
|
|
10
|
+
class HttpPipeline {
|
|
11
11
|
policies = [];
|
|
12
|
-
|
|
13
|
-
constructor(
|
|
14
|
-
this.
|
|
12
|
+
httpRequestImpl;
|
|
13
|
+
constructor(httpRequestImpl) {
|
|
14
|
+
this.httpRequestImpl = httpRequestImpl ?? fetch;
|
|
15
15
|
}
|
|
16
16
|
usePolicy(policy) {
|
|
17
17
|
this.policies.push(policy);
|
|
@@ -30,17 +30,17 @@ class PolicyPipeline {
|
|
|
30
30
|
listPolicies() {
|
|
31
31
|
return this.policies;
|
|
32
32
|
}
|
|
33
|
-
async
|
|
33
|
+
async execute(input, init = {}) {
|
|
34
34
|
const dispatch = async (i, req, options) => {
|
|
35
35
|
if (i < this.policies.length) {
|
|
36
|
-
return this.policies[i].handle(req, options, (nextReq, nextOptions) => dispatch(i + 1, nextReq, nextOptions));
|
|
36
|
+
return this.policies[i].handle(req, options, (nextReq, nextOptions) => dispatch(i + 1, nextReq, nextOptions || {}));
|
|
37
37
|
}
|
|
38
|
-
return this.
|
|
38
|
+
return this.httpRequestImpl(req, options); // Use injected httpRequest
|
|
39
39
|
};
|
|
40
40
|
return dispatch(0, input, init);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
exports.
|
|
43
|
+
exports.HttpPipeline = HttpPipeline;
|
|
44
44
|
class UserAgentPolicy {
|
|
45
45
|
userAgent;
|
|
46
46
|
id;
|
|
@@ -103,10 +103,10 @@ class RetryPolicy {
|
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
exports.RetryPolicy = RetryPolicy;
|
|
106
|
-
const pipeline = new
|
|
106
|
+
const pipeline = new HttpPipeline();
|
|
107
107
|
const versionInfo = (0, versionUtils_js_1.getVersionInfo)();
|
|
108
108
|
pipeline.usePolicy(UserAgentPolicy.fromVersionInfo(versionInfo, 'system-user-agent-policy'));
|
|
109
109
|
pipeline.usePolicy(new RetryPolicy(3, 200, 2000, 'system-retry-policy'));
|
|
110
|
-
exports.
|
|
111
|
-
exports.
|
|
112
|
-
//# sourceMappingURL=
|
|
110
|
+
exports.httpRequest = pipeline.execute.bind(pipeline);
|
|
111
|
+
exports.systemHttpPipeline = pipeline;
|
|
112
|
+
//# sourceMappingURL=httpPipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpPipeline.js","sourceRoot":"","sources":["../../../src/utils/httpPipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { type Span } from '@opentelemetry/api';
|
|
2
|
+
import { type HttpRequest } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Tool execution context providing dependencies via options bag pattern
|
|
5
|
+
*/
|
|
6
|
+
export interface LocalToolExecutionContext {
|
|
7
|
+
span: Span;
|
|
8
|
+
tracingContext: {
|
|
9
|
+
parentSpan?: Span;
|
|
10
|
+
sessionId?: string;
|
|
11
|
+
userId?: string;
|
|
12
|
+
accountId?: string;
|
|
13
|
+
chatSessionId?: string;
|
|
14
|
+
promptId?: string;
|
|
15
|
+
};
|
|
16
|
+
extra?: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Tool execution context providing dependencies via options bag pattern
|
|
20
|
+
*/
|
|
21
|
+
export interface ToolExecutionContext {
|
|
22
|
+
span: Span;
|
|
23
|
+
tracingContext: {
|
|
24
|
+
parentSpan?: Span;
|
|
25
|
+
sessionId?: string;
|
|
26
|
+
userId?: string;
|
|
27
|
+
accountId?: string;
|
|
28
|
+
chatSessionId?: string;
|
|
29
|
+
promptId?: string;
|
|
30
|
+
};
|
|
31
|
+
httpRequest: HttpRequest;
|
|
32
|
+
extra?: Record<string, unknown>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create a tool execution context with all necessary dependencies
|
|
36
|
+
*/
|
|
37
|
+
export declare function createLocalToolExecutionContext(toolName: string, inputSize: number, extra?: Record<string, unknown>): LocalToolExecutionContext;
|
|
38
|
+
/**
|
|
39
|
+
* Create a tool execution context with all necessary dependencies
|
|
40
|
+
*/
|
|
41
|
+
export declare function createToolExecutionContext(toolName: string, inputSize: number, httpRequest: HttpRequest, extra?: Record<string, unknown>): ToolExecutionContext;
|
|
42
|
+
/**
|
|
43
|
+
* Initialize OpenTelemetry tracing
|
|
44
|
+
* Should be called once at application startup
|
|
45
|
+
*
|
|
46
|
+
* For MCP servers using stdio transport, console output should be avoided.
|
|
47
|
+
* This implementation automatically detects and handles MCP compatibility.
|
|
48
|
+
*/
|
|
49
|
+
export declare function initializeTracing(): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Shutdown tracing gracefully
|
|
52
|
+
*/
|
|
53
|
+
export declare function shutdownTracing(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Check if tracing is enabled
|
|
56
|
+
*/
|
|
57
|
+
export declare function isTracingInitialized(): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Get the default tracer for the MCP server
|
|
60
|
+
*/
|
|
61
|
+
export declare function getTracer(): import("@opentelemetry/api").Tracer;
|
|
62
|
+
/**
|
|
63
|
+
* Create a span for tool execution with comprehensive attributes
|
|
64
|
+
*/
|
|
65
|
+
export declare function createToolSpan(toolName: string, inputSize: number, extra?: {
|
|
66
|
+
sessionId?: string;
|
|
67
|
+
userId?: string;
|
|
68
|
+
accountId?: string;
|
|
69
|
+
chatSessionId?: string;
|
|
70
|
+
promptId?: string;
|
|
71
|
+
}): Span;
|
|
72
|
+
/**
|
|
73
|
+
* Create a span for HTTP requests with comprehensive attributes
|
|
74
|
+
*/
|
|
75
|
+
export declare function createHttpSpan(method: string, url: string, extra?: {
|
|
76
|
+
userAgent?: string;
|
|
77
|
+
contentLength?: number;
|
|
78
|
+
sessionId?: string;
|
|
79
|
+
}): Span;
|
|
80
|
+
/**
|
|
81
|
+
* Mark a span as successful and end it
|
|
82
|
+
*/
|
|
83
|
+
export declare function markSpanSuccess(span: Span, attributes?: Record<string, string | number | boolean>): void;
|
|
84
|
+
/**
|
|
85
|
+
* Mark a span as failed with error information and end it
|
|
86
|
+
*/
|
|
87
|
+
export declare function markSpanError(span: Span, error: Error | string, attributes?: Record<string, string | number | boolean>): void;
|
|
88
|
+
/**
|
|
89
|
+
* Validate JWT token format for tracing (basic format check only)
|
|
90
|
+
*/
|
|
91
|
+
export declare function validateJwtForTracing(token?: string): {
|
|
92
|
+
isValid: boolean;
|
|
93
|
+
error?: string;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Helper function to get size of an object in bytes (approximate)
|
|
97
|
+
*/
|
|
98
|
+
export declare function getObjectSize(obj: unknown): number;
|
|
99
|
+
//# sourceMappingURL=tracing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/utils/tracing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Mapbox, Inc.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.createLocalToolExecutionContext = createLocalToolExecutionContext;
|
|
6
|
+
exports.createToolExecutionContext = createToolExecutionContext;
|
|
7
|
+
exports.initializeTracing = initializeTracing;
|
|
8
|
+
exports.shutdownTracing = shutdownTracing;
|
|
9
|
+
exports.isTracingInitialized = isTracingInitialized;
|
|
10
|
+
exports.getTracer = getTracer;
|
|
11
|
+
exports.createToolSpan = createToolSpan;
|
|
12
|
+
exports.createHttpSpan = createHttpSpan;
|
|
13
|
+
exports.markSpanSuccess = markSpanSuccess;
|
|
14
|
+
exports.markSpanError = markSpanError;
|
|
15
|
+
exports.validateJwtForTracing = validateJwtForTracing;
|
|
16
|
+
exports.getObjectSize = getObjectSize;
|
|
17
|
+
const sdk_node_1 = require("@opentelemetry/sdk-node");
|
|
18
|
+
const auto_instrumentations_node_1 = require("@opentelemetry/auto-instrumentations-node");
|
|
19
|
+
const resources_1 = require("@opentelemetry/resources");
|
|
20
|
+
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
21
|
+
const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
|
|
22
|
+
const api_1 = require("@opentelemetry/api");
|
|
23
|
+
const versionUtils_js_1 = require("./versionUtils.js");
|
|
24
|
+
const incubating_1 = require("@opentelemetry/semantic-conventions/incubating");
|
|
25
|
+
// Global SDK instance
|
|
26
|
+
let sdk = null;
|
|
27
|
+
let isTracingEnabled = false;
|
|
28
|
+
/**
|
|
29
|
+
* Create a tool execution context with all necessary dependencies
|
|
30
|
+
*/
|
|
31
|
+
function createLocalToolExecutionContext(toolName, inputSize, extra) {
|
|
32
|
+
const span = createToolSpan(toolName, inputSize, {
|
|
33
|
+
sessionId: extra?.sessionId,
|
|
34
|
+
userId: extra?.userId,
|
|
35
|
+
accountId: extra?.accountId,
|
|
36
|
+
chatSessionId: extra?.chatSessionId,
|
|
37
|
+
promptId: extra?.promptId
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
span,
|
|
41
|
+
tracingContext: {
|
|
42
|
+
parentSpan: span,
|
|
43
|
+
sessionId: extra?.sessionId,
|
|
44
|
+
userId: extra?.userId,
|
|
45
|
+
accountId: extra?.accountId,
|
|
46
|
+
chatSessionId: extra?.chatSessionId,
|
|
47
|
+
promptId: extra?.promptId
|
|
48
|
+
},
|
|
49
|
+
extra
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Create a tool execution context with all necessary dependencies
|
|
54
|
+
*/
|
|
55
|
+
function createToolExecutionContext(toolName, inputSize, httpRequest, extra) {
|
|
56
|
+
const span = createToolSpan(toolName, inputSize, {
|
|
57
|
+
sessionId: extra?.sessionId,
|
|
58
|
+
userId: extra?.userId,
|
|
59
|
+
accountId: extra?.accountId,
|
|
60
|
+
chatSessionId: extra?.chatSessionId,
|
|
61
|
+
promptId: extra?.promptId
|
|
62
|
+
});
|
|
63
|
+
return {
|
|
64
|
+
span,
|
|
65
|
+
tracingContext: {
|
|
66
|
+
parentSpan: span,
|
|
67
|
+
sessionId: extra?.sessionId,
|
|
68
|
+
userId: extra?.userId,
|
|
69
|
+
accountId: extra?.accountId,
|
|
70
|
+
chatSessionId: extra?.chatSessionId,
|
|
71
|
+
promptId: extra?.promptId
|
|
72
|
+
},
|
|
73
|
+
httpRequest,
|
|
74
|
+
extra
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Initialize OpenTelemetry tracing
|
|
79
|
+
* Should be called once at application startup
|
|
80
|
+
*
|
|
81
|
+
* For MCP servers using stdio transport, console output should be avoided.
|
|
82
|
+
* This implementation automatically detects and handles MCP compatibility.
|
|
83
|
+
*/
|
|
84
|
+
async function initializeTracing() {
|
|
85
|
+
// Skip initialization if already initialized or if running in test environment
|
|
86
|
+
if (sdk || process.env.NODE_ENV === 'test' || process.env.VITEST) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
// Skip if tracing is explicitly disabled
|
|
90
|
+
if (process.env.OTEL_TRACING_ENABLED === 'false') {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const versionInfo = (0, versionUtils_js_1.getVersionInfo)();
|
|
94
|
+
try {
|
|
95
|
+
// Create resource with service information
|
|
96
|
+
const resource = new resources_1.Resource({
|
|
97
|
+
[semantic_conventions_1.ATTR_SERVICE_NAME]: process.env.OTEL_SERVICE_NAME || versionInfo.name,
|
|
98
|
+
[semantic_conventions_1.ATTR_SERVICE_VERSION]: versionInfo.version,
|
|
99
|
+
[incubating_1.ATTR_SERVICE_INSTANCE_ID]: process.env.HOSTNAME || 'unknown',
|
|
100
|
+
'service.git.sha': versionInfo.sha,
|
|
101
|
+
'service.git.branch': versionInfo.branch,
|
|
102
|
+
'service.git.tag': versionInfo.tag
|
|
103
|
+
});
|
|
104
|
+
// Configure exporters
|
|
105
|
+
const exporters = [];
|
|
106
|
+
// Console exporter for development (avoid in stdio transport)
|
|
107
|
+
if (process.env.OTEL_EXPORTER_CONSOLE_ENABLED === 'true') {
|
|
108
|
+
const { ConsoleSpanExporter } = await import('@opentelemetry/sdk-trace-base');
|
|
109
|
+
exporters.push(new ConsoleSpanExporter());
|
|
110
|
+
}
|
|
111
|
+
// OTLP HTTP exporter for production
|
|
112
|
+
const otlpEndpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT;
|
|
113
|
+
if (otlpEndpoint) {
|
|
114
|
+
exporters.push(new exporter_trace_otlp_http_1.OTLPTraceExporter({
|
|
115
|
+
url: `${otlpEndpoint}/v1/traces`,
|
|
116
|
+
headers: process.env.OTEL_EXPORTER_OTLP_HEADERS
|
|
117
|
+
? JSON.parse(process.env.OTEL_EXPORTER_OTLP_HEADERS)
|
|
118
|
+
: {}
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
// Skip tracing if no exporters configured
|
|
122
|
+
if (exporters.length === 0) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
// Create SDK instance
|
|
126
|
+
sdk = new sdk_node_1.NodeSDK({
|
|
127
|
+
resource,
|
|
128
|
+
traceExporter: exporters[0],
|
|
129
|
+
instrumentations: [
|
|
130
|
+
(0, auto_instrumentations_node_1.getNodeAutoInstrumentations)({
|
|
131
|
+
// Disable instrumentations that might be too noisy
|
|
132
|
+
'@opentelemetry/instrumentation-fs': {
|
|
133
|
+
enabled: false
|
|
134
|
+
},
|
|
135
|
+
'@opentelemetry/instrumentation-dns': {
|
|
136
|
+
enabled: false
|
|
137
|
+
},
|
|
138
|
+
// Ensure HTTP instrumentation is enabled for HTTP requests
|
|
139
|
+
'@opentelemetry/instrumentation-http': {
|
|
140
|
+
enabled: true
|
|
141
|
+
},
|
|
142
|
+
// Enable fetch instrumentation for HTTP requests
|
|
143
|
+
'@opentelemetry/instrumentation-undici': {
|
|
144
|
+
enabled: true
|
|
145
|
+
}
|
|
146
|
+
})
|
|
147
|
+
]
|
|
148
|
+
});
|
|
149
|
+
// Start the SDK
|
|
150
|
+
sdk.start();
|
|
151
|
+
isTracingEnabled = true;
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
// Silently handle initialization errors to avoid breaking MCP stdio
|
|
155
|
+
isTracingEnabled = false;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Shutdown tracing gracefully
|
|
160
|
+
*/
|
|
161
|
+
async function shutdownTracing() {
|
|
162
|
+
if (sdk) {
|
|
163
|
+
await sdk.shutdown();
|
|
164
|
+
sdk = null;
|
|
165
|
+
isTracingEnabled = false;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Check if tracing is enabled
|
|
170
|
+
*/
|
|
171
|
+
function isTracingInitialized() {
|
|
172
|
+
return isTracingEnabled;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get the default tracer for the MCP server
|
|
176
|
+
*/
|
|
177
|
+
function getTracer() {
|
|
178
|
+
return api_1.trace.getTracer('mapbox-mcp-server');
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Create a span for tool execution with comprehensive attributes
|
|
182
|
+
*/
|
|
183
|
+
function createToolSpan(toolName, inputSize, extra) {
|
|
184
|
+
const tracer = getTracer();
|
|
185
|
+
const span = tracer.startSpan(`tool.${toolName}`, {
|
|
186
|
+
kind: api_1.SpanKind.INTERNAL,
|
|
187
|
+
attributes: {
|
|
188
|
+
'tool.name': toolName,
|
|
189
|
+
'tool.input.size': inputSize,
|
|
190
|
+
'operation.type': 'tool_execution',
|
|
191
|
+
...(extra?.sessionId && { 'session.id': extra.sessionId }),
|
|
192
|
+
...(extra?.userId && { 'user.id': extra.userId }),
|
|
193
|
+
...(extra?.accountId && { 'account.id': extra.accountId }),
|
|
194
|
+
...(extra?.chatSessionId && { 'chat.session.id': extra.chatSessionId }),
|
|
195
|
+
...(extra?.promptId && { 'prompt.id': extra.promptId })
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
return span;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Create a span for HTTP requests with comprehensive attributes
|
|
202
|
+
*/
|
|
203
|
+
function createHttpSpan(method, url, extra) {
|
|
204
|
+
const tracer = getTracer();
|
|
205
|
+
const span = tracer.startSpan(`http.${method.toLowerCase()}`, {
|
|
206
|
+
kind: api_1.SpanKind.CLIENT,
|
|
207
|
+
attributes: {
|
|
208
|
+
'http.method': method,
|
|
209
|
+
'http.url': url,
|
|
210
|
+
'operation.type': 'http_request',
|
|
211
|
+
...(extra?.userAgent && { 'http.user_agent': extra.userAgent }),
|
|
212
|
+
...(extra?.contentLength && {
|
|
213
|
+
'http.request.content_length': extra.contentLength
|
|
214
|
+
}),
|
|
215
|
+
...(extra?.sessionId && { 'session.id': extra.sessionId })
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
return span;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Mark a span as successful and end it
|
|
222
|
+
*/
|
|
223
|
+
function markSpanSuccess(span, attributes) {
|
|
224
|
+
if (attributes) {
|
|
225
|
+
span.setAttributes(attributes);
|
|
226
|
+
}
|
|
227
|
+
span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
228
|
+
span.end();
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Mark a span as failed with error information and end it
|
|
232
|
+
*/
|
|
233
|
+
function markSpanError(span, error, attributes) {
|
|
234
|
+
const errorMessage = typeof error === 'string' ? error : error.message;
|
|
235
|
+
const errorType = typeof error === 'string' ? 'Error' : error.constructor.name;
|
|
236
|
+
span.setAttributes({
|
|
237
|
+
'error.type': errorType,
|
|
238
|
+
'error.message': errorMessage,
|
|
239
|
+
...(attributes || {})
|
|
240
|
+
});
|
|
241
|
+
if (typeof error !== 'string') {
|
|
242
|
+
span.recordException(error);
|
|
243
|
+
}
|
|
244
|
+
span.setStatus({
|
|
245
|
+
code: api_1.SpanStatusCode.ERROR,
|
|
246
|
+
message: errorMessage
|
|
247
|
+
});
|
|
248
|
+
span.end();
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Validate JWT token format for tracing (basic format check only)
|
|
252
|
+
*/
|
|
253
|
+
function validateJwtForTracing(token) {
|
|
254
|
+
if (!token) {
|
|
255
|
+
return { isValid: true }; // No token is valid (optional)
|
|
256
|
+
}
|
|
257
|
+
// Basic JWT format validation (header.payload.signature)
|
|
258
|
+
const parts = token.split('.');
|
|
259
|
+
if (parts.length !== 3) {
|
|
260
|
+
return { isValid: false, error: 'Invalid JWT format' };
|
|
261
|
+
}
|
|
262
|
+
try {
|
|
263
|
+
// Try to decode the header and payload (just to validate base64 format)
|
|
264
|
+
JSON.parse(Buffer.from(parts[0], 'base64url').toString());
|
|
265
|
+
JSON.parse(Buffer.from(parts[1], 'base64url').toString());
|
|
266
|
+
return { isValid: true };
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
return { isValid: false, error: 'Invalid JWT encoding' };
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Helper function to get size of an object in bytes (approximate)
|
|
274
|
+
*/
|
|
275
|
+
function getObjectSize(obj) {
|
|
276
|
+
try {
|
|
277
|
+
return JSON.stringify(obj).length;
|
|
278
|
+
}
|
|
279
|
+
catch {
|
|
280
|
+
return 0;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
//# sourceMappingURL=tracing.js.map
|