@mapbox/mcp-server 0.13.0 → 0.15.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.
Files changed (257) hide show
  1. package/README.md +111 -14
  2. package/dist/commonjs/cli.d.ts.map +1 -1
  3. package/dist/commonjs/cli.js +5 -2
  4. package/dist/commonjs/cli.js.map +1 -1
  5. package/dist/commonjs/index.js +38 -1
  6. package/dist/commonjs/index.js.map +1 -1
  7. package/dist/commonjs/resources/BaseResource.d.ts +18 -0
  8. package/dist/commonjs/resources/BaseResource.d.ts.map +1 -1
  9. package/dist/commonjs/resources/BaseResource.js +26 -4
  10. package/dist/commonjs/resources/BaseResource.js.map +1 -1
  11. package/dist/commonjs/resources/resourceRegistry.d.ts +1 -2
  12. package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -1
  13. package/dist/commonjs/resources/resourceRegistry.js +0 -2
  14. package/dist/commonjs/resources/resourceRegistry.js.map +1 -1
  15. package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts.map +1 -1
  16. package/dist/commonjs/resources/temporary/TemporaryDataResource.js +20 -10
  17. package/dist/commonjs/resources/temporary/TemporaryDataResource.js.map +1 -1
  18. package/dist/commonjs/resources/ui-apps/MapAppUIResource.d.ts.map +1 -1
  19. package/dist/commonjs/resources/ui-apps/MapAppUIResource.js +2 -8
  20. package/dist/commonjs/resources/ui-apps/MapAppUIResource.js.map +1 -1
  21. package/dist/commonjs/resources/ui-apps/mapAppCsp.d.ts +22 -0
  22. package/dist/commonjs/resources/ui-apps/mapAppCsp.d.ts.map +1 -0
  23. package/dist/commonjs/resources/ui-apps/mapAppCsp.js +39 -0
  24. package/dist/commonjs/resources/ui-apps/mapAppCsp.js.map +1 -0
  25. package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts +3 -3
  26. package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
  27. package/dist/commonjs/resources/ui-apps/mapAppHtml.js +89 -13
  28. package/dist/commonjs/resources/ui-apps/mapAppHtml.js.map +1 -1
  29. package/dist/commonjs/tools/BaseTool.d.ts +19 -0
  30. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
  31. package/dist/commonjs/tools/BaseTool.js +25 -3
  32. package/dist/commonjs/tools/BaseTool.js.map +1 -1
  33. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts +16 -0
  34. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  35. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +107 -2
  36. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
  37. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
  38. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.js +7 -4
  39. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.js.map +1 -1
  40. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts +4 -0
  41. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts.map +1 -1
  42. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.js +9 -1
  43. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.js.map +1 -1
  44. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +1 -1
  45. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts +11 -1
  46. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -1
  47. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js +3 -3
  48. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -1
  49. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js +134 -139
  50. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js.map +1 -1
  51. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +71 -10
  52. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -1
  53. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js +86 -10
  54. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -1
  55. package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts +2 -4
  56. package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts.map +1 -1
  57. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts +50 -0
  58. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -1
  59. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js +51 -2
  60. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -1
  61. package/dist/commonjs/tools/render-map-tool/RenderMapTool.js +50 -18
  62. package/dist/commonjs/tools/render-map-tool/RenderMapTool.js.map +1 -1
  63. package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts +50 -0
  64. package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -1
  65. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  66. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -1
  67. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +2 -2
  68. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -1
  69. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +6 -3
  70. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  71. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  72. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +3 -3
  73. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -1
  74. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js +16 -2
  75. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -1
  76. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +17 -6
  77. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  78. package/dist/commonjs/utils/index.d.ts +2 -0
  79. package/dist/commonjs/utils/index.d.ts.map +1 -1
  80. package/dist/commonjs/utils/index.js +8 -1
  81. package/dist/commonjs/utils/index.js.map +1 -1
  82. package/dist/commonjs/utils/jsonSchema2020.d.ts +26 -0
  83. package/dist/commonjs/utils/jsonSchema2020.d.ts.map +1 -0
  84. package/dist/commonjs/utils/jsonSchema2020.js +143 -0
  85. package/dist/commonjs/utils/jsonSchema2020.js.map +1 -0
  86. package/dist/commonjs/utils/jwtUtils.d.ts +48 -0
  87. package/dist/commonjs/utils/jwtUtils.d.ts.map +1 -1
  88. package/dist/commonjs/utils/jwtUtils.js +63 -0
  89. package/dist/commonjs/utils/jwtUtils.js.map +1 -1
  90. package/dist/commonjs/utils/mapAppPayload.d.ts +109 -0
  91. package/dist/commonjs/utils/mapAppPayload.d.ts.map +1 -1
  92. package/dist/commonjs/utils/mapAppPayload.js +38 -2
  93. package/dist/commonjs/utils/mapAppPayload.js.map +1 -1
  94. package/dist/commonjs/utils/redactToken.d.ts +3 -0
  95. package/dist/commonjs/utils/redactToken.d.ts.map +1 -0
  96. package/dist/commonjs/utils/redactToken.js +55 -0
  97. package/dist/commonjs/utils/redactToken.js.map +1 -0
  98. package/dist/commonjs/utils/redactingSpanExporter.d.ts +24 -0
  99. package/dist/commonjs/utils/redactingSpanExporter.d.ts.map +1 -0
  100. package/dist/commonjs/utils/redactingSpanExporter.js +97 -0
  101. package/dist/commonjs/utils/redactingSpanExporter.js.map +1 -0
  102. package/dist/commonjs/utils/selfFetchRef.d.ts.map +1 -1
  103. package/dist/commonjs/utils/selfFetchRef.js +31 -0
  104. package/dist/commonjs/utils/selfFetchRef.js.map +1 -1
  105. package/dist/commonjs/utils/serverInstructions.d.ts +12 -0
  106. package/dist/commonjs/utils/serverInstructions.d.ts.map +1 -0
  107. package/dist/commonjs/utils/serverInstructions.js +28 -0
  108. package/dist/commonjs/utils/serverInstructions.js.map +1 -0
  109. package/dist/commonjs/utils/storeMapPayload.d.ts +11 -11
  110. package/dist/commonjs/utils/storeMapPayload.d.ts.map +1 -1
  111. package/dist/commonjs/utils/storeMapPayload.js +14 -13
  112. package/dist/commonjs/utils/storeMapPayload.js.map +1 -1
  113. package/dist/commonjs/utils/temporaryResourceManager.d.ts +10 -4
  114. package/dist/commonjs/utils/temporaryResourceManager.d.ts.map +1 -1
  115. package/dist/commonjs/utils/temporaryResourceManager.js.map +1 -1
  116. package/dist/commonjs/utils/tracing.d.ts +4 -0
  117. package/dist/commonjs/utils/tracing.d.ts.map +1 -1
  118. package/dist/commonjs/utils/tracing.js +24 -1
  119. package/dist/commonjs/utils/tracing.js.map +1 -1
  120. package/dist/commonjs/utils/urlSafety.d.ts +23 -7
  121. package/dist/commonjs/utils/urlSafety.d.ts.map +1 -1
  122. package/dist/commonjs/utils/urlSafety.js +84 -66
  123. package/dist/commonjs/utils/urlSafety.js.map +1 -1
  124. package/dist/commonjs/version.json +3 -3
  125. package/dist/esm/cli.d.ts.map +1 -1
  126. package/dist/esm/cli.js +5 -2
  127. package/dist/esm/cli.js.map +1 -1
  128. package/dist/esm/index.js +39 -2
  129. package/dist/esm/index.js.map +1 -1
  130. package/dist/esm/resources/BaseResource.d.ts +18 -0
  131. package/dist/esm/resources/BaseResource.d.ts.map +1 -1
  132. package/dist/esm/resources/BaseResource.js +26 -4
  133. package/dist/esm/resources/BaseResource.js.map +1 -1
  134. package/dist/esm/resources/resourceRegistry.d.ts +1 -2
  135. package/dist/esm/resources/resourceRegistry.d.ts.map +1 -1
  136. package/dist/esm/resources/resourceRegistry.js +0 -2
  137. package/dist/esm/resources/resourceRegistry.js.map +1 -1
  138. package/dist/esm/resources/temporary/TemporaryDataResource.d.ts.map +1 -1
  139. package/dist/esm/resources/temporary/TemporaryDataResource.js +21 -11
  140. package/dist/esm/resources/temporary/TemporaryDataResource.js.map +1 -1
  141. package/dist/esm/resources/ui-apps/MapAppUIResource.d.ts.map +1 -1
  142. package/dist/esm/resources/ui-apps/MapAppUIResource.js +2 -8
  143. package/dist/esm/resources/ui-apps/MapAppUIResource.js.map +1 -1
  144. package/dist/esm/resources/ui-apps/mapAppCsp.d.ts +22 -0
  145. package/dist/esm/resources/ui-apps/mapAppCsp.d.ts.map +1 -0
  146. package/dist/esm/resources/ui-apps/mapAppCsp.js +36 -0
  147. package/dist/esm/resources/ui-apps/mapAppCsp.js.map +1 -0
  148. package/dist/esm/resources/ui-apps/mapAppHtml.d.ts +3 -3
  149. package/dist/esm/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
  150. package/dist/esm/resources/ui-apps/mapAppHtml.js +89 -13
  151. package/dist/esm/resources/ui-apps/mapAppHtml.js.map +1 -1
  152. package/dist/esm/tools/BaseTool.d.ts +19 -0
  153. package/dist/esm/tools/BaseTool.d.ts.map +1 -1
  154. package/dist/esm/tools/BaseTool.js +25 -3
  155. package/dist/esm/tools/BaseTool.js.map +1 -1
  156. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +16 -0
  157. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  158. package/dist/esm/tools/directions-tool/DirectionsTool.js +108 -3
  159. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
  160. package/dist/esm/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
  161. package/dist/esm/tools/ground-location-tool/GroundLocationTool.js +7 -4
  162. package/dist/esm/tools/ground-location-tool/GroundLocationTool.js.map +1 -1
  163. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts +4 -0
  164. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts.map +1 -1
  165. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.js +9 -1
  166. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.js.map +1 -1
  167. package/dist/esm/tools/isochrone-tool/IsochroneTool.js +2 -2
  168. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts +11 -1
  169. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -1
  170. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js +3 -3
  171. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -1
  172. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js +135 -140
  173. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js.map +1 -1
  174. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +71 -10
  175. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -1
  176. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js +85 -9
  177. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -1
  178. package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts +2 -4
  179. package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts.map +1 -1
  180. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts +50 -0
  181. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -1
  182. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js +51 -2
  183. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -1
  184. package/dist/esm/tools/render-map-tool/RenderMapTool.js +51 -19
  185. package/dist/esm/tools/render-map-tool/RenderMapTool.js.map +1 -1
  186. package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts +50 -0
  187. package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -1
  188. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  189. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -1
  190. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +2 -2
  191. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -1
  192. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +6 -3
  193. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  194. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  195. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +3 -3
  196. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -1
  197. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js +17 -3
  198. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -1
  199. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +18 -7
  200. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  201. package/dist/esm/utils/index.d.ts +2 -0
  202. package/dist/esm/utils/index.d.ts.map +1 -1
  203. package/dist/esm/utils/index.js +5 -0
  204. package/dist/esm/utils/index.js.map +1 -1
  205. package/dist/esm/utils/jsonSchema2020.d.ts +26 -0
  206. package/dist/esm/utils/jsonSchema2020.d.ts.map +1 -0
  207. package/dist/esm/utils/jsonSchema2020.js +138 -0
  208. package/dist/esm/utils/jsonSchema2020.js.map +1 -0
  209. package/dist/esm/utils/jwtUtils.d.ts +48 -0
  210. package/dist/esm/utils/jwtUtils.d.ts.map +1 -1
  211. package/dist/esm/utils/jwtUtils.js +61 -0
  212. package/dist/esm/utils/jwtUtils.js.map +1 -1
  213. package/dist/esm/utils/mapAppPayload.d.ts +109 -0
  214. package/dist/esm/utils/mapAppPayload.d.ts.map +1 -1
  215. package/dist/esm/utils/mapAppPayload.js +38 -2
  216. package/dist/esm/utils/mapAppPayload.js.map +1 -1
  217. package/dist/esm/utils/redactToken.d.ts +3 -0
  218. package/dist/esm/utils/redactToken.d.ts.map +1 -0
  219. package/dist/esm/utils/redactToken.js +52 -0
  220. package/dist/esm/utils/redactToken.js.map +1 -0
  221. package/dist/esm/utils/redactingSpanExporter.d.ts +24 -0
  222. package/dist/esm/utils/redactingSpanExporter.d.ts.map +1 -0
  223. package/dist/esm/utils/redactingSpanExporter.js +93 -0
  224. package/dist/esm/utils/redactingSpanExporter.js.map +1 -0
  225. package/dist/esm/utils/selfFetchRef.d.ts.map +1 -1
  226. package/dist/esm/utils/selfFetchRef.js +31 -0
  227. package/dist/esm/utils/selfFetchRef.js.map +1 -1
  228. package/dist/esm/utils/serverInstructions.d.ts +12 -0
  229. package/dist/esm/utils/serverInstructions.d.ts.map +1 -0
  230. package/dist/esm/utils/serverInstructions.js +25 -0
  231. package/dist/esm/utils/serverInstructions.js.map +1 -0
  232. package/dist/esm/utils/storeMapPayload.d.ts +11 -11
  233. package/dist/esm/utils/storeMapPayload.d.ts.map +1 -1
  234. package/dist/esm/utils/storeMapPayload.js +14 -13
  235. package/dist/esm/utils/storeMapPayload.js.map +1 -1
  236. package/dist/esm/utils/temporaryResourceManager.d.ts +10 -4
  237. package/dist/esm/utils/temporaryResourceManager.d.ts.map +1 -1
  238. package/dist/esm/utils/temporaryResourceManager.js.map +1 -1
  239. package/dist/esm/utils/tracing.d.ts +4 -0
  240. package/dist/esm/utils/tracing.d.ts.map +1 -1
  241. package/dist/esm/utils/tracing.js +23 -1
  242. package/dist/esm/utils/tracing.js.map +1 -1
  243. package/dist/esm/utils/urlSafety.d.ts +23 -7
  244. package/dist/esm/utils/urlSafety.d.ts.map +1 -1
  245. package/dist/esm/utils/urlSafety.js +80 -66
  246. package/dist/esm/utils/urlSafety.js.map +1 -1
  247. package/dist/esm/version.json +3 -3
  248. package/package.json +3 -2
  249. package/patches/{@modelcontextprotocol+sdk+1.29.0.patch → @modelcontextprotocol+sdk+1.30.0.patch} +6 -2
  250. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.d.ts +0 -15
  251. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.d.ts.map +0 -1
  252. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.js +0 -262
  253. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.js.map +0 -1
  254. package/dist/esm/resources/ui-apps/StaticMapUIResource.d.ts +0 -15
  255. package/dist/esm/resources/ui-apps/StaticMapUIResource.d.ts.map +0 -1
  256. package/dist/esm/resources/ui-apps/StaticMapUIResource.js +0 -258
  257. package/dist/esm/resources/ui-apps/StaticMapUIResource.js.map +0 -1
@@ -2,11 +2,77 @@ import { z } from 'zod';
2
2
  /**
3
3
  * Output schema for PlaceDetailsTool
4
4
  *
5
- * Models the GeoJSON Feature returned by the Mapbox Details API.
6
- * Uses passthrough() to allow additional fields from optional attribute_sets
7
- * (photos, visit, venue) to pass through without validation errors.
5
+ * Models the flat Place record returned by the Mapbox Places API's Details
6
+ * endpoint (`places/v1/details/retrieve`), currently in Public Preview.
7
+ * Nearly every field beyond `mapbox_id`/`name` is optional and every nested
8
+ * object uses .passthrough() — live responses observed during development
9
+ * varied in which fields were present (e.g. `building` and `opening_hours`
10
+ * only appear on some places), and a Public Preview API's contract can add
11
+ * fields without notice, so this schema is deliberately permissive rather
12
+ * than risk an output-validation failure like the one fixed for the
13
+ * previous Details API (see CHANGELOG).
14
+ *
15
+ * `feature_type`, `bbox`, `context`, and `metadata` are never populated by
16
+ * the Places API itself — they're only present when `mapbox_id` resolved via
17
+ * the legacy Details API fallback (boundaries/neighborhoods/cities/regions,
18
+ * which the Places API rejects). See `PlaceDetailsTool.ts`'s
19
+ * `normalizeLegacyFeature`.
8
20
  */
9
21
  export declare const PlaceDetailsOutputSchema: z.ZodObject<{
22
+ mapbox_id: z.ZodString;
23
+ name: z.ZodString;
24
+ full_address: z.ZodOptional<z.ZodString>;
25
+ brand: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ primary_category: z.ZodOptional<z.ZodString>;
27
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
28
+ feature_type: z.ZodOptional<z.ZodString>;
29
+ bbox: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
30
+ context: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
31
+ metadata: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
32
+ opening_hours: z.ZodOptional<z.ZodString>;
33
+ permanently_closed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
34
+ phone: z.ZodOptional<z.ZodString>;
35
+ website: z.ZodOptional<z.ZodString>;
36
+ status: z.ZodOptional<z.ZodString>;
37
+ created_at: z.ZodOptional<z.ZodString>;
38
+ updated_at: z.ZodOptional<z.ZodString>;
39
+ score: z.ZodOptional<z.ZodObject<{
40
+ closed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
41
+ reality: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
42
+ popularity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
43
+ }, z.core.$loose>>;
44
+ coordinates: z.ZodOptional<z.ZodObject<{
45
+ latitude: z.ZodNumber;
46
+ longitude: z.ZodNumber;
47
+ source: z.ZodOptional<z.ZodString>;
48
+ routable_points: z.ZodOptional<z.ZodArray<z.ZodObject<{
49
+ name: z.ZodOptional<z.ZodString>;
50
+ latitude: z.ZodNumber;
51
+ longitude: z.ZodNumber;
52
+ }, z.core.$loose>>>;
53
+ }, z.core.$loose>>;
54
+ address: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
55
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>>;
56
+ building: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
57
+ photos: z.ZodOptional<z.ZodArray<z.ZodObject<{
58
+ url: z.ZodString;
59
+ width: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
60
+ height: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
61
+ source: z.ZodOptional<z.ZodString>;
62
+ }, z.core.$loose>>>;
63
+ telemetry: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
64
+ }, z.core.$loose>;
65
+ /**
66
+ * Type inference for PlaceDetailsOutput
67
+ */
68
+ export type PlaceDetailsOutput = z.infer<typeof PlaceDetailsOutputSchema>;
69
+ /**
70
+ * Raw GeoJSON `Feature` returned by the legacy Details API
71
+ * (`search/details/v1/retrieve`). Only used for the fallback path — see
72
+ * `PlaceDetailsTool.ts`'s `normalizeLegacyFeature`, which maps this into
73
+ * `PlaceDetailsOutput`.
74
+ */
75
+ export declare const LegacyPlaceDetailsFeatureSchema: z.ZodObject<{
10
76
  type: z.ZodLiteral<"Feature">;
11
77
  geometry: z.ZodObject<{
12
78
  type: z.ZodLiteral<"Point">;
@@ -25,18 +91,13 @@ export declare const PlaceDetailsOutputSchema: z.ZodObject<{
25
91
  latitude: z.ZodNumber;
26
92
  }, z.core.$loose>>;
27
93
  bbox: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
28
- language: z.ZodOptional<z.ZodString>;
29
- maki: z.ZodOptional<z.ZodString>;
30
94
  poi_category: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
- poi_category_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
32
95
  brand: z.ZodOptional<z.ZodArray<z.ZodString>>;
33
- brand_id: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
- external_ids: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
35
96
  metadata: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
36
97
  }, z.core.$loose>;
37
98
  }, z.core.$loose>;
38
99
  /**
39
- * Type inference for PlaceDetailsOutput
100
+ * Type inference for LegacyPlaceDetailsFeature
40
101
  */
41
- export type PlaceDetailsOutput = z.infer<typeof PlaceDetailsOutputSchema>;
102
+ export type LegacyPlaceDetailsFeature = z.infer<typeof LegacyPlaceDetailsFeatureSchema>;
42
103
  //# sourceMappingURL=PlaceDetailsTool.output.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlaceDetailsTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/place-details-tool/PlaceDetailsTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwCrB,CAAC;AAEjB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"PlaceDetailsTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/place-details-tool/PlaceDetailsTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmErB,CAAC;AAEjB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;iBAkC5B,CAAC;AAEjB;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC"}
@@ -2,16 +2,98 @@
2
2
  // Copyright (c) Mapbox, Inc.
3
3
  // Licensed under the MIT License.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.PlaceDetailsOutputSchema = void 0;
5
+ exports.LegacyPlaceDetailsFeatureSchema = exports.PlaceDetailsOutputSchema = void 0;
6
6
  const zod_1 = require("zod");
7
7
  /**
8
8
  * Output schema for PlaceDetailsTool
9
9
  *
10
- * Models the GeoJSON Feature returned by the Mapbox Details API.
11
- * Uses passthrough() to allow additional fields from optional attribute_sets
12
- * (photos, visit, venue) to pass through without validation errors.
10
+ * Models the flat Place record returned by the Mapbox Places API's Details
11
+ * endpoint (`places/v1/details/retrieve`), currently in Public Preview.
12
+ * Nearly every field beyond `mapbox_id`/`name` is optional and every nested
13
+ * object uses .passthrough() — live responses observed during development
14
+ * varied in which fields were present (e.g. `building` and `opening_hours`
15
+ * only appear on some places), and a Public Preview API's contract can add
16
+ * fields without notice, so this schema is deliberately permissive rather
17
+ * than risk an output-validation failure like the one fixed for the
18
+ * previous Details API (see CHANGELOG).
19
+ *
20
+ * `feature_type`, `bbox`, `context`, and `metadata` are never populated by
21
+ * the Places API itself — they're only present when `mapbox_id` resolved via
22
+ * the legacy Details API fallback (boundaries/neighborhoods/cities/regions,
23
+ * which the Places API rejects). See `PlaceDetailsTool.ts`'s
24
+ * `normalizeLegacyFeature`.
13
25
  */
14
26
  exports.PlaceDetailsOutputSchema = zod_1.z
27
+ .object({
28
+ mapbox_id: zod_1.z.string(),
29
+ name: zod_1.z.string(),
30
+ full_address: zod_1.z.string().optional(),
31
+ brand: zod_1.z.string().nullable().optional(),
32
+ primary_category: zod_1.z.string().optional(),
33
+ categories: zod_1.z.array(zod_1.z.string()).optional(),
34
+ // Legacy Details API fallback only (see doc comment above).
35
+ feature_type: zod_1.z.string().optional(),
36
+ bbox: zod_1.z.tuple([zod_1.z.number(), zod_1.z.number(), zod_1.z.number(), zod_1.z.number()]).optional(),
37
+ context: zod_1.z.object({}).passthrough().optional(),
38
+ metadata: zod_1.z.object({}).passthrough().optional(),
39
+ // OSM opening_hours syntax, e.g. "Mo 09:00-23:45; Tu 09:00-23:45; ...".
40
+ opening_hours: zod_1.z.string().optional(),
41
+ permanently_closed: zod_1.z.boolean().nullable().optional(),
42
+ phone: zod_1.z.string().optional(),
43
+ website: zod_1.z.string().optional(),
44
+ status: zod_1.z.string().optional(),
45
+ created_at: zod_1.z.string().optional(),
46
+ updated_at: zod_1.z.string().optional(),
47
+ score: zod_1.z
48
+ .object({
49
+ closed: zod_1.z.number().nullable().optional(),
50
+ reality: zod_1.z.number().nullable().optional(),
51
+ popularity: zod_1.z.number().nullable().optional()
52
+ })
53
+ .passthrough()
54
+ .optional(),
55
+ coordinates: zod_1.z
56
+ .object({
57
+ latitude: zod_1.z.number(),
58
+ longitude: zod_1.z.number(),
59
+ source: zod_1.z.string().optional(),
60
+ routable_points: zod_1.z
61
+ .array(zod_1.z
62
+ .object({
63
+ name: zod_1.z.string().optional(),
64
+ latitude: zod_1.z.number(),
65
+ longitude: zod_1.z.number()
66
+ })
67
+ .passthrough())
68
+ .optional()
69
+ })
70
+ .passthrough()
71
+ .optional(),
72
+ address: zod_1.z.object({}).passthrough().optional(),
73
+ attributes: zod_1.z
74
+ .record(zod_1.z.string(), zod_1.z.union([zod_1.z.string(), zod_1.z.boolean(), zod_1.z.number()]))
75
+ .optional(),
76
+ building: zod_1.z.object({}).passthrough().optional(),
77
+ photos: zod_1.z
78
+ .array(zod_1.z
79
+ .object({
80
+ url: zod_1.z.string(),
81
+ width: zod_1.z.number().nullable().optional(),
82
+ height: zod_1.z.number().nullable().optional(),
83
+ source: zod_1.z.string().optional()
84
+ })
85
+ .passthrough())
86
+ .optional(),
87
+ telemetry: zod_1.z.object({}).passthrough().optional()
88
+ })
89
+ .passthrough();
90
+ /**
91
+ * Raw GeoJSON `Feature` returned by the legacy Details API
92
+ * (`search/details/v1/retrieve`). Only used for the fallback path — see
93
+ * `PlaceDetailsTool.ts`'s `normalizeLegacyFeature`, which maps this into
94
+ * `PlaceDetailsOutput`.
95
+ */
96
+ exports.LegacyPlaceDetailsFeatureSchema = zod_1.z
15
97
  .object({
16
98
  type: zod_1.z.literal('Feature'),
17
99
  geometry: zod_1.z
@@ -39,14 +121,8 @@ exports.PlaceDetailsOutputSchema = zod_1.z
39
121
  bbox: zod_1.z
40
122
  .tuple([zod_1.z.number(), zod_1.z.number(), zod_1.z.number(), zod_1.z.number()])
41
123
  .optional(),
42
- language: zod_1.z.string().optional(),
43
- maki: zod_1.z.string().optional(),
44
124
  poi_category: zod_1.z.array(zod_1.z.string()).optional(),
45
- poi_category_ids: zod_1.z.array(zod_1.z.string()).optional(),
46
125
  brand: zod_1.z.array(zod_1.z.string()).optional(),
47
- brand_id: zod_1.z.array(zod_1.z.string()).optional(),
48
- external_ids: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
49
- // metadata contains attribute_set fields (photos, visit, venue)
50
126
  metadata: zod_1.z.object({}).passthrough().optional()
51
127
  })
52
128
  .passthrough()
@@ -1 +1 @@
1
- {"version":3,"file":"PlaceDetailsTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/place-details-tool/PlaceDetailsTool.output.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AAExB;;;;;;GAMG;AACU,QAAA,wBAAwB,GAAG,OAAC;KACtC,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,OAAC;SACR,MAAM,CAAC;QACN,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;KAC/C,CAAC;SACD,WAAW,EAAE;IAChB,UAAU,EAAE,OAAC;SACV,MAAM,CAAC;QACN,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;QACxB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QAC9C,WAAW,EAAE,OAAC;aACX,MAAM,CAAC;YACN,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;SACrB,CAAC;aACD,WAAW,EAAE;aACb,QAAQ,EAAE;QACb,IAAI,EAAE,OAAC;aACJ,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aACvD,QAAQ,EAAE;QACb,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,gBAAgB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAChD,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACrC,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACxC,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACzD,gEAAgE;QAChE,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;KAChD,CAAC;SACD,WAAW,EAAE;CACjB,CAAC;KACD,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"PlaceDetailsTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/place-details-tool/PlaceDetailsTool.output.schema.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
2
2
  import { BaseTool } from '../BaseTool.js';
3
+ import { type MapAppCsp } from '../../resources/ui-apps/mapAppCsp.js';
3
4
  import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
4
5
  import { RenderMapInputSchema, type RenderMapInput } from './RenderMapTool.input.schema.js';
5
6
  import { RenderMapOutputSchema } from './RenderMapTool.output.schema.js';
@@ -33,10 +34,7 @@ export declare class RenderMapTool extends BaseTool<typeof RenderMapInputSchema,
33
34
  readonly meta: {
34
35
  ui: {
35
36
  resourceUri: string;
36
- csp: {
37
- connectDomains: string[];
38
- resourceDomains: string[];
39
- };
37
+ csp: MapAppCsp;
40
38
  };
41
39
  };
42
40
  private readonly httpRequest;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderMapTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAExF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAoBzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,aAAc,SAAQ,QAAQ,CACzC,OAAO,oBAAoB,EAC3B,OAAO,qBAAqB,CAC7B;IACC,QAAQ,CAAC,IAAI,qBAAqB;IAClC,QAAQ,CAAC,WAAW,SAS4D;IAEhF,QAAQ,CAAC,WAAW;;;;;;MAMlB;IAEF,QAAQ,CAAC,IAAI;;;;;;;;MAQX;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;gBAE/B,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;KAC5B;IAWK,GAAG,CACP,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IAyI1B;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;CAmDxB;AAED,YAAY,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"RenderMapTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAExF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAoBzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,aAAc,SAAQ,QAAQ,CACzC,OAAO,oBAAoB,EAC3B,OAAO,qBAAqB,CAC7B;IACC,QAAQ,CAAC,IAAI,qBAAqB;IAClC,QAAQ,CAAC,WAAW,SAgB4D;IAEhF,QAAQ,CAAC,WAAW;;;;;;MAMlB;IAEF,QAAQ,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC;IAE/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;gBAE/B,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;KAC5B;IAiBK,GAAG,CACP,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IA0J1B;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;CAiExB;AAED,YAAY,EAAE,cAAc,EAAE,CAAC"}
@@ -13,6 +13,11 @@ export declare const RenderMapInputSchema: z.ZodObject<{
13
13
  data: z.ZodUnknown;
14
14
  paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
15
15
  layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
16
+ slot: z.ZodOptional<z.ZodEnum<{
17
+ bottom: "bottom";
18
+ middle: "middle";
19
+ top: "top";
20
+ }>>;
16
21
  }, z.core.$strip>>>;
17
22
  markers: z.ZodOptional<z.ZodArray<z.ZodObject<{
18
23
  coordinates: z.ZodArray<z.ZodNumber>;
@@ -36,6 +41,51 @@ export declare const RenderMapInputSchema: z.ZodObject<{
36
41
  zoom: z.ZodOptional<z.ZodNumber>;
37
42
  bounds: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNumber>>>;
38
43
  }, z.core.$strip>>;
44
+ baseMapConfig: z.ZodOptional<z.ZodObject<{
45
+ theme: z.ZodOptional<z.ZodEnum<{
46
+ default: "default";
47
+ custom: "custom";
48
+ faded: "faded";
49
+ monochrome: "monochrome";
50
+ }>>;
51
+ lightPreset: z.ZodOptional<z.ZodEnum<{
52
+ day: "day";
53
+ dawn: "dawn";
54
+ dusk: "dusk";
55
+ night: "night";
56
+ }>>;
57
+ colorWater: z.ZodOptional<z.ZodString>;
58
+ colorLand: z.ZodOptional<z.ZodString>;
59
+ colorGreenspace: z.ZodOptional<z.ZodString>;
60
+ colorMotorways: z.ZodOptional<z.ZodString>;
61
+ colorTrunks: z.ZodOptional<z.ZodString>;
62
+ colorRoads: z.ZodOptional<z.ZodString>;
63
+ colorBuildings: z.ZodOptional<z.ZodString>;
64
+ colorAdminBoundaries: z.ZodOptional<z.ZodString>;
65
+ colorCommercial: z.ZodOptional<z.ZodString>;
66
+ colorEducation: z.ZodOptional<z.ZodString>;
67
+ colorMedical: z.ZodOptional<z.ZodString>;
68
+ colorIndustrial: z.ZodOptional<z.ZodString>;
69
+ colorPlaceLabels: z.ZodOptional<z.ZodString>;
70
+ colorRoadLabels: z.ZodOptional<z.ZodString>;
71
+ colorPointOfInterestLabels: z.ZodOptional<z.ZodString>;
72
+ showPointOfInterestLabels: z.ZodOptional<z.ZodBoolean>;
73
+ showTransitLabels: z.ZodOptional<z.ZodBoolean>;
74
+ showPlaceLabels: z.ZodOptional<z.ZodBoolean>;
75
+ showRoadLabels: z.ZodOptional<z.ZodBoolean>;
76
+ showAdminBoundaries: z.ZodOptional<z.ZodBoolean>;
77
+ showIndoor: z.ZodOptional<z.ZodBoolean>;
78
+ showIndoorLabels: z.ZodOptional<z.ZodBoolean>;
79
+ showLandmarkIconLabels: z.ZodOptional<z.ZodBoolean>;
80
+ show3dObjects: z.ZodOptional<z.ZodBoolean>;
81
+ show3dTrees: z.ZodOptional<z.ZodBoolean>;
82
+ show3dFacades: z.ZodOptional<z.ZodBoolean>;
83
+ densityPointOfInterestLabels: z.ZodOptional<z.ZodNumber>;
84
+ }, z.core.$loose>>;
85
+ baseStyle: z.ZodOptional<z.ZodEnum<{
86
+ standard: "standard";
87
+ "standard-satellite": "standard-satellite";
88
+ }>>;
39
89
  }, z.core.$strip>;
40
90
  export type RenderMapInput = z.infer<typeof RenderMapInputSchema>;
41
91
  //# sourceMappingURL=RenderMapTool.input.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderMapTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6ExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyC/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"RenderMapTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8HxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgD/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -27,7 +27,11 @@ const layerSchema = zod_1.z.object({
27
27
  layout: zod_1.z
28
28
  .record(zod_1.z.string(), zod_1.z.unknown())
29
29
  .optional()
30
- .describe('Mapbox Style Spec layout object (e.g. { "line-join": "round", "line-cap": "round" })')
30
+ .describe('Mapbox Style Spec layout object (e.g. { "line-join": "round", "line-cap": "round" })'),
31
+ slot: zod_1.z
32
+ .enum(['bottom', 'middle', 'top'])
33
+ .optional()
34
+ .describe('Placement relative to the base map\'s own layers. "bottom": below all basemap layers. "middle": above land/water but below roads, buildings, and labels — the usual choice for data-viz layers (isochrones, choropleths). "top": above all basemap layers except labels — the usual choice for routes and highlighted features. Omit to render above everything, including labels (prior default behavior).')
31
35
  });
32
36
  const markerSchema = zod_1.z.object({
33
37
  coordinates: zod_1.z
@@ -64,6 +68,46 @@ const cameraSchema = zod_1.z.object({
64
68
  .optional()
65
69
  .describe('[[minLng, minLat], [maxLng, maxLat]]. If set, takes precedence over center/zoom and auto-fit.')
66
70
  });
71
+ const baseMapConfigSchema = zod_1.z
72
+ .object({
73
+ theme: zod_1.z
74
+ .enum(['default', 'faded', 'monochrome', 'custom'])
75
+ .optional()
76
+ .describe('Overall color treatment of the base map.'),
77
+ lightPreset: zod_1.z
78
+ .enum(['day', 'dawn', 'dusk', 'night'])
79
+ .optional()
80
+ .describe('Lighting/shadow preset.'),
81
+ colorWater: zod_1.z.string().optional().describe('CSS color override for water.'),
82
+ colorLand: zod_1.z.string().optional().describe('CSS color override for land.'),
83
+ colorGreenspace: zod_1.z.string().optional(),
84
+ colorMotorways: zod_1.z.string().optional(),
85
+ colorTrunks: zod_1.z.string().optional(),
86
+ colorRoads: zod_1.z.string().optional(),
87
+ colorBuildings: zod_1.z.string().optional(),
88
+ colorAdminBoundaries: zod_1.z.string().optional(),
89
+ colorCommercial: zod_1.z.string().optional(),
90
+ colorEducation: zod_1.z.string().optional(),
91
+ colorMedical: zod_1.z.string().optional(),
92
+ colorIndustrial: zod_1.z.string().optional(),
93
+ colorPlaceLabels: zod_1.z.string().optional(),
94
+ colorRoadLabels: zod_1.z.string().optional(),
95
+ colorPointOfInterestLabels: zod_1.z.string().optional(),
96
+ showPointOfInterestLabels: zod_1.z.boolean().optional(),
97
+ showTransitLabels: zod_1.z.boolean().optional(),
98
+ showPlaceLabels: zod_1.z.boolean().optional(),
99
+ showRoadLabels: zod_1.z.boolean().optional(),
100
+ showAdminBoundaries: zod_1.z.boolean().optional(),
101
+ showIndoor: zod_1.z.boolean().optional(),
102
+ showIndoorLabels: zod_1.z.boolean().optional(),
103
+ showLandmarkIconLabels: zod_1.z.boolean().optional(),
104
+ show3dObjects: zod_1.z.boolean().optional(),
105
+ show3dTrees: zod_1.z.boolean().optional(),
106
+ show3dFacades: zod_1.z.boolean().optional(),
107
+ densityPointOfInterestLabels: zod_1.z.number().optional()
108
+ })
109
+ .passthrough()
110
+ .describe('Restyles the Standard base map itself via Mapbox\'s config-property system (map.setConfigProperty) — e.g. { "colorWater": "#ff0000" } to turn the water red, or { "lightPreset": "night" } for night lighting. Only the currently-documented Standard properties are typed above; unrecognized keys still pass through in case Mapbox ships new ones. Has no effect if the base style isn\'t Standard.');
67
111
  exports.RenderMapInputSchema = zod_1.z.object({
68
112
  /**
69
113
  * Preferred way to pass data from another Mapbox tool. Every geo tool
@@ -94,6 +138,11 @@ exports.RenderMapInputSchema = zod_1.z.object({
94
138
  .describe('Inline legend rows. Use only for hand-composed payloads.'),
95
139
  camera: cameraSchema
96
140
  .optional()
97
- .describe('Initial camera position. If omitted, the map auto-fits to the union of all data.')
141
+ .describe('Initial camera position. If omitted, the map auto-fits to the union of all data.'),
142
+ baseMapConfig: baseMapConfigSchema.optional(),
143
+ baseStyle: zod_1.z
144
+ .enum(['standard', 'standard-satellite'])
145
+ .optional()
146
+ .describe('Which Mapbox-owned base style to load; defaults to "standard". "standard-satellite" is the same Standard style family rendered over global satellite imagery instead of a vector basemap — same config-property system and bottom/middle/top slots apply, but it has no theme and no flat-color overrides like colorWater/colorBuildings (there\'s no vector surface to recolor). See https://docs.mapbox.com/map-styles/reference/standard-satellite/ for its supported baseMapConfig properties.')
98
147
  });
99
148
  //# sourceMappingURL=RenderMapTool.input.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderMapTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.input.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderMapTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.input.schema.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ exports.RenderMapTool = void 0;
6
6
  const api_1 = require("@opentelemetry/api");
7
7
  const tracing_js_1 = require("../../utils/tracing.js");
8
8
  const BaseTool_js_1 = require("../BaseTool.js");
9
+ const mapAppCsp_js_1 = require("../../resources/ui-apps/mapAppCsp.js");
9
10
  const RenderMapTool_input_schema_js_1 = require("./RenderMapTool.input.schema.js");
10
11
  const RenderMapTool_output_schema_js_1 = require("./RenderMapTool.output.schema.js");
11
12
  const storeMapPayload_js_1 = require("../../utils/storeMapPayload.js");
@@ -39,6 +40,13 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
39
40
  'result + a route) onto one map. ' +
40
41
  'Inline `layers`/`markers`/`legend` fields are also supported for ' +
41
42
  'hand-composed payloads from raw GeoJSON. ' +
43
+ 'To restyle the base map itself (e.g. "make the water red", switch to night ' +
44
+ 'lighting, hide POI labels) pass `baseMapConfig`. To switch to satellite ' +
45
+ 'imagery, pass `baseStyle: "standard-satellite"` (defaults to "standard"). ' +
46
+ 'Every call is a fresh render — it does not accumulate state — so to ' +
47
+ 'restyle an already-drawn map without losing its content, re-pass the ' +
48
+ 'same `payload_refs`/`layers` alongside `baseMapConfig`/`baseStyle` rather ' +
49
+ 'than sending them alone. ' +
42
50
  'Invoke this as the FINAL step whenever a tool returned `mapboxRender` data.';
43
51
  annotations = {
44
52
  title: 'Render Map',
@@ -47,15 +55,7 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
47
55
  idempotentHint: true,
48
56
  openWorldHint: false
49
57
  };
50
- meta = {
51
- ui: {
52
- resourceUri: 'ui://mapbox/map-app/index.html',
53
- csp: {
54
- connectDomains: ['https://*.mapbox.com', 'https://events.mapbox.com'],
55
- resourceDomains: ['https://api.mapbox.com']
56
- }
57
- }
58
- };
58
+ meta;
59
59
  httpRequest;
60
60
  apiEndpoint;
61
61
  constructor(params) {
@@ -67,18 +67,32 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
67
67
  this.apiEndpoint =
68
68
  params.apiEndpoint ??
69
69
  (() => process.env.MAPBOX_API_ENDPOINT || 'https://api.mapbox.com/');
70
+ this.meta = {
71
+ ui: {
72
+ resourceUri: 'ui://mapbox/map-app/index.html',
73
+ csp: (0, mapAppCsp_js_1.mapAppCsp)(this.apiEndpoint())
74
+ }
75
+ };
70
76
  }
71
77
  async run(rawInput,
72
78
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
73
79
  extra) {
74
80
  const accessToken = extra?.authInfo?.token || process.env.MAPBOX_ACCESS_TOKEN;
75
- const owner = accessToken ? (0, jwtUtils_js_1.getUserNameFromToken)(accessToken) : undefined;
81
+ const owner = (0, jwtUtils_js_1.getOwnerKeyFromToken)(accessToken);
76
82
  const toolContext = (0, tracing_js_1.createLocalToolExecutionContext)(this.name, 0);
77
83
  return await api_1.context.with(api_1.trace.setSpan(api_1.context.active(), toolContext.span), async () => {
78
84
  try {
79
85
  const input = RenderMapTool_input_schema_js_1.RenderMapInputSchema.parse(rawInput);
80
86
  const { payload, unresolvedRefs } = this.assemblePayload(input, owner);
81
- if (!payload) {
87
+ // A summary/legend alone counts as renderable, so without this a
88
+ // call whose only data ref failed would still "succeed" and draw
89
+ // an empty globe under the summary — and the LLM, seeing success,
90
+ // describes a map the user never got.
91
+ const nothingDrawable = unresolvedRefs.length > 0 &&
92
+ (payload?.layers?.length ?? 0) === 0 &&
93
+ (payload?.markers?.length ?? 0) === 0 &&
94
+ (payload?.selfFetch?.length ?? 0) === 0;
95
+ if (!payload || nothingDrawable) {
82
96
  // A ref that fails to resolve is usually a payload that expired
83
97
  // (30-minute TTL) or was created in a different process/session
84
98
  // — e.g. the conversation was rehydrated and the LLM reused a
@@ -91,9 +105,10 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
91
105
  type: 'text',
92
106
  text: hadOnlyStaleRefs
93
107
  ? `RenderMapTool: none of the provided payload_refs could be resolved — ` +
94
- `they've likely expired (temporary map data lasts ~30 minutes) or belong ` +
95
- `to a different session. Re-run the tool(s) that produced this data to get ` +
96
- `fresh refs, then call render_map_tool again.`
108
+ `they've likely expired (temporary map data lasts ~30 minutes), belong ` +
109
+ `to a different session, or are malformed. Re-run the tool(s) that produced ` +
110
+ `this data and pass their mapboxRender.ref values verbatim, then call ` +
111
+ `render_map_tool again.`
97
112
  : 'RenderMapTool: nothing to render. Pass either `payload_refs` or inline `layers`/`markers`.'
98
113
  }
99
114
  ],
@@ -105,7 +120,7 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
105
120
  const selfFetchCount = payload.selfFetch?.length ?? 0;
106
121
  const staleNote = unresolvedRefs.length > 0
107
122
  ? ` (Note: ${unresolvedRefs.length} payload ref${unresolvedRefs.length === 1 ? '' : 's'} ` +
108
- `could not be resolved — likely expired — and ${unresolvedRefs.length === 1 ? 'was' : 'were'} ` +
123
+ `could not be resolved — likely expired or malformed — and ${unresolvedRefs.length === 1 ? 'was' : 'were'} ` +
109
124
  `skipped. Re-run the source tool(s) if that data should be included.)`
110
125
  : '';
111
126
  // Self-fetched layers (e.g. a directions route) aren't counted
@@ -114,10 +129,14 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
114
129
  const selfFetchNote = selfFetchCount > 0
115
130
  ? ` The map will also fetch and draw ${selfFetchCount} additional layer${selfFetchCount === 1 ? '' : 's'} directly from the Mapbox API once it loads.`
116
131
  : '';
132
+ const baseMapConfigNote = payload.baseMapConfig || payload.baseStyle
133
+ ? ' Updated the base map style.'
134
+ : '';
117
135
  const text = `Rendered map with ${layerCount} layer${layerCount === 1 ? '' : 's'}` +
118
136
  ` and ${markerCount} marker${markerCount === 1 ? '' : 's'}` +
119
137
  (payload.summary ? ` — ${payload.summary}` : '') +
120
138
  '.' +
139
+ baseMapConfigNote +
121
140
  selfFetchNote +
122
141
  staleNote;
123
142
  // Claude Desktop strips structuredContent from MCP App iframe
@@ -222,23 +241,36 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
222
241
  markers: input.markers,
223
242
  legend: input.legend,
224
243
  camera: input.camera,
225
- summary: input.summary
244
+ summary: input.summary,
245
+ baseMapConfig: input.baseMapConfig,
246
+ baseStyle: input.baseStyle
226
247
  };
227
248
  const hasInlineContent = (inline.layers && inline.layers.length > 0) ||
228
249
  (inline.markers && inline.markers.length > 0);
229
250
  const all = [...fromRefs];
230
- if (hasInlineContent || inline.summary || inline.legend)
251
+ // baseMapConfig/baseStyle-only calls (e.g. "now turn the water red" or
252
+ // "switch to satellite" with no new data) are renderable on their own —
253
+ // treated like summary/legend.
254
+ if (hasInlineContent ||
255
+ inline.summary ||
256
+ inline.legend ||
257
+ inline.baseMapConfig ||
258
+ inline.baseStyle)
231
259
  all.push(inline);
232
260
  if (all.length === 0)
233
261
  return { payload: null, unresolvedRefs };
234
262
  const merged = (0, storeMapPayload_js_1.mergeMapPayloads)(all);
235
- // Inline summary/camera/legend take precedence when provided.
263
+ // Inline summary/camera/legend/baseMapConfig/baseStyle take precedence when provided.
236
264
  if (input.summary)
237
265
  merged.summary = input.summary;
238
266
  if (input.camera)
239
267
  merged.camera = inline.camera;
240
268
  if (input.legend)
241
269
  merged.legend = input.legend;
270
+ if (input.baseMapConfig)
271
+ merged.baseMapConfig = input.baseMapConfig;
272
+ if (input.baseStyle)
273
+ merged.baseStyle = input.baseStyle;
242
274
  return { payload: merged, unresolvedRefs };
243
275
  }
244
276
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RenderMapTool.js","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderMapTool.js","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.ts"],"names":[],"mappings":"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"}