@mapbox/mcp-server 0.14.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 +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/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/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
package/README.md
CHANGED
|
@@ -60,6 +60,17 @@ For detailed setup instructions for different integrations, refer to the followi
|
|
|
60
60
|
|
|
61
61
|
Try these prompts with Claude Desktop or other MCP clients after setup:
|
|
62
62
|
|
|
63
|
+
### Location Grounding
|
|
64
|
+
|
|
65
|
+
For coordinate-first queries — _"what's near me"_, _"what neighborhood is this"_, _"what's reachable in N minutes"_ — use `ground_location_tool`. It composes reverse geocoding, category search, and isochrone in a single call, adaptively choosing the right strategy based on the query, and returns typed records (names, addresses, coordinates, distances, reachability polygons) with citations.
|
|
66
|
+
|
|
67
|
+
Each of the four prompts below exercises a different strategy in one tool call:
|
|
68
|
+
|
|
69
|
+
- **Neighborhood** — _"What neighborhood is 47.6097, -122.3408, and what's around me?"_
|
|
70
|
+
- **POI** — _"Coffee shops within a 10-minute walk of 40.7580, -73.9855"_
|
|
71
|
+
- **Region** — _"What can I reach in a 15-minute walk from 37.7749, -122.4194?"_
|
|
72
|
+
- **Routing** — _"Closest routable point to drop someone off at 34.0522, -118.2437"_
|
|
73
|
+
|
|
63
74
|
### Location Discovery
|
|
64
75
|
|
|
65
76
|
- "Find coffee shops within walking distance of the Empire State Building"
|
package/dist/commonjs/index.js
CHANGED
|
@@ -20,6 +20,8 @@ const resourceRegistry_js_1 = require("./resources/resourceRegistry.js");
|
|
|
20
20
|
const promptRegistry_js_1 = require("./prompts/promptRegistry.js");
|
|
21
21
|
const index_js_1 = require("./completions/index.js");
|
|
22
22
|
const versionUtils_js_1 = require("./utils/versionUtils.js");
|
|
23
|
+
const jsonSchema2020_js_1 = require("./utils/jsonSchema2020.js");
|
|
24
|
+
const serverInstructions_js_1 = require("./utils/serverInstructions.js");
|
|
23
25
|
const cli_js_1 = require("./cli.js");
|
|
24
26
|
const tracing_js_1 = require("./utils/tracing.js");
|
|
25
27
|
// Load .env from current working directory (where npm run is executed)
|
|
@@ -85,6 +87,11 @@ const server = new mcp_js_1.McpServer({
|
|
|
85
87
|
}
|
|
86
88
|
]
|
|
87
89
|
}, {
|
|
90
|
+
instructions: (0, serverInstructions_js_1.buildServerInstructions)([
|
|
91
|
+
...enabledCoreTools,
|
|
92
|
+
...enabledElicitationTools,
|
|
93
|
+
...enabledResourceFallbackTools
|
|
94
|
+
].map((tool) => tool.name)),
|
|
88
95
|
capabilities: {
|
|
89
96
|
tools: {
|
|
90
97
|
listChanged: true // Advertise support for dynamic tool registration (ready for future capability-dependent tools)
|
|
@@ -95,6 +102,8 @@ const server = new mcp_js_1.McpServer({
|
|
|
95
102
|
logging: {}
|
|
96
103
|
}
|
|
97
104
|
});
|
|
105
|
+
// Must run before the first tool is registered — see jsonSchema2020.ts.
|
|
106
|
+
(0, jsonSchema2020_js_1.publishJsonSchema2020)(server);
|
|
98
107
|
// Register only core tools before connection
|
|
99
108
|
// Capability-dependent tools will be registered dynamically after connection
|
|
100
109
|
enabledCoreTools.forEach((tool) => {
|
|
@@ -206,6 +215,21 @@ async function main() {
|
|
|
206
215
|
tracingError = error instanceof Error ? error : new Error(String(error));
|
|
207
216
|
}
|
|
208
217
|
}
|
|
218
|
+
// Registered before connect() so it's already in place the moment the
|
|
219
|
+
// client's initialize handshake completes. getClientCapabilities() and
|
|
220
|
+
// getClientVersion() are only populated once the server has processed the
|
|
221
|
+
// client's `initialize` request -- reading them synchronously right after
|
|
222
|
+
// `server.connect()` races that request and reliably sees them as unset,
|
|
223
|
+
// since connect() only waits for the transport to start, not for the
|
|
224
|
+
// handshake to finish.
|
|
225
|
+
server.server.oninitialized = () => {
|
|
226
|
+
onClientInitialized().catch((error) => {
|
|
227
|
+
server.server.sendLoggingMessage({
|
|
228
|
+
level: 'warning',
|
|
229
|
+
data: `Error handling client initialization: ${error instanceof Error ? error.message : String(error)}`
|
|
230
|
+
});
|
|
231
|
+
});
|
|
232
|
+
};
|
|
209
233
|
// Start receiving messages on stdin and sending messages on stdout
|
|
210
234
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
211
235
|
await server.connect(transport);
|
|
@@ -259,7 +283,20 @@ async function main() {
|
|
|
259
283
|
level: 'debug',
|
|
260
284
|
data: JSON.stringify(relevantEnvVars, null, 2)
|
|
261
285
|
});
|
|
262
|
-
|
|
286
|
+
}
|
|
287
|
+
// Runs once per session, after the client's initialize handshake completes
|
|
288
|
+
// (see the `oninitialized` registration in main() for why that timing
|
|
289
|
+
// matters). Reports which client connected and registers any tools gated on
|
|
290
|
+
// capabilities the client declared during that handshake.
|
|
291
|
+
async function onClientInitialized() {
|
|
292
|
+
const clientInfo = server.server.getClientVersion();
|
|
293
|
+
server.server.sendLoggingMessage({
|
|
294
|
+
level: 'info',
|
|
295
|
+
data: `Client identified as: ${clientInfo?.name ?? 'unknown'} v${clientInfo?.version ?? 'unknown'}`
|
|
296
|
+
});
|
|
297
|
+
// Recorded so every subsequent tool-execution span carries it too --
|
|
298
|
+
// see setClientInfo's doc comment in tracing.ts.
|
|
299
|
+
(0, tracing_js_1.setClientInfo)(clientInfo);
|
|
263
300
|
const clientCapabilities = server.server.getClientCapabilities();
|
|
264
301
|
// Debug: Log what capabilities we detected
|
|
265
302
|
server.server.sendLoggingMessage({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,25 @@ export declare abstract class BaseResource {
|
|
|
9
9
|
abstract readonly name: string;
|
|
10
10
|
abstract readonly description?: string;
|
|
11
11
|
abstract readonly mimeType?: string;
|
|
12
|
+
/**
|
|
13
|
+
* The most recently installed server. Used as a fallback when `read()` is
|
|
14
|
+
* called directly rather than through a handler registered by `installTo()`.
|
|
15
|
+
* A single instance installed into several servers only retains the last one,
|
|
16
|
+
* so code handling a read should use `activeServer` instead.
|
|
17
|
+
*/
|
|
12
18
|
protected server: McpServer | null;
|
|
19
|
+
/**
|
|
20
|
+
* The server whose registered handler is serving the current read. Scoped per
|
|
21
|
+
* invocation, so concurrent reads arriving through different servers each
|
|
22
|
+
* observe their own.
|
|
23
|
+
*/
|
|
24
|
+
private readonly invocationServer;
|
|
25
|
+
/**
|
|
26
|
+
* The server a read should communicate with — the one that registered the
|
|
27
|
+
* handler serving it, falling back to the last installed server when `read()`
|
|
28
|
+
* is invoked outside a registered handler.
|
|
29
|
+
*/
|
|
30
|
+
protected get activeServer(): McpServer | null;
|
|
13
31
|
/**
|
|
14
32
|
* Installs the resource to the given MCP server.
|
|
15
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseResource.d.ts","sourceRoot":"","sources":["../../../src/resources/BaseResource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseResource.d.ts","sourceRoot":"","sources":["../../../src/resources/BaseResource.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,SAAS,EAEf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,8BAAsB,YAAY;IAChC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAEpC;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAE1C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IAEvE;;;;OAIG;IACH,SAAS,KAAK,YAAY,IAAI,SAAS,GAAG,IAAI,CAE7C;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IA0ClC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CACX,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,OAAO,GACZ,IAAI;CAMR"}
|
|
@@ -3,12 +3,33 @@
|
|
|
3
3
|
// Licensed under the MIT License.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.BaseResource = void 0;
|
|
6
|
+
const node_async_hooks_1 = require("node:async_hooks");
|
|
6
7
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
7
8
|
/**
|
|
8
9
|
* Base class for all MCP resources
|
|
9
10
|
*/
|
|
10
11
|
class BaseResource {
|
|
12
|
+
/**
|
|
13
|
+
* The most recently installed server. Used as a fallback when `read()` is
|
|
14
|
+
* called directly rather than through a handler registered by `installTo()`.
|
|
15
|
+
* A single instance installed into several servers only retains the last one,
|
|
16
|
+
* so code handling a read should use `activeServer` instead.
|
|
17
|
+
*/
|
|
11
18
|
server = null;
|
|
19
|
+
/**
|
|
20
|
+
* The server whose registered handler is serving the current read. Scoped per
|
|
21
|
+
* invocation, so concurrent reads arriving through different servers each
|
|
22
|
+
* observe their own.
|
|
23
|
+
*/
|
|
24
|
+
invocationServer = new node_async_hooks_1.AsyncLocalStorage();
|
|
25
|
+
/**
|
|
26
|
+
* The server a read should communicate with — the one that registered the
|
|
27
|
+
* handler serving it, falling back to the last installed server when `read()`
|
|
28
|
+
* is invoked outside a registered handler.
|
|
29
|
+
*/
|
|
30
|
+
get activeServer() {
|
|
31
|
+
return this.invocationServer.getStore() ?? this.server;
|
|
32
|
+
}
|
|
12
33
|
/**
|
|
13
34
|
* Installs the resource to the given MCP server.
|
|
14
35
|
*/
|
|
@@ -23,18 +44,19 @@ class BaseResource {
|
|
|
23
44
|
// URI contains template variables — register as a ResourceTemplate so the
|
|
24
45
|
// SDK performs proper URI template matching (e.g. mapbox://temp/{id}).
|
|
25
46
|
const template = new mcp_js_1.ResourceTemplate(this.uri, { list: undefined });
|
|
26
|
-
server.registerResource(this.name, template, metadata, (uri, _variables, extra) => this.read(uri.toString(), extra));
|
|
47
|
+
server.registerResource(this.name, template, metadata, (uri, _variables, extra) => this.invocationServer.run(server, () => this.read(uri.toString(), extra)));
|
|
27
48
|
}
|
|
28
49
|
else {
|
|
29
|
-
server.registerResource(this.name, this.uri, metadata, (uri, extra) => this.read(uri.toString(), extra));
|
|
50
|
+
server.registerResource(this.name, this.uri, metadata, (uri, extra) => this.invocationServer.run(server, () => this.read(uri.toString(), extra)));
|
|
30
51
|
}
|
|
31
52
|
}
|
|
32
53
|
/**
|
|
33
54
|
* Helper method to send logging messages
|
|
34
55
|
*/
|
|
35
56
|
log(level, data) {
|
|
36
|
-
|
|
37
|
-
|
|
57
|
+
const server = this.activeServer;
|
|
58
|
+
if (server?.server) {
|
|
59
|
+
void server.server.sendLoggingMessage({ level, data });
|
|
38
60
|
}
|
|
39
61
|
}
|
|
40
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseResource.js","sourceRoot":"","sources":["../../../src/resources/BaseResource.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,oEAGiD;AAQjD;;GAEG;AACH,MAAsB,YAAY;
|
|
1
|
+
{"version":3,"file":"BaseResource.js","sourceRoot":"","sources":["../../../src/resources/BaseResource.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,uDAAqD;AACrD,oEAGiD;AAQjD;;GAEG;AACH,MAAsB,YAAY;IAMhC;;;;;OAKG;IACO,MAAM,GAAqB,IAAI,CAAC;IAE1C;;;;OAIG;IACc,gBAAgB,GAAG,IAAI,oCAAiB,EAAa,CAAC;IAEvE;;;;OAIG;IACH,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QAEF,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,0EAA0E;YAC1E,uEAAuE;YACvE,MAAM,QAAQ,GAAG,IAAI,yBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,gBAAgB,CACrB,IAAI,CAAC,IAAI,EACT,QAAQ,EACR,QAAQ,EACR,CACE,GAAQ,EACR,UAA6C,EAC7C,KAA6D,EAC7D,EAAE,CACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CACjC,CACJ,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,gBAAgB,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,GAAG,EACR,QAAQ,EACR,CACE,GAAQ,EACR,KAA6D,EAC7D,EAAE,CACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CACjC,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAYD;;OAEG;IACO,GAAG,CACX,KAA6C,EAC7C,IAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QACjC,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF;AAjGD,oCAiGC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemporaryDataResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/temporary/TemporaryDataResource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAI5C;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,GAAG,wBAAwB;IACpC,QAAQ,CAAC,WAAW,yEACoD;IACxE,QAAQ,CAAC,QAAQ,sBAAsB;IAEjC,IAAI,CACR,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"TemporaryDataResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/temporary/TemporaryDataResource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAI5C;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,GAAG,wBAAwB;IACpC,QAAQ,CAAC,WAAW,yEACoD;IACxE,QAAQ,CAAC,QAAQ,sBAAsB;IAEjC,IAAI,CACR,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CA0E/B"}
|
|
@@ -29,24 +29,34 @@ class TemporaryDataResource extends BaseResource_js_1.BaseResource {
|
|
|
29
29
|
if (!resource) {
|
|
30
30
|
return notFound;
|
|
31
31
|
}
|
|
32
|
-
// Enforce
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
//
|
|
36
|
-
//
|
|
32
|
+
// Enforce ownership: only the token that created the resource may read it.
|
|
33
|
+
// Resolve the requester the same way tools resolve their token (request auth
|
|
34
|
+
// first, then the env token). A mismatch returns the SAME "not found"
|
|
35
|
+
// response as a missing resource, so a caller cannot probe whether someone
|
|
36
|
+
// else's resource exists.
|
|
37
|
+
//
|
|
38
|
+
// The owner key is a fingerprint of the token itself, never the `u`
|
|
39
|
+
// (username) claim. The claim is unsigned and unverifiable here, so scoping
|
|
40
|
+
// by username let anyone who knew a resource URI and a Mapbox username mint
|
|
41
|
+
// a garbage token asserting that name and read the resource. See
|
|
42
|
+
// getOwnerKeyFromToken for the full rationale and the per-token-vs-
|
|
43
|
+
// per-account tradeoff this accepts.
|
|
44
|
+
//
|
|
45
|
+
// This check stands on its own and does not assume the transport verified
|
|
46
|
+
// anything. A deployer wiring a caller-supplied bearer token into
|
|
47
|
+
// extra.authInfo.token — the pattern the MCP TypeScript SDK documents, where
|
|
48
|
+
// signature verification is the deployer's opt-in responsibility — is
|
|
49
|
+
// protected here either way.
|
|
37
50
|
//
|
|
38
51
|
// The env-token fallback is for stdio/single-user mode only. In hosted
|
|
39
52
|
// multi-tenant deployments MAPBOX_ACCESS_TOKEN is NOT set and every request
|
|
40
53
|
// carries its own bearer token via authInfo; the request token therefore
|
|
41
54
|
// always wins and the env fallback never applies cross-tenant. Do not set a
|
|
42
55
|
// shared MAPBOX_ACCESS_TOKEN in a multi-tenant deployment or all env-less
|
|
43
|
-
// reads would resolve to that one
|
|
56
|
+
// reads would resolve to that one token.
|
|
44
57
|
const requesterToken = extra?.authInfo?.token ??
|
|
45
58
|
process.env.MAPBOX_ACCESS_TOKEN;
|
|
46
|
-
|
|
47
|
-
? (0, jwtUtils_js_1.getUserNameFromToken)(requesterToken)
|
|
48
|
-
: undefined;
|
|
49
|
-
if (!resource.owner || !requester || resource.owner !== requester) {
|
|
59
|
+
if (!(0, jwtUtils_js_1.ownerKeyMatches)(resource.owner, (0, jwtUtils_js_1.getOwnerKeyFromToken)(requesterToken))) {
|
|
50
60
|
return notFound;
|
|
51
61
|
}
|
|
52
62
|
// For image data, return as blob
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemporaryDataResource.js","sourceRoot":"","sources":["../../../../src/resources/temporary/TemporaryDataResource.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,wDAAkD;AAOlD,yFAAmF;AACnF,
|
|
1
|
+
{"version":3,"file":"TemporaryDataResource.js","sourceRoot":"","sources":["../../../../src/resources/temporary/TemporaryDataResource.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,wDAAkD;AAOlD,yFAAmF;AACnF,yDAAgF;AAEhF;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,8BAAY;IAC5C,IAAI,GAAG,gBAAgB,CAAC;IACxB,GAAG,GAAG,oBAAoB,CAAC;IAC3B,WAAW,GAClB,qEAAqE,CAAC;IAC/D,QAAQ,GAAG,kBAAkB,CAAC;IAEvC,KAAK,CAAC,IAAI,CACR,GAAW,EACX,KAA8D;QAE9D,MAAM,QAAQ,GAAuB;YACnC,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG;oBACR,QAAQ,EAAE,YAAY;oBACtB,IAAI,EAAE,0EAA0E;iBACjF;aACF;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,sDAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,2EAA2E;QAC3E,6EAA6E;QAC7E,sEAAsE;QACtE,2EAA2E;QAC3E,0BAA0B;QAC1B,EAAE;QACF,oEAAoE;QACpE,4EAA4E;QAC5E,4EAA4E;QAC5E,iEAAiE;QACjE,oEAAoE;QACpE,qCAAqC;QACrC,EAAE;QACF,0EAA0E;QAC1E,kEAAkE;QAClE,6EAA6E;QAC7E,sEAAsE;QACtE,6BAA6B;QAC7B,EAAE;QACF,uEAAuE;QACvE,4EAA4E;QAC5E,yEAAyE;QACzE,4EAA4E;QAC5E,0EAA0E;QAC1E,yCAAyC;QACzC,MAAM,cAAc,GACjB,KAAK,EAAE,QAAQ,EAAE,KAA4B;YAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAClC,IACE,CAAC,IAAA,6BAAe,EAAC,QAAQ,CAAC,KAAK,EAAE,IAAA,kCAAoB,EAAC,cAAc,CAAC,CAAC,EACtE,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG;wBACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAc;qBAC9B;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG;oBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC7C;aACF;SACF,CAAC;IACJ,CAAC;CACF;AApFD,sDAoFC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapAppUIResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/MapAppUIResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"MapAppUIResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/MapAppUIResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,GAAG,oCAAoC;IAChD,QAAQ,CAAC,WAAW,iFAC4D;IAChF,QAAQ,CAAC,QAAQ,+BAAsB;IAEvC,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;IAQK,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CAiC/B"}
|
|
@@ -7,6 +7,7 @@ const server_1 = require("@modelcontextprotocol/ext-apps/server");
|
|
|
7
7
|
const BaseResource_js_1 = require("../BaseResource.js");
|
|
8
8
|
const mapboxPublicToken_js_1 = require("../../utils/mapboxPublicToken.js");
|
|
9
9
|
const mapAppHtml_js_1 = require("./mapAppHtml.js");
|
|
10
|
+
const mapAppCsp_js_1 = require("./mapAppCsp.js");
|
|
10
11
|
/**
|
|
11
12
|
* Single Mapbox MCP App resource targeted by `render_map_tool`.
|
|
12
13
|
*
|
|
@@ -51,14 +52,7 @@ class MapAppUIResource extends BaseResource_js_1.BaseResource {
|
|
|
51
52
|
text: html,
|
|
52
53
|
_meta: {
|
|
53
54
|
ui: {
|
|
54
|
-
csp:
|
|
55
|
-
connectDomains: [
|
|
56
|
-
'https://*.mapbox.com',
|
|
57
|
-
'https://events.mapbox.com'
|
|
58
|
-
],
|
|
59
|
-
resourceDomains: ['https://api.mapbox.com'],
|
|
60
|
-
workerDomains: ['blob:']
|
|
61
|
-
},
|
|
55
|
+
csp: (0, mapAppCsp_js_1.mapAppCsp)(this.apiEndpoint()),
|
|
62
56
|
preferredSize: { width: 1000, height: 600 }
|
|
63
57
|
}
|
|
64
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapAppUIResource.js","sourceRoot":"","sources":["../../../../src/resources/ui-apps/MapAppUIResource.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAQlC,kEAA2E;AAC3E,wDAAkD;AAElD,2EAA4E;AAC5E,mDAAmD;
|
|
1
|
+
{"version":3,"file":"MapAppUIResource.js","sourceRoot":"","sources":["../../../../src/resources/ui-apps/MapAppUIResource.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAQlC,kEAA2E;AAC3E,wDAAkD;AAElD,2EAA4E;AAC5E,mDAAmD;AACnD,iDAA2C;AAE3C;;;;;;;;GAQG;AACH,MAAa,gBAAiB,SAAQ,8BAAY;IACvC,IAAI,GAAG,mBAAmB,CAAC;IAC3B,GAAG,GAAG,gCAAgC,CAAC;IACvC,WAAW,GAClB,6EAA6E,CAAC;IACvE,QAAQ,GAAG,2BAAkB,CAAC;IAEtB,WAAW,CAAc;IACzB,WAAW,CAAe;IAE3C,YAAY,MAGX;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,WAAW;YACd,MAAM,CAAC,WAAW;gBAClB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,yBAAyB,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,KAA8D;QAE9D,MAAM,WAAW,GACd,KAAK,EAAE,QAAQ,EAAE,KAA4B;YAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAC/B,EAAE,CAAC;QAEL,MAAM,WAAW,GAAG,MAAM,IAAA,+CAAwB,EAAC;YACjD,WAAW;YACX,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAA,gCAAgB,EAAC;YAC5B,WAAW,EAAE,WAAW,IAAI,EAAE;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SAChC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,QAAQ,EAAE,2BAAkB;oBAC5B,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACL,EAAE,EAAE;4BACF,GAAG,EAAE,IAAA,wBAAS,EAAC,IAAI,CAAC,WAAW,EAAE,CAAC;4BAClC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;yBAC5C;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF;AAzDD,4CAyDC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface MapAppCsp {
|
|
2
|
+
connectDomains: string[];
|
|
3
|
+
resourceDomains: string[];
|
|
4
|
+
workerDomains: string[];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The exact origins the map app uses, for its MCP Apps CSP.
|
|
8
|
+
*
|
|
9
|
+
* Hosts compare the declared CSP against what the UI actually loads, and
|
|
10
|
+
* reviewers expect the narrowest list that works, so this names hosts instead
|
|
11
|
+
* of allowing all of `*.mapbox.com`:
|
|
12
|
+
*
|
|
13
|
+
* - GL JS loads its script and stylesheet, and fetches styles, tiles, sprites,
|
|
14
|
+
* glyphs and 3D models, from api.mapbox.com, and sends telemetry to
|
|
15
|
+
* events.mapbox.com (see Mapbox GL JS's CSP guide).
|
|
16
|
+
* - The page's own API calls (Directions, Isochrone, Search Box and so on) go to
|
|
17
|
+
* `apiEndpoint`, which `MAPBOX_API_ENDPOINT` can point somewhere else, so its
|
|
18
|
+
* origin is added when it differs.
|
|
19
|
+
* - GL JS runs its workers from `blob:` URLs.
|
|
20
|
+
*/
|
|
21
|
+
export declare function mapAppCsp(apiEndpoint: string): MapAppCsp;
|
|
22
|
+
//# sourceMappingURL=mapAppCsp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapAppCsp.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/mapAppCsp.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAKD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAaxD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Mapbox, Inc.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.mapAppCsp = mapAppCsp;
|
|
6
|
+
const MAPBOX_API_ORIGIN = 'https://api.mapbox.com';
|
|
7
|
+
const MAPBOX_EVENTS_ORIGIN = 'https://events.mapbox.com';
|
|
8
|
+
/**
|
|
9
|
+
* The exact origins the map app uses, for its MCP Apps CSP.
|
|
10
|
+
*
|
|
11
|
+
* Hosts compare the declared CSP against what the UI actually loads, and
|
|
12
|
+
* reviewers expect the narrowest list that works, so this names hosts instead
|
|
13
|
+
* of allowing all of `*.mapbox.com`:
|
|
14
|
+
*
|
|
15
|
+
* - GL JS loads its script and stylesheet, and fetches styles, tiles, sprites,
|
|
16
|
+
* glyphs and 3D models, from api.mapbox.com, and sends telemetry to
|
|
17
|
+
* events.mapbox.com (see Mapbox GL JS's CSP guide).
|
|
18
|
+
* - The page's own API calls (Directions, Isochrone, Search Box and so on) go to
|
|
19
|
+
* `apiEndpoint`, which `MAPBOX_API_ENDPOINT` can point somewhere else, so its
|
|
20
|
+
* origin is added when it differs.
|
|
21
|
+
* - GL JS runs its workers from `blob:` URLs.
|
|
22
|
+
*/
|
|
23
|
+
function mapAppCsp(apiEndpoint) {
|
|
24
|
+
const connectDomains = [MAPBOX_API_ORIGIN, MAPBOX_EVENTS_ORIGIN];
|
|
25
|
+
try {
|
|
26
|
+
const apiOrigin = new URL(apiEndpoint).origin;
|
|
27
|
+
if (!connectDomains.includes(apiOrigin))
|
|
28
|
+
connectDomains.push(apiOrigin);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// An endpoint that isn't a valid URL can't be reached by the page anyway.
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
connectDomains,
|
|
35
|
+
resourceDomains: [MAPBOX_API_ORIGIN],
|
|
36
|
+
workerDomains: ['blob:']
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=mapAppCsp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapAppCsp.js","sourceRoot":"","sources":["../../../../src/resources/ui-apps/mapAppCsp.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;AA0BlC,8BAaC;AA/BD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AACnD,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAEzD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,SAAS,CAAC,WAAmB;IAC3C,MAAM,cAAc,GAAG,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;IAC5E,CAAC;IACD,OAAO;QACL,cAAc;QACd,eAAe,EAAE,CAAC,iBAAiB,CAAC;QACpC,aAAa,EAAE,CAAC,OAAO,CAAC;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapAppHtml.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/mapAppHtml.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;;;;;;GASG;AAMH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"mapAppHtml.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/mapAppHtml.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;;;;;;GASG;AAMH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B,GAAG,MAAM,CA2oDT"}
|
|
@@ -98,6 +98,10 @@ ${initialDataScript}
|
|
|
98
98
|
var map = null;
|
|
99
99
|
var mapLoaded = false;
|
|
100
100
|
var pendingPayload = null;
|
|
101
|
+
// Tracks which base style the map is currently constructed with, so a
|
|
102
|
+
// later render() can detect a baseStyle change and switch via setStyle()
|
|
103
|
+
// -- the style is otherwise only ever set once, at construction time.
|
|
104
|
+
var currentBaseStyleId = 'standard';
|
|
101
105
|
var currentDisplayMode = 'inline';
|
|
102
106
|
|
|
103
107
|
// Tracks what we've added so re-renders can tear down cleanly.
|
|
@@ -162,6 +166,23 @@ ${initialDataScript}
|
|
|
162
166
|
);
|
|
163
167
|
|
|
164
168
|
// --- Map setup ------------------------------------------------------------
|
|
169
|
+
var initialDataRead = false;
|
|
170
|
+
var initialData = null;
|
|
171
|
+
|
|
172
|
+
// Parses the #initial-data script tag once and caches the result — read
|
|
173
|
+
// before map construction (to seed the constructor's config option, so
|
|
174
|
+
// a baseMapConfig takes effect before first paint instead of flashing
|
|
175
|
+
// default colors) and again by consumeInitialData() after load.
|
|
176
|
+
function readInitialData() {
|
|
177
|
+
if (initialDataRead) return initialData;
|
|
178
|
+
initialDataRead = true;
|
|
179
|
+
var el = document.getElementById('initial-data');
|
|
180
|
+
if (el && el.textContent) {
|
|
181
|
+
try { initialData = JSON.parse(el.textContent); } catch (_) { /* ignore */ }
|
|
182
|
+
}
|
|
183
|
+
return initialData;
|
|
184
|
+
}
|
|
185
|
+
|
|
165
186
|
function initMap() {
|
|
166
187
|
if (!TOKEN) {
|
|
167
188
|
showError('No Mapbox public token available. Set MAPBOX_PUBLIC_TOKEN or grant tokens:read to the OAuth client.');
|
|
@@ -172,12 +193,23 @@ ${initialDataScript}
|
|
|
172
193
|
return;
|
|
173
194
|
}
|
|
174
195
|
mapboxgl.accessToken = TOKEN;
|
|
175
|
-
|
|
196
|
+
var data = readInitialData();
|
|
197
|
+
// Allowlisted rather than interpolated directly, so an unrecognized
|
|
198
|
+
// value can never reach the style URL -- falls back to 'standard'.
|
|
199
|
+
var baseStyleId = (data && data.baseStyle === 'standard-satellite')
|
|
200
|
+
? 'standard-satellite'
|
|
201
|
+
: 'standard';
|
|
202
|
+
currentBaseStyleId = baseStyleId;
|
|
203
|
+
var mapOptions = {
|
|
176
204
|
container: 'map',
|
|
177
|
-
style: 'mapbox://styles/mapbox/
|
|
205
|
+
style: 'mapbox://styles/mapbox/' + baseStyleId,
|
|
178
206
|
center: [0, 20],
|
|
179
207
|
zoom: 1.5
|
|
180
|
-
}
|
|
208
|
+
};
|
|
209
|
+
if (data && data.baseMapConfig) {
|
|
210
|
+
mapOptions.config = { basemap: data.baseMapConfig };
|
|
211
|
+
}
|
|
212
|
+
map = new mapboxgl.Map(mapOptions);
|
|
181
213
|
map.addControl(new mapboxgl.NavigationControl(), 'top-left');
|
|
182
214
|
map.on('load', function() {
|
|
183
215
|
mapLoaded = true;
|
|
@@ -192,12 +224,8 @@ ${initialDataScript}
|
|
|
192
224
|
initMap();
|
|
193
225
|
|
|
194
226
|
function consumeInitialData() {
|
|
195
|
-
var
|
|
196
|
-
if (
|
|
197
|
-
try {
|
|
198
|
-
var data = JSON.parse(el.textContent);
|
|
199
|
-
if (data && Array.isArray(data.layers)) render(data);
|
|
200
|
-
} catch (_) { /* ignore */ }
|
|
227
|
+
var data = readInitialData();
|
|
228
|
+
if (data && Array.isArray(data.layers)) render(data);
|
|
201
229
|
}
|
|
202
230
|
|
|
203
231
|
// --- Tool result extraction ----------------------------------------------
|
|
@@ -391,6 +419,7 @@ ${initialDataScript}
|
|
|
391
419
|
};
|
|
392
420
|
if (layer.paint) def.paint = layer.paint;
|
|
393
421
|
if (layer.layout) def.layout = layer.layout;
|
|
422
|
+
if (layer.slot) def.slot = layer.slot;
|
|
394
423
|
map.addLayer(def);
|
|
395
424
|
trackedLayerIds.push(layer.id);
|
|
396
425
|
|
|
@@ -456,9 +485,37 @@ ${initialDataScript}
|
|
|
456
485
|
if (bounds) fitToBounds(bounds);
|
|
457
486
|
}
|
|
458
487
|
|
|
488
|
+
function applyBaseMapConfig(baseMapConfig) {
|
|
489
|
+
if (!baseMapConfig || typeof baseMapConfig !== 'object') return;
|
|
490
|
+
if (typeof map.setConfigProperty !== 'function') return;
|
|
491
|
+
Object.keys(baseMapConfig).forEach(function(key) {
|
|
492
|
+
try { map.setConfigProperty('basemap', key, baseMapConfig[key]); } catch (_) { /* not a Standard-based style */ }
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
|
|
459
496
|
function render(payload) {
|
|
460
497
|
if (!map) return;
|
|
498
|
+
// baseStyle is only otherwise applied at map-construction time (see
|
|
499
|
+
// initMap()) -- MapAppUIResource never seeds initial-data server-side,
|
|
500
|
+
// so every real render_map_tool call arrives here instead. Without this
|
|
501
|
+
// check, a later call passing baseStyle: "standard-satellite" would be
|
|
502
|
+
// silently ignored and the map would stay on whatever style it was
|
|
503
|
+
// constructed with (always "standard" in practice).
|
|
504
|
+
var desiredBaseStyleId = payload.baseStyle === 'standard-satellite'
|
|
505
|
+
? 'standard-satellite'
|
|
506
|
+
: (payload.baseStyle === 'standard' ? 'standard' : null);
|
|
507
|
+
if (desiredBaseStyleId && desiredBaseStyleId !== currentBaseStyleId) {
|
|
508
|
+
currentBaseStyleId = desiredBaseStyleId;
|
|
509
|
+
map.setStyle('mapbox://styles/mapbox/' + desiredBaseStyleId);
|
|
510
|
+
map.once('style.load', function() { renderBody(payload); });
|
|
511
|
+
return;
|
|
512
|
+
}
|
|
513
|
+
renderBody(payload);
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
function renderBody(payload) {
|
|
461
517
|
teardown();
|
|
518
|
+
applyBaseMapConfig(payload.baseMapConfig);
|
|
462
519
|
|
|
463
520
|
var bbox = bboxAccumulator();
|
|
464
521
|
var layers = Array.isArray(payload.layers) ? payload.layers : [];
|
|
@@ -829,6 +886,11 @@ ${initialDataScript}
|
|
|
829
886
|
if (typeof params.profile !== 'string') return false;
|
|
830
887
|
if (!/^mapbox\\/[a-z-]+$/.test(params.profile)) return false;
|
|
831
888
|
}
|
|
889
|
+
// The Isochrone API requires one of these; a scalar (e.g. 15 instead
|
|
890
|
+
// of [15]) would be silently dropped by buildIsochroneApiUrl.
|
|
891
|
+
var hasMinutes = Array.isArray(params.contours_minutes) && params.contours_minutes.length > 0;
|
|
892
|
+
var hasMeters = Array.isArray(params.contours_meters) && params.contours_meters.length > 0;
|
|
893
|
+
if (!hasMinutes && !hasMeters) return false;
|
|
832
894
|
return true;
|
|
833
895
|
}
|
|
834
896
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapAppHtml.js","sourceRoot":"","sources":["../../../../src/resources/ui-apps/mapAppHtml.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAqBlC,
|
|
1
|
+
{"version":3,"file":"mapAppHtml.js","sourceRoot":"","sources":["../../../../src/resources/ui-apps/mapAppHtml.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,10 +15,29 @@ export declare abstract class BaseTool<InputSchema extends ZodTypeAny, OutputSch
|
|
|
15
15
|
connectDomains?: string[];
|
|
16
16
|
resourceDomains?: string[];
|
|
17
17
|
frameDomains?: string[];
|
|
18
|
+
workerDomains?: string[];
|
|
18
19
|
};
|
|
19
20
|
};
|
|
20
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* The most recently installed server. Used as a fallback when `run()` is
|
|
24
|
+
* called directly rather than through a callback registered by `installTo()`.
|
|
25
|
+
* A single instance installed into several servers only retains the last one,
|
|
26
|
+
* so code handling a tool call should read `activeServer` instead.
|
|
27
|
+
*/
|
|
21
28
|
protected server: McpServer | null;
|
|
29
|
+
/**
|
|
30
|
+
* The server whose registered callback is handling the current tool call.
|
|
31
|
+
* Scoped per invocation, so concurrent calls arriving through different
|
|
32
|
+
* servers each observe their own.
|
|
33
|
+
*/
|
|
34
|
+
private readonly invocationServer;
|
|
35
|
+
/**
|
|
36
|
+
* The server a tool call should communicate with — the one that registered
|
|
37
|
+
* the callback handling it, falling back to the last installed server when
|
|
38
|
+
* `run()` is invoked outside a registered callback.
|
|
39
|
+
*/
|
|
40
|
+
protected get activeServer(): McpServer | null;
|
|
22
41
|
constructor(params: {
|
|
23
42
|
inputSchema: InputSchema;
|
|
24
43
|
outputSchema?: OutputSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTool.d.ts","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseTool.d.ts","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAExF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,8BAAsB,QAAQ,CAC5B,WAAW,SAAS,UAAU,EAC9B,YAAY,SAAS,UAAU,GAAG,UAAU;IAE5C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAE/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,EAAE,CAAC,EAAE;YACH,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,GAAG,CAAC,EAAE;gBACJ,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;gBACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;aAC1B,CAAC;SACH,CAAC;KACH,CAAC;IACF;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAE1C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IAEvE;;;;OAIG;IACH,SAAS,KAAK,YAAY,IAAI,SAAS,GAAG,IAAI,CAE7C;gBAEW,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;IAKD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IAmD5C;;OAEG;IACH,QAAQ,CAAC,GAAG,CACV,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,OAAO,GACZ,IAAI;IAOP;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC;CAgBjD"}
|