@mapbox/mcp-server 0.2.4 → 0.4.1
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/LICENSE.md +17 -9
- package/README.md +24 -6
- package/dist/commonjs/config/toolConfig.d.ts +8 -0
- package/dist/commonjs/config/toolConfig.d.ts.map +1 -0
- package/dist/commonjs/config/toolConfig.js +40 -0
- package/dist/commonjs/config/toolConfig.js.map +1 -0
- package/dist/commonjs/index.d.ts +2 -0
- package/dist/{index.d.ts.map → commonjs/index.d.ts.map} +1 -1
- package/dist/commonjs/index.js +39 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/{cjs → commonjs}/package.json +1 -1
- package/dist/{tools → commonjs/tools}/MapboxApiBasedTool.d.ts +11 -9
- package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -0
- package/dist/commonjs/tools/MapboxApiBasedTool.js +111 -0
- package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -0
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts +28 -0
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts.map +1 -0
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.js +68 -0
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.js.map +1 -0
- package/dist/{tools → commonjs/tools}/category-search-tool/CategorySearchTool.d.ts +6 -5
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +188 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -0
- package/dist/{tools → commonjs/tools}/directions-tool/DirectionsTool.d.ts +3 -2
- package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js +385 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -0
- package/dist/{tools → commonjs/tools}/directions-tool/cleanResponseData.d.ts +2 -2
- package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts.map +1 -0
- package/dist/commonjs/tools/directions-tool/cleanResponseData.js +178 -0
- package/dist/commonjs/tools/directions-tool/cleanResponseData.js.map +1 -0
- package/dist/commonjs/tools/directions-tool/formatIsoDateTime.d.ts.map +1 -0
- package/dist/commonjs/tools/directions-tool/formatIsoDateTime.js +21 -0
- package/dist/commonjs/tools/directions-tool/formatIsoDateTime.js.map +1 -0
- package/dist/{tools → commonjs/tools}/forward-geocode-tool/ForwardGeocodeTool.d.ts +5 -4
- package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -0
- package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.js +212 -0
- package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -0
- package/dist/{tools → commonjs/tools}/isochrone-tool/IsochroneTool.d.ts +3 -2
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -0
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +118 -0
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -0
- package/dist/{tools → commonjs/tools}/matrix-tool/MatrixTool.d.ts +3 -2
- package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts.map +1 -0
- package/dist/commonjs/tools/matrix-tool/MatrixTool.js +202 -0
- package/dist/commonjs/tools/matrix-tool/MatrixTool.js.map +1 -0
- package/dist/{tools → commonjs/tools}/poi-search-tool/PoiSearchTool.d.ts +5 -4
- package/dist/commonjs/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -0
- package/dist/commonjs/tools/poi-search-tool/PoiSearchTool.js +231 -0
- package/dist/commonjs/tools/poi-search-tool/PoiSearchTool.js.map +1 -0
- package/dist/{tools → commonjs/tools}/reverse-geocode-tool/ReverseGeocodeTool.d.ts +5 -4
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js +148 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -0
- package/dist/{tools → commonjs/tools}/static-map-image-tool/StaticMapImageTool.d.ts +3 -2
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -0
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +416 -0
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -0
- package/dist/{tools → commonjs/tools}/toolRegistry.d.ts +2 -1
- package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -0
- package/dist/commonjs/tools/toolRegistry.js +37 -0
- package/dist/commonjs/tools/toolRegistry.js.map +1 -0
- package/dist/{tools → commonjs/tools}/version-tool/VersionTool.d.ts +1 -1
- package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +1 -0
- package/dist/commonjs/tools/version-tool/VersionTool.js +52 -0
- package/dist/commonjs/tools/version-tool/VersionTool.js.map +1 -0
- package/dist/commonjs/utils/fetchRequest.d.ts +38 -0
- package/dist/commonjs/utils/fetchRequest.d.ts.map +1 -0
- package/dist/commonjs/utils/fetchRequest.js +110 -0
- package/dist/commonjs/utils/fetchRequest.js.map +1 -0
- package/dist/commonjs/utils/versionUtils-cjs.cjs.map +1 -0
- package/dist/commonjs/utils/versionUtils-cjs.d.cts.map +1 -0
- package/dist/commonjs/utils/versionUtils.d.ts +9 -0
- package/dist/commonjs/utils/versionUtils.js +46 -0
- package/dist/commonjs/version.json +6 -0
- package/dist/esm/config/toolConfig.d.ts +8 -0
- package/dist/esm/config/toolConfig.d.ts.map +1 -0
- package/dist/esm/config/toolConfig.js +36 -0
- package/dist/esm/config/toolConfig.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +37 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +1 -1
- package/dist/esm/tools/MapboxApiBasedTool.d.ts +84 -0
- package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -0
- package/dist/{tools → esm/tools}/MapboxApiBasedTool.js +20 -13
- package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -0
- package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts +28 -0
- package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts.map +1 -0
- package/dist/esm/tools/category-list-tool/CategoryListTool.js +64 -0
- package/dist/esm/tools/category-list-tool/CategoryListTool.js.map +1 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts +89 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.js +184 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +44 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -0
- package/dist/{tools → esm/tools}/directions-tool/DirectionsTool.js +10 -9
- package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -0
- package/dist/esm/tools/directions-tool/cleanResponseData.d.ts +11 -0
- package/dist/esm/tools/directions-tool/cleanResponseData.d.ts.map +1 -0
- package/dist/esm/tools/directions-tool/cleanResponseData.js.map +1 -0
- package/dist/esm/tools/directions-tool/formatIsoDateTime.d.ts +8 -0
- package/dist/esm/tools/directions-tool/formatIsoDateTime.d.ts.map +1 -0
- package/dist/esm/tools/directions-tool/formatIsoDateTime.js.map +1 -0
- package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts +98 -0
- package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -0
- package/dist/{tools → esm/tools}/forward-geocode-tool/ForwardGeocodeTool.js +9 -6
- package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -0
- package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts +60 -0
- package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -0
- package/dist/{tools → esm/tools}/isochrone-tool/IsochroneTool.js +8 -5
- package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -0
- package/dist/esm/tools/matrix-tool/MatrixTool.d.ts +51 -0
- package/dist/esm/tools/matrix-tool/MatrixTool.d.ts.map +1 -0
- package/dist/{tools → esm/tools}/matrix-tool/MatrixTool.js +9 -6
- package/dist/{tools → esm/tools}/matrix-tool/MatrixTool.js.map +1 -1
- package/dist/esm/tools/poi-search-tool/PoiSearchTool.d.ts +119 -0
- package/dist/esm/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -0
- package/dist/{tools → esm/tools}/poi-search-tool/PoiSearchTool.js +9 -6
- package/dist/esm/tools/poi-search-tool/PoiSearchTool.js.map +1 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +46 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -0
- package/dist/{tools → esm/tools}/reverse-geocode-tool/ReverseGeocodeTool.js +8 -5
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -0
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +179 -0
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -0
- package/dist/{tools → esm/tools}/static-map-image-tool/StaticMapImageTool.js +7 -4
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -0
- package/dist/esm/tools/toolRegistry.d.ts +15 -0
- package/dist/esm/tools/toolRegistry.d.ts.map +1 -0
- package/dist/{tools → esm/tools}/toolRegistry.js +2 -0
- package/dist/esm/tools/toolRegistry.js.map +1 -0
- package/dist/esm/tools/version-tool/VersionTool.d.ts +18 -0
- package/dist/esm/tools/version-tool/VersionTool.d.ts.map +1 -0
- package/dist/{tools → esm/tools}/version-tool/VersionTool.js +2 -4
- package/dist/esm/tools/version-tool/VersionTool.js.map +1 -0
- package/dist/esm/utils/fetchRequest.d.ts +38 -0
- package/dist/esm/utils/fetchRequest.d.ts.map +1 -0
- package/dist/esm/utils/fetchRequest.js +104 -0
- package/dist/esm/utils/fetchRequest.js.map +1 -0
- package/dist/esm/utils/versionUtils.d.ts.map +1 -0
- package/dist/{utils → esm/utils}/versionUtils.js +9 -7
- package/dist/esm/utils/versionUtils.js.map +1 -0
- package/dist/esm/version.json +6 -0
- package/package.json +49 -30
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -25
- package/dist/index.js.map +0 -1
- package/dist/tools/MapboxApiBasedTool.d.ts.map +0 -1
- package/dist/tools/MapboxApiBasedTool.js.map +0 -1
- package/dist/tools/MapboxApiBasedTool.test.d.ts +0 -2
- package/dist/tools/MapboxApiBasedTool.test.d.ts.map +0 -1
- package/dist/tools/MapboxApiBasedTool.test.js +0 -143
- package/dist/tools/MapboxApiBasedTool.test.js.map +0 -1
- package/dist/tools/category-search-tool/CategorySearchTool.d.ts.map +0 -1
- package/dist/tools/category-search-tool/CategorySearchTool.js +0 -666
- package/dist/tools/category-search-tool/CategorySearchTool.js.map +0 -1
- package/dist/tools/category-search-tool/CategorySearchTool.test.d.ts +0 -2
- package/dist/tools/category-search-tool/CategorySearchTool.test.d.ts.map +0 -1
- package/dist/tools/category-search-tool/CategorySearchTool.test.js +0 -369
- package/dist/tools/category-search-tool/CategorySearchTool.test.js.map +0 -1
- package/dist/tools/directions-tool/DirectionsTool.d.ts.map +0 -1
- package/dist/tools/directions-tool/DirectionsTool.js.map +0 -1
- package/dist/tools/directions-tool/DirectionsTool.test.d.ts +0 -2
- package/dist/tools/directions-tool/DirectionsTool.test.d.ts.map +0 -1
- package/dist/tools/directions-tool/DirectionsTool.test.js +0 -822
- package/dist/tools/directions-tool/DirectionsTool.test.js.map +0 -1
- package/dist/tools/directions-tool/cleanResponseData.d.ts.map +0 -1
- package/dist/tools/directions-tool/cleanResponseData.js.map +0 -1
- package/dist/tools/directions-tool/cleanResponseData.test.d.ts +0 -2
- package/dist/tools/directions-tool/cleanResponseData.test.d.ts.map +0 -1
- package/dist/tools/directions-tool/cleanResponseData.test.js +0 -295
- package/dist/tools/directions-tool/cleanResponseData.test.js.map +0 -1
- package/dist/tools/directions-tool/formatIsoDateTime.d.ts.map +0 -1
- package/dist/tools/directions-tool/formatIsoDateTime.js.map +0 -1
- package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts +0 -2
- package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts.map +0 -1
- package/dist/tools/directions-tool/formatIsoDateTime.test.js +0 -26
- package/dist/tools/directions-tool/formatIsoDateTime.test.js.map +0 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +0 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +0 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.d.ts +0 -2
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.d.ts.map +0 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js +0 -415
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js.map +0 -1
- package/dist/tools/isochrone-tool/IsochroneTool.d.ts.map +0 -1
- package/dist/tools/isochrone-tool/IsochroneTool.js.map +0 -1
- package/dist/tools/isochrone-tool/IsochroneTool.test.d.ts +0 -2
- package/dist/tools/isochrone-tool/IsochroneTool.test.d.ts.map +0 -1
- package/dist/tools/isochrone-tool/IsochroneTool.test.js +0 -111
- package/dist/tools/isochrone-tool/IsochroneTool.test.js.map +0 -1
- package/dist/tools/matrix-tool/MatrixTool.d.ts.map +0 -1
- package/dist/tools/matrix-tool/MatrixTool.test.d.ts +0 -2
- package/dist/tools/matrix-tool/MatrixTool.test.d.ts.map +0 -1
- package/dist/tools/matrix-tool/MatrixTool.test.js +0 -816
- package/dist/tools/matrix-tool/MatrixTool.test.js.map +0 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.d.ts.map +0 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.js.map +0 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.test.d.ts +0 -2
- package/dist/tools/poi-search-tool/PoiSearchTool.test.d.ts.map +0 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.test.js +0 -418
- package/dist/tools/poi-search-tool/PoiSearchTool.test.js.map +0 -1
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +0 -1
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +0 -1
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.d.ts +0 -2
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.d.ts.map +0 -1
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js +0 -403
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js.map +0 -1
- package/dist/tools/schema-validation.test.d.ts +0 -2
- package/dist/tools/schema-validation.test.d.ts.map +0 -1
- package/dist/tools/schema-validation.test.js +0 -75
- package/dist/tools/schema-validation.test.js.map +0 -1
- package/dist/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +0 -1
- package/dist/tools/static-map-image-tool/StaticMapImageTool.js.map +0 -1
- package/dist/tools/static-map-image-tool/StaticMapImageTool.test.d.ts +0 -2
- package/dist/tools/static-map-image-tool/StaticMapImageTool.test.d.ts.map +0 -1
- package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js +0 -441
- package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js.map +0 -1
- package/dist/tools/tool-naming-convention.test.d.ts +0 -2
- package/dist/tools/tool-naming-convention.test.d.ts.map +0 -1
- package/dist/tools/tool-naming-convention.test.js +0 -43
- package/dist/tools/tool-naming-convention.test.js.map +0 -1
- package/dist/tools/toolRegistry.d.ts.map +0 -1
- package/dist/tools/toolRegistry.js.map +0 -1
- package/dist/tools/version-tool/VersionTool.d.ts.map +0 -1
- package/dist/tools/version-tool/VersionTool.js.map +0 -1
- package/dist/tools/version-tool/VersionTool.test.d.ts +0 -2
- package/dist/tools/version-tool/VersionTool.test.d.ts.map +0 -1
- package/dist/tools/version-tool/VersionTool.test.js +0 -49
- package/dist/tools/version-tool/VersionTool.test.js.map +0 -1
- package/dist/utils/requestUtils.d.ts +0 -6
- package/dist/utils/requestUtils.d.ts.map +0 -1
- package/dist/utils/requestUtils.js +0 -60
- package/dist/utils/requestUtils.js.map +0 -1
- package/dist/utils/requestUtils.test-helpers.d.ts +0 -3
- package/dist/utils/requestUtils.test-helpers.d.ts.map +0 -1
- package/dist/utils/requestUtils.test-helpers.js +0 -32
- package/dist/utils/requestUtils.test-helpers.js.map +0 -1
- package/dist/utils/requestUtils.test.d.ts +0 -2
- package/dist/utils/requestUtils.test.d.ts.map +0 -1
- package/dist/utils/requestUtils.test.js +0 -115
- package/dist/utils/requestUtils.test.js.map +0 -1
- package/dist/utils/versionUtils.d.ts.map +0 -1
- package/dist/utils/versionUtils.js.map +0 -1
- package/dist/version.json +0 -6
- /package/dist/{tools → commonjs/tools}/directions-tool/formatIsoDateTime.d.ts +0 -0
- /package/dist/{tools → esm/tools}/directions-tool/cleanResponseData.js +0 -0
- /package/dist/{tools → esm/tools}/directions-tool/formatIsoDateTime.js +0 -0
- /package/dist/{utils → esm/utils}/versionUtils.d.ts +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
3
|
+
import { fetchClient } from '../../utils/fetchRequest.js';
|
|
3
4
|
const ForwardGeocodeInputSchema = z.object({
|
|
4
5
|
q: z
|
|
5
6
|
.string()
|
|
@@ -112,10 +113,12 @@ const ForwardGeocodeInputSchema = z.object({
|
|
|
112
113
|
.describe('Returns features from a specific regional perspective')
|
|
113
114
|
});
|
|
114
115
|
export class ForwardGeocodeTool extends MapboxApiBasedTool {
|
|
116
|
+
fetch;
|
|
115
117
|
name = 'forward_geocode_tool';
|
|
116
|
-
description = '
|
|
117
|
-
constructor() {
|
|
118
|
+
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.';
|
|
119
|
+
constructor(fetch = fetchClient) {
|
|
118
120
|
super({ inputSchema: ForwardGeocodeInputSchema });
|
|
121
|
+
this.fetch = fetch;
|
|
119
122
|
}
|
|
120
123
|
formatGeoJsonToText(geoJsonResponse) {
|
|
121
124
|
if (!geoJsonResponse ||
|
|
@@ -152,11 +155,11 @@ export class ForwardGeocodeTool extends MapboxApiBasedTool {
|
|
|
152
155
|
});
|
|
153
156
|
return results.join('\n\n');
|
|
154
157
|
}
|
|
155
|
-
async execute(input) {
|
|
156
|
-
const url = new URL(`${MapboxApiBasedTool.
|
|
158
|
+
async execute(input, accessToken) {
|
|
159
|
+
const url = new URL(`${MapboxApiBasedTool.mapboxApiEndpoint}search/geocode/v6/forward`);
|
|
157
160
|
// Required parameters
|
|
158
161
|
url.searchParams.append('q', input.q);
|
|
159
|
-
url.searchParams.append('access_token',
|
|
162
|
+
url.searchParams.append('access_token', accessToken);
|
|
160
163
|
// Optional parameters
|
|
161
164
|
url.searchParams.append('permanent', input.permanent.toString());
|
|
162
165
|
url.searchParams.append('autocomplete', input.autocomplete.toString());
|
|
@@ -185,7 +188,7 @@ export class ForwardGeocodeTool extends MapboxApiBasedTool {
|
|
|
185
188
|
if (input.types && input.types.length > 0) {
|
|
186
189
|
url.searchParams.append('types', input.types.join(','));
|
|
187
190
|
}
|
|
188
|
-
const response = await fetch(url.toString());
|
|
191
|
+
const response = await this.fetch(url.toString());
|
|
189
192
|
if (!response.ok) {
|
|
190
193
|
throw new Error(`Failed to geocode: ${response.status} ${response.statusText}`);
|
|
191
194
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ForwardGeocodeTool.js","sourceRoot":"","sources":["../../../../src/tools/forward-geocode-tool/ForwardGeocodeTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
3
|
+
declare const IsochroneInputSchema: z.ZodObject<{
|
|
4
|
+
profile: z.ZodDefault<z.ZodEnum<["mapbox/driving-traffic", "mapbox/driving", "mapbox/cycling", "mapbox/walking"]>>;
|
|
5
|
+
coordinates: z.ZodObject<{
|
|
6
|
+
longitude: z.ZodNumber;
|
|
7
|
+
latitude: z.ZodNumber;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
longitude: number;
|
|
10
|
+
latitude: number;
|
|
11
|
+
}, {
|
|
12
|
+
longitude: number;
|
|
13
|
+
latitude: number;
|
|
14
|
+
}>;
|
|
15
|
+
contours_minutes: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
16
|
+
contours_meters: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
17
|
+
contours_colors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
18
|
+
polygons: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
19
|
+
denoise: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
20
|
+
generalize: z.ZodNumber;
|
|
21
|
+
exclude: z.ZodOptional<z.ZodArray<z.ZodEnum<["motorway", "toll", "ferry", "unpaved", "cash_only_tolls"]>, "many">>;
|
|
22
|
+
depart_at: z.ZodOptional<z.ZodString>;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
coordinates: {
|
|
25
|
+
longitude: number;
|
|
26
|
+
latitude: number;
|
|
27
|
+
};
|
|
28
|
+
profile: "mapbox/driving-traffic" | "mapbox/driving" | "mapbox/cycling" | "mapbox/walking";
|
|
29
|
+
generalize: number;
|
|
30
|
+
depart_at?: string | undefined;
|
|
31
|
+
exclude?: ("ferry" | "cash_only_tolls" | "toll" | "motorway" | "unpaved")[] | undefined;
|
|
32
|
+
contours_minutes?: number[] | undefined;
|
|
33
|
+
contours_meters?: number[] | undefined;
|
|
34
|
+
contours_colors?: string[] | undefined;
|
|
35
|
+
polygons?: boolean | undefined;
|
|
36
|
+
denoise?: number | undefined;
|
|
37
|
+
}, {
|
|
38
|
+
coordinates: {
|
|
39
|
+
longitude: number;
|
|
40
|
+
latitude: number;
|
|
41
|
+
};
|
|
42
|
+
generalize: number;
|
|
43
|
+
depart_at?: string | undefined;
|
|
44
|
+
exclude?: ("ferry" | "cash_only_tolls" | "toll" | "motorway" | "unpaved")[] | undefined;
|
|
45
|
+
profile?: "mapbox/driving-traffic" | "mapbox/driving" | "mapbox/cycling" | "mapbox/walking" | undefined;
|
|
46
|
+
contours_minutes?: number[] | undefined;
|
|
47
|
+
contours_meters?: number[] | undefined;
|
|
48
|
+
contours_colors?: string[] | undefined;
|
|
49
|
+
polygons?: boolean | undefined;
|
|
50
|
+
denoise?: number | undefined;
|
|
51
|
+
}>;
|
|
52
|
+
export declare class IsochroneTool extends MapboxApiBasedTool<typeof IsochroneInputSchema> {
|
|
53
|
+
name: string;
|
|
54
|
+
description: string;
|
|
55
|
+
private fetch;
|
|
56
|
+
constructor(fetch?: typeof globalThis.fetch);
|
|
57
|
+
protected execute(input: z.infer<typeof IsochroneInputSchema>, accessToken: string): Promise<any>;
|
|
58
|
+
}
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=IsochroneTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsochroneTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/isochrone-tool/IsochroneTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgFxB,CAAC;AAEH,qBAAa,aAAc,SAAQ,kBAAkB,CACnD,OAAO,oBAAoB,CAC5B;IACC,IAAI,SAAoB;IACxB,WAAW,SAIuD;IAElE,OAAO,CAAC,KAAK,CAA0B;gBAE3B,KAAK,GAAE,OAAO,UAAU,CAAC,KAAmB;cAKxC,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAC3C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,CAAC;CA0DhB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
3
|
+
import { fetchClient } from '../../utils/fetchRequest.js';
|
|
3
4
|
const IsochroneInputSchema = z.object({
|
|
4
5
|
profile: z
|
|
5
6
|
.enum([
|
|
@@ -66,12 +67,14 @@ export class IsochroneTool extends MapboxApiBasedTool {
|
|
|
66
67
|
- Show a user how far they can travel in X minutes from their current location
|
|
67
68
|
- Determine whether a destination is within a certain travel time threshold
|
|
68
69
|
- Compare travel ranges for different modes of transportation'`;
|
|
69
|
-
|
|
70
|
+
fetch;
|
|
71
|
+
constructor(fetch = fetchClient) {
|
|
70
72
|
super({ inputSchema: IsochroneInputSchema });
|
|
73
|
+
this.fetch = fetch;
|
|
71
74
|
}
|
|
72
|
-
async execute(input) {
|
|
73
|
-
const url = new URL(`${MapboxApiBasedTool.
|
|
74
|
-
url.searchParams.append('access_token',
|
|
75
|
+
async execute(input, accessToken) {
|
|
76
|
+
const url = new URL(`${MapboxApiBasedTool.mapboxApiEndpoint}isochrone/v1/${input.profile}/${input.coordinates.longitude}%2C${input.coordinates.latitude}`);
|
|
77
|
+
url.searchParams.append('access_token', accessToken);
|
|
75
78
|
if ((!input.contours_minutes || input.contours_minutes.length === 0) &&
|
|
76
79
|
(!input.contours_meters || input.contours_meters.length === 0)) {
|
|
77
80
|
throw new Error("At least one of 'contours_minutes' or 'contours_meters' must be provided");
|
|
@@ -100,7 +103,7 @@ export class IsochroneTool extends MapboxApiBasedTool {
|
|
|
100
103
|
if (input.depart_at) {
|
|
101
104
|
url.searchParams.append('depart_at', input.depart_at);
|
|
102
105
|
}
|
|
103
|
-
const response = await fetch(url);
|
|
106
|
+
const response = await this.fetch(url);
|
|
104
107
|
if (!response.ok) {
|
|
105
108
|
throw new Error(`Failed to calculate isochrones: ${response.status} ${response.statusText}`);
|
|
106
109
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsochroneTool.js","sourceRoot":"","sources":["../../../../src/tools/isochrone-tool/IsochroneTool.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,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC;SACP,IAAI,CAAC;QACJ,wBAAwB;QACxB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;KACjB,CAAC;SACD,OAAO,CAAC,wBAAwB,CAAC;SACjC,QAAQ,CAAC,iBAAiB,CAAC;IAC9B,WAAW,EAAE,CAAC;SACX,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,CACP,8JAA8J,CAC/J;IAEH,gBAAgB,EAAE,CAAC;SAChB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,4HAA4H,CAC7H;IAEH,eAAe,EAAE,CAAC;SACf,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,2HAA2H,CAC5H;IAEH,eAAe,EAAE,CAAC;SACf,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,mJAAmJ,CACpJ;IAEH,QAAQ,EAAE,CAAC;SACR,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,EAAE;SACV,QAAQ,CAAC,2DAA2D,CAAC;IAExE,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,4IAA4I,CAC7I;IAEH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP;;;OAGC,CAAC,IAAI,EAAE,CACT;IAEH,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;SAC1E,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;IAE5E,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,yGAAyG,CAC1G;CACJ,CAAC,CAAC;AAEH,MAAM,OAAO,aAAc,SAAQ,kBAElC;IACC,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG;;;;mEAImD,CAAC;IAE1D,KAAK,CAA0B;IAEvC,YAAY,QAAiC,WAAW;QACtD,KAAK,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,OAAO,CACrB,KAA2C,EAC3C,WAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,GAAG,kBAAkB,CAAC,iBAAiB,gBAAgB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,SAAS,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CACtI,CAAC;QACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACrD,IACE,CAAC,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;YAChE,CAAC,CAAC,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,EAC9D,CAAC;YACD,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,YAAY,CAAC,MAAM,CACrB,kBAAkB,EAClB,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CACjC,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,YAAY,CAAC,MAAM,CACrB,iBAAiB,EACjB,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CACjC,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,YAAY,CAAC,MAAM,CACrB,iBAAiB,EACjB,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAChC,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,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;QACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,mCAAmC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAC5E,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
3
|
+
declare const MatrixInputSchema: 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">;
|
|
14
|
+
profile: z.ZodEnum<["driving-traffic", "driving", "walking", "cycling"]>;
|
|
15
|
+
annotations: z.ZodOptional<z.ZodEnum<["duration", "distance", "duration,distance", "distance,duration"]>>;
|
|
16
|
+
approaches: z.ZodOptional<z.ZodString>;
|
|
17
|
+
bearings: z.ZodOptional<z.ZodString>;
|
|
18
|
+
destinations: z.ZodOptional<z.ZodString>;
|
|
19
|
+
sources: z.ZodOptional<z.ZodString>;
|
|
20
|
+
}, "strip", z.ZodTypeAny, {
|
|
21
|
+
coordinates: {
|
|
22
|
+
longitude: number;
|
|
23
|
+
latitude: number;
|
|
24
|
+
}[];
|
|
25
|
+
profile: "driving-traffic" | "driving" | "walking" | "cycling";
|
|
26
|
+
annotations?: "distance" | "duration" | "duration,distance" | "distance,duration" | undefined;
|
|
27
|
+
approaches?: string | undefined;
|
|
28
|
+
bearings?: string | undefined;
|
|
29
|
+
destinations?: string | undefined;
|
|
30
|
+
sources?: string | undefined;
|
|
31
|
+
}, {
|
|
32
|
+
coordinates: {
|
|
33
|
+
longitude: number;
|
|
34
|
+
latitude: number;
|
|
35
|
+
}[];
|
|
36
|
+
profile: "driving-traffic" | "driving" | "walking" | "cycling";
|
|
37
|
+
annotations?: "distance" | "duration" | "duration,distance" | "distance,duration" | undefined;
|
|
38
|
+
approaches?: string | undefined;
|
|
39
|
+
bearings?: string | undefined;
|
|
40
|
+
destinations?: string | undefined;
|
|
41
|
+
sources?: string | undefined;
|
|
42
|
+
}>;
|
|
43
|
+
export declare class MatrixTool extends MapboxApiBasedTool<typeof MatrixInputSchema> {
|
|
44
|
+
name: string;
|
|
45
|
+
description: string;
|
|
46
|
+
private fetch;
|
|
47
|
+
constructor(fetch?: typeof globalThis.fetch);
|
|
48
|
+
protected execute(input: z.infer<typeof MatrixInputSchema>, accessToken: string): Promise<any>;
|
|
49
|
+
}
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=MatrixTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MatrixTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAK9D,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2ErB,CAAC;AAEH,qBAAa,UAAW,SAAQ,kBAAkB,CAAC,OAAO,iBAAiB,CAAC;IAC1E,IAAI,SAAiB;IACrB,WAAW,SACgF;IAE3F,OAAO,CAAC,KAAK,CAA0B;gBAE3B,KAAK,GAAE,OAAO,UAAU,CAAC,KAAmB;cAKxC,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,EACxC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,CAAC;CAyLhB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { URLSearchParams } from 'url';
|
|
1
|
+
import { URLSearchParams } from 'node:url';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
4
|
+
import { fetchClient } from '../../utils/fetchRequest.js';
|
|
4
5
|
// API documentation: https://docs.mapbox.com/api/navigation/matrix/
|
|
5
6
|
const MatrixInputSchema = z.object({
|
|
6
7
|
coordinates: z
|
|
@@ -62,10 +63,12 @@ const MatrixInputSchema = z.object({
|
|
|
62
63
|
export class MatrixTool extends MapboxApiBasedTool {
|
|
63
64
|
name = 'matrix_tool';
|
|
64
65
|
description = 'Calculates travel times and distances between multiple points using Mapbox Matrix API.';
|
|
65
|
-
|
|
66
|
+
fetch;
|
|
67
|
+
constructor(fetch = fetchClient) {
|
|
66
68
|
super({ inputSchema: MatrixInputSchema });
|
|
69
|
+
this.fetch = fetch;
|
|
67
70
|
}
|
|
68
|
-
async execute(input) {
|
|
71
|
+
async execute(input, accessToken) {
|
|
69
72
|
// Validate input based on profile type
|
|
70
73
|
if (input.profile === 'driving-traffic' && input.coordinates.length > 10) {
|
|
71
74
|
throw new Error('The driving-traffic profile supports a maximum of 10 coordinate pairs.');
|
|
@@ -159,7 +162,7 @@ export class MatrixTool extends MapboxApiBasedTool {
|
|
|
159
162
|
.join(';');
|
|
160
163
|
// Build query parameters
|
|
161
164
|
const queryParams = new URLSearchParams();
|
|
162
|
-
queryParams.append('access_token',
|
|
165
|
+
queryParams.append('access_token', accessToken);
|
|
163
166
|
// Add annotations parameter if specified
|
|
164
167
|
if (input.annotations) {
|
|
165
168
|
queryParams.append('annotations', input.annotations);
|
|
@@ -181,9 +184,9 @@ export class MatrixTool extends MapboxApiBasedTool {
|
|
|
181
184
|
queryParams.append('sources', input.sources);
|
|
182
185
|
}
|
|
183
186
|
// Construct the URL for the Matrix API request
|
|
184
|
-
const url = `${MapboxApiBasedTool.
|
|
187
|
+
const url = `${MapboxApiBasedTool.mapboxApiEndpoint}directions-matrix/v1/mapbox/${input.profile}/${joined}?${queryParams.toString()}`;
|
|
185
188
|
// Make the request
|
|
186
|
-
const response = await fetch(url);
|
|
189
|
+
const response = await this.fetch(url);
|
|
187
190
|
if (!response.ok) {
|
|
188
191
|
throw new Error(`Request failed with status ${response.status}: ${response.statusText}`);
|
|
189
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatrixTool.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"MatrixTool.js","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
3
|
+
declare const PoiSearchInputSchema: z.ZodObject<{
|
|
4
|
+
q: z.ZodString;
|
|
5
|
+
language: z.ZodOptional<z.ZodString>;
|
|
6
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
7
|
+
proximity: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
|
|
8
|
+
longitude: z.ZodNumber;
|
|
9
|
+
latitude: z.ZodNumber;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
longitude: number;
|
|
12
|
+
latitude: number;
|
|
13
|
+
}, {
|
|
14
|
+
longitude: number;
|
|
15
|
+
latitude: number;
|
|
16
|
+
}>, z.ZodEffects<z.ZodString, "ip" | {
|
|
17
|
+
longitude: any;
|
|
18
|
+
latitude: any;
|
|
19
|
+
}, string>]>>;
|
|
20
|
+
bbox: z.ZodOptional<z.ZodObject<{
|
|
21
|
+
minLongitude: z.ZodNumber;
|
|
22
|
+
minLatitude: z.ZodNumber;
|
|
23
|
+
maxLongitude: z.ZodNumber;
|
|
24
|
+
maxLatitude: z.ZodNumber;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
minLongitude: number;
|
|
27
|
+
minLatitude: number;
|
|
28
|
+
maxLongitude: number;
|
|
29
|
+
maxLatitude: number;
|
|
30
|
+
}, {
|
|
31
|
+
minLongitude: number;
|
|
32
|
+
minLatitude: number;
|
|
33
|
+
maxLongitude: number;
|
|
34
|
+
maxLatitude: number;
|
|
35
|
+
}>>;
|
|
36
|
+
country: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
37
|
+
types: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
38
|
+
poi_category: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
39
|
+
auto_complete: z.ZodOptional<z.ZodBoolean>;
|
|
40
|
+
eta_type: z.ZodOptional<z.ZodEnum<["navigation"]>>;
|
|
41
|
+
navigation_profile: z.ZodOptional<z.ZodEnum<["driving", "walking", "cycling", "driving-traffic"]>>;
|
|
42
|
+
origin: z.ZodOptional<z.ZodObject<{
|
|
43
|
+
longitude: z.ZodNumber;
|
|
44
|
+
latitude: z.ZodNumber;
|
|
45
|
+
}, "strip", z.ZodTypeAny, {
|
|
46
|
+
longitude: number;
|
|
47
|
+
latitude: number;
|
|
48
|
+
}, {
|
|
49
|
+
longitude: number;
|
|
50
|
+
latitude: number;
|
|
51
|
+
}>>;
|
|
52
|
+
format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["json_string", "formatted_text"]>>>;
|
|
53
|
+
}, "strip", z.ZodTypeAny, {
|
|
54
|
+
limit: number;
|
|
55
|
+
format: "json_string" | "formatted_text";
|
|
56
|
+
q: string;
|
|
57
|
+
language?: string | undefined;
|
|
58
|
+
proximity?: "ip" | {
|
|
59
|
+
longitude: number;
|
|
60
|
+
latitude: number;
|
|
61
|
+
} | {
|
|
62
|
+
longitude: any;
|
|
63
|
+
latitude: any;
|
|
64
|
+
} | undefined;
|
|
65
|
+
bbox?: {
|
|
66
|
+
minLongitude: number;
|
|
67
|
+
minLatitude: number;
|
|
68
|
+
maxLongitude: number;
|
|
69
|
+
maxLatitude: number;
|
|
70
|
+
} | undefined;
|
|
71
|
+
country?: string[] | undefined;
|
|
72
|
+
types?: string[] | undefined;
|
|
73
|
+
poi_category?: string[] | undefined;
|
|
74
|
+
auto_complete?: boolean | undefined;
|
|
75
|
+
eta_type?: "navigation" | undefined;
|
|
76
|
+
navigation_profile?: "driving-traffic" | "driving" | "walking" | "cycling" | undefined;
|
|
77
|
+
origin?: {
|
|
78
|
+
longitude: number;
|
|
79
|
+
latitude: number;
|
|
80
|
+
} | undefined;
|
|
81
|
+
}, {
|
|
82
|
+
q: string;
|
|
83
|
+
language?: string | undefined;
|
|
84
|
+
limit?: number | undefined;
|
|
85
|
+
proximity?: string | {
|
|
86
|
+
longitude: number;
|
|
87
|
+
latitude: number;
|
|
88
|
+
} | undefined;
|
|
89
|
+
bbox?: {
|
|
90
|
+
minLongitude: number;
|
|
91
|
+
minLatitude: number;
|
|
92
|
+
maxLongitude: number;
|
|
93
|
+
maxLatitude: number;
|
|
94
|
+
} | undefined;
|
|
95
|
+
country?: string[] | undefined;
|
|
96
|
+
format?: "json_string" | "formatted_text" | undefined;
|
|
97
|
+
types?: string[] | undefined;
|
|
98
|
+
poi_category?: string[] | undefined;
|
|
99
|
+
auto_complete?: boolean | undefined;
|
|
100
|
+
eta_type?: "navigation" | undefined;
|
|
101
|
+
navigation_profile?: "driving-traffic" | "driving" | "walking" | "cycling" | undefined;
|
|
102
|
+
origin?: {
|
|
103
|
+
longitude: number;
|
|
104
|
+
latitude: number;
|
|
105
|
+
} | undefined;
|
|
106
|
+
}>;
|
|
107
|
+
export declare class PoiSearchTool extends MapboxApiBasedTool<typeof PoiSearchInputSchema> {
|
|
108
|
+
name: string;
|
|
109
|
+
description: string;
|
|
110
|
+
private fetch;
|
|
111
|
+
constructor(fetch?: typeof globalThis.fetch);
|
|
112
|
+
private formatGeoJsonToText;
|
|
113
|
+
protected execute(input: z.infer<typeof PoiSearchInputSchema>, accessToken: string): Promise<{
|
|
114
|
+
type: 'text';
|
|
115
|
+
text: string;
|
|
116
|
+
}>;
|
|
117
|
+
}
|
|
118
|
+
export {};
|
|
119
|
+
//# sourceMappingURL=PoiSearchTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
3
|
+
import { fetchClient } from '../../utils/fetchRequest.js';
|
|
3
4
|
const PoiSearchInputSchema = z.object({
|
|
4
5
|
q: z
|
|
5
6
|
.string()
|
|
@@ -111,8 +112,10 @@ const PoiSearchInputSchema = z.object({
|
|
|
111
112
|
export class PoiSearchTool extends MapboxApiBasedTool {
|
|
112
113
|
name = 'poi_search_tool';
|
|
113
114
|
description = "Find one specific place or brand location by its proper name or unique brand. Use only when the user's query includes a distinct title (e.g., \"The Met\", \"Starbucks Reserve Roastery\") or a brand they want all nearby branches of (e.g., \"Macy's stores near me\"). Do not use for generic place types such as 'museums', 'coffee shops', 'tacos', etc. Setting a proximity point is strongly encouraged for more relevant results. Always try to use a limit of at least 3 in case the user's intended result is not the first result. Supports both JSON and text output formats.";
|
|
114
|
-
|
|
115
|
+
fetch;
|
|
116
|
+
constructor(fetch = fetchClient) {
|
|
115
117
|
super({ inputSchema: PoiSearchInputSchema });
|
|
118
|
+
this.fetch = fetch;
|
|
116
119
|
}
|
|
117
120
|
formatGeoJsonToText(geoJsonResponse) {
|
|
118
121
|
if (!geoJsonResponse ||
|
|
@@ -156,12 +159,12 @@ export class PoiSearchTool extends MapboxApiBasedTool {
|
|
|
156
159
|
});
|
|
157
160
|
return results.join('\n\n');
|
|
158
161
|
}
|
|
159
|
-
async execute(input) {
|
|
162
|
+
async execute(input, accessToken) {
|
|
160
163
|
this.log('info', `PoiSearchTool: Starting search with input: ${JSON.stringify(input)}`);
|
|
161
|
-
const url = new URL(`${MapboxApiBasedTool.
|
|
164
|
+
const url = new URL(`${MapboxApiBasedTool.mapboxApiEndpoint}search/searchbox/v1/forward`);
|
|
162
165
|
// Required parameters
|
|
163
166
|
url.searchParams.append('q', input.q);
|
|
164
|
-
url.searchParams.append('access_token',
|
|
167
|
+
url.searchParams.append('access_token', accessToken);
|
|
165
168
|
// Optional parameters
|
|
166
169
|
if (input.language) {
|
|
167
170
|
url.searchParams.append('language', input.language);
|
|
@@ -204,8 +207,8 @@ export class PoiSearchTool extends MapboxApiBasedTool {
|
|
|
204
207
|
const { longitude, latitude } = input.origin;
|
|
205
208
|
url.searchParams.append('origin', `${longitude},${latitude}`);
|
|
206
209
|
}
|
|
207
|
-
this.log('info', `PoiSearchTool: Fetching from URL: ${url.toString().replace(
|
|
208
|
-
const response = await fetch(url.toString());
|
|
210
|
+
this.log('info', `PoiSearchTool: Fetching from URL: ${url.toString().replace(accessToken, '[REDACTED]')}`);
|
|
211
|
+
const response = await this.fetch(url.toString());
|
|
209
212
|
if (!response.ok) {
|
|
210
213
|
const errorBody = await response.text();
|
|
211
214
|
this.log('error', `PoiSearchTool: API Error - Status: ${response.status}, Body: ${errorBody}`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PoiSearchTool.js","sourceRoot":"","sources":["../../../../src/tools/poi-search-tool/PoiSearchTool.ts"],"names":[],"mappings":"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"}
|