@mapbox/mcp-server 0.12.7 → 0.13.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/dist/commonjs/config/toolConfig.d.ts +0 -10
- package/dist/commonjs/config/toolConfig.d.ts.map +1 -1
- package/dist/commonjs/config/toolConfig.js +0 -36
- package/dist/commonjs/config/toolConfig.js.map +1 -1
- package/dist/commonjs/resources/compute/ComputeResource.d.ts +20 -0
- package/dist/commonjs/resources/compute/ComputeResource.d.ts.map +1 -0
- package/dist/commonjs/resources/compute/ComputeResource.js +49 -0
- package/dist/commonjs/resources/compute/ComputeResource.js.map +1 -0
- package/dist/commonjs/resources/inline-payload/InlinePayloadResource.d.ts +17 -0
- package/dist/commonjs/resources/inline-payload/InlinePayloadResource.d.ts.map +1 -0
- package/dist/commonjs/resources/inline-payload/InlinePayloadResource.js +46 -0
- package/dist/commonjs/resources/inline-payload/InlinePayloadResource.js.map +1 -0
- package/dist/commonjs/resources/resourceRegistry.d.ts +4 -2
- package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -1
- package/dist/commonjs/resources/resourceRegistry.js +16 -6
- package/dist/commonjs/resources/resourceRegistry.js.map +1 -1
- package/dist/commonjs/resources/ui-apps/MapAppUIResource.d.ts +27 -0
- package/dist/commonjs/resources/ui-apps/MapAppUIResource.d.ts.map +1 -0
- package/dist/commonjs/resources/ui-apps/{DirectionsAppUIResource.js → MapAppUIResource.js} +15 -17
- package/dist/commonjs/resources/ui-apps/MapAppUIResource.js.map +1 -0
- package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts +19 -0
- package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts.map +1 -0
- package/dist/commonjs/resources/ui-apps/mapAppHtml.js +1621 -0
- package/dist/commonjs/resources/ui-apps/mapAppHtml.js.map +1 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +46 -41
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +6 -3
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js +3 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/category-search-tool/buildCategorySearchRequestUrl.d.ts +30 -0
- package/dist/commonjs/tools/category-search-tool/buildCategorySearchRequestUrl.d.ts.map +1 -0
- package/dist/commonjs/tools/category-search-tool/buildCategorySearchRequestUrl.js +39 -0
- package/dist/commonjs/tools/category-search-tool/buildCategorySearchRequestUrl.js.map +1 -0
- package/dist/commonjs/tools/difference-tool/DifferenceTool.d.ts.map +1 -1
- package/dist/commonjs/tools/difference-tool/DifferenceTool.js +19 -3
- package/dist/commonjs/tools/difference-tool/DifferenceTool.js.map +1 -1
- package/dist/commonjs/tools/difference-tool/DifferenceTool.output.schema.d.ts +4 -1
- package/dist/commonjs/tools/difference-tool/DifferenceTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/difference-tool/DifferenceTool.output.schema.js +7 -3
- package/dist/commonjs/tools/difference-tool/DifferenceTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts +0 -9
- package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js +9 -4
- package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js +40 -78
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +4 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js +10 -4
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.d.ts +2 -2
- package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.d.ts.map +1 -1
- package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.js +4 -12
- package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.js.map +1 -1
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.js +52 -18
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.js.map +1 -1
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts +4 -1
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.js +7 -3
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/ground-location-tool/buildReverseGeocodeUrl.d.ts +19 -0
- package/dist/commonjs/tools/ground-location-tool/buildReverseGeocodeUrl.d.ts.map +1 -0
- package/dist/commonjs/tools/ground-location-tool/buildReverseGeocodeUrl.js +26 -0
- package/dist/commonjs/tools/ground-location-tool/buildReverseGeocodeUrl.js.map +1 -0
- package/dist/commonjs/tools/intersect-tool/IntersectTool.d.ts.map +1 -1
- package/dist/commonjs/tools/intersect-tool/IntersectTool.js +19 -3
- package/dist/commonjs/tools/intersect-tool/IntersectTool.js.map +1 -1
- package/dist/commonjs/tools/intersect-tool/IntersectTool.output.schema.d.ts +4 -1
- package/dist/commonjs/tools/intersect-tool/IntersectTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/intersect-tool/IntersectTool.output.schema.js +7 -3
- package/dist/commonjs/tools/intersect-tool/IntersectTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +51 -47
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +4 -5
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js +7 -3
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/buildIsochroneRequestUrl.d.ts +28 -0
- package/dist/commonjs/tools/isochrone-tool/buildIsochroneRequestUrl.d.ts.map +1 -0
- package/dist/commonjs/tools/isochrone-tool/buildIsochroneRequestUrl.js +44 -0
- package/dist/commonjs/tools/isochrone-tool/buildIsochroneRequestUrl.js.map +1 -0
- package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.d.ts.map +1 -1
- package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.js +61 -34
- package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.js.map +1 -1
- package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.output.schema.d.ts +8 -5
- package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.output.schema.js +11 -5
- package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/map-matching-tool/buildMapMatchingRequestUrl.d.ts +25 -0
- package/dist/commonjs/tools/map-matching-tool/buildMapMatchingRequestUrl.d.ts.map +1 -0
- package/dist/commonjs/tools/map-matching-tool/buildMapMatchingRequestUrl.js +33 -0
- package/dist/commonjs/tools/map-matching-tool/buildMapMatchingRequestUrl.js.map +1 -0
- package/dist/commonjs/tools/optimization-tool/OptimizationTool.d.ts.map +1 -1
- package/dist/commonjs/tools/optimization-tool/OptimizationTool.input.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/optimization-tool/OptimizationTool.input.schema.js +19 -4
- package/dist/commonjs/tools/optimization-tool/OptimizationTool.input.schema.js.map +1 -1
- package/dist/commonjs/tools/optimization-tool/OptimizationTool.js +32 -33
- package/dist/commonjs/tools/optimization-tool/OptimizationTool.js.map +1 -1
- package/dist/commonjs/tools/optimization-tool/OptimizationTool.output.schema.d.ts +3 -5
- package/dist/commonjs/tools/optimization-tool/OptimizationTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/optimization-tool/OptimizationTool.output.schema.js +6 -1
- package/dist/commonjs/tools/optimization-tool/OptimizationTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/optimization-tool/buildOptimizationRequestUrl.d.ts +30 -0
- package/dist/commonjs/tools/optimization-tool/buildOptimizationRequestUrl.d.ts.map +1 -0
- package/dist/commonjs/tools/optimization-tool/buildOptimizationRequestUrl.js +45 -0
- package/dist/commonjs/tools/optimization-tool/buildOptimizationRequestUrl.js.map +1 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts +60 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts.map +1 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts +41 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js +99 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.js +246 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.js.map +1 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts +97 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.js +35 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.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 +3 -3
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +10 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +58 -48
- 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 +3 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +3 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.d.ts +37 -0
- package/dist/commonjs/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.d.ts.map +1 -0
- package/dist/commonjs/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.js +51 -0
- package/dist/commonjs/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.js.map +1 -0
- package/dist/commonjs/tools/shared/polygonSchema.d.ts +15 -0
- package/dist/commonjs/tools/shared/polygonSchema.d.ts.map +1 -1
- package/dist/commonjs/tools/shared/polygonSchema.js +23 -2
- package/dist/commonjs/tools/shared/polygonSchema.js.map +1 -1
- package/dist/commonjs/tools/toolRegistry.d.ts +3 -2
- package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
- package/dist/commonjs/tools/toolRegistry.js +2 -0
- package/dist/commonjs/tools/toolRegistry.js.map +1 -1
- package/dist/commonjs/tools/union-tool/UnionTool.d.ts.map +1 -1
- package/dist/commonjs/tools/union-tool/UnionTool.js +22 -3
- package/dist/commonjs/tools/union-tool/UnionTool.js.map +1 -1
- package/dist/commonjs/tools/union-tool/UnionTool.output.schema.d.ts +4 -1
- package/dist/commonjs/tools/union-tool/UnionTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/union-tool/UnionTool.output.schema.js +7 -3
- package/dist/commonjs/tools/union-tool/UnionTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/union-tool/buildPolygonOpsMapPayload.d.ts +21 -0
- package/dist/commonjs/tools/union-tool/buildPolygonOpsMapPayload.d.ts.map +1 -0
- package/dist/commonjs/tools/union-tool/buildPolygonOpsMapPayload.js +72 -0
- package/dist/commonjs/tools/union-tool/buildPolygonOpsMapPayload.js.map +1 -0
- package/dist/commonjs/utils/computeRef.d.ts +38 -0
- package/dist/commonjs/utils/computeRef.d.ts.map +1 -0
- package/dist/commonjs/utils/computeRef.js +116 -0
- package/dist/commonjs/utils/computeRef.js.map +1 -0
- package/dist/commonjs/utils/inlinePayloadRef.d.ts +32 -0
- package/dist/commonjs/utils/inlinePayloadRef.d.ts.map +1 -0
- package/dist/commonjs/utils/inlinePayloadRef.js +56 -0
- package/dist/commonjs/utils/inlinePayloadRef.js.map +1 -0
- package/dist/commonjs/utils/mapAppPayload.d.ts +206 -0
- package/dist/commonjs/utils/mapAppPayload.d.ts.map +1 -0
- package/dist/commonjs/utils/mapAppPayload.js +129 -0
- package/dist/commonjs/utils/mapAppPayload.js.map +1 -0
- package/dist/commonjs/utils/selfFetchRef.d.ts +25 -0
- package/dist/commonjs/utils/selfFetchRef.d.ts.map +1 -0
- package/dist/commonjs/utils/selfFetchRef.js +75 -0
- package/dist/commonjs/utils/selfFetchRef.js.map +1 -0
- package/dist/commonjs/utils/storeMapPayload.d.ts +71 -0
- package/dist/commonjs/utils/storeMapPayload.d.ts.map +1 -0
- package/dist/commonjs/utils/storeMapPayload.js +153 -0
- package/dist/commonjs/utils/storeMapPayload.js.map +1 -0
- package/dist/commonjs/version.json +3 -3
- package/dist/esm/config/toolConfig.d.ts +0 -10
- package/dist/esm/config/toolConfig.d.ts.map +1 -1
- package/dist/esm/config/toolConfig.js +0 -35
- package/dist/esm/config/toolConfig.js.map +1 -1
- package/dist/esm/resources/compute/ComputeResource.d.ts +20 -0
- package/dist/esm/resources/compute/ComputeResource.d.ts.map +1 -0
- package/dist/esm/resources/compute/ComputeResource.js +45 -0
- package/dist/esm/resources/compute/ComputeResource.js.map +1 -0
- package/dist/esm/resources/inline-payload/InlinePayloadResource.d.ts +17 -0
- package/dist/esm/resources/inline-payload/InlinePayloadResource.d.ts.map +1 -0
- package/dist/esm/resources/inline-payload/InlinePayloadResource.js +42 -0
- package/dist/esm/resources/inline-payload/InlinePayloadResource.js.map +1 -0
- package/dist/esm/resources/resourceRegistry.d.ts +4 -2
- package/dist/esm/resources/resourceRegistry.d.ts.map +1 -1
- package/dist/esm/resources/resourceRegistry.js +16 -6
- package/dist/esm/resources/resourceRegistry.js.map +1 -1
- package/dist/esm/resources/ui-apps/MapAppUIResource.d.ts +27 -0
- package/dist/esm/resources/ui-apps/MapAppUIResource.d.ts.map +1 -0
- package/dist/esm/resources/ui-apps/{DirectionsAppUIResource.js → MapAppUIResource.js} +13 -15
- package/dist/esm/resources/ui-apps/MapAppUIResource.js.map +1 -0
- package/dist/esm/resources/ui-apps/mapAppHtml.d.ts +19 -0
- package/dist/esm/resources/ui-apps/mapAppHtml.d.ts.map +1 -0
- package/dist/esm/resources/ui-apps/mapAppHtml.js +1617 -0
- package/dist/esm/resources/ui-apps/mapAppHtml.js.map +1 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.js +46 -41
- package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +6 -3
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js +3 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -1
- package/dist/esm/tools/category-search-tool/buildCategorySearchRequestUrl.d.ts +30 -0
- package/dist/esm/tools/category-search-tool/buildCategorySearchRequestUrl.d.ts.map +1 -0
- package/dist/esm/tools/category-search-tool/buildCategorySearchRequestUrl.js +36 -0
- package/dist/esm/tools/category-search-tool/buildCategorySearchRequestUrl.js.map +1 -0
- package/dist/esm/tools/difference-tool/DifferenceTool.d.ts.map +1 -1
- package/dist/esm/tools/difference-tool/DifferenceTool.js +19 -3
- package/dist/esm/tools/difference-tool/DifferenceTool.js.map +1 -1
- package/dist/esm/tools/difference-tool/DifferenceTool.output.schema.d.ts +4 -1
- package/dist/esm/tools/difference-tool/DifferenceTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/difference-tool/DifferenceTool.output.schema.js +7 -3
- package/dist/esm/tools/difference-tool/DifferenceTool.output.schema.js.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +0 -9
- package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js +9 -4
- package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.js +41 -79
- package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +4 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js +10 -4
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -1
- package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.d.ts +2 -2
- package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.d.ts.map +1 -1
- package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.js +4 -12
- package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.js.map +1 -1
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.js +52 -18
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.js.map +1 -1
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts +4 -1
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.js +7 -3
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.js.map +1 -1
- package/dist/esm/tools/ground-location-tool/buildReverseGeocodeUrl.d.ts +19 -0
- package/dist/esm/tools/ground-location-tool/buildReverseGeocodeUrl.d.ts.map +1 -0
- package/dist/esm/tools/ground-location-tool/buildReverseGeocodeUrl.js +23 -0
- package/dist/esm/tools/ground-location-tool/buildReverseGeocodeUrl.js.map +1 -0
- package/dist/esm/tools/intersect-tool/IntersectTool.d.ts.map +1 -1
- package/dist/esm/tools/intersect-tool/IntersectTool.js +19 -3
- package/dist/esm/tools/intersect-tool/IntersectTool.js.map +1 -1
- package/dist/esm/tools/intersect-tool/IntersectTool.output.schema.d.ts +4 -1
- package/dist/esm/tools/intersect-tool/IntersectTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/intersect-tool/IntersectTool.output.schema.js +7 -3
- package/dist/esm/tools/intersect-tool/IntersectTool.output.schema.js.map +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.js +51 -47
- package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +4 -5
- package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js +7 -3
- package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -1
- package/dist/esm/tools/isochrone-tool/buildIsochroneRequestUrl.d.ts +28 -0
- package/dist/esm/tools/isochrone-tool/buildIsochroneRequestUrl.d.ts.map +1 -0
- package/dist/esm/tools/isochrone-tool/buildIsochroneRequestUrl.js +41 -0
- package/dist/esm/tools/isochrone-tool/buildIsochroneRequestUrl.js.map +1 -0
- package/dist/esm/tools/map-matching-tool/MapMatchingTool.d.ts.map +1 -1
- package/dist/esm/tools/map-matching-tool/MapMatchingTool.js +61 -34
- package/dist/esm/tools/map-matching-tool/MapMatchingTool.js.map +1 -1
- package/dist/esm/tools/map-matching-tool/MapMatchingTool.output.schema.d.ts +8 -5
- package/dist/esm/tools/map-matching-tool/MapMatchingTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/map-matching-tool/MapMatchingTool.output.schema.js +11 -5
- package/dist/esm/tools/map-matching-tool/MapMatchingTool.output.schema.js.map +1 -1
- package/dist/esm/tools/map-matching-tool/buildMapMatchingRequestUrl.d.ts +25 -0
- package/dist/esm/tools/map-matching-tool/buildMapMatchingRequestUrl.d.ts.map +1 -0
- package/dist/esm/tools/map-matching-tool/buildMapMatchingRequestUrl.js +30 -0
- package/dist/esm/tools/map-matching-tool/buildMapMatchingRequestUrl.js.map +1 -0
- package/dist/esm/tools/optimization-tool/OptimizationTool.d.ts.map +1 -1
- package/dist/esm/tools/optimization-tool/OptimizationTool.input.schema.d.ts.map +1 -1
- package/dist/esm/tools/optimization-tool/OptimizationTool.input.schema.js +19 -4
- package/dist/esm/tools/optimization-tool/OptimizationTool.input.schema.js.map +1 -1
- package/dist/esm/tools/optimization-tool/OptimizationTool.js +32 -33
- package/dist/esm/tools/optimization-tool/OptimizationTool.js.map +1 -1
- package/dist/esm/tools/optimization-tool/OptimizationTool.output.schema.d.ts +3 -5
- package/dist/esm/tools/optimization-tool/OptimizationTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/optimization-tool/OptimizationTool.output.schema.js +6 -1
- package/dist/esm/tools/optimization-tool/OptimizationTool.output.schema.js.map +1 -1
- package/dist/esm/tools/optimization-tool/buildOptimizationRequestUrl.d.ts +30 -0
- package/dist/esm/tools/optimization-tool/buildOptimizationRequestUrl.d.ts.map +1 -0
- package/dist/esm/tools/optimization-tool/buildOptimizationRequestUrl.js +42 -0
- package/dist/esm/tools/optimization-tool/buildOptimizationRequestUrl.js.map +1 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts +60 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts.map +1 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts +41 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js +96 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.js +242 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.js.map +1 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts +97 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.js +32 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.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 +3 -3
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +10 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +58 -48
- 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 +3 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +3 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.d.ts +37 -0
- package/dist/esm/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.d.ts.map +1 -0
- package/dist/esm/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.js +48 -0
- package/dist/esm/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.js.map +1 -0
- package/dist/esm/tools/shared/polygonSchema.d.ts +15 -0
- package/dist/esm/tools/shared/polygonSchema.d.ts.map +1 -1
- package/dist/esm/tools/shared/polygonSchema.js +23 -2
- package/dist/esm/tools/shared/polygonSchema.js.map +1 -1
- package/dist/esm/tools/toolRegistry.d.ts +3 -2
- package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
- package/dist/esm/tools/toolRegistry.js +2 -0
- package/dist/esm/tools/toolRegistry.js.map +1 -1
- package/dist/esm/tools/union-tool/UnionTool.d.ts.map +1 -1
- package/dist/esm/tools/union-tool/UnionTool.js +22 -3
- package/dist/esm/tools/union-tool/UnionTool.js.map +1 -1
- package/dist/esm/tools/union-tool/UnionTool.output.schema.d.ts +4 -1
- package/dist/esm/tools/union-tool/UnionTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/union-tool/UnionTool.output.schema.js +7 -3
- package/dist/esm/tools/union-tool/UnionTool.output.schema.js.map +1 -1
- package/dist/esm/tools/union-tool/buildPolygonOpsMapPayload.d.ts +21 -0
- package/dist/esm/tools/union-tool/buildPolygonOpsMapPayload.d.ts.map +1 -0
- package/dist/esm/tools/union-tool/buildPolygonOpsMapPayload.js +69 -0
- package/dist/esm/tools/union-tool/buildPolygonOpsMapPayload.js.map +1 -0
- package/dist/esm/utils/computeRef.d.ts +38 -0
- package/dist/esm/utils/computeRef.d.ts.map +1 -0
- package/dist/esm/utils/computeRef.js +111 -0
- package/dist/esm/utils/computeRef.js.map +1 -0
- package/dist/esm/utils/inlinePayloadRef.d.ts +32 -0
- package/dist/esm/utils/inlinePayloadRef.d.ts.map +1 -0
- package/dist/esm/utils/inlinePayloadRef.js +51 -0
- package/dist/esm/utils/inlinePayloadRef.js.map +1 -0
- package/dist/esm/utils/mapAppPayload.d.ts +206 -0
- package/dist/esm/utils/mapAppPayload.d.ts.map +1 -0
- package/dist/esm/utils/mapAppPayload.js +124 -0
- package/dist/esm/utils/mapAppPayload.js.map +1 -0
- package/dist/esm/utils/selfFetchRef.d.ts +25 -0
- package/dist/esm/utils/selfFetchRef.d.ts.map +1 -0
- package/dist/esm/utils/selfFetchRef.js +70 -0
- package/dist/esm/utils/selfFetchRef.js.map +1 -0
- package/dist/esm/utils/storeMapPayload.d.ts +71 -0
- package/dist/esm/utils/storeMapPayload.d.ts.map +1 -0
- package/dist/esm/utils/storeMapPayload.js +145 -0
- package/dist/esm/utils/storeMapPayload.js.map +1 -0
- package/dist/esm/version.json +3 -3
- package/package.json +2 -2
- package/dist/commonjs/resources/ui-apps/DirectionsAppUIResource.d.ts +0 -29
- package/dist/commonjs/resources/ui-apps/DirectionsAppUIResource.d.ts.map +0 -1
- package/dist/commonjs/resources/ui-apps/DirectionsAppUIResource.js.map +0 -1
- package/dist/commonjs/resources/ui-apps/directionsAppHtml.d.ts +0 -45
- package/dist/commonjs/resources/ui-apps/directionsAppHtml.d.ts.map +0 -1
- package/dist/commonjs/resources/ui-apps/directionsAppHtml.js +0 -640
- package/dist/commonjs/resources/ui-apps/directionsAppHtml.js.map +0 -1
- package/dist/esm/resources/ui-apps/DirectionsAppUIResource.d.ts +0 -29
- package/dist/esm/resources/ui-apps/DirectionsAppUIResource.d.ts.map +0 -1
- package/dist/esm/resources/ui-apps/DirectionsAppUIResource.js.map +0 -1
- package/dist/esm/resources/ui-apps/directionsAppHtml.d.ts +0 -45
- package/dist/esm/resources/ui-apps/directionsAppHtml.d.ts.map +0 -1
- package/dist/esm/resources/ui-apps/directionsAppHtml.js +0 -636
- package/dist/esm/resources/ui-apps/directionsAppHtml.js.map +0 -1
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Mapbox, Inc.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.MapAppRefSchema = exports.MAX_INLINE_PAYLOAD_BYTES = void 0;
|
|
6
|
+
exports.storeMapPayload = storeMapPayload;
|
|
7
|
+
exports.buildMapboxRenderField = buildMapboxRenderField;
|
|
8
|
+
exports.renderHint = renderHint;
|
|
9
|
+
exports.resolveMapPayloadRef = resolveMapPayloadRef;
|
|
10
|
+
exports.mergeMapPayloads = mergeMapPayloads;
|
|
11
|
+
const node_crypto_1 = require("node:crypto");
|
|
12
|
+
const zod_1 = require("zod");
|
|
13
|
+
const temporaryResourceManager_js_1 = require("./temporaryResourceManager.js");
|
|
14
|
+
// Above this size, only the ref is included inline (the ref+resources/read
|
|
15
|
+
// path still works for hosts that support it) - matches the 50KB threshold
|
|
16
|
+
// already used elsewhere (e.g. the directions/isochrone large-response
|
|
17
|
+
// stash) for the same "don't bloat the response" reasoning.
|
|
18
|
+
exports.MAX_INLINE_PAYLOAD_BYTES = 50 * 1024;
|
|
19
|
+
/**
|
|
20
|
+
* Schema for the `mapboxRender` field that data tools attach to their
|
|
21
|
+
* structuredContent. Each tool declares this on its output schema so
|
|
22
|
+
* Claude Desktop (and any other host that strictly validates tool results
|
|
23
|
+
* against the published output schema) doesn't flag the response.
|
|
24
|
+
*/
|
|
25
|
+
exports.MapAppRefSchema = zod_1.z
|
|
26
|
+
.object({
|
|
27
|
+
ref: zod_1.z
|
|
28
|
+
.string()
|
|
29
|
+
.describe('Server-side payload reference. Pass to `render_map_tool` via `payload_refs: ["<this ref>"]` to display the data on a live Mapbox GL JS map.')
|
|
30
|
+
})
|
|
31
|
+
.describe('Map-payload reference for `render_map_tool`. Surfaced so the LLM can chain the next call without re-emitting geometry.');
|
|
32
|
+
const TEMP_URI_PREFIX = 'mapbox://temp/map-payload-';
|
|
33
|
+
/**
|
|
34
|
+
* Stash a `MapAppPayload` server-side and return a short reference the LLM
|
|
35
|
+
* can pass to `render_map_tool` instead of inlining the whole payload as
|
|
36
|
+
* tool-call arguments. With detailed geometry (a directions polyline can
|
|
37
|
+
* easily be 5–50 KB), having the LLM emit the payload token-by-token costs
|
|
38
|
+
* 20–30 seconds per render and risks Anthropic API timeouts on big
|
|
39
|
+
* payloads (e.g. polygon-op chains). Passing a ref instead keeps the LLM's
|
|
40
|
+
* emission down to a few tokens.
|
|
41
|
+
*
|
|
42
|
+
* `owner` must be the same account identifier (`getUserNameFromToken`) the
|
|
43
|
+
* caller resolves for its own token — `TemporaryDataResource.read()` fails
|
|
44
|
+
* closed on an unowned resource, so omitting this makes the ref permanently
|
|
45
|
+
* unreadable via the real `resources/read` path the render iframe uses (it
|
|
46
|
+
* always 404s), even though callers that read the manager directly (like
|
|
47
|
+
* `resolveMapPayloadRef`) wouldn't notice anything wrong.
|
|
48
|
+
*/
|
|
49
|
+
function storeMapPayload(payload, owner) {
|
|
50
|
+
const id = (0, node_crypto_1.randomUUID)();
|
|
51
|
+
const uri = `${TEMP_URI_PREFIX}${id}`;
|
|
52
|
+
// 30-minute TTL is the temporaryResourceManager default — same as the
|
|
53
|
+
// directions/isochrone large-response stash, so the lifetime story is
|
|
54
|
+
// consistent across uses.
|
|
55
|
+
temporaryResourceManager_js_1.temporaryResourceManager.create({
|
|
56
|
+
id,
|
|
57
|
+
uri,
|
|
58
|
+
data: payload,
|
|
59
|
+
owner,
|
|
60
|
+
metadata: { toolName: 'map-payload' }
|
|
61
|
+
});
|
|
62
|
+
return uri;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Build the `mapboxRender` field for `render_map_tool`'s own structuredContent
|
|
66
|
+
* - the one tool result the iframe actually reads. Includes the resolved
|
|
67
|
+
* payload inline (in addition to `ref`) when it's small enough, because
|
|
68
|
+
* ChatGPT's MCP Apps bridge delivers `structuredContent` to the iframe intact
|
|
69
|
+
* but has no `resources/read` equivalent at all - the ref alone is
|
|
70
|
+
* permanently unusable there. Claude Desktop strips `structuredContent`
|
|
71
|
+
* before it reaches the iframe, so it's unaffected either way and keeps
|
|
72
|
+
* using the ref (via the sentinel-tagged text) + `resources/read`.
|
|
73
|
+
*
|
|
74
|
+
* Only `render_map_tool` needs this: it's the only tool that declares
|
|
75
|
+
* `_meta.ui.resourceUri`, so it's the only tool result the iframe ever sees.
|
|
76
|
+
*/
|
|
77
|
+
function buildMapboxRenderField(ref, payload) {
|
|
78
|
+
const byteSize = Buffer.byteLength(JSON.stringify(payload), 'utf8');
|
|
79
|
+
if (byteSize > exports.MAX_INLINE_PAYLOAD_BYTES) {
|
|
80
|
+
return { ref };
|
|
81
|
+
}
|
|
82
|
+
return { ref, ...payload };
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* One-line render hint that data tools append to their text output. Tells the
|
|
86
|
+
* LLM the EXACT shape of the next call so it doesn't hallucinate a ref URI.
|
|
87
|
+
* (Seen in the wild: Sonnet inventing `mapbox-isochrone-tool-result://0` when
|
|
88
|
+
* only structuredContent.mapboxRender.ref had the real `mapbox://temp/map-payload-…`
|
|
89
|
+
* URI — including the literal string in the visible text fixes that.)
|
|
90
|
+
*/
|
|
91
|
+
function renderHint(ref) {
|
|
92
|
+
return (`\n\n📍 To show this on a live Mapbox GL JS map, call:\n` +
|
|
93
|
+
` render_map_tool({ "payload_refs": ["${ref}"] })`);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Resolve a `mapbox://temp/map-payload-...` ref back to its `MapAppPayload`.
|
|
97
|
+
* Returns null if the ref is unknown, expired, or owned by a different
|
|
98
|
+
* account than `owner` — this is the same account-scoping enforced by
|
|
99
|
+
* `TemporaryDataResource.read()` (a caller passing another account's ref
|
|
100
|
+
* would otherwise have it silently merged and re-served under their own
|
|
101
|
+
* ref, bypassing the read-side check entirely since this goes straight to
|
|
102
|
+
* the manager rather than through `resources/read`).
|
|
103
|
+
*/
|
|
104
|
+
function resolveMapPayloadRef(ref, owner) {
|
|
105
|
+
if (!ref.startsWith(TEMP_URI_PREFIX))
|
|
106
|
+
return null;
|
|
107
|
+
const entry = temporaryResourceManager_js_1.temporaryResourceManager.get(ref);
|
|
108
|
+
if (!entry || !entry.data)
|
|
109
|
+
return null;
|
|
110
|
+
if (!entry.owner || !owner || entry.owner !== owner)
|
|
111
|
+
return null;
|
|
112
|
+
return entry.data;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Merge multiple `MapAppPayload`s into one. Layer/marker IDs are
|
|
116
|
+
* deduplicated by appending an index suffix when collisions happen.
|
|
117
|
+
* Summaries are joined with " · ". Legends are concatenated.
|
|
118
|
+
*/
|
|
119
|
+
function mergeMapPayloads(payloads) {
|
|
120
|
+
const seenLayerIds = new Set();
|
|
121
|
+
const layers = [];
|
|
122
|
+
const markers = [];
|
|
123
|
+
const legend = [];
|
|
124
|
+
const summaries = [];
|
|
125
|
+
const selfFetch = [];
|
|
126
|
+
payloads.forEach((p, payloadIdx) => {
|
|
127
|
+
if (p.summary)
|
|
128
|
+
summaries.push(p.summary);
|
|
129
|
+
if (Array.isArray(p.layers)) {
|
|
130
|
+
for (const layer of p.layers) {
|
|
131
|
+
let id = layer.id;
|
|
132
|
+
if (seenLayerIds.has(id))
|
|
133
|
+
id = `${layer.id}-${payloadIdx}`;
|
|
134
|
+
seenLayerIds.add(id);
|
|
135
|
+
layers.push({ ...layer, id });
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (Array.isArray(p.markers))
|
|
139
|
+
markers.push(...p.markers);
|
|
140
|
+
if (Array.isArray(p.legend))
|
|
141
|
+
legend.push(...p.legend);
|
|
142
|
+
if (Array.isArray(p.selfFetch))
|
|
143
|
+
selfFetch.push(...p.selfFetch);
|
|
144
|
+
});
|
|
145
|
+
return {
|
|
146
|
+
summary: summaries.length > 0 ? summaries.join(' · ') : undefined,
|
|
147
|
+
layers,
|
|
148
|
+
markers: markers.length > 0 ? markers : undefined,
|
|
149
|
+
legend: legend.length > 0 ? legend : undefined,
|
|
150
|
+
selfFetch: selfFetch.length > 0 ? selfFetch : undefined
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=storeMapPayload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storeMapPayload.js","sourceRoot":"","sources":["../../../src/utils/storeMapPayload.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,17 +2,7 @@ import type { ToolInstance } from '../tools/toolRegistry.js';
|
|
|
2
2
|
export interface ToolConfig {
|
|
3
3
|
enabledTools?: string[];
|
|
4
4
|
disabledTools?: string[];
|
|
5
|
-
enableMcpUi?: boolean;
|
|
6
5
|
}
|
|
7
6
|
export declare function parseToolConfigFromArgs(): ToolConfig;
|
|
8
7
|
export declare function filterTools(tools: readonly ToolInstance[], config: ToolConfig): ToolInstance[];
|
|
9
|
-
/**
|
|
10
|
-
* Check if MCP-UI support is enabled.
|
|
11
|
-
* MCP-UI is enabled by default and can be explicitly disabled via:
|
|
12
|
-
* - Environment variable: ENABLE_MCP_UI=false
|
|
13
|
-
* - Command-line flag: --disable-mcp-ui
|
|
14
|
-
*
|
|
15
|
-
* @returns true if MCP-UI is enabled (default), false if explicitly disabled
|
|
16
|
-
*/
|
|
17
|
-
export declare function isMcpUiEnabled(): boolean;
|
|
18
8
|
//# sourceMappingURL=toolConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolConfig.d.ts","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"toolConfig.d.ts","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,IAAI,UAAU,CAqBpD;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,MAAM,EAAE,UAAU,GACjB,YAAY,EAAE,CAqBhB"}
|
|
@@ -3,10 +3,6 @@
|
|
|
3
3
|
export function parseToolConfigFromArgs() {
|
|
4
4
|
const args = process.argv.slice(2);
|
|
5
5
|
const config = {};
|
|
6
|
-
// Check environment variable first (takes precedence)
|
|
7
|
-
if (process.env.ENABLE_MCP_UI !== undefined) {
|
|
8
|
-
config.enableMcpUi = process.env.ENABLE_MCP_UI === 'true';
|
|
9
|
-
}
|
|
10
6
|
for (let i = 0; i < args.length; i++) {
|
|
11
7
|
const arg = args[i];
|
|
12
8
|
if (arg === '--enable-tools') {
|
|
@@ -21,16 +17,6 @@ export function parseToolConfigFromArgs() {
|
|
|
21
17
|
config.disabledTools = value.split(',').map((t) => t.trim());
|
|
22
18
|
}
|
|
23
19
|
}
|
|
24
|
-
else if (arg === '--disable-mcp-ui') {
|
|
25
|
-
// Command-line flag can disable it if env var not set
|
|
26
|
-
if (config.enableMcpUi === undefined) {
|
|
27
|
-
config.enableMcpUi = false;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
// Default to true if not set (enabled by default)
|
|
32
|
-
if (config.enableMcpUi === undefined) {
|
|
33
|
-
config.enableMcpUi = true;
|
|
34
20
|
}
|
|
35
21
|
return config;
|
|
36
22
|
}
|
|
@@ -49,25 +35,4 @@ export function filterTools(tools, config) {
|
|
|
49
35
|
}
|
|
50
36
|
return filteredTools;
|
|
51
37
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Check if MCP-UI support is enabled.
|
|
54
|
-
* MCP-UI is enabled by default and can be explicitly disabled via:
|
|
55
|
-
* - Environment variable: ENABLE_MCP_UI=false
|
|
56
|
-
* - Command-line flag: --disable-mcp-ui
|
|
57
|
-
*
|
|
58
|
-
* @returns true if MCP-UI is enabled (default), false if explicitly disabled
|
|
59
|
-
*/
|
|
60
|
-
export function isMcpUiEnabled() {
|
|
61
|
-
// Check environment variable first (takes precedence)
|
|
62
|
-
if (process.env.ENABLE_MCP_UI === 'false') {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
// Check command-line arguments
|
|
66
|
-
const args = process.argv.slice(2);
|
|
67
|
-
if (args.includes('--disable-mcp-ui')) {
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
// Default to enabled
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
38
|
//# sourceMappingURL=toolConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolConfig.js","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;
|
|
1
|
+
{"version":3,"file":"toolConfig.js","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AASlC,MAAM,UAAU,uBAAuB;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,KAA8B,EAC9B,MAAkB;IAElB,IAAI,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAE/B,mEAAmE;IACnE,2CAA2C;IAC3C,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,MAAM,CAAC,YAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACzC,CAAC;QACF,mDAAmD;QACnD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,mEAAmE;IACnE,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,aAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseResource } from '../BaseResource.js';
|
|
2
|
+
import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
|
|
3
|
+
import type { ReadResourceResult, ServerNotification, ServerRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Resource for `mapbox://compute/...` refs — the stateless counterpart to
|
|
6
|
+
* `mapbox://temp/...` (see `TemporaryDataResource`). These refs carry their
|
|
7
|
+
* own inputs (base64 in the URI) rather than pointing at server-side
|
|
8
|
+
* storage, so `read()` re-derives the result on every call instead of doing
|
|
9
|
+
* a lookup. That makes it immune to server restarts and to horizontal
|
|
10
|
+
* scaling — any process can resolve any ref — unlike the in-memory
|
|
11
|
+
* `temporaryResourceManager` store `mapbox://temp/` depends on.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ComputeResource extends BaseResource {
|
|
14
|
+
readonly name = "Computed Data";
|
|
15
|
+
readonly uri = "mapbox://compute/{spec}";
|
|
16
|
+
readonly description = "Stateless computed map payloads (e.g. polygon operations) re-derived from the ref itself on every read.";
|
|
17
|
+
readonly mimeType = "application/json";
|
|
18
|
+
read(uri: string, _extra?: RequestHandlerExtra<ServerRequest, ServerNotification>): Promise<ReadResourceResult>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ComputeResource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComputeResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/compute/ComputeResource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAG5C;;;;;;;;GAQG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,GAAG,6BAA6B;IACzC,QAAQ,CAAC,WAAW,6GACwF;IAC5G,QAAQ,CAAC,QAAQ,sBAAsB;IAEjC,IAAI,CACR,GAAG,EAAE,MAAM,EAEX,MAAM,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC9D,OAAO,CAAC,kBAAkB,CAAC;CAyB/B"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Copyright (c) Mapbox, Inc.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { BaseResource } from '../BaseResource.js';
|
|
4
|
+
import { resolveComputeRef } from '../../utils/computeRef.js';
|
|
5
|
+
/**
|
|
6
|
+
* Resource for `mapbox://compute/...` refs — the stateless counterpart to
|
|
7
|
+
* `mapbox://temp/...` (see `TemporaryDataResource`). These refs carry their
|
|
8
|
+
* own inputs (base64 in the URI) rather than pointing at server-side
|
|
9
|
+
* storage, so `read()` re-derives the result on every call instead of doing
|
|
10
|
+
* a lookup. That makes it immune to server restarts and to horizontal
|
|
11
|
+
* scaling — any process can resolve any ref — unlike the in-memory
|
|
12
|
+
* `temporaryResourceManager` store `mapbox://temp/` depends on.
|
|
13
|
+
*/
|
|
14
|
+
export class ComputeResource extends BaseResource {
|
|
15
|
+
name = 'Computed Data';
|
|
16
|
+
uri = 'mapbox://compute/{spec}';
|
|
17
|
+
description = 'Stateless computed map payloads (e.g. polygon operations) re-derived from the ref itself on every read.';
|
|
18
|
+
mimeType = 'application/json';
|
|
19
|
+
async read(uri,
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
21
|
+
_extra) {
|
|
22
|
+
const payload = resolveComputeRef(uri);
|
|
23
|
+
if (!payload) {
|
|
24
|
+
return {
|
|
25
|
+
contents: [
|
|
26
|
+
{
|
|
27
|
+
uri,
|
|
28
|
+
mimeType: 'text/plain',
|
|
29
|
+
text: 'Computed resource ref was malformed or unsupported.'
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
contents: [
|
|
36
|
+
{
|
|
37
|
+
uri,
|
|
38
|
+
mimeType: this.mimeType,
|
|
39
|
+
text: JSON.stringify(payload, null, 2)
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=ComputeResource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComputeResource.js","sourceRoot":"","sources":["../../../../src/resources/compute/ComputeResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAgB,SAAQ,YAAY;IACtC,IAAI,GAAG,eAAe,CAAC;IACvB,GAAG,GAAG,yBAAyB,CAAC;IAChC,WAAW,GAClB,yGAAyG,CAAC;IACnG,QAAQ,GAAG,kBAAkB,CAAC;IAEvC,KAAK,CAAC,IAAI,CACR,GAAW;IACX,6DAA6D;IAC7D,MAA+D;QAE/D,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG;wBACH,QAAQ,EAAE,YAAY;wBACtB,IAAI,EAAE,qDAAqD;qBAC5D;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvC;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseResource } from '../BaseResource.js';
|
|
2
|
+
import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
|
|
3
|
+
import type { ReadResourceResult, ServerNotification, ServerRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Resource for `mapbox://inline/payload?data=...` refs — `render_map_tool`'s
|
|
6
|
+
* self-describing merged-output ref (see inlinePayloadRef.ts). Like
|
|
7
|
+
* `ComputeResource`, `read()` unwraps the payload straight out of the URI
|
|
8
|
+
* instead of doing a store lookup, so it's immune to server restarts.
|
|
9
|
+
*/
|
|
10
|
+
export declare class InlinePayloadResource extends BaseResource {
|
|
11
|
+
readonly name = "Inline Rendered Payload";
|
|
12
|
+
readonly uri = "mapbox://inline/{spec}";
|
|
13
|
+
readonly description = "Stateless self-describing render_map_tool output, resolved directly from the ref's own contents.";
|
|
14
|
+
readonly mimeType = "application/json";
|
|
15
|
+
read(uri: string, _extra?: RequestHandlerExtra<ServerRequest, ServerNotification>): Promise<ReadResourceResult>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=InlinePayloadResource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlinePayloadResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/inline-payload/InlinePayloadResource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAG5C;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,QAAQ,CAAC,GAAG,4BAA4B;IACxC,QAAQ,CAAC,WAAW,sGACiF;IACrG,QAAQ,CAAC,QAAQ,sBAAsB;IAEjC,IAAI,CACR,GAAG,EAAE,MAAM,EAEX,MAAM,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC9D,OAAO,CAAC,kBAAkB,CAAC;CAyB/B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Copyright (c) Mapbox, Inc.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { BaseResource } from '../BaseResource.js';
|
|
4
|
+
import { resolveInlinePayloadRef } from '../../utils/inlinePayloadRef.js';
|
|
5
|
+
/**
|
|
6
|
+
* Resource for `mapbox://inline/payload?data=...` refs — `render_map_tool`'s
|
|
7
|
+
* self-describing merged-output ref (see inlinePayloadRef.ts). Like
|
|
8
|
+
* `ComputeResource`, `read()` unwraps the payload straight out of the URI
|
|
9
|
+
* instead of doing a store lookup, so it's immune to server restarts.
|
|
10
|
+
*/
|
|
11
|
+
export class InlinePayloadResource extends BaseResource {
|
|
12
|
+
name = 'Inline Rendered Payload';
|
|
13
|
+
uri = 'mapbox://inline/{spec}';
|
|
14
|
+
description = "Stateless self-describing render_map_tool output, resolved directly from the ref's own contents.";
|
|
15
|
+
mimeType = 'application/json';
|
|
16
|
+
async read(uri,
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
18
|
+
_extra) {
|
|
19
|
+
const payload = resolveInlinePayloadRef(uri);
|
|
20
|
+
if (!payload) {
|
|
21
|
+
return {
|
|
22
|
+
contents: [
|
|
23
|
+
{
|
|
24
|
+
uri,
|
|
25
|
+
mimeType: 'text/plain',
|
|
26
|
+
text: 'Inline payload ref was malformed.'
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
contents: [
|
|
33
|
+
{
|
|
34
|
+
uri,
|
|
35
|
+
mimeType: this.mimeType,
|
|
36
|
+
text: JSON.stringify(payload, null, 2)
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=InlinePayloadResource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlinePayloadResource.js","sourceRoot":"","sources":["../../../../src/resources/inline-payload/InlinePayloadResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IAC5C,IAAI,GAAG,yBAAyB,CAAC;IACjC,GAAG,GAAG,wBAAwB,CAAC;IAC/B,WAAW,GAClB,kGAAkG,CAAC;IAC5F,QAAQ,GAAG,kBAAkB,CAAC;IAEvC,KAAK,CAAC,IAAI,CACR,GAAW;IACX,6DAA6D;IAC7D,MAA+D;QAE/D,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG;wBACH,QAAQ,EAAE,YAAY;wBACtB,IAAI,EAAE,mCAAmC;qBAC1C;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvC;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { CategoryListResource } from './category-list/CategoryListResource.js';
|
|
2
2
|
import { TemporaryDataResource } from './temporary/TemporaryDataResource.js';
|
|
3
|
+
import { ComputeResource } from './compute/ComputeResource.js';
|
|
4
|
+
import { InlinePayloadResource } from './inline-payload/InlinePayloadResource.js';
|
|
3
5
|
import { StaticMapUIResource } from './ui-apps/StaticMapUIResource.js';
|
|
4
|
-
import {
|
|
6
|
+
import { MapAppUIResource } from './ui-apps/MapAppUIResource.js';
|
|
5
7
|
import { VersionResource } from './version/VersionResource.js';
|
|
6
|
-
export declare const ALL_RESOURCES: readonly [CategoryListResource, TemporaryDataResource, StaticMapUIResource,
|
|
8
|
+
export declare const ALL_RESOURCES: readonly [CategoryListResource, TemporaryDataResource, ComputeResource, InlinePayloadResource, StaticMapUIResource, MapAppUIResource, VersionResource];
|
|
7
9
|
export type ResourceInstance = (typeof ALL_RESOURCES)[number];
|
|
8
10
|
export declare function getAllResources(): readonly ResourceInstance[];
|
|
9
11
|
export declare function getResourceByUri(uri: string): ResourceInstance | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceRegistry.d.ts","sourceRoot":"","sources":["../../../src/resources/resourceRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"resourceRegistry.d.ts","sourceRoot":"","sources":["../../../src/resources/resourceRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D,eAAO,MAAM,aAAa,wJAUhB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,wBAAgB,eAAe,IAAI,SAAS,gBAAgB,EAAE,CAE7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAkB1E"}
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
// INSERT NEW RESOURCE IMPORT HERE
|
|
4
4
|
import { CategoryListResource } from './category-list/CategoryListResource.js';
|
|
5
5
|
import { TemporaryDataResource } from './temporary/TemporaryDataResource.js';
|
|
6
|
+
import { ComputeResource } from './compute/ComputeResource.js';
|
|
7
|
+
import { InlinePayloadResource } from './inline-payload/InlinePayloadResource.js';
|
|
6
8
|
import { StaticMapUIResource } from './ui-apps/StaticMapUIResource.js';
|
|
7
|
-
import {
|
|
9
|
+
import { MapAppUIResource } from './ui-apps/MapAppUIResource.js';
|
|
8
10
|
import { VersionResource } from './version/VersionResource.js';
|
|
9
11
|
import { httpRequest } from '../utils/httpPipeline.js';
|
|
10
12
|
// Central registry of all resources
|
|
@@ -12,8 +14,11 @@ export const ALL_RESOURCES = [
|
|
|
12
14
|
// INSERT NEW RESOURCE INSTANCE HERE
|
|
13
15
|
new CategoryListResource({ httpRequest }),
|
|
14
16
|
new TemporaryDataResource(),
|
|
17
|
+
new ComputeResource(),
|
|
18
|
+
new InlinePayloadResource(),
|
|
15
19
|
new StaticMapUIResource(),
|
|
16
|
-
|
|
20
|
+
// Single shared map renderer, targeted exclusively by render_map_tool.
|
|
21
|
+
new MapAppUIResource({ httpRequest }),
|
|
17
22
|
new VersionResource()
|
|
18
23
|
];
|
|
19
24
|
export function getAllResources() {
|
|
@@ -25,11 +30,16 @@ export function getResourceByUri(uri) {
|
|
|
25
30
|
if (exactMatch)
|
|
26
31
|
return exactMatch;
|
|
27
32
|
// Find pattern match (e.g., mapbox://categories/ja matches mapbox://categories)
|
|
33
|
+
// Plain string prefix check — avoids building a RegExp from data at runtime,
|
|
34
|
+
// which would let an unbounded, user-supplied `uri` be tested against a
|
|
35
|
+
// dynamically constructed pattern (untrusted-input-into-RegExp is a ReDoS
|
|
36
|
+
// smell even though today's static resource URIs are innocuous).
|
|
28
37
|
return ALL_RESOURCES.find((resource) => {
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
38
|
+
const wildcardIndex = resource.uri.indexOf('*');
|
|
39
|
+
const basePrefix = wildcardIndex === -1
|
|
40
|
+
? resource.uri
|
|
41
|
+
: resource.uri.slice(0, wildcardIndex);
|
|
42
|
+
return uri.startsWith(basePrefix);
|
|
33
43
|
});
|
|
34
44
|
}
|
|
35
45
|
//# sourceMappingURL=resourceRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceRegistry.js","sourceRoot":"","sources":["../../../src/resources/resourceRegistry.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"resourceRegistry.js","sourceRoot":"","sources":["../../../src/resources/resourceRegistry.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,oCAAoC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,oCAAoC;IACpC,IAAI,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC;IACzC,IAAI,qBAAqB,EAAE;IAC3B,IAAI,eAAe,EAAE;IACrB,IAAI,qBAAqB,EAAE;IAC3B,IAAI,mBAAmB,EAAE;IACzB,uEAAuE;IACvE,IAAI,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC;IACrC,IAAI,eAAe,EAAE;CACb,CAAC;AAIX,MAAM,UAAU,eAAe;IAC7B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,yBAAyB;IACzB,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1E,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,gFAAgF;IAChF,6EAA6E;IAC7E,wEAAwE;IACxE,0EAA0E;IAC1E,iEAAiE;IACjE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,UAAU,GACd,aAAa,KAAK,CAAC,CAAC;YAClB,CAAC,CAAC,QAAQ,CAAC,GAAG;YACd,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
|
|
2
|
+
import type { ReadResourceResult, ServerNotification, ServerRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import { BaseResource } from '../BaseResource.js';
|
|
4
|
+
import type { HttpRequest } from '../../utils/types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Single Mapbox MCP App resource targeted by `render_map_tool`.
|
|
7
|
+
*
|
|
8
|
+
* Only one tool (`render_map_tool`) points `_meta.ui.resourceUri` at this
|
|
9
|
+
* resource. All other Mapbox tools just return data; the LLM passes their
|
|
10
|
+
* `mapboxRender` payload to `render_map_tool` to display it. This sidesteps the
|
|
11
|
+
* chain-position rendering quirk in MCP App hosts (where intermediate
|
|
12
|
+
* tools in a chain don't get to render their own iframe).
|
|
13
|
+
*/
|
|
14
|
+
export declare class MapAppUIResource extends BaseResource {
|
|
15
|
+
readonly name = "Mapbox Map App UI";
|
|
16
|
+
readonly uri = "ui://mapbox/map-app/index.html";
|
|
17
|
+
readonly description = "Generic Mapbox GL JS renderer driven by render_map_tool payloads (MCP Apps)";
|
|
18
|
+
readonly mimeType = "text/html;profile=mcp-app";
|
|
19
|
+
private readonly httpRequest;
|
|
20
|
+
private readonly apiEndpoint;
|
|
21
|
+
constructor(params: {
|
|
22
|
+
httpRequest: HttpRequest;
|
|
23
|
+
apiEndpoint?: () => string;
|
|
24
|
+
});
|
|
25
|
+
read(_uri: string, extra?: RequestHandlerExtra<ServerRequest, ServerNotification>): Promise<ReadResourceResult>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=MapAppUIResource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapAppUIResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/MapAppUIResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,GAAG,oCAAoC;IAChD,QAAQ,CAAC,WAAW,iFAC4D;IAChF,QAAQ,CAAC,QAAQ,+BAAsB;IAEvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;gBAE/B,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;KAC5B;IAQK,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CAwC/B"}
|
|
@@ -3,22 +3,20 @@
|
|
|
3
3
|
import { RESOURCE_MIME_TYPE } from '@modelcontextprotocol/ext-apps/server';
|
|
4
4
|
import { BaseResource } from '../BaseResource.js';
|
|
5
5
|
import { resolveMapboxPublicToken } from '../../utils/mapboxPublicToken.js';
|
|
6
|
-
import {
|
|
6
|
+
import { renderMapAppHtml } from './mapAppHtml.js';
|
|
7
7
|
/**
|
|
8
|
-
* MCP
|
|
9
|
-
* `ui://mapbox/directions-app/index.html`. The iframe waits for the host to
|
|
10
|
-
* deliver the tool result via the `ui/notifications/tool-result` postMessage
|
|
11
|
-
* event and renders the route from `structuredContent.routes[0]`.
|
|
8
|
+
* Single Mapbox MCP App resource targeted by `render_map_tool`.
|
|
12
9
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
10
|
+
* Only one tool (`render_map_tool`) points `_meta.ui.resourceUri` at this
|
|
11
|
+
* resource. All other Mapbox tools just return data; the LLM passes their
|
|
12
|
+
* `mapboxRender` payload to `render_map_tool` to display it. This sidesteps the
|
|
13
|
+
* chain-position rendering quirk in MCP App hosts (where intermediate
|
|
14
|
+
* tools in a chain don't get to render their own iframe).
|
|
17
15
|
*/
|
|
18
|
-
export class
|
|
19
|
-
name = '
|
|
20
|
-
uri = 'ui://mapbox/
|
|
21
|
-
description = '
|
|
16
|
+
export class MapAppUIResource extends BaseResource {
|
|
17
|
+
name = 'Mapbox Map App UI';
|
|
18
|
+
uri = 'ui://mapbox/map-app/index.html';
|
|
19
|
+
description = 'Generic Mapbox GL JS renderer driven by render_map_tool payloads (MCP Apps)';
|
|
22
20
|
mimeType = RESOURCE_MIME_TYPE;
|
|
23
21
|
httpRequest;
|
|
24
22
|
apiEndpoint;
|
|
@@ -38,7 +36,7 @@ export class DirectionsAppUIResource extends BaseResource {
|
|
|
38
36
|
apiEndpoint: this.apiEndpoint(),
|
|
39
37
|
httpRequest: this.httpRequest
|
|
40
38
|
});
|
|
41
|
-
const html =
|
|
39
|
+
const html = renderMapAppHtml({
|
|
42
40
|
publicToken: publicToken ?? '',
|
|
43
41
|
apiEndpoint: this.apiEndpoint()
|
|
44
42
|
});
|
|
@@ -66,4 +64,4 @@ export class DirectionsAppUIResource extends BaseResource {
|
|
|
66
64
|
};
|
|
67
65
|
}
|
|
68
66
|
}
|
|
69
|
-
//# sourceMappingURL=
|
|
67
|
+
//# sourceMappingURL=MapAppUIResource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapAppUIResource.js","sourceRoot":"","sources":["../../../../src/resources/ui-apps/MapAppUIResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAQlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IACvC,IAAI,GAAG,mBAAmB,CAAC;IAC3B,GAAG,GAAG,gCAAgC,CAAC;IACvC,WAAW,GAClB,6EAA6E,CAAC;IACvE,QAAQ,GAAG,kBAAkB,CAAC;IAEtB,WAAW,CAAc;IACzB,WAAW,CAAe;IAE3C,YAAY,MAGX;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,WAAW;YACd,MAAM,CAAC,WAAW;gBAClB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,yBAAyB,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,KAA8D;QAE9D,MAAM,WAAW,GACd,KAAK,EAAE,QAAQ,EAAE,KAA4B;YAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAC/B,EAAE,CAAC;QAEL,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC;YACjD,WAAW;YACX,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,WAAW,EAAE,WAAW,IAAI,EAAE;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SAChC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACL,EAAE,EAAE;4BACF,GAAG,EAAE;gCACH,cAAc,EAAE;oCACd,sBAAsB;oCACtB,2BAA2B;iCAC5B;gCACD,eAAe,EAAE,CAAC,wBAAwB,CAAC;gCAC3C,aAAa,EAAE,CAAC,OAAO,CAAC;6BACzB;4BACD,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;yBAC5C;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { MapAppPayload } from '../../utils/mapAppPayload.js';
|
|
2
|
+
/**
|
|
3
|
+
* Render the generic Mapbox MCP App HTML — used by both the MCP Apps
|
|
4
|
+
* resource (postMessage delivery) and any tool's inline MCP-UI rawHtml
|
|
5
|
+
* block (initial-data baked in).
|
|
6
|
+
*
|
|
7
|
+
* The iframe is a thin renderer over Mapbox GL JS. Tools produce a
|
|
8
|
+
* `MapAppPayload` (see src/utils/mapAppPayload.ts) and the iframe
|
|
9
|
+
* translates each layer/marker/legend entry into the corresponding
|
|
10
|
+
* GL JS call. No tool-specific code lives in this file.
|
|
11
|
+
*/
|
|
12
|
+
export declare const MAPBOX_GL_VERSION = "3.26.0";
|
|
13
|
+
export declare function renderMapAppHtml(params: {
|
|
14
|
+
publicToken: string;
|
|
15
|
+
apiEndpoint?: string;
|
|
16
|
+
glVersion?: string;
|
|
17
|
+
initialData?: MapAppPayload;
|
|
18
|
+
}): string;
|
|
19
|
+
//# sourceMappingURL=mapAppHtml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapAppHtml.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/mapAppHtml.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;;;;;;GASG;AAMH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B,GAAG,MAAM,CA+jDT"}
|