@mapbox/mcp-server 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -14
- package/dist/commonjs/cli.d.ts.map +1 -1
- package/dist/commonjs/cli.js +5 -2
- package/dist/commonjs/cli.js.map +1 -1
- 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/resourceRegistry.d.ts +1 -2
- package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -1
- package/dist/commonjs/resources/resourceRegistry.js +0 -2
- package/dist/commonjs/resources/resourceRegistry.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 +3 -3
- package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
- package/dist/commonjs/resources/ui-apps/mapAppHtml.js +89 -13
- 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 +16 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js +107 -2
- 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 +134 -139
- 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 +6 -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.input.schema.d.ts +3 -3
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js +16 -2
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +17 -6
- 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 +8 -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/redactToken.d.ts +3 -0
- package/dist/commonjs/utils/redactToken.d.ts.map +1 -0
- package/dist/commonjs/utils/redactToken.js +55 -0
- package/dist/commonjs/utils/redactToken.js.map +1 -0
- package/dist/commonjs/utils/redactingSpanExporter.d.ts +24 -0
- package/dist/commonjs/utils/redactingSpanExporter.d.ts.map +1 -0
- package/dist/commonjs/utils/redactingSpanExporter.js +97 -0
- package/dist/commonjs/utils/redactingSpanExporter.js.map +1 -0
- 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 +24 -1
- package/dist/commonjs/utils/tracing.js.map +1 -1
- package/dist/commonjs/utils/urlSafety.d.ts +23 -7
- package/dist/commonjs/utils/urlSafety.d.ts.map +1 -1
- package/dist/commonjs/utils/urlSafety.js +84 -66
- package/dist/commonjs/utils/urlSafety.js.map +1 -1
- package/dist/commonjs/version.json +3 -3
- package/dist/esm/cli.d.ts.map +1 -1
- package/dist/esm/cli.js +5 -2
- package/dist/esm/cli.js.map +1 -1
- 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/resourceRegistry.d.ts +1 -2
- package/dist/esm/resources/resourceRegistry.d.ts.map +1 -1
- package/dist/esm/resources/resourceRegistry.js +0 -2
- package/dist/esm/resources/resourceRegistry.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 +3 -3
- package/dist/esm/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
- package/dist/esm/resources/ui-apps/mapAppHtml.js +89 -13
- 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 +16 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.js +108 -3
- 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 +135 -140
- 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 +6 -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.input.schema.d.ts +3 -3
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js +17 -3
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +18 -7
- 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 +5 -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/redactToken.d.ts +3 -0
- package/dist/esm/utils/redactToken.d.ts.map +1 -0
- package/dist/esm/utils/redactToken.js +52 -0
- package/dist/esm/utils/redactToken.js.map +1 -0
- package/dist/esm/utils/redactingSpanExporter.d.ts +24 -0
- package/dist/esm/utils/redactingSpanExporter.d.ts.map +1 -0
- package/dist/esm/utils/redactingSpanExporter.js +93 -0
- package/dist/esm/utils/redactingSpanExporter.js.map +1 -0
- 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 +23 -1
- package/dist/esm/utils/tracing.js.map +1 -1
- package/dist/esm/utils/urlSafety.d.ts +23 -7
- package/dist/esm/utils/urlSafety.d.ts.map +1 -1
- package/dist/esm/utils/urlSafety.js +80 -66
- package/dist/esm/utils/urlSafety.js.map +1 -1
- package/dist/esm/version.json +3 -3
- package/package.json +3 -2
- package/patches/{@modelcontextprotocol+sdk+1.29.0.patch → @modelcontextprotocol+sdk+1.30.0.patch} +6 -2
- package/dist/commonjs/resources/ui-apps/StaticMapUIResource.d.ts +0 -15
- package/dist/commonjs/resources/ui-apps/StaticMapUIResource.d.ts.map +0 -1
- package/dist/commonjs/resources/ui-apps/StaticMapUIResource.js +0 -262
- package/dist/commonjs/resources/ui-apps/StaticMapUIResource.js.map +0 -1
- package/dist/esm/resources/ui-apps/StaticMapUIResource.d.ts +0 -15
- package/dist/esm/resources/ui-apps/StaticMapUIResource.d.ts.map +0 -1
- package/dist/esm/resources/ui-apps/StaticMapUIResource.js +0 -258
- package/dist/esm/resources/ui-apps/StaticMapUIResource.js.map +0 -1
|
@@ -2,11 +2,77 @@ import { z } from 'zod';
|
|
|
2
2
|
/**
|
|
3
3
|
* Output schema for PlaceDetailsTool
|
|
4
4
|
*
|
|
5
|
-
* Models the
|
|
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"}
|
|
@@ -2,16 +2,98 @@
|
|
|
2
2
|
// Copyright (c) Mapbox, Inc.
|
|
3
3
|
// Licensed under the MIT License.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.PlaceDetailsOutputSchema = void 0;
|
|
5
|
+
exports.LegacyPlaceDetailsFeatureSchema = exports.PlaceDetailsOutputSchema = void 0;
|
|
6
6
|
const zod_1 = require("zod");
|
|
7
7
|
/**
|
|
8
8
|
* Output schema for PlaceDetailsTool
|
|
9
9
|
*
|
|
10
|
-
* Models the
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* Models the flat Place record returned by the Mapbox Places API's Details
|
|
11
|
+
* endpoint (`places/v1/details/retrieve`), currently in Public Preview.
|
|
12
|
+
* Nearly every field beyond `mapbox_id`/`name` is optional and every nested
|
|
13
|
+
* object uses .passthrough() — live responses observed during development
|
|
14
|
+
* varied in which fields were present (e.g. `building` and `opening_hours`
|
|
15
|
+
* only appear on some places), and a Public Preview API's contract can add
|
|
16
|
+
* fields without notice, so this schema is deliberately permissive rather
|
|
17
|
+
* than risk an output-validation failure like the one fixed for the
|
|
18
|
+
* previous Details API (see CHANGELOG).
|
|
19
|
+
*
|
|
20
|
+
* `feature_type`, `bbox`, `context`, and `metadata` are never populated by
|
|
21
|
+
* the Places API itself — they're only present when `mapbox_id` resolved via
|
|
22
|
+
* the legacy Details API fallback (boundaries/neighborhoods/cities/regions,
|
|
23
|
+
* which the Places API rejects). See `PlaceDetailsTool.ts`'s
|
|
24
|
+
* `normalizeLegacyFeature`.
|
|
13
25
|
*/
|
|
14
26
|
exports.PlaceDetailsOutputSchema = zod_1.z
|
|
27
|
+
.object({
|
|
28
|
+
mapbox_id: zod_1.z.string(),
|
|
29
|
+
name: zod_1.z.string(),
|
|
30
|
+
full_address: zod_1.z.string().optional(),
|
|
31
|
+
brand: zod_1.z.string().nullable().optional(),
|
|
32
|
+
primary_category: zod_1.z.string().optional(),
|
|
33
|
+
categories: zod_1.z.array(zod_1.z.string()).optional(),
|
|
34
|
+
// Legacy Details API fallback only (see doc comment above).
|
|
35
|
+
feature_type: zod_1.z.string().optional(),
|
|
36
|
+
bbox: zod_1.z.tuple([zod_1.z.number(), zod_1.z.number(), zod_1.z.number(), zod_1.z.number()]).optional(),
|
|
37
|
+
context: zod_1.z.object({}).passthrough().optional(),
|
|
38
|
+
metadata: zod_1.z.object({}).passthrough().optional(),
|
|
39
|
+
// OSM opening_hours syntax, e.g. "Mo 09:00-23:45; Tu 09:00-23:45; ...".
|
|
40
|
+
opening_hours: zod_1.z.string().optional(),
|
|
41
|
+
permanently_closed: zod_1.z.boolean().nullable().optional(),
|
|
42
|
+
phone: zod_1.z.string().optional(),
|
|
43
|
+
website: zod_1.z.string().optional(),
|
|
44
|
+
status: zod_1.z.string().optional(),
|
|
45
|
+
created_at: zod_1.z.string().optional(),
|
|
46
|
+
updated_at: zod_1.z.string().optional(),
|
|
47
|
+
score: zod_1.z
|
|
48
|
+
.object({
|
|
49
|
+
closed: zod_1.z.number().nullable().optional(),
|
|
50
|
+
reality: zod_1.z.number().nullable().optional(),
|
|
51
|
+
popularity: zod_1.z.number().nullable().optional()
|
|
52
|
+
})
|
|
53
|
+
.passthrough()
|
|
54
|
+
.optional(),
|
|
55
|
+
coordinates: zod_1.z
|
|
56
|
+
.object({
|
|
57
|
+
latitude: zod_1.z.number(),
|
|
58
|
+
longitude: zod_1.z.number(),
|
|
59
|
+
source: zod_1.z.string().optional(),
|
|
60
|
+
routable_points: zod_1.z
|
|
61
|
+
.array(zod_1.z
|
|
62
|
+
.object({
|
|
63
|
+
name: zod_1.z.string().optional(),
|
|
64
|
+
latitude: zod_1.z.number(),
|
|
65
|
+
longitude: zod_1.z.number()
|
|
66
|
+
})
|
|
67
|
+
.passthrough())
|
|
68
|
+
.optional()
|
|
69
|
+
})
|
|
70
|
+
.passthrough()
|
|
71
|
+
.optional(),
|
|
72
|
+
address: zod_1.z.object({}).passthrough().optional(),
|
|
73
|
+
attributes: zod_1.z
|
|
74
|
+
.record(zod_1.z.string(), zod_1.z.union([zod_1.z.string(), zod_1.z.boolean(), zod_1.z.number()]))
|
|
75
|
+
.optional(),
|
|
76
|
+
building: zod_1.z.object({}).passthrough().optional(),
|
|
77
|
+
photos: zod_1.z
|
|
78
|
+
.array(zod_1.z
|
|
79
|
+
.object({
|
|
80
|
+
url: zod_1.z.string(),
|
|
81
|
+
width: zod_1.z.number().nullable().optional(),
|
|
82
|
+
height: zod_1.z.number().nullable().optional(),
|
|
83
|
+
source: zod_1.z.string().optional()
|
|
84
|
+
})
|
|
85
|
+
.passthrough())
|
|
86
|
+
.optional(),
|
|
87
|
+
telemetry: zod_1.z.object({}).passthrough().optional()
|
|
88
|
+
})
|
|
89
|
+
.passthrough();
|
|
90
|
+
/**
|
|
91
|
+
* Raw GeoJSON `Feature` returned by the legacy Details API
|
|
92
|
+
* (`search/details/v1/retrieve`). Only used for the fallback path — see
|
|
93
|
+
* `PlaceDetailsTool.ts`'s `normalizeLegacyFeature`, which maps this into
|
|
94
|
+
* `PlaceDetailsOutput`.
|
|
95
|
+
*/
|
|
96
|
+
exports.LegacyPlaceDetailsFeatureSchema = zod_1.z
|
|
15
97
|
.object({
|
|
16
98
|
type: zod_1.z.literal('Feature'),
|
|
17
99
|
geometry: zod_1.z
|
|
@@ -39,14 +121,8 @@ exports.PlaceDetailsOutputSchema = zod_1.z
|
|
|
39
121
|
bbox: zod_1.z
|
|
40
122
|
.tuple([zod_1.z.number(), zod_1.z.number(), zod_1.z.number(), zod_1.z.number()])
|
|
41
123
|
.optional(),
|
|
42
|
-
language: zod_1.z.string().optional(),
|
|
43
|
-
maki: zod_1.z.string().optional(),
|
|
44
124
|
poi_category: zod_1.z.array(zod_1.z.string()).optional(),
|
|
45
|
-
poi_category_ids: zod_1.z.array(zod_1.z.string()).optional(),
|
|
46
125
|
brand: zod_1.z.array(zod_1.z.string()).optional(),
|
|
47
|
-
brand_id: zod_1.z.array(zod_1.z.string()).optional(),
|
|
48
|
-
external_ids: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
|
|
49
|
-
// metadata contains attribute_set fields (photos, visit, venue)
|
|
50
126
|
metadata: zod_1.z.object({}).passthrough().optional()
|
|
51
127
|
})
|
|
52
128
|
.passthrough()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaceDetailsTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/place-details-tool/PlaceDetailsTool.output.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AAExB
|
|
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"}
|
|
@@ -27,7 +27,11 @@ const layerSchema = zod_1.z.object({
|
|
|
27
27
|
layout: zod_1.z
|
|
28
28
|
.record(zod_1.z.string(), zod_1.z.unknown())
|
|
29
29
|
.optional()
|
|
30
|
-
.describe('Mapbox Style Spec layout object (e.g. { "line-join": "round", "line-cap": "round" })')
|
|
30
|
+
.describe('Mapbox Style Spec layout object (e.g. { "line-join": "round", "line-cap": "round" })'),
|
|
31
|
+
slot: zod_1.z
|
|
32
|
+
.enum(['bottom', 'middle', 'top'])
|
|
33
|
+
.optional()
|
|
34
|
+
.describe('Placement relative to the base map\'s own layers. "bottom": below all basemap layers. "middle": above land/water but below roads, buildings, and labels — the usual choice for data-viz layers (isochrones, choropleths). "top": above all basemap layers except labels — the usual choice for routes and highlighted features. Omit to render above everything, including labels (prior default behavior).')
|
|
31
35
|
});
|
|
32
36
|
const markerSchema = zod_1.z.object({
|
|
33
37
|
coordinates: zod_1.z
|
|
@@ -64,6 +68,46 @@ const cameraSchema = zod_1.z.object({
|
|
|
64
68
|
.optional()
|
|
65
69
|
.describe('[[minLng, minLat], [maxLng, maxLat]]. If set, takes precedence over center/zoom and auto-fit.')
|
|
66
70
|
});
|
|
71
|
+
const baseMapConfigSchema = zod_1.z
|
|
72
|
+
.object({
|
|
73
|
+
theme: zod_1.z
|
|
74
|
+
.enum(['default', 'faded', 'monochrome', 'custom'])
|
|
75
|
+
.optional()
|
|
76
|
+
.describe('Overall color treatment of the base map.'),
|
|
77
|
+
lightPreset: zod_1.z
|
|
78
|
+
.enum(['day', 'dawn', 'dusk', 'night'])
|
|
79
|
+
.optional()
|
|
80
|
+
.describe('Lighting/shadow preset.'),
|
|
81
|
+
colorWater: zod_1.z.string().optional().describe('CSS color override for water.'),
|
|
82
|
+
colorLand: zod_1.z.string().optional().describe('CSS color override for land.'),
|
|
83
|
+
colorGreenspace: zod_1.z.string().optional(),
|
|
84
|
+
colorMotorways: zod_1.z.string().optional(),
|
|
85
|
+
colorTrunks: zod_1.z.string().optional(),
|
|
86
|
+
colorRoads: zod_1.z.string().optional(),
|
|
87
|
+
colorBuildings: zod_1.z.string().optional(),
|
|
88
|
+
colorAdminBoundaries: zod_1.z.string().optional(),
|
|
89
|
+
colorCommercial: zod_1.z.string().optional(),
|
|
90
|
+
colorEducation: zod_1.z.string().optional(),
|
|
91
|
+
colorMedical: zod_1.z.string().optional(),
|
|
92
|
+
colorIndustrial: zod_1.z.string().optional(),
|
|
93
|
+
colorPlaceLabels: zod_1.z.string().optional(),
|
|
94
|
+
colorRoadLabels: zod_1.z.string().optional(),
|
|
95
|
+
colorPointOfInterestLabels: zod_1.z.string().optional(),
|
|
96
|
+
showPointOfInterestLabels: zod_1.z.boolean().optional(),
|
|
97
|
+
showTransitLabels: zod_1.z.boolean().optional(),
|
|
98
|
+
showPlaceLabels: zod_1.z.boolean().optional(),
|
|
99
|
+
showRoadLabels: zod_1.z.boolean().optional(),
|
|
100
|
+
showAdminBoundaries: zod_1.z.boolean().optional(),
|
|
101
|
+
showIndoor: zod_1.z.boolean().optional(),
|
|
102
|
+
showIndoorLabels: zod_1.z.boolean().optional(),
|
|
103
|
+
showLandmarkIconLabels: zod_1.z.boolean().optional(),
|
|
104
|
+
show3dObjects: zod_1.z.boolean().optional(),
|
|
105
|
+
show3dTrees: zod_1.z.boolean().optional(),
|
|
106
|
+
show3dFacades: zod_1.z.boolean().optional(),
|
|
107
|
+
densityPointOfInterestLabels: zod_1.z.number().optional()
|
|
108
|
+
})
|
|
109
|
+
.passthrough()
|
|
110
|
+
.describe('Restyles the Standard base map itself via Mapbox\'s config-property system (map.setConfigProperty) — e.g. { "colorWater": "#ff0000" } to turn the water red, or { "lightPreset": "night" } for night lighting. Only the currently-documented Standard properties are typed above; unrecognized keys still pass through in case Mapbox ships new ones. Has no effect if the base style isn\'t Standard.');
|
|
67
111
|
exports.RenderMapInputSchema = zod_1.z.object({
|
|
68
112
|
/**
|
|
69
113
|
* Preferred way to pass data from another Mapbox tool. Every geo tool
|
|
@@ -94,6 +138,11 @@ exports.RenderMapInputSchema = zod_1.z.object({
|
|
|
94
138
|
.describe('Inline legend rows. Use only for hand-composed payloads.'),
|
|
95
139
|
camera: cameraSchema
|
|
96
140
|
.optional()
|
|
97
|
-
.describe('Initial camera position. If omitted, the map auto-fits to the union of all data.')
|
|
141
|
+
.describe('Initial camera position. If omitted, the map auto-fits to the union of all data.'),
|
|
142
|
+
baseMapConfig: baseMapConfigSchema.optional(),
|
|
143
|
+
baseStyle: zod_1.z
|
|
144
|
+
.enum(['standard', 'standard-satellite'])
|
|
145
|
+
.optional()
|
|
146
|
+
.describe('Which Mapbox-owned base style to load; defaults to "standard". "standard-satellite" is the same Standard style family rendered over global satellite imagery instead of a vector basemap — same config-property system and bottom/middle/top slots apply, but it has no theme and no flat-color overrides like colorWater/colorBuildings (there\'s no vector surface to recolor). See https://docs.mapbox.com/map-styles/reference/standard-satellite/ for its supported baseMapConfig properties.')
|
|
98
147
|
});
|
|
99
148
|
//# sourceMappingURL=RenderMapTool.input.schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderMapTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.input.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AAExB;;;;;;;GAOG;AAEH,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACpE,IAAI,EAAE,OAAC;SACJ,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;SAC1C,QAAQ,CAAC,sBAAsB,CAAC;IACnC,IAAI,EAAE,OAAC;SACJ,OAAO,EAAE;SACT,QAAQ,CACP,uJAAuJ,CACxJ;IACH,KAAK,EAAE,OAAC;SACL,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CACP,+GAA+G,CAChH;IACH,MAAM,EAAE,OAAC;SACN,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CACP,sFAAsF,CACvF;CACJ,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,WAAW,EAAE,OAAC;SACX,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,uBAAuB,CAAC;IACpC,KAAK,EAAE,OAAC;SACL,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;SACzC,QAAQ,EAAE;SACV,QAAQ,CACP,8JAA8J,CAC/J;IACH,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CAC1E,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACrD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,OAAC;SACN,KAAK,CAAC,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,+FAA+F,CAChG;CACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"RenderMapTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.input.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ exports.RenderMapTool = void 0;
|
|
|
6
6
|
const api_1 = require("@opentelemetry/api");
|
|
7
7
|
const tracing_js_1 = require("../../utils/tracing.js");
|
|
8
8
|
const BaseTool_js_1 = require("../BaseTool.js");
|
|
9
|
+
const mapAppCsp_js_1 = require("../../resources/ui-apps/mapAppCsp.js");
|
|
9
10
|
const RenderMapTool_input_schema_js_1 = require("./RenderMapTool.input.schema.js");
|
|
10
11
|
const RenderMapTool_output_schema_js_1 = require("./RenderMapTool.output.schema.js");
|
|
11
12
|
const storeMapPayload_js_1 = require("../../utils/storeMapPayload.js");
|
|
@@ -39,6 +40,13 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
|
|
|
39
40
|
'result + a route) onto one map. ' +
|
|
40
41
|
'Inline `layers`/`markers`/`legend` fields are also supported for ' +
|
|
41
42
|
'hand-composed payloads from raw GeoJSON. ' +
|
|
43
|
+
'To restyle the base map itself (e.g. "make the water red", switch to night ' +
|
|
44
|
+
'lighting, hide POI labels) pass `baseMapConfig`. To switch to satellite ' +
|
|
45
|
+
'imagery, pass `baseStyle: "standard-satellite"` (defaults to "standard"). ' +
|
|
46
|
+
'Every call is a fresh render — it does not accumulate state — so to ' +
|
|
47
|
+
'restyle an already-drawn map without losing its content, re-pass the ' +
|
|
48
|
+
'same `payload_refs`/`layers` alongside `baseMapConfig`/`baseStyle` rather ' +
|
|
49
|
+
'than sending them alone. ' +
|
|
42
50
|
'Invoke this as the FINAL step whenever a tool returned `mapboxRender` data.';
|
|
43
51
|
annotations = {
|
|
44
52
|
title: 'Render Map',
|
|
@@ -47,15 +55,7 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
|
|
|
47
55
|
idempotentHint: true,
|
|
48
56
|
openWorldHint: false
|
|
49
57
|
};
|
|
50
|
-
meta
|
|
51
|
-
ui: {
|
|
52
|
-
resourceUri: 'ui://mapbox/map-app/index.html',
|
|
53
|
-
csp: {
|
|
54
|
-
connectDomains: ['https://*.mapbox.com', 'https://events.mapbox.com'],
|
|
55
|
-
resourceDomains: ['https://api.mapbox.com']
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
};
|
|
58
|
+
meta;
|
|
59
59
|
httpRequest;
|
|
60
60
|
apiEndpoint;
|
|
61
61
|
constructor(params) {
|
|
@@ -67,18 +67,32 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
|
|
|
67
67
|
this.apiEndpoint =
|
|
68
68
|
params.apiEndpoint ??
|
|
69
69
|
(() => process.env.MAPBOX_API_ENDPOINT || 'https://api.mapbox.com/');
|
|
70
|
+
this.meta = {
|
|
71
|
+
ui: {
|
|
72
|
+
resourceUri: 'ui://mapbox/map-app/index.html',
|
|
73
|
+
csp: (0, mapAppCsp_js_1.mapAppCsp)(this.apiEndpoint())
|
|
74
|
+
}
|
|
75
|
+
};
|
|
70
76
|
}
|
|
71
77
|
async run(rawInput,
|
|
72
78
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
73
79
|
extra) {
|
|
74
80
|
const accessToken = extra?.authInfo?.token || process.env.MAPBOX_ACCESS_TOKEN;
|
|
75
|
-
const owner =
|
|
81
|
+
const owner = (0, jwtUtils_js_1.getOwnerKeyFromToken)(accessToken);
|
|
76
82
|
const toolContext = (0, tracing_js_1.createLocalToolExecutionContext)(this.name, 0);
|
|
77
83
|
return await api_1.context.with(api_1.trace.setSpan(api_1.context.active(), toolContext.span), async () => {
|
|
78
84
|
try {
|
|
79
85
|
const input = RenderMapTool_input_schema_js_1.RenderMapInputSchema.parse(rawInput);
|
|
80
86
|
const { payload, unresolvedRefs } = this.assemblePayload(input, owner);
|
|
81
|
-
|
|
87
|
+
// A summary/legend alone counts as renderable, so without this a
|
|
88
|
+
// call whose only data ref failed would still "succeed" and draw
|
|
89
|
+
// an empty globe under the summary — and the LLM, seeing success,
|
|
90
|
+
// describes a map the user never got.
|
|
91
|
+
const nothingDrawable = unresolvedRefs.length > 0 &&
|
|
92
|
+
(payload?.layers?.length ?? 0) === 0 &&
|
|
93
|
+
(payload?.markers?.length ?? 0) === 0 &&
|
|
94
|
+
(payload?.selfFetch?.length ?? 0) === 0;
|
|
95
|
+
if (!payload || nothingDrawable) {
|
|
82
96
|
// A ref that fails to resolve is usually a payload that expired
|
|
83
97
|
// (30-minute TTL) or was created in a different process/session
|
|
84
98
|
// — e.g. the conversation was rehydrated and the LLM reused a
|
|
@@ -91,9 +105,10 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
|
|
|
91
105
|
type: 'text',
|
|
92
106
|
text: hadOnlyStaleRefs
|
|
93
107
|
? `RenderMapTool: none of the provided payload_refs could be resolved — ` +
|
|
94
|
-
`they've likely expired (temporary map data lasts ~30 minutes)
|
|
95
|
-
`to a different session. Re-run the tool(s) that produced
|
|
96
|
-
`
|
|
108
|
+
`they've likely expired (temporary map data lasts ~30 minutes), belong ` +
|
|
109
|
+
`to a different session, or are malformed. Re-run the tool(s) that produced ` +
|
|
110
|
+
`this data and pass their mapboxRender.ref values verbatim, then call ` +
|
|
111
|
+
`render_map_tool again.`
|
|
97
112
|
: 'RenderMapTool: nothing to render. Pass either `payload_refs` or inline `layers`/`markers`.'
|
|
98
113
|
}
|
|
99
114
|
],
|
|
@@ -105,7 +120,7 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
|
|
|
105
120
|
const selfFetchCount = payload.selfFetch?.length ?? 0;
|
|
106
121
|
const staleNote = unresolvedRefs.length > 0
|
|
107
122
|
? ` (Note: ${unresolvedRefs.length} payload ref${unresolvedRefs.length === 1 ? '' : 's'} ` +
|
|
108
|
-
`could not be resolved — likely expired — and ${unresolvedRefs.length === 1 ? 'was' : 'were'} ` +
|
|
123
|
+
`could not be resolved — likely expired or malformed — and ${unresolvedRefs.length === 1 ? 'was' : 'were'} ` +
|
|
109
124
|
`skipped. Re-run the source tool(s) if that data should be included.)`
|
|
110
125
|
: '';
|
|
111
126
|
// Self-fetched layers (e.g. a directions route) aren't counted
|
|
@@ -114,10 +129,14 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
|
|
|
114
129
|
const selfFetchNote = selfFetchCount > 0
|
|
115
130
|
? ` The map will also fetch and draw ${selfFetchCount} additional layer${selfFetchCount === 1 ? '' : 's'} directly from the Mapbox API once it loads.`
|
|
116
131
|
: '';
|
|
132
|
+
const baseMapConfigNote = payload.baseMapConfig || payload.baseStyle
|
|
133
|
+
? ' Updated the base map style.'
|
|
134
|
+
: '';
|
|
117
135
|
const text = `Rendered map with ${layerCount} layer${layerCount === 1 ? '' : 's'}` +
|
|
118
136
|
` and ${markerCount} marker${markerCount === 1 ? '' : 's'}` +
|
|
119
137
|
(payload.summary ? ` — ${payload.summary}` : '') +
|
|
120
138
|
'.' +
|
|
139
|
+
baseMapConfigNote +
|
|
121
140
|
selfFetchNote +
|
|
122
141
|
staleNote;
|
|
123
142
|
// Claude Desktop strips structuredContent from MCP App iframe
|
|
@@ -222,23 +241,36 @@ class RenderMapTool extends BaseTool_js_1.BaseTool {
|
|
|
222
241
|
markers: input.markers,
|
|
223
242
|
legend: input.legend,
|
|
224
243
|
camera: input.camera,
|
|
225
|
-
summary: input.summary
|
|
244
|
+
summary: input.summary,
|
|
245
|
+
baseMapConfig: input.baseMapConfig,
|
|
246
|
+
baseStyle: input.baseStyle
|
|
226
247
|
};
|
|
227
248
|
const hasInlineContent = (inline.layers && inline.layers.length > 0) ||
|
|
228
249
|
(inline.markers && inline.markers.length > 0);
|
|
229
250
|
const all = [...fromRefs];
|
|
230
|
-
|
|
251
|
+
// baseMapConfig/baseStyle-only calls (e.g. "now turn the water red" or
|
|
252
|
+
// "switch to satellite" with no new data) are renderable on their own —
|
|
253
|
+
// treated like summary/legend.
|
|
254
|
+
if (hasInlineContent ||
|
|
255
|
+
inline.summary ||
|
|
256
|
+
inline.legend ||
|
|
257
|
+
inline.baseMapConfig ||
|
|
258
|
+
inline.baseStyle)
|
|
231
259
|
all.push(inline);
|
|
232
260
|
if (all.length === 0)
|
|
233
261
|
return { payload: null, unresolvedRefs };
|
|
234
262
|
const merged = (0, storeMapPayload_js_1.mergeMapPayloads)(all);
|
|
235
|
-
// Inline summary/camera/legend take precedence when provided.
|
|
263
|
+
// Inline summary/camera/legend/baseMapConfig/baseStyle take precedence when provided.
|
|
236
264
|
if (input.summary)
|
|
237
265
|
merged.summary = input.summary;
|
|
238
266
|
if (input.camera)
|
|
239
267
|
merged.camera = inline.camera;
|
|
240
268
|
if (input.legend)
|
|
241
269
|
merged.legend = input.legend;
|
|
270
|
+
if (input.baseMapConfig)
|
|
271
|
+
merged.baseMapConfig = input.baseMapConfig;
|
|
272
|
+
if (input.baseStyle)
|
|
273
|
+
merged.baseStyle = input.baseStyle;
|
|
242
274
|
return { payload: merged, unresolvedRefs };
|
|
243
275
|
}
|
|
244
276
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderMapTool.js","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,4CAAoE;AAEpE,uDAAyE;AACzE,gDAA0C;
|
|
1
|
+
{"version":3,"file":"RenderMapTool.js","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.ts"],"names":[],"mappings":"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"}
|