@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
|
@@ -56,6 +56,11 @@ export declare const RenderMapOutputSchema: z.ZodObject<{
|
|
|
56
56
|
}, z.core.$strip>]>;
|
|
57
57
|
paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
58
58
|
layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
59
|
+
slot: z.ZodOptional<z.ZodEnum<{
|
|
60
|
+
bottom: "bottom";
|
|
61
|
+
middle: "middle";
|
|
62
|
+
top: "top";
|
|
63
|
+
}>>;
|
|
59
64
|
}, z.core.$strip>>>;
|
|
60
65
|
markers: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
61
66
|
coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
|
|
@@ -91,6 +96,51 @@ export declare const RenderMapOutputSchema: z.ZodObject<{
|
|
|
91
96
|
}>;
|
|
92
97
|
params: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
93
98
|
}, z.core.$strip>>>>;
|
|
99
|
+
baseMapConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
100
|
+
theme: z.ZodOptional<z.ZodEnum<{
|
|
101
|
+
default: "default";
|
|
102
|
+
custom: "custom";
|
|
103
|
+
faded: "faded";
|
|
104
|
+
monochrome: "monochrome";
|
|
105
|
+
}>>;
|
|
106
|
+
lightPreset: z.ZodOptional<z.ZodEnum<{
|
|
107
|
+
day: "day";
|
|
108
|
+
dawn: "dawn";
|
|
109
|
+
dusk: "dusk";
|
|
110
|
+
night: "night";
|
|
111
|
+
}>>;
|
|
112
|
+
colorWater: z.ZodOptional<z.ZodString>;
|
|
113
|
+
colorLand: z.ZodOptional<z.ZodString>;
|
|
114
|
+
colorGreenspace: z.ZodOptional<z.ZodString>;
|
|
115
|
+
colorMotorways: z.ZodOptional<z.ZodString>;
|
|
116
|
+
colorTrunks: z.ZodOptional<z.ZodString>;
|
|
117
|
+
colorRoads: z.ZodOptional<z.ZodString>;
|
|
118
|
+
colorBuildings: z.ZodOptional<z.ZodString>;
|
|
119
|
+
colorAdminBoundaries: z.ZodOptional<z.ZodString>;
|
|
120
|
+
colorCommercial: z.ZodOptional<z.ZodString>;
|
|
121
|
+
colorEducation: z.ZodOptional<z.ZodString>;
|
|
122
|
+
colorMedical: z.ZodOptional<z.ZodString>;
|
|
123
|
+
colorIndustrial: z.ZodOptional<z.ZodString>;
|
|
124
|
+
colorPlaceLabels: z.ZodOptional<z.ZodString>;
|
|
125
|
+
colorRoadLabels: z.ZodOptional<z.ZodString>;
|
|
126
|
+
colorPointOfInterestLabels: z.ZodOptional<z.ZodString>;
|
|
127
|
+
showPointOfInterestLabels: z.ZodOptional<z.ZodBoolean>;
|
|
128
|
+
showTransitLabels: z.ZodOptional<z.ZodBoolean>;
|
|
129
|
+
showPlaceLabels: z.ZodOptional<z.ZodBoolean>;
|
|
130
|
+
showRoadLabels: z.ZodOptional<z.ZodBoolean>;
|
|
131
|
+
showAdminBoundaries: z.ZodOptional<z.ZodBoolean>;
|
|
132
|
+
showIndoor: z.ZodOptional<z.ZodBoolean>;
|
|
133
|
+
showIndoorLabels: z.ZodOptional<z.ZodBoolean>;
|
|
134
|
+
showLandmarkIconLabels: z.ZodOptional<z.ZodBoolean>;
|
|
135
|
+
show3dObjects: z.ZodOptional<z.ZodBoolean>;
|
|
136
|
+
show3dTrees: z.ZodOptional<z.ZodBoolean>;
|
|
137
|
+
show3dFacades: z.ZodOptional<z.ZodBoolean>;
|
|
138
|
+
densityPointOfInterestLabels: z.ZodOptional<z.ZodNumber>;
|
|
139
|
+
}, z.core.$loose>>>;
|
|
140
|
+
baseStyle: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
|
|
141
|
+
standard: "standard";
|
|
142
|
+
"standard-satellite": "standard-satellite";
|
|
143
|
+
}>>>;
|
|
94
144
|
}, z.core.$strip>>;
|
|
95
145
|
}, z.core.$loose>;
|
|
96
146
|
export type RenderMapOutput = z.infer<typeof RenderMapOutputSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderMapTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"RenderMapTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/render-map-tool/RenderMapTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiBlB,CAAC;AAEjB,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchAndGeocodeTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"SearchAndGeocodeTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EACL,uBAAuB,EAExB,MAAM,yCAAyC,CAAC;AAKjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAOzE,qBAAa,oBAAqB,SAAQ,kBAAkB,CAC1D,OAAO,2BAA2B,EAClC,OAAO,uBAAuB,CAC/B;IACC,IAAI,SAA6B;IACjC,WAAW,SACsvB;IACjwB,WAAW;;;;;;MAMT;gBACU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAQhD,OAAO,CAAC,mBAAmB;cA6DX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,EAClD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;IAuJ1B;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;CA0CvB"}
|
package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchAndGeocodeTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SearchAndGeocodeTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4DtC,CAAC"}
|
|
@@ -8,8 +8,8 @@ const shared_js_1 = require("../../schemas/shared.js");
|
|
|
8
8
|
exports.SearchAndGeocodeInputSchema = zod_1.z.object({
|
|
9
9
|
q: zod_1.z
|
|
10
10
|
.string()
|
|
11
|
-
.max(
|
|
12
|
-
.describe('Search query text. Limited to
|
|
11
|
+
.max(200)
|
|
12
|
+
.describe('Search query text. Limited to 200 characters (the API rejects longer queries with a 400, despite the docs stating 256). Supports natural-language phrasing combining category, place, and attributes (e.g. "quiet coffee shops with wifi near downtown Seattle"), though big-box retail brand + address queries (e.g. "Costco near <address>") are currently unreliable.'),
|
|
13
13
|
language: zod_1.z
|
|
14
14
|
.string()
|
|
15
15
|
.optional()
|
package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchAndGeocodeTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AACxB,uDAAoE;AAEvD,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,CAAC,EAAE,OAAC;SACD,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,
|
|
1
|
+
{"version":3,"file":"SearchAndGeocodeTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AACxB,uDAAoE;AAEvD,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,CAAC,EAAE,OAAC;SACD,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CACP,0WAA0W,CAC3W;IACH,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,yEAAyE,CAC1E;IACH,SAAS,EAAE,OAAC;SACT,MAAM,CAAC;QACN,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACxC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;KACtC,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,sJAAsJ,CACvJ;IACH,IAAI,EAAE,sBAAU;SACb,QAAQ,EAAE;SACV,QAAQ,CACP,uEAAuE,CACxE;IACH,OAAO,EAAE,yBAAa;SACnB,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,KAAK,EAAE,OAAC;SACL,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,8EAA8E,CAC/E;IACH,YAAY,EAAE,OAAC;SACZ,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,mEAAmE,CACpE;IACH,aAAa,EAAE,OAAC;SACb,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,mCAAmC,CAAC;IAChD,QAAQ,EAAE,OAAC;SACR,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;SACpB,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,kBAAkB,EAAE,OAAC;SAClB,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SACvC,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;IACnD,MAAM,EAAE,OAAC;SACN,MAAM,CAAC;QACN,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACxC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;KACtC,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.SearchAndGeocodeTool = void 0;
|
|
6
6
|
const MapboxApiBasedTool_js_1 = require("../MapboxApiBasedTool.js");
|
|
7
|
+
const redactToken_js_1 = require("../../utils/redactToken.js");
|
|
7
8
|
const SearchAndGeocodeTool_input_schema_js_1 = require("./SearchAndGeocodeTool.input.schema.js");
|
|
8
9
|
const SearchAndGeocodeTool_output_schema_js_1 = require("./SearchAndGeocodeTool.output.schema.js");
|
|
9
10
|
const buildSearchAndGeocodeRequestUrl_js_1 = require("./buildSearchAndGeocodeRequestUrl.js");
|
|
@@ -12,7 +13,7 @@ const selfFetchRef_js_1 = require("../../utils/selfFetchRef.js");
|
|
|
12
13
|
// API Documentation: https://docs.mapbox.com/api/search/search-box/#search-request
|
|
13
14
|
class SearchAndGeocodeTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
14
15
|
name = 'search_and_geocode_tool';
|
|
15
|
-
description = "Search for POIs, brands, chains, geocode cities, towns, addresses. Do not use for generic place types such as 'museums', 'coffee shops', 'tacos', etc, because category_search_tool is better for that. Setting a proximity point is strongly encouraged for more local results.";
|
|
16
|
+
description = "Search for POIs, brands, chains, geocode cities, towns, addresses. Do not use for generic place types such as 'museums', 'coffee shops', 'tacos', etc, because category_search_tool is better for that. Setting a proximity point is strongly encouraged for more local results. The underlying Search Box API is rolling out natural-language query understanding (e.g. 'quiet coffee shops with wifi near downtown'), so richer free-text phrasing in `q` can work well for category + place + attribute combinations — but as of this writing, big-box retail brand searches tied to a specific address (e.g. 'Costco near <address>', 'Walmart near <address>', 'Target near <address>') are unreliable and often return unrelated results; verify those results before relying on them.";
|
|
16
17
|
annotations = {
|
|
17
18
|
title: 'Search and Geocode Tool',
|
|
18
19
|
readOnlyHint: true,
|
|
@@ -79,6 +80,7 @@ class SearchAndGeocodeTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
|
79
80
|
accessToken,
|
|
80
81
|
apiEndpoint: MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint
|
|
81
82
|
});
|
|
83
|
+
this.log('info', `SearchAndGeocodeTool: Fetching from URL: ${(0, redactToken_js_1.redactToken)(url)}`);
|
|
82
84
|
const response = await this.httpRequest(url);
|
|
83
85
|
if (!response.ok) {
|
|
84
86
|
const errorMessage = await this.getErrorMessage(response);
|
|
@@ -105,7 +107,8 @@ class SearchAndGeocodeTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
|
105
107
|
data = rawData;
|
|
106
108
|
}
|
|
107
109
|
// Check if we have multiple results that might be ambiguous
|
|
108
|
-
|
|
110
|
+
const server = this.activeServer;
|
|
111
|
+
if (server &&
|
|
109
112
|
data.features &&
|
|
110
113
|
data.features.length >= 2 &&
|
|
111
114
|
data.features.length <= 10) {
|
|
@@ -123,7 +126,7 @@ class SearchAndGeocodeTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
|
123
126
|
return { value: String(index), label };
|
|
124
127
|
});
|
|
125
128
|
// Create a JSON Schema with enum for the selection
|
|
126
|
-
const result = await
|
|
129
|
+
const result = await server.server.elicitInput({
|
|
127
130
|
mode: 'form',
|
|
128
131
|
message: `Found ${data.features.length} results for "${input.q}". Please select the correct location:`,
|
|
129
132
|
requestedSchema: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchAndGeocodeTool.js","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAGlC,oEAA8D;AAE9D,iGAAqF;AACrF,mGAGiD;AAMjD,6FAAuF;AACvF,uEAA4D;AAC5D,iEAAgE;AAEhE,mFAAmF;AAEnF,MAAa,oBAAqB,SAAQ,0CAGzC;IACC,IAAI,GAAG,yBAAyB,CAAC;IACjC,WAAW,GACT,
|
|
1
|
+
{"version":3,"file":"SearchAndGeocodeTool.js","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAGlC,oEAA8D;AAE9D,+DAAyD;AACzD,iGAAqF;AACrF,mGAGiD;AAMjD,6FAAuF;AACvF,uEAA4D;AAC5D,iEAAgE;AAEhE,mFAAmF;AAEnF,MAAa,oBAAqB,SAAQ,0CAGzC;IACC,IAAI,GAAG,yBAAyB,CAAC;IACjC,WAAW,GACT,8vBAA8vB,CAAC;IACjwB,WAAW,GAAG;QACZ,KAAK,EAAE,yBAAyB;QAChC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB,CAAC;IACF,YAAY,MAAoC;QAC9C,KAAK,CAAC;YACJ,WAAW,EAAE,kEAA2B;YACxC,YAAY,EAAE,+DAAuB;YACrC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CACzB,eAAwC;QAExC,IACE,CAAC,eAAe;YAChB,CAAC,eAAe,CAAC,QAAQ;YACzB,eAAe,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EACrC,CAAC;YACD,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAC1C,CAAC,OAAsB,EAAE,KAAa,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;YAE9B,IAAI,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC;YAE9B,WAAW;YACX,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,KAAK,CAAC,cAAc,GAAG,CAAC;YACzC,CAAC;YAED,eAAe;YACf,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,IAAI,iBAAiB,KAAK,CAAC,YAAY,EAAE,CAAC;YAClD,CAAC;iBAAM,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBACjC,MAAM,IAAI,iBAAiB,KAAK,CAAC,eAAe,EAAE,CAAC;YACrD,CAAC;YAED,yBAAyB;YACzB,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;gBACpC,MAAM,IAAI,qBAAqB,GAAG,KAAK,GAAG,EAAE,CAAC;YAC/C,CAAC;YAED,eAAe;YACf,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,IAAI,cAAc,KAAK,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC;YAED,uBAAuB;YACvB,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,kBAAkB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,kBAAkB,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/C,CAAC;YAED,sDAAsD;YACtD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,IAAI,mBAAmB,KAAK,CAAC,SAAS,EAAE,CAAC;YACjD,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAES,KAAK,CAAC,OAAO,CACrB,KAAkD,EAClD,WAAmB;QAEnB,MAAM,GAAG,GAAG,IAAA,oEAA+B,EAAC;YAC1C,KAAK;YACL,WAAW;YACX,WAAW,EAAE,0CAAkB,CAAC,iBAAiB;SAClD,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CACN,MAAM,EACN,4CAA4C,IAAA,4BAAW,EAAC,GAAG,CAAC,EAAE,CAC/D,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE7C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG,CACN,OAAO,EACP,6CAA6C,QAAQ,CAAC,MAAM,cAAc,YAAY,EAAE,CACzF,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qBAAqB,YAAY,EAAE;qBAC1C;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtC,0DAA0D;QAC1D,IAAI,IAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,IAAI,GAAG,+DAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CACN,SAAS,EACT,iDAAiD,eAAe,YAAY,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAC3I,CAAC;YACF,gCAAgC;YAChC,IAAI,GAAG,OAA4B,CAAC;QACtC,CAAC;QAED,4DAA4D;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QACjC,IACE,MAAM;YACN,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,EAC1B,CAAC;YACD,4DAA4D;YAC5D,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;oBACnD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;oBACvC,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;oBACpC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;wBAC1B,KAAK,IAAI,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;oBACzC,CAAC;yBAAM,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;wBAC9B,KAAK,IAAI,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;oBACtC,CAAC;oBACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzC,CAAC,CAAC,CAAC;gBAEH,mDAAmD;gBACnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;oBAC7C,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,iBAAiB,KAAK,CAAC,CAAC,wCAAwC;oBACtG,eAAe,EAAE;wBACf,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,aAAa,EAAE;gCACb,IAAI,EAAE,QAAQ;gCACd,KAAK,EAAE,iBAAiB;gCACxB,WAAW,EAAE,8CAA8C;gCAC3D,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gCACjC,+DAA+D;gCAC/D,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;6BACvC;yBACF;wBACD,QAAQ,EAAE,CAAC,eAAe,CAAC;qBAC5B;iBACF,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;oBAChE,MAAM,gBAAgB,GACpB,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ;wBAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa;wBAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;oBAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;oBACrD,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAErD,kCAAkC;oBAClC,MAAM,YAAY,GAAsB;wBACtC,GAAG,IAAI;wBACP,QAAQ,EAAE,CAAC,eAAe,CAAC;qBAC5B,CAAC;oBAEF,OAAO,IAAI,CAAC,cAAc,CACxB;wBACE,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAC5B,YAAuC,CACxC;6BACF;yBACF;wBACD,iBAAiB,EAAE,YAAY;wBAC/B,OAAO,EAAE,KAAK;qBACf,EACD,YAAY,EACZ,KAAK,EACL,eAAe,EAAE,UAAU,EAAE,SAAS,CACvC,CAAC;gBACJ,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvC,yDAAyD;oBACzD,IAAI,CAAC,GAAG,CACN,MAAM,EACN,iEAAiE,CAClE,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,kEAAkE;gBAClE,qEAAqE;gBACrE,mEAAmE;gBACnE,iEAAiE;gBACjE,4DAA4D;YAC9D,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,OAAO,IAAI,CAAC,cAAc,CACxB;YACE,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAA+B,CAAC;iBAChE;aACF;YACD,iBAAiB,EAAE,IAAI;YACvB,OAAO,EAAE,KAAK;SACf,EACD,IAAI,EACJ,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,cAAc,CACpB,IAAoB,EACpB,IAAa,EACb,KAAkD,EAClD,gBAAyB;QAEzB,MAAM,EAAE,GAAG,IAGE,CAAC;QACd,MAAM,SAAS,GACb,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC;YAC3B,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAA,mCAAiB,EAAC,QAAQ,EAAE;YACtC,CAAC,EAAE,KAAK,CAAC,CAAC;YACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,gBAAgB;SACjB,CAAC,CAAC;QACH,MAAM,EAAE,GAAG;YACT,GAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAA6B;YAC9D,YAAY,EAAE,EAAE,GAAG,EAAE;SACtB,CAAC;QACF,uEAAuE;QACvE,kDAAkD;QAClD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAChD,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAC1B,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,IAAe,GAAG,IAAA,+BAAU,EAAC,GAAG,CAAC,EAAE;YACtD,CAAC,CAAC,CAAC,CACN,CAAC;QACF,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;IACrD,CAAC;CACF;AAhSD,oDAgSC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticMapImageTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"StaticMapImageTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAyBzE,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IACC,IAAI,SAA2B;IAC/B,WAAW,SAC6Y;IACxZ,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAOhD,OAAO,CAAC,aAAa;cAkDL,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CAsE3B"}
|
|
@@ -14,7 +14,7 @@ export declare const CustomMarkerOverlaySchema: z.ZodObject<{
|
|
|
14
14
|
type: z.ZodLiteral<"custom-marker">;
|
|
15
15
|
longitude: z.ZodNumber;
|
|
16
16
|
latitude: z.ZodNumber;
|
|
17
|
-
url: z.ZodString
|
|
17
|
+
url: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
18
18
|
}, z.core.$strip>;
|
|
19
19
|
export declare const PathOverlaySchema: z.ZodObject<{
|
|
20
20
|
type: z.ZodLiteral<"path">;
|
|
@@ -43,7 +43,7 @@ export declare const OverlaySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
43
43
|
type: z.ZodLiteral<"custom-marker">;
|
|
44
44
|
longitude: z.ZodNumber;
|
|
45
45
|
latitude: z.ZodNumber;
|
|
46
|
-
url: z.ZodString
|
|
46
|
+
url: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
47
47
|
}, z.core.$strip>, z.ZodObject<{
|
|
48
48
|
type: z.ZodLiteral<"path">;
|
|
49
49
|
encodedPolyline: z.ZodString;
|
|
@@ -82,7 +82,7 @@ export declare const StaticMapImageInputSchema: z.ZodObject<{
|
|
|
82
82
|
type: z.ZodLiteral<"custom-marker">;
|
|
83
83
|
longitude: z.ZodNumber;
|
|
84
84
|
latitude: z.ZodNumber;
|
|
85
|
-
url: z.ZodString
|
|
85
|
+
url: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
86
86
|
}, z.core.$strip>, z.ZodObject<{
|
|
87
87
|
type: z.ZodLiteral<"path">;
|
|
88
88
|
encodedPolyline: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticMapImageTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+NxB,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAiC9B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;
|
|
1
|
+
{"version":3,"file":"StaticMapImageTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+NxB,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAiC9B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;iBA4BpC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;iBA6B5B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;iBAK/B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;2BAKxB,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8CpC,CAAC"}
|
|
@@ -259,8 +259,22 @@ exports.CustomMarkerOverlaySchema = zod_1.z.object({
|
|
|
259
259
|
url: zod_1.z
|
|
260
260
|
.string()
|
|
261
261
|
.url()
|
|
262
|
-
|
|
263
|
-
|
|
262
|
+
// Validate and re-serialize to the WHATWG URL parser's canonical form
|
|
263
|
+
// in one pass, so every downstream consumer of this value (the request
|
|
264
|
+
// forwarded to the Static Images API) parses exactly what
|
|
265
|
+
// parseSafeExternalUrl validated, rather than re-parsing the caller's
|
|
266
|
+
// original raw string with a possibly different parser that could
|
|
267
|
+
// disagree on its structure.
|
|
268
|
+
.transform((url, ctx) => {
|
|
269
|
+
const parsed = (0, urlSafety_js_1.parseSafeExternalUrl)(url);
|
|
270
|
+
if (parsed === null) {
|
|
271
|
+
ctx.addIssue({
|
|
272
|
+
code: 'custom',
|
|
273
|
+
message: 'URL must be an https:// URL pointing to a public host (loopback, private, link-local, and unique-local addresses are not allowed)'
|
|
274
|
+
});
|
|
275
|
+
return zod_1.z.NEVER;
|
|
276
|
+
}
|
|
277
|
+
return parsed.toString();
|
|
264
278
|
})
|
|
265
279
|
.describe('HTTPS URL of custom marker image (PNG or JPEG, max 1024px). Must point to a publicly reachable host; URLs targeting localhost, private, link-local, or unique-local addresses are rejected to prevent SSRF.')
|
|
266
280
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticMapImageTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.input.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"StaticMapImageTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.input.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,9 +12,21 @@ const jwtUtils_js_1 = require("../../utils/jwtUtils.js");
|
|
|
12
12
|
// of being inlined as base64, to avoid exceeding Claude Desktop's 1MB tool
|
|
13
13
|
// result limit. base64 adds ~33% overhead, so 700KB raw ≈ 933KB encoded.
|
|
14
14
|
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
|
+
}
|
|
15
27
|
class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
16
28
|
name = 'static_map_image_tool';
|
|
17
|
-
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.';
|
|
29
|
+
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.';
|
|
18
30
|
annotations = {
|
|
19
31
|
title: 'Static Map Image Tool',
|
|
20
32
|
readOnlyHint: true,
|
|
@@ -42,7 +54,7 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
|
42
54
|
return `${marker}(${overlay.longitude},${overlay.latitude})`;
|
|
43
55
|
}
|
|
44
56
|
case 'custom-marker': {
|
|
45
|
-
const encodedUrl =
|
|
57
|
+
const encodedUrl = encodeOverlayComponent(overlay.url);
|
|
46
58
|
return `url-${encodedUrl}(${overlay.longitude},${overlay.latitude})`;
|
|
47
59
|
}
|
|
48
60
|
case 'path': {
|
|
@@ -60,11 +72,11 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
|
60
72
|
}
|
|
61
73
|
}
|
|
62
74
|
// URL encode the polyline to handle special characters
|
|
63
|
-
return `${path}(${
|
|
75
|
+
return `${path}(${encodeOverlayComponent(overlay.encodedPolyline)})`;
|
|
64
76
|
}
|
|
65
77
|
case 'geojson': {
|
|
66
78
|
const geojsonString = JSON.stringify(overlay.data);
|
|
67
|
-
return `geojson(${
|
|
79
|
+
return `geojson(${encodeOverlayComponent(geojsonString)})`;
|
|
68
80
|
}
|
|
69
81
|
}
|
|
70
82
|
}
|
|
@@ -98,7 +110,6 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
|
98
110
|
const buffer = await response.arrayBuffer();
|
|
99
111
|
const isRasterStyle = input.style.includes('satellite');
|
|
100
112
|
const mimeType = isRasterStyle ? 'image/jpeg' : 'image/png';
|
|
101
|
-
// content[0] MUST be the URL text — MCP Apps UI finds it via content.find(c => c.type === 'text')
|
|
102
113
|
// Use public URL (without credentials) to avoid leaking the access token
|
|
103
114
|
const content = [
|
|
104
115
|
{ type: 'text', text: publicUrl }
|
|
@@ -114,7 +125,7 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
|
114
125
|
data: base64Data,
|
|
115
126
|
metadata: { toolName: this.name, size: buffer.byteLength },
|
|
116
127
|
mimeType,
|
|
117
|
-
owner: (0, jwtUtils_js_1.
|
|
128
|
+
owner: (0, jwtUtils_js_1.getOwnerKeyFromToken)(accessToken)
|
|
118
129
|
});
|
|
119
130
|
content.push({
|
|
120
131
|
type: 'text',
|
|
@@ -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,6CAAsD;AAEtD,oEAA8D;AAE9D,6FAAiF;AAGjF,yFAAmF;AACnF,yDAA+D;AAE/D,8EAA8E;AAC9E,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ;AAEnD,MAAa,kBAAmB,SAAQ,0CAEvC;IACC,IAAI,GAAG,uBAAuB,CAAC;IAC/B,WAAW,GACT,
|
|
1
|
+
{"version":3,"file":"StaticMapImageTool.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,8 @@
|
|
|
30
30
|
export { httpRequest, systemHttpPipeline } from './httpPipeline.js';
|
|
31
31
|
export { HttpPipeline, UserAgentPolicy, RetryPolicy, TracingPolicy, type HttpPolicy } from './httpPipeline.js';
|
|
32
32
|
export type { HttpRequest, TracedRequestInit } from './types.js';
|
|
33
|
+
export { RedactingSpanExporter } from './redactingSpanExporter.js';
|
|
34
|
+
export { redactToken } from './redactToken.js';
|
|
33
35
|
export { getVersionInfo } from './versionUtils.js';
|
|
34
36
|
export type { VersionInfo } from './versionUtils.js';
|
|
35
37
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGpE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,WAAW,EACX,aAAa,EACb,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGpE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,WAAW,EACX,aAAa,EACb,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright (c) Mapbox, Inc.
|
|
3
3
|
// Licensed under the MIT License.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.getVersionInfo = exports.TracingPolicy = exports.RetryPolicy = exports.UserAgentPolicy = exports.HttpPipeline = exports.systemHttpPipeline = exports.httpRequest = void 0;
|
|
5
|
+
exports.getVersionInfo = exports.redactToken = exports.RedactingSpanExporter = exports.TracingPolicy = exports.RetryPolicy = exports.UserAgentPolicy = exports.HttpPipeline = exports.systemHttpPipeline = exports.httpRequest = void 0;
|
|
6
6
|
/**
|
|
7
7
|
* @module utils
|
|
8
8
|
*
|
|
@@ -42,6 +42,13 @@ Object.defineProperty(exports, "HttpPipeline", { enumerable: true, get: function
|
|
|
42
42
|
Object.defineProperty(exports, "UserAgentPolicy", { enumerable: true, get: function () { return httpPipeline_js_2.UserAgentPolicy; } });
|
|
43
43
|
Object.defineProperty(exports, "RetryPolicy", { enumerable: true, get: function () { return httpPipeline_js_2.RetryPolicy; } });
|
|
44
44
|
Object.defineProperty(exports, "TracingPolicy", { enumerable: true, get: function () { return httpPipeline_js_2.TracingPolicy; } });
|
|
45
|
+
// Export tracing helpers for consumers running their own OpenTelemetry setup.
|
|
46
|
+
// Wrap your span exporter in RedactingSpanExporter to keep Mapbox access tokens,
|
|
47
|
+
// which travel as a URL query parameter, out of exported span attributes.
|
|
48
|
+
var redactingSpanExporter_js_1 = require("./redactingSpanExporter.js");
|
|
49
|
+
Object.defineProperty(exports, "RedactingSpanExporter", { enumerable: true, get: function () { return redactingSpanExporter_js_1.RedactingSpanExporter; } });
|
|
50
|
+
var redactToken_js_1 = require("./redactToken.js");
|
|
51
|
+
Object.defineProperty(exports, "redactToken", { enumerable: true, get: function () { return redactToken_js_1.redactToken; } });
|
|
45
52
|
// Export version utilities
|
|
46
53
|
var versionUtils_js_1 = require("./versionUtils.js");
|
|
47
54
|
Object.defineProperty(exports, "getVersionInfo", { enumerable: true, get: function () { return versionUtils_js_1.getVersionInfo; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,kDAAkD;AAClD,qDAAoE;AAA3D,8GAAA,WAAW,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAExC,mEAAmE;AACnE,qDAM2B;AALzB,+GAAA,YAAY,OAAA;AACZ,kHAAA,eAAe,OAAA;AACf,8GAAA,WAAW,OAAA;AACX,gHAAA,aAAa,OAAA;AAOf,2BAA2B;AAC3B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,kDAAkD;AAClD,qDAAoE;AAA3D,8GAAA,WAAW,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAExC,mEAAmE;AACnE,qDAM2B;AALzB,+GAAA,YAAY,OAAA;AACZ,kHAAA,eAAe,OAAA;AACf,8GAAA,WAAW,OAAA;AACX,gHAAA,aAAa,OAAA;AAOf,8EAA8E;AAC9E,iFAAiF;AACjF,0EAA0E;AAC1E,uEAAmE;AAA1D,iIAAA,qBAAqB,OAAA;AAC9B,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AAEpB,2BAA2B;AAC3B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
export declare const JSON_SCHEMA_2020_12 = "https://json-schema.org/draft/2020-12/schema";
|
|
3
|
+
/**
|
|
4
|
+
* Convert a draft-07 root schema to JSON Schema 2020-12 and label it as
|
|
5
|
+
* such. A schema that already declares another dialect is returned
|
|
6
|
+
* unchanged.
|
|
7
|
+
*/
|
|
8
|
+
export declare function toJsonSchema2020(schema: unknown): unknown;
|
|
9
|
+
/**
|
|
10
|
+
* Make `tools/list` publish JSON Schema 2020-12 instead of draft-07.
|
|
11
|
+
*
|
|
12
|
+
* MCP SDK 1.x's McpServer generates every tool's inputSchema/outputSchema
|
|
13
|
+
* as draft-07 (with no option to change it), but MCP specifies 2020-12 as
|
|
14
|
+
* the default dialect, and newer clients enforce that — Claude Desktop
|
|
15
|
+
* refuses to call any tool whose outputSchema declares draft-07 ("JSON
|
|
16
|
+
* Schema declares an unsupported dialect ... The default validator
|
|
17
|
+
* supports JSON Schema 2020-12 only").
|
|
18
|
+
*
|
|
19
|
+
* McpServer installs its tools/list handler through the public
|
|
20
|
+
* setRequestHandler on first tool registration, so this wraps that method
|
|
21
|
+
* on this one server instance (not a global patch) and converts the
|
|
22
|
+
* schemas in the handler's result. Must be called before any tool is
|
|
23
|
+
* registered.
|
|
24
|
+
*/
|
|
25
|
+
export declare function publishJsonSchema2020(server: McpServer): void;
|
|
26
|
+
//# sourceMappingURL=jsonSchema2020.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonSchema2020.d.ts","sourceRoot":"","sources":["../../../src/utils/jsonSchema2020.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,eAAO,MAAM,mBAAmB,iDACgB,CAAC;AAmFjD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAQzD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2B7D"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Mapbox, Inc.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.JSON_SCHEMA_2020_12 = void 0;
|
|
6
|
+
exports.toJsonSchema2020 = toJsonSchema2020;
|
|
7
|
+
exports.publishJsonSchema2020 = publishJsonSchema2020;
|
|
8
|
+
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
9
|
+
exports.JSON_SCHEMA_2020_12 = 'https://json-schema.org/draft/2020-12/schema';
|
|
10
|
+
const JSON_SCHEMA_DRAFT_07 = 'http://json-schema.org/draft-07/schema#';
|
|
11
|
+
function isObject(value) {
|
|
12
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
13
|
+
}
|
|
14
|
+
// Keywords whose value is a single subschema.
|
|
15
|
+
const SUBSCHEMA_KEYWORDS = [
|
|
16
|
+
'additionalProperties',
|
|
17
|
+
'contains',
|
|
18
|
+
'propertyNames',
|
|
19
|
+
'not',
|
|
20
|
+
'if',
|
|
21
|
+
'then',
|
|
22
|
+
'else'
|
|
23
|
+
];
|
|
24
|
+
// Keywords whose value is an array of subschemas.
|
|
25
|
+
const SUBSCHEMA_ARRAY_KEYWORDS = ['anyOf', 'oneOf', 'allOf'];
|
|
26
|
+
// Keywords whose value maps names to subschemas — the names themselves are
|
|
27
|
+
// data (e.g. a property literally called "items"), never keywords.
|
|
28
|
+
const SUBSCHEMA_MAP_KEYWORDS = [
|
|
29
|
+
'properties',
|
|
30
|
+
'patternProperties',
|
|
31
|
+
'$defs',
|
|
32
|
+
'dependentSchemas'
|
|
33
|
+
];
|
|
34
|
+
/**
|
|
35
|
+
* Convert one draft-07 schema node (and everything under it) to its JSON
|
|
36
|
+
* Schema 2020-12 equivalent. Covers what zod's draft-07 output can contain:
|
|
37
|
+
* tuple `items: [...]` → `prefixItems` (with `additionalItems` → `items`),
|
|
38
|
+
* `definitions` → `$defs` (and `#/definitions/` refs to match). Walks only
|
|
39
|
+
* real subschema positions, so property names are never mistaken for
|
|
40
|
+
* keywords.
|
|
41
|
+
*/
|
|
42
|
+
function convertNode(node) {
|
|
43
|
+
if (!isObject(node))
|
|
44
|
+
return node;
|
|
45
|
+
const out = { ...node };
|
|
46
|
+
if ('definitions' in out) {
|
|
47
|
+
out.$defs = { ...out.$defs, ...out.definitions };
|
|
48
|
+
delete out.definitions;
|
|
49
|
+
}
|
|
50
|
+
if (typeof out.$ref === 'string' && out.$ref.startsWith('#/definitions/')) {
|
|
51
|
+
out.$ref = '#/$defs/' + out.$ref.slice('#/definitions/'.length);
|
|
52
|
+
}
|
|
53
|
+
if (Array.isArray(out.items)) {
|
|
54
|
+
out.prefixItems = out.items.map(convertNode);
|
|
55
|
+
if ('additionalItems' in out) {
|
|
56
|
+
out.items = convertNode(out.additionalItems);
|
|
57
|
+
delete out.additionalItems;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
delete out.items;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else if ('items' in out) {
|
|
64
|
+
out.items = convertNode(out.items);
|
|
65
|
+
}
|
|
66
|
+
for (const key of SUBSCHEMA_KEYWORDS) {
|
|
67
|
+
if (key in out)
|
|
68
|
+
out[key] = convertNode(out[key]);
|
|
69
|
+
}
|
|
70
|
+
for (const key of SUBSCHEMA_ARRAY_KEYWORDS) {
|
|
71
|
+
if (Array.isArray(out[key])) {
|
|
72
|
+
out[key] = out[key].map(convertNode);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
for (const key of SUBSCHEMA_MAP_KEYWORDS) {
|
|
76
|
+
if (isObject(out[key])) {
|
|
77
|
+
out[key] = Object.fromEntries(Object.entries(out[key]).map(([name, sub]) => [
|
|
78
|
+
name,
|
|
79
|
+
convertNode(sub)
|
|
80
|
+
]));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return out;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Convert a draft-07 root schema to JSON Schema 2020-12 and label it as
|
|
87
|
+
* such. A schema that already declares another dialect is returned
|
|
88
|
+
* unchanged.
|
|
89
|
+
*/
|
|
90
|
+
function toJsonSchema2020(schema) {
|
|
91
|
+
if (!isObject(schema))
|
|
92
|
+
return schema;
|
|
93
|
+
if (schema.$schema !== undefined && schema.$schema !== JSON_SCHEMA_DRAFT_07) {
|
|
94
|
+
return schema;
|
|
95
|
+
}
|
|
96
|
+
const converted = convertNode(schema);
|
|
97
|
+
converted.$schema = exports.JSON_SCHEMA_2020_12;
|
|
98
|
+
return converted;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Make `tools/list` publish JSON Schema 2020-12 instead of draft-07.
|
|
102
|
+
*
|
|
103
|
+
* MCP SDK 1.x's McpServer generates every tool's inputSchema/outputSchema
|
|
104
|
+
* as draft-07 (with no option to change it), but MCP specifies 2020-12 as
|
|
105
|
+
* the default dialect, and newer clients enforce that — Claude Desktop
|
|
106
|
+
* refuses to call any tool whose outputSchema declares draft-07 ("JSON
|
|
107
|
+
* Schema declares an unsupported dialect ... The default validator
|
|
108
|
+
* supports JSON Schema 2020-12 only").
|
|
109
|
+
*
|
|
110
|
+
* McpServer installs its tools/list handler through the public
|
|
111
|
+
* setRequestHandler on first tool registration, so this wraps that method
|
|
112
|
+
* on this one server instance (not a global patch) and converts the
|
|
113
|
+
* schemas in the handler's result. Must be called before any tool is
|
|
114
|
+
* registered.
|
|
115
|
+
*/
|
|
116
|
+
function publishJsonSchema2020(server) {
|
|
117
|
+
const inner = server.server;
|
|
118
|
+
const listToolsMethod = types_js_1.ListToolsRequestSchema.shape.method.value;
|
|
119
|
+
const original = inner.setRequestHandler.bind(inner);
|
|
120
|
+
// setRequestHandler's generic signature can't be expressed for a wrapper
|
|
121
|
+
// without re-declaring the SDK's internal schema types.
|
|
122
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
123
|
+
inner.setRequestHandler = (requestSchema, handler) => {
|
|
124
|
+
if (requestSchema?.shape?.method?.value !== listToolsMethod) {
|
|
125
|
+
return original(requestSchema, handler);
|
|
126
|
+
}
|
|
127
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
128
|
+
return original(requestSchema, async (request, extra) => {
|
|
129
|
+
const result = await handler(request, extra);
|
|
130
|
+
return {
|
|
131
|
+
...result,
|
|
132
|
+
tools: result.tools.map((tool) => ({
|
|
133
|
+
...tool,
|
|
134
|
+
inputSchema: toJsonSchema2020(tool.inputSchema),
|
|
135
|
+
...(tool.outputSchema !== undefined && {
|
|
136
|
+
outputSchema: toJsonSchema2020(tool.outputSchema)
|
|
137
|
+
})
|
|
138
|
+
}))
|
|
139
|
+
};
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=jsonSchema2020.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonSchema2020.js","sourceRoot":"","sources":["../../../src/utils/jsonSchema2020.ts"],"names":[],"mappings":"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"}
|