@mapbox/mcp-server 0.2.1-dev.3 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +85 -4
  2. package/dist/index.js +2 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/tools/directions-tool/DirectionsTool.d.ts +7 -32
  5. package/dist/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  6. package/dist/tools/directions-tool/DirectionsTool.js +41 -66
  7. package/dist/tools/directions-tool/DirectionsTool.js.map +1 -1
  8. package/dist/tools/directions-tool/DirectionsTool.test.js +208 -257
  9. package/dist/tools/directions-tool/DirectionsTool.test.js.map +1 -1
  10. package/dist/tools/directions-tool/cleanResponseData.d.ts +11 -0
  11. package/dist/tools/directions-tool/cleanResponseData.d.ts.map +1 -0
  12. package/dist/tools/directions-tool/cleanResponseData.js +175 -0
  13. package/dist/tools/directions-tool/cleanResponseData.js.map +1 -0
  14. package/dist/tools/directions-tool/cleanResponseData.test.d.ts +2 -0
  15. package/dist/tools/directions-tool/cleanResponseData.test.d.ts.map +1 -0
  16. package/dist/tools/directions-tool/cleanResponseData.test.js +295 -0
  17. package/dist/tools/directions-tool/cleanResponseData.test.js.map +1 -0
  18. package/dist/tools/directions-tool/formatIsoDateTime.d.ts +8 -0
  19. package/dist/tools/directions-tool/formatIsoDateTime.d.ts.map +1 -0
  20. package/dist/tools/directions-tool/formatIsoDateTime.js +17 -0
  21. package/dist/tools/directions-tool/formatIsoDateTime.js.map +1 -0
  22. package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts +2 -0
  23. package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts.map +1 -0
  24. package/dist/tools/directions-tool/formatIsoDateTime.test.js +26 -0
  25. package/dist/tools/directions-tool/formatIsoDateTime.test.js.map +1 -0
  26. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts +3 -3
  27. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -1
  28. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js +11 -6
  29. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -1
  30. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js +57 -1
  31. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js.map +1 -1
  32. package/dist/tools/poi-search-tool/PoiSearchTool.d.ts +3 -0
  33. package/dist/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -1
  34. package/dist/tools/poi-search-tool/PoiSearchTool.js +13 -3
  35. package/dist/tools/poi-search-tool/PoiSearchTool.js.map +1 -1
  36. package/dist/tools/poi-search-tool/PoiSearchTool.test.js +56 -0
  37. package/dist/tools/poi-search-tool/PoiSearchTool.test.js.map +1 -1
  38. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +3 -0
  39. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  40. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js +13 -3
  41. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  42. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js +58 -0
  43. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js.map +1 -1
  44. package/dist/tools/schema-validation.test.d.ts +2 -0
  45. package/dist/tools/schema-validation.test.d.ts.map +1 -0
  46. package/dist/tools/schema-validation.test.js +81 -0
  47. package/dist/tools/schema-validation.test.js.map +1 -0
  48. package/dist/tools/version-tool/VersionTool.d.ts +18 -0
  49. package/dist/tools/version-tool/VersionTool.d.ts.map +1 -0
  50. package/dist/tools/version-tool/VersionTool.js +50 -0
  51. package/dist/tools/version-tool/VersionTool.js.map +1 -0
  52. package/dist/tools/version-tool/VersionTool.test.d.ts +2 -0
  53. package/dist/tools/version-tool/VersionTool.test.d.ts.map +1 -0
  54. package/dist/tools/version-tool/VersionTool.test.js +49 -0
  55. package/dist/tools/version-tool/VersionTool.test.js.map +1 -0
  56. package/dist/utils/requestUtils.d.ts.map +1 -1
  57. package/dist/utils/requestUtils.js +33 -2
  58. package/dist/utils/requestUtils.js.map +1 -1
  59. package/dist/utils/requestUtils.test-helpers.d.ts.map +1 -1
  60. package/dist/utils/requestUtils.test-helpers.js +5 -1
  61. package/dist/utils/requestUtils.test-helpers.js.map +1 -1
  62. package/dist/utils/requestUtils.test.d.ts +2 -0
  63. package/dist/utils/requestUtils.test.d.ts.map +1 -0
  64. package/dist/utils/requestUtils.test.js +115 -0
  65. package/dist/utils/requestUtils.test.js.map +1 -0
  66. package/dist/utils/schemaUtils.d.ts +9 -0
  67. package/dist/utils/schemaUtils.d.ts.map +1 -0
  68. package/dist/utils/schemaUtils.js +25 -0
  69. package/dist/utils/schemaUtils.js.map +1 -0
  70. package/dist/utils/versionUtils.d.ts.map +1 -1
  71. package/dist/utils/versionUtils.js +21 -5
  72. package/dist/utils/versionUtils.js.map +1 -1
  73. package/dist/version.json +4 -4
  74. package/package.json +2 -2
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Mapbox MCP Server
2
2
 
3
+ [![npm version](https://badge.fury.io/js/@mapbox%2Fmcp-server.svg)](https://badge.fury.io/js/@mapbox%2Fmcp-server)
4
+
3
5
  Node.js server implementing Model Context Protocol (MCP) for Mapbox APIs.
4
6
 
5
7
  ## Unlock Geospatial Intelligence for Your AI Applications
@@ -35,8 +37,44 @@ For detailed setup instructions for different integrations, refer to the followi
35
37
 
36
38
  - [Claude Desktop Setup](./docs/claude-desktop-setup.md) - Instructions for configuring Claude Desktop to work with this MCP server
37
39
  - [VS Code Setup](./docs/vscode-setup.md) - Setting up a development environment in Visual Studio Code
40
+ - [Cursor AI IDE Setup](./docs/cursor-setup.md) - Setting up a development environment in Cursor AI IDE
38
41
  - [Smolagents Integration](./docs/using-mcp-with-smolagents/README.md) - Example showing how to connect Smolagents AI agents to Mapbox's tools
39
42
 
43
+ ## Example Prompts
44
+
45
+ Try these prompts with Claude Desktop or other MCP clients after setup:
46
+
47
+ ### Location Discovery
48
+
49
+ - "Find coffee shops within walking distance of the Empire State Building"
50
+ - "Show me gas stations along the route from Boston to New York"
51
+ - "What restaurants are near Times Square?"
52
+
53
+ ### Navigation & Travel
54
+
55
+ - "Get driving directions from LAX to Hollywood with current traffic"
56
+ - "How long would it take to walk from Central Park to Times Square?"
57
+ - "Calculate travel time from my hotel (Four Seasons) to JFK Airport by taxi during rush hour"
58
+
59
+ ### Visualization & Maps
60
+
61
+ - "Create a map image showing the route from Golden Gate Bridge to Fisherman's Wharf with markers at both locations"
62
+ - "Show me a satellite view of Manhattan with key landmarks marked"
63
+ - "Generate a map highlighting all Starbucks locations within a mile of downtown Seattle"
64
+
65
+ ### Analysis & Planning
66
+
67
+ - "Show me areas reachable within 30 minutes of downtown Portland by car"
68
+ - "Calculate a travel time matrix between these 3 hotel locations (Marriott, Sheraton and Hilton) and the convention center in Denver"
69
+ - "Find the optimal route visiting these 3 tourist attractions (Golden Gate, Musical Stairs and Fisherman's Wharf) in San Francisco"
70
+
71
+ ### Tips for Better Results
72
+
73
+ - Be specific about locations (use full addresses or landmark names)
74
+ - Specify your preferred travel method (driving, walking, cycling)
75
+ - Include time constraints when relevant ("during rush hour", "at 3 PM")
76
+ - Ask for specific output formats when needed ("as a map image", "in JSON format")
77
+
40
78
  ## Tools
41
79
 
42
80
  ### Mapbox API tools
@@ -112,13 +150,12 @@ Fetches routing directions using the [Mapbox Directions API](https://docs.mapbox
112
150
  - Future departure time (`depart_at`) for driving and driving-traffic profiles
113
151
  - Desired arrival time (`arrive_by`) for driving profile only
114
152
  - Profile-specific optimizations:
115
- - Walking: customizable walking speed and bias for/against walkways
116
153
  - Driving: vehicle dimension constraints (height, width, weight)
117
154
  - Exclusion options for routing:
118
155
  - Common exclusions: ferry routes, cash-only tolls
119
156
  - Driving-specific exclusions: tolls, motorways, unpaved roads, tunnels, country borders, state borders
120
157
  - Custom point exclusions (up to 50 geographic points to avoid)
121
- - Multiple geometry output formats (GeoJSON, polyline)
158
+ - GeoJSON geometry output format
122
159
 
123
160
  #### Isochrone tool
124
161
 
@@ -169,9 +206,53 @@ Set `VERBOSE_ERRORS=true` to get detailed error messages from the MCP server. Th
169
206
 
170
207
  By default, the server returns generic error messages. With verbose errors enabled, you'll receive the actual error details, which can help diagnose API connection issues, invalid parameters, or other problems.
171
208
 
172
- ## Feedback
209
+ ## Data Usage & Privacy
210
+
211
+ ### What data is sent to Mapbox APIs
212
+
213
+ When you use the MCP server tools, the following data is sent directly from your environment to Mapbox APIs:
214
+
215
+ - **Geocoding tools**: Address/location text, coordinates, country/region filters
216
+ - **Search tools**: Search queries, location coordinates for proximity, category filters
217
+ - **Directions tool**: Start/end coordinates, waypoints, routing preferences, vehicle constraints
218
+ - **Matrix tool**: Multiple coordinate pairs, travel profile, departure times
219
+ - **Static map tool**: Coordinates, zoom level, styling preferences, marker information
220
+ - **Isochrone tool**: Origin coordinates, time/distance parameters, travel profile
221
+
222
+ ### Your privacy
223
+
224
+ - **Local execution**: All API calls are made directly from your environment to Mapbox APIs
225
+ - **Token security**: Your Mapbox API token remains on your local machine and is never transmitted to or stored by this MCP server
226
+ - **No data storage**: This MCP server does not store, log, or collect any of your data or API requests
227
+ - **Direct communication**: There is no intermediary server between you and Mapbox APIs
228
+
229
+ ### Third-party data usage
230
+
231
+ - **Mapbox's privacy policy** governs data sent to their APIs: https://www.mapbox.com/legal/privacy/
232
+ - **API usage**: Standard Mapbox API terms apply to all requests made through these tools
233
+ - **Data retention**: Refer to Mapbox's documentation for their data retention policies
234
+
235
+ ## Support & Contact
236
+
237
+ ### For MCP Server Issues
238
+
239
+ - **Email**: mcp-feedback@mapbox.com
240
+ - **GitHub Issues**: [Report bugs and feature requests](https://github.com/mapbox/mcp-server/issues)
241
+
242
+ ### For Mapbox API Questions
243
+
244
+ - **Mapbox Support**: https://support.mapbox.com/
245
+ - **Documentation**: https://docs.mapbox.com/
246
+ - **API Status**: https://status.mapbox.com/
247
+
248
+ ### Maintenance Commitment
249
+
250
+ This MCP server is officially maintained by Mapbox, Inc. We provide:
173
251
 
174
- For feedback and questions about this MCP server, email mcp-feedback@mapbox.com.
252
+ - Regular updates for new Mapbox API features
253
+ - Bug fixes and security updates
254
+ - Compatibility with latest MCP protocol versions
255
+ - Community support through GitHub issues
175
256
 
176
257
  ---
177
258
 
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ import { MatrixTool } from './tools/matrix-tool/MatrixTool.js';
9
9
  import { PoiSearchTool } from './tools/poi-search-tool/PoiSearchTool.js';
10
10
  import { ReverseGeocodeTool } from './tools/reverse-geocode-tool/ReverseGeocodeTool.js';
11
11
  import { StaticMapImageTool } from './tools/static-map-image-tool/StaticMapImageTool.js';
12
+ import { VersionTool } from './tools/version-tool/VersionTool.js';
12
13
  import { patchGlobalFetch } from './utils/requestUtils.js';
13
14
  import { getVersionInfo } from './utils/versionUtils.js';
14
15
  // INSERT NEW TOOL IMPORT HERE
@@ -24,6 +25,7 @@ const server = new McpServer({
24
25
  }
25
26
  });
26
27
  // INSERT NEW TOOL REGISTRATION HERE
28
+ new VersionTool().installTo(server);
27
29
  new MatrixTool().installTo(server);
28
30
  new ReverseGeocodeTool().installTo(server);
29
31
  new ForwardGeocodeTool().installTo(server);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACV,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,8BAA8B;AAE9B,IAAI,iBAAiB,GAAG,cAAc,EAAE,CAAC;AACzC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAEpC,uBAAuB;AACvB,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;IACE,IAAI,EAAE,iBAAiB,CAAC,IAAI;IAC5B,OAAO,EAAE,iBAAiB,CAAC,OAAO;CACnC,EACD;IACE,YAAY,EAAE;QACZ,OAAO,EAAE,EAAE;KACZ;CACF,CACF,CAAC;AAEF,oCAAoC;AACpC,IAAI,UAAU,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACnC,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACtC,IAAI,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACtC,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,cAAc,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAEvC,mEAAmE;AACnE,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,8BAA8B;AAE9B,IAAI,iBAAiB,GAAG,cAAc,EAAE,CAAC;AACzC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAEpC,uBAAuB;AACvB,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;IACE,IAAI,EAAE,iBAAiB,CAAC,IAAI;IAC5B,OAAO,EAAE,iBAAiB,CAAC,OAAO;CACnC,EACD;IACE,YAAY,EAAE;QACZ,OAAO,EAAE,EAAE;KACZ;CACF,CACF,CAAC;AAEF,oCAAoC;AACpC,IAAI,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpC,IAAI,UAAU,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACnC,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACtC,IAAI,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACtC,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,cAAc,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAEvC,mEAAmE;AACnE,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
@@ -1,39 +1,21 @@
1
1
  import { z } from 'zod';
2
2
  import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
3
- declare const DirectionsInputSchema: z.ZodObject<{
4
- coordinates: z.ZodArray<z.ZodObject<{
5
- longitude: z.ZodNumber;
6
- latitude: z.ZodNumber;
7
- }, "strip", z.ZodTypeAny, {
8
- longitude: number;
9
- latitude: number;
10
- }, {
11
- longitude: number;
12
- latitude: number;
13
- }>, "many">;
3
+ export declare const DirectionsInputSchema: z.ZodObject<{
4
+ coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>, "many">;
14
5
  routing_profile: z.ZodDefault<z.ZodOptional<z.ZodEnum<["driving-traffic", "driving", "walking", "cycling"]>>>;
15
- walking_speed: z.ZodOptional<z.ZodNumber>;
16
- walkway_bias: z.ZodOptional<z.ZodNumber>;
17
- geometries: z.ZodDefault<z.ZodOptional<z.ZodEnum<["geojson", "polyline", "polyline6"]>>>;
6
+ geometries: z.ZodDefault<z.ZodOptional<z.ZodEnum<["none", "geojson"]>>>;
18
7
  max_height: z.ZodOptional<z.ZodNumber>;
19
8
  max_width: z.ZodOptional<z.ZodNumber>;
20
9
  max_weight: z.ZodOptional<z.ZodNumber>;
21
10
  alternatives: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
22
- annotations: z.ZodOptional<z.ZodArray<z.ZodEnum<["distance", "duration", "speed", "congestion"]>, "many">>;
23
11
  depart_at: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
24
12
  arrive_by: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
25
13
  exclude: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
26
14
  }, "strip", z.ZodTypeAny, {
27
- coordinates: {
28
- longitude: number;
29
- latitude: number;
30
- }[];
15
+ coordinates: number[][];
31
16
  routing_profile: "driving-traffic" | "driving" | "walking" | "cycling";
32
- geometries: "geojson" | "polyline" | "polyline6";
17
+ geometries: "none" | "geojson";
33
18
  alternatives: boolean;
34
- annotations?: ("distance" | "duration" | "speed" | "congestion")[] | undefined;
35
- walking_speed?: number | undefined;
36
- walkway_bias?: number | undefined;
37
19
  max_height?: number | undefined;
38
20
  max_width?: number | undefined;
39
21
  max_weight?: number | undefined;
@@ -41,15 +23,9 @@ declare const DirectionsInputSchema: z.ZodObject<{
41
23
  arrive_by?: string | undefined;
42
24
  exclude?: string | undefined;
43
25
  }, {
44
- coordinates: {
45
- longitude: number;
46
- latitude: number;
47
- }[];
48
- annotations?: ("distance" | "duration" | "speed" | "congestion")[] | undefined;
26
+ coordinates: number[][];
49
27
  routing_profile?: "driving-traffic" | "driving" | "walking" | "cycling" | undefined;
50
- walking_speed?: number | undefined;
51
- walkway_bias?: number | undefined;
52
- geometries?: "geojson" | "polyline" | "polyline6" | undefined;
28
+ geometries?: "none" | "geojson" | undefined;
53
29
  max_height?: number | undefined;
54
30
  max_width?: number | undefined;
55
31
  max_weight?: number | undefined;
@@ -64,5 +40,4 @@ export declare class DirectionsTool extends MapboxApiBasedTool<typeof Directions
64
40
  constructor();
65
41
  protected execute(input: z.infer<typeof DirectionsInputSchema>): Promise<any>;
66
42
  }
67
- export {};
68
43
  //# sourceMappingURL=DirectionsTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DirectionsTool.d.ts","sourceRoot":"","sources":["../../../src/tools/directions-tool/DirectionsTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAsH9D,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8MzB,CAAC;AACH,qBAAa,cAAe,SAAQ,kBAAkB,CACpD,OAAO,qBAAqB,CAC7B;IACC,IAAI,SAAoB;IACxB,WAAW,SACgF;;cAK3E,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,GAC3C,OAAO,CAAC,GAAG,CAAC;CAiLhB"}
1
+ {"version":3,"file":"DirectionsTool.d.ts","sourceRoot":"","sources":["../../../src/tools/directions-tool/DirectionsTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAyH9D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiLhC,CAAC;AACH,qBAAa,cAAe,SAAQ,kBAAkB,CACpD,OAAO,qBAAqB,CAC7B;IACC,IAAI,SAAoB;IACxB,WAAW,SACgF;;cAK3E,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,GAC3C,OAAO,CAAC,GAAG,CAAC;CAuKhB"}
@@ -1,6 +1,8 @@
1
1
  import { URLSearchParams } from 'url';
2
2
  import { z } from 'zod';
3
3
  import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
4
+ import { cleanResponseData } from './cleanResponseData.js';
5
+ import { formatIsoDateTime } from './formatIsoDateTime.js';
4
6
  // Docs: https://docs.mapbox.com/api/navigation/directions/
5
7
  /**
6
8
  * Validates ISO 8601 date-time formats used by Mapbox Directions API
@@ -9,15 +11,16 @@ import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
9
11
  const validateIsoDateTime = (val, ctx) => {
10
12
  if (!val)
11
13
  return; // Optional, so empty is fine
12
- // ISO 8601 regex patterns for the three formats mentioned in the docs
14
+ // ISO 8601 regex patterns for the valid formats mentioned in the docs
13
15
  // 1. YYYY-MM-DDThh:mm:ssZ (exactly one Z at the end)
14
16
  // 2. YYYY-MM-DDThh:mm:ss±hh:mm (timezone offset with colon)
15
17
  // 3. YYYY-MM-DDThh:mm (no seconds, no timezone)
16
- const iso8601Pattern = /^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$)|(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}$)|(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$)/;
18
+ // 4. YYYY-MM-DDThh:mm:ss (with seconds but no timezone) - will be converted to format 3
19
+ const iso8601Pattern = /^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$)|(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}$)|(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$)|(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$)/;
17
20
  if (!iso8601Pattern.test(val)) {
18
21
  ctx.addIssue({
19
22
  code: z.ZodIssueCode.custom,
20
- message: 'Invalid date-time format. Must be in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ, YYYY-MM-DDThh:mmss±hh:mm, or YYYY-MM-DDThh:mm',
23
+ message: 'Invalid date-time format. Must be in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ, YYYY-MM-DDThh:mmss±hh:mm, YYYY-MM-DDThh:mm, or YYYY-MM-DDThh:mm:ss',
21
24
  path: []
22
25
  });
23
26
  return; // Stop further validation if format is invalid
@@ -99,21 +102,20 @@ const validateIsoDateTime = (val, ctx) => {
99
102
  });
100
103
  }
101
104
  };
102
- const DirectionsInputSchema = z.object({
105
+ export const DirectionsInputSchema = z.object({
103
106
  coordinates: z
104
- .array(z.object({
105
- longitude: z
106
- .number()
107
- .min(-180, 'Longitude must be between -180 and 180 degrees')
108
- .max(180, 'Longitude must be between -180 and 180 degrees'),
109
- latitude: z
110
- .number()
111
- .min(-90, 'Latitude must be between -90 and 90 degrees')
112
- .max(90, 'Latitude must be between -90 and 90 degrees')
107
+ .array(z
108
+ .array(z.number())
109
+ .length(2)
110
+ .refine((coord) => {
111
+ const [lng, lat] = coord;
112
+ return lng >= -180 && lng <= 180 && lat >= -90 && lat <= 90;
113
+ }, {
114
+ message: 'Each coordinate must be [longitude, latitude] where longitude is between -180 and 180, and latitude is between -90 and 90'
113
115
  }))
114
116
  .min(2, 'At least two coordinate pairs are required.')
115
117
  .max(25, 'Up to 25 coordinate pairs are supported.')
116
- .describe('Array of coordinate objects with longitude and latitude properties to visit in order. ' +
118
+ .describe('Array of [longitude, latitude] coordinate pairs to visit in order. ' +
117
119
  'Must include at least 2 coordinate pairs (starting and ending points). ' +
118
120
  'Up to 25 coordinates total are supported.'),
119
121
  routing_profile: z
@@ -125,28 +127,13 @@ const DirectionsInputSchema = z.object({
125
127
  '- driving: automotive based on typical traffic\n' +
126
128
  '- walking: pedestrian/hiking\n' +
127
129
  '- cycling: bicycle'),
128
- walking_speed: z
129
- .number()
130
- .min(0.14, 'Walking speed must be between 0.14 and 6.94 meters per second')
131
- .max(6.94, 'Walking speed must be between 0.14 and 6.94 meters per second')
132
- .optional()
133
- .describe('The walking speed, in meters per second. Must be between 0.14 m/s (0.5 km/h) and ' +
134
- '6.94 m/s (25 km/h). Defaults to 1.42 m/s (5.1 km/h). Only available for walking profile.'),
135
- walkway_bias: z
136
- .number()
137
- .min(-1, 'Walkway bias must be between -1 and 1')
138
- .max(1, 'Walkway bias must be between -1 and 1')
139
- .optional()
140
- .describe('A scale from -1 to 1, where -1 biases the route against walkways and 1 biases the ' +
141
- 'route toward walkways. The default is 0, which is neutral. Only available for walking profile.'),
142
130
  geometries: z
143
- .enum(['geojson', 'polyline', 'polyline6'])
131
+ .enum(['none', 'geojson'])
144
132
  .optional()
145
- .default('polyline')
133
+ .default('none')
146
134
  .describe('The format of the returned geometry. Options: \n' +
147
- '- geojson: as GeoJSON LineString\n' +
148
- '- polyline (default): a polyline with a precision of five decimal places\n' +
149
- '- polyline6: a polyline with a precision of six decimal places'),
135
+ '- none (default): no geometry object is returned at all, use this if you do not need all of the intermediate coordinates.\n' +
136
+ '- geojson: as GeoJSON LineString (might be very long as there could be a lot of points)'),
150
137
  max_height: z
151
138
  .number()
152
139
  .min(0, 'Vehicle height must be between 0 and 10 meters')
@@ -180,16 +167,6 @@ const DirectionsInputSchema = z.object({
180
167
  .default(false)
181
168
  .describe('Whether to try to return alternative routes (true) or not (false, default). ' +
182
169
  'Up to two alternatives may be returned.'),
183
- annotations: z
184
- .array(
185
- // Note: more options are available in the Directions API documentation, not added here for simplicity
186
- z.enum(['distance', 'duration', 'speed', 'congestion']))
187
- .optional()
188
- .describe('Return additional details about the route leg. Options: \n' +
189
- '- distance: distance in meters between each coordinate pair\n' +
190
- '- duration: estimated travel time in seconds between points\n' +
191
- '- speed: average speed in m/s for each coordinate pair\n' +
192
- '- congestion: traffic congestion level ("severe", "heavy", "moderate", "low")\n'),
193
170
  depart_at: z
194
171
  .string()
195
172
  .optional()
@@ -335,32 +312,36 @@ export class DirectionsTool extends MapboxApiBasedTool {
335
312
  !isDrivingProfile) {
336
313
  throw new Error(`Vehicle dimension parameters (max_height, max_width, max_weight) are only available for 'driving' and 'driving-traffic' profiles`);
337
314
  }
338
- // Validate walking-specific parameters are only used with walking profile
339
- if ((input.walking_speed !== undefined || input.walkway_bias !== undefined) &&
340
- input.routing_profile !== 'walking') {
341
- throw new Error(`Walking parameters (walking_speed, walkway_bias) are only available for the 'walking' profile`);
342
- }
343
315
  const joined = input.coordinates
344
- .map(({ longitude, latitude }) => `${longitude},${latitude}`)
316
+ .map(([lng, lat]) => `${lng},${lat}`)
345
317
  .join(';');
346
318
  const encodedCoords = encodeURIComponent(joined);
347
319
  // Build query parameters
348
320
  const queryParams = new URLSearchParams();
349
321
  queryParams.append('access_token', MapboxApiBasedTool.MAPBOX_ACCESS_TOKEN);
350
- queryParams.append('geometries', input.geometries);
322
+ // Only add geometries parameter if not 'none'
323
+ if (input.geometries !== 'none') {
324
+ queryParams.append('geometries', input.geometries);
325
+ }
351
326
  queryParams.append('alternatives', input.alternatives.toString());
352
- // Add annotations parameter if provided
353
- if (input.annotations && input.annotations.length > 0) {
354
- queryParams.append('annotations', input.annotations.join(','));
355
- // For annotations to work, overview must be set to 'full'
356
- queryParams.append('overview', 'full');
327
+ // Add annotations parameter
328
+ if (input.routing_profile === 'driving-traffic') {
329
+ // congestion is available only when driving
330
+ queryParams.append('annotations', 'distance,congestion,speed');
331
+ }
332
+ else {
333
+ queryParams.append('annotations', 'distance,speed');
357
334
  }
358
- // Add depart_at or arrive_by parameter if provided
335
+ // For annotations to work, overview must be set to 'full'
336
+ queryParams.append('overview', 'full');
337
+ // Add depart_at or arrive_by parameter if provided, converting format if needed
359
338
  if (input.depart_at) {
360
- queryParams.append('depart_at', input.depart_at);
339
+ const formattedDateTime = formatIsoDateTime(input.depart_at);
340
+ queryParams.append('depart_at', formattedDateTime);
361
341
  }
362
342
  else if (input.arrive_by) {
363
- queryParams.append('arrive_by', input.arrive_by);
343
+ const formattedDateTime = formatIsoDateTime(input.arrive_by);
344
+ queryParams.append('arrive_by', formattedDateTime);
364
345
  }
365
346
  // Add vehicle dimension parameters if provided
366
347
  if (input.max_height !== undefined) {
@@ -372,13 +353,7 @@ export class DirectionsTool extends MapboxApiBasedTool {
372
353
  if (input.max_weight !== undefined) {
373
354
  queryParams.append('max_weight', input.max_weight.toString());
374
355
  }
375
- // Add walking-specific parameters if provided
376
- if (input.walking_speed !== undefined) {
377
- queryParams.append('walking_speed', input.walking_speed.toString());
378
- }
379
- if (input.walkway_bias !== undefined) {
380
- queryParams.append('walkway_bias', input.walkway_bias.toString());
381
- }
356
+ queryParams.append('steps', 'true');
382
357
  let queryString = queryParams.toString();
383
358
  // Add exclude parameter if provided (ensuring proper encoding of special characters)
384
359
  if (input.exclude) {
@@ -399,7 +374,7 @@ export class DirectionsTool extends MapboxApiBasedTool {
399
374
  throw new Error(`Request failed with status ${response.status}: ${response.statusText}`);
400
375
  }
401
376
  const data = await response.json();
402
- return data;
377
+ return cleanResponseData(input, data);
403
378
  }
404
379
  }
405
380
  //# sourceMappingURL=DirectionsTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DirectionsTool.js","sourceRoot":"","sources":["../../../src/tools/directions-tool/DirectionsTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,2DAA2D;AAE3D;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAC1B,GAAuB,EACvB,GAAoB,EACd,EAAE;IACR,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,6BAA6B;IAE/C,sEAAsE;IACtE,qDAAqD;IACrD,4DAA4D;IAC5D,gDAAgD;IAChD,MAAM,cAAc,GAClB,iIAAiI,CAAC;IAEpI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EACL,2HAA2H;YAC7H,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QACH,OAAO,CAAC,+CAA+C;IACzD,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC;QACH,mCAAmC;QACnC,IAAI,kBAA4B,CAAC;QACjC,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,iCAAiC;YACjC,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;YACtD,sDAAsD;YACtD,qCAAqC;YACrC,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CACrC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EACpB,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CACrB,CAAC;YACF,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzE,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,kBAAkB,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,kBAAkB,CAAC;QAChD,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE3D,IAAI,KAAK,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,CAAC;QACd,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClD,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACrB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,kBAAkB;QAClB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,kBAAkB,KAAK,6BAA6B;gBAC7D,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;QACL,CAAC;QAED,oEAAoE;QACpE,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,gBAAgB,GAAG,2BAA2B,WAAW,CAAC,KAAK,CAAC,cAAc,KAAK,GAAG;gBAC/F,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;QACL,CAAC;QAED,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,kBAAkB,KAAK,6BAA6B;gBAC7D,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;YAChC,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,oBAAoB,OAAO,6BAA6B;gBACjE,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;YAChC,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,oBAAoB,OAAO,6BAA6B;gBACjE,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,uCAAuC,KAAK,EAAE;YACvD,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,WAAW,EAAE,CAAC;SACX,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,GAAG,EAAE,gDAAgD,CAAC;aAC3D,GAAG,CAAC,GAAG,EAAE,gDAAgD,CAAC;QAC7D,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,EAAE,6CAA6C,CAAC;aACvD,GAAG,CAAC,EAAE,EAAE,6CAA6C,CAAC;KAC1D,CAAC,CACH;SACA,GAAG,CAAC,CAAC,EAAE,6CAA6C,CAAC;SACrD,GAAG,CAAC,EAAE,EAAE,0CAA0C,CAAC;SACnD,QAAQ,CACP,wFAAwF;QACtF,yEAAyE;QACzE,2CAA2C,CAC9C;IACH,eAAe,EAAE,CAAC;SACf,IAAI,CAAC,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SAC1D,QAAQ,EAAE;SACV,OAAO,CAAC,iBAAiB,CAAC;SAC1B,QAAQ,CACP,+DAA+D;QAC7D,2EAA2E;QAC3E,kDAAkD;QAClD,gCAAgC;QAChC,oBAAoB,CACvB;IACH,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,EAAE,+DAA+D,CAAC;SAC1E,GAAG,CAAC,IAAI,EAAE,+DAA+D,CAAC;SAC1E,QAAQ,EAAE;SACV,QAAQ,CACP,mFAAmF;QACjF,0FAA0F,CAC7F;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC,EAAE,uCAAuC,CAAC;SAChD,GAAG,CAAC,CAAC,EAAE,uCAAuC,CAAC;SAC/C,QAAQ,EAAE;SACV,QAAQ,CACP,oFAAoF;QAClF,gGAAgG,CACnG;IACH,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;SAC1C,QAAQ,EAAE;SACV,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CACP,kDAAkD;QAChD,oCAAoC;QACpC,4EAA4E;QAC5E,gEAAgE,CACnE;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,gDAAgD,CAAC;SACxD,GAAG,CAAC,EAAE,EAAE,gDAAgD,CAAC;SACzD,QAAQ,EAAE;SACV,QAAQ,CACP,sGAAsG;QACpG,uEAAuE;QACvE,oEAAoE;QACpE,0DAA0D,CAC7D;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,+CAA+C,CAAC;SACvD,GAAG,CAAC,EAAE,EAAE,+CAA+C,CAAC;SACxD,QAAQ,EAAE;SACV,QAAQ,CACP,qGAAqG;QACnG,qEAAqE;QACrE,oEAAoE;QACpE,0DAA0D,CAC7D;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,sDAAsD,CAAC;SAC9D,GAAG,CAAC,GAAG,EAAE,sDAAsD,CAAC;SAChE,QAAQ,EAAE;SACV,QAAQ,CACP,qHAAqH;QACnH,uEAAuE;QACvE,+EAA+E;QAC/E,0DAA0D,CAC7D;IACH,YAAY,EAAE,CAAC;SACZ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,8EAA8E;QAC5E,yCAAyC,CAC5C;IACH,WAAW,EAAE,CAAC;SACX,KAAK;IACJ,sGAAsG;IACtG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CACxD;SACA,QAAQ,EAAE;SACV,QAAQ,CACP,4DAA4D;QAC1D,+DAA+D;QAC/D,+DAA+D;QAC/D,0DAA0D;QAC1D,iFAAiF,CACpF;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,WAAW,CAAC,mBAAmB,CAAC;SAChC,QAAQ,CACP,+GAA+G;QAC7G,iFAAiF;QACjF,oFAAoF,CACvF;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,WAAW,CAAC,mBAAmB,CAAC;SAChC,QAAQ,CACP,qHAAqH;QACnH,6HAA6H;QAC7H,oFAAoF,CACvF;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACxB,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,6BAA6B;QAE/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAExD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,kCAAkC;YAClC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3D,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE7C,4BAA4B;gBAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;oBACvB,GAAG,CAAC,QAAQ,CAAC;wBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;wBAC3B,OAAO,EAAE,+CAA+C,IAAI,wCAAwC;wBACpG,IAAI,EAAE,EAAE;qBACT,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,+BAA+B;gBAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;oBAC1C,GAAG,CAAC,QAAQ,CAAC;wBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;wBAC3B,OAAO,EAAE,4CAA4C,MAAM,0CAA0C;wBACrG,IAAI,EAAE,EAAE;qBACT,CAAC,CAAC;gBACL,CAAC;gBAED,8BAA8B;gBAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;oBACxC,GAAG,CAAC,QAAQ,CAAC;wBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;wBAC3B,OAAO,EAAE,2CAA2C,MAAM,wCAAwC;wBAClG,IAAI,EAAE,EAAE;qBACT,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,uCAAuC;iBAClC,IACH,CAAC;gBACC,MAAM;gBACN,iBAAiB;gBACjB,UAAU;gBACV,OAAO;gBACP,SAAS;gBACT,QAAQ;gBACR,gBAAgB;gBAChB,cAAc;aACf,CAAC,QAAQ,CAAC,IAAI,CAAC,EAChB,CAAC;gBACD,GAAG,CAAC,QAAQ,CAAC;oBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,4BAA4B,IAAI,uHAAuH;oBAChK,IAAI,EAAE,EAAE;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC;SACD,QAAQ,CACP,2EAA2E;QACzE,8DAA8D;QAC9D,sBAAsB;QACtB,2CAA2C;QAC3C,gIAAgI;QAChI,8HAA8H;QAC9H,kHAAkH,CACrH;CACJ,CAAC,CAAC;AACH,MAAM,OAAO,cAAe,SAAQ,kBAEnC;IACC,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GACT,wFAAwF,CAAC;IAE3F;QACE,KAAK,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAChD,CAAC;IACS,KAAK,CAAC,OAAO,CACrB,KAA4C;QAE5C,gEAAgE;QAChE,mEAAmE;QACnE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;YACtD,MAAM,qBAAqB,GAAG;gBAC5B,MAAM;gBACN,UAAU;gBACV,SAAS;gBACT,QAAQ;gBACR,gBAAgB;gBAChB,cAAc;aACf,CAAC;YAEF,MAAM,gBAAgB,GACpB,KAAK,CAAC,eAAe,KAAK,iBAAiB;gBAC3C,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAElE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,6BAA6B;gBAC7B,IACE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAClB,CAAC,gBAAgB,EACjB,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,mEAAmE,CAC7F,CAAC;gBACJ,CAAC;gBACD,oCAAoC;qBAC/B,IAAI,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACnE,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,kEAAkE,CAC5F,CAAC;gBACJ,CAAC;gBACD,6CAA6C;qBACxC,IACH,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACrC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,wBAAwB;wBACtD,2CAA2C;wBAC3C,0MAA0M,CAC7M,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GACpB,KAAK,CAAC,eAAe,KAAK,iBAAiB;YAC3C,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC;QAEtC,wDAAwD;QACxD,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAED,8DAA8D;QAC9D,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;QACJ,CAAC;QAED,4EAA4E;QAC5E,IACE,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;YAC7B,KAAK,CAAC,SAAS,KAAK,SAAS;YAC7B,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC;YACjC,CAAC,gBAAgB,EACjB,CAAC;YACD,MAAM,IAAI,KAAK,CACb,kIAAkI,CACnI,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,IACE,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC;YACvE,KAAK,CAAC,eAAe,KAAK,SAAS,EACnC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW;aAC7B,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC;aAC5D,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEjD,yBAAyB;QACzB,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,WAAW,CAAC,MAAM,CAChB,cAAc,EACd,kBAAkB,CAAC,mBAA6B,CACjD,CAAC;QACF,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACnD,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAElE,wCAAwC;QACxC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,WAAW,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/D,0DAA0D;YAC1D,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,mDAAmD;QACnD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAC3B,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC;QAED,+CAA+C;QAC/C,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,8CAA8C;QAC9C,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACtC,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAEzC,qFAAqF;QACrF,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,iEAAiE;YACjE,MAAM,sBAAsB,GAAG,CAAC,GAAW,EAAE,EAAE;gBAC7C,OAAO,GAAG;qBACP,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,eAAe;qBACpC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,6BAA6B;qBACnD,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,6BAA6B;qBACnD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,6BAA6B;YACxD,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7D,WAAW,IAAI,YAAY,cAAc,EAAE,CAAC;QAC9C,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,kBAAkB,CAAC,mBAAmB,wBAAwB,KAAK,CAAC,eAAe,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;QACrI,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"DirectionsTool.js","sourceRoot":"","sources":["../../../src/tools/directions-tool/DirectionsTool.ts"],"names":[],"mappings":"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"}