@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.
- package/README.md +11 -0
- package/dist/commonjs/index.js +38 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/resources/BaseResource.d.ts +18 -0
- package/dist/commonjs/resources/BaseResource.d.ts.map +1 -1
- package/dist/commonjs/resources/BaseResource.js +26 -4
- package/dist/commonjs/resources/BaseResource.js.map +1 -1
- package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts.map +1 -1
- package/dist/commonjs/resources/temporary/TemporaryDataResource.js +20 -10
- package/dist/commonjs/resources/temporary/TemporaryDataResource.js.map +1 -1
- package/dist/commonjs/resources/ui-apps/MapAppUIResource.d.ts.map +1 -1
- package/dist/commonjs/resources/ui-apps/MapAppUIResource.js +2 -8
- package/dist/commonjs/resources/ui-apps/MapAppUIResource.js.map +1 -1
- package/dist/commonjs/resources/ui-apps/mapAppCsp.d.ts +22 -0
- package/dist/commonjs/resources/ui-apps/mapAppCsp.d.ts.map +1 -0
- package/dist/commonjs/resources/ui-apps/mapAppCsp.js +39 -0
- package/dist/commonjs/resources/ui-apps/mapAppCsp.js.map +1 -0
- package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
- package/dist/commonjs/resources/ui-apps/mapAppHtml.js +71 -9
- package/dist/commonjs/resources/ui-apps/mapAppHtml.js.map +1 -1
- package/dist/commonjs/tools/BaseTool.d.ts +19 -0
- package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
- package/dist/commonjs/tools/BaseTool.js +25 -3
- package/dist/commonjs/tools/BaseTool.js.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js +4 -3
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.js +7 -4
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.js.map +1 -1
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts +4 -0
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.js +9 -1
- package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +1 -1
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts +11 -1
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -1
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js +3 -3
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -1
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js +132 -141
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js.map +1 -1
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +71 -10
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js +86 -10
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts +2 -4
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts.map +1 -1
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts +50 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js +51 -2
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -1
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.js +50 -18
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.js.map +1 -1
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts +50 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +2 -2
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +4 -3
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +2 -2
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/commonjs/utils/index.d.ts +2 -0
- package/dist/commonjs/utils/index.d.ts.map +1 -1
- package/dist/commonjs/utils/index.js +10 -1
- package/dist/commonjs/utils/index.js.map +1 -1
- package/dist/commonjs/utils/jsonSchema2020.d.ts +26 -0
- package/dist/commonjs/utils/jsonSchema2020.d.ts.map +1 -0
- package/dist/commonjs/utils/jsonSchema2020.js +143 -0
- package/dist/commonjs/utils/jsonSchema2020.js.map +1 -0
- package/dist/commonjs/utils/jwtUtils.d.ts +48 -0
- package/dist/commonjs/utils/jwtUtils.d.ts.map +1 -1
- package/dist/commonjs/utils/jwtUtils.js +63 -0
- package/dist/commonjs/utils/jwtUtils.js.map +1 -1
- package/dist/commonjs/utils/mapAppPayload.d.ts +109 -0
- package/dist/commonjs/utils/mapAppPayload.d.ts.map +1 -1
- package/dist/commonjs/utils/mapAppPayload.js +38 -2
- package/dist/commonjs/utils/mapAppPayload.js.map +1 -1
- package/dist/commonjs/utils/selfFetchRef.d.ts.map +1 -1
- package/dist/commonjs/utils/selfFetchRef.js +31 -0
- package/dist/commonjs/utils/selfFetchRef.js.map +1 -1
- package/dist/commonjs/utils/serverInstructions.d.ts +12 -0
- package/dist/commonjs/utils/serverInstructions.d.ts.map +1 -0
- package/dist/commonjs/utils/serverInstructions.js +28 -0
- package/dist/commonjs/utils/serverInstructions.js.map +1 -0
- package/dist/commonjs/utils/storeMapPayload.d.ts +11 -11
- package/dist/commonjs/utils/storeMapPayload.d.ts.map +1 -1
- package/dist/commonjs/utils/storeMapPayload.js +14 -13
- package/dist/commonjs/utils/storeMapPayload.js.map +1 -1
- package/dist/commonjs/utils/temporaryResourceManager.d.ts +10 -4
- package/dist/commonjs/utils/temporaryResourceManager.d.ts.map +1 -1
- package/dist/commonjs/utils/temporaryResourceManager.js.map +1 -1
- package/dist/commonjs/utils/tracing.d.ts +4 -0
- package/dist/commonjs/utils/tracing.d.ts.map +1 -1
- package/dist/commonjs/utils/tracing.js +20 -0
- package/dist/commonjs/utils/tracing.js.map +1 -1
- package/dist/commonjs/version.json +3 -3
- package/dist/esm/index.js +39 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/resources/BaseResource.d.ts +18 -0
- package/dist/esm/resources/BaseResource.d.ts.map +1 -1
- package/dist/esm/resources/BaseResource.js +26 -4
- package/dist/esm/resources/BaseResource.js.map +1 -1
- package/dist/esm/resources/temporary/TemporaryDataResource.d.ts.map +1 -1
- package/dist/esm/resources/temporary/TemporaryDataResource.js +21 -11
- package/dist/esm/resources/temporary/TemporaryDataResource.js.map +1 -1
- package/dist/esm/resources/ui-apps/MapAppUIResource.d.ts.map +1 -1
- package/dist/esm/resources/ui-apps/MapAppUIResource.js +2 -8
- package/dist/esm/resources/ui-apps/MapAppUIResource.js.map +1 -1
- package/dist/esm/resources/ui-apps/mapAppCsp.d.ts +22 -0
- package/dist/esm/resources/ui-apps/mapAppCsp.d.ts.map +1 -0
- package/dist/esm/resources/ui-apps/mapAppCsp.js +36 -0
- package/dist/esm/resources/ui-apps/mapAppCsp.js.map +1 -0
- package/dist/esm/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
- package/dist/esm/resources/ui-apps/mapAppHtml.js +71 -9
- package/dist/esm/resources/ui-apps/mapAppHtml.js.map +1 -1
- package/dist/esm/tools/BaseTool.d.ts +19 -0
- package/dist/esm/tools/BaseTool.d.ts.map +1 -1
- package/dist/esm/tools/BaseTool.js +25 -3
- package/dist/esm/tools/BaseTool.js.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.js +5 -4
- package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.js +7 -4
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.js.map +1 -1
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts +4 -0
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.js +9 -1
- package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.js.map +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.js +2 -2
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts +11 -1
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -1
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js +3 -3
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -1
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js +133 -142
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js.map +1 -1
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +71 -10
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js +85 -9
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -1
- package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts +2 -4
- package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts.map +1 -1
- package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts +50 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -1
- package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js +51 -2
- package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -1
- package/dist/esm/tools/render-map-tool/RenderMapTool.js +51 -19
- package/dist/esm/tools/render-map-tool/RenderMapTool.js.map +1 -1
- package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts +50 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +2 -2
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +4 -3
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +3 -3
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/esm/utils/index.d.ts +2 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +6 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/jsonSchema2020.d.ts +26 -0
- package/dist/esm/utils/jsonSchema2020.d.ts.map +1 -0
- package/dist/esm/utils/jsonSchema2020.js +138 -0
- package/dist/esm/utils/jsonSchema2020.js.map +1 -0
- package/dist/esm/utils/jwtUtils.d.ts +48 -0
- package/dist/esm/utils/jwtUtils.d.ts.map +1 -1
- package/dist/esm/utils/jwtUtils.js +61 -0
- package/dist/esm/utils/jwtUtils.js.map +1 -1
- package/dist/esm/utils/mapAppPayload.d.ts +109 -0
- package/dist/esm/utils/mapAppPayload.d.ts.map +1 -1
- package/dist/esm/utils/mapAppPayload.js +38 -2
- package/dist/esm/utils/mapAppPayload.js.map +1 -1
- package/dist/esm/utils/selfFetchRef.d.ts.map +1 -1
- package/dist/esm/utils/selfFetchRef.js +31 -0
- package/dist/esm/utils/selfFetchRef.js.map +1 -1
- package/dist/esm/utils/serverInstructions.d.ts +12 -0
- package/dist/esm/utils/serverInstructions.d.ts.map +1 -0
- package/dist/esm/utils/serverInstructions.js +25 -0
- package/dist/esm/utils/serverInstructions.js.map +1 -0
- package/dist/esm/utils/storeMapPayload.d.ts +11 -11
- package/dist/esm/utils/storeMapPayload.d.ts.map +1 -1
- package/dist/esm/utils/storeMapPayload.js +14 -13
- package/dist/esm/utils/storeMapPayload.js.map +1 -1
- package/dist/esm/utils/temporaryResourceManager.d.ts +10 -4
- package/dist/esm/utils/temporaryResourceManager.d.ts.map +1 -1
- package/dist/esm/utils/temporaryResourceManager.js.map +1 -1
- package/dist/esm/utils/tracing.d.ts +4 -0
- package/dist/esm/utils/tracing.d.ts.map +1 -1
- package/dist/esm/utils/tracing.js +19 -0
- package/dist/esm/utils/tracing.js.map +1 -1
- package/dist/esm/version.json +3 -3
- package/package.json +2 -2
- 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
|
|
6
|
-
*
|
|
7
|
-
*
|
|
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
|
|
100
|
+
* Type inference for LegacyPlaceDetailsFeature
|
|
40
101
|
*/
|
|
41
|
-
export type
|
|
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
|
|
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
|
|
8
|
-
*
|
|
9
|
-
*
|
|
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
|
|
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,
|
|
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;
|
|
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 {
|
|
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 =
|
|
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
|
-
|
|
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)
|
|
92
|
-
`to a different session. Re-run the tool(s) that produced
|
|
93
|
-
`
|
|
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
|
-
|
|
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":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"RenderMapTool.js","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.ts"],"names":[],"mappings":"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"}
|