@mapbox/mcp-server 0.14.0 → 0.15.1

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 (199) hide show
  1. package/README.md +11 -0
  2. package/dist/commonjs/index.js +38 -1
  3. package/dist/commonjs/index.js.map +1 -1
  4. package/dist/commonjs/resources/BaseResource.d.ts +18 -0
  5. package/dist/commonjs/resources/BaseResource.d.ts.map +1 -1
  6. package/dist/commonjs/resources/BaseResource.js +26 -4
  7. package/dist/commonjs/resources/BaseResource.js.map +1 -1
  8. package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts.map +1 -1
  9. package/dist/commonjs/resources/temporary/TemporaryDataResource.js +20 -10
  10. package/dist/commonjs/resources/temporary/TemporaryDataResource.js.map +1 -1
  11. package/dist/commonjs/resources/ui-apps/MapAppUIResource.d.ts.map +1 -1
  12. package/dist/commonjs/resources/ui-apps/MapAppUIResource.js +2 -8
  13. package/dist/commonjs/resources/ui-apps/MapAppUIResource.js.map +1 -1
  14. package/dist/commonjs/resources/ui-apps/mapAppCsp.d.ts +22 -0
  15. package/dist/commonjs/resources/ui-apps/mapAppCsp.d.ts.map +1 -0
  16. package/dist/commonjs/resources/ui-apps/mapAppCsp.js +39 -0
  17. package/dist/commonjs/resources/ui-apps/mapAppCsp.js.map +1 -0
  18. package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
  19. package/dist/commonjs/resources/ui-apps/mapAppHtml.js +71 -9
  20. package/dist/commonjs/resources/ui-apps/mapAppHtml.js.map +1 -1
  21. package/dist/commonjs/tools/BaseTool.d.ts +19 -0
  22. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
  23. package/dist/commonjs/tools/BaseTool.js +25 -3
  24. package/dist/commonjs/tools/BaseTool.js.map +1 -1
  25. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  26. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +4 -3
  27. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
  28. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
  29. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.js +7 -4
  30. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.js.map +1 -1
  31. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts +4 -0
  32. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts.map +1 -1
  33. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.js +9 -1
  34. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.js.map +1 -1
  35. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +1 -1
  36. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts +11 -1
  37. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -1
  38. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js +3 -3
  39. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -1
  40. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js +132 -141
  41. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js.map +1 -1
  42. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +71 -10
  43. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -1
  44. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js +86 -10
  45. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -1
  46. package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts +2 -4
  47. package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts.map +1 -1
  48. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts +50 -0
  49. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -1
  50. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js +51 -2
  51. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -1
  52. package/dist/commonjs/tools/render-map-tool/RenderMapTool.js +50 -18
  53. package/dist/commonjs/tools/render-map-tool/RenderMapTool.js.map +1 -1
  54. package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts +50 -0
  55. package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -1
  56. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  57. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -1
  58. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +2 -2
  59. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -1
  60. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +4 -3
  61. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  62. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  63. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +2 -2
  64. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  65. package/dist/commonjs/utils/index.d.ts +2 -0
  66. package/dist/commonjs/utils/index.d.ts.map +1 -1
  67. package/dist/commonjs/utils/index.js +10 -1
  68. package/dist/commonjs/utils/index.js.map +1 -1
  69. package/dist/commonjs/utils/jsonSchema2020.d.ts +26 -0
  70. package/dist/commonjs/utils/jsonSchema2020.d.ts.map +1 -0
  71. package/dist/commonjs/utils/jsonSchema2020.js +143 -0
  72. package/dist/commonjs/utils/jsonSchema2020.js.map +1 -0
  73. package/dist/commonjs/utils/jwtUtils.d.ts +48 -0
  74. package/dist/commonjs/utils/jwtUtils.d.ts.map +1 -1
  75. package/dist/commonjs/utils/jwtUtils.js +63 -0
  76. package/dist/commonjs/utils/jwtUtils.js.map +1 -1
  77. package/dist/commonjs/utils/mapAppPayload.d.ts +109 -0
  78. package/dist/commonjs/utils/mapAppPayload.d.ts.map +1 -1
  79. package/dist/commonjs/utils/mapAppPayload.js +38 -2
  80. package/dist/commonjs/utils/mapAppPayload.js.map +1 -1
  81. package/dist/commonjs/utils/selfFetchRef.d.ts.map +1 -1
  82. package/dist/commonjs/utils/selfFetchRef.js +31 -0
  83. package/dist/commonjs/utils/selfFetchRef.js.map +1 -1
  84. package/dist/commonjs/utils/serverInstructions.d.ts +12 -0
  85. package/dist/commonjs/utils/serverInstructions.d.ts.map +1 -0
  86. package/dist/commonjs/utils/serverInstructions.js +28 -0
  87. package/dist/commonjs/utils/serverInstructions.js.map +1 -0
  88. package/dist/commonjs/utils/storeMapPayload.d.ts +11 -11
  89. package/dist/commonjs/utils/storeMapPayload.d.ts.map +1 -1
  90. package/dist/commonjs/utils/storeMapPayload.js +14 -13
  91. package/dist/commonjs/utils/storeMapPayload.js.map +1 -1
  92. package/dist/commonjs/utils/temporaryResourceManager.d.ts +10 -4
  93. package/dist/commonjs/utils/temporaryResourceManager.d.ts.map +1 -1
  94. package/dist/commonjs/utils/temporaryResourceManager.js.map +1 -1
  95. package/dist/commonjs/utils/tracing.d.ts +4 -0
  96. package/dist/commonjs/utils/tracing.d.ts.map +1 -1
  97. package/dist/commonjs/utils/tracing.js +20 -0
  98. package/dist/commonjs/utils/tracing.js.map +1 -1
  99. package/dist/commonjs/version.json +3 -3
  100. package/dist/esm/index.js +39 -2
  101. package/dist/esm/index.js.map +1 -1
  102. package/dist/esm/resources/BaseResource.d.ts +18 -0
  103. package/dist/esm/resources/BaseResource.d.ts.map +1 -1
  104. package/dist/esm/resources/BaseResource.js +26 -4
  105. package/dist/esm/resources/BaseResource.js.map +1 -1
  106. package/dist/esm/resources/temporary/TemporaryDataResource.d.ts.map +1 -1
  107. package/dist/esm/resources/temporary/TemporaryDataResource.js +21 -11
  108. package/dist/esm/resources/temporary/TemporaryDataResource.js.map +1 -1
  109. package/dist/esm/resources/ui-apps/MapAppUIResource.d.ts.map +1 -1
  110. package/dist/esm/resources/ui-apps/MapAppUIResource.js +2 -8
  111. package/dist/esm/resources/ui-apps/MapAppUIResource.js.map +1 -1
  112. package/dist/esm/resources/ui-apps/mapAppCsp.d.ts +22 -0
  113. package/dist/esm/resources/ui-apps/mapAppCsp.d.ts.map +1 -0
  114. package/dist/esm/resources/ui-apps/mapAppCsp.js +36 -0
  115. package/dist/esm/resources/ui-apps/mapAppCsp.js.map +1 -0
  116. package/dist/esm/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
  117. package/dist/esm/resources/ui-apps/mapAppHtml.js +71 -9
  118. package/dist/esm/resources/ui-apps/mapAppHtml.js.map +1 -1
  119. package/dist/esm/tools/BaseTool.d.ts +19 -0
  120. package/dist/esm/tools/BaseTool.d.ts.map +1 -1
  121. package/dist/esm/tools/BaseTool.js +25 -3
  122. package/dist/esm/tools/BaseTool.js.map +1 -1
  123. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  124. package/dist/esm/tools/directions-tool/DirectionsTool.js +5 -4
  125. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
  126. package/dist/esm/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
  127. package/dist/esm/tools/ground-location-tool/GroundLocationTool.js +7 -4
  128. package/dist/esm/tools/ground-location-tool/GroundLocationTool.js.map +1 -1
  129. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts +4 -0
  130. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts.map +1 -1
  131. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.js +9 -1
  132. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.js.map +1 -1
  133. package/dist/esm/tools/isochrone-tool/IsochroneTool.js +2 -2
  134. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts +11 -1
  135. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -1
  136. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js +3 -3
  137. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -1
  138. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js +133 -142
  139. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js.map +1 -1
  140. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +71 -10
  141. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -1
  142. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js +85 -9
  143. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -1
  144. package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts +2 -4
  145. package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts.map +1 -1
  146. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts +50 -0
  147. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -1
  148. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js +51 -2
  149. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -1
  150. package/dist/esm/tools/render-map-tool/RenderMapTool.js +51 -19
  151. package/dist/esm/tools/render-map-tool/RenderMapTool.js.map +1 -1
  152. package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts +50 -0
  153. package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -1
  154. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  155. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -1
  156. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +2 -2
  157. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -1
  158. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +4 -3
  159. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  160. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  161. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +3 -3
  162. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  163. package/dist/esm/utils/index.d.ts +2 -0
  164. package/dist/esm/utils/index.d.ts.map +1 -1
  165. package/dist/esm/utils/index.js +6 -0
  166. package/dist/esm/utils/index.js.map +1 -1
  167. package/dist/esm/utils/jsonSchema2020.d.ts +26 -0
  168. package/dist/esm/utils/jsonSchema2020.d.ts.map +1 -0
  169. package/dist/esm/utils/jsonSchema2020.js +138 -0
  170. package/dist/esm/utils/jsonSchema2020.js.map +1 -0
  171. package/dist/esm/utils/jwtUtils.d.ts +48 -0
  172. package/dist/esm/utils/jwtUtils.d.ts.map +1 -1
  173. package/dist/esm/utils/jwtUtils.js +61 -0
  174. package/dist/esm/utils/jwtUtils.js.map +1 -1
  175. package/dist/esm/utils/mapAppPayload.d.ts +109 -0
  176. package/dist/esm/utils/mapAppPayload.d.ts.map +1 -1
  177. package/dist/esm/utils/mapAppPayload.js +38 -2
  178. package/dist/esm/utils/mapAppPayload.js.map +1 -1
  179. package/dist/esm/utils/selfFetchRef.d.ts.map +1 -1
  180. package/dist/esm/utils/selfFetchRef.js +31 -0
  181. package/dist/esm/utils/selfFetchRef.js.map +1 -1
  182. package/dist/esm/utils/serverInstructions.d.ts +12 -0
  183. package/dist/esm/utils/serverInstructions.d.ts.map +1 -0
  184. package/dist/esm/utils/serverInstructions.js +25 -0
  185. package/dist/esm/utils/serverInstructions.js.map +1 -0
  186. package/dist/esm/utils/storeMapPayload.d.ts +11 -11
  187. package/dist/esm/utils/storeMapPayload.d.ts.map +1 -1
  188. package/dist/esm/utils/storeMapPayload.js +14 -13
  189. package/dist/esm/utils/storeMapPayload.js.map +1 -1
  190. package/dist/esm/utils/temporaryResourceManager.d.ts +10 -4
  191. package/dist/esm/utils/temporaryResourceManager.d.ts.map +1 -1
  192. package/dist/esm/utils/temporaryResourceManager.js.map +1 -1
  193. package/dist/esm/utils/tracing.d.ts +4 -0
  194. package/dist/esm/utils/tracing.d.ts.map +1 -1
  195. package/dist/esm/utils/tracing.js +19 -0
  196. package/dist/esm/utils/tracing.js.map +1 -1
  197. package/dist/esm/version.json +3 -3
  198. package/package.json +2 -2
  199. package/patches/{@modelcontextprotocol+sdk+1.29.0.patch → @modelcontextprotocol+sdk+1.30.0.patch} +6 -2
@@ -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"}
@@ -4,11 +4,93 @@ import { z } from 'zod';
4
4
  /**
5
5
  * Output schema for PlaceDetailsTool
6
6
  *
7
- * Models the GeoJSON Feature returned by the Mapbox Details API.
8
- * Uses passthrough() to allow additional fields from optional attribute_sets
9
- * (photos, visit, venue) to pass through without validation errors.
7
+ * Models the flat Place record returned by the Mapbox Places API's Details
8
+ * endpoint (`places/v1/details/retrieve`), currently in Public Preview.
9
+ * Nearly every field beyond `mapbox_id`/`name` is optional and every nested
10
+ * object uses .passthrough() — live responses observed during development
11
+ * varied in which fields were present (e.g. `building` and `opening_hours`
12
+ * only appear on some places), and a Public Preview API's contract can add
13
+ * fields without notice, so this schema is deliberately permissive rather
14
+ * than risk an output-validation failure like the one fixed for the
15
+ * previous Details API (see CHANGELOG).
16
+ *
17
+ * `feature_type`, `bbox`, `context`, and `metadata` are never populated by
18
+ * the Places API itself — they're only present when `mapbox_id` resolved via
19
+ * the legacy Details API fallback (boundaries/neighborhoods/cities/regions,
20
+ * which the Places API rejects). See `PlaceDetailsTool.ts`'s
21
+ * `normalizeLegacyFeature`.
10
22
  */
11
23
  export const PlaceDetailsOutputSchema = z
24
+ .object({
25
+ mapbox_id: z.string(),
26
+ name: z.string(),
27
+ full_address: z.string().optional(),
28
+ brand: z.string().nullable().optional(),
29
+ primary_category: z.string().optional(),
30
+ categories: z.array(z.string()).optional(),
31
+ // Legacy Details API fallback only (see doc comment above).
32
+ feature_type: z.string().optional(),
33
+ bbox: z.tuple([z.number(), z.number(), z.number(), z.number()]).optional(),
34
+ context: z.object({}).passthrough().optional(),
35
+ metadata: z.object({}).passthrough().optional(),
36
+ // OSM opening_hours syntax, e.g. "Mo 09:00-23:45; Tu 09:00-23:45; ...".
37
+ opening_hours: z.string().optional(),
38
+ permanently_closed: z.boolean().nullable().optional(),
39
+ phone: z.string().optional(),
40
+ website: z.string().optional(),
41
+ status: z.string().optional(),
42
+ created_at: z.string().optional(),
43
+ updated_at: z.string().optional(),
44
+ score: z
45
+ .object({
46
+ closed: z.number().nullable().optional(),
47
+ reality: z.number().nullable().optional(),
48
+ popularity: z.number().nullable().optional()
49
+ })
50
+ .passthrough()
51
+ .optional(),
52
+ coordinates: z
53
+ .object({
54
+ latitude: z.number(),
55
+ longitude: z.number(),
56
+ source: z.string().optional(),
57
+ routable_points: z
58
+ .array(z
59
+ .object({
60
+ name: z.string().optional(),
61
+ latitude: z.number(),
62
+ longitude: z.number()
63
+ })
64
+ .passthrough())
65
+ .optional()
66
+ })
67
+ .passthrough()
68
+ .optional(),
69
+ address: z.object({}).passthrough().optional(),
70
+ attributes: z
71
+ .record(z.string(), z.union([z.string(), z.boolean(), z.number()]))
72
+ .optional(),
73
+ building: z.object({}).passthrough().optional(),
74
+ photos: z
75
+ .array(z
76
+ .object({
77
+ url: z.string(),
78
+ width: z.number().nullable().optional(),
79
+ height: z.number().nullable().optional(),
80
+ source: z.string().optional()
81
+ })
82
+ .passthrough())
83
+ .optional(),
84
+ telemetry: z.object({}).passthrough().optional()
85
+ })
86
+ .passthrough();
87
+ /**
88
+ * Raw GeoJSON `Feature` returned by the legacy Details API
89
+ * (`search/details/v1/retrieve`). Only used for the fallback path — see
90
+ * `PlaceDetailsTool.ts`'s `normalizeLegacyFeature`, which maps this into
91
+ * `PlaceDetailsOutput`.
92
+ */
93
+ export const LegacyPlaceDetailsFeatureSchema = z
12
94
  .object({
13
95
  type: z.literal('Feature'),
14
96
  geometry: z
@@ -36,14 +118,8 @@ export const PlaceDetailsOutputSchema = z
36
118
  bbox: z
37
119
  .tuple([z.number(), z.number(), z.number(), z.number()])
38
120
  .optional(),
39
- language: z.string().optional(),
40
- maki: z.string().optional(),
41
121
  poi_category: z.array(z.string()).optional(),
42
- poi_category_ids: z.array(z.string()).optional(),
43
122
  brand: z.array(z.string()).optional(),
44
- brand_id: z.array(z.string()).optional(),
45
- external_ids: z.record(z.string(), z.string()).optional(),
46
- // metadata contains attribute_set fields (photos, visit, venue)
47
123
  metadata: z.object({}).passthrough().optional()
48
124
  })
49
125
  .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,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;KAC/C,CAAC;SACD,WAAW,EAAE;IAChB,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QAC9C,WAAW,EAAE,CAAC;aACX,MAAM,CAAC;YACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC;aACD,WAAW,EAAE;aACb,QAAQ,EAAE;QACb,IAAI,EAAE,CAAC;aACJ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aACvD,QAAQ,EAAE;QACb,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAChD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACrC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACxC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACzD,gEAAgE;QAChE,QAAQ,EAAE,CAAC,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"}
@@ -24,7 +24,11 @@ const layerSchema = z.object({
24
24
  layout: z
25
25
  .record(z.string(), z.unknown())
26
26
  .optional()
27
- .describe('Mapbox Style Spec layout object (e.g. { "line-join": "round", "line-cap": "round" })')
27
+ .describe('Mapbox Style Spec layout object (e.g. { "line-join": "round", "line-cap": "round" })'),
28
+ slot: z
29
+ .enum(['bottom', 'middle', 'top'])
30
+ .optional()
31
+ .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).')
28
32
  });
29
33
  const markerSchema = z.object({
30
34
  coordinates: z
@@ -61,6 +65,46 @@ const cameraSchema = z.object({
61
65
  .optional()
62
66
  .describe('[[minLng, minLat], [maxLng, maxLat]]. If set, takes precedence over center/zoom and auto-fit.')
63
67
  });
68
+ const baseMapConfigSchema = z
69
+ .object({
70
+ theme: z
71
+ .enum(['default', 'faded', 'monochrome', 'custom'])
72
+ .optional()
73
+ .describe('Overall color treatment of the base map.'),
74
+ lightPreset: z
75
+ .enum(['day', 'dawn', 'dusk', 'night'])
76
+ .optional()
77
+ .describe('Lighting/shadow preset.'),
78
+ colorWater: z.string().optional().describe('CSS color override for water.'),
79
+ colorLand: z.string().optional().describe('CSS color override for land.'),
80
+ colorGreenspace: z.string().optional(),
81
+ colorMotorways: z.string().optional(),
82
+ colorTrunks: z.string().optional(),
83
+ colorRoads: z.string().optional(),
84
+ colorBuildings: z.string().optional(),
85
+ colorAdminBoundaries: z.string().optional(),
86
+ colorCommercial: z.string().optional(),
87
+ colorEducation: z.string().optional(),
88
+ colorMedical: z.string().optional(),
89
+ colorIndustrial: z.string().optional(),
90
+ colorPlaceLabels: z.string().optional(),
91
+ colorRoadLabels: z.string().optional(),
92
+ colorPointOfInterestLabels: z.string().optional(),
93
+ showPointOfInterestLabels: z.boolean().optional(),
94
+ showTransitLabels: z.boolean().optional(),
95
+ showPlaceLabels: z.boolean().optional(),
96
+ showRoadLabels: z.boolean().optional(),
97
+ showAdminBoundaries: z.boolean().optional(),
98
+ showIndoor: z.boolean().optional(),
99
+ showIndoorLabels: z.boolean().optional(),
100
+ showLandmarkIconLabels: z.boolean().optional(),
101
+ show3dObjects: z.boolean().optional(),
102
+ show3dTrees: z.boolean().optional(),
103
+ show3dFacades: z.boolean().optional(),
104
+ densityPointOfInterestLabels: z.number().optional()
105
+ })
106
+ .passthrough()
107
+ .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.');
64
108
  export const RenderMapInputSchema = z.object({
65
109
  /**
66
110
  * Preferred way to pass data from another Mapbox tool. Every geo tool
@@ -91,6 +135,11 @@ export const RenderMapInputSchema = z.object({
91
135
  .describe('Inline legend rows. Use only for hand-composed payloads.'),
92
136
  camera: cameraSchema
93
137
  .optional()
94
- .describe('Initial camera position. If omitted, the map auto-fits to the union of all data.')
138
+ .describe('Initial camera position. If omitted, the map auto-fits to the union of all data.'),
139
+ baseMapConfig: baseMapConfigSchema.optional(),
140
+ baseStyle: z
141
+ .enum(['standard', 'standard-satellite'])
142
+ .optional()
143
+ .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.')
95
144
  });
96
145
  //# 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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"}
@@ -3,13 +3,14 @@
3
3
  import { context, SpanStatusCode, trace } from '@opentelemetry/api';
4
4
  import { createLocalToolExecutionContext } from '../../utils/tracing.js';
5
5
  import { BaseTool } from '../BaseTool.js';
6
+ import { mapAppCsp } from '../../resources/ui-apps/mapAppCsp.js';
6
7
  import { RenderMapInputSchema } from './RenderMapTool.input.schema.js';
7
8
  import { RenderMapOutputSchema } from './RenderMapTool.output.schema.js';
8
9
  import { resolveMapPayloadRef, mergeMapPayloads, storeMapPayload, buildMapboxRenderField, MAX_INLINE_PAYLOAD_BYTES } from '../../utils/storeMapPayload.js';
9
10
  import { isComputeRef, resolveComputeRef } from '../../utils/computeRef.js';
10
11
  import { isSelfFetchRef, resolveSelfFetchRef } from '../../utils/selfFetchRef.js';
11
12
  import { isInlinePayloadRef, resolveInlinePayloadRef, buildInlinePayloadRef } from '../../utils/inlinePayloadRef.js';
12
- import { getUserNameFromToken } from '../../utils/jwtUtils.js';
13
+ import { getOwnerKeyFromToken } from '../../utils/jwtUtils.js';
13
14
  /**
14
15
  * `render_map_tool` — the single visualization primitive for Mapbox MCP.
15
16
  *
@@ -36,6 +37,13 @@ export class RenderMapTool extends BaseTool {
36
37
  'result + a route) onto one map. ' +
37
38
  'Inline `layers`/`markers`/`legend` fields are also supported for ' +
38
39
  'hand-composed payloads from raw GeoJSON. ' +
40
+ 'To restyle the base map itself (e.g. "make the water red", switch to night ' +
41
+ 'lighting, hide POI labels) pass `baseMapConfig`. To switch to satellite ' +
42
+ 'imagery, pass `baseStyle: "standard-satellite"` (defaults to "standard"). ' +
43
+ 'Every call is a fresh render — it does not accumulate state — so to ' +
44
+ 'restyle an already-drawn map without losing its content, re-pass the ' +
45
+ 'same `payload_refs`/`layers` alongside `baseMapConfig`/`baseStyle` rather ' +
46
+ 'than sending them alone. ' +
39
47
  'Invoke this as the FINAL step whenever a tool returned `mapboxRender` data.';
40
48
  annotations = {
41
49
  title: 'Render Map',
@@ -44,15 +52,7 @@ export class RenderMapTool extends BaseTool {
44
52
  idempotentHint: true,
45
53
  openWorldHint: false
46
54
  };
47
- meta = {
48
- ui: {
49
- resourceUri: 'ui://mapbox/map-app/index.html',
50
- csp: {
51
- connectDomains: ['https://*.mapbox.com', 'https://events.mapbox.com'],
52
- resourceDomains: ['https://api.mapbox.com']
53
- }
54
- }
55
- };
55
+ meta;
56
56
  httpRequest;
57
57
  apiEndpoint;
58
58
  constructor(params) {
@@ -64,18 +64,32 @@ export class RenderMapTool extends BaseTool {
64
64
  this.apiEndpoint =
65
65
  params.apiEndpoint ??
66
66
  (() => process.env.MAPBOX_API_ENDPOINT || 'https://api.mapbox.com/');
67
+ this.meta = {
68
+ ui: {
69
+ resourceUri: 'ui://mapbox/map-app/index.html',
70
+ csp: mapAppCsp(this.apiEndpoint())
71
+ }
72
+ };
67
73
  }
68
74
  async run(rawInput,
69
75
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
76
  extra) {
71
77
  const accessToken = extra?.authInfo?.token || process.env.MAPBOX_ACCESS_TOKEN;
72
- const owner = accessToken ? getUserNameFromToken(accessToken) : undefined;
78
+ const owner = getOwnerKeyFromToken(accessToken);
73
79
  const toolContext = createLocalToolExecutionContext(this.name, 0);
74
80
  return await context.with(trace.setSpan(context.active(), toolContext.span), async () => {
75
81
  try {
76
82
  const input = RenderMapInputSchema.parse(rawInput);
77
83
  const { payload, unresolvedRefs } = this.assemblePayload(input, owner);
78
- if (!payload) {
84
+ // A summary/legend alone counts as renderable, so without this a
85
+ // call whose only data ref failed would still "succeed" and draw
86
+ // an empty globe under the summary — and the LLM, seeing success,
87
+ // describes a map the user never got.
88
+ const nothingDrawable = unresolvedRefs.length > 0 &&
89
+ (payload?.layers?.length ?? 0) === 0 &&
90
+ (payload?.markers?.length ?? 0) === 0 &&
91
+ (payload?.selfFetch?.length ?? 0) === 0;
92
+ if (!payload || nothingDrawable) {
79
93
  // A ref that fails to resolve is usually a payload that expired
80
94
  // (30-minute TTL) or was created in a different process/session
81
95
  // — e.g. the conversation was rehydrated and the LLM reused a
@@ -88,9 +102,10 @@ export class RenderMapTool extends BaseTool {
88
102
  type: 'text',
89
103
  text: hadOnlyStaleRefs
90
104
  ? `RenderMapTool: none of the provided payload_refs could be resolved — ` +
91
- `they've likely expired (temporary map data lasts ~30 minutes) or belong ` +
92
- `to a different session. Re-run the tool(s) that produced this data to get ` +
93
- `fresh refs, then call render_map_tool again.`
105
+ `they've likely expired (temporary map data lasts ~30 minutes), belong ` +
106
+ `to a different session, or are malformed. Re-run the tool(s) that produced ` +
107
+ `this data and pass their mapboxRender.ref values verbatim, then call ` +
108
+ `render_map_tool again.`
94
109
  : 'RenderMapTool: nothing to render. Pass either `payload_refs` or inline `layers`/`markers`.'
95
110
  }
96
111
  ],
@@ -102,7 +117,7 @@ export class RenderMapTool extends BaseTool {
102
117
  const selfFetchCount = payload.selfFetch?.length ?? 0;
103
118
  const staleNote = unresolvedRefs.length > 0
104
119
  ? ` (Note: ${unresolvedRefs.length} payload ref${unresolvedRefs.length === 1 ? '' : 's'} ` +
105
- `could not be resolved — likely expired — and ${unresolvedRefs.length === 1 ? 'was' : 'were'} ` +
120
+ `could not be resolved — likely expired or malformed — and ${unresolvedRefs.length === 1 ? 'was' : 'were'} ` +
106
121
  `skipped. Re-run the source tool(s) if that data should be included.)`
107
122
  : '';
108
123
  // Self-fetched layers (e.g. a directions route) aren't counted
@@ -111,10 +126,14 @@ export class RenderMapTool extends BaseTool {
111
126
  const selfFetchNote = selfFetchCount > 0
112
127
  ? ` The map will also fetch and draw ${selfFetchCount} additional layer${selfFetchCount === 1 ? '' : 's'} directly from the Mapbox API once it loads.`
113
128
  : '';
129
+ const baseMapConfigNote = payload.baseMapConfig || payload.baseStyle
130
+ ? ' Updated the base map style.'
131
+ : '';
114
132
  const text = `Rendered map with ${layerCount} layer${layerCount === 1 ? '' : 's'}` +
115
133
  ` and ${markerCount} marker${markerCount === 1 ? '' : 's'}` +
116
134
  (payload.summary ? ` — ${payload.summary}` : '') +
117
135
  '.' +
136
+ baseMapConfigNote +
118
137
  selfFetchNote +
119
138
  staleNote;
120
139
  // Claude Desktop strips structuredContent from MCP App iframe
@@ -219,23 +238,36 @@ export class RenderMapTool extends BaseTool {
219
238
  markers: input.markers,
220
239
  legend: input.legend,
221
240
  camera: input.camera,
222
- summary: input.summary
241
+ summary: input.summary,
242
+ baseMapConfig: input.baseMapConfig,
243
+ baseStyle: input.baseStyle
223
244
  };
224
245
  const hasInlineContent = (inline.layers && inline.layers.length > 0) ||
225
246
  (inline.markers && inline.markers.length > 0);
226
247
  const all = [...fromRefs];
227
- if (hasInlineContent || inline.summary || inline.legend)
248
+ // baseMapConfig/baseStyle-only calls (e.g. "now turn the water red" or
249
+ // "switch to satellite" with no new data) are renderable on their own —
250
+ // treated like summary/legend.
251
+ if (hasInlineContent ||
252
+ inline.summary ||
253
+ inline.legend ||
254
+ inline.baseMapConfig ||
255
+ inline.baseStyle)
228
256
  all.push(inline);
229
257
  if (all.length === 0)
230
258
  return { payload: null, unresolvedRefs };
231
259
  const merged = mergeMapPayloads(all);
232
- // Inline summary/camera/legend take precedence when provided.
260
+ // Inline summary/camera/legend/baseMapConfig/baseStyle take precedence when provided.
233
261
  if (input.summary)
234
262
  merged.summary = input.summary;
235
263
  if (input.camera)
236
264
  merged.camera = inline.camera;
237
265
  if (input.legend)
238
266
  merged.legend = input.legend;
267
+ if (input.baseMapConfig)
268
+ merged.baseMapConfig = input.baseMapConfig;
269
+ if (input.baseStyle)
270
+ merged.baseStyle = input.baseStyle;
239
271
  return { payload: merged, unresolvedRefs };
240
272
  }
241
273
  }
@@ -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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"}