@mapbox/mcp-server 0.9.2-dev → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -4
- package/dist/commonjs/index.js +16 -10
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts +2 -1
- package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts.map +1 -1
- package/dist/commonjs/resources/temporary/TemporaryDataResource.js +14 -1
- package/dist/commonjs/resources/temporary/TemporaryDataResource.js.map +1 -1
- package/dist/commonjs/tools/area-tool/AreaTool.input.schema.d.ts +2 -2
- package/dist/commonjs/tools/bearing-tool/BearingTool.output.schema.d.ts +2 -2
- package/dist/commonjs/tools/buffer-tool/BufferTool.input.schema.d.ts +2 -2
- package/dist/commonjs/tools/convex-tool/ConvexTool.d.ts +18 -0
- package/dist/commonjs/tools/convex-tool/ConvexTool.d.ts.map +1 -0
- package/dist/commonjs/tools/convex-tool/ConvexTool.input.schema.d.ts +25 -0
- package/dist/commonjs/tools/convex-tool/ConvexTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/convex-tool/ConvexTool.input.schema.js +16 -0
- package/dist/commonjs/tools/convex-tool/ConvexTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/convex-tool/ConvexTool.js +70 -0
- package/dist/commonjs/tools/convex-tool/ConvexTool.js.map +1 -0
- package/dist/commonjs/tools/convex-tool/ConvexTool.output.schema.d.ts +13 -0
- package/dist/commonjs/tools/convex-tool/ConvexTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/convex-tool/ConvexTool.output.schema.js +14 -0
- package/dist/commonjs/tools/convex-tool/ConvexTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/destination-tool/DestinationTool.d.ts +18 -0
- package/dist/commonjs/tools/destination-tool/DestinationTool.d.ts.map +1 -0
- package/dist/commonjs/tools/destination-tool/DestinationTool.input.schema.d.ts +34 -0
- package/dist/commonjs/tools/destination-tool/DestinationTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/destination-tool/DestinationTool.input.schema.js +25 -0
- package/dist/commonjs/tools/destination-tool/DestinationTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/destination-tool/DestinationTool.js +83 -0
- package/dist/commonjs/tools/destination-tool/DestinationTool.js.map +1 -0
- package/dist/commonjs/tools/destination-tool/DestinationTool.output.schema.d.ts +34 -0
- package/dist/commonjs/tools/destination-tool/DestinationTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/destination-tool/DestinationTool.output.schema.js +18 -0
- package/dist/commonjs/tools/destination-tool/DestinationTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.d.ts +18 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.d.ts.map +1 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.input.schema.d.ts +13 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.input.schema.js +12 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.js +75 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.js.map +1 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.output.schema.d.ts +13 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.output.schema.js +16 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +32 -32
- package/dist/commonjs/tools/distance-tool/DistanceTool.input.schema.d.ts +2 -2
- package/dist/commonjs/tools/distance-tool/DistanceTool.output.schema.d.ts +3 -3
- package/dist/commonjs/tools/intersect-tool/IntersectTool.d.ts +18 -0
- package/dist/commonjs/tools/intersect-tool/IntersectTool.d.ts.map +1 -0
- package/dist/commonjs/tools/intersect-tool/IntersectTool.input.schema.d.ts +13 -0
- package/dist/commonjs/tools/intersect-tool/IntersectTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/intersect-tool/IntersectTool.input.schema.js +12 -0
- package/dist/commonjs/tools/intersect-tool/IntersectTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/intersect-tool/IntersectTool.js +75 -0
- package/dist/commonjs/tools/intersect-tool/IntersectTool.js.map +1 -0
- package/dist/commonjs/tools/intersect-tool/IntersectTool.output.schema.d.ts +13 -0
- package/dist/commonjs/tools/intersect-tool/IntersectTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/intersect-tool/IntersectTool.output.schema.js +14 -0
- package/dist/commonjs/tools/intersect-tool/IntersectTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts +2 -2
- package/dist/commonjs/tools/length-tool/LengthTool.d.ts +18 -0
- package/dist/commonjs/tools/length-tool/LengthTool.d.ts.map +1 -0
- package/dist/commonjs/tools/length-tool/LengthTool.input.schema.d.ts +13 -0
- package/dist/commonjs/tools/length-tool/LengthTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/length-tool/LengthTool.input.schema.js +21 -0
- package/dist/commonjs/tools/length-tool/LengthTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/length-tool/LengthTool.js +69 -0
- package/dist/commonjs/tools/length-tool/LengthTool.js.map +1 -0
- package/dist/commonjs/tools/length-tool/LengthTool.output.schema.d.ts +16 -0
- package/dist/commonjs/tools/length-tool/LengthTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/length-tool/LengthTool.output.schema.js +14 -0
- package/dist/commonjs/tools/length-tool/LengthTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.d.ts +18 -0
- package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.d.ts.map +1 -0
- package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.input.schema.d.ts +31 -0
- package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.input.schema.js +27 -0
- package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.js +81 -0
- package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.js.map +1 -0
- package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.output.schema.d.ts +34 -0
- package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.output.schema.js +20 -0
- package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.d.ts +18 -0
- package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.d.ts.map +1 -0
- package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.input.schema.d.ts +46 -0
- package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.input.schema.js +26 -0
- package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.js +86 -0
- package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.js.map +1 -0
- package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.output.schema.d.ts +34 -0
- package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.output.schema.js +18 -0
- package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/optimization-tool/OptimizationTool.input.schema.d.ts +2 -2
- package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.input.schema.d.ts +2 -2
- package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.d.ts +18 -0
- package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.d.ts.map +1 -0
- package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.input.schema.d.ts +28 -0
- package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.input.schema.js +24 -0
- package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.js +84 -0
- package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.js.map +1 -0
- package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.output.schema.d.ts +31 -0
- package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.output.schema.js +17 -0
- package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +1 -1
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +12 -12
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +8 -8
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +70 -0
- 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 +6 -6
- package/dist/commonjs/tools/shared/polygonSchema.d.ts +4 -0
- package/dist/commonjs/tools/shared/polygonSchema.d.ts.map +1 -0
- package/dist/commonjs/tools/shared/polygonSchema.js +15 -0
- package/dist/commonjs/tools/shared/polygonSchema.js.map +1 -0
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +12 -12
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js +2 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +30 -12
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/commonjs/tools/toolRegistry.d.ts +11 -2
- package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
- package/dist/commonjs/tools/toolRegistry.js +18 -0
- package/dist/commonjs/tools/toolRegistry.js.map +1 -1
- package/dist/commonjs/tools/union-tool/UnionTool.d.ts +18 -0
- package/dist/commonjs/tools/union-tool/UnionTool.d.ts.map +1 -0
- package/dist/commonjs/tools/union-tool/UnionTool.input.schema.d.ts +10 -0
- package/dist/commonjs/tools/union-tool/UnionTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/union-tool/UnionTool.input.schema.js +14 -0
- package/dist/commonjs/tools/union-tool/UnionTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/union-tool/UnionTool.js +72 -0
- package/dist/commonjs/tools/union-tool/UnionTool.js.map +1 -0
- package/dist/commonjs/tools/union-tool/UnionTool.output.schema.d.ts +13 -0
- package/dist/commonjs/tools/union-tool/UnionTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/union-tool/UnionTool.output.schema.js +13 -0
- package/dist/commonjs/tools/union-tool/UnionTool.output.schema.js.map +1 -0
- package/dist/commonjs/utils/temporaryResourceManager.d.ts +16 -4
- package/dist/commonjs/utils/temporaryResourceManager.d.ts.map +1 -1
- package/dist/commonjs/utils/temporaryResourceManager.js +34 -3
- package/dist/commonjs/utils/temporaryResourceManager.js.map +1 -1
- package/dist/commonjs/version.json +3 -3
- package/dist/esm/index.js +16 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/resources/temporary/TemporaryDataResource.d.ts +2 -1
- package/dist/esm/resources/temporary/TemporaryDataResource.d.ts.map +1 -1
- package/dist/esm/resources/temporary/TemporaryDataResource.js +14 -1
- package/dist/esm/resources/temporary/TemporaryDataResource.js.map +1 -1
- package/dist/esm/tools/area-tool/AreaTool.input.schema.d.ts +2 -2
- package/dist/esm/tools/bearing-tool/BearingTool.output.schema.d.ts +2 -2
- package/dist/esm/tools/buffer-tool/BufferTool.input.schema.d.ts +2 -2
- package/dist/esm/tools/convex-tool/ConvexTool.d.ts +18 -0
- package/dist/esm/tools/convex-tool/ConvexTool.d.ts.map +1 -0
- package/dist/esm/tools/convex-tool/ConvexTool.input.schema.d.ts +25 -0
- package/dist/esm/tools/convex-tool/ConvexTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/convex-tool/ConvexTool.input.schema.js +13 -0
- package/dist/esm/tools/convex-tool/ConvexTool.input.schema.js.map +1 -0
- package/dist/esm/tools/convex-tool/ConvexTool.js +66 -0
- package/dist/esm/tools/convex-tool/ConvexTool.js.map +1 -0
- package/dist/esm/tools/convex-tool/ConvexTool.output.schema.d.ts +13 -0
- package/dist/esm/tools/convex-tool/ConvexTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/convex-tool/ConvexTool.output.schema.js +11 -0
- package/dist/esm/tools/convex-tool/ConvexTool.output.schema.js.map +1 -0
- package/dist/esm/tools/destination-tool/DestinationTool.d.ts +18 -0
- package/dist/esm/tools/destination-tool/DestinationTool.d.ts.map +1 -0
- package/dist/esm/tools/destination-tool/DestinationTool.input.schema.d.ts +34 -0
- package/dist/esm/tools/destination-tool/DestinationTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/destination-tool/DestinationTool.input.schema.js +22 -0
- package/dist/esm/tools/destination-tool/DestinationTool.input.schema.js.map +1 -0
- package/dist/esm/tools/destination-tool/DestinationTool.js +79 -0
- package/dist/esm/tools/destination-tool/DestinationTool.js.map +1 -0
- package/dist/esm/tools/destination-tool/DestinationTool.output.schema.d.ts +34 -0
- package/dist/esm/tools/destination-tool/DestinationTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/destination-tool/DestinationTool.output.schema.js +15 -0
- package/dist/esm/tools/destination-tool/DestinationTool.output.schema.js.map +1 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.d.ts +18 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.d.ts.map +1 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.input.schema.d.ts +13 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.input.schema.js +9 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.input.schema.js.map +1 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.js +71 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.js.map +1 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.output.schema.d.ts +13 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.output.schema.js +13 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.output.schema.js.map +1 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +32 -32
- package/dist/esm/tools/distance-tool/DistanceTool.input.schema.d.ts +2 -2
- package/dist/esm/tools/distance-tool/DistanceTool.output.schema.d.ts +3 -3
- package/dist/esm/tools/intersect-tool/IntersectTool.d.ts +18 -0
- package/dist/esm/tools/intersect-tool/IntersectTool.d.ts.map +1 -0
- package/dist/esm/tools/intersect-tool/IntersectTool.input.schema.d.ts +13 -0
- package/dist/esm/tools/intersect-tool/IntersectTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/intersect-tool/IntersectTool.input.schema.js +9 -0
- package/dist/esm/tools/intersect-tool/IntersectTool.input.schema.js.map +1 -0
- package/dist/esm/tools/intersect-tool/IntersectTool.js +71 -0
- package/dist/esm/tools/intersect-tool/IntersectTool.js.map +1 -0
- package/dist/esm/tools/intersect-tool/IntersectTool.output.schema.d.ts +13 -0
- package/dist/esm/tools/intersect-tool/IntersectTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/intersect-tool/IntersectTool.output.schema.js +11 -0
- package/dist/esm/tools/intersect-tool/IntersectTool.output.schema.js.map +1 -0
- package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts +2 -2
- package/dist/esm/tools/length-tool/LengthTool.d.ts +18 -0
- package/dist/esm/tools/length-tool/LengthTool.d.ts.map +1 -0
- package/dist/esm/tools/length-tool/LengthTool.input.schema.d.ts +13 -0
- package/dist/esm/tools/length-tool/LengthTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/length-tool/LengthTool.input.schema.js +18 -0
- package/dist/esm/tools/length-tool/LengthTool.input.schema.js.map +1 -0
- package/dist/esm/tools/length-tool/LengthTool.js +65 -0
- package/dist/esm/tools/length-tool/LengthTool.js.map +1 -0
- package/dist/esm/tools/length-tool/LengthTool.output.schema.d.ts +16 -0
- package/dist/esm/tools/length-tool/LengthTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/length-tool/LengthTool.output.schema.js +11 -0
- package/dist/esm/tools/length-tool/LengthTool.output.schema.js.map +1 -0
- package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.d.ts +18 -0
- package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.d.ts.map +1 -0
- package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.input.schema.d.ts +31 -0
- package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.input.schema.js +24 -0
- package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.input.schema.js.map +1 -0
- package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.js +77 -0
- package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.js.map +1 -0
- package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.output.schema.d.ts +34 -0
- package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.output.schema.js +17 -0
- package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.output.schema.js.map +1 -0
- package/dist/esm/tools/nearest-point-tool/NearestPointTool.d.ts +18 -0
- package/dist/esm/tools/nearest-point-tool/NearestPointTool.d.ts.map +1 -0
- package/dist/esm/tools/nearest-point-tool/NearestPointTool.input.schema.d.ts +46 -0
- package/dist/esm/tools/nearest-point-tool/NearestPointTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/nearest-point-tool/NearestPointTool.input.schema.js +23 -0
- package/dist/esm/tools/nearest-point-tool/NearestPointTool.input.schema.js.map +1 -0
- package/dist/esm/tools/nearest-point-tool/NearestPointTool.js +82 -0
- package/dist/esm/tools/nearest-point-tool/NearestPointTool.js.map +1 -0
- package/dist/esm/tools/nearest-point-tool/NearestPointTool.output.schema.d.ts +34 -0
- package/dist/esm/tools/nearest-point-tool/NearestPointTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/nearest-point-tool/NearestPointTool.output.schema.js +15 -0
- package/dist/esm/tools/nearest-point-tool/NearestPointTool.output.schema.js.map +1 -0
- package/dist/esm/tools/optimization-tool/OptimizationTool.input.schema.d.ts +2 -2
- package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.input.schema.d.ts +2 -2
- package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.d.ts +18 -0
- package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.d.ts.map +1 -0
- package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.input.schema.d.ts +28 -0
- package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.input.schema.js +21 -0
- package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.input.schema.js.map +1 -0
- package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.js +80 -0
- package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.js.map +1 -0
- package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.output.schema.d.ts +31 -0
- package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.output.schema.js +14 -0
- package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.output.schema.js.map +1 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +1 -1
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +12 -12
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +8 -8
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +70 -0
- 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 +6 -6
- package/dist/esm/tools/shared/polygonSchema.d.ts +4 -0
- package/dist/esm/tools/shared/polygonSchema.d.ts.map +1 -0
- package/dist/esm/tools/shared/polygonSchema.js +12 -0
- package/dist/esm/tools/shared/polygonSchema.js.map +1 -0
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +12 -12
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js +2 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +31 -13
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/esm/tools/toolRegistry.d.ts +11 -2
- package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
- package/dist/esm/tools/toolRegistry.js +18 -0
- package/dist/esm/tools/toolRegistry.js.map +1 -1
- package/dist/esm/tools/union-tool/UnionTool.d.ts +18 -0
- package/dist/esm/tools/union-tool/UnionTool.d.ts.map +1 -0
- package/dist/esm/tools/union-tool/UnionTool.input.schema.d.ts +10 -0
- package/dist/esm/tools/union-tool/UnionTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/union-tool/UnionTool.input.schema.js +11 -0
- package/dist/esm/tools/union-tool/UnionTool.input.schema.js.map +1 -0
- package/dist/esm/tools/union-tool/UnionTool.js +68 -0
- package/dist/esm/tools/union-tool/UnionTool.js.map +1 -0
- package/dist/esm/tools/union-tool/UnionTool.output.schema.d.ts +13 -0
- package/dist/esm/tools/union-tool/UnionTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/union-tool/UnionTool.output.schema.js +10 -0
- package/dist/esm/tools/union-tool/UnionTool.output.schema.js.map +1 -0
- package/dist/esm/utils/temporaryResourceManager.d.ts +16 -4
- package/dist/esm/utils/temporaryResourceManager.d.ts.map +1 -1
- package/dist/esm/utils/temporaryResourceManager.js +34 -3
- package/dist/esm/utils/temporaryResourceManager.js.map +1 -1
- package/dist/esm/version.json +3 -3
- package/package.json +2 -2
- package/patches/@modelcontextprotocol+sdk+1.29.0.patch +62 -0
- package/patches/@modelcontextprotocol+sdk+1.27.1.patch +0 -33
|
@@ -8,6 +8,11 @@ const server_1 = require("@mcp-ui/server");
|
|
|
8
8
|
const MapboxApiBasedTool_js_1 = require("../MapboxApiBasedTool.js");
|
|
9
9
|
const StaticMapImageTool_input_schema_js_1 = require("./StaticMapImageTool.input.schema.js");
|
|
10
10
|
const toolConfig_js_1 = require("../../config/toolConfig.js");
|
|
11
|
+
const temporaryResourceManager_js_1 = require("../../utils/temporaryResourceManager.js");
|
|
12
|
+
// Images larger than this threshold are stored as temporary resources instead
|
|
13
|
+
// of being inlined as base64, to avoid exceeding Claude Desktop's 1MB tool
|
|
14
|
+
// result limit. base64 adds ~33% overhead, so 700KB raw ≈ 933KB encoded.
|
|
15
|
+
const IMAGE_INLINE_THRESHOLD = 700 * 1024; // 700KB
|
|
11
16
|
class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
12
17
|
name = 'static_map_image_tool';
|
|
13
18
|
description = 'Generates a static map image from Mapbox Static Images API. Supports center coordinates, zoom level (0-22), image size (up to 1280x1280), various Mapbox styles, and overlays (markers, paths, GeoJSON). Returns PNG for vector styles, JPEG for raster-only styles.';
|
|
@@ -85,8 +90,13 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
|
85
90
|
overlayString = encodedOverlays.join(',') + '/';
|
|
86
91
|
}
|
|
87
92
|
const density = input.highDensity ? '@2x' : '';
|
|
88
|
-
const
|
|
89
|
-
|
|
93
|
+
const encodedStyle = input.style
|
|
94
|
+
.split('/')
|
|
95
|
+
.map(encodeURIComponent)
|
|
96
|
+
.join('/');
|
|
97
|
+
const publicUrl = `${MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint}styles/v1/${encodedStyle}/static/${overlayString}${lng},${lat},${input.zoom}/${width}x${height}${density}`;
|
|
98
|
+
const url = `${publicUrl}?access_token=${accessToken}`;
|
|
99
|
+
// Fetch image
|
|
90
100
|
const response = await this.httpRequest(url);
|
|
91
101
|
if (!response.ok) {
|
|
92
102
|
const errorMessage = await this.getErrorMessage(response);
|
|
@@ -96,21 +106,29 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
|
96
106
|
};
|
|
97
107
|
}
|
|
98
108
|
const buffer = await response.arrayBuffer();
|
|
99
|
-
const base64Data = Buffer.from(buffer).toString('base64');
|
|
100
109
|
const isRasterStyle = input.style.includes('satellite');
|
|
101
110
|
const mimeType = isRasterStyle ? 'image/jpeg' : 'image/png';
|
|
102
111
|
// content[0] MUST be the URL text — MCP Apps UI finds it via content.find(c => c.type === 'text')
|
|
112
|
+
// Use public URL (without credentials) to avoid leaking the access token
|
|
103
113
|
const content = [
|
|
104
|
-
{
|
|
105
|
-
type: 'text',
|
|
106
|
-
text: url
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
type: 'image',
|
|
110
|
-
data: base64Data,
|
|
111
|
-
mimeType
|
|
112
|
-
}
|
|
114
|
+
{ type: 'text', text: publicUrl }
|
|
113
115
|
];
|
|
116
|
+
if (buffer.byteLength > IMAGE_INLINE_THRESHOLD) {
|
|
117
|
+
// Image is too large to inline safely — store as temporary resource
|
|
118
|
+
const resourceId = (0, node_crypto_1.randomBytes)(16).toString('hex');
|
|
119
|
+
const resourceUri = `mapbox://temp/static-map-${resourceId}`;
|
|
120
|
+
const base64Data = Buffer.from(buffer).toString('base64');
|
|
121
|
+
temporaryResourceManager_js_1.temporaryResourceManager.create(resourceId, resourceUri, base64Data, { toolName: this.name, size: buffer.byteLength }, undefined, mimeType);
|
|
122
|
+
content.push({
|
|
123
|
+
type: 'text',
|
|
124
|
+
text: `⚠️ Image (${Math.round(buffer.byteLength / 1024)}KB) stored as temporary resource.\nResource URI: ${resourceUri}\nTTL: 30 minutes`
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
// Image is small enough to inline as base64
|
|
129
|
+
const base64Data = Buffer.from(buffer).toString('base64');
|
|
130
|
+
content.push({ type: 'image', data: base64Data, mimeType });
|
|
131
|
+
}
|
|
114
132
|
// Conditionally add MCP-UI resource if enabled (backward compatibility)
|
|
115
133
|
if ((0, toolConfig_js_1.isMcpUiEnabled)()) {
|
|
116
134
|
const uiResource = (0, server_1.createUIResource)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticMapImageTool.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"StaticMapImageTool.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
import { PointsWithinPolygonTool } from './points-within-polygon-tool/PointsWithinPolygonTool.js';
|
|
2
|
+
import { UnionTool } from './union-tool/UnionTool.js';
|
|
3
|
+
import { NearestPointTool } from './nearest-point-tool/NearestPointTool.js';
|
|
4
|
+
import { IntersectTool } from './intersect-tool/IntersectTool.js';
|
|
5
|
+
import { DifferenceTool } from './difference-tool/DifferenceTool.js';
|
|
6
|
+
import { DestinationTool } from './destination-tool/DestinationTool.js';
|
|
7
|
+
import { LengthTool } from './length-tool/LengthTool.js';
|
|
8
|
+
import { NearestPointOnLineTool } from './nearest-point-on-line-tool/NearestPointOnLineTool.js';
|
|
9
|
+
import { ConvexTool } from './convex-tool/ConvexTool.js';
|
|
1
10
|
import { PlaceDetailsTool } from './place-details-tool/PlaceDetailsTool.js';
|
|
2
11
|
import { SimplifyTool } from './simplify-tool/SimplifyTool.js';
|
|
3
12
|
import { BoundingBoxTool } from './bounding-box-tool/BoundingBoxTool.js';
|
|
@@ -23,7 +32,7 @@ import { SearchAndGeocodeTool } from './search-and-geocode-tool/SearchAndGeocode
|
|
|
23
32
|
* Core tools that work in all MCP clients without requiring special capabilities
|
|
24
33
|
* These tools are registered immediately during server startup
|
|
25
34
|
*/
|
|
26
|
-
export declare const CORE_TOOLS: readonly [PlaceDetailsTool, SimplifyTool, BoundingBoxTool, CentroidTool, MidpointTool, BearingTool, AreaTool, BufferTool, PointInPolygonTool, DistanceTool, CategorySearchTool, DirectionsTool, IsochroneTool, MapMatchingTool, MatrixTool, OptimizationTool, ReverseGeocodeTool, StaticMapImageTool, SearchAndGeocodeTool];
|
|
35
|
+
export declare const CORE_TOOLS: readonly [PointsWithinPolygonTool, UnionTool, NearestPointTool, IntersectTool, DifferenceTool, DestinationTool, LengthTool, NearestPointOnLineTool, ConvexTool, PlaceDetailsTool, SimplifyTool, BoundingBoxTool, CentroidTool, MidpointTool, BearingTool, AreaTool, BufferTool, PointInPolygonTool, DistanceTool, CategorySearchTool, DirectionsTool, IsochroneTool, MapMatchingTool, MatrixTool, OptimizationTool, ReverseGeocodeTool, StaticMapImageTool, SearchAndGeocodeTool];
|
|
27
36
|
/**
|
|
28
37
|
* Tools that require elicitation capability for optimal functionality
|
|
29
38
|
* These tools use elicitInput() for secure token management
|
|
@@ -53,7 +62,7 @@ export declare const RESOURCE_FALLBACK_TOOLS: readonly [ResourceReaderTool, Cate
|
|
|
53
62
|
/**
|
|
54
63
|
* All tools combined (for backward compatibility and testing)
|
|
55
64
|
*/
|
|
56
|
-
export declare const ALL_TOOLS: readonly [PlaceDetailsTool, SimplifyTool, BoundingBoxTool, CentroidTool, MidpointTool, BearingTool, AreaTool, BufferTool, PointInPolygonTool, DistanceTool, CategorySearchTool, DirectionsTool, IsochroneTool, MapMatchingTool, MatrixTool, OptimizationTool, ReverseGeocodeTool, StaticMapImageTool, SearchAndGeocodeTool, ResourceReaderTool, CategoryListTool];
|
|
65
|
+
export declare const ALL_TOOLS: readonly [PointsWithinPolygonTool, UnionTool, NearestPointTool, IntersectTool, DifferenceTool, DestinationTool, LengthTool, NearestPointOnLineTool, ConvexTool, PlaceDetailsTool, SimplifyTool, BoundingBoxTool, CentroidTool, MidpointTool, BearingTool, AreaTool, BufferTool, PointInPolygonTool, DistanceTool, CategorySearchTool, DirectionsTool, IsochroneTool, MapMatchingTool, MatrixTool, OptimizationTool, ReverseGeocodeTool, StaticMapImageTool, SearchAndGeocodeTool, ResourceReaderTool, CategoryListTool];
|
|
57
66
|
export type ToolInstance = (typeof ALL_TOOLS)[number];
|
|
58
67
|
/**
|
|
59
68
|
* Get all tools (for backward compatibility)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolRegistry.d.ts","sourceRoot":"","sources":["../../../src/tools/toolRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAGzF;;;GAGG;AACH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"toolRegistry.d.ts","sourceRoot":"","sources":["../../../src/tools/toolRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAClG,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAGzF;;;GAGG;AACH,eAAO,MAAM,UAAU,mdA8Bb,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,aAAc,CAAC;AAE7C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,iDAG1B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS,yfAIZ,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,WAAW,IAAI,SAAS,YAAY,EAAE,CAErD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,YAAY,EAAE,CAEtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,YAAY,EAAE,CAE7D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,SAAS,YAAY,EAAE,CAElE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEpE"}
|
|
@@ -9,6 +9,15 @@ exports.getElicitationTools = getElicitationTools;
|
|
|
9
9
|
exports.getResourceFallbackTools = getResourceFallbackTools;
|
|
10
10
|
exports.getToolByName = getToolByName;
|
|
11
11
|
// INSERT NEW TOOL IMPORT HERE
|
|
12
|
+
const PointsWithinPolygonTool_js_1 = require("./points-within-polygon-tool/PointsWithinPolygonTool.js");
|
|
13
|
+
const UnionTool_js_1 = require("./union-tool/UnionTool.js");
|
|
14
|
+
const NearestPointTool_js_1 = require("./nearest-point-tool/NearestPointTool.js");
|
|
15
|
+
const IntersectTool_js_1 = require("./intersect-tool/IntersectTool.js");
|
|
16
|
+
const DifferenceTool_js_1 = require("./difference-tool/DifferenceTool.js");
|
|
17
|
+
const DestinationTool_js_1 = require("./destination-tool/DestinationTool.js");
|
|
18
|
+
const LengthTool_js_1 = require("./length-tool/LengthTool.js");
|
|
19
|
+
const NearestPointOnLineTool_js_1 = require("./nearest-point-on-line-tool/NearestPointOnLineTool.js");
|
|
20
|
+
const ConvexTool_js_1 = require("./convex-tool/ConvexTool.js");
|
|
12
21
|
const PlaceDetailsTool_js_1 = require("./place-details-tool/PlaceDetailsTool.js");
|
|
13
22
|
const SimplifyTool_js_1 = require("./simplify-tool/SimplifyTool.js");
|
|
14
23
|
const BoundingBoxTool_js_1 = require("./bounding-box-tool/BoundingBoxTool.js");
|
|
@@ -37,6 +46,15 @@ const httpPipeline_js_1 = require("../utils/httpPipeline.js");
|
|
|
37
46
|
*/
|
|
38
47
|
exports.CORE_TOOLS = [
|
|
39
48
|
// INSERT NEW TOOL INSTANCE HERE
|
|
49
|
+
new PointsWithinPolygonTool_js_1.PointsWithinPolygonTool(),
|
|
50
|
+
new UnionTool_js_1.UnionTool(),
|
|
51
|
+
new NearestPointTool_js_1.NearestPointTool(),
|
|
52
|
+
new IntersectTool_js_1.IntersectTool(),
|
|
53
|
+
new DifferenceTool_js_1.DifferenceTool(),
|
|
54
|
+
new DestinationTool_js_1.DestinationTool(),
|
|
55
|
+
new LengthTool_js_1.LengthTool(),
|
|
56
|
+
new NearestPointOnLineTool_js_1.NearestPointOnLineTool(),
|
|
57
|
+
new ConvexTool_js_1.ConvexTool(),
|
|
40
58
|
new PlaceDetailsTool_js_1.PlaceDetailsTool({ httpRequest: httpPipeline_js_1.httpRequest }),
|
|
41
59
|
new SimplifyTool_js_1.SimplifyTool(),
|
|
42
60
|
new BoundingBoxTool_js_1.BoundingBoxTool(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["../../../src/tools/toolRegistry.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;
|
|
1
|
+
{"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["../../../src/tools/toolRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseTool } from '../BaseTool.js';
|
|
2
|
+
import { UnionInputSchema } from './UnionTool.input.schema.js';
|
|
3
|
+
import { UnionOutputSchema } from './UnionTool.output.schema.js';
|
|
4
|
+
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
+
export declare class UnionTool extends BaseTool<typeof UnionInputSchema, typeof UnionOutputSchema> {
|
|
6
|
+
readonly name = "union_tool";
|
|
7
|
+
readonly description: string;
|
|
8
|
+
readonly annotations: {
|
|
9
|
+
title: string;
|
|
10
|
+
readOnlyHint: boolean;
|
|
11
|
+
destructiveHint: boolean;
|
|
12
|
+
idempotentHint: boolean;
|
|
13
|
+
openWorldHint: boolean;
|
|
14
|
+
};
|
|
15
|
+
constructor();
|
|
16
|
+
run(rawInput: unknown): Promise<CallToolResult>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=UnionTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnionTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/union-tool/UnionTool.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EACL,iBAAiB,EAElB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,qBAAa,SAAU,SAAQ,QAAQ,CACrC,OAAO,gBAAgB,EACvB,OAAO,iBAAiB,CACzB;IACC,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,WAAW,SAIiB;IAErC,QAAQ,CAAC,WAAW;;;;;;MAMlB;;IAMI,GAAG,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;CAmDtD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const UnionInputSchema: z.ZodObject<{
|
|
3
|
+
polygons: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">, "many">;
|
|
4
|
+
}, "strip", z.ZodTypeAny, {
|
|
5
|
+
polygons: number[][][][];
|
|
6
|
+
}, {
|
|
7
|
+
polygons: number[][][][];
|
|
8
|
+
}>;
|
|
9
|
+
export type UnionInput = z.infer<typeof UnionInputSchema>;
|
|
10
|
+
//# sourceMappingURL=UnionTool.input.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnionTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/union-tool/UnionTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB;;;;;;EAK3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Mapbox, Inc.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.UnionInputSchema = void 0;
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const polygonSchema_js_1 = require("../shared/polygonSchema.js");
|
|
8
|
+
exports.UnionInputSchema = zod_1.z.object({
|
|
9
|
+
polygons: zod_1.z
|
|
10
|
+
.array(polygonSchema_js_1.PolygonSchema)
|
|
11
|
+
.min(2)
|
|
12
|
+
.describe('Array of polygons to merge into a single union geometry')
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=UnionTool.input.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnionTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/union-tool/UnionTool.input.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AACxB,iEAA2D;AAE9C,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,OAAC;SACR,KAAK,CAAC,gCAAa,CAAC;SACpB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,yDAAyD,CAAC;CACvE,CAAC,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Mapbox, Inc.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.UnionTool = void 0;
|
|
6
|
+
const turf_1 = require("@turf/turf");
|
|
7
|
+
const api_1 = require("@opentelemetry/api");
|
|
8
|
+
const tracing_js_1 = require("../../utils/tracing.js");
|
|
9
|
+
const BaseTool_js_1 = require("../BaseTool.js");
|
|
10
|
+
const UnionTool_input_schema_js_1 = require("./UnionTool.input.schema.js");
|
|
11
|
+
const UnionTool_output_schema_js_1 = require("./UnionTool.output.schema.js");
|
|
12
|
+
class UnionTool extends BaseTool_js_1.BaseTool {
|
|
13
|
+
name = 'union_tool';
|
|
14
|
+
description = 'Merge two or more polygons into a single unified geometry. ' +
|
|
15
|
+
'Useful for combining service areas, delivery zones, isochrones, or coverage regions. ' +
|
|
16
|
+
'Returns a Polygon or MultiPolygon if the inputs do not overlap. ' +
|
|
17
|
+
'Works offline without API calls.';
|
|
18
|
+
annotations = {
|
|
19
|
+
title: 'Union Polygons',
|
|
20
|
+
readOnlyHint: true,
|
|
21
|
+
destructiveHint: false,
|
|
22
|
+
idempotentHint: true,
|
|
23
|
+
openWorldHint: false
|
|
24
|
+
};
|
|
25
|
+
constructor() {
|
|
26
|
+
super({ inputSchema: UnionTool_input_schema_js_1.UnionInputSchema, outputSchema: UnionTool_output_schema_js_1.UnionOutputSchema });
|
|
27
|
+
}
|
|
28
|
+
async run(rawInput) {
|
|
29
|
+
const toolContext = (0, tracing_js_1.createLocalToolExecutionContext)(this.name, 0);
|
|
30
|
+
return await api_1.context.with(api_1.trace.setSpan(api_1.context.active(), toolContext.span), async () => {
|
|
31
|
+
try {
|
|
32
|
+
const input = UnionTool_input_schema_js_1.UnionInputSchema.parse(rawInput);
|
|
33
|
+
const polys = input.polygons.map((rings) => (0, turf_1.polygon)(rings));
|
|
34
|
+
// Union all polygons by passing them as a FeatureCollection
|
|
35
|
+
const merged = (0, turf_1.union)((0, turf_1.featureCollection)(polys));
|
|
36
|
+
if (!merged)
|
|
37
|
+
throw new Error('Union operation returned null');
|
|
38
|
+
const output = {
|
|
39
|
+
geometry: merged.geometry,
|
|
40
|
+
type: merged.geometry.type
|
|
41
|
+
};
|
|
42
|
+
const validated = this.validateOutput(output);
|
|
43
|
+
const text = `Union of ${input.polygons.length} polygons computed.\n` +
|
|
44
|
+
`Result type: ${validated.type}\n` +
|
|
45
|
+
`GeoJSON geometry:\n${JSON.stringify(validated.geometry, null, 2)}`;
|
|
46
|
+
toolContext.span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
47
|
+
toolContext.span.end();
|
|
48
|
+
return {
|
|
49
|
+
content: [{ type: 'text', text }],
|
|
50
|
+
structuredContent: validated,
|
|
51
|
+
isError: false
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
56
|
+
toolContext.span.setStatus({
|
|
57
|
+
code: api_1.SpanStatusCode.ERROR,
|
|
58
|
+
message: errorMessage
|
|
59
|
+
});
|
|
60
|
+
toolContext.span.end();
|
|
61
|
+
return {
|
|
62
|
+
content: [
|
|
63
|
+
{ type: 'text', text: `UnionTool: ${errorMessage}` }
|
|
64
|
+
],
|
|
65
|
+
isError: true
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.UnionTool = UnionTool;
|
|
72
|
+
//# sourceMappingURL=UnionTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnionTool.js","sourceRoot":"","sources":["../../../../src/tools/union-tool/UnionTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const UnionOutputSchema: z.ZodObject<{
|
|
3
|
+
geometry: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
4
|
+
type: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
type: string;
|
|
7
|
+
geometry: Record<string, unknown>;
|
|
8
|
+
}, {
|
|
9
|
+
type: string;
|
|
10
|
+
geometry: Record<string, unknown>;
|
|
11
|
+
}>;
|
|
12
|
+
export type UnionOutput = z.infer<typeof UnionOutputSchema>;
|
|
13
|
+
//# sourceMappingURL=UnionTool.output.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnionTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/union-tool/UnionTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB;;;;;;;;;EAO5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Mapbox, Inc.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.UnionOutputSchema = void 0;
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
exports.UnionOutputSchema = zod_1.z.object({
|
|
8
|
+
geometry: zod_1.z
|
|
9
|
+
.record(zod_1.z.unknown())
|
|
10
|
+
.describe('GeoJSON geometry of the merged polygon (Polygon or MultiPolygon)'),
|
|
11
|
+
type: zod_1.z.string().describe('Geometry type: Polygon or MultiPolygon')
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=UnionTool.output.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnionTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/union-tool/UnionTool.output.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AAEX,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,OAAC;SACR,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;SACnB,QAAQ,CACP,kEAAkE,CACnE;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CACpE,CAAC,CAAC"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Manager for temporary resources created from large tool responses.
|
|
3
|
-
* Resources are stored in-memory with configurable TTL
|
|
3
|
+
* Resources are stored in-memory with configurable TTL and a total byte cap
|
|
4
|
+
* to prevent unbounded memory growth. When the cap is exceeded, the oldest
|
|
5
|
+
* entries are evicted first.
|
|
4
6
|
*/
|
|
5
7
|
export interface TemporaryResource {
|
|
6
8
|
id: string;
|
|
7
9
|
uri: string;
|
|
8
10
|
data: unknown;
|
|
11
|
+
mimeType?: string;
|
|
12
|
+
byteSize: number;
|
|
9
13
|
created: number;
|
|
10
14
|
ttl: number;
|
|
11
15
|
metadata?: {
|
|
@@ -15,13 +19,17 @@ export interface TemporaryResource {
|
|
|
15
19
|
}
|
|
16
20
|
export declare class TemporaryResourceManager {
|
|
17
21
|
private defaultTTL;
|
|
22
|
+
private maxBytes;
|
|
18
23
|
private resources;
|
|
19
24
|
private cleanupInterval?;
|
|
20
|
-
|
|
25
|
+
private totalBytes;
|
|
26
|
+
constructor(defaultTTL?: number, // 30 minutes
|
|
27
|
+
maxBytes?: number);
|
|
21
28
|
/**
|
|
22
|
-
* Create a temporary resource
|
|
29
|
+
* Create a temporary resource. Evicts oldest entries if the byte cap would
|
|
30
|
+
* be exceeded.
|
|
23
31
|
*/
|
|
24
|
-
create(id: string, uri: string, data: unknown, metadata?: TemporaryResource['metadata'], ttl?: number): TemporaryResource;
|
|
32
|
+
create(id: string, uri: string, data: unknown, metadata?: TemporaryResource['metadata'], ttl?: number, mimeType?: string): TemporaryResource;
|
|
25
33
|
/**
|
|
26
34
|
* Get a resource by URI
|
|
27
35
|
*/
|
|
@@ -38,6 +46,10 @@ export declare class TemporaryResourceManager {
|
|
|
38
46
|
* Get count of active resources
|
|
39
47
|
*/
|
|
40
48
|
count(): number;
|
|
49
|
+
/**
|
|
50
|
+
* Get total bytes currently stored
|
|
51
|
+
*/
|
|
52
|
+
totalBytesStored(): number;
|
|
41
53
|
/**
|
|
42
54
|
* Clear all resources
|
|
43
55
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporaryResourceManager.d.ts","sourceRoot":"","sources":["../../../src/utils/temporaryResourceManager.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"temporaryResourceManager.d.ts","sourceRoot":"","sources":["../../../src/utils/temporaryResourceManager.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,qBAAa,wBAAwB;IAMjC,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ;IANlB,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,UAAU,CAAK;gBAGb,UAAU,GAAE,MAAuB,EAAE,aAAa;IAClD,QAAQ,GAAE,MAAyB;IAM7C;;;OAGG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,EACxC,GAAG,CAAC,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB,iBAAiB;IA+BpB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAiB/C;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQ5B;;OAEG;IACH,OAAO,IAAI,MAAM;IAejB;;OAEG;IACH,KAAK,IAAI,MAAM;IAIf;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,OAAO,IAAI,IAAI;CAOhB;AAGD,eAAO,MAAM,wBAAwB,0BAAiC,CAAC"}
|
|
@@ -5,27 +5,45 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
5
5
|
exports.temporaryResourceManager = exports.TemporaryResourceManager = void 0;
|
|
6
6
|
class TemporaryResourceManager {
|
|
7
7
|
defaultTTL;
|
|
8
|
+
maxBytes;
|
|
8
9
|
resources = new Map();
|
|
9
10
|
cleanupInterval;
|
|
10
|
-
|
|
11
|
+
totalBytes = 0;
|
|
12
|
+
constructor(defaultTTL = 30 * 60 * 1000, // 30 minutes
|
|
13
|
+
maxBytes = 50 * 1024 * 1024 // 50MB
|
|
11
14
|
) {
|
|
12
15
|
this.defaultTTL = defaultTTL;
|
|
16
|
+
this.maxBytes = maxBytes;
|
|
13
17
|
// Run cleanup every 5 minutes
|
|
14
18
|
this.cleanupInterval = setInterval(() => this.cleanup(), 5 * 60 * 1000);
|
|
15
19
|
}
|
|
16
20
|
/**
|
|
17
|
-
* Create a temporary resource
|
|
21
|
+
* Create a temporary resource. Evicts oldest entries if the byte cap would
|
|
22
|
+
* be exceeded.
|
|
18
23
|
*/
|
|
19
|
-
create(id, uri, data, metadata, ttl) {
|
|
24
|
+
create(id, uri, data, metadata, ttl, mimeType) {
|
|
25
|
+
const dataStr = typeof data === 'string' ? data : JSON.stringify(data);
|
|
26
|
+
const byteSize = Buffer.byteLength(dataStr, 'utf8');
|
|
27
|
+
// Evict oldest entries until we have room
|
|
28
|
+
while (this.totalBytes + byteSize > this.maxBytes &&
|
|
29
|
+
this.resources.size > 0) {
|
|
30
|
+
const oldestUri = this.resources.keys().next().value;
|
|
31
|
+
const oldest = this.resources.get(oldestUri);
|
|
32
|
+
this.resources.delete(oldestUri);
|
|
33
|
+
this.totalBytes -= oldest.byteSize;
|
|
34
|
+
}
|
|
20
35
|
const resource = {
|
|
21
36
|
id,
|
|
22
37
|
uri,
|
|
23
38
|
data,
|
|
39
|
+
mimeType,
|
|
40
|
+
byteSize,
|
|
24
41
|
created: Date.now(),
|
|
25
42
|
ttl: ttl ?? this.defaultTTL,
|
|
26
43
|
metadata
|
|
27
44
|
};
|
|
28
45
|
this.resources.set(uri, resource);
|
|
46
|
+
this.totalBytes += byteSize;
|
|
29
47
|
return resource;
|
|
30
48
|
}
|
|
31
49
|
/**
|
|
@@ -39,6 +57,7 @@ class TemporaryResourceManager {
|
|
|
39
57
|
// Check if expired
|
|
40
58
|
if (Date.now() - resource.created > resource.ttl) {
|
|
41
59
|
this.resources.delete(uri);
|
|
60
|
+
this.totalBytes -= resource.byteSize;
|
|
42
61
|
return undefined;
|
|
43
62
|
}
|
|
44
63
|
return resource;
|
|
@@ -47,6 +66,10 @@ class TemporaryResourceManager {
|
|
|
47
66
|
* Delete a resource
|
|
48
67
|
*/
|
|
49
68
|
delete(uri) {
|
|
69
|
+
const resource = this.resources.get(uri);
|
|
70
|
+
if (resource) {
|
|
71
|
+
this.totalBytes -= resource.byteSize;
|
|
72
|
+
}
|
|
50
73
|
return this.resources.delete(uri);
|
|
51
74
|
}
|
|
52
75
|
/**
|
|
@@ -58,6 +81,7 @@ class TemporaryResourceManager {
|
|
|
58
81
|
for (const [uri, resource] of this.resources.entries()) {
|
|
59
82
|
if (now - resource.created > resource.ttl) {
|
|
60
83
|
this.resources.delete(uri);
|
|
84
|
+
this.totalBytes -= resource.byteSize;
|
|
61
85
|
cleaned++;
|
|
62
86
|
}
|
|
63
87
|
}
|
|
@@ -69,11 +93,18 @@ class TemporaryResourceManager {
|
|
|
69
93
|
count() {
|
|
70
94
|
return this.resources.size;
|
|
71
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Get total bytes currently stored
|
|
98
|
+
*/
|
|
99
|
+
totalBytesStored() {
|
|
100
|
+
return this.totalBytes;
|
|
101
|
+
}
|
|
72
102
|
/**
|
|
73
103
|
* Clear all resources
|
|
74
104
|
*/
|
|
75
105
|
clear() {
|
|
76
106
|
this.resources.clear();
|
|
107
|
+
this.totalBytes = 0;
|
|
77
108
|
}
|
|
78
109
|
/**
|
|
79
110
|
* Stop cleanup interval
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporaryResourceManager.js","sourceRoot":"","sources":["../../../src/utils/temporaryResourceManager.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;
|
|
1
|
+
{"version":3,"file":"temporaryResourceManager.js","sourceRoot":"","sources":["../../../src/utils/temporaryResourceManager.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -76,7 +76,8 @@ const server = new McpServer({
|
|
|
76
76
|
listChanged: true // Advertise support for dynamic tool registration (ready for future capability-dependent tools)
|
|
77
77
|
},
|
|
78
78
|
resources: {},
|
|
79
|
-
prompts: {}
|
|
79
|
+
prompts: {},
|
|
80
|
+
logging: {}
|
|
80
81
|
}
|
|
81
82
|
});
|
|
82
83
|
// Register only core tools before connection
|
|
@@ -136,6 +137,7 @@ server.server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
|
136
137
|
async function main() {
|
|
137
138
|
// Initialize OpenTelemetry tracing if not in test mode
|
|
138
139
|
let tracingInitialized = false;
|
|
140
|
+
let tracingError = null;
|
|
139
141
|
if (process.env.NODE_ENV !== 'test' && !process.env.VITEST) {
|
|
140
142
|
try {
|
|
141
143
|
await initializeTracing();
|
|
@@ -174,15 +176,22 @@ async function main() {
|
|
|
174
176
|
}
|
|
175
177
|
}
|
|
176
178
|
catch (error) {
|
|
177
|
-
//
|
|
178
|
-
|
|
179
|
-
level: 'warning',
|
|
180
|
-
data: `Failed to initialize tracing: ${error instanceof Error ? error.message : String(error)}`
|
|
181
|
-
});
|
|
179
|
+
// Store the error to log after connection is established
|
|
180
|
+
tracingError = error instanceof Error ? error : new Error(String(error));
|
|
182
181
|
}
|
|
183
182
|
}
|
|
183
|
+
// Start receiving messages on stdin and sending messages on stdout
|
|
184
|
+
const transport = new StdioServerTransport();
|
|
185
|
+
await server.connect(transport);
|
|
186
|
+
// Now that we're connected, send all the logging messages
|
|
184
187
|
// Log tracing status and configuration
|
|
185
|
-
if (
|
|
188
|
+
if (tracingError) {
|
|
189
|
+
server.server.sendLoggingMessage({
|
|
190
|
+
level: 'warning',
|
|
191
|
+
data: `Failed to initialize tracing: ${tracingError.message}`
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
else if (tracingInitialized) {
|
|
186
195
|
const tracingConfig = {
|
|
187
196
|
status: 'enabled',
|
|
188
197
|
endpoint: process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'not set',
|
|
@@ -224,9 +233,6 @@ async function main() {
|
|
|
224
233
|
level: 'debug',
|
|
225
234
|
data: JSON.stringify(relevantEnvVars, null, 2)
|
|
226
235
|
});
|
|
227
|
-
// Start receiving messages on stdin and sending messages on stdout
|
|
228
|
-
const transport = new StdioServerTransport();
|
|
229
|
-
await server.connect(transport);
|
|
230
236
|
// After connection, dynamically register capability-dependent tools
|
|
231
237
|
const clientCapabilities = server.server.getClientCapabilities();
|
|
232
238
|
// Debug: Log what capabilities we detected
|