@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,403 +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 { ReverseGeocodeTool } from './ReverseGeocodeTool.js';
6
- describe('ReverseGeocodeTool', () => {
7
- afterEach(() => {
8
- jest.restoreAllMocks();
9
- });
10
- it('sends custom header', async () => {
11
- const mockFetch = setupFetch();
12
- await new ReverseGeocodeTool().run({
13
- longitude: -73.989,
14
- latitude: 40.733
15
- });
16
- assertHeadersSent(mockFetch);
17
- });
18
- it('constructs correct URL for reverse geocoding', async () => {
19
- const mockFetch = setupFetch();
20
- await new ReverseGeocodeTool().run({
21
- longitude: -73.989,
22
- latitude: 40.733
23
- });
24
- const calledUrl = mockFetch.mock.calls[0][0];
25
- expect(calledUrl).toContain('search/geocode/v6/reverse');
26
- expect(calledUrl).toContain('longitude=-73.989');
27
- expect(calledUrl).toContain('latitude=40.733');
28
- expect(calledUrl).toContain('access_token=');
29
- });
30
- it('includes all optional parameters', async () => {
31
- const mockFetch = setupFetch();
32
- await new ReverseGeocodeTool().run({
33
- longitude: -74.006,
34
- latitude: 40.7128,
35
- permanent: true,
36
- country: ['US'],
37
- language: 'fr',
38
- limit: 3,
39
- types: ['address'],
40
- worldview: 'jp'
41
- });
42
- const calledUrl = mockFetch.mock.calls[0][0];
43
- expect(calledUrl).toContain('longitude=-74.006');
44
- expect(calledUrl).toContain('latitude=40.7128');
45
- expect(calledUrl).toContain('permanent=true');
46
- expect(calledUrl).toContain('country=US');
47
- expect(calledUrl).toContain('language=fr');
48
- expect(calledUrl).toContain('limit=3');
49
- expect(calledUrl).toContain('types=address');
50
- expect(calledUrl).toContain('worldview=jp');
51
- });
52
- it('uses default values', async () => {
53
- const mockFetch = setupFetch();
54
- await new ReverseGeocodeTool().run({
55
- longitude: -73.989,
56
- latitude: 40.733
57
- });
58
- const calledUrl = mockFetch.mock.calls[0][0];
59
- expect(calledUrl).toContain('permanent=false');
60
- expect(calledUrl).toContain('limit=1');
61
- expect(calledUrl).toContain('worldview=us');
62
- });
63
- it('validates limit constraints', async () => {
64
- const tool = new ReverseGeocodeTool();
65
- // Test limit too high
66
- await expect(tool.run({
67
- longitude: -73.989,
68
- latitude: 40.733,
69
- limit: 6
70
- })).resolves.toMatchObject({
71
- isError: true
72
- });
73
- // Test limit too low
74
- await expect(tool.run({
75
- longitude: -73.989,
76
- latitude: 40.733,
77
- limit: 0
78
- })).resolves.toMatchObject({
79
- isError: true
80
- });
81
- });
82
- it('validates coordinate constraints', async () => {
83
- const tool = new ReverseGeocodeTool();
84
- // Test invalid longitude
85
- await expect(tool.run({
86
- longitude: -181,
87
- latitude: 40.733
88
- })).resolves.toMatchObject({
89
- isError: true
90
- });
91
- await expect(tool.run({
92
- longitude: 181,
93
- latitude: 40.733
94
- })).resolves.toMatchObject({
95
- isError: true
96
- });
97
- // Test invalid latitude
98
- await expect(tool.run({
99
- longitude: -73.989,
100
- latitude: 91
101
- })).resolves.toMatchObject({
102
- isError: true
103
- });
104
- await expect(tool.run({
105
- longitude: -73.989,
106
- latitude: -91
107
- })).resolves.toMatchObject({
108
- isError: true
109
- });
110
- });
111
- it('enforces types constraint when limit > 1', async () => {
112
- const tool = new ReverseGeocodeTool();
113
- // Should succeed with exactly one type
114
- const mockFetch = setupFetch();
115
- await tool.run({
116
- longitude: -73.989,
117
- latitude: 40.733,
118
- limit: 3,
119
- types: ['address']
120
- });
121
- expect(mockFetch).toHaveBeenCalled();
122
- // Should fail without types when limit > 1
123
- await expect(tool.run({
124
- longitude: -73.989,
125
- latitude: 40.733,
126
- limit: 3
127
- })).resolves.toMatchObject({
128
- isError: true
129
- });
130
- // Should fail with multiple types when limit > 1
131
- await expect(tool.run({
132
- longitude: -73.989,
133
- latitude: 40.733,
134
- limit: 3,
135
- types: ['address', 'place']
136
- })).resolves.toMatchObject({
137
- isError: true
138
- });
139
- });
140
- it('allows limit of 1 without types constraint', async () => {
141
- const mockFetch = setupFetch();
142
- // Should succeed with limit=1 and no types
143
- await new ReverseGeocodeTool().run({
144
- longitude: -73.989,
145
- latitude: 40.733,
146
- limit: 1
147
- });
148
- expect(mockFetch).toHaveBeenCalled();
149
- // Should also succeed with limit=1 and multiple types
150
- await new ReverseGeocodeTool().run({
151
- longitude: -73.989,
152
- latitude: 40.733,
153
- limit: 1,
154
- types: ['address', 'place']
155
- });
156
- expect(mockFetch).toHaveBeenCalledTimes(2);
157
- });
158
- it('handles fetch errors gracefully', async () => {
159
- const mockFetch = setupFetch({
160
- ok: false,
161
- status: 404,
162
- statusText: 'Not Found'
163
- });
164
- const result = await new ReverseGeocodeTool().run({
165
- longitude: -73.989,
166
- latitude: 40.733
167
- });
168
- expect(result.isError).toBe(true);
169
- expect(result.content[0]).toMatchObject({
170
- type: 'text',
171
- text: 'Internal error has occurred.'
172
- });
173
- });
174
- it('validates country code format', async () => {
175
- const tool = new ReverseGeocodeTool();
176
- // Should fail with invalid country code length
177
- await expect(tool.run({
178
- longitude: -73.989,
179
- latitude: 40.733,
180
- country: ['USA'] // Should be 2 characters
181
- })).resolves.toMatchObject({
182
- isError: true
183
- });
184
- });
185
- it('formats GeoJSON response to text with basic information', async () => {
186
- const mockResponse = {
187
- type: 'FeatureCollection',
188
- features: [
189
- {
190
- type: 'Feature',
191
- properties: {
192
- name: '123 Main Street',
193
- full_address: '123 Main Street, New York, NY 10001, United States',
194
- feature_type: 'address'
195
- },
196
- geometry: {
197
- type: 'Point',
198
- coordinates: [-73.989, 40.733]
199
- }
200
- }
201
- ]
202
- };
203
- const mockFetch = setupFetch({
204
- json: async () => mockResponse
205
- });
206
- const result = await new ReverseGeocodeTool().run({
207
- longitude: -73.989,
208
- latitude: 40.733
209
- });
210
- expect(result.isError).toBe(false);
211
- expect(result.content[0].type).toBe('text');
212
- const textContent = result.content[0]
213
- .text;
214
- expect(textContent).toContain('1. 123 Main Street');
215
- expect(textContent).toContain('Address: 123 Main Street, New York, NY 10001, United States');
216
- expect(textContent).toContain('Coordinates: 40.733, -73.989');
217
- expect(textContent).toContain('Type: address');
218
- });
219
- it('formats GeoJSON response with name_preferred', async () => {
220
- const mockResponse = {
221
- type: 'FeatureCollection',
222
- features: [
223
- {
224
- type: 'Feature',
225
- properties: {
226
- name: 'Manhattan',
227
- name_preferred: 'Manhattan Borough',
228
- place_formatted: 'Manhattan, New York, NY, United States'
229
- },
230
- geometry: {
231
- type: 'Point',
232
- coordinates: [-73.971, 40.776]
233
- }
234
- }
235
- ]
236
- };
237
- const mockFetch = setupFetch({
238
- json: async () => mockResponse
239
- });
240
- const result = await new ReverseGeocodeTool().run({
241
- longitude: -73.971,
242
- latitude: 40.776
243
- });
244
- expect(result.isError).toBe(false);
245
- const textContent = result.content[0]
246
- .text;
247
- expect(textContent).toContain('1. Manhattan (Manhattan Borough)');
248
- expect(textContent).toContain('Address: Manhattan, New York, NY, United States');
249
- expect(textContent).toContain('Coordinates: 40.776, -73.971');
250
- });
251
- it('handles multiple results in formatted text', async () => {
252
- const mockResponse = {
253
- type: 'FeatureCollection',
254
- features: [
255
- {
256
- type: 'Feature',
257
- properties: {
258
- name: '456 Oak Street',
259
- full_address: '456 Oak Street, Brooklyn, NY 11201, United States',
260
- feature_type: 'address'
261
- },
262
- geometry: {
263
- type: 'Point',
264
- coordinates: [-73.99, 40.694]
265
- }
266
- },
267
- {
268
- type: 'Feature',
269
- properties: {
270
- name: '458 Oak Street',
271
- full_address: '458 Oak Street, Brooklyn, NY 11201, United States',
272
- feature_type: 'address'
273
- },
274
- geometry: {
275
- type: 'Point',
276
- coordinates: [-73.991, 40.695]
277
- }
278
- }
279
- ]
280
- };
281
- const mockFetch = setupFetch({
282
- json: async () => mockResponse
283
- });
284
- const result = await new ReverseGeocodeTool().run({
285
- longitude: -73.99,
286
- latitude: 40.694,
287
- limit: 2,
288
- types: ['address']
289
- });
290
- expect(result.isError).toBe(false);
291
- const textContent = result.content[0]
292
- .text;
293
- expect(textContent).toContain('1. 456 Oak Street');
294
- expect(textContent).toContain('2. 458 Oak Street');
295
- expect(textContent).toContain('456 Oak Street, Brooklyn, NY 11201, United States');
296
- expect(textContent).toContain('458 Oak Street, Brooklyn, NY 11201, United States');
297
- });
298
- it('handles empty results gracefully', async () => {
299
- const mockResponse = {
300
- type: 'FeatureCollection',
301
- features: []
302
- };
303
- const mockFetch = setupFetch({
304
- json: async () => mockResponse
305
- });
306
- const result = await new ReverseGeocodeTool().run({
307
- longitude: 0.0,
308
- latitude: 0.0
309
- });
310
- expect(result.isError).toBe(false);
311
- expect(result.content[0].type).toBe('text');
312
- expect(result.content[0].text).toBe('No results found.');
313
- });
314
- it('handles results with minimal properties', async () => {
315
- const mockResponse = {
316
- type: 'FeatureCollection',
317
- features: [
318
- {
319
- type: 'Feature',
320
- properties: {
321
- name: 'Some Location'
322
- },
323
- geometry: {
324
- type: 'Point',
325
- coordinates: [-100.123, 35.456]
326
- }
327
- }
328
- ]
329
- };
330
- const mockFetch = setupFetch({
331
- json: async () => mockResponse
332
- });
333
- const result = await new ReverseGeocodeTool().run({
334
- longitude: -100.123,
335
- latitude: 35.456
336
- });
337
- expect(result.isError).toBe(false);
338
- const textContent = result.content[0]
339
- .text;
340
- expect(textContent).toContain('1. Some Location');
341
- expect(textContent).toContain('Coordinates: 35.456, -100.123');
342
- expect(textContent).not.toContain('Address:');
343
- });
344
- it('returns JSON string format when requested', async () => {
345
- const mockResponse = {
346
- type: 'FeatureCollection',
347
- features: [
348
- {
349
- type: 'Feature',
350
- properties: {
351
- name: 'Test Address',
352
- full_address: '123 Test St, Test City, TC 12345'
353
- },
354
- geometry: {
355
- type: 'Point',
356
- coordinates: [-122.676, 45.515]
357
- }
358
- }
359
- ]
360
- };
361
- const mockFetch = setupFetch({
362
- json: async () => mockResponse
363
- });
364
- const result = await new ReverseGeocodeTool().run({
365
- longitude: -122.676,
366
- latitude: 45.515,
367
- format: 'json_string'
368
- });
369
- expect(result.isError).toBe(false);
370
- expect(result.content[0].type).toBe('text');
371
- const jsonContent = result.content[0]
372
- .text;
373
- expect(JSON.parse(jsonContent)).toEqual(mockResponse);
374
- });
375
- it('defaults to formatted_text format when format not specified', async () => {
376
- const mockResponse = {
377
- type: 'FeatureCollection',
378
- features: [
379
- {
380
- type: 'Feature',
381
- properties: {
382
- name: 'Test Location'
383
- },
384
- geometry: {
385
- type: 'Point',
386
- coordinates: [-122.676, 45.515]
387
- }
388
- }
389
- ]
390
- };
391
- const mockFetch = setupFetch({
392
- json: async () => mockResponse
393
- });
394
- const result = await new ReverseGeocodeTool().run({
395
- longitude: -122.676,
396
- latitude: 45.515
397
- });
398
- expect(result.isError).toBe(false);
399
- expect(result.content[0].type).toBe('text');
400
- expect(result.content[0].text).toContain('1. Test Location');
401
- });
402
- });
403
- //# sourceMappingURL=ReverseGeocodeTool.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReverseGeocodeTool.test.js","sourceRoot":"","sources":["../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=schema-validation.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-validation.test.d.ts","sourceRoot":"","sources":["../../src/tools/schema-validation.test.ts"],"names":[],"mappings":""}
@@ -1,75 +0,0 @@
1
- import { z } from 'zod';
2
- import { getAllTools } from './toolRegistry.js';
3
- // Mock getVersionInfo to avoid import.meta.url issues in Jest
4
- jest.mock('../utils/versionUtils.js', () => ({
5
- getVersionInfo: jest.fn(() => ({
6
- name: 'Mapbox MCP server',
7
- version: '1.0.0',
8
- sha: 'mock-sha',
9
- tag: 'mock-tag',
10
- branch: 'mock-branch'
11
- }))
12
- }));
13
- function detectTupleUsage(schema) {
14
- const issues = [];
15
- function traverse(node, path = '') {
16
- // Check if this is specifically a ZodTuple
17
- if (node instanceof z.ZodTuple) {
18
- issues.push(`${path}: z.tuple() detected - this causes JSON schema generation issues`);
19
- }
20
- // Traverse nested schemas
21
- if (node instanceof z.ZodArray) {
22
- if (node._def.type) {
23
- traverse(node._def.type, `${path}[item]`);
24
- }
25
- }
26
- else if (node instanceof z.ZodObject) {
27
- const shape = node._def.shape();
28
- for (const [key, value] of Object.entries(shape)) {
29
- traverse(value, path ? `${path}.${key}` : key);
30
- }
31
- }
32
- else if (node instanceof z.ZodUnion) {
33
- node._def.options.forEach((option, index) => {
34
- traverse(option, `${path}[union_option_${index}]`);
35
- });
36
- }
37
- else if (node instanceof z.ZodOptional) {
38
- traverse(node._def.innerType, path);
39
- }
40
- else if (node instanceof z.ZodDefault) {
41
- traverse(node._def.innerType, path);
42
- }
43
- else if (node instanceof z.ZodNullable) {
44
- traverse(node._def.innerType, path);
45
- }
46
- }
47
- traverse(schema);
48
- return issues;
49
- }
50
- describe('Schema Validation - No Tuples', () => {
51
- // Dynamically get all tools from the central registry
52
- const tools = [...getAllTools()];
53
- const schemas = tools.map((tool) => ({
54
- name: tool.constructor.name,
55
- schema: tool.inputSchema
56
- }));
57
- test.each(schemas)('$name should not contain z.tuple() usage', ({ name, schema }) => {
58
- const tupleIssues = detectTupleUsage(schema);
59
- expect(tupleIssues).toEqual([]);
60
- });
61
- // Negative test to ensure detection works
62
- test('should detect z.tuple() usage in test schemas', () => {
63
- const schemaWithTuple = z.object({
64
- coordinates: z.tuple([z.number(), z.number()]),
65
- data: z.object({
66
- nestedTuple: z.tuple([z.string(), z.boolean()])
67
- })
68
- });
69
- const tupleIssues = detectTupleUsage(schemaWithTuple);
70
- expect(tupleIssues).toHaveLength(2);
71
- expect(tupleIssues[0]).toContain('coordinates: z.tuple() detected');
72
- expect(tupleIssues[1]).toContain('data.nestedTuple: z.tuple() detected');
73
- });
74
- });
75
- //# sourceMappingURL=schema-validation.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-validation.test.js","sourceRoot":"","sources":["../../src/tools/schema-validation.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StaticMapImageTool.d.ts","sourceRoot":"","sources":["../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAwT9D,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0C7B,CAAC;AAEH,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IACC,IAAI,SAA2B;IAC/B,WAAW,SAC8P;;IAMzQ,OAAO,CAAC,aAAa;cAkDL,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,GAC/C,OAAO,CAAC,GAAG,CAAC;CAsChB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StaticMapImageTool.js","sourceRoot":"","sources":["../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,gCAAgC;AAChC,MAAM,UAAU,GAAG;IACjB,WAAW;IACX,UAAU;IACV,SAAS;IACT,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;IAChB,UAAU;IACV,OAAO;IACP,aAAa;IACb,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,MAAM;IACN,KAAK;IACL,SAAS;IACT,UAAU;IACV,YAAY;IACZ,KAAK;IACL,OAAO;IACP,MAAM;IACN,eAAe;IACf,SAAS;IACT,YAAY;IACZ,eAAe;IACf,QAAQ;IACR,eAAe;IACf,UAAU;IACV,KAAK;IACL,MAAM;IACN,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,KAAK;IACL,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,SAAS;IACT,aAAa;IACb,UAAU;IACV,kBAAkB;IAClB,QAAQ;IACR,gBAAgB;IAChB,QAAQ;IACR,MAAM;IACN,gBAAgB;IAChB,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,sBAAsB;IACtB,eAAe;IACf,cAAc;IACd,aAAa;IACb,SAAS;IACT,OAAO;IACP,KAAK;IACL,QAAQ;IACR,eAAe;IACf,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,gBAAgB;IAChB,UAAU;IACV,SAAS;IACT,iBAAiB;IACjB,eAAe;IACf,UAAU;IACV,MAAM;IACN,WAAW;IACX,OAAO;IACP,UAAU;IACV,OAAO;IACP,iBAAiB;IACjB,cAAc;IACd,gBAAgB;IAChB,SAAS;IACT,MAAM;IACN,WAAW;IACX,QAAQ;IACR,eAAe;IACf,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,SAAS;IACT,aAAa;IACb,QAAQ;IACR,UAAU;IACV,OAAO;IACP,UAAU;IACV,mBAAmB;IACnB,UAAU;IACV,MAAM;IACN,cAAc;IACd,aAAa;IACb,UAAU;IACV,YAAY;IACZ,WAAW;IACX,UAAU;IACV,aAAa;IACb,eAAe;IACf,SAAS;IACT,aAAa;IACb,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,WAAW;IACX,eAAe;IACf,YAAY;IACZ,SAAS;IACT,SAAS;IACT,OAAO;IACP,gBAAgB;IAChB,QAAQ;IACR,cAAc;IACd,aAAa;IACb,UAAU;IACV,UAAU;IACV,QAAQ;IACR,OAAO;IACP,SAAS;IACT,WAAW;IACX,mBAAmB;IACnB,UAAU;IACV,OAAO;IACP,WAAW;IACX,MAAM;IACN,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,UAAU;IACV,aAAa;IACb,OAAO;IACP,kBAAkB;IAClB,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,SAAS;IACT,MAAM;IACN,QAAQ;IACR,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IACjB,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,gBAAgB;IAChB,WAAW;IACX,oBAAoB;IACpB,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,uBAAuB;IACvB,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,YAAY;IACZ,eAAe;IACf,WAAW;IACX,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,gBAAgB;IAChB,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,gBAAgB;IAChB,QAAQ;IACR,SAAS;IACT,cAAc;IACd,MAAM;IACN,UAAU;IACV,UAAU;IACV,cAAc;IACd,MAAM;IACN,UAAU;IACV,WAAW;IACX,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,MAAM;IACN,WAAW;IACX,MAAM;IACN,kBAAkB;IAClB,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,SAAS;IACT,SAAS;IACT,YAAY;IACZ,WAAW;IACX,cAAc;IACd,OAAO;IACP,OAAO;IACP,WAAW;IACX,WAAW;IACX,SAAS;IACT,YAAY;IACZ,UAAU;IACV,KAAK;CACN,CAAC;AAEF,kBAAkB;AAClB,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAC5D,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;QACjB,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QAErB,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAEnC,iEAAiE;QACjE,IACE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;YACxB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;YACxB,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC7B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,oFAAoF;QACpF,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC;SACD,QAAQ,CACP,4EAA4E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,4GAA4G,CAC9M;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,KAAK,CAAC,mCAAmC,CAAC;SAC1C,QAAQ,EAAE;SACV,QAAQ,CAAC,kCAAkC,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;IAC/C,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,CAAC,sDAAsD,CAAC;CACpE,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,wDAAwD,CAAC;IACrE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,KAAK,CAAC,mCAAmC,CAAC;SAC1C,QAAQ,EAAE;SACV,QAAQ,CAAC,kCAAkC,CAAC;IAC/C,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,sBAAsB,CAAC;IACnC,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,KAAK,CAAC,mCAAmC,CAAC;SAC1C,QAAQ,EAAE;SACV,QAAQ,CAAC,kCAAkC,CAAC;IAC/C,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,oBAAoB,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,CAAC;SACJ,GAAG,EAAE;SACL,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACjD,mBAAmB;IACnB,yBAAyB;IACzB,iBAAiB;IACjB,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;KAChD,CAAC;SACD,QAAQ,CACP,4IAA4I,CAC7I;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CACP,6EAA6E,CAC9E;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;KACpC,CAAC;SACD,QAAQ,CACP,mHAAmH,CACpH;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,oBAAoB,CAAC;SAC7B,QAAQ,CACP,kFAAkF,CACnF;IACH,WAAW,EAAE,CAAC;SACX,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,aAAa,CAAC;SACpB,QAAQ,EAAE;SACV,QAAQ,CACP,gGAAgG,CACjG;CACJ,CAAC,CAAC;AAEH,MAAM,OAAO,kBAAmB,SAAQ,kBAEvC;IACC,IAAI,GAAG,uBAAuB,CAAC;IAC/B,WAAW,GACT,sQAAsQ,CAAC;IAEzQ;QACE,KAAK,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,aAAa,CAAC,OAAsC;QAC1D,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC1D,IAAI,MAAM,GAAG,IAAI,CAAC;gBAElB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChC,CAAC;gBAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChC,CAAC;gBAED,OAAO,GAAG,MAAM,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC;YAC/D,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnD,OAAO,OAAO,UAAU,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC;YACvE,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,IAAI,GAAG,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC;gBAEzC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACxB,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBAClC,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;wBACxC,IAAI,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBACtC,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,IAAI,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBAChC,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;wBACtC,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAED,uDAAuD;gBACvD,OAAO,GAAG,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC;YACnE,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnD,OAAO,WAAW,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAES,KAAK,CAAC,OAAO,CACrB,KAAgD;QAEhD,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACvD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;QAErC,uBAAuB;QACvB,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAc,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAClD,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,GAAG,kBAAkB,CAAC,mBAAmB,aAAa,KAAK,CAAC,KAAK,WAAW,aAAa,GAAG,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,MAAM,GAAG,OAAO,iBAAiB,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;QAEvN,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACvE,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE5C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE1D,sEAAsE;QACtE,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;QAE5D,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=StaticMapImageTool.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StaticMapImageTool.test.d.ts","sourceRoot":"","sources":["../../../src/tools/static-map-image-tool/StaticMapImageTool.test.ts"],"names":[],"mappings":""}