@mapbox/mcp-server 0.17.0-dev.1 → 0.17.0-dev.2
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/dist/commonjs/resources/BaseResource.d.ts +7 -0
- package/dist/commonjs/resources/BaseResource.d.ts.map +1 -1
- package/dist/commonjs/resources/BaseResource.js +13 -2
- package/dist/commonjs/resources/BaseResource.js.map +1 -1
- package/dist/commonjs/resources/category-list/CategoryListResource.d.ts +7 -2
- package/dist/commonjs/resources/category-list/CategoryListResource.d.ts.map +1 -1
- package/dist/commonjs/resources/category-list/CategoryListResource.js +14 -4
- package/dist/commonjs/resources/category-list/CategoryListResource.js.map +1 -1
- package/dist/commonjs/resources/place-photo/PlacePhotoResource.d.ts +1 -1
- package/dist/commonjs/resources/place-photo/PlacePhotoResource.js +2 -2
- package/dist/commonjs/resources/place-photo/PlacePhotoResource.js.map +1 -1
- package/dist/commonjs/resources/resourceRegistry.d.ts +2 -1
- package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -1
- package/dist/commonjs/resources/resourceRegistry.js +10 -5
- package/dist/commonjs/resources/resourceRegistry.js.map +1 -1
- package/dist/commonjs/resources/tool-response/ToolResponseResource.d.ts +6 -5
- package/dist/commonjs/resources/tool-response/ToolResponseResource.d.ts.map +1 -1
- package/dist/commonjs/resources/tool-response/ToolResponseResource.js +29 -5
- package/dist/commonjs/resources/tool-response/ToolResponseResource.js.map +1 -1
- package/dist/commonjs/resources/ui-apps/StaticMapViewerUIResource.d.ts +28 -0
- package/dist/commonjs/resources/ui-apps/StaticMapViewerUIResource.d.ts.map +1 -0
- package/dist/commonjs/resources/ui-apps/StaticMapViewerUIResource.js +64 -0
- package/dist/commonjs/resources/ui-apps/StaticMapViewerUIResource.js.map +1 -0
- package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
- package/dist/commonjs/resources/ui-apps/mapAppHtml.js +936 -223
- package/dist/commonjs/resources/ui-apps/mapAppHtml.js.map +1 -1
- package/dist/commonjs/resources/ui-apps/staticMapViewerHtml.d.ts +17 -0
- package/dist/commonjs/resources/ui-apps/staticMapViewerHtml.d.ts.map +1 -0
- package/dist/commonjs/resources/ui-apps/staticMapViewerHtml.js +180 -0
- package/dist/commonjs/resources/ui-apps/staticMapViewerHtml.js.map +1 -0
- 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 +1 -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 +10 -6
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -1
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.js +26 -12
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.js.map +1 -1
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts +1 -0
- package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -1
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js +43 -9
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts +8 -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 +113 -90
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/buildStaticMapRequestUrl.d.ts +23 -0
- package/dist/commonjs/tools/static-map-image-tool/buildStaticMapRequestUrl.d.ts.map +1 -0
- package/dist/commonjs/tools/static-map-image-tool/buildStaticMapRequestUrl.js +84 -0
- package/dist/commonjs/tools/static-map-image-tool/buildStaticMapRequestUrl.js.map +1 -0
- package/dist/commonjs/utils/mapAppPayload.d.ts +15 -6
- package/dist/commonjs/utils/mapAppPayload.d.ts.map +1 -1
- package/dist/commonjs/utils/mapAppPayload.js +2 -1
- package/dist/commonjs/utils/mapAppPayload.js.map +1 -1
- package/dist/commonjs/utils/mapboxPublicToken.d.ts +5 -1
- package/dist/commonjs/utils/mapboxPublicToken.d.ts.map +1 -1
- package/dist/commonjs/utils/mapboxPublicToken.js +6 -1
- package/dist/commonjs/utils/mapboxPublicToken.js.map +1 -1
- package/dist/commonjs/utils/responseRef.d.ts +1 -1
- package/dist/commonjs/utils/responseRef.d.ts.map +1 -1
- package/dist/commonjs/utils/responseRef.js +1 -1
- package/dist/commonjs/utils/responseRef.js.map +1 -1
- package/dist/commonjs/version.json +3 -3
- package/dist/esm/resources/BaseResource.d.ts +7 -0
- package/dist/esm/resources/BaseResource.d.ts.map +1 -1
- package/dist/esm/resources/BaseResource.js +13 -2
- package/dist/esm/resources/BaseResource.js.map +1 -1
- package/dist/esm/resources/category-list/CategoryListResource.d.ts +7 -2
- package/dist/esm/resources/category-list/CategoryListResource.d.ts.map +1 -1
- package/dist/esm/resources/category-list/CategoryListResource.js +14 -4
- package/dist/esm/resources/category-list/CategoryListResource.js.map +1 -1
- package/dist/esm/resources/place-photo/PlacePhotoResource.d.ts +1 -1
- package/dist/esm/resources/place-photo/PlacePhotoResource.js +2 -2
- package/dist/esm/resources/place-photo/PlacePhotoResource.js.map +1 -1
- package/dist/esm/resources/resourceRegistry.d.ts +2 -1
- package/dist/esm/resources/resourceRegistry.d.ts.map +1 -1
- package/dist/esm/resources/resourceRegistry.js +10 -5
- package/dist/esm/resources/resourceRegistry.js.map +1 -1
- package/dist/esm/resources/tool-response/ToolResponseResource.d.ts +6 -5
- package/dist/esm/resources/tool-response/ToolResponseResource.d.ts.map +1 -1
- package/dist/esm/resources/tool-response/ToolResponseResource.js +29 -5
- package/dist/esm/resources/tool-response/ToolResponseResource.js.map +1 -1
- package/dist/esm/resources/ui-apps/StaticMapViewerUIResource.d.ts +28 -0
- package/dist/esm/resources/ui-apps/StaticMapViewerUIResource.d.ts.map +1 -0
- package/dist/esm/resources/ui-apps/StaticMapViewerUIResource.js +59 -0
- package/dist/esm/resources/ui-apps/StaticMapViewerUIResource.js.map +1 -0
- package/dist/esm/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
- package/dist/esm/resources/ui-apps/mapAppHtml.js +936 -223
- package/dist/esm/resources/ui-apps/mapAppHtml.js.map +1 -1
- package/dist/esm/resources/ui-apps/staticMapViewerHtml.d.ts +17 -0
- package/dist/esm/resources/ui-apps/staticMapViewerHtml.d.ts.map +1 -0
- package/dist/esm/resources/ui-apps/staticMapViewerHtml.js +177 -0
- package/dist/esm/resources/ui-apps/staticMapViewerHtml.js.map +1 -0
- 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 +1 -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 +10 -6
- package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -1
- package/dist/esm/tools/render-map-tool/RenderMapTool.js +26 -12
- package/dist/esm/tools/render-map-tool/RenderMapTool.js.map +1 -1
- package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts +1 -0
- package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -1
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js +43 -9
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +8 -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 +114 -91
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/esm/tools/static-map-image-tool/buildStaticMapRequestUrl.d.ts +23 -0
- package/dist/esm/tools/static-map-image-tool/buildStaticMapRequestUrl.d.ts.map +1 -0
- package/dist/esm/tools/static-map-image-tool/buildStaticMapRequestUrl.js +78 -0
- package/dist/esm/tools/static-map-image-tool/buildStaticMapRequestUrl.js.map +1 -0
- package/dist/esm/utils/mapAppPayload.d.ts +15 -6
- package/dist/esm/utils/mapAppPayload.d.ts.map +1 -1
- package/dist/esm/utils/mapAppPayload.js +2 -1
- package/dist/esm/utils/mapAppPayload.js.map +1 -1
- package/dist/esm/utils/mapboxPublicToken.d.ts +5 -1
- package/dist/esm/utils/mapboxPublicToken.d.ts.map +1 -1
- package/dist/esm/utils/mapboxPublicToken.js +6 -1
- package/dist/esm/utils/mapboxPublicToken.js.map +1 -1
- package/dist/esm/utils/responseRef.d.ts +1 -1
- package/dist/esm/utils/responseRef.d.ts.map +1 -1
- package/dist/esm/utils/responseRef.js +1 -1
- package/dist/esm/utils/responseRef.js.map +1 -1
- package/dist/esm/version.json +3 -3
- package/package.json +1 -1
|
@@ -6,24 +6,15 @@ exports.StaticMapImageTool = void 0;
|
|
|
6
6
|
const node_crypto_1 = require("node:crypto");
|
|
7
7
|
const MapboxApiBasedTool_js_1 = require("../MapboxApiBasedTool.js");
|
|
8
8
|
const StaticMapImageTool_input_schema_js_1 = require("./StaticMapImageTool.input.schema.js");
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
9
|
+
const responseRef_js_1 = require("../../utils/responseRef.js");
|
|
10
|
+
const buildStaticMapRequestUrl_js_1 = require("./buildStaticMapRequestUrl.js");
|
|
11
|
+
const mapboxPublicToken_js_1 = require("../../utils/mapboxPublicToken.js");
|
|
12
|
+
const server_1 = require("@modelcontextprotocol/ext-apps/server");
|
|
13
|
+
const StaticMapViewerUIResource_js_1 = require("../../resources/ui-apps/StaticMapViewerUIResource.js");
|
|
14
|
+
// Images larger than this threshold get a `mapbox://response/` ref instead
|
|
12
15
|
// of being inlined as base64, to avoid exceeding Claude Desktop's 1MB tool
|
|
13
16
|
// result limit. base64 adds ~33% overhead, so 700KB raw ≈ 933KB encoded.
|
|
14
17
|
const IMAGE_INLINE_THRESHOLD = 700 * 1024; // 700KB
|
|
15
|
-
// encodeURIComponent leaves (, ), !, ', and * unescaped (they're valid in a
|
|
16
|
-
// URI component per RFC 3986's "unreserved" carve-out from the older
|
|
17
|
-
// escape() behaviour). Every overlay value below is embedded inside a
|
|
18
|
-
// path segment delimited by literal parentheses (e.g. `url-<value>(lon,lat)`,
|
|
19
|
-
// `geojson(<value>)`), so a raw `)` in the value can terminate that segment
|
|
20
|
-
// early from the Static Images API's own overlay-syntax parser's point of
|
|
21
|
-
// view, even though this value already passed URL/JSON validation on our
|
|
22
|
-
// side. Escape those characters explicitly so both parsers agree on where
|
|
23
|
-
// the value actually ends.
|
|
24
|
-
function encodeOverlayComponent(value) {
|
|
25
|
-
return encodeURIComponent(value).replace(/[()!'*]/g, (c) => '%' + c.charCodeAt(0).toString(16).toUpperCase());
|
|
26
|
-
}
|
|
27
18
|
class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
28
19
|
name = 'static_map_image_tool';
|
|
29
20
|
description = 'Generates a static map image from Mapbox Static Images API. Supports center coordinates, zoom level (0-22), image size (up to 1280x1280), various Mapbox styles, and overlays (markers, paths, GeoJSON). Returns PNG for vector styles, JPEG for raster-only styles. Use only when the user explicitly asks for a static image file — to show a map, use render_map_tool instead, which renders an interactive map.';
|
|
@@ -34,72 +25,35 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
|
34
25
|
idempotentHint: true,
|
|
35
26
|
openWorldHint: true
|
|
36
27
|
};
|
|
28
|
+
// MCP Apps hosts show the image at full width in this viewer instead of as
|
|
29
|
+
// a thumbnail. The result is the same either way, so hosts without MCP
|
|
30
|
+
// Apps still get the image item and the link.
|
|
31
|
+
meta = {
|
|
32
|
+
ui: {
|
|
33
|
+
resourceUri: StaticMapViewerUIResource_js_1.STATIC_MAP_VIEWER_URI,
|
|
34
|
+
csp: (0, StaticMapViewerUIResource_js_1.staticMapViewerCsp)(MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint)
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
37
|
constructor(params) {
|
|
38
38
|
super({
|
|
39
39
|
inputSchema: StaticMapImageTool_input_schema_js_1.StaticMapImageInputSchema,
|
|
40
40
|
httpRequest: params.httpRequest
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
encodeOverlay(overlay) {
|
|
44
|
-
switch (overlay.type) {
|
|
45
|
-
case 'marker': {
|
|
46
|
-
const size = overlay.size === 'large' ? 'pin-l' : 'pin-s';
|
|
47
|
-
let marker = size;
|
|
48
|
-
if (overlay.label) {
|
|
49
|
-
marker += `-${overlay.label}`;
|
|
50
|
-
}
|
|
51
|
-
if (overlay.color) {
|
|
52
|
-
marker += `+${overlay.color}`;
|
|
53
|
-
}
|
|
54
|
-
return `${marker}(${overlay.longitude},${overlay.latitude})`;
|
|
55
|
-
}
|
|
56
|
-
case 'custom-marker': {
|
|
57
|
-
const encodedUrl = encodeOverlayComponent(overlay.url);
|
|
58
|
-
return `url-${encodedUrl}(${overlay.longitude},${overlay.latitude})`;
|
|
59
|
-
}
|
|
60
|
-
case 'path': {
|
|
61
|
-
let path = `path-${overlay.strokeWidth}`;
|
|
62
|
-
if (overlay.strokeColor) {
|
|
63
|
-
path += `+${overlay.strokeColor}`;
|
|
64
|
-
if (overlay.strokeOpacity !== undefined) {
|
|
65
|
-
path += `-${overlay.strokeOpacity}`;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
if (overlay.fillColor) {
|
|
69
|
-
path += `+${overlay.fillColor}`;
|
|
70
|
-
if (overlay.fillOpacity !== undefined) {
|
|
71
|
-
path += `-${overlay.fillOpacity}`;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
// URL encode the polyline to handle special characters
|
|
75
|
-
return `${path}(${encodeOverlayComponent(overlay.encodedPolyline)})`;
|
|
76
|
-
}
|
|
77
|
-
case 'geojson': {
|
|
78
|
-
const geojsonString = JSON.stringify(overlay.data);
|
|
79
|
-
return `geojson(${encodeOverlayComponent(geojsonString)})`;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
43
|
async execute(input, accessToken) {
|
|
84
|
-
const { longitude: lng, latitude: lat } = input.center;
|
|
85
44
|
const { width, height } = input.size;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
.split('/')
|
|
97
|
-
.map(encodeURIComponent)
|
|
98
|
-
.join('/');
|
|
99
|
-
const publicUrl = `${MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint}styles/v1/${encodedStyle}/static/${overlayString}${lng},${lat},${input.zoom}/${width}x${height}${density}`;
|
|
100
|
-
const url = `${publicUrl}?access_token=${accessToken}`;
|
|
45
|
+
const apiEndpoint = MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint;
|
|
46
|
+
// The input the returned image was rendered from: the 1x fallback below
|
|
47
|
+
// swaps it, so a mapbox://response/ ref renders the same image again.
|
|
48
|
+
let rendered = input;
|
|
49
|
+
const requested = (0, buildStaticMapRequestUrl_js_1.buildStaticMapRequestUrl)({
|
|
50
|
+
input,
|
|
51
|
+
accessToken,
|
|
52
|
+
apiEndpoint
|
|
53
|
+
});
|
|
54
|
+
let publicUrl = requested.publicUrl;
|
|
101
55
|
// Fetch image
|
|
102
|
-
const response = await this.httpRequest(url);
|
|
56
|
+
const response = await this.httpRequest(requested.url);
|
|
103
57
|
if (!response.ok) {
|
|
104
58
|
const errorMessage = await this.getErrorMessage(response);
|
|
105
59
|
return {
|
|
@@ -107,29 +61,98 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
|
107
61
|
isError: true
|
|
108
62
|
};
|
|
109
63
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
//
|
|
64
|
+
let buffer = await response.arrayBuffer();
|
|
65
|
+
// A 2x image is about three times the bytes of the same map at 1x (a
|
|
66
|
+
// 1000x800 streets map: 877KB vs 295KB). Rather than hand back a
|
|
67
|
+
// resource ref the host can't show (Codex showed no image at all),
|
|
68
|
+
// try the 1x image, which usually fits inline.
|
|
69
|
+
if (input.highDensity && buffer.byteLength > IMAGE_INLINE_THRESHOLD) {
|
|
70
|
+
const oneX = { ...input, highDensity: false };
|
|
71
|
+
const fallbackUrls = (0, buildStaticMapRequestUrl_js_1.buildStaticMapRequestUrl)({
|
|
72
|
+
input: oneX,
|
|
73
|
+
accessToken,
|
|
74
|
+
apiEndpoint
|
|
75
|
+
});
|
|
76
|
+
const fallback = await this.httpRequest(fallbackUrls.url);
|
|
77
|
+
if (fallback.ok) {
|
|
78
|
+
const fallbackBuffer = await fallback.arrayBuffer();
|
|
79
|
+
if (fallbackBuffer.byteLength < buffer.byteLength) {
|
|
80
|
+
buffer = fallbackBuffer;
|
|
81
|
+
rendered = oneX;
|
|
82
|
+
publicUrl = fallbackUrls.publicUrl;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const mimeType = (0, buildStaticMapRequestUrl_js_1.getStaticMapMimeType)(input.style);
|
|
87
|
+
// Hosts show the image from this result, but a model can't put it in its
|
|
88
|
+
// own reply, so it hands the user a URL instead or says "the map above"
|
|
89
|
+
// over nothing (Codex did both). Give it a link that works: the request
|
|
90
|
+
// URL with a public (pk.) token, never the
|
|
91
|
+
// access token used for the fetch (#201). The server's own
|
|
92
|
+
// MAPBOX_PUBLIC_TOKEN is only used when the caller runs on the server's
|
|
93
|
+
// own access token (a local install), so a hosted caller never gets it
|
|
94
|
+
// in their chat history. With no public token, say not to link the URL.
|
|
95
|
+
const inline = buffer.byteLength <= IMAGE_INLINE_THRESHOLD;
|
|
96
|
+
const publicToken = await (0, mapboxPublicToken_js_1.resolveMapboxPublicToken)({
|
|
97
|
+
accessToken,
|
|
98
|
+
apiEndpoint: MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint,
|
|
99
|
+
httpRequest: this.httpRequest,
|
|
100
|
+
allowEnvFallback: accessToken === MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxAccessToken
|
|
101
|
+
});
|
|
102
|
+
const describedSize = `${width}x${height}${publicUrl.endsWith('@2x') ? ' @2x' : ''}`;
|
|
103
|
+
const attached = `Static map image (${describedSize}, ${input.style}) is attached to this result, which is where the host shows it to the user. `;
|
|
104
|
+
// A client that supports MCP Apps shows the image at full size in the
|
|
105
|
+
// viewer (see StaticMapViewerUIResource), so a link in the reply would
|
|
106
|
+
// show it twice. Clients that don't say so (or a stateless server that
|
|
107
|
+
// never saw their initialize) get the link text.
|
|
108
|
+
const imageUrl = publicToken
|
|
109
|
+
? `${publicUrl}?access_token=${publicToken}`
|
|
110
|
+
: undefined;
|
|
111
|
+
const showsViewer = (inline || imageUrl !== undefined) &&
|
|
112
|
+
(0, server_1.getUiCapability)(this.activeServer?.server.getClientCapabilities())?.mimeTypes?.includes(server_1.RESOURCE_MIME_TYPE) === true;
|
|
113
|
+
const urlNote = showsViewer
|
|
114
|
+
? `Static map image (${describedSize}, ${input.style}) is shown to the user at full size in this tool's map viewer, so don't embed or link it again in your reply.` +
|
|
115
|
+
(imageUrl
|
|
116
|
+
? `\nIf the user asks for a link to the image, use this URL; it carries the account's public token: ${imageUrl}`
|
|
117
|
+
: '')
|
|
118
|
+
: imageUrl
|
|
119
|
+
? (inline
|
|
120
|
+
? attached + "Your reply can't include that attachment, and "
|
|
121
|
+
: 'The image is not attached, and ') +
|
|
122
|
+
// Neither Claude's UI nor Codex renders images from other domains
|
|
123
|
+
// in a reply (both left a broken image), so ask for a link.
|
|
124
|
+
"chat interfaces generally don't show images from external URLs, so don't embed this URL as a Markdown image. " +
|
|
125
|
+
"Give it as a link instead; it carries the account's public token, so it opens in a browser.\n" +
|
|
126
|
+
`Image URL: ${imageUrl}`
|
|
127
|
+
: inline
|
|
128
|
+
? attached +
|
|
129
|
+
"Don't link or embed the request URL below: it has no access token, so it won't load for the user. " +
|
|
130
|
+
'If they ask to see the map again, point them to this result or call this tool again.\n' +
|
|
131
|
+
`Request URL: ${publicUrl}`
|
|
132
|
+
: `Request URL (it has no access token, so don't link or embed it): ${publicUrl}`;
|
|
114
133
|
const content = [
|
|
115
|
-
{ type: 'text', text:
|
|
134
|
+
{ type: 'text', text: urlNote }
|
|
116
135
|
];
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
136
|
+
// Say so when the 1x fallback replaced the @2x image the caller asked
|
|
137
|
+
// for, so the model can tell the user. Its own item, so the first one
|
|
138
|
+
// still starts with the size (the viewer's alt text).
|
|
139
|
+
if (rendered !== input) {
|
|
140
|
+
content.push({
|
|
141
|
+
type: 'text',
|
|
142
|
+
text: 'The @2x image was too large to send, so this is the 1x image. For @2x, call this tool again with a smaller size.'
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
if (!inline) {
|
|
146
|
+
// Image is too large to inline safely. The ref carries the request's
|
|
147
|
+
// inputs, not the image, so any server process can answer a later
|
|
148
|
+
// read by rendering it again (see responseRef.ts).
|
|
149
|
+
const resourceUri = (0, responseRef_js_1.buildResponseRef)({
|
|
150
|
+
tool: 'static-map',
|
|
151
|
+
input: rendered
|
|
129
152
|
});
|
|
130
153
|
content.push({
|
|
131
154
|
type: 'text',
|
|
132
|
-
text: `⚠️ Image (${Math.round(buffer.byteLength / 1024)}KB)
|
|
155
|
+
text: `⚠️ Image (${Math.round(buffer.byteLength / 1024)}KB) is too large to return inline.\nRead ${resourceUri} with the MCP resource API to get it. Reading it renders the same image again.`
|
|
133
156
|
});
|
|
134
157
|
}
|
|
135
158
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticMapImageTool.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"StaticMapImageTool.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { StaticMapImageInputSchema, OverlaySchema } from './StaticMapImageTool.input.schema.js';
|
|
3
|
+
export declare function encodeOverlayComponent(value: string): string;
|
|
4
|
+
export declare function encodeOverlay(overlay: z.infer<typeof OverlaySchema>): string;
|
|
5
|
+
export declare function getStaticMapMimeType(style: string): 'image/jpeg' | 'image/png';
|
|
6
|
+
export interface StaticMapRequestUrls {
|
|
7
|
+
/** The request URL without the access token, safe to show the model. */
|
|
8
|
+
publicUrl: string;
|
|
9
|
+
/** The same URL with the access token, for the request itself. */
|
|
10
|
+
url: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Builds the Static Images API request for a given input. Shared by
|
|
14
|
+
* StaticMapImageTool and ToolResponseResource, which fetches a large image
|
|
15
|
+
* again from its `mapbox://response/` ref. The API renders the same image
|
|
16
|
+
* for the same parameters, so the two requests return the same bytes.
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildStaticMapRequestUrl(params: {
|
|
19
|
+
input: z.infer<typeof StaticMapImageInputSchema>;
|
|
20
|
+
accessToken: string;
|
|
21
|
+
apiEndpoint: string;
|
|
22
|
+
}): StaticMapRequestUrls;
|
|
23
|
+
//# sourceMappingURL=buildStaticMapRequestUrl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildStaticMapRequestUrl.d.ts","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/buildStaticMapRequestUrl.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,yBAAyB,EACzB,aAAa,EACd,MAAM,sCAAsC,CAAC;AAW9C,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK5D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,MAAM,CAgD5E;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,GACZ,YAAY,GAAG,WAAW,CAE5B;AAED,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,oBAAoB,CAgBvB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Mapbox, Inc.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.encodeOverlayComponent = encodeOverlayComponent;
|
|
6
|
+
exports.encodeOverlay = encodeOverlay;
|
|
7
|
+
exports.getStaticMapMimeType = getStaticMapMimeType;
|
|
8
|
+
exports.buildStaticMapRequestUrl = buildStaticMapRequestUrl;
|
|
9
|
+
// encodeURIComponent leaves (, ), !, ', and * unescaped (they're valid in a
|
|
10
|
+
// URI component per RFC 3986's "unreserved" carve-out from the older
|
|
11
|
+
// escape() behaviour). Every overlay value below is embedded inside a
|
|
12
|
+
// path segment delimited by literal parentheses (e.g. `url-<value>(lon,lat)`,
|
|
13
|
+
// `geojson(<value>)`), so a raw `)` in the value can terminate that segment
|
|
14
|
+
// early from the Static Images API's own overlay-syntax parser's point of
|
|
15
|
+
// view, even though this value already passed URL/JSON validation on our
|
|
16
|
+
// side. Escape those characters explicitly so both parsers agree on where
|
|
17
|
+
// the value actually ends.
|
|
18
|
+
function encodeOverlayComponent(value) {
|
|
19
|
+
return encodeURIComponent(value).replace(/[()!'*]/g, (c) => '%' + c.charCodeAt(0).toString(16).toUpperCase());
|
|
20
|
+
}
|
|
21
|
+
function encodeOverlay(overlay) {
|
|
22
|
+
switch (overlay.type) {
|
|
23
|
+
case 'marker': {
|
|
24
|
+
const size = overlay.size === 'large' ? 'pin-l' : 'pin-s';
|
|
25
|
+
let marker = size;
|
|
26
|
+
if (overlay.label) {
|
|
27
|
+
marker += `-${overlay.label}`;
|
|
28
|
+
}
|
|
29
|
+
if (overlay.color) {
|
|
30
|
+
marker += `+${overlay.color}`;
|
|
31
|
+
}
|
|
32
|
+
return `${marker}(${overlay.longitude},${overlay.latitude})`;
|
|
33
|
+
}
|
|
34
|
+
case 'custom-marker': {
|
|
35
|
+
const encodedUrl = encodeOverlayComponent(overlay.url);
|
|
36
|
+
return `url-${encodedUrl}(${overlay.longitude},${overlay.latitude})`;
|
|
37
|
+
}
|
|
38
|
+
case 'path': {
|
|
39
|
+
let path = `path-${overlay.strokeWidth}`;
|
|
40
|
+
if (overlay.strokeColor) {
|
|
41
|
+
path += `+${overlay.strokeColor}`;
|
|
42
|
+
if (overlay.strokeOpacity !== undefined) {
|
|
43
|
+
path += `-${overlay.strokeOpacity}`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (overlay.fillColor) {
|
|
47
|
+
path += `+${overlay.fillColor}`;
|
|
48
|
+
if (overlay.fillOpacity !== undefined) {
|
|
49
|
+
path += `-${overlay.fillOpacity}`;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// URL encode the polyline to handle special characters
|
|
53
|
+
return `${path}(${encodeOverlayComponent(overlay.encodedPolyline)})`;
|
|
54
|
+
}
|
|
55
|
+
case 'geojson': {
|
|
56
|
+
const geojsonString = JSON.stringify(overlay.data);
|
|
57
|
+
return `geojson(${encodeOverlayComponent(geojsonString)})`;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function getStaticMapMimeType(style) {
|
|
62
|
+
return style.includes('satellite') ? 'image/jpeg' : 'image/png';
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Builds the Static Images API request for a given input. Shared by
|
|
66
|
+
* StaticMapImageTool and ToolResponseResource, which fetches a large image
|
|
67
|
+
* again from its `mapbox://response/` ref. The API renders the same image
|
|
68
|
+
* for the same parameters, so the two requests return the same bytes.
|
|
69
|
+
*/
|
|
70
|
+
function buildStaticMapRequestUrl(params) {
|
|
71
|
+
const { input, accessToken, apiEndpoint } = params;
|
|
72
|
+
const { longitude: lng, latitude: lat } = input.center;
|
|
73
|
+
const { width, height } = input.size;
|
|
74
|
+
let overlayString = '';
|
|
75
|
+
if (input.overlays && input.overlays.length > 0) {
|
|
76
|
+
overlayString = input.overlays.map(encodeOverlay).join(',') + '/';
|
|
77
|
+
}
|
|
78
|
+
const density = input.highDensity ? '@2x' : '';
|
|
79
|
+
const encodedStyle = input.style.split('/').map(encodeURIComponent).join('/');
|
|
80
|
+
const publicUrl = `${apiEndpoint}styles/v1/${encodedStyle}/static/${overlayString}${lng},${lat},${input.zoom}/${width}x${height}${density}`;
|
|
81
|
+
const url = `${publicUrl}?access_token=${accessToken}`;
|
|
82
|
+
return { publicUrl, url };
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=buildStaticMapRequestUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildStaticMapRequestUrl.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/buildStaticMapRequestUrl.ts"],"names":[],"mappings":"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"}
|
|
@@ -118,18 +118,21 @@ export interface MapAppMarker {
|
|
|
118
118
|
* A Mapbox POI's `mapbox_id` (e.g. the "Mapbox ID" field printed by
|
|
119
119
|
* category_search_tool/search_and_geocode_tool's text output, or a
|
|
120
120
|
* self-fetched search result's own id). Setting this gets the marker a
|
|
121
|
-
*
|
|
121
|
+
* card in the map's results carousel, which the iframe then enriches
|
|
122
122
|
* with a popularity score and photo via a batched Place Details lookup
|
|
123
123
|
* (see mapAppHtml.ts's maybeShowSidePanel/fetchPlaceDetailsBatch) — the
|
|
124
|
-
* same
|
|
125
|
-
* now also available for hand-composed markers.
|
|
124
|
+
* same card search/category-search results already get automatically,
|
|
125
|
+
* now also available for hand-composed markers. With no `style`/`label`
|
|
126
|
+
* of its own, such a marker is drawn as a white place pin with a Maki
|
|
127
|
+
* icon picked from `category` (self-fetched search results use the
|
|
128
|
+
* Maki name Search Box gives each result).
|
|
126
129
|
*/
|
|
127
130
|
id?: string;
|
|
128
|
-
/** Display name for the
|
|
131
|
+
/** Display name for the results carousel card. Only used when `id` is also set; falls back to "Result N" if omitted. */
|
|
129
132
|
name?: string;
|
|
130
|
-
/** Category shown in the
|
|
133
|
+
/** Category shown in the results carousel card (e.g. "Coffee Shop"), also used to pick the pin's icon. Only used when `id` is also set. */
|
|
131
134
|
category?: string;
|
|
132
|
-
/** Distance in meters, shown in the
|
|
135
|
+
/** Distance in meters, shown in the results carousel card. Only used when `id` is also set. */
|
|
133
136
|
distanceMeters?: number;
|
|
134
137
|
}
|
|
135
138
|
export interface MapAppLegendEntry {
|
|
@@ -185,6 +188,11 @@ export interface MapAppPayload {
|
|
|
185
188
|
baseMapConfig?: MapAppBaseMapConfig;
|
|
186
189
|
/** Which Mapbox-owned base style to load; defaults to `standard`. */
|
|
187
190
|
baseStyle?: MapAppBaseStyle;
|
|
191
|
+
/**
|
|
192
|
+
* Live traffic congestion over the base map. Left out, the map keeps
|
|
193
|
+
* whatever the user picked with its Traffic button.
|
|
194
|
+
*/
|
|
195
|
+
showTraffic?: boolean;
|
|
188
196
|
}
|
|
189
197
|
export declare const MapAppPayloadSchema: z.ZodObject<{
|
|
190
198
|
summary: z.ZodOptional<z.ZodString>;
|
|
@@ -315,6 +323,7 @@ export declare const MapAppPayloadSchema: z.ZodObject<{
|
|
|
315
323
|
standard: "standard";
|
|
316
324
|
"standard-satellite": "standard-satellite";
|
|
317
325
|
}>>;
|
|
326
|
+
showTraffic: z.ZodOptional<z.ZodBoolean>;
|
|
318
327
|
}, z.core.$strip>;
|
|
319
328
|
/**
|
|
320
329
|
* Decode a Mapbox polyline string (precision 5 by default) to a GeoJSON
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapAppPayload.d.ts","sourceRoot":"","sources":["../../../src/utils/mapAppPayload.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mapAppPayload.d.ts","sourceRoot":"","sources":["../../../src/utils/mapAppPayload.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,7 +111,8 @@ exports.MapAppPayloadSchema = zod_1.z.object({
|
|
|
111
111
|
camera: MapAppCameraSchema.optional(),
|
|
112
112
|
selfFetch: zod_1.z.array(MapAppSelfFetchSchema).optional(),
|
|
113
113
|
baseMapConfig: MapAppBaseMapConfigSchema.optional(),
|
|
114
|
-
baseStyle: zod_1.z.enum(['standard', 'standard-satellite']).optional()
|
|
114
|
+
baseStyle: zod_1.z.enum(['standard', 'standard-satellite']).optional(),
|
|
115
|
+
showTraffic: zod_1.z.boolean().optional()
|
|
115
116
|
});
|
|
116
117
|
/**
|
|
117
118
|
* Decode a Mapbox polyline string (precision 5 by default) to a GeoJSON
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapAppPayload.js","sourceRoot":"","sources":["../../../src/utils/mapAppPayload.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;
|
|
1
|
+
{"version":3,"file":"mapAppPayload.js","sourceRoot":"","sources":["../../../src/utils/mapAppPayload.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,10 @@ import type { HttpRequest } from './types.js';
|
|
|
11
11
|
* token (requires `tokens:read` scope on the bearer). OAuth-issued bearers
|
|
12
12
|
* are tk.* temporary tokens, so this is the path exercised in hosted
|
|
13
13
|
* (OAuth) deployments — without it, granting `tokens:read` has no effect.
|
|
14
|
-
* 4. Fall back to the MAPBOX_PUBLIC_TOKEN env var
|
|
14
|
+
* 4. Fall back to the MAPBOX_PUBLIC_TOKEN env var, unless `allowEnvFallback`
|
|
15
|
+
* is false. That token belongs to whoever runs the server, so a caller
|
|
16
|
+
* that puts the token somewhere users keep (e.g. a URL in chat history)
|
|
17
|
+
* should only allow it for the server's own access token.
|
|
15
18
|
*
|
|
16
19
|
* Returns undefined if none of the above produces a pk.* token.
|
|
17
20
|
*/
|
|
@@ -19,6 +22,7 @@ export declare function resolveMapboxPublicToken(params: {
|
|
|
19
22
|
accessToken: string;
|
|
20
23
|
apiEndpoint: string;
|
|
21
24
|
httpRequest: HttpRequest;
|
|
25
|
+
allowEnvFallback?: boolean;
|
|
22
26
|
}): Promise<string | undefined>;
|
|
23
27
|
/**
|
|
24
28
|
* Reset the cached public token(s). For tests only.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapboxPublicToken.d.ts","sourceRoot":"","sources":["../../../src/utils/mapboxPublicToken.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmB9C
|
|
1
|
+
{"version":3,"file":"mapboxPublicToken.d.ts","sourceRoot":"","sources":["../../../src/utils/mapboxPublicToken.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmB9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA4D9B;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD"}
|
|
@@ -21,7 +21,10 @@ const publicTokenCache = new Map();
|
|
|
21
21
|
* token (requires `tokens:read` scope on the bearer). OAuth-issued bearers
|
|
22
22
|
* are tk.* temporary tokens, so this is the path exercised in hosted
|
|
23
23
|
* (OAuth) deployments — without it, granting `tokens:read` has no effect.
|
|
24
|
-
* 4. Fall back to the MAPBOX_PUBLIC_TOKEN env var
|
|
24
|
+
* 4. Fall back to the MAPBOX_PUBLIC_TOKEN env var, unless `allowEnvFallback`
|
|
25
|
+
* is false. That token belongs to whoever runs the server, so a caller
|
|
26
|
+
* that puts the token somewhere users keep (e.g. a URL in chat history)
|
|
27
|
+
* should only allow it for the server's own access token.
|
|
25
28
|
*
|
|
26
29
|
* Returns undefined if none of the above produces a pk.* token.
|
|
27
30
|
*/
|
|
@@ -73,6 +76,8 @@ async function resolveMapboxPublicToken(params) {
|
|
|
73
76
|
}
|
|
74
77
|
}
|
|
75
78
|
}
|
|
79
|
+
if (params.allowEnvFallback === false)
|
|
80
|
+
return undefined;
|
|
76
81
|
const envFallback = process.env.MAPBOX_PUBLIC_TOKEN;
|
|
77
82
|
return envFallback && envFallback.startsWith('pk.') ? envFallback : undefined;
|
|
78
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapboxPublicToken.js","sourceRoot":"","sources":["../../../src/utils/mapboxPublicToken.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;
|
|
1
|
+
{"version":3,"file":"mapboxPublicToken.js","sourceRoot":"","sources":["../../../src/utils/mapboxPublicToken.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Tools whose full response can be read back through a response ref. */
|
|
2
|
-
declare const RESPONSE_TOOLS: readonly ["directions", "isochrone"];
|
|
2
|
+
declare const RESPONSE_TOOLS: readonly ["directions", "isochrone", "static-map"];
|
|
3
3
|
export type ResponseTool = (typeof RESPONSE_TOOLS)[number];
|
|
4
4
|
export interface ResponseRefSpec {
|
|
5
5
|
tool: ResponseTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responseRef.d.ts","sourceRoot":"","sources":["../../../src/utils/responseRef.ts"],"names":[],"mappings":"AAKA,yEAAyE;AACzE,QAAA,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"responseRef.d.ts","sourceRoot":"","sources":["../../../src/utils/responseRef.ts"],"names":[],"mappings":"AAKA,yEAAyE;AACzE,QAAA,MAAM,cAAc,oDAAqD,CAAC;AAC1E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAS9D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAgCtE"}
|
|
@@ -7,7 +7,7 @@ exports.isResponseRef = isResponseRef;
|
|
|
7
7
|
exports.resolveResponseRef = resolveResponseRef;
|
|
8
8
|
const RESPONSE_URI_PREFIX = 'mapbox://response/';
|
|
9
9
|
/** Tools whose full response can be read back through a response ref. */
|
|
10
|
-
const RESPONSE_TOOLS = ['directions', 'isochrone'];
|
|
10
|
+
const RESPONSE_TOOLS = ['directions', 'isochrone', 'static-map'];
|
|
11
11
|
/**
|
|
12
12
|
* Builds a short ref for a tool's full response, for when the response is
|
|
13
13
|
* too large to return inline.
|