@mapbox/mcp-server 0.12.7-dev → 0.13.0-dev

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.
Files changed (369) hide show
  1. package/dist/commonjs/config/toolConfig.d.ts +0 -10
  2. package/dist/commonjs/config/toolConfig.d.ts.map +1 -1
  3. package/dist/commonjs/config/toolConfig.js +0 -36
  4. package/dist/commonjs/config/toolConfig.js.map +1 -1
  5. package/dist/commonjs/resources/compute/ComputeResource.d.ts +20 -0
  6. package/dist/commonjs/resources/compute/ComputeResource.d.ts.map +1 -0
  7. package/dist/commonjs/resources/compute/ComputeResource.js +49 -0
  8. package/dist/commonjs/resources/compute/ComputeResource.js.map +1 -0
  9. package/dist/commonjs/resources/inline-payload/InlinePayloadResource.d.ts +17 -0
  10. package/dist/commonjs/resources/inline-payload/InlinePayloadResource.d.ts.map +1 -0
  11. package/dist/commonjs/resources/inline-payload/InlinePayloadResource.js +46 -0
  12. package/dist/commonjs/resources/inline-payload/InlinePayloadResource.js.map +1 -0
  13. package/dist/commonjs/resources/resourceRegistry.d.ts +4 -2
  14. package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -1
  15. package/dist/commonjs/resources/resourceRegistry.js +16 -6
  16. package/dist/commonjs/resources/resourceRegistry.js.map +1 -1
  17. package/dist/commonjs/resources/ui-apps/MapAppUIResource.d.ts +27 -0
  18. package/dist/commonjs/resources/ui-apps/MapAppUIResource.d.ts.map +1 -0
  19. package/dist/commonjs/resources/ui-apps/{DirectionsAppUIResource.js → MapAppUIResource.js} +15 -17
  20. package/dist/commonjs/resources/ui-apps/MapAppUIResource.js.map +1 -0
  21. package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts +19 -0
  22. package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts.map +1 -0
  23. package/dist/commonjs/resources/ui-apps/mapAppHtml.js +1621 -0
  24. package/dist/commonjs/resources/ui-apps/mapAppHtml.js.map +1 -0
  25. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  26. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +46 -41
  27. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  28. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +6 -3
  29. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -1
  30. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js +3 -1
  31. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -1
  32. package/dist/commonjs/tools/category-search-tool/buildCategorySearchRequestUrl.d.ts +30 -0
  33. package/dist/commonjs/tools/category-search-tool/buildCategorySearchRequestUrl.d.ts.map +1 -0
  34. package/dist/commonjs/tools/category-search-tool/buildCategorySearchRequestUrl.js +39 -0
  35. package/dist/commonjs/tools/category-search-tool/buildCategorySearchRequestUrl.js.map +1 -0
  36. package/dist/commonjs/tools/difference-tool/DifferenceTool.d.ts.map +1 -1
  37. package/dist/commonjs/tools/difference-tool/DifferenceTool.js +19 -3
  38. package/dist/commonjs/tools/difference-tool/DifferenceTool.js.map +1 -1
  39. package/dist/commonjs/tools/difference-tool/DifferenceTool.output.schema.d.ts +4 -1
  40. package/dist/commonjs/tools/difference-tool/DifferenceTool.output.schema.d.ts.map +1 -1
  41. package/dist/commonjs/tools/difference-tool/DifferenceTool.output.schema.js +7 -3
  42. package/dist/commonjs/tools/difference-tool/DifferenceTool.output.schema.js.map +1 -1
  43. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts +0 -9
  44. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  45. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -1
  46. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js +9 -4
  47. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -1
  48. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +40 -78
  49. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
  50. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +4 -1
  51. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -1
  52. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js +10 -4
  53. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -1
  54. package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.d.ts +2 -2
  55. package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.d.ts.map +1 -1
  56. package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.js +4 -12
  57. package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.js.map +1 -1
  58. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
  59. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.js +52 -18
  60. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.js.map +1 -1
  61. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts +4 -1
  62. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts.map +1 -1
  63. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.js +7 -3
  64. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.js.map +1 -1
  65. package/dist/commonjs/tools/ground-location-tool/buildReverseGeocodeUrl.d.ts +19 -0
  66. package/dist/commonjs/tools/ground-location-tool/buildReverseGeocodeUrl.d.ts.map +1 -0
  67. package/dist/commonjs/tools/ground-location-tool/buildReverseGeocodeUrl.js +26 -0
  68. package/dist/commonjs/tools/ground-location-tool/buildReverseGeocodeUrl.js.map +1 -0
  69. package/dist/commonjs/tools/intersect-tool/IntersectTool.d.ts.map +1 -1
  70. package/dist/commonjs/tools/intersect-tool/IntersectTool.js +19 -3
  71. package/dist/commonjs/tools/intersect-tool/IntersectTool.js.map +1 -1
  72. package/dist/commonjs/tools/intersect-tool/IntersectTool.output.schema.d.ts +4 -1
  73. package/dist/commonjs/tools/intersect-tool/IntersectTool.output.schema.d.ts.map +1 -1
  74. package/dist/commonjs/tools/intersect-tool/IntersectTool.output.schema.js +7 -3
  75. package/dist/commonjs/tools/intersect-tool/IntersectTool.output.schema.js.map +1 -1
  76. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  77. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +51 -47
  78. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  79. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +4 -5
  80. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -1
  81. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js +7 -3
  82. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -1
  83. package/dist/commonjs/tools/isochrone-tool/buildIsochroneRequestUrl.d.ts +28 -0
  84. package/dist/commonjs/tools/isochrone-tool/buildIsochroneRequestUrl.d.ts.map +1 -0
  85. package/dist/commonjs/tools/isochrone-tool/buildIsochroneRequestUrl.js +44 -0
  86. package/dist/commonjs/tools/isochrone-tool/buildIsochroneRequestUrl.js.map +1 -0
  87. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.d.ts.map +1 -1
  88. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.js +61 -34
  89. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.js.map +1 -1
  90. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.output.schema.d.ts +8 -5
  91. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.output.schema.d.ts.map +1 -1
  92. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.output.schema.js +11 -5
  93. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.output.schema.js.map +1 -1
  94. package/dist/commonjs/tools/map-matching-tool/buildMapMatchingRequestUrl.d.ts +25 -0
  95. package/dist/commonjs/tools/map-matching-tool/buildMapMatchingRequestUrl.d.ts.map +1 -0
  96. package/dist/commonjs/tools/map-matching-tool/buildMapMatchingRequestUrl.js +33 -0
  97. package/dist/commonjs/tools/map-matching-tool/buildMapMatchingRequestUrl.js.map +1 -0
  98. package/dist/commonjs/tools/optimization-tool/OptimizationTool.d.ts.map +1 -1
  99. package/dist/commonjs/tools/optimization-tool/OptimizationTool.input.schema.d.ts.map +1 -1
  100. package/dist/commonjs/tools/optimization-tool/OptimizationTool.input.schema.js +19 -4
  101. package/dist/commonjs/tools/optimization-tool/OptimizationTool.input.schema.js.map +1 -1
  102. package/dist/commonjs/tools/optimization-tool/OptimizationTool.js +32 -33
  103. package/dist/commonjs/tools/optimization-tool/OptimizationTool.js.map +1 -1
  104. package/dist/commonjs/tools/optimization-tool/OptimizationTool.output.schema.d.ts +3 -5
  105. package/dist/commonjs/tools/optimization-tool/OptimizationTool.output.schema.d.ts.map +1 -1
  106. package/dist/commonjs/tools/optimization-tool/OptimizationTool.output.schema.js +6 -1
  107. package/dist/commonjs/tools/optimization-tool/OptimizationTool.output.schema.js.map +1 -1
  108. package/dist/commonjs/tools/optimization-tool/buildOptimizationRequestUrl.d.ts +30 -0
  109. package/dist/commonjs/tools/optimization-tool/buildOptimizationRequestUrl.d.ts.map +1 -0
  110. package/dist/commonjs/tools/optimization-tool/buildOptimizationRequestUrl.js +45 -0
  111. package/dist/commonjs/tools/optimization-tool/buildOptimizationRequestUrl.js.map +1 -0
  112. package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts +60 -0
  113. package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts.map +1 -0
  114. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts +41 -0
  115. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -0
  116. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js +99 -0
  117. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -0
  118. package/dist/commonjs/tools/render-map-tool/RenderMapTool.js +246 -0
  119. package/dist/commonjs/tools/render-map-tool/RenderMapTool.js.map +1 -0
  120. package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts +97 -0
  121. package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -0
  122. package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.js +35 -0
  123. package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.js.map +1 -0
  124. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +1 -1
  125. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +3 -3
  126. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +10 -0
  127. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  128. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +58 -48
  129. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  130. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +3 -0
  131. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -1
  132. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +3 -1
  133. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -1
  134. package/dist/commonjs/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.d.ts +37 -0
  135. package/dist/commonjs/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.d.ts.map +1 -0
  136. package/dist/commonjs/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.js +51 -0
  137. package/dist/commonjs/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.js.map +1 -0
  138. package/dist/commonjs/tools/shared/polygonSchema.d.ts +15 -0
  139. package/dist/commonjs/tools/shared/polygonSchema.d.ts.map +1 -1
  140. package/dist/commonjs/tools/shared/polygonSchema.js +23 -2
  141. package/dist/commonjs/tools/shared/polygonSchema.js.map +1 -1
  142. package/dist/commonjs/tools/toolRegistry.d.ts +3 -2
  143. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
  144. package/dist/commonjs/tools/toolRegistry.js +2 -0
  145. package/dist/commonjs/tools/toolRegistry.js.map +1 -1
  146. package/dist/commonjs/tools/union-tool/UnionTool.d.ts.map +1 -1
  147. package/dist/commonjs/tools/union-tool/UnionTool.js +22 -3
  148. package/dist/commonjs/tools/union-tool/UnionTool.js.map +1 -1
  149. package/dist/commonjs/tools/union-tool/UnionTool.output.schema.d.ts +4 -1
  150. package/dist/commonjs/tools/union-tool/UnionTool.output.schema.d.ts.map +1 -1
  151. package/dist/commonjs/tools/union-tool/UnionTool.output.schema.js +7 -3
  152. package/dist/commonjs/tools/union-tool/UnionTool.output.schema.js.map +1 -1
  153. package/dist/commonjs/tools/union-tool/buildPolygonOpsMapPayload.d.ts +21 -0
  154. package/dist/commonjs/tools/union-tool/buildPolygonOpsMapPayload.d.ts.map +1 -0
  155. package/dist/commonjs/tools/union-tool/buildPolygonOpsMapPayload.js +72 -0
  156. package/dist/commonjs/tools/union-tool/buildPolygonOpsMapPayload.js.map +1 -0
  157. package/dist/commonjs/utils/computeRef.d.ts +38 -0
  158. package/dist/commonjs/utils/computeRef.d.ts.map +1 -0
  159. package/dist/commonjs/utils/computeRef.js +116 -0
  160. package/dist/commonjs/utils/computeRef.js.map +1 -0
  161. package/dist/commonjs/utils/inlinePayloadRef.d.ts +32 -0
  162. package/dist/commonjs/utils/inlinePayloadRef.d.ts.map +1 -0
  163. package/dist/commonjs/utils/inlinePayloadRef.js +56 -0
  164. package/dist/commonjs/utils/inlinePayloadRef.js.map +1 -0
  165. package/dist/commonjs/utils/mapAppPayload.d.ts +206 -0
  166. package/dist/commonjs/utils/mapAppPayload.d.ts.map +1 -0
  167. package/dist/commonjs/utils/mapAppPayload.js +129 -0
  168. package/dist/commonjs/utils/mapAppPayload.js.map +1 -0
  169. package/dist/commonjs/utils/selfFetchRef.d.ts +25 -0
  170. package/dist/commonjs/utils/selfFetchRef.d.ts.map +1 -0
  171. package/dist/commonjs/utils/selfFetchRef.js +75 -0
  172. package/dist/commonjs/utils/selfFetchRef.js.map +1 -0
  173. package/dist/commonjs/utils/storeMapPayload.d.ts +71 -0
  174. package/dist/commonjs/utils/storeMapPayload.d.ts.map +1 -0
  175. package/dist/commonjs/utils/storeMapPayload.js +153 -0
  176. package/dist/commonjs/utils/storeMapPayload.js.map +1 -0
  177. package/dist/commonjs/version.json +3 -3
  178. package/dist/esm/config/toolConfig.d.ts +0 -10
  179. package/dist/esm/config/toolConfig.d.ts.map +1 -1
  180. package/dist/esm/config/toolConfig.js +0 -35
  181. package/dist/esm/config/toolConfig.js.map +1 -1
  182. package/dist/esm/resources/compute/ComputeResource.d.ts +20 -0
  183. package/dist/esm/resources/compute/ComputeResource.d.ts.map +1 -0
  184. package/dist/esm/resources/compute/ComputeResource.js +45 -0
  185. package/dist/esm/resources/compute/ComputeResource.js.map +1 -0
  186. package/dist/esm/resources/inline-payload/InlinePayloadResource.d.ts +17 -0
  187. package/dist/esm/resources/inline-payload/InlinePayloadResource.d.ts.map +1 -0
  188. package/dist/esm/resources/inline-payload/InlinePayloadResource.js +42 -0
  189. package/dist/esm/resources/inline-payload/InlinePayloadResource.js.map +1 -0
  190. package/dist/esm/resources/resourceRegistry.d.ts +4 -2
  191. package/dist/esm/resources/resourceRegistry.d.ts.map +1 -1
  192. package/dist/esm/resources/resourceRegistry.js +16 -6
  193. package/dist/esm/resources/resourceRegistry.js.map +1 -1
  194. package/dist/esm/resources/ui-apps/MapAppUIResource.d.ts +27 -0
  195. package/dist/esm/resources/ui-apps/MapAppUIResource.d.ts.map +1 -0
  196. package/dist/esm/resources/ui-apps/{DirectionsAppUIResource.js → MapAppUIResource.js} +13 -15
  197. package/dist/esm/resources/ui-apps/MapAppUIResource.js.map +1 -0
  198. package/dist/esm/resources/ui-apps/mapAppHtml.d.ts +19 -0
  199. package/dist/esm/resources/ui-apps/mapAppHtml.d.ts.map +1 -0
  200. package/dist/esm/resources/ui-apps/mapAppHtml.js +1617 -0
  201. package/dist/esm/resources/ui-apps/mapAppHtml.js.map +1 -0
  202. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  203. package/dist/esm/tools/category-search-tool/CategorySearchTool.js +46 -41
  204. package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  205. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +6 -3
  206. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -1
  207. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js +3 -1
  208. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -1
  209. package/dist/esm/tools/category-search-tool/buildCategorySearchRequestUrl.d.ts +30 -0
  210. package/dist/esm/tools/category-search-tool/buildCategorySearchRequestUrl.d.ts.map +1 -0
  211. package/dist/esm/tools/category-search-tool/buildCategorySearchRequestUrl.js +36 -0
  212. package/dist/esm/tools/category-search-tool/buildCategorySearchRequestUrl.js.map +1 -0
  213. package/dist/esm/tools/difference-tool/DifferenceTool.d.ts.map +1 -1
  214. package/dist/esm/tools/difference-tool/DifferenceTool.js +19 -3
  215. package/dist/esm/tools/difference-tool/DifferenceTool.js.map +1 -1
  216. package/dist/esm/tools/difference-tool/DifferenceTool.output.schema.d.ts +4 -1
  217. package/dist/esm/tools/difference-tool/DifferenceTool.output.schema.d.ts.map +1 -1
  218. package/dist/esm/tools/difference-tool/DifferenceTool.output.schema.js +7 -3
  219. package/dist/esm/tools/difference-tool/DifferenceTool.output.schema.js.map +1 -1
  220. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +0 -9
  221. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  222. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -1
  223. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js +9 -4
  224. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -1
  225. package/dist/esm/tools/directions-tool/DirectionsTool.js +41 -79
  226. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
  227. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +4 -1
  228. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -1
  229. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js +10 -4
  230. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -1
  231. package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.d.ts +2 -2
  232. package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.d.ts.map +1 -1
  233. package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.js +4 -12
  234. package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.js.map +1 -1
  235. package/dist/esm/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
  236. package/dist/esm/tools/ground-location-tool/GroundLocationTool.js +52 -18
  237. package/dist/esm/tools/ground-location-tool/GroundLocationTool.js.map +1 -1
  238. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts +4 -1
  239. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts.map +1 -1
  240. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.js +7 -3
  241. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.js.map +1 -1
  242. package/dist/esm/tools/ground-location-tool/buildReverseGeocodeUrl.d.ts +19 -0
  243. package/dist/esm/tools/ground-location-tool/buildReverseGeocodeUrl.d.ts.map +1 -0
  244. package/dist/esm/tools/ground-location-tool/buildReverseGeocodeUrl.js +23 -0
  245. package/dist/esm/tools/ground-location-tool/buildReverseGeocodeUrl.js.map +1 -0
  246. package/dist/esm/tools/intersect-tool/IntersectTool.d.ts.map +1 -1
  247. package/dist/esm/tools/intersect-tool/IntersectTool.js +19 -3
  248. package/dist/esm/tools/intersect-tool/IntersectTool.js.map +1 -1
  249. package/dist/esm/tools/intersect-tool/IntersectTool.output.schema.d.ts +4 -1
  250. package/dist/esm/tools/intersect-tool/IntersectTool.output.schema.d.ts.map +1 -1
  251. package/dist/esm/tools/intersect-tool/IntersectTool.output.schema.js +7 -3
  252. package/dist/esm/tools/intersect-tool/IntersectTool.output.schema.js.map +1 -1
  253. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  254. package/dist/esm/tools/isochrone-tool/IsochroneTool.js +51 -47
  255. package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  256. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +4 -5
  257. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -1
  258. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js +7 -3
  259. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -1
  260. package/dist/esm/tools/isochrone-tool/buildIsochroneRequestUrl.d.ts +28 -0
  261. package/dist/esm/tools/isochrone-tool/buildIsochroneRequestUrl.d.ts.map +1 -0
  262. package/dist/esm/tools/isochrone-tool/buildIsochroneRequestUrl.js +41 -0
  263. package/dist/esm/tools/isochrone-tool/buildIsochroneRequestUrl.js.map +1 -0
  264. package/dist/esm/tools/map-matching-tool/MapMatchingTool.d.ts.map +1 -1
  265. package/dist/esm/tools/map-matching-tool/MapMatchingTool.js +61 -34
  266. package/dist/esm/tools/map-matching-tool/MapMatchingTool.js.map +1 -1
  267. package/dist/esm/tools/map-matching-tool/MapMatchingTool.output.schema.d.ts +8 -5
  268. package/dist/esm/tools/map-matching-tool/MapMatchingTool.output.schema.d.ts.map +1 -1
  269. package/dist/esm/tools/map-matching-tool/MapMatchingTool.output.schema.js +11 -5
  270. package/dist/esm/tools/map-matching-tool/MapMatchingTool.output.schema.js.map +1 -1
  271. package/dist/esm/tools/map-matching-tool/buildMapMatchingRequestUrl.d.ts +25 -0
  272. package/dist/esm/tools/map-matching-tool/buildMapMatchingRequestUrl.d.ts.map +1 -0
  273. package/dist/esm/tools/map-matching-tool/buildMapMatchingRequestUrl.js +30 -0
  274. package/dist/esm/tools/map-matching-tool/buildMapMatchingRequestUrl.js.map +1 -0
  275. package/dist/esm/tools/optimization-tool/OptimizationTool.d.ts.map +1 -1
  276. package/dist/esm/tools/optimization-tool/OptimizationTool.input.schema.d.ts.map +1 -1
  277. package/dist/esm/tools/optimization-tool/OptimizationTool.input.schema.js +19 -4
  278. package/dist/esm/tools/optimization-tool/OptimizationTool.input.schema.js.map +1 -1
  279. package/dist/esm/tools/optimization-tool/OptimizationTool.js +32 -33
  280. package/dist/esm/tools/optimization-tool/OptimizationTool.js.map +1 -1
  281. package/dist/esm/tools/optimization-tool/OptimizationTool.output.schema.d.ts +3 -5
  282. package/dist/esm/tools/optimization-tool/OptimizationTool.output.schema.d.ts.map +1 -1
  283. package/dist/esm/tools/optimization-tool/OptimizationTool.output.schema.js +6 -1
  284. package/dist/esm/tools/optimization-tool/OptimizationTool.output.schema.js.map +1 -1
  285. package/dist/esm/tools/optimization-tool/buildOptimizationRequestUrl.d.ts +30 -0
  286. package/dist/esm/tools/optimization-tool/buildOptimizationRequestUrl.d.ts.map +1 -0
  287. package/dist/esm/tools/optimization-tool/buildOptimizationRequestUrl.js +42 -0
  288. package/dist/esm/tools/optimization-tool/buildOptimizationRequestUrl.js.map +1 -0
  289. package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts +60 -0
  290. package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts.map +1 -0
  291. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts +41 -0
  292. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -0
  293. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js +96 -0
  294. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -0
  295. package/dist/esm/tools/render-map-tool/RenderMapTool.js +242 -0
  296. package/dist/esm/tools/render-map-tool/RenderMapTool.js.map +1 -0
  297. package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts +97 -0
  298. package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -0
  299. package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.js +32 -0
  300. package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.js.map +1 -0
  301. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +1 -1
  302. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +3 -3
  303. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +10 -0
  304. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  305. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +58 -48
  306. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  307. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +3 -0
  308. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -1
  309. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +3 -1
  310. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -1
  311. package/dist/esm/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.d.ts +37 -0
  312. package/dist/esm/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.d.ts.map +1 -0
  313. package/dist/esm/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.js +48 -0
  314. package/dist/esm/tools/search-and-geocode-tool/buildSearchAndGeocodeRequestUrl.js.map +1 -0
  315. package/dist/esm/tools/shared/polygonSchema.d.ts +15 -0
  316. package/dist/esm/tools/shared/polygonSchema.d.ts.map +1 -1
  317. package/dist/esm/tools/shared/polygonSchema.js +23 -2
  318. package/dist/esm/tools/shared/polygonSchema.js.map +1 -1
  319. package/dist/esm/tools/toolRegistry.d.ts +3 -2
  320. package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
  321. package/dist/esm/tools/toolRegistry.js +2 -0
  322. package/dist/esm/tools/toolRegistry.js.map +1 -1
  323. package/dist/esm/tools/union-tool/UnionTool.d.ts.map +1 -1
  324. package/dist/esm/tools/union-tool/UnionTool.js +22 -3
  325. package/dist/esm/tools/union-tool/UnionTool.js.map +1 -1
  326. package/dist/esm/tools/union-tool/UnionTool.output.schema.d.ts +4 -1
  327. package/dist/esm/tools/union-tool/UnionTool.output.schema.d.ts.map +1 -1
  328. package/dist/esm/tools/union-tool/UnionTool.output.schema.js +7 -3
  329. package/dist/esm/tools/union-tool/UnionTool.output.schema.js.map +1 -1
  330. package/dist/esm/tools/union-tool/buildPolygonOpsMapPayload.d.ts +21 -0
  331. package/dist/esm/tools/union-tool/buildPolygonOpsMapPayload.d.ts.map +1 -0
  332. package/dist/esm/tools/union-tool/buildPolygonOpsMapPayload.js +69 -0
  333. package/dist/esm/tools/union-tool/buildPolygonOpsMapPayload.js.map +1 -0
  334. package/dist/esm/utils/computeRef.d.ts +38 -0
  335. package/dist/esm/utils/computeRef.d.ts.map +1 -0
  336. package/dist/esm/utils/computeRef.js +111 -0
  337. package/dist/esm/utils/computeRef.js.map +1 -0
  338. package/dist/esm/utils/inlinePayloadRef.d.ts +32 -0
  339. package/dist/esm/utils/inlinePayloadRef.d.ts.map +1 -0
  340. package/dist/esm/utils/inlinePayloadRef.js +51 -0
  341. package/dist/esm/utils/inlinePayloadRef.js.map +1 -0
  342. package/dist/esm/utils/mapAppPayload.d.ts +206 -0
  343. package/dist/esm/utils/mapAppPayload.d.ts.map +1 -0
  344. package/dist/esm/utils/mapAppPayload.js +124 -0
  345. package/dist/esm/utils/mapAppPayload.js.map +1 -0
  346. package/dist/esm/utils/selfFetchRef.d.ts +25 -0
  347. package/dist/esm/utils/selfFetchRef.d.ts.map +1 -0
  348. package/dist/esm/utils/selfFetchRef.js +70 -0
  349. package/dist/esm/utils/selfFetchRef.js.map +1 -0
  350. package/dist/esm/utils/storeMapPayload.d.ts +71 -0
  351. package/dist/esm/utils/storeMapPayload.d.ts.map +1 -0
  352. package/dist/esm/utils/storeMapPayload.js +145 -0
  353. package/dist/esm/utils/storeMapPayload.js.map +1 -0
  354. package/dist/esm/version.json +3 -3
  355. package/package.json +2 -2
  356. package/dist/commonjs/resources/ui-apps/DirectionsAppUIResource.d.ts +0 -29
  357. package/dist/commonjs/resources/ui-apps/DirectionsAppUIResource.d.ts.map +0 -1
  358. package/dist/commonjs/resources/ui-apps/DirectionsAppUIResource.js.map +0 -1
  359. package/dist/commonjs/resources/ui-apps/directionsAppHtml.d.ts +0 -45
  360. package/dist/commonjs/resources/ui-apps/directionsAppHtml.d.ts.map +0 -1
  361. package/dist/commonjs/resources/ui-apps/directionsAppHtml.js +0 -579
  362. package/dist/commonjs/resources/ui-apps/directionsAppHtml.js.map +0 -1
  363. package/dist/esm/resources/ui-apps/DirectionsAppUIResource.d.ts +0 -29
  364. package/dist/esm/resources/ui-apps/DirectionsAppUIResource.d.ts.map +0 -1
  365. package/dist/esm/resources/ui-apps/DirectionsAppUIResource.js.map +0 -1
  366. package/dist/esm/resources/ui-apps/directionsAppHtml.d.ts +0 -45
  367. package/dist/esm/resources/ui-apps/directionsAppHtml.d.ts.map +0 -1
  368. package/dist/esm/resources/ui-apps/directionsAppHtml.js +0 -575
  369. package/dist/esm/resources/ui-apps/directionsAppHtml.js.map +0 -1
@@ -9,12 +9,17 @@ const tracing_js_1 = require("../../utils/tracing.js");
9
9
  const BaseTool_js_1 = require("../BaseTool.js");
10
10
  const UnionTool_input_schema_js_1 = require("./UnionTool.input.schema.js");
11
11
  const UnionTool_output_schema_js_1 = require("./UnionTool.output.schema.js");
12
+ const storeMapPayload_js_1 = require("../../utils/storeMapPayload.js");
13
+ const computeRef_js_1 = require("../../utils/computeRef.js");
12
14
  class UnionTool extends BaseTool_js_1.BaseTool {
13
15
  name = 'union_tool';
14
16
  description = 'Merge two or more polygons into a single unified geometry. ' +
15
17
  'Useful for combining service areas, delivery zones, isochrones, or coverage regions. ' +
16
18
  'Returns a Polygon or MultiPolygon if the inputs do not overlap. ' +
17
- 'Works offline without API calls.';
19
+ 'Works offline without API calls. ' +
20
+ 'INPUT SHAPE: pass `polygons` as an array of polygons. Each polygon is an array of rings; each ring is an array of [lng, lat] pairs. ' +
21
+ 'When chaining with isochrone_tool, extract `feature.geometry.coordinates` from each isochrone Feature — that is already a valid Polygon value. ' +
22
+ 'Skip features whose `geometry.type === "MultiPolygon"` (pass each inner Polygon separately) or whose `geometry.type === "LineString"` (set isochrone_tool `polygons=true` to get Polygon output instead).';
18
23
  annotations = {
19
24
  title: 'Union Polygons',
20
25
  readOnlyHint: true,
@@ -43,11 +48,25 @@ class UnionTool extends BaseTool_js_1.BaseTool {
43
48
  const text = `Union of ${input.polygons.length} polygons computed.\n` +
44
49
  `Result type: ${validated.type}\n` +
45
50
  `GeoJSON geometry:\n${JSON.stringify(validated.geometry, null, 2)}`;
51
+ // Union is a pure function of its inputs — the ref carries the
52
+ // inputs themselves (already present in this call's own
53
+ // arguments) rather than a pointer to a server-side store, so
54
+ // rendering it later never depends on this process still being
55
+ // alive. See computeRef.ts.
56
+ const ref = (0, computeRef_js_1.buildComputeRef)('union', polys.map((p) => ({
57
+ type: 'Feature',
58
+ geometry: p.geometry
59
+ })));
60
+ const sc = {
61
+ ...validated,
62
+ mapboxRender: { ref }
63
+ };
64
+ const textOut = text + (0, storeMapPayload_js_1.renderHint)(ref);
46
65
  toolContext.span.setStatus({ code: api_1.SpanStatusCode.OK });
47
66
  toolContext.span.end();
48
67
  return {
49
- content: [{ type: 'text', text }],
50
- structuredContent: validated,
68
+ content: [{ type: 'text', text: textOut }],
69
+ structuredContent: sc,
51
70
  isError: false
52
71
  };
53
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UnionTool.js","sourceRoot":"","sources":["../../../../src/tools/union-tool/UnionTool.ts"],"names":[],"mappings":"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"}
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
- }, z.core.$strip>;
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;AAExB,eAAO,MAAM,iBAAiB;;;iBAO5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,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"}
@@ -4,10 +4,14 @@
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.UnionOutputSchema = void 0;
6
6
  const zod_1 = require("zod");
7
- exports.UnionOutputSchema = zod_1.z.object({
7
+ const storeMapPayload_js_1 = require("../../utils/storeMapPayload.js");
8
+ exports.UnionOutputSchema = zod_1.z
9
+ .object({
8
10
  geometry: zod_1.z
9
11
  .record(zod_1.z.string(), zod_1.z.unknown())
10
12
  .describe('GeoJSON geometry of the merged polygon (Polygon or MultiPolygon)'),
11
- type: zod_1.z.string().describe('Geometry type: Polygon or MultiPolygon')
12
- });
13
+ type: zod_1.z.string().describe('Geometry type: Polygon or MultiPolygon'),
14
+ mapboxRender: storeMapPayload_js_1.MapAppRefSchema.optional()
15
+ })
16
+ .passthrough();
13
17
  //# 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,6BAAwB;AAEX,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,OAAC;SACR,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;SAC/B,QAAQ,CACP,kEAAkE,CACnE;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CACpE,CAAC,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,6BAAwB;AAExB,uEAAiE;AAEpD,QAAA,iBAAiB,GAAG,OAAC;KAC/B,MAAM,CAAC;IACN,QAAQ,EAAE,OAAC;SACR,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;SAC/B,QAAQ,CACP,kEAAkE,CACnE;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACnE,YAAY,EAAE,oCAAe,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,72 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.buildPolygonOpsMapPayload = buildPolygonOpsMapPayload;
6
+ const RESULT_COLORS = {
7
+ union: '#22c55e', // green
8
+ intersect: '#8b5cf6', // purple
9
+ difference: '#f97316' // orange
10
+ };
11
+ /**
12
+ * Build a `MapAppPayload` for the offline polygon-op tools
13
+ * (union/intersect/difference). Renders input polygons in muted blue and the
14
+ * result in an operation-keyed color. Used by all three tools — color and
15
+ * summary are the only operation-dependent fields.
16
+ */
17
+ function buildPolygonOpsMapPayload(params) {
18
+ const { operation, inputs, result, summary } = params;
19
+ if (inputs.length === 0)
20
+ return null;
21
+ const resultColor = RESULT_COLORS[operation];
22
+ const layers = [];
23
+ inputs.forEach((feature, i) => {
24
+ layers.push({
25
+ id: `input-fill-${i}`,
26
+ type: 'fill',
27
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
+ data: feature,
29
+ paint: { 'fill-color': '#3b82f6', 'fill-opacity': 0.25 }
30
+ });
31
+ layers.push({
32
+ id: `input-line-${i}`,
33
+ type: 'line',
34
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
+ data: feature,
36
+ paint: {
37
+ 'line-color': '#3b82f6',
38
+ 'line-width': 2,
39
+ 'line-opacity': 0.7
40
+ },
41
+ layout: { 'line-join': 'round', 'line-cap': 'round' }
42
+ });
43
+ });
44
+ if (result && result.geometry) {
45
+ layers.push({
46
+ id: 'result-fill',
47
+ type: 'fill',
48
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
+ data: result,
50
+ paint: { 'fill-color': resultColor, 'fill-opacity': 0.45 }
51
+ });
52
+ layers.push({
53
+ id: 'result-line',
54
+ type: 'line',
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ data: result,
57
+ paint: { 'line-color': resultColor, 'line-width': 3 },
58
+ layout: { 'line-join': 'round', 'line-cap': 'round' }
59
+ });
60
+ }
61
+ return {
62
+ summary,
63
+ layers,
64
+ legend: [
65
+ { label: 'Inputs', color: '#3b82f6', opacity: 0.35 },
66
+ ...(result
67
+ ? [{ label: `${operation} result`, color: resultColor, opacity: 0.7 }]
68
+ : [])
69
+ ]
70
+ };
71
+ }
72
+ //# 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;;AAkBlC,8DA8DC;AA1ED,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,SAAgB,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,116 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.buildComputeRef = buildComputeRef;
6
+ exports.resolveComputeRef = resolveComputeRef;
7
+ exports.isComputeRef = isComputeRef;
8
+ const turf_1 = require("@turf/turf");
9
+ const buildPolygonOpsMapPayload_js_1 = require("../tools/union-tool/buildPolygonOpsMapPayload.js");
10
+ const COMPUTE_URI_PREFIX = 'mapbox://compute/';
11
+ /**
12
+ * Stateless alternative to `storeMapPayload` for the offline polygon-op
13
+ * tools (union/intersect/difference). Those tools compute their result from
14
+ * `@turf/turf` given only the caller's own input polygons — there is no
15
+ * external API response to cache and no reason a ref should depend on
16
+ * server-side state at all.
17
+ *
18
+ * Instead of storing the *computed result* behind an opaque UUID (which is
19
+ * lost on every process restart — see the mapbox://temp/ 30-min-TTL-in-
20
+ * memory-store issue this was built to avoid), the ref itself carries the
21
+ * *inputs* (already present in the tool's own call arguments, so no bigger
22
+ * than what the LLM already emitted to call union/intersect/difference in
23
+ * the first place). `resolveComputeRef` re-derives the result by re-running
24
+ * the same turf operation. This makes the ref:
25
+ * - immune to server restarts (nothing to lose — it's a pure function of
26
+ * the URI's own contents),
27
+ * - safe under horizontal scaling (any instance can resolve any ref; no
28
+ * server affinity, unlike an in-memory store keyed by process),
29
+ * - safe across accounts (no owner check needed — the ref only ever
30
+ * contains geometry the caller already had).
31
+ */
32
+ function buildComputeRef(operation, inputs) {
33
+ const data = Buffer.from(JSON.stringify(inputs), 'utf8').toString('base64url');
34
+ return `${COMPUTE_URI_PREFIX}${operation}?data=${data}`;
35
+ }
36
+ /**
37
+ * Re-derive the `MapAppPayload` for a `mapbox://compute/...` ref by
38
+ * re-running the encoded turf operation. Returns null if the ref isn't a
39
+ * compute ref, the operation is unrecognized, or the encoded data doesn't
40
+ * decode to a valid input array.
41
+ */
42
+ function resolveComputeRef(uri) {
43
+ if (!uri.startsWith(COMPUTE_URI_PREFIX))
44
+ return null;
45
+ let operation;
46
+ let encoded;
47
+ try {
48
+ const parsed = new URL(uri);
49
+ // The operation is the path segment, not the hostname: for
50
+ // `mapbox://compute/union?...` the WHATWG URL parser treats `compute`
51
+ // as the hostname and `/union` as the pathname.
52
+ operation = parsed.pathname.replace(/^\//, '');
53
+ encoded = parsed.searchParams.get('data');
54
+ }
55
+ catch {
56
+ return null;
57
+ }
58
+ if (!encoded)
59
+ return null;
60
+ let inputs;
61
+ try {
62
+ inputs = JSON.parse(Buffer.from(encoded, 'base64url').toString('utf8'));
63
+ }
64
+ catch {
65
+ return null;
66
+ }
67
+ if (!Array.isArray(inputs) || inputs.length === 0)
68
+ return null;
69
+ // `inputs` came from base64-decoded JSON built by buildComputeRef, which
70
+ // only ever writes `{ type: 'Feature', geometry }` (no `properties`) —
71
+ // turf doesn't require it at runtime, so cast past the stricter
72
+ // `Feature<Polygon | MultiPolygon>` shape rather than adding a field
73
+ // nothing reads.
74
+ const fc = (0, turf_1.featureCollection)(inputs);
75
+ switch (operation) {
76
+ case 'union': {
77
+ const result = (0, turf_1.union)(fc);
78
+ if (!result)
79
+ return null;
80
+ return (0, buildPolygonOpsMapPayload_js_1.buildPolygonOpsMapPayload)({
81
+ operation: 'union',
82
+ inputs,
83
+ result,
84
+ summary: `Union of ${inputs.length} polygons`
85
+ });
86
+ }
87
+ case 'intersect': {
88
+ const result = (0, turf_1.intersect)(fc);
89
+ return (0, buildPolygonOpsMapPayload_js_1.buildPolygonOpsMapPayload)({
90
+ operation: 'intersect',
91
+ inputs,
92
+ result: result ?? null,
93
+ summary: result
94
+ ? 'Intersection of two polygons'
95
+ : 'Polygons do not intersect'
96
+ });
97
+ }
98
+ case 'difference': {
99
+ const result = (0, turf_1.difference)(fc);
100
+ return (0, buildPolygonOpsMapPayload_js_1.buildPolygonOpsMapPayload)({
101
+ operation: 'difference',
102
+ inputs,
103
+ result: result ?? null,
104
+ summary: result
105
+ ? 'Difference of two polygons (polygon1 minus polygon2)'
106
+ : 'polygon2 fully covers polygon1 (no difference)'
107
+ });
108
+ }
109
+ default:
110
+ return null;
111
+ }
112
+ }
113
+ function isComputeRef(uri) {
114
+ return uri.startsWith(COMPUTE_URI_PREFIX);
115
+ }
116
+ //# 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,56 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.buildInlinePayloadRef = buildInlinePayloadRef;
6
+ exports.isInlinePayloadRef = isInlinePayloadRef;
7
+ exports.resolveInlinePayloadRef = resolveInlinePayloadRef;
8
+ const INLINE_PAYLOAD_URI_PREFIX = 'mapbox://inline/payload?data=';
9
+ /**
10
+ * Self-describing counterpart to `storeMapPayload` for `render_map_tool`'s
11
+ * own merged output. The whole resolved payload is base64'd directly into
12
+ * the ref — no server-side store, no TTL, no owner.
13
+ *
14
+ * Why this exists: `render_map_tool` used to *always* call `storeMapPayload`
15
+ * for its merged output, even when every input was already a self-
16
+ * describing `mapbox://compute/...` or `mapbox://selffetch/...` ref (see
17
+ * computeRef.ts / selfFetchRef.ts). That meant Claude Desktop — which
18
+ * strips `structuredContent` and depends entirely on `resources/read`
19
+ * against the sentinel-embedded ref — was still vulnerable to the exact
20
+ * restart/rehydration bug those refs were built to eliminate, because the
21
+ * *final* hop (render_map_tool's own ref) was still ephemeral regardless of
22
+ * how the inputs got there. ChatGPT was unaffected (it reads the payload
23
+ * straight out of `structuredContent`, never touching the ref), which is
24
+ * why the gap wasn't obvious from that side.
25
+ *
26
+ * Only used when the merged payload is small enough to inline (see
27
+ * `MAX_INLINE_PAYLOAD_BYTES` in storeMapPayload.ts) — a payload backed by a
28
+ * genuinely large upstream `mapbox://temp/...` resource still needs the
29
+ * real store and keeps the existing TTL behavior.
30
+ */
31
+ function buildInlinePayloadRef(payload) {
32
+ const data = Buffer.from(JSON.stringify(payload), 'utf8').toString('base64url');
33
+ return `${INLINE_PAYLOAD_URI_PREFIX}${data}`;
34
+ }
35
+ function isInlinePayloadRef(uri) {
36
+ return uri.startsWith(INLINE_PAYLOAD_URI_PREFIX);
37
+ }
38
+ /**
39
+ * Unwrap a `mapbox://inline/payload?data=...` ref back into its
40
+ * `MapAppPayload`. Returns null if the ref isn't this scheme or its data
41
+ * doesn't decode.
42
+ */
43
+ function resolveInlinePayloadRef(uri) {
44
+ if (!isInlinePayloadRef(uri))
45
+ return null;
46
+ const encoded = uri.slice(INLINE_PAYLOAD_URI_PREFIX.length);
47
+ if (!encoded)
48
+ return null;
49
+ try {
50
+ return JSON.parse(Buffer.from(encoded, 'base64url').toString('utf8'));
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ }
56
+ //# 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;;AA4BlC,sDAKC;AAED,gDAEC;AAOD,0DASC;AAjDD,MAAM,yBAAyB,GAAG,+BAA+B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,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,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,OAAO,GAAG,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,SAAgB,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"}