@mapbox/mcp-server 0.2.4 → 0.4.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.
Files changed (250) hide show
  1. package/README.md +9 -9
  2. package/dist/commonjs/config/toolConfig.d.ts +8 -0
  3. package/dist/commonjs/config/toolConfig.d.ts.map +1 -0
  4. package/dist/commonjs/config/toolConfig.js +40 -0
  5. package/dist/commonjs/config/toolConfig.js.map +1 -0
  6. package/dist/commonjs/index.d.ts +2 -0
  7. package/dist/{index.d.ts.map → commonjs/index.d.ts.map} +1 -1
  8. package/dist/commonjs/index.js +38 -0
  9. package/dist/commonjs/index.js.map +1 -0
  10. package/dist/{cjs → commonjs}/package.json +1 -1
  11. package/dist/{tools → commonjs/tools}/MapboxApiBasedTool.d.ts +6 -5
  12. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -0
  13. package/dist/commonjs/tools/MapboxApiBasedTool.js +111 -0
  14. package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -0
  15. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts +28 -0
  16. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts.map +1 -0
  17. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js +68 -0
  18. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js.map +1 -0
  19. package/dist/{tools → commonjs/tools}/category-search-tool/CategorySearchTool.d.ts +6 -5
  20. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -0
  21. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +188 -0
  22. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -0
  23. package/dist/{tools → commonjs/tools}/directions-tool/DirectionsTool.d.ts +3 -2
  24. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -0
  25. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +385 -0
  26. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -0
  27. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts.map +1 -0
  28. package/dist/commonjs/tools/directions-tool/cleanResponseData.js +178 -0
  29. package/dist/commonjs/tools/directions-tool/cleanResponseData.js.map +1 -0
  30. package/dist/commonjs/tools/directions-tool/formatIsoDateTime.d.ts.map +1 -0
  31. package/dist/commonjs/tools/directions-tool/formatIsoDateTime.js +21 -0
  32. package/dist/commonjs/tools/directions-tool/formatIsoDateTime.js.map +1 -0
  33. package/dist/{tools → commonjs/tools}/forward-geocode-tool/ForwardGeocodeTool.d.ts +5 -4
  34. package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -0
  35. package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.js +212 -0
  36. package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -0
  37. package/dist/{tools → commonjs/tools}/isochrone-tool/IsochroneTool.d.ts +3 -2
  38. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -0
  39. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +118 -0
  40. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -0
  41. package/dist/{tools → commonjs/tools}/matrix-tool/MatrixTool.d.ts +3 -2
  42. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts.map +1 -0
  43. package/dist/commonjs/tools/matrix-tool/MatrixTool.js +202 -0
  44. package/dist/commonjs/tools/matrix-tool/MatrixTool.js.map +1 -0
  45. package/dist/{tools → commonjs/tools}/poi-search-tool/PoiSearchTool.d.ts +5 -4
  46. package/dist/commonjs/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -0
  47. package/dist/commonjs/tools/poi-search-tool/PoiSearchTool.js +231 -0
  48. package/dist/commonjs/tools/poi-search-tool/PoiSearchTool.js.map +1 -0
  49. package/dist/{tools → commonjs/tools}/reverse-geocode-tool/ReverseGeocodeTool.d.ts +5 -4
  50. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -0
  51. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js +148 -0
  52. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -0
  53. package/dist/{tools → commonjs/tools}/static-map-image-tool/StaticMapImageTool.d.ts +3 -2
  54. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -0
  55. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +416 -0
  56. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -0
  57. package/dist/{tools → commonjs/tools}/toolRegistry.d.ts +2 -1
  58. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -0
  59. package/dist/commonjs/tools/toolRegistry.js +37 -0
  60. package/dist/commonjs/tools/toolRegistry.js.map +1 -0
  61. package/dist/{tools → commonjs/tools}/version-tool/VersionTool.d.ts +1 -1
  62. package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +1 -0
  63. package/dist/commonjs/tools/version-tool/VersionTool.js +52 -0
  64. package/dist/commonjs/tools/version-tool/VersionTool.js.map +1 -0
  65. package/dist/commonjs/utils/fetchRequest.d.ts +38 -0
  66. package/dist/commonjs/utils/fetchRequest.d.ts.map +1 -0
  67. package/dist/commonjs/utils/fetchRequest.js +111 -0
  68. package/dist/commonjs/utils/fetchRequest.js.map +1 -0
  69. package/dist/commonjs/utils/versionUtils-cjs.cjs.map +1 -0
  70. package/dist/commonjs/utils/versionUtils-cjs.d.cts.map +1 -0
  71. package/dist/commonjs/utils/versionUtils.d.ts +9 -0
  72. package/dist/commonjs/utils/versionUtils.js +46 -0
  73. package/dist/commonjs/version.json +6 -0
  74. package/dist/esm/config/toolConfig.d.ts +8 -0
  75. package/dist/esm/config/toolConfig.d.ts.map +1 -0
  76. package/dist/esm/config/toolConfig.js +36 -0
  77. package/dist/esm/config/toolConfig.js.map +1 -0
  78. package/dist/esm/index.d.ts +2 -0
  79. package/dist/esm/index.d.ts.map +1 -0
  80. package/dist/esm/index.js +36 -0
  81. package/dist/esm/index.js.map +1 -0
  82. package/dist/esm/package.json +1 -1
  83. package/dist/esm/tools/MapboxApiBasedTool.d.ts +83 -0
  84. package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -0
  85. package/dist/{tools → esm/tools}/MapboxApiBasedTool.js +20 -13
  86. package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -0
  87. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts +28 -0
  88. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts.map +1 -0
  89. package/dist/esm/tools/category-list-tool/CategoryListTool.js +64 -0
  90. package/dist/esm/tools/category-list-tool/CategoryListTool.js.map +1 -0
  91. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts +89 -0
  92. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -0
  93. package/dist/esm/tools/category-search-tool/CategorySearchTool.js +184 -0
  94. package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -0
  95. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +44 -0
  96. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -0
  97. package/dist/{tools → esm/tools}/directions-tool/DirectionsTool.js +9 -8
  98. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -0
  99. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts +11 -0
  100. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts.map +1 -0
  101. package/dist/esm/tools/directions-tool/cleanResponseData.js.map +1 -0
  102. package/dist/esm/tools/directions-tool/formatIsoDateTime.d.ts +8 -0
  103. package/dist/esm/tools/directions-tool/formatIsoDateTime.d.ts.map +1 -0
  104. package/dist/esm/tools/directions-tool/formatIsoDateTime.js.map +1 -0
  105. package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts +98 -0
  106. package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -0
  107. package/dist/{tools → esm/tools}/forward-geocode-tool/ForwardGeocodeTool.js +8 -5
  108. package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -0
  109. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts +60 -0
  110. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -0
  111. package/dist/{tools → esm/tools}/isochrone-tool/IsochroneTool.js +8 -5
  112. package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -0
  113. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts +51 -0
  114. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts.map +1 -0
  115. package/dist/{tools → esm/tools}/matrix-tool/MatrixTool.js +8 -5
  116. package/dist/{tools → esm/tools}/matrix-tool/MatrixTool.js.map +1 -1
  117. package/dist/esm/tools/poi-search-tool/PoiSearchTool.d.ts +119 -0
  118. package/dist/esm/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -0
  119. package/dist/{tools → esm/tools}/poi-search-tool/PoiSearchTool.js +9 -6
  120. package/dist/esm/tools/poi-search-tool/PoiSearchTool.js.map +1 -0
  121. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +46 -0
  122. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -0
  123. package/dist/{tools → esm/tools}/reverse-geocode-tool/ReverseGeocodeTool.js +8 -5
  124. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -0
  125. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +179 -0
  126. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -0
  127. package/dist/{tools → esm/tools}/static-map-image-tool/StaticMapImageTool.js +7 -4
  128. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -0
  129. package/dist/esm/tools/toolRegistry.d.ts +15 -0
  130. package/dist/esm/tools/toolRegistry.d.ts.map +1 -0
  131. package/dist/{tools → esm/tools}/toolRegistry.js +2 -0
  132. package/dist/esm/tools/toolRegistry.js.map +1 -0
  133. package/dist/esm/tools/version-tool/VersionTool.d.ts +18 -0
  134. package/dist/esm/tools/version-tool/VersionTool.d.ts.map +1 -0
  135. package/dist/{tools → esm/tools}/version-tool/VersionTool.js +2 -4
  136. package/dist/esm/tools/version-tool/VersionTool.js.map +1 -0
  137. package/dist/esm/utils/fetchRequest.d.ts +38 -0
  138. package/dist/esm/utils/fetchRequest.d.ts.map +1 -0
  139. package/dist/esm/utils/fetchRequest.js +105 -0
  140. package/dist/esm/utils/fetchRequest.js.map +1 -0
  141. package/dist/esm/utils/versionUtils.d.ts.map +1 -0
  142. package/dist/{utils → esm/utils}/versionUtils.js +4 -2
  143. package/dist/esm/utils/versionUtils.js.map +1 -0
  144. package/dist/esm/version.json +6 -0
  145. package/package.json +44 -29
  146. package/dist/index.d.ts +0 -2
  147. package/dist/index.js +0 -25
  148. package/dist/index.js.map +0 -1
  149. package/dist/tools/MapboxApiBasedTool.d.ts.map +0 -1
  150. package/dist/tools/MapboxApiBasedTool.js.map +0 -1
  151. package/dist/tools/MapboxApiBasedTool.test.d.ts +0 -2
  152. package/dist/tools/MapboxApiBasedTool.test.d.ts.map +0 -1
  153. package/dist/tools/MapboxApiBasedTool.test.js +0 -143
  154. package/dist/tools/MapboxApiBasedTool.test.js.map +0 -1
  155. package/dist/tools/category-search-tool/CategorySearchTool.d.ts.map +0 -1
  156. package/dist/tools/category-search-tool/CategorySearchTool.js +0 -666
  157. package/dist/tools/category-search-tool/CategorySearchTool.js.map +0 -1
  158. package/dist/tools/category-search-tool/CategorySearchTool.test.d.ts +0 -2
  159. package/dist/tools/category-search-tool/CategorySearchTool.test.d.ts.map +0 -1
  160. package/dist/tools/category-search-tool/CategorySearchTool.test.js +0 -369
  161. package/dist/tools/category-search-tool/CategorySearchTool.test.js.map +0 -1
  162. package/dist/tools/directions-tool/DirectionsTool.d.ts.map +0 -1
  163. package/dist/tools/directions-tool/DirectionsTool.js.map +0 -1
  164. package/dist/tools/directions-tool/DirectionsTool.test.d.ts +0 -2
  165. package/dist/tools/directions-tool/DirectionsTool.test.d.ts.map +0 -1
  166. package/dist/tools/directions-tool/DirectionsTool.test.js +0 -822
  167. package/dist/tools/directions-tool/DirectionsTool.test.js.map +0 -1
  168. package/dist/tools/directions-tool/cleanResponseData.d.ts.map +0 -1
  169. package/dist/tools/directions-tool/cleanResponseData.js.map +0 -1
  170. package/dist/tools/directions-tool/cleanResponseData.test.d.ts +0 -2
  171. package/dist/tools/directions-tool/cleanResponseData.test.d.ts.map +0 -1
  172. package/dist/tools/directions-tool/cleanResponseData.test.js +0 -295
  173. package/dist/tools/directions-tool/cleanResponseData.test.js.map +0 -1
  174. package/dist/tools/directions-tool/formatIsoDateTime.d.ts.map +0 -1
  175. package/dist/tools/directions-tool/formatIsoDateTime.js.map +0 -1
  176. package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts +0 -2
  177. package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts.map +0 -1
  178. package/dist/tools/directions-tool/formatIsoDateTime.test.js +0 -26
  179. package/dist/tools/directions-tool/formatIsoDateTime.test.js.map +0 -1
  180. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +0 -1
  181. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +0 -1
  182. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.d.ts +0 -2
  183. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.d.ts.map +0 -1
  184. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js +0 -415
  185. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js.map +0 -1
  186. package/dist/tools/isochrone-tool/IsochroneTool.d.ts.map +0 -1
  187. package/dist/tools/isochrone-tool/IsochroneTool.js.map +0 -1
  188. package/dist/tools/isochrone-tool/IsochroneTool.test.d.ts +0 -2
  189. package/dist/tools/isochrone-tool/IsochroneTool.test.d.ts.map +0 -1
  190. package/dist/tools/isochrone-tool/IsochroneTool.test.js +0 -111
  191. package/dist/tools/isochrone-tool/IsochroneTool.test.js.map +0 -1
  192. package/dist/tools/matrix-tool/MatrixTool.d.ts.map +0 -1
  193. package/dist/tools/matrix-tool/MatrixTool.test.d.ts +0 -2
  194. package/dist/tools/matrix-tool/MatrixTool.test.d.ts.map +0 -1
  195. package/dist/tools/matrix-tool/MatrixTool.test.js +0 -816
  196. package/dist/tools/matrix-tool/MatrixTool.test.js.map +0 -1
  197. package/dist/tools/poi-search-tool/PoiSearchTool.d.ts.map +0 -1
  198. package/dist/tools/poi-search-tool/PoiSearchTool.js.map +0 -1
  199. package/dist/tools/poi-search-tool/PoiSearchTool.test.d.ts +0 -2
  200. package/dist/tools/poi-search-tool/PoiSearchTool.test.d.ts.map +0 -1
  201. package/dist/tools/poi-search-tool/PoiSearchTool.test.js +0 -418
  202. package/dist/tools/poi-search-tool/PoiSearchTool.test.js.map +0 -1
  203. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +0 -1
  204. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +0 -1
  205. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.d.ts +0 -2
  206. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.d.ts.map +0 -1
  207. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js +0 -403
  208. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js.map +0 -1
  209. package/dist/tools/schema-validation.test.d.ts +0 -2
  210. package/dist/tools/schema-validation.test.d.ts.map +0 -1
  211. package/dist/tools/schema-validation.test.js +0 -75
  212. package/dist/tools/schema-validation.test.js.map +0 -1
  213. package/dist/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +0 -1
  214. package/dist/tools/static-map-image-tool/StaticMapImageTool.js.map +0 -1
  215. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.d.ts +0 -2
  216. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.d.ts.map +0 -1
  217. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js +0 -441
  218. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js.map +0 -1
  219. package/dist/tools/tool-naming-convention.test.d.ts +0 -2
  220. package/dist/tools/tool-naming-convention.test.d.ts.map +0 -1
  221. package/dist/tools/tool-naming-convention.test.js +0 -43
  222. package/dist/tools/tool-naming-convention.test.js.map +0 -1
  223. package/dist/tools/toolRegistry.d.ts.map +0 -1
  224. package/dist/tools/toolRegistry.js.map +0 -1
  225. package/dist/tools/version-tool/VersionTool.d.ts.map +0 -1
  226. package/dist/tools/version-tool/VersionTool.js.map +0 -1
  227. package/dist/tools/version-tool/VersionTool.test.d.ts +0 -2
  228. package/dist/tools/version-tool/VersionTool.test.d.ts.map +0 -1
  229. package/dist/tools/version-tool/VersionTool.test.js +0 -49
  230. package/dist/tools/version-tool/VersionTool.test.js.map +0 -1
  231. package/dist/utils/requestUtils.d.ts +0 -6
  232. package/dist/utils/requestUtils.d.ts.map +0 -1
  233. package/dist/utils/requestUtils.js +0 -60
  234. package/dist/utils/requestUtils.js.map +0 -1
  235. package/dist/utils/requestUtils.test-helpers.d.ts +0 -3
  236. package/dist/utils/requestUtils.test-helpers.d.ts.map +0 -1
  237. package/dist/utils/requestUtils.test-helpers.js +0 -32
  238. package/dist/utils/requestUtils.test-helpers.js.map +0 -1
  239. package/dist/utils/requestUtils.test.d.ts +0 -2
  240. package/dist/utils/requestUtils.test.d.ts.map +0 -1
  241. package/dist/utils/requestUtils.test.js +0 -115
  242. package/dist/utils/requestUtils.test.js.map +0 -1
  243. package/dist/utils/versionUtils.d.ts.map +0 -1
  244. package/dist/utils/versionUtils.js.map +0 -1
  245. package/dist/version.json +0 -6
  246. /package/dist/{tools → commonjs/tools}/directions-tool/cleanResponseData.d.ts +0 -0
  247. /package/dist/{tools → commonjs/tools}/directions-tool/formatIsoDateTime.d.ts +0 -0
  248. /package/dist/{tools → esm/tools}/directions-tool/cleanResponseData.js +0 -0
  249. /package/dist/{tools → esm/tools}/directions-tool/formatIsoDateTime.js +0 -0
  250. /package/dist/{utils → esm/utils}/versionUtils.d.ts +0 -0
@@ -43,8 +43,9 @@ declare const MatrixInputSchema: z.ZodObject<{
43
43
  export declare class MatrixTool extends MapboxApiBasedTool<typeof MatrixInputSchema> {
44
44
  name: string;
45
45
  description: string;
46
- constructor();
47
- protected execute(input: z.infer<typeof MatrixInputSchema>): Promise<any>;
46
+ private fetch;
47
+ constructor(fetch?: typeof globalThis.fetch);
48
+ protected execute(input: z.infer<typeof MatrixInputSchema>, accessToken: string): Promise<any>;
48
49
  }
49
50
  export {};
50
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"}
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MatrixTool = void 0;
4
+ const url_1 = require("url");
5
+ const zod_1 = require("zod");
6
+ const MapboxApiBasedTool_js_1 = require("../MapboxApiBasedTool.js");
7
+ const fetchRequest_js_1 = require("../../utils/fetchRequest.js");
8
+ // API documentation: https://docs.mapbox.com/api/navigation/matrix/
9
+ const MatrixInputSchema = zod_1.z.object({
10
+ coordinates: zod_1.z
11
+ .array(zod_1.z.object({
12
+ longitude: zod_1.z
13
+ .number()
14
+ .min(-180, 'Longitude must be between -180 and 180 degrees')
15
+ .max(180, 'Longitude must be between -180 and 180 degrees'),
16
+ latitude: zod_1.z
17
+ .number()
18
+ .min(-90, 'Latitude must be between -90 and 90 degrees')
19
+ .max(90, 'Latitude must be between -90 and 90 degrees')
20
+ }))
21
+ .min(2, 'At least two coordinate pairs are required.')
22
+ .max(25, 'Up to 25 coordinate pairs are supported for most profiles (10 for driving-traffic).')
23
+ .describe('Array of coordinate objects with longitude and latitude properties. ' +
24
+ 'Must include at least 2 coordinate pairs. ' +
25
+ 'Up to 25 coordinates total are supported for most profiles (10 for driving-traffic).'),
26
+ profile: zod_1.z
27
+ .enum(['driving-traffic', 'driving', 'walking', 'cycling'])
28
+ .describe('Routing profile for different modes of transport. Options: \n' +
29
+ '- driving-traffic: automotive with current traffic conditions (limited to 10 coordinates)\n' +
30
+ '- driving: automotive based on typical traffic\n' +
31
+ '- walking: pedestrian/hiking\n' +
32
+ '- cycling: bicycle'),
33
+ annotations: zod_1.z
34
+ .enum(['duration', 'distance', 'duration,distance', 'distance,duration'])
35
+ .optional()
36
+ .describe('Specifies the resulting matrices. Possible values are: duration (default), distance, or both values separated by a comma.'),
37
+ approaches: zod_1.z
38
+ .string()
39
+ .optional()
40
+ .describe('A semicolon-separated list indicating the side of the road from which to approach waypoints. ' +
41
+ 'Accepts "unrestricted" (default, route can arrive at the waypoint from either side of the road) ' +
42
+ 'or "curb" (route will arrive at the waypoint on the driving_side of the region). ' +
43
+ 'If provided, the number of approaches must be the same as the number of waypoints. ' +
44
+ 'You can skip a coordinate and show its position with the ; separator.'),
45
+ bearings: zod_1.z
46
+ .string()
47
+ .optional()
48
+ .describe('A semicolon-separated list of headings and allowed deviation indicating the direction of movement. ' +
49
+ 'Input as two comma-separated values per location: a heading course measured clockwise from true north ' +
50
+ 'between 0 and 360, and the range of degrees by which the angle can deviate (recommended value is 45° or 90°), ' +
51
+ 'formatted as {angle,degrees}. If provided, the number of bearings must equal the number of coordinates. ' +
52
+ 'You can skip a coordinate and show its position in the list with the ; separator.'),
53
+ destinations: zod_1.z
54
+ .string()
55
+ .optional()
56
+ .describe('Use the coordinates at given indices as destinations. ' +
57
+ 'Possible values are: a semicolon-separated list of 0-based indices, or "all" (default). ' +
58
+ 'The option "all" allows using all coordinates as destinations.'),
59
+ sources: zod_1.z
60
+ .string()
61
+ .optional()
62
+ .describe('Use the coordinates at given indices as sources. ' +
63
+ 'Possible values are: a semicolon-separated list of 0-based indices, or "all" (default). ' +
64
+ 'The option "all" allows using all coordinates as sources.')
65
+ });
66
+ class MatrixTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
67
+ name = 'matrix_tool';
68
+ description = 'Calculates travel times and distances between multiple points using Mapbox Matrix API.';
69
+ fetch;
70
+ constructor(fetch = fetchRequest_js_1.fetchClient) {
71
+ super({ inputSchema: MatrixInputSchema });
72
+ this.fetch = fetch;
73
+ }
74
+ async execute(input, accessToken) {
75
+ // Validate input based on profile type
76
+ if (input.profile === 'driving-traffic' && input.coordinates.length > 10) {
77
+ throw new Error('The driving-traffic profile supports a maximum of 10 coordinate pairs.');
78
+ }
79
+ // Validate approaches parameter if provided
80
+ if (input.approaches &&
81
+ input.approaches.split(';').length !== input.coordinates.length) {
82
+ throw new Error('When provided, the number of approaches (including empty/skipped) must match the number of coordinates.');
83
+ }
84
+ // Validate that all approaches values are either "curb" or "unrestricted"
85
+ if (input.approaches &&
86
+ input.approaches
87
+ .split(';')
88
+ .some((approach) => approach !== '' &&
89
+ approach !== 'curb' &&
90
+ approach !== 'unrestricted')) {
91
+ throw new Error('Approaches parameter contains invalid values. Each value must be either "curb" or "unrestricted".');
92
+ }
93
+ // Validate bearings parameter if provided
94
+ if (input.bearings &&
95
+ input.bearings.split(';').length !== input.coordinates.length) {
96
+ throw new Error('When provided, the number of bearings (including empty/skipped) must match the number of coordinates.');
97
+ }
98
+ // Additional validation for bearings values
99
+ if (input.bearings) {
100
+ const bearingsArr = input.bearings.split(';');
101
+ bearingsArr.forEach((bearing, idx) => {
102
+ if (bearing.trim() === '')
103
+ return; // allow skipped
104
+ const parts = bearing.split(',');
105
+ if (parts.length !== 2) {
106
+ throw new Error(`Invalid bearings format at index ${idx}: '${bearing}'. Each bearing must be two comma-separated numbers (angle,degrees).`);
107
+ }
108
+ const angle = Number(parts[0]);
109
+ const degrees = Number(parts[1]);
110
+ if (isNaN(angle) || angle < 0 || angle > 360) {
111
+ throw new Error(`Invalid bearing angle at index ${idx}: '${parts[0]}'. Angle must be a number between 0 and 360.`);
112
+ }
113
+ if (isNaN(degrees) || degrees < 0 || degrees > 180) {
114
+ throw new Error(`Invalid bearing degrees at index ${idx}: '${parts[1]}'. Degrees must be a number between 0 and 180.`);
115
+ }
116
+ });
117
+ }
118
+ // Validate sources parameter if provided - ensure all indices are valid
119
+ if (input.sources &&
120
+ input.sources !== 'all' &&
121
+ input.sources.split(';').some((index) => {
122
+ const parsedIndex = parseInt(index, 10);
123
+ return (isNaN(parsedIndex) ||
124
+ parsedIndex < 0 ||
125
+ parsedIndex >= input.coordinates.length);
126
+ })) {
127
+ throw new Error('Sources parameter contains invalid indices. All indices must be between 0 and ' +
128
+ (input.coordinates.length - 1) +
129
+ '.');
130
+ }
131
+ // Validate destinations parameter if provided - ensure all indices are valid
132
+ if (input.destinations &&
133
+ input.destinations !== 'all' &&
134
+ input.destinations.split(';').some((index) => {
135
+ const parsedIndex = parseInt(index, 10);
136
+ return (isNaN(parsedIndex) ||
137
+ parsedIndex < 0 ||
138
+ parsedIndex >= input.coordinates.length);
139
+ })) {
140
+ throw new Error('Destinations parameter contains invalid indices. All indices must be between 0 and ' +
141
+ (input.coordinates.length - 1) +
142
+ '.');
143
+ }
144
+ // Validate that when specifying both sources and destinations, all coordinates are used
145
+ if (input.sources &&
146
+ input.sources !== 'all' &&
147
+ input.destinations &&
148
+ input.destinations !== 'all') {
149
+ // Get all unique coordinate indices that are used
150
+ const sourcesIndices = input.sources
151
+ .split(';')
152
+ .map((idx) => parseInt(idx, 10));
153
+ const destinationsIndices = input.destinations
154
+ .split(';')
155
+ .map((idx) => parseInt(idx, 10));
156
+ const usedIndices = new Set([...sourcesIndices, ...destinationsIndices]);
157
+ // Check if all coordinate indices are used
158
+ if (usedIndices.size < input.coordinates.length) {
159
+ throw new Error('When specifying both sources and destinations, all coordinates must be used as either a source or destination.');
160
+ }
161
+ }
162
+ // Format coordinates for API request
163
+ const joined = input.coordinates
164
+ .map(({ longitude, latitude }) => `${longitude},${latitude}`)
165
+ .join(';');
166
+ // Build query parameters
167
+ const queryParams = new url_1.URLSearchParams();
168
+ queryParams.append('access_token', accessToken);
169
+ // Add annotations parameter if specified
170
+ if (input.annotations) {
171
+ queryParams.append('annotations', input.annotations);
172
+ }
173
+ // Add approaches parameter if specified
174
+ if (input.approaches) {
175
+ queryParams.append('approaches', input.approaches);
176
+ }
177
+ // Add bearings parameter if specified
178
+ if (input.bearings) {
179
+ queryParams.append('bearings', input.bearings);
180
+ }
181
+ // Add destinations parameter if specified
182
+ if (input.destinations) {
183
+ queryParams.append('destinations', input.destinations);
184
+ }
185
+ // Add sources parameter if specified
186
+ if (input.sources) {
187
+ queryParams.append('sources', input.sources);
188
+ }
189
+ // Construct the URL for the Matrix API request
190
+ const url = `${MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint}directions-matrix/v1/mapbox/${input.profile}/${joined}?${queryParams.toString()}`;
191
+ // Make the request
192
+ const response = await this.fetch(url);
193
+ if (!response.ok) {
194
+ throw new Error(`Request failed with status ${response.status}: ${response.statusText}`);
195
+ }
196
+ // Return the matrix data
197
+ const data = await response.json();
198
+ return data;
199
+ }
200
+ }
201
+ exports.MatrixTool = MatrixTool;
202
+ //# sourceMappingURL=MatrixTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixTool.js","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,6 @@ declare const PoiSearchInputSchema: z.ZodObject<{
54
54
  limit: number;
55
55
  format: "json_string" | "formatted_text";
56
56
  q: string;
57
- country?: string[] | undefined;
58
57
  language?: string | undefined;
59
58
  proximity?: "ip" | {
60
59
  longitude: number;
@@ -69,6 +68,7 @@ declare const PoiSearchInputSchema: z.ZodObject<{
69
68
  maxLongitude: number;
70
69
  maxLatitude: number;
71
70
  } | undefined;
71
+ country?: string[] | undefined;
72
72
  types?: string[] | undefined;
73
73
  poi_category?: string[] | undefined;
74
74
  auto_complete?: boolean | undefined;
@@ -80,7 +80,6 @@ declare const PoiSearchInputSchema: z.ZodObject<{
80
80
  } | undefined;
81
81
  }, {
82
82
  q: string;
83
- country?: string[] | undefined;
84
83
  language?: string | undefined;
85
84
  limit?: number | undefined;
86
85
  proximity?: string | {
@@ -93,6 +92,7 @@ declare const PoiSearchInputSchema: z.ZodObject<{
93
92
  maxLongitude: number;
94
93
  maxLatitude: number;
95
94
  } | undefined;
95
+ country?: string[] | undefined;
96
96
  format?: "json_string" | "formatted_text" | undefined;
97
97
  types?: string[] | undefined;
98
98
  poi_category?: string[] | undefined;
@@ -107,9 +107,10 @@ declare const PoiSearchInputSchema: z.ZodObject<{
107
107
  export declare class PoiSearchTool extends MapboxApiBasedTool<typeof PoiSearchInputSchema> {
108
108
  name: string;
109
109
  description: string;
110
- constructor();
110
+ private fetch;
111
+ constructor(fetch?: typeof globalThis.fetch);
111
112
  private formatGeoJsonToText;
112
- protected execute(input: z.infer<typeof PoiSearchInputSchema>): Promise<{
113
+ protected execute(input: z.infer<typeof PoiSearchInputSchema>, accessToken: string): Promise<{
113
114
  type: 'text';
114
115
  text: string;
115
116
  }>;
@@ -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"}
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PoiSearchTool = 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 PoiSearchInputSchema = zod_1.z.object({
8
+ q: zod_1.z
9
+ .string()
10
+ .max(256)
11
+ .describe('Search query text. Limited to 256 characters.'),
12
+ language: zod_1.z
13
+ .string()
14
+ .optional()
15
+ .describe('ISO language code for the response (e.g., "en", "es", "fr", "de", "ja")'),
16
+ limit: zod_1.z
17
+ .number()
18
+ .min(1)
19
+ .max(10)
20
+ .optional()
21
+ .default(10)
22
+ .describe('Maximum number of results to return (1-10)'),
23
+ proximity: zod_1.z
24
+ .union([
25
+ zod_1.z.object({
26
+ longitude: zod_1.z.number().min(-180).max(180),
27
+ latitude: zod_1.z.number().min(-90).max(90)
28
+ }),
29
+ zod_1.z.string().transform((val) => {
30
+ // Handle special case of 'ip'
31
+ if (val === 'ip') {
32
+ return 'ip';
33
+ }
34
+ // Handle JSON-stringified object: "{\"longitude\": -82.458107, \"latitude\": 27.937259}"
35
+ if (val.startsWith('{') && val.endsWith('}')) {
36
+ try {
37
+ const parsed = JSON.parse(val);
38
+ if (typeof parsed === 'object' &&
39
+ parsed !== null &&
40
+ typeof parsed.longitude === 'number' &&
41
+ typeof parsed.latitude === 'number') {
42
+ return { longitude: parsed.longitude, latitude: parsed.latitude };
43
+ }
44
+ }
45
+ catch {
46
+ // Fall back to other formats
47
+ }
48
+ }
49
+ // Handle string that looks like an array: "[-82.451668, 27.942964]"
50
+ if (val.startsWith('[') && val.endsWith(']')) {
51
+ const coords = val
52
+ .slice(1, -1)
53
+ .split(',')
54
+ .map((s) => Number(s.trim()));
55
+ if (coords.length === 2 && !isNaN(coords[0]) && !isNaN(coords[1])) {
56
+ return { longitude: coords[0], latitude: coords[1] };
57
+ }
58
+ }
59
+ // Handle comma-separated string: "-82.451668,27.942964"
60
+ const parts = val.split(',').map((s) => Number(s.trim()));
61
+ if (parts.length === 2 && !isNaN(parts[0]) && !isNaN(parts[1])) {
62
+ return { longitude: parts[0], latitude: parts[1] };
63
+ }
64
+ throw new Error('Invalid proximity format. Expected {longitude, latitude}, "longitude,latitude", or "ip"');
65
+ })
66
+ ])
67
+ .optional()
68
+ .describe('Location to bias results towards. Either coordinate object with longitude and latitude or "ip" for IP-based location. STRONGLY ENCOURAGED for relevant results.'),
69
+ bbox: zod_1.z
70
+ .object({
71
+ minLongitude: zod_1.z.number().min(-180).max(180),
72
+ minLatitude: zod_1.z.number().min(-90).max(90),
73
+ maxLongitude: zod_1.z.number().min(-180).max(180),
74
+ maxLatitude: zod_1.z.number().min(-90).max(90)
75
+ })
76
+ .optional()
77
+ .describe('Bounding box to limit results within specified bounds'),
78
+ country: zod_1.z
79
+ .array(zod_1.z.string().length(2))
80
+ .optional()
81
+ .describe('Array of ISO 3166 alpha 2 country codes to limit results'),
82
+ types: zod_1.z
83
+ .array(zod_1.z.string())
84
+ .optional()
85
+ .describe('Array of feature types to filter results (e.g., ["poi", "address", "place"])'),
86
+ poi_category: zod_1.z
87
+ .array(zod_1.z.string())
88
+ .optional()
89
+ .describe('Array of POI categories to include (e.g., ["restaurant", "cafe"])'),
90
+ auto_complete: zod_1.z
91
+ .boolean()
92
+ .optional()
93
+ .describe('Enable partial and fuzzy matching'),
94
+ eta_type: zod_1.z
95
+ .enum(['navigation'])
96
+ .optional()
97
+ .describe('Request estimated time of arrival (ETA) to results'),
98
+ navigation_profile: zod_1.z
99
+ .enum(['driving', 'walking', 'cycling', 'driving-traffic'])
100
+ .optional()
101
+ .describe('Routing profile for ETA calculations'),
102
+ origin: zod_1.z
103
+ .object({
104
+ longitude: zod_1.z.number().min(-180).max(180),
105
+ latitude: zod_1.z.number().min(-90).max(90)
106
+ })
107
+ .optional()
108
+ .describe('Starting point for ETA calculations as coordinate object with longitude and latitude'),
109
+ format: zod_1.z
110
+ .enum(['json_string', 'formatted_text'])
111
+ .optional()
112
+ .default('formatted_text')
113
+ .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.')
114
+ });
115
+ class PoiSearchTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
116
+ name = 'poi_search_tool';
117
+ 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.";
118
+ fetch;
119
+ constructor(fetch = fetchRequest_js_1.fetchClient) {
120
+ super({ inputSchema: PoiSearchInputSchema });
121
+ this.fetch = fetch;
122
+ }
123
+ formatGeoJsonToText(geoJsonResponse) {
124
+ if (!geoJsonResponse ||
125
+ !geoJsonResponse.features ||
126
+ geoJsonResponse.features.length === 0) {
127
+ return 'No results found.';
128
+ }
129
+ const results = geoJsonResponse.features.map((feature, index) => {
130
+ const props = feature.properties || {};
131
+ const geom = feature.geometry || {};
132
+ let result = `${index + 1}. `;
133
+ // POI name
134
+ result += `${props.name}`;
135
+ if (props.name_preferred) {
136
+ result += ` (${props.name_preferred})`;
137
+ }
138
+ // Full address
139
+ if (props.full_address) {
140
+ result += `\n Address: ${props.full_address}`;
141
+ }
142
+ else if (props.place_formatted) {
143
+ result += `\n Address: ${props.place_formatted}`;
144
+ }
145
+ // Geographic coordinates
146
+ if (geom.coordinates && Array.isArray(geom.coordinates)) {
147
+ const [lng, lat] = geom.coordinates;
148
+ result += `\n Coordinates: ${lat}, ${lng}`;
149
+ }
150
+ // Feature type
151
+ if (props.feature_type) {
152
+ result += `\n Type: ${props.feature_type}`;
153
+ }
154
+ // Category information
155
+ if (props.poi_category && Array.isArray(props.poi_category)) {
156
+ result += `\n Category: ${props.poi_category.join(', ')}`;
157
+ }
158
+ else if (props.category) {
159
+ result += `\n Category: ${props.category}`;
160
+ }
161
+ return result;
162
+ });
163
+ return results.join('\n\n');
164
+ }
165
+ async execute(input, accessToken) {
166
+ this.log('info', `PoiSearchTool: Starting search with input: ${JSON.stringify(input)}`);
167
+ const url = new URL(`${MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint}search/searchbox/v1/forward`);
168
+ // Required parameters
169
+ url.searchParams.append('q', input.q);
170
+ url.searchParams.append('access_token', accessToken);
171
+ // Optional parameters
172
+ if (input.language) {
173
+ url.searchParams.append('language', input.language);
174
+ }
175
+ if (input.limit !== undefined) {
176
+ url.searchParams.append('limit', input.limit.toString());
177
+ }
178
+ if (input.proximity) {
179
+ if (input.proximity === 'ip') {
180
+ url.searchParams.append('proximity', 'ip');
181
+ }
182
+ else {
183
+ const { longitude, latitude } = input.proximity;
184
+ url.searchParams.append('proximity', `${longitude},${latitude}`);
185
+ }
186
+ }
187
+ if (input.bbox) {
188
+ const { minLongitude, minLatitude, maxLongitude, maxLatitude } = input.bbox;
189
+ url.searchParams.append('bbox', `${minLongitude},${minLatitude},${maxLongitude},${maxLatitude}`);
190
+ }
191
+ if (input.country && input.country.length > 0) {
192
+ url.searchParams.append('country', input.country.join(','));
193
+ }
194
+ if (input.types && input.types.length > 0) {
195
+ url.searchParams.append('types', input.types.join(','));
196
+ }
197
+ if (input.poi_category && input.poi_category.length > 0) {
198
+ url.searchParams.append('poi_category', input.poi_category.join(','));
199
+ }
200
+ if (input.auto_complete !== undefined) {
201
+ url.searchParams.append('auto_complete', input.auto_complete.toString());
202
+ }
203
+ if (input.eta_type) {
204
+ url.searchParams.append('eta_type', input.eta_type);
205
+ }
206
+ if (input.navigation_profile) {
207
+ url.searchParams.append('navigation_profile', input.navigation_profile);
208
+ }
209
+ if (input.origin) {
210
+ const { longitude, latitude } = input.origin;
211
+ url.searchParams.append('origin', `${longitude},${latitude}`);
212
+ }
213
+ this.log('info', `PoiSearchTool: Fetching from URL: ${url.toString().replace(accessToken, '[REDACTED]')}`);
214
+ const response = await this.fetch(url.toString());
215
+ if (!response.ok) {
216
+ const errorBody = await response.text();
217
+ this.log('error', `PoiSearchTool: API Error - Status: ${response.status}, Body: ${errorBody}`);
218
+ throw new Error(`Failed to search: ${response.status} ${response.statusText}`);
219
+ }
220
+ const data = await response.json();
221
+ this.log('info', `PoiSearchTool: Successfully completed search, found ${data.features?.length || 0} results`);
222
+ if (input.format === 'json_string') {
223
+ return { type: 'text', text: JSON.stringify(data, null, 2) };
224
+ }
225
+ else {
226
+ return { type: 'text', text: this.formatGeoJsonToText(data) };
227
+ }
228
+ }
229
+ }
230
+ exports.PoiSearchTool = PoiSearchTool;
231
+ //# sourceMappingURL=PoiSearchTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoiSearchTool.js","sourceRoot":"","sources":["../../../../src/tools/poi-search-tool/PoiSearchTool.ts"],"names":[],"mappings":"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"}
@@ -17,26 +17,27 @@ declare const ReverseGeocodeInputSchema: z.ZodObject<{
17
17
  format: "json_string" | "formatted_text";
18
18
  permanent: boolean;
19
19
  worldview: "us" | "cn" | "jp" | "in";
20
- country?: string[] | undefined;
21
20
  language?: string | undefined;
21
+ country?: string[] | undefined;
22
22
  types?: ("country" | "region" | "postcode" | "district" | "place" | "locality" | "neighborhood" | "address")[] | undefined;
23
23
  }, {
24
24
  longitude: number;
25
25
  latitude: number;
26
- country?: string[] | undefined;
27
26
  language?: string | undefined;
28
27
  limit?: number | undefined;
28
+ country?: string[] | undefined;
29
29
  format?: "json_string" | "formatted_text" | undefined;
30
30
  permanent?: boolean | undefined;
31
31
  types?: ("country" | "region" | "postcode" | "district" | "place" | "locality" | "neighborhood" | "address")[] | undefined;
32
32
  worldview?: "us" | "cn" | "jp" | "in" | undefined;
33
33
  }>;
34
34
  export declare class ReverseGeocodeTool extends MapboxApiBasedTool<typeof ReverseGeocodeInputSchema> {
35
+ private fetch;
35
36
  name: string;
36
37
  description: string;
37
- constructor();
38
+ constructor(fetch?: typeof globalThis.fetch);
38
39
  private formatGeoJsonToText;
39
- protected execute(input: z.infer<typeof ReverseGeocodeInputSchema>): Promise<{
40
+ protected execute(input: z.infer<typeof ReverseGeocodeInputSchema>, accessToken: string): Promise<{
40
41
  type: 'text';
41
42
  text: string;
42
43
  }>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReverseGeocodeTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8D7B,CAAC;AAEH,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IAKa,OAAO,CAAC,KAAK;IAJzB,IAAI,SAA0B;IAC9B,WAAW,SAC2b;gBAElb,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;CA2D3C"}