@mapbox/mcp-server 0.12.6 → 0.12.7-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/resources/ui-apps/DirectionsAppUIResource.d.ts +3 -2
- package/dist/commonjs/resources/ui-apps/DirectionsAppUIResource.d.ts.map +1 -1
- package/dist/commonjs/resources/ui-apps/DirectionsAppUIResource.js +5 -3
- package/dist/commonjs/resources/ui-apps/DirectionsAppUIResource.js.map +1 -1
- package/dist/commonjs/resources/ui-apps/directionsAppHtml.d.ts +20 -8
- package/dist/commonjs/resources/ui-apps/directionsAppHtml.d.ts.map +1 -1
- package/dist/commonjs/resources/ui-apps/directionsAppHtml.js +136 -17
- package/dist/commonjs/resources/ui-apps/directionsAppHtml.js.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js +6 -2
- package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js +52 -109
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.d.ts +29 -0
- package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.d.ts.map +1 -0
- package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.js +63 -0
- package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.js.map +1 -0
- package/dist/commonjs/version.json +3 -3
- package/dist/esm/resources/ui-apps/DirectionsAppUIResource.d.ts +3 -2
- package/dist/esm/resources/ui-apps/DirectionsAppUIResource.d.ts.map +1 -1
- package/dist/esm/resources/ui-apps/DirectionsAppUIResource.js +5 -3
- package/dist/esm/resources/ui-apps/DirectionsAppUIResource.js.map +1 -1
- package/dist/esm/resources/ui-apps/directionsAppHtml.d.ts +20 -8
- package/dist/esm/resources/ui-apps/directionsAppHtml.d.ts.map +1 -1
- package/dist/esm/resources/ui-apps/directionsAppHtml.js +136 -17
- package/dist/esm/resources/ui-apps/directionsAppHtml.js.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js +6 -2
- package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.js +52 -109
- package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.d.ts +29 -0
- package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.d.ts.map +1 -0
- package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.js +60 -0
- package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.js.map +1 -0
- package/dist/esm/version.json +3 -3
- package/package.json +1 -1
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
// Copyright (c) Mapbox, Inc.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
|
-
import { URLSearchParams } from 'node:url';
|
|
4
3
|
import { randomBytes, randomUUID } from 'node:crypto';
|
|
5
4
|
import { createUIResource } from '@mcp-ui/server';
|
|
6
5
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
7
6
|
import { cleanResponseData } from './cleanResponseData.js';
|
|
8
|
-
import {
|
|
7
|
+
import { buildDirectionsRequestUrl } from './buildDirectionsRequestUrl.js';
|
|
9
8
|
import { DirectionsInputSchema } from './DirectionsTool.input.schema.js';
|
|
10
9
|
import { DirectionsResponseSchema } from './DirectionsTool.output.schema.js';
|
|
11
10
|
import { temporaryResourceManager } from '../../utils/temporaryResourceManager.js';
|
|
@@ -17,9 +16,11 @@ import { renderDirectionsAppHtml } from '../../resources/ui-apps/directionsAppHt
|
|
|
17
16
|
export class DirectionsTool extends MapboxApiBasedTool {
|
|
18
17
|
name = 'directions_tool';
|
|
19
18
|
description = 'Fetches directions from Mapbox API based on provided coordinates and direction method. ' +
|
|
20
|
-
'
|
|
21
|
-
'
|
|
22
|
-
'
|
|
19
|
+
'This tool always attaches an interactive map preview UI to its result; the map fetches and ' +
|
|
20
|
+
'renders its own route independently, so it works regardless of the geometries parameter. ' +
|
|
21
|
+
'Use geometries="none" (default) for compact text/data responses (distance, duration, ' +
|
|
22
|
+
'turn-by-turn instructions). Use geometries="geojson" only when you need the raw route ' +
|
|
23
|
+
'coordinates in the response yourself.';
|
|
23
24
|
annotations = {
|
|
24
25
|
title: 'Directions Tool',
|
|
25
26
|
readOnlyHint: true,
|
|
@@ -157,63 +158,11 @@ export class DirectionsTool extends MapboxApiBasedTool {
|
|
|
157
158
|
isError: true
|
|
158
159
|
};
|
|
159
160
|
}
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
const queryParams = new URLSearchParams();
|
|
166
|
-
queryParams.append('access_token', accessToken);
|
|
167
|
-
// Only add geometries parameter if not 'none'
|
|
168
|
-
if (input.geometries !== 'none') {
|
|
169
|
-
queryParams.append('geometries', input.geometries);
|
|
170
|
-
}
|
|
171
|
-
queryParams.append('alternatives', input.alternatives.toString());
|
|
172
|
-
// Add annotations parameter
|
|
173
|
-
if (input.routing_profile === 'mapbox/driving-traffic') {
|
|
174
|
-
// congestion is available only when driving
|
|
175
|
-
queryParams.append('annotations', 'distance,congestion,speed');
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
queryParams.append('annotations', 'distance,speed');
|
|
179
|
-
}
|
|
180
|
-
// For annotations to work, overview must be set to 'full'
|
|
181
|
-
queryParams.append('overview', 'full');
|
|
182
|
-
// Add depart_at or arrive_by parameter if provided, converting format if needed
|
|
183
|
-
if (input.depart_at) {
|
|
184
|
-
const formattedDateTime = formatIsoDateTime(input.depart_at);
|
|
185
|
-
queryParams.append('depart_at', formattedDateTime);
|
|
186
|
-
}
|
|
187
|
-
else if (input.arrive_by) {
|
|
188
|
-
const formattedDateTime = formatIsoDateTime(input.arrive_by);
|
|
189
|
-
queryParams.append('arrive_by', formattedDateTime);
|
|
190
|
-
}
|
|
191
|
-
// Add vehicle dimension parameters if provided
|
|
192
|
-
if (input.max_height !== undefined) {
|
|
193
|
-
queryParams.append('max_height', input.max_height.toString());
|
|
194
|
-
}
|
|
195
|
-
if (input.max_width !== undefined) {
|
|
196
|
-
queryParams.append('max_width', input.max_width.toString());
|
|
197
|
-
}
|
|
198
|
-
if (input.max_weight !== undefined) {
|
|
199
|
-
queryParams.append('max_weight', input.max_weight.toString());
|
|
200
|
-
}
|
|
201
|
-
queryParams.append('steps', 'true');
|
|
202
|
-
let queryString = queryParams.toString();
|
|
203
|
-
// Add exclude parameter if provided (ensuring proper encoding of special characters)
|
|
204
|
-
if (input.exclude) {
|
|
205
|
-
// Custom encoding function to match the expected format in tests
|
|
206
|
-
const customEncodeForExclude = (str) => {
|
|
207
|
-
return str
|
|
208
|
-
.replace(/,/g, '%2C') // Encode comma
|
|
209
|
-
.replace(/\(/g, '%28') // Encode opening parenthesis
|
|
210
|
-
.replace(/\)/g, '%29') // Encode closing parenthesis
|
|
211
|
-
.replace(/ /g, '%20'); // Encode space as %20, not +
|
|
212
|
-
};
|
|
213
|
-
const excludeEncoded = customEncodeForExclude(input.exclude);
|
|
214
|
-
queryString += `&exclude=${excludeEncoded}`;
|
|
215
|
-
}
|
|
216
|
-
const url = `${MapboxApiBasedTool.mapboxApiEndpoint}directions/v5/${input.routing_profile}/${encodedCoords}?${queryString}`;
|
|
161
|
+
const url = buildDirectionsRequestUrl({
|
|
162
|
+
input,
|
|
163
|
+
accessToken,
|
|
164
|
+
apiEndpoint: MapboxApiBasedTool.mapboxApiEndpoint
|
|
165
|
+
});
|
|
217
166
|
const response = await this.httpRequest(url);
|
|
218
167
|
if (!response.ok) {
|
|
219
168
|
const errorMessage = await this.getErrorMessage(response);
|
|
@@ -239,6 +188,20 @@ export class DirectionsTool extends MapboxApiBasedTool {
|
|
|
239
188
|
this.log('warning', `DirectionsTool: Response validation failed: ${error}`);
|
|
240
189
|
validatedData = cleanedData;
|
|
241
190
|
}
|
|
191
|
+
let uiResourceBlock;
|
|
192
|
+
if (isMcpUiEnabled()) {
|
|
193
|
+
const inlineHtml = await tryRenderInlineUiHtml(input, accessToken, this.httpRequest);
|
|
194
|
+
if (inlineHtml) {
|
|
195
|
+
uiResourceBlock = createUIResource({
|
|
196
|
+
uri: `ui://mapbox/directions/${randomUUID()}`,
|
|
197
|
+
content: { type: 'rawHtml', htmlString: inlineHtml },
|
|
198
|
+
encoding: 'text',
|
|
199
|
+
uiMetadata: {
|
|
200
|
+
'preferred-frame-size': ['100%', '500px']
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
242
205
|
// Check response size and conditionally create temporary resource
|
|
243
206
|
const RESPONSE_SIZE_THRESHOLD = 50 * 1024; // 50KB
|
|
244
207
|
const responseText = JSON.stringify(validatedData, null, 2);
|
|
@@ -287,8 +250,13 @@ ${responseSize > RESPONSE_SIZE_THRESHOLD ? `\n⚠️ Full response (${Math.round
|
|
|
287
250
|
legs: undefined
|
|
288
251
|
}))
|
|
289
252
|
};
|
|
253
|
+
const content = [
|
|
254
|
+
{ type: 'text', text: summaryText }
|
|
255
|
+
];
|
|
256
|
+
if (uiResourceBlock)
|
|
257
|
+
content.push(uiResourceBlock);
|
|
290
258
|
return {
|
|
291
|
-
content
|
|
259
|
+
content,
|
|
292
260
|
structuredContent: summaryStructuredContent,
|
|
293
261
|
isError: false
|
|
294
262
|
};
|
|
@@ -297,22 +265,8 @@ ${responseSize > RESPONSE_SIZE_THRESHOLD ? `\n⚠️ Full response (${Math.round
|
|
|
297
265
|
const content = [
|
|
298
266
|
{ type: 'text', text: responseText }
|
|
299
267
|
];
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
// carries a renderable GeoJSON geometry — i.e. geometries=geojson.
|
|
303
|
-
if (isMcpUiEnabled()) {
|
|
304
|
-
const inlineHtml = await tryRenderInlineUiHtml(validatedData, accessToken, this.httpRequest);
|
|
305
|
-
if (inlineHtml) {
|
|
306
|
-
content.push(createUIResource({
|
|
307
|
-
uri: `ui://mapbox/directions/${randomUUID()}`,
|
|
308
|
-
content: { type: 'rawHtml', htmlString: inlineHtml },
|
|
309
|
-
encoding: 'text',
|
|
310
|
-
uiMetadata: {
|
|
311
|
-
'preferred-frame-size': ['100%', '500px']
|
|
312
|
-
}
|
|
313
|
-
}));
|
|
314
|
-
}
|
|
315
|
-
}
|
|
268
|
+
if (uiResourceBlock)
|
|
269
|
+
content.push(uiResourceBlock);
|
|
316
270
|
return {
|
|
317
271
|
content,
|
|
318
272
|
structuredContent: validatedData,
|
|
@@ -321,25 +275,14 @@ ${responseSize > RESPONSE_SIZE_THRESHOLD ? `\n⚠️ Full response (${Math.round
|
|
|
321
275
|
}
|
|
322
276
|
}
|
|
323
277
|
/**
|
|
324
|
-
*
|
|
325
|
-
*
|
|
326
|
-
*
|
|
327
|
-
*
|
|
328
|
-
*
|
|
278
|
+
* Render the same DirectionsAppHtml as the MCP Apps resource, but with the
|
|
279
|
+
* call's input parameters baked in so the iframe can self-fetch the route
|
|
280
|
+
* from the Directions API — MCP-UI clients don't fetch external resources,
|
|
281
|
+
* so this is what makes the map work for them too. Attached unconditionally;
|
|
282
|
+
* the only failure mode is no public token being resolvable, in which case
|
|
283
|
+
* the caller falls back to text-only output.
|
|
329
284
|
*/
|
|
330
|
-
async function tryRenderInlineUiHtml(
|
|
331
|
-
const route = data.routes?.[0];
|
|
332
|
-
const geometry = route?.geometry;
|
|
333
|
-
// Accept either a GeoJSON LineString object or a polyline string — the
|
|
334
|
-
// iframe normalizes both shapes before rendering.
|
|
335
|
-
const hasGeojson = geometry &&
|
|
336
|
-
typeof geometry === 'object' &&
|
|
337
|
-
geometry.type === 'LineString' &&
|
|
338
|
-
Array.isArray(geometry.coordinates);
|
|
339
|
-
const hasPolyline = typeof geometry === 'string' && geometry.length > 0;
|
|
340
|
-
if (!hasGeojson && !hasPolyline) {
|
|
341
|
-
return undefined;
|
|
342
|
-
}
|
|
285
|
+
async function tryRenderInlineUiHtml(input, accessToken, httpRequest) {
|
|
343
286
|
const publicToken = await resolveMapboxPublicToken({
|
|
344
287
|
accessToken,
|
|
345
288
|
apiEndpoint: MapboxApiBasedTool.mapboxApiEndpoint,
|
|
@@ -347,21 +290,21 @@ async function tryRenderInlineUiHtml(data, accessToken, httpRequest) {
|
|
|
347
290
|
});
|
|
348
291
|
if (!publicToken)
|
|
349
292
|
return undefined;
|
|
350
|
-
const summaryParts = [];
|
|
351
|
-
if (typeof route?.distance === 'number') {
|
|
352
|
-
summaryParts.push(`${(route.distance / 1609.34).toFixed(1)} mi`);
|
|
353
|
-
}
|
|
354
|
-
if (typeof route?.duration === 'number') {
|
|
355
|
-
summaryParts.push(`${Math.round(route.duration / 60)} min`);
|
|
356
|
-
}
|
|
357
|
-
const summary = summaryParts.length
|
|
358
|
-
? `Route: ${summaryParts.join(', ')}`
|
|
359
|
-
: 'Route';
|
|
360
293
|
return renderDirectionsAppHtml({
|
|
361
294
|
publicToken,
|
|
295
|
+
apiEndpoint: MapboxApiBasedTool.mapboxApiEndpoint,
|
|
362
296
|
initialData: {
|
|
363
|
-
|
|
364
|
-
|
|
297
|
+
params: {
|
|
298
|
+
coordinates: input.coordinates,
|
|
299
|
+
routing_profile: input.routing_profile,
|
|
300
|
+
alternatives: input.alternatives,
|
|
301
|
+
exclude: input.exclude,
|
|
302
|
+
depart_at: input.depart_at,
|
|
303
|
+
arrive_by: input.arrive_by,
|
|
304
|
+
max_height: input.max_height,
|
|
305
|
+
max_width: input.max_width,
|
|
306
|
+
max_weight: input.max_weight
|
|
307
|
+
}
|
|
365
308
|
}
|
|
366
309
|
});
|
|
367
310
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DirectionsTool.js","sourceRoot":"","sources":["../../../../src/tools/directions-tool/DirectionsTool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DirectionsTool.js","sourceRoot":"","sources":["../../../../src/tools/directions-tool/DirectionsTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface DirectionsRequestInput {
|
|
2
|
+
coordinates: {
|
|
3
|
+
longitude: number;
|
|
4
|
+
latitude: number;
|
|
5
|
+
}[];
|
|
6
|
+
routing_profile: string;
|
|
7
|
+
geometries: 'none' | 'geojson';
|
|
8
|
+
alternatives: boolean;
|
|
9
|
+
exclude?: string;
|
|
10
|
+
depart_at?: string;
|
|
11
|
+
arrive_by?: string;
|
|
12
|
+
max_height?: number;
|
|
13
|
+
max_width?: number;
|
|
14
|
+
max_weight?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Build the Mapbox Directions v5 request URL for a given input. Shared by
|
|
18
|
+
* DirectionsTool.execute() (server-side) and hand-mirrored by the
|
|
19
|
+
* self-fetching map preview iframe (directionsAppHtml.ts) — the parity test
|
|
20
|
+
* in test/tools/directions-tool/directionsUrlParity.test.ts keeps the two
|
|
21
|
+
* implementations in sync.
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildDirectionsRequestUrl(params: {
|
|
24
|
+
input: DirectionsRequestInput;
|
|
25
|
+
accessToken: string;
|
|
26
|
+
apiEndpoint: string;
|
|
27
|
+
geometriesOverride?: 'none' | 'geojson';
|
|
28
|
+
}): string;
|
|
29
|
+
//# sourceMappingURL=buildDirectionsRequestUrl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildDirectionsRequestUrl.d.ts","sourceRoot":"","sources":["../../../../src/tools/directions-tool/buildDirectionsRequestUrl.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAUD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,KAAK,EAAE,sBAAsB,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC,GAAG,MAAM,CA+CT"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// Copyright (c) Mapbox, Inc.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { formatIsoDateTime } from '../../utils/dateUtils.js';
|
|
4
|
+
function encodeExclude(value) {
|
|
5
|
+
return value
|
|
6
|
+
.replace(/,/g, '%2C')
|
|
7
|
+
.replace(/\(/g, '%28')
|
|
8
|
+
.replace(/\)/g, '%29')
|
|
9
|
+
.replace(/ /g, '%20');
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Build the Mapbox Directions v5 request URL for a given input. Shared by
|
|
13
|
+
* DirectionsTool.execute() (server-side) and hand-mirrored by the
|
|
14
|
+
* self-fetching map preview iframe (directionsAppHtml.ts) — the parity test
|
|
15
|
+
* in test/tools/directions-tool/directionsUrlParity.test.ts keeps the two
|
|
16
|
+
* implementations in sync.
|
|
17
|
+
*/
|
|
18
|
+
export function buildDirectionsRequestUrl(params) {
|
|
19
|
+
const { input, accessToken, apiEndpoint, geometriesOverride } = params;
|
|
20
|
+
const geometries = geometriesOverride ?? input.geometries;
|
|
21
|
+
const joined = input.coordinates
|
|
22
|
+
.map(({ longitude, latitude }) => `${longitude},${latitude}`)
|
|
23
|
+
.join(';');
|
|
24
|
+
const encodedCoords = encodeURIComponent(joined);
|
|
25
|
+
const queryParams = new URLSearchParams();
|
|
26
|
+
queryParams.append('access_token', accessToken);
|
|
27
|
+
if (geometries !== 'none') {
|
|
28
|
+
queryParams.append('geometries', geometries);
|
|
29
|
+
}
|
|
30
|
+
queryParams.append('alternatives', input.alternatives.toString());
|
|
31
|
+
if (input.routing_profile === 'mapbox/driving-traffic') {
|
|
32
|
+
queryParams.append('annotations', 'distance,congestion,speed');
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
queryParams.append('annotations', 'distance,speed');
|
|
36
|
+
}
|
|
37
|
+
queryParams.append('overview', 'full');
|
|
38
|
+
if (input.depart_at) {
|
|
39
|
+
queryParams.append('depart_at', formatIsoDateTime(input.depart_at));
|
|
40
|
+
}
|
|
41
|
+
else if (input.arrive_by) {
|
|
42
|
+
queryParams.append('arrive_by', formatIsoDateTime(input.arrive_by));
|
|
43
|
+
}
|
|
44
|
+
if (input.max_height !== undefined) {
|
|
45
|
+
queryParams.append('max_height', input.max_height.toString());
|
|
46
|
+
}
|
|
47
|
+
if (input.max_width !== undefined) {
|
|
48
|
+
queryParams.append('max_width', input.max_width.toString());
|
|
49
|
+
}
|
|
50
|
+
if (input.max_weight !== undefined) {
|
|
51
|
+
queryParams.append('max_weight', input.max_weight.toString());
|
|
52
|
+
}
|
|
53
|
+
queryParams.append('steps', 'true');
|
|
54
|
+
let queryString = queryParams.toString();
|
|
55
|
+
if (input.exclude) {
|
|
56
|
+
queryString += `&exclude=${encodeExclude(input.exclude)}`;
|
|
57
|
+
}
|
|
58
|
+
return `${apiEndpoint}directions/v5/${input.routing_profile}/${encodedCoords}?${queryString}`;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=buildDirectionsRequestUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildDirectionsRequestUrl.js","sourceRoot":"","sources":["../../../../src/tools/directions-tool/buildDirectionsRequestUrl.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.json
CHANGED