@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnionTool.js","sourceRoot":"","sources":["../../../../src/tools/union-tool/UnionTool.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EACL,iBAAiB,EAElB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"UnionTool.js","sourceRoot":"","sources":["../../../../src/tools/union-tool/UnionTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,9 @@ import { z } from 'zod';
|
|
|
2
2
|
export declare const UnionOutputSchema: z.ZodObject<{
|
|
3
3
|
geometry: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
4
4
|
type: z.ZodString;
|
|
5
|
-
|
|
5
|
+
mapboxRender: z.ZodOptional<z.ZodObject<{
|
|
6
|
+
ref: z.ZodString;
|
|
7
|
+
}, z.core.$strip>>;
|
|
8
|
+
}, z.core.$loose>;
|
|
6
9
|
export type UnionOutput = z.infer<typeof UnionOutputSchema>;
|
|
7
10
|
//# sourceMappingURL=UnionTool.output.schema.d.ts.map
|
|
@@ -1 +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;
|
|
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;AAIxB,eAAO,MAAM,iBAAiB;;;;;;iBAUd,CAAC;AAEjB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
// Copyright (c) Mapbox, Inc.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
|
|
4
|
+
import { MapAppRefSchema } from '../../utils/storeMapPayload.js';
|
|
5
|
+
export const UnionOutputSchema = z
|
|
6
|
+
.object({
|
|
5
7
|
geometry: z
|
|
6
8
|
.record(z.string(), z.unknown())
|
|
7
9
|
.describe('GeoJSON geometry of the merged polygon (Polygon or MultiPolygon)'),
|
|
8
|
-
type: z.string().describe('Geometry type: Polygon or MultiPolygon')
|
|
9
|
-
|
|
10
|
+
type: z.string().describe('Geometry type: Polygon or MultiPolygon'),
|
|
11
|
+
mapboxRender: MapAppRefSchema.optional()
|
|
12
|
+
})
|
|
13
|
+
.passthrough();
|
|
10
14
|
//# sourceMappingURL=UnionTool.output.schema.js.map
|
|
@@ -1 +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,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,
|
|
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,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/B,QAAQ,CACP,kEAAkE,CACnE;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACnE,YAAY,EAAE,eAAe,CAAC,QAAQ,EAAE;CACzC,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { MapAppPayload } from '../../utils/mapAppPayload.js';
|
|
2
|
+
export type PolygonOperation = 'union' | 'intersect' | 'difference';
|
|
3
|
+
/**
|
|
4
|
+
* Build a `MapAppPayload` for the offline polygon-op tools
|
|
5
|
+
* (union/intersect/difference). Renders input polygons in muted blue and the
|
|
6
|
+
* result in an operation-keyed color. Used by all three tools — color and
|
|
7
|
+
* summary are the only operation-dependent fields.
|
|
8
|
+
*/
|
|
9
|
+
export declare function buildPolygonOpsMapPayload(params: {
|
|
10
|
+
operation: PolygonOperation;
|
|
11
|
+
inputs: Array<{
|
|
12
|
+
type: 'Feature';
|
|
13
|
+
geometry: unknown;
|
|
14
|
+
}>;
|
|
15
|
+
result: {
|
|
16
|
+
type: 'Feature';
|
|
17
|
+
geometry: unknown;
|
|
18
|
+
} | null;
|
|
19
|
+
summary: string;
|
|
20
|
+
}): MapAppPayload | null;
|
|
21
|
+
//# sourceMappingURL=buildPolygonOpsMapPayload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildPolygonOpsMapPayload.d.ts","sourceRoot":"","sources":["../../../../src/tools/union-tool/buildPolygonOpsMapPayload.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,CAAC;AAQpE;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtD,MAAM,EAAE;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACtD,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,aAAa,GAAG,IAAI,CAyDvB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Copyright (c) Mapbox, Inc.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
const RESULT_COLORS = {
|
|
4
|
+
union: '#22c55e', // green
|
|
5
|
+
intersect: '#8b5cf6', // purple
|
|
6
|
+
difference: '#f97316' // orange
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Build a `MapAppPayload` for the offline polygon-op tools
|
|
10
|
+
* (union/intersect/difference). Renders input polygons in muted blue and the
|
|
11
|
+
* result in an operation-keyed color. Used by all three tools — color and
|
|
12
|
+
* summary are the only operation-dependent fields.
|
|
13
|
+
*/
|
|
14
|
+
export function buildPolygonOpsMapPayload(params) {
|
|
15
|
+
const { operation, inputs, result, summary } = params;
|
|
16
|
+
if (inputs.length === 0)
|
|
17
|
+
return null;
|
|
18
|
+
const resultColor = RESULT_COLORS[operation];
|
|
19
|
+
const layers = [];
|
|
20
|
+
inputs.forEach((feature, i) => {
|
|
21
|
+
layers.push({
|
|
22
|
+
id: `input-fill-${i}`,
|
|
23
|
+
type: 'fill',
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
25
|
+
data: feature,
|
|
26
|
+
paint: { 'fill-color': '#3b82f6', 'fill-opacity': 0.25 }
|
|
27
|
+
});
|
|
28
|
+
layers.push({
|
|
29
|
+
id: `input-line-${i}`,
|
|
30
|
+
type: 'line',
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
32
|
+
data: feature,
|
|
33
|
+
paint: {
|
|
34
|
+
'line-color': '#3b82f6',
|
|
35
|
+
'line-width': 2,
|
|
36
|
+
'line-opacity': 0.7
|
|
37
|
+
},
|
|
38
|
+
layout: { 'line-join': 'round', 'line-cap': 'round' }
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
if (result && result.geometry) {
|
|
42
|
+
layers.push({
|
|
43
|
+
id: 'result-fill',
|
|
44
|
+
type: 'fill',
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
|
+
data: result,
|
|
47
|
+
paint: { 'fill-color': resultColor, 'fill-opacity': 0.45 }
|
|
48
|
+
});
|
|
49
|
+
layers.push({
|
|
50
|
+
id: 'result-line',
|
|
51
|
+
type: 'line',
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
53
|
+
data: result,
|
|
54
|
+
paint: { 'line-color': resultColor, 'line-width': 3 },
|
|
55
|
+
layout: { 'line-join': 'round', 'line-cap': 'round' }
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
summary,
|
|
60
|
+
layers,
|
|
61
|
+
legend: [
|
|
62
|
+
{ label: 'Inputs', color: '#3b82f6', opacity: 0.35 },
|
|
63
|
+
...(result
|
|
64
|
+
? [{ label: `${operation} result`, color: resultColor, opacity: 0.7 }]
|
|
65
|
+
: [])
|
|
66
|
+
]
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=buildPolygonOpsMapPayload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildPolygonOpsMapPayload.js","sourceRoot":"","sources":["../../../../src/tools/union-tool/buildPolygonOpsMapPayload.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAMlC,MAAM,aAAa,GAAqC;IACtD,KAAK,EAAE,SAAS,EAAE,QAAQ;IAC1B,SAAS,EAAE,SAAS,EAAE,SAAS;IAC/B,UAAU,EAAE,SAAS,CAAC,SAAS;CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAKzC;IACC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;QAC5B,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,cAAc,CAAC,EAAE;YACrB,IAAI,EAAE,MAAM;YACZ,8DAA8D;YAC9D,IAAI,EAAE,OAAc;YACpB,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE;SACzD,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,cAAc,CAAC,EAAE;YACrB,IAAI,EAAE,MAAM;YACZ,8DAA8D;YAC9D,IAAI,EAAE,OAAc;YACpB,KAAK,EAAE;gBACL,YAAY,EAAE,SAAS;gBACvB,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,GAAG;aACpB;YACD,MAAM,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;SACtD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,MAAM;YACZ,8DAA8D;YAC9D,IAAI,EAAE,MAAa;YACnB,KAAK,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE;SAC3D,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,MAAM;YACZ,8DAA8D;YAC9D,IAAI,EAAE,MAAa;YACnB,KAAK,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE;YACrD,MAAM,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;SACtD,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO;QACP,MAAM;QACN,MAAM,EAAE;YACN,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACpD,GAAG,CAAC,MAAM;gBACR,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,SAAS,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;gBACtE,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { MapAppPayload } from './mapAppPayload.js';
|
|
2
|
+
export type PolygonOperation = 'union' | 'intersect' | 'difference';
|
|
3
|
+
type ComputeFeature = {
|
|
4
|
+
type: 'Feature';
|
|
5
|
+
geometry: unknown;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Stateless alternative to `storeMapPayload` for the offline polygon-op
|
|
9
|
+
* tools (union/intersect/difference). Those tools compute their result from
|
|
10
|
+
* `@turf/turf` given only the caller's own input polygons — there is no
|
|
11
|
+
* external API response to cache and no reason a ref should depend on
|
|
12
|
+
* server-side state at all.
|
|
13
|
+
*
|
|
14
|
+
* Instead of storing the *computed result* behind an opaque UUID (which is
|
|
15
|
+
* lost on every process restart — see the mapbox://temp/ 30-min-TTL-in-
|
|
16
|
+
* memory-store issue this was built to avoid), the ref itself carries the
|
|
17
|
+
* *inputs* (already present in the tool's own call arguments, so no bigger
|
|
18
|
+
* than what the LLM already emitted to call union/intersect/difference in
|
|
19
|
+
* the first place). `resolveComputeRef` re-derives the result by re-running
|
|
20
|
+
* the same turf operation. This makes the ref:
|
|
21
|
+
* - immune to server restarts (nothing to lose — it's a pure function of
|
|
22
|
+
* the URI's own contents),
|
|
23
|
+
* - safe under horizontal scaling (any instance can resolve any ref; no
|
|
24
|
+
* server affinity, unlike an in-memory store keyed by process),
|
|
25
|
+
* - safe across accounts (no owner check needed — the ref only ever
|
|
26
|
+
* contains geometry the caller already had).
|
|
27
|
+
*/
|
|
28
|
+
export declare function buildComputeRef(operation: PolygonOperation, inputs: ComputeFeature[]): string;
|
|
29
|
+
/**
|
|
30
|
+
* Re-derive the `MapAppPayload` for a `mapbox://compute/...` ref by
|
|
31
|
+
* re-running the encoded turf operation. Returns null if the ref isn't a
|
|
32
|
+
* compute ref, the operation is unrecognized, or the encoded data doesn't
|
|
33
|
+
* decode to a valid input array.
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveComputeRef(uri: string): MapAppPayload | null;
|
|
36
|
+
export declare function isComputeRef(uri: string): boolean;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=computeRef.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeRef.d.ts","sourceRoot":"","sources":["../../../src/utils/computeRef.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,CAAC;AAIpE,KAAK,cAAc,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,cAAc,EAAE,GACvB,MAAM,CAKR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAoEnE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEjD"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// Copyright (c) Mapbox, Inc.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { union, intersect, difference, featureCollection } from '@turf/turf';
|
|
4
|
+
import { buildPolygonOpsMapPayload } from '../tools/union-tool/buildPolygonOpsMapPayload.js';
|
|
5
|
+
const COMPUTE_URI_PREFIX = 'mapbox://compute/';
|
|
6
|
+
/**
|
|
7
|
+
* Stateless alternative to `storeMapPayload` for the offline polygon-op
|
|
8
|
+
* tools (union/intersect/difference). Those tools compute their result from
|
|
9
|
+
* `@turf/turf` given only the caller's own input polygons — there is no
|
|
10
|
+
* external API response to cache and no reason a ref should depend on
|
|
11
|
+
* server-side state at all.
|
|
12
|
+
*
|
|
13
|
+
* Instead of storing the *computed result* behind an opaque UUID (which is
|
|
14
|
+
* lost on every process restart — see the mapbox://temp/ 30-min-TTL-in-
|
|
15
|
+
* memory-store issue this was built to avoid), the ref itself carries the
|
|
16
|
+
* *inputs* (already present in the tool's own call arguments, so no bigger
|
|
17
|
+
* than what the LLM already emitted to call union/intersect/difference in
|
|
18
|
+
* the first place). `resolveComputeRef` re-derives the result by re-running
|
|
19
|
+
* the same turf operation. This makes the ref:
|
|
20
|
+
* - immune to server restarts (nothing to lose — it's a pure function of
|
|
21
|
+
* the URI's own contents),
|
|
22
|
+
* - safe under horizontal scaling (any instance can resolve any ref; no
|
|
23
|
+
* server affinity, unlike an in-memory store keyed by process),
|
|
24
|
+
* - safe across accounts (no owner check needed — the ref only ever
|
|
25
|
+
* contains geometry the caller already had).
|
|
26
|
+
*/
|
|
27
|
+
export function buildComputeRef(operation, inputs) {
|
|
28
|
+
const data = Buffer.from(JSON.stringify(inputs), 'utf8').toString('base64url');
|
|
29
|
+
return `${COMPUTE_URI_PREFIX}${operation}?data=${data}`;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Re-derive the `MapAppPayload` for a `mapbox://compute/...` ref by
|
|
33
|
+
* re-running the encoded turf operation. Returns null if the ref isn't a
|
|
34
|
+
* compute ref, the operation is unrecognized, or the encoded data doesn't
|
|
35
|
+
* decode to a valid input array.
|
|
36
|
+
*/
|
|
37
|
+
export function resolveComputeRef(uri) {
|
|
38
|
+
if (!uri.startsWith(COMPUTE_URI_PREFIX))
|
|
39
|
+
return null;
|
|
40
|
+
let operation;
|
|
41
|
+
let encoded;
|
|
42
|
+
try {
|
|
43
|
+
const parsed = new URL(uri);
|
|
44
|
+
// The operation is the path segment, not the hostname: for
|
|
45
|
+
// `mapbox://compute/union?...` the WHATWG URL parser treats `compute`
|
|
46
|
+
// as the hostname and `/union` as the pathname.
|
|
47
|
+
operation = parsed.pathname.replace(/^\//, '');
|
|
48
|
+
encoded = parsed.searchParams.get('data');
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
if (!encoded)
|
|
54
|
+
return null;
|
|
55
|
+
let inputs;
|
|
56
|
+
try {
|
|
57
|
+
inputs = JSON.parse(Buffer.from(encoded, 'base64url').toString('utf8'));
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
if (!Array.isArray(inputs) || inputs.length === 0)
|
|
63
|
+
return null;
|
|
64
|
+
// `inputs` came from base64-decoded JSON built by buildComputeRef, which
|
|
65
|
+
// only ever writes `{ type: 'Feature', geometry }` (no `properties`) —
|
|
66
|
+
// turf doesn't require it at runtime, so cast past the stricter
|
|
67
|
+
// `Feature<Polygon | MultiPolygon>` shape rather than adding a field
|
|
68
|
+
// nothing reads.
|
|
69
|
+
const fc = featureCollection(inputs);
|
|
70
|
+
switch (operation) {
|
|
71
|
+
case 'union': {
|
|
72
|
+
const result = union(fc);
|
|
73
|
+
if (!result)
|
|
74
|
+
return null;
|
|
75
|
+
return buildPolygonOpsMapPayload({
|
|
76
|
+
operation: 'union',
|
|
77
|
+
inputs,
|
|
78
|
+
result,
|
|
79
|
+
summary: `Union of ${inputs.length} polygons`
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
case 'intersect': {
|
|
83
|
+
const result = intersect(fc);
|
|
84
|
+
return buildPolygonOpsMapPayload({
|
|
85
|
+
operation: 'intersect',
|
|
86
|
+
inputs,
|
|
87
|
+
result: result ?? null,
|
|
88
|
+
summary: result
|
|
89
|
+
? 'Intersection of two polygons'
|
|
90
|
+
: 'Polygons do not intersect'
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
case 'difference': {
|
|
94
|
+
const result = difference(fc);
|
|
95
|
+
return buildPolygonOpsMapPayload({
|
|
96
|
+
operation: 'difference',
|
|
97
|
+
inputs,
|
|
98
|
+
result: result ?? null,
|
|
99
|
+
summary: result
|
|
100
|
+
? 'Difference of two polygons (polygon1 minus polygon2)'
|
|
101
|
+
: 'polygon2 fully covers polygon1 (no difference)'
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
default:
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export function isComputeRef(uri) {
|
|
109
|
+
return uri.startsWith(COMPUTE_URI_PREFIX);
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=computeRef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeRef.js","sourceRoot":"","sources":["../../../src/utils/computeRef.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { MapAppPayload } from './mapAppPayload.js';
|
|
2
|
+
/**
|
|
3
|
+
* Self-describing counterpart to `storeMapPayload` for `render_map_tool`'s
|
|
4
|
+
* own merged output. The whole resolved payload is base64'd directly into
|
|
5
|
+
* the ref — no server-side store, no TTL, no owner.
|
|
6
|
+
*
|
|
7
|
+
* Why this exists: `render_map_tool` used to *always* call `storeMapPayload`
|
|
8
|
+
* for its merged output, even when every input was already a self-
|
|
9
|
+
* describing `mapbox://compute/...` or `mapbox://selffetch/...` ref (see
|
|
10
|
+
* computeRef.ts / selfFetchRef.ts). That meant Claude Desktop — which
|
|
11
|
+
* strips `structuredContent` and depends entirely on `resources/read`
|
|
12
|
+
* against the sentinel-embedded ref — was still vulnerable to the exact
|
|
13
|
+
* restart/rehydration bug those refs were built to eliminate, because the
|
|
14
|
+
* *final* hop (render_map_tool's own ref) was still ephemeral regardless of
|
|
15
|
+
* how the inputs got there. ChatGPT was unaffected (it reads the payload
|
|
16
|
+
* straight out of `structuredContent`, never touching the ref), which is
|
|
17
|
+
* why the gap wasn't obvious from that side.
|
|
18
|
+
*
|
|
19
|
+
* Only used when the merged payload is small enough to inline (see
|
|
20
|
+
* `MAX_INLINE_PAYLOAD_BYTES` in storeMapPayload.ts) — a payload backed by a
|
|
21
|
+
* genuinely large upstream `mapbox://temp/...` resource still needs the
|
|
22
|
+
* real store and keeps the existing TTL behavior.
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildInlinePayloadRef(payload: MapAppPayload): string;
|
|
25
|
+
export declare function isInlinePayloadRef(uri: string): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Unwrap a `mapbox://inline/payload?data=...` ref back into its
|
|
28
|
+
* `MapAppPayload`. Returns null if the ref isn't this scheme or its data
|
|
29
|
+
* doesn't decode.
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveInlinePayloadRef(uri: string): MapAppPayload | null;
|
|
32
|
+
//# sourceMappingURL=inlinePayloadRef.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inlinePayloadRef.d.ts","sourceRoot":"","sources":["../../../src/utils/inlinePayloadRef.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAKpE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CASzE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// Copyright (c) Mapbox, Inc.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
const INLINE_PAYLOAD_URI_PREFIX = 'mapbox://inline/payload?data=';
|
|
4
|
+
/**
|
|
5
|
+
* Self-describing counterpart to `storeMapPayload` for `render_map_tool`'s
|
|
6
|
+
* own merged output. The whole resolved payload is base64'd directly into
|
|
7
|
+
* the ref — no server-side store, no TTL, no owner.
|
|
8
|
+
*
|
|
9
|
+
* Why this exists: `render_map_tool` used to *always* call `storeMapPayload`
|
|
10
|
+
* for its merged output, even when every input was already a self-
|
|
11
|
+
* describing `mapbox://compute/...` or `mapbox://selffetch/...` ref (see
|
|
12
|
+
* computeRef.ts / selfFetchRef.ts). That meant Claude Desktop — which
|
|
13
|
+
* strips `structuredContent` and depends entirely on `resources/read`
|
|
14
|
+
* against the sentinel-embedded ref — was still vulnerable to the exact
|
|
15
|
+
* restart/rehydration bug those refs were built to eliminate, because the
|
|
16
|
+
* *final* hop (render_map_tool's own ref) was still ephemeral regardless of
|
|
17
|
+
* how the inputs got there. ChatGPT was unaffected (it reads the payload
|
|
18
|
+
* straight out of `structuredContent`, never touching the ref), which is
|
|
19
|
+
* why the gap wasn't obvious from that side.
|
|
20
|
+
*
|
|
21
|
+
* Only used when the merged payload is small enough to inline (see
|
|
22
|
+
* `MAX_INLINE_PAYLOAD_BYTES` in storeMapPayload.ts) — a payload backed by a
|
|
23
|
+
* genuinely large upstream `mapbox://temp/...` resource still needs the
|
|
24
|
+
* real store and keeps the existing TTL behavior.
|
|
25
|
+
*/
|
|
26
|
+
export function buildInlinePayloadRef(payload) {
|
|
27
|
+
const data = Buffer.from(JSON.stringify(payload), 'utf8').toString('base64url');
|
|
28
|
+
return `${INLINE_PAYLOAD_URI_PREFIX}${data}`;
|
|
29
|
+
}
|
|
30
|
+
export function isInlinePayloadRef(uri) {
|
|
31
|
+
return uri.startsWith(INLINE_PAYLOAD_URI_PREFIX);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Unwrap a `mapbox://inline/payload?data=...` ref back into its
|
|
35
|
+
* `MapAppPayload`. Returns null if the ref isn't this scheme or its data
|
|
36
|
+
* doesn't decode.
|
|
37
|
+
*/
|
|
38
|
+
export function resolveInlinePayloadRef(uri) {
|
|
39
|
+
if (!isInlinePayloadRef(uri))
|
|
40
|
+
return null;
|
|
41
|
+
const encoded = uri.slice(INLINE_PAYLOAD_URI_PREFIX.length);
|
|
42
|
+
if (!encoded)
|
|
43
|
+
return null;
|
|
44
|
+
try {
|
|
45
|
+
return JSON.parse(Buffer.from(encoded, 'base64url').toString('utf8'));
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=inlinePayloadRef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inlinePayloadRef.js","sourceRoot":"","sources":["../../../src/utils/inlinePayloadRef.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAIlC,MAAM,yBAAyB,GAAG,+BAA+B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAsB;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAChE,WAAW,CACZ,CAAC;IACF,OAAO,GAAG,yBAAyB,GAAG,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,GAAG,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Payload format for the generic Mapbox MCP App (`ui://mapbox/map-app/...`).
|
|
4
|
+
*
|
|
5
|
+
* Tools that want to render their result on a live Mapbox GL JS map produce
|
|
6
|
+
* a `MapAppPayload` and attach it to the tool result at `_meta.ui.payload`.
|
|
7
|
+
* The shared iframe template reads it and translates each entry into
|
|
8
|
+
* `map.addSource`/`map.addLayer`/`new mapboxgl.Marker` calls.
|
|
9
|
+
*
|
|
10
|
+
* The payload is intentionally a thin pass-through to Mapbox Style spec
|
|
11
|
+
* `paint` and `layout` objects rather than its own DSL — the iframe just
|
|
12
|
+
* forwards them to GL JS. That keeps the spec surface small and avoids
|
|
13
|
+
* reinventing a chunk of the style spec over postMessage.
|
|
14
|
+
*/
|
|
15
|
+
export type Geometry = {
|
|
16
|
+
type: 'Point';
|
|
17
|
+
coordinates: [number, number];
|
|
18
|
+
} | {
|
|
19
|
+
type: 'LineString';
|
|
20
|
+
coordinates: [number, number][];
|
|
21
|
+
} | {
|
|
22
|
+
type: 'Polygon';
|
|
23
|
+
coordinates: [number, number][][];
|
|
24
|
+
} | {
|
|
25
|
+
type: 'MultiPolygon';
|
|
26
|
+
coordinates: [number, number][][][];
|
|
27
|
+
};
|
|
28
|
+
export type Feature = {
|
|
29
|
+
type: 'Feature';
|
|
30
|
+
geometry: Geometry;
|
|
31
|
+
properties?: Record<string, unknown>;
|
|
32
|
+
};
|
|
33
|
+
export type FeatureCollection = {
|
|
34
|
+
type: 'FeatureCollection';
|
|
35
|
+
features: Feature[];
|
|
36
|
+
};
|
|
37
|
+
export interface MapAppLayer {
|
|
38
|
+
/** Unique within the payload — used as both source id and layer id. */
|
|
39
|
+
id: string;
|
|
40
|
+
type: 'fill' | 'line' | 'circle' | 'symbol';
|
|
41
|
+
data: Feature | FeatureCollection;
|
|
42
|
+
/** Mapbox Style spec paint object, passed through to addLayer. */
|
|
43
|
+
paint?: Record<string, unknown>;
|
|
44
|
+
/** Mapbox Style spec layout object, passed through to addLayer. */
|
|
45
|
+
layout?: Record<string, unknown>;
|
|
46
|
+
}
|
|
47
|
+
export interface MapAppMarker {
|
|
48
|
+
coordinates: [number, number];
|
|
49
|
+
/**
|
|
50
|
+
* Visual style:
|
|
51
|
+
* - `pin`: default Mapbox marker
|
|
52
|
+
* - `numbered`: circular badge containing `label` (e.g. visit order)
|
|
53
|
+
* - `start`/`end`: green/red circular badge (route endpoints)
|
|
54
|
+
*/
|
|
55
|
+
style?: 'pin' | 'numbered' | 'start' | 'end';
|
|
56
|
+
/** Required when style === 'numbered'. */
|
|
57
|
+
label?: string;
|
|
58
|
+
/** Optional CSS color override; defaults are style-derived. */
|
|
59
|
+
color?: string;
|
|
60
|
+
/** Popup text (optional). */
|
|
61
|
+
popup?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface MapAppLegendEntry {
|
|
64
|
+
label: string;
|
|
65
|
+
color: string;
|
|
66
|
+
opacity?: number;
|
|
67
|
+
}
|
|
68
|
+
export interface MapAppCamera {
|
|
69
|
+
center?: [number, number];
|
|
70
|
+
zoom?: number;
|
|
71
|
+
/** If set, takes precedence over center/zoom and over auto-fit. */
|
|
72
|
+
bounds?: [[number, number], [number, number]];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* For responses >50KB where the geometry is offloaded to a temp resource:
|
|
76
|
+
* the iframe will fetch this URI via `resources/read` (host bridge) and
|
|
77
|
+
* merge the returned GeoJSON into the named layer.
|
|
78
|
+
*/
|
|
79
|
+
export interface MapAppDeferredLayer {
|
|
80
|
+
resourceUri: string;
|
|
81
|
+
layerId: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* A layer the iframe must fetch and build *itself*, directly from the
|
|
85
|
+
* Mapbox API using its own public token — rather than server-computed
|
|
86
|
+
* geometry passed through a ref. Used by tools whose geometry is a single
|
|
87
|
+
* Mapbox API call away from the tool's own input params (e.g. directions,
|
|
88
|
+
* isochrone, map matching, search, category search, trip optimization),
|
|
89
|
+
* so the map preview never depends on server-side storage that a process
|
|
90
|
+
* restart or a conversation rehydration could invalidate. See
|
|
91
|
+
* `src/utils/selfFetchRef.ts` and the `selffetch` handling in
|
|
92
|
+
* `mapAppHtml.ts`.
|
|
93
|
+
*/
|
|
94
|
+
export interface MapAppSelfFetch {
|
|
95
|
+
tool: 'directions' | 'isochrone' | 'map_matching' | 'search' | 'category_search' | 'optimization' | 'ground_location';
|
|
96
|
+
params: Record<string, unknown>;
|
|
97
|
+
}
|
|
98
|
+
export interface MapAppPayload {
|
|
99
|
+
/** Short header chip shown in the top-left of the iframe. */
|
|
100
|
+
summary?: string;
|
|
101
|
+
/** Layers to add to the map (in order). */
|
|
102
|
+
layers: MapAppLayer[];
|
|
103
|
+
markers?: MapAppMarker[];
|
|
104
|
+
/** Bottom-left legend rows (color swatch + label). */
|
|
105
|
+
legend?: MapAppLegendEntry[];
|
|
106
|
+
/** Optional initial camera; otherwise auto-fits to the union of all data. */
|
|
107
|
+
camera?: MapAppCamera;
|
|
108
|
+
/** Optional fetch-on-render hook for large geometries. */
|
|
109
|
+
defer?: MapAppDeferredLayer;
|
|
110
|
+
/** Layers the iframe fetches and builds itself, post-initial-render. */
|
|
111
|
+
selfFetch?: MapAppSelfFetch[];
|
|
112
|
+
}
|
|
113
|
+
export declare const MapAppPayloadSchema: z.ZodObject<{
|
|
114
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
115
|
+
layers: z.ZodArray<z.ZodObject<{
|
|
116
|
+
id: z.ZodString;
|
|
117
|
+
type: z.ZodEnum<{
|
|
118
|
+
symbol: "symbol";
|
|
119
|
+
fill: "fill";
|
|
120
|
+
line: "line";
|
|
121
|
+
circle: "circle";
|
|
122
|
+
}>;
|
|
123
|
+
data: z.ZodUnion<readonly [z.ZodObject<{
|
|
124
|
+
type: z.ZodLiteral<"Feature">;
|
|
125
|
+
geometry: z.ZodObject<{
|
|
126
|
+
type: z.ZodEnum<{
|
|
127
|
+
Point: "Point";
|
|
128
|
+
LineString: "LineString";
|
|
129
|
+
Polygon: "Polygon";
|
|
130
|
+
MultiPolygon: "MultiPolygon";
|
|
131
|
+
}>;
|
|
132
|
+
coordinates: z.ZodUnknown;
|
|
133
|
+
}, z.core.$strip>;
|
|
134
|
+
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
135
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
136
|
+
type: z.ZodLiteral<"FeatureCollection">;
|
|
137
|
+
features: z.ZodArray<z.ZodObject<{
|
|
138
|
+
type: z.ZodLiteral<"Feature">;
|
|
139
|
+
geometry: z.ZodObject<{
|
|
140
|
+
type: z.ZodEnum<{
|
|
141
|
+
Point: "Point";
|
|
142
|
+
LineString: "LineString";
|
|
143
|
+
Polygon: "Polygon";
|
|
144
|
+
MultiPolygon: "MultiPolygon";
|
|
145
|
+
}>;
|
|
146
|
+
coordinates: z.ZodUnknown;
|
|
147
|
+
}, z.core.$strip>;
|
|
148
|
+
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
149
|
+
}, z.core.$strip>>;
|
|
150
|
+
}, z.core.$strip>]>;
|
|
151
|
+
paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
152
|
+
layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
153
|
+
}, z.core.$strip>>;
|
|
154
|
+
markers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
155
|
+
coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
|
|
156
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
157
|
+
start: "start";
|
|
158
|
+
pin: "pin";
|
|
159
|
+
numbered: "numbered";
|
|
160
|
+
end: "end";
|
|
161
|
+
}>>;
|
|
162
|
+
label: z.ZodOptional<z.ZodString>;
|
|
163
|
+
color: z.ZodOptional<z.ZodString>;
|
|
164
|
+
popup: z.ZodOptional<z.ZodString>;
|
|
165
|
+
}, z.core.$strip>>>;
|
|
166
|
+
legend: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
167
|
+
label: z.ZodString;
|
|
168
|
+
color: z.ZodString;
|
|
169
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
170
|
+
}, z.core.$strip>>>;
|
|
171
|
+
camera: z.ZodOptional<z.ZodObject<{
|
|
172
|
+
center: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
173
|
+
zoom: z.ZodOptional<z.ZodNumber>;
|
|
174
|
+
bounds: z.ZodOptional<z.ZodTuple<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>], null>>;
|
|
175
|
+
}, z.core.$strip>>;
|
|
176
|
+
selfFetch: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
177
|
+
tool: z.ZodEnum<{
|
|
178
|
+
search: "search";
|
|
179
|
+
directions: "directions";
|
|
180
|
+
isochrone: "isochrone";
|
|
181
|
+
map_matching: "map_matching";
|
|
182
|
+
category_search: "category_search";
|
|
183
|
+
optimization: "optimization";
|
|
184
|
+
ground_location: "ground_location";
|
|
185
|
+
}>;
|
|
186
|
+
params: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
187
|
+
}, z.core.$strip>>>;
|
|
188
|
+
}, z.core.$strip>;
|
|
189
|
+
/**
|
|
190
|
+
* Decode a Mapbox polyline string (precision 5 by default) to a GeoJSON
|
|
191
|
+
* LineString. Used tool-side so the iframe never has to do this — the
|
|
192
|
+
* generic renderer only ever sees GeoJSON.
|
|
193
|
+
*
|
|
194
|
+
* Returns null if the decoded coordinates fall outside lng/lat bounds,
|
|
195
|
+
* which can happen if the precision is wrong (the Directions API can emit
|
|
196
|
+
* polyline6 when `geometries=polyline6`). Callers should try precision 6
|
|
197
|
+
* as a fallback.
|
|
198
|
+
*/
|
|
199
|
+
export declare function decodePolyline(str: string, precision?: number): [number, number][] | null;
|
|
200
|
+
/**
|
|
201
|
+
* Convenience: decode polyline with precision-5 then precision-6 fallback.
|
|
202
|
+
* If both produce out-of-range coordinates, returns null and the caller
|
|
203
|
+
* should skip emitting a map-app payload (the geometry can't be drawn).
|
|
204
|
+
*/
|
|
205
|
+
export declare function decodePolylineWithFallback(str: string): [number, number][] | null;
|
|
206
|
+
//# sourceMappingURL=mapAppPayload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapAppPayload.d.ts","sourceRoot":"","sources":["../../../src/utils/mapAppPayload.ts"],"names":[],"mappings":"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"}
|