@mapbox/mcp-server 0.4.1 → 0.5.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 +5 -19
- package/dist/commonjs/tools/{poi-search-tool/PoiSearchTool.d.ts → search-and-geocode-tool/SearchAndGeocodeTool.d.ts} +8 -20
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -0
- package/dist/commonjs/tools/{poi-search-tool/PoiSearchTool.js → search-and-geocode-tool/SearchAndGeocodeTool.js} +32 -64
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -0
- package/dist/commonjs/tools/toolRegistry.d.ts +2 -3
- package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
- package/dist/commonjs/tools/toolRegistry.js +3 -5
- package/dist/commonjs/tools/toolRegistry.js.map +1 -1
- package/dist/commonjs/version.json +3 -3
- package/dist/esm/tools/{poi-search-tool/PoiSearchTool.d.ts → search-and-geocode-tool/SearchAndGeocodeTool.d.ts} +8 -20
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -0
- package/dist/esm/tools/{poi-search-tool/PoiSearchTool.js → search-and-geocode-tool/SearchAndGeocodeTool.js} +30 -62
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -0
- package/dist/esm/tools/toolRegistry.d.ts +2 -3
- package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
- package/dist/esm/tools/toolRegistry.js +3 -5
- package/dist/esm/tools/toolRegistry.js.map +1 -1
- package/dist/esm/version.json +3 -3
- package/package.json +1 -1
- package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts +0 -98
- package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +0 -1
- package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.js +0 -212
- package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +0 -1
- package/dist/commonjs/tools/poi-search-tool/PoiSearchTool.d.ts.map +0 -1
- package/dist/commonjs/tools/poi-search-tool/PoiSearchTool.js.map +0 -1
- package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts +0 -98
- package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +0 -1
- package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.js +0 -208
- package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +0 -1
- package/dist/esm/tools/poi-search-tool/PoiSearchTool.d.ts.map +0 -1
- package/dist/esm/tools/poi-search-tool/PoiSearchTool.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
3
3
|
import { fetchClient } from '../../utils/fetchRequest.js';
|
|
4
|
-
const
|
|
4
|
+
const SearchAndGeocodeInputSchema = z.object({
|
|
5
5
|
q: z
|
|
6
6
|
.string()
|
|
7
7
|
.max(256)
|
|
@@ -10,13 +10,6 @@ const PoiSearchInputSchema = z.object({
|
|
|
10
10
|
.string()
|
|
11
11
|
.optional()
|
|
12
12
|
.describe('ISO language code for the response (e.g., "en", "es", "fr", "de", "ja")'),
|
|
13
|
-
limit: z
|
|
14
|
-
.number()
|
|
15
|
-
.min(1)
|
|
16
|
-
.max(10)
|
|
17
|
-
.optional()
|
|
18
|
-
.default(10)
|
|
19
|
-
.describe('Maximum number of results to return (1-10)'),
|
|
20
13
|
proximity: z
|
|
21
14
|
.union([
|
|
22
15
|
z.object({
|
|
@@ -28,21 +21,6 @@ const PoiSearchInputSchema = z.object({
|
|
|
28
21
|
if (val === 'ip') {
|
|
29
22
|
return 'ip';
|
|
30
23
|
}
|
|
31
|
-
// Handle JSON-stringified object: "{\"longitude\": -82.458107, \"latitude\": 27.937259}"
|
|
32
|
-
if (val.startsWith('{') && val.endsWith('}')) {
|
|
33
|
-
try {
|
|
34
|
-
const parsed = JSON.parse(val);
|
|
35
|
-
if (typeof parsed === 'object' &&
|
|
36
|
-
parsed !== null &&
|
|
37
|
-
typeof parsed.longitude === 'number' &&
|
|
38
|
-
typeof parsed.latitude === 'number') {
|
|
39
|
-
return { longitude: parsed.longitude, latitude: parsed.latitude };
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
// Fall back to other formats
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
24
|
// Handle string that looks like an array: "[-82.451668, 27.942964]"
|
|
47
25
|
if (val.startsWith('[') && val.endsWith(']')) {
|
|
48
26
|
const coords = val
|
|
@@ -50,19 +28,19 @@ const PoiSearchInputSchema = z.object({
|
|
|
50
28
|
.split(',')
|
|
51
29
|
.map((s) => Number(s.trim()));
|
|
52
30
|
if (coords.length === 2 && !isNaN(coords[0]) && !isNaN(coords[1])) {
|
|
53
|
-
return
|
|
31
|
+
return coords;
|
|
54
32
|
}
|
|
55
33
|
}
|
|
56
34
|
// Handle comma-separated string: "-82.451668,27.942964"
|
|
57
35
|
const parts = val.split(',').map((s) => Number(s.trim()));
|
|
58
36
|
if (parts.length === 2 && !isNaN(parts[0]) && !isNaN(parts[1])) {
|
|
59
|
-
return
|
|
37
|
+
return parts;
|
|
60
38
|
}
|
|
61
|
-
throw new Error('Invalid proximity format. Expected
|
|
39
|
+
throw new Error('Invalid proximity format. Expected [longitude, latitude], "longitude,latitude", or "ip"');
|
|
62
40
|
})
|
|
63
41
|
])
|
|
64
42
|
.optional()
|
|
65
|
-
.describe('Location to bias results towards. Either
|
|
43
|
+
.describe('Location to bias results towards. Either [longitude, latitude] or "ip" for IP-based location. STRONGLY ENCOURAGED for relevant results.'),
|
|
66
44
|
bbox: z
|
|
67
45
|
.object({
|
|
68
46
|
minLongitude: z.number().min(-180).max(180),
|
|
@@ -71,7 +49,7 @@ const PoiSearchInputSchema = z.object({
|
|
|
71
49
|
maxLatitude: z.number().min(-90).max(90)
|
|
72
50
|
})
|
|
73
51
|
.optional()
|
|
74
|
-
.describe('Bounding box to limit results within
|
|
52
|
+
.describe('Bounding box to limit results within [minLon, minLat, maxLon, maxLat]'),
|
|
75
53
|
country: z
|
|
76
54
|
.array(z.string().length(2))
|
|
77
55
|
.optional()
|
|
@@ -102,20 +80,14 @@ const PoiSearchInputSchema = z.object({
|
|
|
102
80
|
latitude: z.number().min(-90).max(90)
|
|
103
81
|
})
|
|
104
82
|
.optional()
|
|
105
|
-
.describe('Starting point for ETA calculations as coordinate object with longitude and latitude'),
|
|
106
|
-
format: z
|
|
107
|
-
.enum(['json_string', 'formatted_text'])
|
|
108
|
-
.optional()
|
|
109
|
-
.default('formatted_text')
|
|
110
|
-
.describe('Output format: "json_string" returns raw GeoJSON data as a JSON string that can be parsed; "formatted_text" returns human-readable text with place names, addresses, and coordinates. Both return as text content but json_string contains parseable JSON data while formatted_text is for display.')
|
|
111
83
|
});
|
|
112
|
-
export class
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
constructor(
|
|
117
|
-
super({ inputSchema:
|
|
118
|
-
this.
|
|
84
|
+
export class SearchAndGeocodeTool extends MapboxApiBasedTool {
|
|
85
|
+
fetchImpl;
|
|
86
|
+
name = 'search_and_geocode_tool';
|
|
87
|
+
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.";
|
|
88
|
+
constructor(fetchImpl = fetchClient) {
|
|
89
|
+
super({ inputSchema: SearchAndGeocodeInputSchema });
|
|
90
|
+
this.fetchImpl = fetchImpl;
|
|
119
91
|
}
|
|
120
92
|
formatGeoJsonToText(geoJsonResponse) {
|
|
121
93
|
if (!geoJsonResponse ||
|
|
@@ -160,7 +132,7 @@ export class PoiSearchTool extends MapboxApiBasedTool {
|
|
|
160
132
|
return results.join('\n\n');
|
|
161
133
|
}
|
|
162
134
|
async execute(input, accessToken) {
|
|
163
|
-
this.log('info', `
|
|
135
|
+
this.log('info', `SearchAndGeocodeTool: Starting search with input: ${JSON.stringify(input)}`);
|
|
164
136
|
const url = new URL(`${MapboxApiBasedTool.mapboxApiEndpoint}search/searchbox/v1/forward`);
|
|
165
137
|
// Required parameters
|
|
166
138
|
url.searchParams.append('q', input.q);
|
|
@@ -169,21 +141,23 @@ export class PoiSearchTool extends MapboxApiBasedTool {
|
|
|
169
141
|
if (input.language) {
|
|
170
142
|
url.searchParams.append('language', input.language);
|
|
171
143
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
}
|
|
144
|
+
// Hard code limit to 10
|
|
145
|
+
url.searchParams.append('limit', '10');
|
|
175
146
|
if (input.proximity) {
|
|
176
147
|
if (input.proximity === 'ip') {
|
|
177
148
|
url.searchParams.append('proximity', 'ip');
|
|
178
149
|
}
|
|
150
|
+
else if (Array.isArray(input.proximity)) {
|
|
151
|
+
const [lng, lat] = input.proximity;
|
|
152
|
+
url.searchParams.append('proximity', `${lng},${lat}`);
|
|
153
|
+
}
|
|
179
154
|
else {
|
|
180
|
-
|
|
181
|
-
url.searchParams.append('proximity', `${longitude},${latitude}`);
|
|
155
|
+
// Object format with longitude/latitude properties
|
|
156
|
+
url.searchParams.append('proximity', `${input.proximity.longitude},${input.proximity.latitude}`);
|
|
182
157
|
}
|
|
183
158
|
}
|
|
184
159
|
if (input.bbox) {
|
|
185
|
-
|
|
186
|
-
url.searchParams.append('bbox', `${minLongitude},${minLatitude},${maxLongitude},${maxLatitude}`);
|
|
160
|
+
url.searchParams.append('bbox', `${input.bbox.minLongitude},${input.bbox.minLatitude},${input.bbox.maxLongitude},${input.bbox.maxLatitude}`);
|
|
187
161
|
}
|
|
188
162
|
if (input.country && input.country.length > 0) {
|
|
189
163
|
url.searchParams.append('country', input.country.join(','));
|
|
@@ -204,24 +178,18 @@ export class PoiSearchTool extends MapboxApiBasedTool {
|
|
|
204
178
|
url.searchParams.append('navigation_profile', input.navigation_profile);
|
|
205
179
|
}
|
|
206
180
|
if (input.origin) {
|
|
207
|
-
|
|
208
|
-
url.searchParams.append('origin', `${longitude},${latitude}`);
|
|
181
|
+
url.searchParams.append('origin', `${input.origin.longitude},${input.origin.latitude}`);
|
|
209
182
|
}
|
|
210
|
-
this.log('info', `
|
|
211
|
-
const response = await this.
|
|
183
|
+
this.log('info', `SearchAndGeocodeTool: Fetching from URL: ${url.toString().replace(accessToken, '[REDACTED]')}`);
|
|
184
|
+
const response = await this.fetchImpl(url.toString());
|
|
212
185
|
if (!response.ok) {
|
|
213
186
|
const errorBody = await response.text();
|
|
214
|
-
this.log('error', `
|
|
187
|
+
this.log('error', `SearchAndGeocodeTool: API Error - Status: ${response.status}, Body: ${errorBody}`);
|
|
215
188
|
throw new Error(`Failed to search: ${response.status} ${response.statusText}`);
|
|
216
189
|
}
|
|
217
190
|
const data = await response.json();
|
|
218
|
-
this.log('info', `
|
|
219
|
-
|
|
220
|
-
return { type: 'text', text: JSON.stringify(data, null, 2) };
|
|
221
|
-
}
|
|
222
|
-
else {
|
|
223
|
-
return { type: 'text', text: this.formatGeoJsonToText(data) };
|
|
224
|
-
}
|
|
191
|
+
this.log('info', `SearchAndGeocodeTool: Successfully completed search, found ${data.features?.length || 0} results`);
|
|
192
|
+
return { type: 'text', text: this.formatGeoJsonToText(data) };
|
|
225
193
|
}
|
|
226
194
|
}
|
|
227
|
-
//# sourceMappingURL=
|
|
195
|
+
//# sourceMappingURL=SearchAndGeocodeTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchAndGeocodeTool.js","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,CAAC,EAAE,CAAC;SACD,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,yEAAyE,CAC1E;IACH,SAAS,EAAE,CAAC;SACT,KAAK,CAAC;QACL,CAAC,CAAC,MAAM,CAAC;YACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;SACtC,CAAC;QACF,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,8BAA8B;YAC9B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,IAAa,CAAC;YACvB,CAAC;YACD,oEAAoE;YACpE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,GAAG;qBACf,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;qBACZ,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClE,OAAO,MAA0B,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,wDAAwD;YACxD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,OAAO,KAAyB,CAAC;YACnC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,yIAAyI,CAC1I;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;KACzC,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,uEAAuE,CACxE;IACH,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC3B,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,8EAA8E,CAC/E;IACH,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,mEAAmE,CACpE;IACH,aAAa,EAAE,CAAC;SACb,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,mCAAmC,CAAC;IAChD,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;SACpB,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,kBAAkB,EAAE,CAAC;SAClB,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;SAC1D,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;IACnD,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;KACtC,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,OAAO,oBAAqB,SAAQ,kBAEzC;IAKqB;IAJpB,IAAI,GAAG,yBAAyB,CAAC;IACjC,WAAW,GACT,kRAAkR,CAAC;IAErR,YAAoB,YAA0B,WAAW;QACvD,KAAK,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC,CAAC;QADlC,cAAS,GAAT,SAAS,CAA4B;IAEzD,CAAC;IAEO,mBAAmB,CAAC,eAAoB;QAC9C,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,OAAY,EAAE,KAAa,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;YAEpC,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,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxD,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,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,IAAI,CAAC,GAAG,CACN,MAAM,EACN,qDAAqD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC7E,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,GAAG,kBAAkB,CAAC,iBAAiB,6BAA6B,CACrE,CAAC;QAEF,sBAAsB;QACtB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAErD,sBAAsB;QACtB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;QAED,wBAAwB;QACxB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC7B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;gBACnC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,mDAAmD;gBACnD,GAAG,CAAC,YAAY,CAAC,MAAM,CACrB,WAAW,EACX,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAC3D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,GAAG,CAAC,YAAY,CAAC,MAAM,CACrB,MAAM,EACN,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAC5G,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACtC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC7B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,GAAG,CAAC,YAAY,CAAC,MAAM,CACrB,QAAQ,EACR,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CACrD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,CACN,MAAM,EACN,4CAA4C,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,CAChG,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CACN,OAAO,EACP,6CAA6C,QAAQ,CAAC,MAAM,WAAW,SAAS,EAAE,CACnF,CAAC;YACF,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAC9D,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CACN,MAAM,EACN,8DAA+D,IAAY,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,UAAU,CAC5G,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;IAChE,CAAC;CACF"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { CategoryListTool } from './category-list-tool/CategoryListTool.js';
|
|
2
2
|
import { CategorySearchTool } from './category-search-tool/CategorySearchTool.js';
|
|
3
3
|
import { DirectionsTool } from './directions-tool/DirectionsTool.js';
|
|
4
|
-
import { ForwardGeocodeTool } from './forward-geocode-tool/ForwardGeocodeTool.js';
|
|
5
4
|
import { IsochroneTool } from './isochrone-tool/IsochroneTool.js';
|
|
6
5
|
import { MatrixTool } from './matrix-tool/MatrixTool.js';
|
|
7
|
-
import { PoiSearchTool } from './poi-search-tool/PoiSearchTool.js';
|
|
8
6
|
import { ReverseGeocodeTool } from './reverse-geocode-tool/ReverseGeocodeTool.js';
|
|
9
7
|
import { StaticMapImageTool } from './static-map-image-tool/StaticMapImageTool.js';
|
|
8
|
+
import { SearchAndGeocodeTool } from './search-and-geocode-tool/SearchAndGeocodeTool.js';
|
|
10
9
|
import { VersionTool } from './version-tool/VersionTool.js';
|
|
11
|
-
export declare const ALL_TOOLS: readonly [VersionTool, CategoryListTool, CategorySearchTool, DirectionsTool,
|
|
10
|
+
export declare const ALL_TOOLS: readonly [VersionTool, CategoryListTool, CategorySearchTool, DirectionsTool, IsochroneTool, MatrixTool, ReverseGeocodeTool, StaticMapImageTool, SearchAndGeocodeTool];
|
|
12
11
|
export type ToolInstance = (typeof ALL_TOOLS)[number];
|
|
13
12
|
export declare function getAllTools(): readonly ToolInstance[];
|
|
14
13
|
export declare function getToolByName(name: string): ToolInstance | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolRegistry.d.ts","sourceRoot":"","sources":["../../../src/tools/toolRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"toolRegistry.d.ts","sourceRoot":"","sources":["../../../src/tools/toolRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAG5D,eAAO,MAAM,SAAS,uKAWZ,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD,wBAAgB,WAAW,IAAI,SAAS,YAAY,EAAE,CAErD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEpE"}
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
import { CategoryListTool } from './category-list-tool/CategoryListTool.js';
|
|
3
3
|
import { CategorySearchTool } from './category-search-tool/CategorySearchTool.js';
|
|
4
4
|
import { DirectionsTool } from './directions-tool/DirectionsTool.js';
|
|
5
|
-
import { ForwardGeocodeTool } from './forward-geocode-tool/ForwardGeocodeTool.js';
|
|
6
5
|
import { IsochroneTool } from './isochrone-tool/IsochroneTool.js';
|
|
7
6
|
import { MatrixTool } from './matrix-tool/MatrixTool.js';
|
|
8
|
-
import { PoiSearchTool } from './poi-search-tool/PoiSearchTool.js';
|
|
9
7
|
import { ReverseGeocodeTool } from './reverse-geocode-tool/ReverseGeocodeTool.js';
|
|
10
8
|
import { StaticMapImageTool } from './static-map-image-tool/StaticMapImageTool.js';
|
|
9
|
+
import { SearchAndGeocodeTool } from './search-and-geocode-tool/SearchAndGeocodeTool.js';
|
|
11
10
|
import { VersionTool } from './version-tool/VersionTool.js';
|
|
12
11
|
// Central registry of all tools
|
|
13
12
|
export const ALL_TOOLS = [
|
|
@@ -16,12 +15,11 @@ export const ALL_TOOLS = [
|
|
|
16
15
|
new CategoryListTool(),
|
|
17
16
|
new CategorySearchTool(),
|
|
18
17
|
new DirectionsTool(),
|
|
19
|
-
new ForwardGeocodeTool(),
|
|
20
18
|
new IsochroneTool(),
|
|
21
19
|
new MatrixTool(),
|
|
22
|
-
new PoiSearchTool(),
|
|
23
20
|
new ReverseGeocodeTool(),
|
|
24
|
-
new StaticMapImageTool()
|
|
21
|
+
new StaticMapImageTool(),
|
|
22
|
+
new SearchAndGeocodeTool()
|
|
25
23
|
];
|
|
26
24
|
export function getAllTools() {
|
|
27
25
|
return ALL_TOOLS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["../../../src/tools/toolRegistry.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["../../../src/tools/toolRegistry.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,gCAAgC;AAChC,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,gCAAgC;IAChC,IAAI,WAAW,EAAE;IACjB,IAAI,gBAAgB,EAAE;IACtB,IAAI,kBAAkB,EAAE;IACxB,IAAI,cAAc,EAAE;IACpB,IAAI,aAAa,EAAE;IACnB,IAAI,UAAU,EAAE;IAChB,IAAI,kBAAkB,EAAE;IACxB,IAAI,kBAAkB,EAAE;IACxB,IAAI,oBAAoB,EAAE;CAClB,CAAC;AAIX,MAAM,UAAU,WAAW;IACzB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACtD,CAAC"}
|
package/dist/esm/version.json
CHANGED
package/package.json
CHANGED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
3
|
-
declare const ForwardGeocodeInputSchema: z.ZodObject<{
|
|
4
|
-
q: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
5
|
-
permanent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
6
|
-
autocomplete: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
7
|
-
bbox: z.ZodOptional<z.ZodObject<{
|
|
8
|
-
minLongitude: z.ZodNumber;
|
|
9
|
-
minLatitude: z.ZodNumber;
|
|
10
|
-
maxLongitude: z.ZodNumber;
|
|
11
|
-
maxLatitude: z.ZodNumber;
|
|
12
|
-
}, "strip", z.ZodTypeAny, {
|
|
13
|
-
minLongitude: number;
|
|
14
|
-
minLatitude: number;
|
|
15
|
-
maxLongitude: number;
|
|
16
|
-
maxLatitude: number;
|
|
17
|
-
}, {
|
|
18
|
-
minLongitude: number;
|
|
19
|
-
minLatitude: number;
|
|
20
|
-
maxLongitude: number;
|
|
21
|
-
maxLatitude: number;
|
|
22
|
-
}>>;
|
|
23
|
-
country: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
24
|
-
format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["json_string", "formatted_text"]>>>;
|
|
25
|
-
language: z.ZodOptional<z.ZodString>;
|
|
26
|
-
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
27
|
-
proximity: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
|
|
28
|
-
longitude: z.ZodNumber;
|
|
29
|
-
latitude: z.ZodNumber;
|
|
30
|
-
}, "strip", z.ZodTypeAny, {
|
|
31
|
-
longitude: number;
|
|
32
|
-
latitude: number;
|
|
33
|
-
}, {
|
|
34
|
-
longitude: number;
|
|
35
|
-
latitude: number;
|
|
36
|
-
}>, z.ZodEffects<z.ZodString, "ip" | {
|
|
37
|
-
longitude: any;
|
|
38
|
-
latitude: any;
|
|
39
|
-
}, string>]>>;
|
|
40
|
-
types: z.ZodOptional<z.ZodArray<z.ZodEnum<["country", "region", "postcode", "district", "place", "locality", "neighborhood", "address"]>, "many">>;
|
|
41
|
-
worldview: z.ZodDefault<z.ZodOptional<z.ZodEnum<["us", "cn", "jp", "in"]>>>;
|
|
42
|
-
}, "strip", z.ZodTypeAny, {
|
|
43
|
-
limit: number;
|
|
44
|
-
format: "json_string" | "formatted_text";
|
|
45
|
-
q: string;
|
|
46
|
-
permanent: boolean;
|
|
47
|
-
autocomplete: boolean;
|
|
48
|
-
worldview: "us" | "cn" | "jp" | "in";
|
|
49
|
-
language?: string | undefined;
|
|
50
|
-
proximity?: "ip" | {
|
|
51
|
-
longitude: number;
|
|
52
|
-
latitude: number;
|
|
53
|
-
} | {
|
|
54
|
-
longitude: any;
|
|
55
|
-
latitude: any;
|
|
56
|
-
} | undefined;
|
|
57
|
-
bbox?: {
|
|
58
|
-
minLongitude: number;
|
|
59
|
-
minLatitude: number;
|
|
60
|
-
maxLongitude: number;
|
|
61
|
-
maxLatitude: number;
|
|
62
|
-
} | undefined;
|
|
63
|
-
country?: string[] | undefined;
|
|
64
|
-
types?: ("country" | "region" | "postcode" | "district" | "place" | "locality" | "neighborhood" | "address")[] | undefined;
|
|
65
|
-
}, {
|
|
66
|
-
q: string;
|
|
67
|
-
language?: string | undefined;
|
|
68
|
-
limit?: number | undefined;
|
|
69
|
-
proximity?: string | {
|
|
70
|
-
longitude: number;
|
|
71
|
-
latitude: number;
|
|
72
|
-
} | undefined;
|
|
73
|
-
bbox?: {
|
|
74
|
-
minLongitude: number;
|
|
75
|
-
minLatitude: number;
|
|
76
|
-
maxLongitude: number;
|
|
77
|
-
maxLatitude: number;
|
|
78
|
-
} | undefined;
|
|
79
|
-
country?: string[] | undefined;
|
|
80
|
-
format?: "json_string" | "formatted_text" | undefined;
|
|
81
|
-
permanent?: boolean | undefined;
|
|
82
|
-
autocomplete?: boolean | undefined;
|
|
83
|
-
types?: ("country" | "region" | "postcode" | "district" | "place" | "locality" | "neighborhood" | "address")[] | undefined;
|
|
84
|
-
worldview?: "us" | "cn" | "jp" | "in" | undefined;
|
|
85
|
-
}>;
|
|
86
|
-
export declare class ForwardGeocodeTool extends MapboxApiBasedTool<typeof ForwardGeocodeInputSchema> {
|
|
87
|
-
private fetch;
|
|
88
|
-
name: string;
|
|
89
|
-
description: string;
|
|
90
|
-
constructor(fetch?: typeof globalThis.fetch);
|
|
91
|
-
private formatGeoJsonToText;
|
|
92
|
-
protected execute(input: z.infer<typeof ForwardGeocodeInputSchema>, accessToken: string): Promise<{
|
|
93
|
-
type: 'text';
|
|
94
|
-
text: string;
|
|
95
|
-
}>;
|
|
96
|
-
}
|
|
97
|
-
export {};
|
|
98
|
-
//# sourceMappingURL=ForwardGeocodeTool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ForwardGeocodeTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/forward-geocode-tool/ForwardGeocodeTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiI7B,CAAC;AAEH,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IAKa,OAAO,CAAC,KAAK;IAJzB,IAAI,SAA0B;IAC9B,WAAW,SAC4Z;gBAEnZ,KAAK,GAAE,OAAO,UAAU,CAAC,KAAmB;IAIhE,OAAO,CAAC,mBAAmB;cA+CX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAmE3C"}
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ForwardGeocodeTool = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const MapboxApiBasedTool_js_1 = require("../MapboxApiBasedTool.js");
|
|
6
|
-
const fetchRequest_js_1 = require("../../utils/fetchRequest.js");
|
|
7
|
-
const ForwardGeocodeInputSchema = zod_1.z.object({
|
|
8
|
-
q: zod_1.z
|
|
9
|
-
.string()
|
|
10
|
-
.max(256)
|
|
11
|
-
.refine((val) => !val.includes(';'), 'Search text cannot contain semicolons')
|
|
12
|
-
.refine((val) => val.split(/\s+/).length <= 20, 'Search text cannot exceed 20 words')
|
|
13
|
-
.describe('Search text to geocode. Max 256 characters, 20 words, no semicolons.'),
|
|
14
|
-
permanent: zod_1.z
|
|
15
|
-
.boolean()
|
|
16
|
-
.optional()
|
|
17
|
-
.default(false)
|
|
18
|
-
.describe('Whether results can be stored permanently'),
|
|
19
|
-
autocomplete: zod_1.z
|
|
20
|
-
.boolean()
|
|
21
|
-
.optional()
|
|
22
|
-
.default(true)
|
|
23
|
-
.describe('Return partial/suggested results for partial queries'),
|
|
24
|
-
bbox: zod_1.z
|
|
25
|
-
.object({
|
|
26
|
-
minLongitude: zod_1.z.number().min(-180).max(180),
|
|
27
|
-
minLatitude: zod_1.z.number().min(-90).max(90),
|
|
28
|
-
maxLongitude: zod_1.z.number().min(-180).max(180),
|
|
29
|
-
maxLatitude: zod_1.z.number().min(-90).max(90)
|
|
30
|
-
})
|
|
31
|
-
.optional()
|
|
32
|
-
.describe('Bounding box to limit results within specified bounds'),
|
|
33
|
-
country: zod_1.z
|
|
34
|
-
.array(zod_1.z.string().length(2))
|
|
35
|
-
.optional()
|
|
36
|
-
.describe('Array of ISO 3166 alpha 2 country codes to limit results'),
|
|
37
|
-
format: zod_1.z
|
|
38
|
-
.enum(['json_string', 'formatted_text'])
|
|
39
|
-
.optional()
|
|
40
|
-
.default('formatted_text')
|
|
41
|
-
.describe('Output format: "json_string" returns raw GeoJSON data as a JSON string that can be parsed; "formatted_text" returns human-readable text with place names, addresses, and coordinates. Both return as text content but json_string contains parseable JSON data while formatted_text is for display.'),
|
|
42
|
-
language: zod_1.z
|
|
43
|
-
.string()
|
|
44
|
-
.optional()
|
|
45
|
-
.describe('IETF language tag for the response (e.g., "en", "es", "fr", "de", "ja")'),
|
|
46
|
-
limit: zod_1.z
|
|
47
|
-
.number()
|
|
48
|
-
.min(1)
|
|
49
|
-
.max(10)
|
|
50
|
-
.optional()
|
|
51
|
-
.default(5)
|
|
52
|
-
.describe('Maximum number of results to return (1-10)'),
|
|
53
|
-
proximity: zod_1.z
|
|
54
|
-
.union([
|
|
55
|
-
zod_1.z.object({
|
|
56
|
-
longitude: zod_1.z.number().min(-180).max(180),
|
|
57
|
-
latitude: zod_1.z.number().min(-90).max(90)
|
|
58
|
-
}),
|
|
59
|
-
zod_1.z.string().transform((val) => {
|
|
60
|
-
// Handle special case of 'ip'
|
|
61
|
-
if (val === 'ip') {
|
|
62
|
-
return 'ip';
|
|
63
|
-
}
|
|
64
|
-
// Handle JSON-stringified object: "{\"longitude\": -82.458107, \"latitude\": 27.937259}"
|
|
65
|
-
if (val.startsWith('{') && val.endsWith('}')) {
|
|
66
|
-
try {
|
|
67
|
-
const parsed = JSON.parse(val);
|
|
68
|
-
if (typeof parsed === 'object' &&
|
|
69
|
-
parsed !== null &&
|
|
70
|
-
typeof parsed.longitude === 'number' &&
|
|
71
|
-
typeof parsed.latitude === 'number') {
|
|
72
|
-
return { longitude: parsed.longitude, latitude: parsed.latitude };
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
catch {
|
|
76
|
-
// Fall back to other formats
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
// Handle string that looks like an array: "[-82.451668, 27.942964]"
|
|
80
|
-
if (val.startsWith('[') && val.endsWith(']')) {
|
|
81
|
-
const coords = val
|
|
82
|
-
.slice(1, -1)
|
|
83
|
-
.split(',')
|
|
84
|
-
.map((s) => Number(s.trim()));
|
|
85
|
-
if (coords.length === 2 && !isNaN(coords[0]) && !isNaN(coords[1])) {
|
|
86
|
-
return { longitude: coords[0], latitude: coords[1] };
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
// Handle comma-separated string: "-82.451668,27.942964"
|
|
90
|
-
const parts = val.split(',').map((s) => Number(s.trim()));
|
|
91
|
-
if (parts.length === 2 && !isNaN(parts[0]) && !isNaN(parts[1])) {
|
|
92
|
-
return { longitude: parts[0], latitude: parts[1] };
|
|
93
|
-
}
|
|
94
|
-
throw new Error('Invalid proximity format. Expected {longitude, latitude}, "longitude,latitude", or "ip"');
|
|
95
|
-
})
|
|
96
|
-
])
|
|
97
|
-
.optional()
|
|
98
|
-
.describe('Location to bias results towards. Either [longitude, latitude] coordinates or "ip" for IP-based location. Can help get more relevant results when searching in a specific area.'),
|
|
99
|
-
types: zod_1.z
|
|
100
|
-
.array(zod_1.z.enum([
|
|
101
|
-
'country',
|
|
102
|
-
'region',
|
|
103
|
-
'postcode',
|
|
104
|
-
'district',
|
|
105
|
-
'place',
|
|
106
|
-
'locality',
|
|
107
|
-
'neighborhood',
|
|
108
|
-
'address'
|
|
109
|
-
]))
|
|
110
|
-
.optional()
|
|
111
|
-
.describe('Array of feature types to filter results'),
|
|
112
|
-
worldview: zod_1.z
|
|
113
|
-
.enum(['us', 'cn', 'jp', 'in'])
|
|
114
|
-
.optional()
|
|
115
|
-
.default('us')
|
|
116
|
-
.describe('Returns features from a specific regional perspective')
|
|
117
|
-
});
|
|
118
|
-
class ForwardGeocodeTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
|
|
119
|
-
fetch;
|
|
120
|
-
name = 'forward_geocode_tool';
|
|
121
|
-
description = 'This tool converts addresses, cities, towns, neighborhoods, districts, postcodes, regions, and countries into geographic coordinates using Mapbox Geocoding API v6. Setting a proximity point helps to bias results towards a specific area for more relevant results. Do not use this tool for geocoding points of interest like businesses, landmarks, historic sites, museums, etc. Supports both JSON and text output formats.';
|
|
122
|
-
constructor(fetch = fetchRequest_js_1.fetchClient) {
|
|
123
|
-
super({ inputSchema: ForwardGeocodeInputSchema });
|
|
124
|
-
this.fetch = fetch;
|
|
125
|
-
}
|
|
126
|
-
formatGeoJsonToText(geoJsonResponse) {
|
|
127
|
-
if (!geoJsonResponse ||
|
|
128
|
-
!geoJsonResponse.features ||
|
|
129
|
-
geoJsonResponse.features.length === 0) {
|
|
130
|
-
return 'No results found.';
|
|
131
|
-
}
|
|
132
|
-
const results = geoJsonResponse.features.map((feature, index) => {
|
|
133
|
-
const props = feature.properties || {};
|
|
134
|
-
const geom = feature.geometry || {};
|
|
135
|
-
let result = `${index + 1}. `;
|
|
136
|
-
// Place name
|
|
137
|
-
result += `${props.name}`;
|
|
138
|
-
if (props.name_preferred) {
|
|
139
|
-
result += ` (${props.name_preferred})`;
|
|
140
|
-
}
|
|
141
|
-
// Full address
|
|
142
|
-
if (props.full_address) {
|
|
143
|
-
result += `\n Address: ${props.full_address}`;
|
|
144
|
-
}
|
|
145
|
-
else if (props.place_formatted) {
|
|
146
|
-
result += `\n Address: ${props.place_formatted}`;
|
|
147
|
-
}
|
|
148
|
-
// Geographic coordinates
|
|
149
|
-
if (geom.coordinates && Array.isArray(geom.coordinates)) {
|
|
150
|
-
const [lng, lat] = geom.coordinates;
|
|
151
|
-
result += `\n Coordinates: ${lat}, ${lng}`;
|
|
152
|
-
}
|
|
153
|
-
// Feature type
|
|
154
|
-
if (props.feature_type) {
|
|
155
|
-
result += `\n Type: ${props.feature_type}`;
|
|
156
|
-
}
|
|
157
|
-
return result;
|
|
158
|
-
});
|
|
159
|
-
return results.join('\n\n');
|
|
160
|
-
}
|
|
161
|
-
async execute(input, accessToken) {
|
|
162
|
-
const url = new URL(`${MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint}search/geocode/v6/forward`);
|
|
163
|
-
// Required parameters
|
|
164
|
-
url.searchParams.append('q', input.q);
|
|
165
|
-
url.searchParams.append('access_token', accessToken);
|
|
166
|
-
// Optional parameters
|
|
167
|
-
url.searchParams.append('permanent', input.permanent.toString());
|
|
168
|
-
url.searchParams.append('autocomplete', input.autocomplete.toString());
|
|
169
|
-
url.searchParams.append('format', 'geojson');
|
|
170
|
-
url.searchParams.append('limit', input.limit.toString());
|
|
171
|
-
url.searchParams.append('worldview', input.worldview);
|
|
172
|
-
if (input.bbox) {
|
|
173
|
-
const { minLongitude, minLatitude, maxLongitude, maxLatitude } = input.bbox;
|
|
174
|
-
url.searchParams.append('bbox', `${minLongitude},${minLatitude},${maxLongitude},${maxLatitude}`);
|
|
175
|
-
}
|
|
176
|
-
if (input.country && input.country.length > 0) {
|
|
177
|
-
url.searchParams.append('country', input.country.join(','));
|
|
178
|
-
}
|
|
179
|
-
if (input.language) {
|
|
180
|
-
url.searchParams.append('language', input.language);
|
|
181
|
-
}
|
|
182
|
-
if (input.proximity) {
|
|
183
|
-
if (input.proximity === 'ip') {
|
|
184
|
-
url.searchParams.append('proximity', 'ip');
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
const { longitude, latitude } = input.proximity;
|
|
188
|
-
url.searchParams.append('proximity', `${longitude},${latitude}`);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
if (input.types && input.types.length > 0) {
|
|
192
|
-
url.searchParams.append('types', input.types.join(','));
|
|
193
|
-
}
|
|
194
|
-
const response = await this.fetch(url.toString());
|
|
195
|
-
if (!response.ok) {
|
|
196
|
-
throw new Error(`Failed to geocode: ${response.status} ${response.statusText}`);
|
|
197
|
-
}
|
|
198
|
-
const data = (await response.json());
|
|
199
|
-
// Check if the response has features
|
|
200
|
-
if (!data || !data.features || data.features.length === 0) {
|
|
201
|
-
return { type: 'text', text: 'No results found.' };
|
|
202
|
-
}
|
|
203
|
-
if (input.format === 'json_string') {
|
|
204
|
-
return { type: 'text', text: JSON.stringify(data, null, 2) };
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
return { type: 'text', text: this.formatGeoJsonToText(data) };
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
exports.ForwardGeocodeTool = ForwardGeocodeTool;
|
|
212
|
-
//# sourceMappingURL=ForwardGeocodeTool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ForwardGeocodeTool.js","sourceRoot":"","sources":["../../../../src/tools/forward-geocode-tool/ForwardGeocodeTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PoiSearchTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/poi-search-tool/PoiSearchTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0HxB,CAAC;AAEH,qBAAa,aAAc,SAAQ,kBAAkB,CACnD,OAAO,oBAAoB,CAC5B;IACC,IAAI,SAAqB;IACzB,WAAW,SACmjB;IAE9jB,OAAO,CAAC,KAAK,CAA0B;gBAE3B,KAAK,GAAE,OAAO,UAAU,CAAC,KAAmB;IAKxD,OAAO,CAAC,mBAAmB;cAsDX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAC3C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAoG3C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PoiSearchTool.js","sourceRoot":"","sources":["../../../../src/tools/poi-search-tool/PoiSearchTool.ts"],"names":[],"mappings":"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"}
|