@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.
Files changed (251) hide show
  1. package/LICENSE.md +17 -9
  2. package/README.md +24 -6
  3. package/dist/commonjs/config/toolConfig.d.ts +8 -0
  4. package/dist/commonjs/config/toolConfig.d.ts.map +1 -0
  5. package/dist/commonjs/config/toolConfig.js +40 -0
  6. package/dist/commonjs/config/toolConfig.js.map +1 -0
  7. package/dist/commonjs/index.d.ts +2 -0
  8. package/dist/{index.d.ts.map → commonjs/index.d.ts.map} +1 -1
  9. package/dist/commonjs/index.js +39 -0
  10. package/dist/commonjs/index.js.map +1 -0
  11. package/dist/{cjs → commonjs}/package.json +1 -1
  12. package/dist/{tools → commonjs/tools}/MapboxApiBasedTool.d.ts +11 -9
  13. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -0
  14. package/dist/commonjs/tools/MapboxApiBasedTool.js +111 -0
  15. package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -0
  16. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts +28 -0
  17. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts.map +1 -0
  18. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js +68 -0
  19. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js.map +1 -0
  20. package/dist/{tools → commonjs/tools}/category-search-tool/CategorySearchTool.d.ts +6 -5
  21. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -0
  22. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +188 -0
  23. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -0
  24. package/dist/{tools → commonjs/tools}/directions-tool/DirectionsTool.d.ts +3 -2
  25. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -0
  26. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +385 -0
  27. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -0
  28. package/dist/{tools → commonjs/tools}/directions-tool/cleanResponseData.d.ts +2 -2
  29. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts.map +1 -0
  30. package/dist/commonjs/tools/directions-tool/cleanResponseData.js +178 -0
  31. package/dist/commonjs/tools/directions-tool/cleanResponseData.js.map +1 -0
  32. package/dist/commonjs/tools/directions-tool/formatIsoDateTime.d.ts.map +1 -0
  33. package/dist/commonjs/tools/directions-tool/formatIsoDateTime.js +21 -0
  34. package/dist/commonjs/tools/directions-tool/formatIsoDateTime.js.map +1 -0
  35. package/dist/{tools → commonjs/tools}/forward-geocode-tool/ForwardGeocodeTool.d.ts +5 -4
  36. package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -0
  37. package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.js +212 -0
  38. package/dist/commonjs/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -0
  39. package/dist/{tools → commonjs/tools}/isochrone-tool/IsochroneTool.d.ts +3 -2
  40. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -0
  41. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +118 -0
  42. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -0
  43. package/dist/{tools → commonjs/tools}/matrix-tool/MatrixTool.d.ts +3 -2
  44. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts.map +1 -0
  45. package/dist/commonjs/tools/matrix-tool/MatrixTool.js +202 -0
  46. package/dist/commonjs/tools/matrix-tool/MatrixTool.js.map +1 -0
  47. package/dist/{tools → commonjs/tools}/poi-search-tool/PoiSearchTool.d.ts +5 -4
  48. package/dist/commonjs/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -0
  49. package/dist/commonjs/tools/poi-search-tool/PoiSearchTool.js +231 -0
  50. package/dist/commonjs/tools/poi-search-tool/PoiSearchTool.js.map +1 -0
  51. package/dist/{tools → commonjs/tools}/reverse-geocode-tool/ReverseGeocodeTool.d.ts +5 -4
  52. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -0
  53. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js +148 -0
  54. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -0
  55. package/dist/{tools → commonjs/tools}/static-map-image-tool/StaticMapImageTool.d.ts +3 -2
  56. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -0
  57. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +416 -0
  58. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -0
  59. package/dist/{tools → commonjs/tools}/toolRegistry.d.ts +2 -1
  60. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -0
  61. package/dist/commonjs/tools/toolRegistry.js +37 -0
  62. package/dist/commonjs/tools/toolRegistry.js.map +1 -0
  63. package/dist/{tools → commonjs/tools}/version-tool/VersionTool.d.ts +1 -1
  64. package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +1 -0
  65. package/dist/commonjs/tools/version-tool/VersionTool.js +52 -0
  66. package/dist/commonjs/tools/version-tool/VersionTool.js.map +1 -0
  67. package/dist/commonjs/utils/fetchRequest.d.ts +38 -0
  68. package/dist/commonjs/utils/fetchRequest.d.ts.map +1 -0
  69. package/dist/commonjs/utils/fetchRequest.js +110 -0
  70. package/dist/commonjs/utils/fetchRequest.js.map +1 -0
  71. package/dist/commonjs/utils/versionUtils-cjs.cjs.map +1 -0
  72. package/dist/commonjs/utils/versionUtils-cjs.d.cts.map +1 -0
  73. package/dist/commonjs/utils/versionUtils.d.ts +9 -0
  74. package/dist/commonjs/utils/versionUtils.js +46 -0
  75. package/dist/commonjs/version.json +6 -0
  76. package/dist/esm/config/toolConfig.d.ts +8 -0
  77. package/dist/esm/config/toolConfig.d.ts.map +1 -0
  78. package/dist/esm/config/toolConfig.js +36 -0
  79. package/dist/esm/config/toolConfig.js.map +1 -0
  80. package/dist/esm/index.d.ts +2 -0
  81. package/dist/esm/index.d.ts.map +1 -0
  82. package/dist/esm/index.js +37 -0
  83. package/dist/esm/index.js.map +1 -0
  84. package/dist/esm/package.json +1 -1
  85. package/dist/esm/tools/MapboxApiBasedTool.d.ts +84 -0
  86. package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -0
  87. package/dist/{tools → esm/tools}/MapboxApiBasedTool.js +20 -13
  88. package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -0
  89. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts +28 -0
  90. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts.map +1 -0
  91. package/dist/esm/tools/category-list-tool/CategoryListTool.js +64 -0
  92. package/dist/esm/tools/category-list-tool/CategoryListTool.js.map +1 -0
  93. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts +89 -0
  94. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -0
  95. package/dist/esm/tools/category-search-tool/CategorySearchTool.js +184 -0
  96. package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -0
  97. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +44 -0
  98. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -0
  99. package/dist/{tools → esm/tools}/directions-tool/DirectionsTool.js +10 -9
  100. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -0
  101. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts +11 -0
  102. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts.map +1 -0
  103. package/dist/esm/tools/directions-tool/cleanResponseData.js.map +1 -0
  104. package/dist/esm/tools/directions-tool/formatIsoDateTime.d.ts +8 -0
  105. package/dist/esm/tools/directions-tool/formatIsoDateTime.d.ts.map +1 -0
  106. package/dist/esm/tools/directions-tool/formatIsoDateTime.js.map +1 -0
  107. package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts +98 -0
  108. package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -0
  109. package/dist/{tools → esm/tools}/forward-geocode-tool/ForwardGeocodeTool.js +9 -6
  110. package/dist/esm/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -0
  111. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts +60 -0
  112. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -0
  113. package/dist/{tools → esm/tools}/isochrone-tool/IsochroneTool.js +8 -5
  114. package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -0
  115. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts +51 -0
  116. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts.map +1 -0
  117. package/dist/{tools → esm/tools}/matrix-tool/MatrixTool.js +9 -6
  118. package/dist/{tools → esm/tools}/matrix-tool/MatrixTool.js.map +1 -1
  119. package/dist/esm/tools/poi-search-tool/PoiSearchTool.d.ts +119 -0
  120. package/dist/esm/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -0
  121. package/dist/{tools → esm/tools}/poi-search-tool/PoiSearchTool.js +9 -6
  122. package/dist/esm/tools/poi-search-tool/PoiSearchTool.js.map +1 -0
  123. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +46 -0
  124. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -0
  125. package/dist/{tools → esm/tools}/reverse-geocode-tool/ReverseGeocodeTool.js +8 -5
  126. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -0
  127. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +179 -0
  128. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -0
  129. package/dist/{tools → esm/tools}/static-map-image-tool/StaticMapImageTool.js +7 -4
  130. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -0
  131. package/dist/esm/tools/toolRegistry.d.ts +15 -0
  132. package/dist/esm/tools/toolRegistry.d.ts.map +1 -0
  133. package/dist/{tools → esm/tools}/toolRegistry.js +2 -0
  134. package/dist/esm/tools/toolRegistry.js.map +1 -0
  135. package/dist/esm/tools/version-tool/VersionTool.d.ts +18 -0
  136. package/dist/esm/tools/version-tool/VersionTool.d.ts.map +1 -0
  137. package/dist/{tools → esm/tools}/version-tool/VersionTool.js +2 -4
  138. package/dist/esm/tools/version-tool/VersionTool.js.map +1 -0
  139. package/dist/esm/utils/fetchRequest.d.ts +38 -0
  140. package/dist/esm/utils/fetchRequest.d.ts.map +1 -0
  141. package/dist/esm/utils/fetchRequest.js +104 -0
  142. package/dist/esm/utils/fetchRequest.js.map +1 -0
  143. package/dist/esm/utils/versionUtils.d.ts.map +1 -0
  144. package/dist/{utils → esm/utils}/versionUtils.js +9 -7
  145. package/dist/esm/utils/versionUtils.js.map +1 -0
  146. package/dist/esm/version.json +6 -0
  147. package/package.json +49 -30
  148. package/dist/index.d.ts +0 -2
  149. package/dist/index.js +0 -25
  150. package/dist/index.js.map +0 -1
  151. package/dist/tools/MapboxApiBasedTool.d.ts.map +0 -1
  152. package/dist/tools/MapboxApiBasedTool.js.map +0 -1
  153. package/dist/tools/MapboxApiBasedTool.test.d.ts +0 -2
  154. package/dist/tools/MapboxApiBasedTool.test.d.ts.map +0 -1
  155. package/dist/tools/MapboxApiBasedTool.test.js +0 -143
  156. package/dist/tools/MapboxApiBasedTool.test.js.map +0 -1
  157. package/dist/tools/category-search-tool/CategorySearchTool.d.ts.map +0 -1
  158. package/dist/tools/category-search-tool/CategorySearchTool.js +0 -666
  159. package/dist/tools/category-search-tool/CategorySearchTool.js.map +0 -1
  160. package/dist/tools/category-search-tool/CategorySearchTool.test.d.ts +0 -2
  161. package/dist/tools/category-search-tool/CategorySearchTool.test.d.ts.map +0 -1
  162. package/dist/tools/category-search-tool/CategorySearchTool.test.js +0 -369
  163. package/dist/tools/category-search-tool/CategorySearchTool.test.js.map +0 -1
  164. package/dist/tools/directions-tool/DirectionsTool.d.ts.map +0 -1
  165. package/dist/tools/directions-tool/DirectionsTool.js.map +0 -1
  166. package/dist/tools/directions-tool/DirectionsTool.test.d.ts +0 -2
  167. package/dist/tools/directions-tool/DirectionsTool.test.d.ts.map +0 -1
  168. package/dist/tools/directions-tool/DirectionsTool.test.js +0 -822
  169. package/dist/tools/directions-tool/DirectionsTool.test.js.map +0 -1
  170. package/dist/tools/directions-tool/cleanResponseData.d.ts.map +0 -1
  171. package/dist/tools/directions-tool/cleanResponseData.js.map +0 -1
  172. package/dist/tools/directions-tool/cleanResponseData.test.d.ts +0 -2
  173. package/dist/tools/directions-tool/cleanResponseData.test.d.ts.map +0 -1
  174. package/dist/tools/directions-tool/cleanResponseData.test.js +0 -295
  175. package/dist/tools/directions-tool/cleanResponseData.test.js.map +0 -1
  176. package/dist/tools/directions-tool/formatIsoDateTime.d.ts.map +0 -1
  177. package/dist/tools/directions-tool/formatIsoDateTime.js.map +0 -1
  178. package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts +0 -2
  179. package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts.map +0 -1
  180. package/dist/tools/directions-tool/formatIsoDateTime.test.js +0 -26
  181. package/dist/tools/directions-tool/formatIsoDateTime.test.js.map +0 -1
  182. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +0 -1
  183. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +0 -1
  184. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.d.ts +0 -2
  185. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.d.ts.map +0 -1
  186. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js +0 -415
  187. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js.map +0 -1
  188. package/dist/tools/isochrone-tool/IsochroneTool.d.ts.map +0 -1
  189. package/dist/tools/isochrone-tool/IsochroneTool.js.map +0 -1
  190. package/dist/tools/isochrone-tool/IsochroneTool.test.d.ts +0 -2
  191. package/dist/tools/isochrone-tool/IsochroneTool.test.d.ts.map +0 -1
  192. package/dist/tools/isochrone-tool/IsochroneTool.test.js +0 -111
  193. package/dist/tools/isochrone-tool/IsochroneTool.test.js.map +0 -1
  194. package/dist/tools/matrix-tool/MatrixTool.d.ts.map +0 -1
  195. package/dist/tools/matrix-tool/MatrixTool.test.d.ts +0 -2
  196. package/dist/tools/matrix-tool/MatrixTool.test.d.ts.map +0 -1
  197. package/dist/tools/matrix-tool/MatrixTool.test.js +0 -816
  198. package/dist/tools/matrix-tool/MatrixTool.test.js.map +0 -1
  199. package/dist/tools/poi-search-tool/PoiSearchTool.d.ts.map +0 -1
  200. package/dist/tools/poi-search-tool/PoiSearchTool.js.map +0 -1
  201. package/dist/tools/poi-search-tool/PoiSearchTool.test.d.ts +0 -2
  202. package/dist/tools/poi-search-tool/PoiSearchTool.test.d.ts.map +0 -1
  203. package/dist/tools/poi-search-tool/PoiSearchTool.test.js +0 -418
  204. package/dist/tools/poi-search-tool/PoiSearchTool.test.js.map +0 -1
  205. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +0 -1
  206. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +0 -1
  207. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.d.ts +0 -2
  208. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.d.ts.map +0 -1
  209. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js +0 -403
  210. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js.map +0 -1
  211. package/dist/tools/schema-validation.test.d.ts +0 -2
  212. package/dist/tools/schema-validation.test.d.ts.map +0 -1
  213. package/dist/tools/schema-validation.test.js +0 -75
  214. package/dist/tools/schema-validation.test.js.map +0 -1
  215. package/dist/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +0 -1
  216. package/dist/tools/static-map-image-tool/StaticMapImageTool.js.map +0 -1
  217. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.d.ts +0 -2
  218. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.d.ts.map +0 -1
  219. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js +0 -441
  220. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js.map +0 -1
  221. package/dist/tools/tool-naming-convention.test.d.ts +0 -2
  222. package/dist/tools/tool-naming-convention.test.d.ts.map +0 -1
  223. package/dist/tools/tool-naming-convention.test.js +0 -43
  224. package/dist/tools/tool-naming-convention.test.js.map +0 -1
  225. package/dist/tools/toolRegistry.d.ts.map +0 -1
  226. package/dist/tools/toolRegistry.js.map +0 -1
  227. package/dist/tools/version-tool/VersionTool.d.ts.map +0 -1
  228. package/dist/tools/version-tool/VersionTool.js.map +0 -1
  229. package/dist/tools/version-tool/VersionTool.test.d.ts +0 -2
  230. package/dist/tools/version-tool/VersionTool.test.d.ts.map +0 -1
  231. package/dist/tools/version-tool/VersionTool.test.js +0 -49
  232. package/dist/tools/version-tool/VersionTool.test.js.map +0 -1
  233. package/dist/utils/requestUtils.d.ts +0 -6
  234. package/dist/utils/requestUtils.d.ts.map +0 -1
  235. package/dist/utils/requestUtils.js +0 -60
  236. package/dist/utils/requestUtils.js.map +0 -1
  237. package/dist/utils/requestUtils.test-helpers.d.ts +0 -3
  238. package/dist/utils/requestUtils.test-helpers.d.ts.map +0 -1
  239. package/dist/utils/requestUtils.test-helpers.js +0 -32
  240. package/dist/utils/requestUtils.test-helpers.js.map +0 -1
  241. package/dist/utils/requestUtils.test.d.ts +0 -2
  242. package/dist/utils/requestUtils.test.d.ts.map +0 -1
  243. package/dist/utils/requestUtils.test.js +0 -115
  244. package/dist/utils/requestUtils.test.js.map +0 -1
  245. package/dist/utils/versionUtils.d.ts.map +0 -1
  246. package/dist/utils/versionUtils.js.map +0 -1
  247. package/dist/version.json +0 -6
  248. /package/dist/{tools → commonjs/tools}/directions-tool/formatIsoDateTime.d.ts +0 -0
  249. /package/dist/{tools → esm/tools}/directions-tool/cleanResponseData.js +0 -0
  250. /package/dist/{tools → esm/tools}/directions-tool/formatIsoDateTime.js +0 -0
  251. /package/dist/{utils → esm/utils}/versionUtils.d.ts +0 -0
@@ -1,415 +0,0 @@
1
- // Set the token before importing the tool
2
- process.env.MAPBOX_ACCESS_TOKEN =
3
- 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0In0.signature';
4
- import { setupFetch, assertHeadersSent } from '../../utils/requestUtils.test-helpers.js';
5
- import { ForwardGeocodeTool } from './ForwardGeocodeTool.js';
6
- describe('ForwardGeocodeTool', () => {
7
- afterEach(() => {
8
- jest.restoreAllMocks();
9
- });
10
- it('sends custom header', async () => {
11
- const mockFetch = setupFetch();
12
- await new ForwardGeocodeTool().run({
13
- q: '123 Main Street'
14
- });
15
- assertHeadersSent(mockFetch);
16
- });
17
- it('constructs correct URL with required parameters', async () => {
18
- const mockFetch = setupFetch();
19
- await new ForwardGeocodeTool().run({
20
- q: '1600 Pennsylvania Avenue NW, Washington, DC'
21
- });
22
- const calledUrl = mockFetch.mock.calls[0][0];
23
- expect(calledUrl).toContain('search/geocode/v6/forward');
24
- expect(calledUrl).toContain('q=1600+Pennsylvania+Avenue+NW%2C+Washington%2C+DC');
25
- expect(calledUrl).toContain('access_token=');
26
- });
27
- it('includes all optional parameters in URL', async () => {
28
- const mockFetch = setupFetch();
29
- await new ForwardGeocodeTool().run({
30
- q: 'restaurant',
31
- permanent: true,
32
- autocomplete: false,
33
- bbox: {
34
- minLongitude: -74.1,
35
- minLatitude: 40.6,
36
- maxLongitude: -73.9,
37
- maxLatitude: 40.8
38
- },
39
- country: ['US', 'CA'],
40
- format: 'formatted_text',
41
- language: 'es',
42
- limit: 3,
43
- proximity: { longitude: -74.006, latitude: 40.7128 },
44
- types: ['address', 'place'],
45
- worldview: 'cn'
46
- });
47
- const calledUrl = mockFetch.mock.calls[0][0];
48
- expect(calledUrl).toContain('q=restaurant');
49
- expect(calledUrl).toContain('permanent=true');
50
- expect(calledUrl).toContain('autocomplete=false');
51
- expect(calledUrl).toContain('bbox=-74.1%2C40.6%2C-73.9%2C40.8');
52
- expect(calledUrl).toContain('country=US%2CCA');
53
- expect(calledUrl).toContain('format=geojson');
54
- expect(calledUrl).toContain('language=es');
55
- expect(calledUrl).toContain('limit=3');
56
- expect(calledUrl).toContain('proximity=-74.006%2C40.7128');
57
- expect(calledUrl).toContain('types=address%2Cplace');
58
- expect(calledUrl).toContain('worldview=cn');
59
- });
60
- it('uses default values when not specified', async () => {
61
- const mockFetch = setupFetch();
62
- await new ForwardGeocodeTool().run({
63
- q: 'Central Park'
64
- });
65
- const calledUrl = mockFetch.mock.calls[0][0];
66
- // Check defaults
67
- expect(calledUrl).toContain('permanent=false');
68
- expect(calledUrl).toContain('autocomplete=true');
69
- expect(calledUrl).toContain('format=geojson');
70
- expect(calledUrl).toContain('limit=5');
71
- expect(calledUrl).toContain('worldview=us');
72
- });
73
- it('handles string format proximity coordinates', async () => {
74
- const mockFetch = setupFetch();
75
- await new ForwardGeocodeTool().run({
76
- q: 'coffee shop',
77
- proximity: '-82.451668,27.942976'
78
- });
79
- const calledUrl = mockFetch.mock.calls[0][0];
80
- expect(calledUrl).toContain('proximity=-82.451668%2C27.942976');
81
- });
82
- it('handles array-like string format proximity', async () => {
83
- const mockFetch = setupFetch();
84
- await new ForwardGeocodeTool().run({
85
- q: 'bank',
86
- proximity: '[-82.451668, 27.942964]'
87
- });
88
- const calledUrl = mockFetch.mock.calls[0][0];
89
- expect(calledUrl).toContain('proximity=-82.451668%2C27.942964');
90
- });
91
- it('handles JSON-stringified object format proximity', async () => {
92
- const mockFetch = setupFetch();
93
- await new ForwardGeocodeTool().run({
94
- q: 'office',
95
- proximity: '{"longitude": -82.458107, "latitude": 27.937259}'
96
- });
97
- const calledUrl = mockFetch.mock.calls[0][0];
98
- expect(calledUrl).toContain('proximity=-82.458107%2C27.937259');
99
- });
100
- it('handles fetch errors gracefully', async () => {
101
- const mockFetch = setupFetch({
102
- ok: false,
103
- status: 404,
104
- statusText: 'Not Found'
105
- });
106
- const result = await new ForwardGeocodeTool().run({
107
- q: 'test query'
108
- });
109
- expect(result.isError).toBe(true);
110
- expect(result.content[0]).toMatchObject({
111
- type: 'text',
112
- text: 'Internal error has occurred.'
113
- });
114
- });
115
- it('validates query cannot contain semicolons', async () => {
116
- const tool = new ForwardGeocodeTool();
117
- await expect(tool.run({
118
- q: 'test; query'
119
- })).resolves.toMatchObject({
120
- isError: true
121
- });
122
- });
123
- it('validates query word count', async () => {
124
- const tool = new ForwardGeocodeTool();
125
- const longQuery = 'word '.repeat(21).trim(); // 21 words, exceeds limit
126
- await expect(tool.run({
127
- q: longQuery
128
- })).resolves.toMatchObject({
129
- isError: true
130
- });
131
- });
132
- it('validates query length constraint', async () => {
133
- const tool = new ForwardGeocodeTool();
134
- const longQuery = 'a'.repeat(257); // 257 characters, exceeds limit
135
- await expect(tool.run({
136
- q: longQuery
137
- })).resolves.toMatchObject({
138
- isError: true
139
- });
140
- });
141
- it('validates limit constraints', async () => {
142
- const tool = new ForwardGeocodeTool();
143
- // Test limit too high
144
- await expect(tool.run({
145
- q: 'test',
146
- limit: 11
147
- })).resolves.toMatchObject({
148
- isError: true
149
- });
150
- // Test limit too low
151
- await expect(tool.run({
152
- q: 'test',
153
- limit: 0
154
- })).resolves.toMatchObject({
155
- isError: true
156
- });
157
- });
158
- it('validates coordinate constraints', async () => {
159
- const tool = new ForwardGeocodeTool();
160
- // Test invalid longitude in proximity
161
- await expect(tool.run({
162
- q: 'test',
163
- proximity: { longitude: -181, latitude: 40 }
164
- })).resolves.toMatchObject({
165
- isError: true
166
- });
167
- // Test invalid latitude in bbox
168
- await expect(tool.run({
169
- q: 'test',
170
- bbox: {
171
- minLongitude: -74,
172
- minLatitude: -91,
173
- maxLongitude: -73,
174
- maxLatitude: 40
175
- }
176
- })).resolves.toMatchObject({
177
- isError: true
178
- });
179
- });
180
- it('encodes special characters in query', async () => {
181
- const mockFetch = setupFetch();
182
- await new ForwardGeocodeTool().run({
183
- q: 'café & restaurant'
184
- });
185
- const calledUrl = mockFetch.mock.calls[0][0];
186
- expect(calledUrl).toContain('q=caf%C3%A9+%26+restaurant');
187
- });
188
- it('supports proximity=ip for IP-based location', async () => {
189
- const mockFetch = setupFetch({
190
- type: 'FeatureCollection',
191
- features: [
192
- {
193
- type: 'Feature',
194
- properties: { place_name: 'Local Result' }
195
- }
196
- ]
197
- });
198
- await new ForwardGeocodeTool().run({
199
- q: 'coffee shop',
200
- proximity: 'ip'
201
- });
202
- const calledUrl = mockFetch.mock.calls[0][0];
203
- expect(calledUrl).toContain('proximity=ip');
204
- });
205
- it('formats GeoJSON response to text with basic information', async () => {
206
- const mockResponse = {
207
- type: 'FeatureCollection',
208
- features: [
209
- {
210
- type: 'Feature',
211
- properties: {
212
- name: 'Seattle',
213
- full_address: 'Seattle, Washington, United States',
214
- feature_type: 'place'
215
- },
216
- geometry: {
217
- type: 'Point',
218
- coordinates: [-122.335167, 47.608013]
219
- }
220
- }
221
- ]
222
- };
223
- const mockFetch = setupFetch({
224
- json: async () => mockResponse
225
- });
226
- const result = await new ForwardGeocodeTool().run({
227
- q: 'Seattle'
228
- });
229
- expect(result.isError).toBe(false);
230
- expect(result.content[0].type).toBe('text');
231
- const textContent = result.content[0]
232
- .text;
233
- expect(textContent).toContain('1. Seattle');
234
- expect(textContent).toContain('Address: Seattle, Washington, United States');
235
- expect(textContent).toContain('Coordinates: 47.608013, -122.335167');
236
- expect(textContent).toContain('Type: place');
237
- });
238
- it('formats GeoJSON response with name_preferred', async () => {
239
- const mockResponse = {
240
- type: 'FeatureCollection',
241
- features: [
242
- {
243
- type: 'Feature',
244
- properties: {
245
- name: 'NYC',
246
- name_preferred: 'New York City',
247
- place_formatted: 'New York, NY, United States'
248
- },
249
- geometry: {
250
- type: 'Point',
251
- coordinates: [-74.0059, 40.7128]
252
- }
253
- }
254
- ]
255
- };
256
- const mockFetch = setupFetch({
257
- json: async () => mockResponse
258
- });
259
- const result = await new ForwardGeocodeTool().run({
260
- q: 'NYC'
261
- });
262
- expect(result.isError).toBe(false);
263
- const textContent = result.content[0]
264
- .text;
265
- expect(textContent).toContain('1. NYC (New York City)');
266
- expect(textContent).toContain('Address: New York, NY, United States');
267
- expect(textContent).toContain('Coordinates: 40.7128, -74.0059');
268
- });
269
- it('handles multiple results in formatted text', async () => {
270
- const mockResponse = {
271
- type: 'FeatureCollection',
272
- features: [
273
- {
274
- type: 'Feature',
275
- properties: {
276
- name: 'Springfield',
277
- full_address: 'Springfield, Illinois, United States',
278
- feature_type: 'place'
279
- },
280
- geometry: {
281
- type: 'Point',
282
- coordinates: [-89.6501, 39.7817]
283
- }
284
- },
285
- {
286
- type: 'Feature',
287
- properties: {
288
- name: 'Springfield',
289
- full_address: 'Springfield, Massachusetts, United States',
290
- feature_type: 'place'
291
- },
292
- geometry: {
293
- type: 'Point',
294
- coordinates: [-72.5395, 42.1015]
295
- }
296
- }
297
- ]
298
- };
299
- const mockFetch = setupFetch({
300
- json: async () => mockResponse
301
- });
302
- const result = await new ForwardGeocodeTool().run({
303
- q: 'Springfield',
304
- limit: 2
305
- });
306
- expect(result.isError).toBe(false);
307
- const textContent = result.content[0]
308
- .text;
309
- expect(textContent).toContain('1. Springfield');
310
- expect(textContent).toContain('2. Springfield');
311
- expect(textContent).toContain('Springfield, Illinois, United States');
312
- expect(textContent).toContain('Springfield, Massachusetts, United States');
313
- });
314
- it('handles empty results gracefully', async () => {
315
- const mockResponse = {
316
- type: 'FeatureCollection',
317
- features: []
318
- };
319
- const mockFetch = setupFetch({
320
- json: async () => mockResponse
321
- });
322
- const result = await new ForwardGeocodeTool().run({
323
- q: 'nonexistentplace12345'
324
- });
325
- expect(result.isError).toBe(false);
326
- expect(result.content[0].type).toBe('text');
327
- expect(result.content[0].text).toBe('No results found.');
328
- });
329
- it('handles results with minimal properties', async () => {
330
- const mockResponse = {
331
- type: 'FeatureCollection',
332
- features: [
333
- {
334
- type: 'Feature',
335
- properties: {
336
- name: 'Some Place'
337
- },
338
- geometry: {
339
- type: 'Point',
340
- coordinates: [-100.123, 35.456]
341
- }
342
- }
343
- ]
344
- };
345
- const mockFetch = setupFetch({
346
- json: async () => mockResponse
347
- });
348
- const result = await new ForwardGeocodeTool().run({
349
- q: 'Some Place'
350
- });
351
- expect(result.isError).toBe(false);
352
- const textContent = result.content[0]
353
- .text;
354
- expect(textContent).toContain('1. Some Place');
355
- expect(textContent).toContain('Coordinates: 35.456, -100.123');
356
- expect(textContent).not.toContain('Address:');
357
- });
358
- it('returns JSON string format when requested', async () => {
359
- const mockResponse = {
360
- type: 'FeatureCollection',
361
- features: [
362
- {
363
- type: 'Feature',
364
- properties: {
365
- name: 'Test Location',
366
- full_address: '123 Test St, Test City, TC 12345'
367
- },
368
- geometry: {
369
- type: 'Point',
370
- coordinates: [-122.676, 45.515]
371
- }
372
- }
373
- ]
374
- };
375
- const mockFetch = setupFetch({
376
- json: async () => mockResponse
377
- });
378
- const result = await new ForwardGeocodeTool().run({
379
- q: 'Test Location',
380
- format: 'json_string'
381
- });
382
- expect(result.isError).toBe(false);
383
- expect(result.content[0].type).toBe('text');
384
- const jsonContent = result.content[0]
385
- .text;
386
- expect(JSON.parse(jsonContent)).toEqual(mockResponse);
387
- });
388
- it('defaults to formatted_text format when format not specified', async () => {
389
- const mockResponse = {
390
- type: 'FeatureCollection',
391
- features: [
392
- {
393
- type: 'Feature',
394
- properties: {
395
- name: 'Test City'
396
- },
397
- geometry: {
398
- type: 'Point',
399
- coordinates: [-122.676, 45.515]
400
- }
401
- }
402
- ]
403
- };
404
- const mockFetch = setupFetch({
405
- json: async () => mockResponse
406
- });
407
- const result = await new ForwardGeocodeTool().run({
408
- q: 'Test City'
409
- });
410
- expect(result.isError).toBe(false);
411
- expect(result.content[0].type).toBe('text');
412
- expect(result.content[0].text).toContain('1. Test City');
413
- });
414
- });
415
- //# sourceMappingURL=ForwardGeocodeTool.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ForwardGeocodeTool.test.js","sourceRoot":"","sources":["../../../src/tools/forward-geocode-tool/ForwardGeocodeTool.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
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;AAE9D,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgFxB,CAAC;AAEH,qBAAa,aAAc,SAAQ,kBAAkB,CACnD,OAAO,oBAAoB,CAC5B;IACC,IAAI,SAAoB;IACxB,WAAW,SAIuD;;cAMlD,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GAC1C,OAAO,CAAC,GAAG,CAAC;CA6DhB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IsochroneTool.js","sourceRoot":"","sources":["../../../src/tools/isochrone-tool/IsochroneTool.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=IsochroneTool.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IsochroneTool.test.d.ts","sourceRoot":"","sources":["../../../src/tools/isochrone-tool/IsochroneTool.test.ts"],"names":[],"mappings":""}
@@ -1,111 +0,0 @@
1
- process.env.MAPBOX_ACCESS_TOKEN =
2
- 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0In0.signature';
3
- import { cleanup } from '../../utils/requestUtils.js';
4
- import { setupFetch, assertHeadersSent } from '../../utils/requestUtils.test-helpers.js';
5
- import { IsochroneTool } from '../isochrone-tool/IsochroneTool.js';
6
- describe('IsochroneTool', () => {
7
- afterEach(() => {
8
- jest.restoreAllMocks();
9
- jest.clearAllMocks();
10
- cleanup();
11
- });
12
- it('sends custom header', async () => {
13
- const mockFetch = setupFetch();
14
- await new IsochroneTool().run({
15
- coordinates: { longitude: -74.006, latitude: 40.7128 },
16
- profile: 'mapbox/driving',
17
- contours_minutes: [10],
18
- generalize: 1000
19
- });
20
- assertHeadersSent(mockFetch);
21
- });
22
- it('sends correct parameters', async () => {
23
- const mockFetch = setupFetch({
24
- ok: true,
25
- json: async () => ({ type: 'FeatureCollection', features: [] })
26
- });
27
- await new IsochroneTool().run({
28
- coordinates: { longitude: 27.534527, latitude: 53.9353451 },
29
- profile: 'mapbox/driving',
30
- contours_minutes: [10, 20],
31
- contours_colors: ['ff0000', '00ff00'],
32
- polygons: true,
33
- denoise: 0.5,
34
- generalize: 1000,
35
- exclude: ['toll'],
36
- depart_at: '2025-06-02T12:00:00Z'
37
- });
38
- assertHeadersSent(mockFetch);
39
- const calledUrl = mockFetch.mock.calls[0][0].toString();
40
- expect(calledUrl).toContain('isochrone/v1/mapbox/driving/27.534527%2C53.9353451');
41
- expect(calledUrl).toContain('contours_minutes=10%2C20');
42
- expect(calledUrl).toContain('contours_colors=ff0000%2C00ff00');
43
- expect(calledUrl).toContain('polygons=true');
44
- expect(calledUrl).toContain('denoise=0.5');
45
- expect(calledUrl).toContain('generalize=1000');
46
- expect(calledUrl).toContain('exclude=toll');
47
- expect(calledUrl).toContain('depart_at=2025-06-02T12%3A00%3A00Z');
48
- });
49
- it('does not send empty parameters', async () => {
50
- const mockFetch = setupFetch({
51
- ok: true,
52
- json: async () => ({ type: 'FeatureCollection', features: [] })
53
- });
54
- await new IsochroneTool().run({
55
- coordinates: { longitude: 27.534527, latitude: 53.9353451 },
56
- profile: 'mapbox/driving',
57
- contours_minutes: [10, 20],
58
- generalize: 1000
59
- });
60
- const calledUrl = mockFetch.mock.calls[0][0].toString();
61
- expect(calledUrl).toContain('isochrone/v1/mapbox/driving/27.534527%2C53.9353451');
62
- expect(calledUrl).toContain('contours_minutes=10%2C20');
63
- expect(calledUrl).not.toContain('contours_colors');
64
- expect(calledUrl).not.toContain('polygons');
65
- expect(calledUrl).not.toContain('denoise');
66
- expect(calledUrl).not.toContain('exclude');
67
- expect(calledUrl).not.toContain('depart_at');
68
- });
69
- it('returns geojson from API', async () => {
70
- const geojson = { type: 'FeatureCollection', features: [{ id: 42 }] };
71
- const mockFetch = setupFetch({
72
- ok: true,
73
- json: async () => geojson
74
- });
75
- const result = await new IsochroneTool().run({
76
- coordinates: { longitude: -74.006, latitude: 40.7128 },
77
- profile: 'mapbox/walking',
78
- contours_minutes: [5],
79
- generalize: 1000
80
- });
81
- assertHeadersSent(mockFetch);
82
- expect(result.content[0].type).toEqual('text');
83
- if (result.content[0].type == 'text') {
84
- expect(result.content[0].text).toEqual(JSON.stringify(geojson));
85
- }
86
- });
87
- it('throws on invalid input', async () => {
88
- const tool = new IsochroneTool();
89
- const result = await tool.run({
90
- coordinates: { longitude: 0, latitude: 0 },
91
- profile: 'invalid',
92
- contours_minutes: [5]
93
- });
94
- expect(result.content[0].type).toEqual('text');
95
- if (result.content[0].type == 'text') {
96
- expect(result.content[0].text).toContain('Internal error');
97
- }
98
- });
99
- it('throws if neither contours_minutes nor contours_meters is specified', async () => {
100
- const result = await new IsochroneTool().run({
101
- coordinates: { longitude: -74.006, latitude: 40.7128 },
102
- profile: 'mapbox/driving',
103
- generalize: 1000
104
- });
105
- expect(result.content[0].type).toEqual('text');
106
- if (result.content[0].type == 'text') {
107
- expect(result.content[0].text).toContain('Internal error');
108
- }
109
- });
110
- });
111
- //# sourceMappingURL=IsochroneTool.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IsochroneTool.test.js","sourceRoot":"","sources":["../../../src/tools/isochrone-tool/IsochroneTool.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
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;AAI9D,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2ErB,CAAC;AAEH,qBAAa,UAAW,SAAQ,kBAAkB,CAAC,OAAO,iBAAiB,CAAC;IAC1E,IAAI,SAAiB;IACrB,WAAW,SACgF;;cAM3E,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACvC,OAAO,CAAC,GAAG,CAAC;CA4LhB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MatrixTool.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MatrixTool.test.d.ts","sourceRoot":"","sources":["../../../src/tools/matrix-tool/MatrixTool.test.ts"],"names":[],"mappings":""}