@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,441 +0,0 @@
1
- process.env.MAPBOX_ACCESS_TOKEN =
2
- 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0In0.signature';
3
- import { setupFetch, assertHeadersSent } from '../../utils/requestUtils.test-helpers.js';
4
- import { StaticMapImageTool } from '../static-map-image-tool/StaticMapImageTool.js';
5
- describe('StaticMapImageTool', () => {
6
- afterEach(() => {
7
- jest.restoreAllMocks();
8
- });
9
- it('sends custom header', async () => {
10
- const mockFetch = setupFetch();
11
- await new StaticMapImageTool().run({
12
- center: { longitude: -74.006, latitude: 40.7128 },
13
- zoom: 12,
14
- size: { width: 600, height: 400 },
15
- style: 'mapbox/streets-v12'
16
- });
17
- assertHeadersSent(mockFetch);
18
- });
19
- it('returns image content with base64 data', async () => {
20
- // Mock image buffer
21
- const mockImageBuffer = Buffer.from('fake-image-data');
22
- const mockArrayBuffer = mockImageBuffer.buffer.slice(mockImageBuffer.byteOffset, mockImageBuffer.byteOffset + mockImageBuffer.byteLength);
23
- const mockFetch = setupFetch({
24
- arrayBuffer: jest.fn().mockResolvedValue(mockArrayBuffer)
25
- });
26
- const result = await new StaticMapImageTool().run({
27
- center: { longitude: -74.006, latitude: 40.7128 },
28
- zoom: 10,
29
- size: { width: 800, height: 600 },
30
- style: 'mapbox/satellite-v9'
31
- });
32
- expect(result.isError).toBe(false);
33
- expect(result.content).toHaveLength(1);
34
- expect(result.content[0]).toMatchObject({
35
- type: 'image',
36
- data: mockImageBuffer.toString('base64'),
37
- mimeType: 'image/jpeg' // satellite is a raster style
38
- });
39
- });
40
- it('constructs correct Mapbox Static API URL', async () => {
41
- const mockFetch = setupFetch();
42
- await new StaticMapImageTool().run({
43
- center: { longitude: -122.4194, latitude: 37.7749 },
44
- zoom: 15,
45
- size: { width: 1024, height: 768 },
46
- style: 'mapbox/dark-v10'
47
- });
48
- const calledUrl = mockFetch.mock.calls[0][0];
49
- expect(calledUrl).toContain('styles/v1/mapbox/dark-v10/static/');
50
- expect(calledUrl).toContain('-122.4194,37.7749,15');
51
- expect(calledUrl).toContain('1024x768');
52
- expect(calledUrl).toContain('access_token=');
53
- });
54
- it('uses default style when not specified', async () => {
55
- const mockFetch = setupFetch();
56
- await new StaticMapImageTool().run({
57
- center: { longitude: 0, latitude: 0 },
58
- zoom: 1,
59
- size: { width: 300, height: 200 }
60
- });
61
- const calledUrl = mockFetch.mock.calls[0][0];
62
- expect(calledUrl).toContain('styles/v1/mapbox/streets-v12/static/');
63
- });
64
- it('handles fetch errors gracefully', async () => {
65
- const mockFetch = setupFetch({
66
- ok: false,
67
- status: 404,
68
- statusText: 'Not Found'
69
- });
70
- const result = await new StaticMapImageTool().run({
71
- center: { longitude: -74.006, latitude: 40.7128 },
72
- zoom: 12,
73
- size: { width: 600, height: 400 }
74
- });
75
- expect(result.isError).toBe(true);
76
- expect(result.content[0]).toMatchObject({
77
- type: 'text',
78
- text: 'Internal error has occurred.'
79
- });
80
- });
81
- it('validates coordinate constraints', async () => {
82
- const tool = new StaticMapImageTool();
83
- // Test invalid longitude
84
- await expect(tool.run({
85
- center: { longitude: -181, latitude: 40 },
86
- zoom: 10,
87
- size: { width: 600, height: 400 }
88
- })).resolves.toMatchObject({
89
- isError: true
90
- });
91
- // Test invalid latitude
92
- await expect(tool.run({
93
- center: { longitude: -74, latitude: 90 },
94
- zoom: 10,
95
- size: { width: 600, height: 400 }
96
- })).resolves.toMatchObject({
97
- isError: true
98
- });
99
- });
100
- it('validates size constraints', async () => {
101
- const tool = new StaticMapImageTool();
102
- // Test size too large
103
- await expect(tool.run({
104
- center: { longitude: -74.006, latitude: 40.7128 },
105
- zoom: 10,
106
- size: { width: 1281, height: 600 }
107
- })).resolves.toMatchObject({
108
- isError: true
109
- });
110
- // Test size too small
111
- await expect(tool.run({
112
- center: { longitude: -74.006, latitude: 40.7128 },
113
- zoom: 10,
114
- size: { width: 0, height: 600 }
115
- })).resolves.toMatchObject({
116
- isError: true
117
- });
118
- });
119
- it('supports high density parameter', async () => {
120
- const mockFetch = setupFetch();
121
- await new StaticMapImageTool().run({
122
- center: { longitude: -74.006, latitude: 40.7128 },
123
- zoom: 12,
124
- size: { width: 600, height: 400 },
125
- highDensity: true
126
- });
127
- const calledUrl = mockFetch.mock.calls[0][0];
128
- expect(calledUrl).toContain('600x400@2x');
129
- });
130
- describe('overlay support', () => {
131
- it('adds marker overlay to URL', async () => {
132
- const mockFetch = setupFetch();
133
- await new StaticMapImageTool().run({
134
- center: { longitude: -74.006, latitude: 40.7128 },
135
- zoom: 12,
136
- size: { width: 600, height: 400 },
137
- overlays: [
138
- {
139
- type: 'marker',
140
- longitude: -74.006,
141
- latitude: 40.7128,
142
- size: 'large',
143
- label: 'a',
144
- color: 'ff0000'
145
- }
146
- ]
147
- });
148
- const calledUrl = mockFetch.mock.calls[0][0];
149
- expect(calledUrl).toContain('pin-l-a+ff0000(-74.006,40.7128)/');
150
- });
151
- it('adds custom marker overlay to URL', async () => {
152
- const mockFetch = setupFetch();
153
- await new StaticMapImageTool().run({
154
- center: { longitude: -74.006, latitude: 40.7128 },
155
- zoom: 12,
156
- size: { width: 600, height: 400 },
157
- overlays: [
158
- {
159
- type: 'custom-marker',
160
- longitude: -74.006,
161
- latitude: 40.7128,
162
- url: 'https://example.com/marker.png'
163
- }
164
- ]
165
- });
166
- const calledUrl = mockFetch.mock.calls[0][0];
167
- expect(calledUrl).toContain(`url-${encodeURIComponent('https://example.com/marker.png')}(-74.006,40.7128)/`);
168
- });
169
- it('adds path overlay to URL', async () => {
170
- const mockFetch = setupFetch();
171
- await new StaticMapImageTool().run({
172
- center: { longitude: -74.006, latitude: 40.7128 },
173
- zoom: 12,
174
- size: { width: 600, height: 400 },
175
- overlays: [
176
- {
177
- type: 'path',
178
- encodedPolyline: 'u{~vFvyys@fS]',
179
- strokeWidth: 3,
180
- strokeColor: '0000ff',
181
- strokeOpacity: 0.8,
182
- fillColor: 'ff0000',
183
- fillOpacity: 0.5
184
- }
185
- ]
186
- });
187
- const calledUrl = mockFetch.mock.calls[0][0];
188
- expect(calledUrl).toContain(`path-3+0000ff-0.8+ff0000-0.5(${encodeURIComponent('u{~vFvyys@fS]')})/`);
189
- });
190
- it('adds GeoJSON overlay to URL', async () => {
191
- const mockFetch = setupFetch();
192
- const geoJsonData = {
193
- type: 'Point',
194
- coordinates: [-74.006, 40.7128]
195
- };
196
- await new StaticMapImageTool().run({
197
- center: { longitude: -74.006, latitude: 40.7128 },
198
- zoom: 12,
199
- size: { width: 600, height: 400 },
200
- overlays: [
201
- {
202
- type: 'geojson',
203
- data: geoJsonData
204
- }
205
- ]
206
- });
207
- const calledUrl = mockFetch.mock.calls[0][0];
208
- expect(calledUrl).toContain(`geojson(${encodeURIComponent(JSON.stringify(geoJsonData))})/`);
209
- });
210
- it('supports multiple overlays in order', async () => {
211
- const mockFetch = setupFetch();
212
- await new StaticMapImageTool().run({
213
- center: { longitude: -74.006, latitude: 40.7128 },
214
- zoom: 12,
215
- size: { width: 600, height: 400 },
216
- overlays: [
217
- {
218
- type: 'marker',
219
- longitude: -74.01,
220
- latitude: 40.71,
221
- size: 'small',
222
- color: '00ff00'
223
- },
224
- {
225
- type: 'marker',
226
- longitude: -74.002,
227
- latitude: 40.715,
228
- size: 'large',
229
- label: 'b',
230
- color: 'ff0000'
231
- }
232
- ]
233
- });
234
- const calledUrl = mockFetch.mock.calls[0][0];
235
- expect(calledUrl).toContain('pin-s+00ff00(-74.01,40.71),pin-l-b+ff0000(-74.002,40.715)/');
236
- });
237
- it('works without overlays', async () => {
238
- const mockFetch = setupFetch();
239
- await new StaticMapImageTool().run({
240
- center: { longitude: -74.006, latitude: 40.7128 },
241
- zoom: 12,
242
- size: { width: 600, height: 400 }
243
- });
244
- const calledUrl = mockFetch.mock.calls[0][0];
245
- // Should not have overlay string before coordinates
246
- expect(calledUrl).toMatch(/static\/-74\.006,40\.7128,12/);
247
- });
248
- it('transforms uppercase labels to lowercase', async () => {
249
- const mockFetch = setupFetch();
250
- await new StaticMapImageTool().run({
251
- center: { longitude: -74.006, latitude: 40.7128 },
252
- zoom: 12,
253
- size: { width: 600, height: 400 },
254
- overlays: [
255
- {
256
- type: 'marker',
257
- longitude: -74.006,
258
- latitude: 40.7128,
259
- size: 'small',
260
- label: 'Z',
261
- color: '0000ff'
262
- }
263
- ]
264
- });
265
- const calledUrl = mockFetch.mock.calls[0][0];
266
- // Should contain lowercase 'z' even though 'Z' was provided
267
- expect(calledUrl).toContain('pin-s-z+0000ff(-74.006,40.7128)/');
268
- });
269
- it('supports Maki icon names as labels', async () => {
270
- const mockFetch = setupFetch();
271
- await new StaticMapImageTool().run({
272
- center: { longitude: -74.006, latitude: 40.7128 },
273
- zoom: 12,
274
- size: { width: 600, height: 400 },
275
- overlays: [
276
- {
277
- type: 'marker',
278
- longitude: -74.006,
279
- latitude: 40.7128,
280
- size: 'large',
281
- label: 'embassy',
282
- color: 'ff0000'
283
- }
284
- ]
285
- });
286
- const calledUrl = mockFetch.mock.calls[0][0];
287
- expect(calledUrl).toContain('pin-l-embassy+ff0000(-74.006,40.7128)/');
288
- });
289
- it('transforms uppercase Maki icon names to lowercase', async () => {
290
- const mockFetch = setupFetch();
291
- await new StaticMapImageTool().run({
292
- center: { longitude: -74.006, latitude: 40.7128 },
293
- zoom: 12,
294
- size: { width: 600, height: 400 },
295
- overlays: [
296
- {
297
- type: 'marker',
298
- longitude: -74.01,
299
- latitude: 40.71,
300
- size: 'small',
301
- label: 'AIRPORT',
302
- color: '00ff00'
303
- }
304
- ]
305
- });
306
- const calledUrl = mockFetch.mock.calls[0][0];
307
- // Should contain lowercase 'airport' even though 'AIRPORT' was provided
308
- expect(calledUrl).toContain('pin-s-airport+00ff00(-74.01,40.71)/');
309
- });
310
- it('supports numeric labels', async () => {
311
- const mockFetch = setupFetch();
312
- await new StaticMapImageTool().run({
313
- center: { longitude: -74.006, latitude: 40.7128 },
314
- zoom: 12,
315
- size: { width: 600, height: 400 },
316
- overlays: [
317
- {
318
- type: 'marker',
319
- longitude: -74.006,
320
- latitude: 40.7128,
321
- size: 'large',
322
- label: '42',
323
- color: '0000ff'
324
- }
325
- ]
326
- });
327
- const calledUrl = mockFetch.mock.calls[0][0];
328
- expect(calledUrl).toContain('pin-l-42+0000ff(-74.006,40.7128)/');
329
- });
330
- it('handles complex overlay combination with paths and markers', async () => {
331
- const mockFetch = setupFetch();
332
- await new StaticMapImageTool().run({
333
- center: { longitude: -80.278, latitude: 25.796 },
334
- zoom: 15,
335
- size: { width: 800, height: 600 },
336
- style: 'mapbox/streets-v12',
337
- overlays: [
338
- {
339
- type: 'marker',
340
- longitude: -80.2793529,
341
- latitude: 25.7950805,
342
- size: 'large',
343
- label: 'A',
344
- color: 'ff0000'
345
- },
346
- {
347
- type: 'marker',
348
- longitude: -80.27899169921875,
349
- latitude: 25.796667098999023,
350
- size: 'large',
351
- label: 'S',
352
- color: '00cc00'
353
- },
354
- {
355
- type: 'path',
356
- encodedPolyline: 'mbm|C~k~hNzBCdAg@ZYnAoDWsR[yHgAmEc@mDeAiWGqIHyJYwKQgA_@@h@|JKlRVj^W|Co@hCyBzDi@f@c@NeAjAg@|AXhRzAbD',
357
- strokeWidth: 4,
358
- strokeColor: '0066ff'
359
- }
360
- ]
361
- });
362
- const calledUrl = mockFetch.mock.calls[0][0];
363
- // Check that markers have lowercase labels
364
- expect(calledUrl).toContain('pin-l-a+ff0000(-80.2793529,25.7950805)');
365
- expect(calledUrl).toContain('pin-l-s+00cc00(-80.27899169921875,25.796667098999023)');
366
- // Check path
367
- const expectedPolyline = 'mbm|C~k~hNzBCdAg@ZYnAoDWsR[yHgAmEc@mDeAiWGqIHyJYwKQgA_@@h@|JKlRVj^W|Co@hCyBzDi@f@c@NeAjAg@|AXhRzAbD';
368
- expect(calledUrl).toContain(`path-4+0066ff(${encodeURIComponent(expectedPolyline)})`);
369
- });
370
- it('truncates non-Maki multi-character labels to first character', async () => {
371
- const mockFetch = setupFetch();
372
- await new StaticMapImageTool().run({
373
- center: { longitude: -74.006, latitude: 40.7128 },
374
- zoom: 12,
375
- size: { width: 600, height: 400 },
376
- overlays: [
377
- {
378
- type: 'marker',
379
- longitude: -74.006,
380
- latitude: 40.7128,
381
- size: 'small',
382
- label: 'Hello',
383
- color: '0000ff'
384
- },
385
- {
386
- type: 'marker',
387
- longitude: -74.01,
388
- latitude: 40.71,
389
- size: 'large',
390
- label: 'XYZ',
391
- color: 'ff0000'
392
- }
393
- ]
394
- });
395
- const calledUrl = mockFetch.mock.calls[0][0];
396
- // Should contain only the first character in lowercase
397
- expect(calledUrl).toContain('pin-s-h+0000ff(-74.006,40.7128)');
398
- expect(calledUrl).toContain('pin-l-x+ff0000(-74.01,40.71)');
399
- });
400
- it('preserves full Maki icon names that are in the supported list', async () => {
401
- const mockFetch = setupFetch();
402
- await new StaticMapImageTool().run({
403
- center: { longitude: -74.006, latitude: 40.7128 },
404
- zoom: 12,
405
- size: { width: 600, height: 400 },
406
- overlays: [
407
- {
408
- type: 'marker',
409
- longitude: -74.006,
410
- latitude: 40.7128,
411
- size: 'small',
412
- label: 'restaurant',
413
- color: '0000ff'
414
- },
415
- {
416
- type: 'marker',
417
- longitude: -74.01,
418
- latitude: 40.71,
419
- size: 'large',
420
- label: 'hospital',
421
- color: 'ff0000'
422
- },
423
- {
424
- type: 'marker',
425
- longitude: -74.005,
426
- latitude: 40.715,
427
- size: 'small',
428
- label: 'BICYCLE', // uppercase should be converted to lowercase
429
- color: '00ff00'
430
- }
431
- ]
432
- });
433
- const calledUrl = mockFetch.mock.calls[0][0];
434
- // Should preserve the full Maki icon names
435
- expect(calledUrl).toContain('pin-s-restaurant+0000ff(-74.006,40.7128)');
436
- expect(calledUrl).toContain('pin-l-hospital+ff0000(-74.01,40.71)');
437
- expect(calledUrl).toContain('pin-s-bicycle+00ff00(-74.005,40.715)');
438
- });
439
- });
440
- });
441
- //# sourceMappingURL=StaticMapImageTool.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StaticMapImageTool.test.js","sourceRoot":"","sources":["../../../src/tools/static-map-image-tool/StaticMapImageTool.test.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB;IAC7B,oDAAoD,CAAC;AAEvD,OAAO,EACL,UAAU,EACV,iBAAiB,EAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;YACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;YACjD,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;YACjC,KAAK,EAAE,oBAAoB;SAC5B,CAAC,CAAC;QAEH,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,oBAAoB;QACpB,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAClD,eAAe,CAAC,UAAU,EAC1B,eAAe,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CACxD,CAAC;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC;YAC3B,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;SAC1D,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;YAChD,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;YACjD,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;YACjC,KAAK,EAAE,qBAAqB;SAC7B,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACtC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACxC,QAAQ,EAAE,YAAY,CAAC,8BAA8B;SACtD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;YACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;YACnD,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;YAClC,KAAK,EAAE,iBAAiB;SACzB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;QACjE,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACpD,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;YACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;YACrC,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;SAClC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,SAAS,GAAG,UAAU,CAAC;YAC3B,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;YAChD,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;YACjD,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;SAClC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACtC,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,8BAA8B;SACrC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAEtC,yBAAyB;QACzB,MAAM,MAAM,CACV,IAAI,CAAC,GAAG,CAAC;YACP,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;YACzC,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;SAClC,CAAC,CACH,CAAC,QAAQ,CAAC,aAAa,CAAC;YACvB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,MAAM,CACV,IAAI,CAAC,GAAG,CAAC;YACP,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YACxC,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;SAClC,CAAC,CACH,CAAC,QAAQ,CAAC,aAAa,CAAC;YACvB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,IAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAEtC,sBAAsB;QACtB,MAAM,MAAM,CACV,IAAI,CAAC,GAAG,CAAC;YACP,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;YACjD,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;SACnC,CAAC,CACH,CAAC,QAAQ,CAAC,aAAa,CAAC;YACvB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,sBAAsB;QACtB,MAAM,MAAM,CACV,IAAI,CAAC,GAAG,CAAC;YACP,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;YACjD,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;SAChC,CAAC,CACH,CAAC,QAAQ,CAAC,aAAa,CAAC;YACvB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;YACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;YACjD,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;YACjC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,MAAM;wBAClB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,QAAQ;qBAChB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,CAAC,MAAM;wBAClB,QAAQ,EAAE,OAAO;wBACjB,GAAG,EAAE,gCAAgC;qBACtC;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CACzB,OAAO,kBAAkB,CAAC,gCAAgC,CAAC,oBAAoB,CAChF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,eAAe,EAAE,eAAe;wBAChC,WAAW,EAAE,CAAC;wBACd,WAAW,EAAE,QAAQ;wBACrB,aAAa,EAAE,GAAG;wBAClB,SAAS,EAAE,QAAQ;wBACnB,WAAW,EAAE,GAAG;qBACjB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CACzB,gCAAgC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CACxE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;aAChC,CAAC;YAEF,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,WAAW;qBAClB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CACzB,WAAW,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAC/D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,KAAK;wBACjB,QAAQ,EAAE,KAAK;wBACf,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,QAAQ;qBAChB;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,MAAM;wBAClB,QAAQ,EAAE,MAAM;wBAChB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,QAAQ;qBAChB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CACzB,4DAA4D,CAC7D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;aAClC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,oDAAoD;YACpD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,MAAM;wBAClB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,QAAQ;qBAChB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,4DAA4D;YAC5D,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,MAAM;wBAClB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,QAAQ;qBAChB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,KAAK;wBACjB,QAAQ,EAAE,KAAK;wBACf,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,QAAQ;qBAChB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,wEAAwE;YACxE,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,MAAM;wBAClB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,IAAI;wBACX,KAAK,EAAE,QAAQ;qBAChB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;gBAChD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjC,KAAK,EAAE,oBAAoB;gBAC3B,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,UAAU;wBACtB,QAAQ,EAAE,UAAU;wBACpB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,QAAQ;qBAChB;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,iBAAiB;wBAC7B,QAAQ,EAAE,kBAAkB;wBAC5B,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,QAAQ;qBAChB;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,eAAe,EACb,qGAAqG;wBACvG,WAAW,EAAE,CAAC;wBACd,WAAW,EAAE,QAAQ;qBACtB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,2CAA2C;YAC3C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;YACtE,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CACzB,uDAAuD,CACxD,CAAC;YACF,aAAa;YACb,MAAM,gBAAgB,GACpB,qGAAqG,CAAC;YACxG,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CACzB,iBAAiB,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CACzD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,MAAM;wBAClB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,OAAO;wBACd,KAAK,EAAE,QAAQ;qBAChB;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,KAAK;wBACjB,QAAQ,EAAE,KAAK;wBACf,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,QAAQ;qBAChB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,uDAAuD;YACvD,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;YAE/B,MAAM,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,MAAM;wBAClB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,YAAY;wBACnB,KAAK,EAAE,QAAQ;qBAChB;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,KAAK;wBACjB,QAAQ,EAAE,KAAK;wBACf,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,UAAU;wBACjB,KAAK,EAAE,QAAQ;qBAChB;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,MAAM;wBAClB,QAAQ,EAAE,MAAM;wBAChB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,SAAS,EAAE,6CAA6C;wBAC/D,KAAK,EAAE,QAAQ;qBAChB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,2CAA2C;YAC3C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;YACxE,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;YACnE,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tool-naming-convention.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-naming-convention.test.d.ts","sourceRoot":"","sources":["../../src/tools/tool-naming-convention.test.ts"],"names":[],"mappings":""}
@@ -1,43 +0,0 @@
1
- import { getAllTools } from './toolRegistry.js';
2
- // Mock getVersionInfo to avoid import.meta.url issues in Jest
3
- jest.mock('../utils/versionUtils.js', () => ({
4
- getVersionInfo: jest.fn(() => ({
5
- name: 'Mapbox MCP server',
6
- version: '1.0.0',
7
- sha: 'mock-sha',
8
- tag: 'mock-tag',
9
- branch: 'mock-branch'
10
- }))
11
- }));
12
- describe('Tool Naming Convention', () => {
13
- // Dynamically get all tools from the central registry
14
- const tools = [...getAllTools()];
15
- function isSnakeCase(str) {
16
- return /^[a-z0-9_]+$/.test(str) && !str.includes('__');
17
- }
18
- function endsWithTool(str) {
19
- return str.endsWith('_tool');
20
- }
21
- const toolData = tools.map((tool) => ({
22
- className: tool.constructor.name,
23
- name: tool.name
24
- }));
25
- test.each(toolData)('$className should have snake_case name', ({ className, name }) => {
26
- expect(isSnakeCase(name)).toBe(true);
27
- });
28
- test.each(toolData)('$className should have name ending with "_tool"', ({ className, name }) => {
29
- expect(endsWithTool(name)).toBe(true);
30
- });
31
- test('all tools should follow both naming conventions', () => {
32
- const violations = tools
33
- .filter((tool) => !isSnakeCase(tool.name) || !endsWithTool(tool.name))
34
- .map((tool) => ({
35
- className: tool.constructor.name,
36
- name: tool.name,
37
- isSnakeCase: isSnakeCase(tool.name),
38
- endsWithTool: endsWithTool(tool.name)
39
- }));
40
- expect(violations).toEqual([]);
41
- });
42
- });
43
- //# sourceMappingURL=tool-naming-convention.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-naming-convention.test.js","sourceRoot":"","sources":["../../src/tools/tool-naming-convention.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,8DAA8D;AAC9D,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3C,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,OAAO;QAChB,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC;CACJ,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,sDAAsD;IACtD,MAAM,KAAK,GAAG,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC;IAEjC,SAAS,WAAW,CAAC,GAAW;QAC9B,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,YAAY,CAAC,GAAW;QAC/B,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CACjB,wCAAwC,EACxC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CACjB,iDAAiD,EACjD,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC3D,MAAM,UAAU,GAAG,KAAK;aACrB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YAChC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;SACtC,CAAC,CAAC,CAAC;QAEN,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolRegistry.d.ts","sourceRoot":"","sources":["../../src/tools/toolRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAG5D,eAAO,MAAM,SAAS,kKAWZ,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD,wBAAgB,WAAW,IAAI,SAAS,YAAY,EAAE,CAErD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEpE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["../../src/tools/toolRegistry.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,gCAAgC;AAChC,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,gCAAgC;IAChC,IAAI,WAAW,EAAE;IACjB,IAAI,kBAAkB,EAAE;IACxB,IAAI,cAAc,EAAE;IACpB,IAAI,kBAAkB,EAAE;IACxB,IAAI,aAAa,EAAE;IACnB,IAAI,UAAU,EAAE;IAChB,IAAI,aAAa,EAAE;IACnB,IAAI,kBAAkB,EAAE;IACxB,IAAI,kBAAkB,EAAE;CAChB,CAAC;AAIX,MAAM,UAAU,WAAW;IACzB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACtD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VersionTool.d.ts","sourceRoot":"","sources":["../../../src/tools/version-tool/VersionTool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,qBAAa,WAAW;IACtB,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,WAAW,2DACsC;IAC1D,QAAQ,CAAC,WAAW,iDAAe;IAEnC,OAAO,CAAC,MAAM,CAA0B;IAElC,GAAG,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;QACrC,OAAO,EAAE,KAAK,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;SACd,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IAwCF,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IAU5C,OAAO,CAAC,GAAG;CAKZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VersionTool.js","sourceRoot":"","sources":["../../../src/tools/version-tool/VersionTool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEjC,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAClB,uDAAuD,CAAC;IACjD,WAAW,GAAG,WAAW,CAAC;IAE3B,MAAM,GAAqB,IAAI,CAAC;IAExC,KAAK,CAAC,GAAG,CAAC,SAAkB;QAO1B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;YAErC,MAAM,WAAW,GAAG;UAChB,WAAW,CAAC,IAAI;aACb,WAAW,CAAC,OAAO;SACvB,WAAW,CAAC,GAAG;SACf,WAAW,CAAC,GAAG;YACZ,WAAW,CAAC,MAAM,EAAE,CAAC;YAE3B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;gBAC9C,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzD,IAAI,CAAC,GAAG,CACN,OAAO,EACP,GAAG,IAAI,CAAC,IAAI,6BAA6B,YAAY,EAAE,CACxD,CAAC;YAEF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC;YAE9D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,eAAe;4BACnB,CAAC,CAAC,YAAY;4BACd,CAAC,CAAC,8BAA8B;qBACnC;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CACpB,CAAC;IACJ,CAAC;IAEO,GAAG,CAAC,KAA6C,EAAE,IAAS;QAClE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=VersionTool.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VersionTool.test.d.ts","sourceRoot":"","sources":["../../../src/tools/version-tool/VersionTool.test.ts"],"names":[],"mappings":""}
@@ -1,49 +0,0 @@
1
- import { getVersionInfo } from '../../utils/versionUtils.js';
2
- import { VersionTool } from './VersionTool';
3
- jest.mock('../../utils/versionUtils.js', () => ({
4
- getVersionInfo: jest.fn(() => ({
5
- name: 'Test MCP Server',
6
- version: '1.0.0',
7
- sha: 'abc123',
8
- tag: 'v1.0.0',
9
- branch: 'main'
10
- }))
11
- }));
12
- const mockGetVersionInfo = getVersionInfo;
13
- describe('VersionTool', () => {
14
- let tool;
15
- beforeEach(() => {
16
- tool = new VersionTool();
17
- });
18
- describe('run', () => {
19
- it('should return version information', async () => {
20
- const result = await tool.run({});
21
- expect(result.isError).toBe(false);
22
- expect(result.content).toHaveLength(1);
23
- expect(result.content[0].type).toBe('text');
24
- expect(result.content[0].text).toContain('Test MCP Server');
25
- expect(result.content[0].text).toContain('1.0.0');
26
- expect(result.content[0].text).toContain('abc123');
27
- expect(result.content[0].text).toContain('v1.0.0');
28
- expect(result.content[0].text).toContain('main');
29
- });
30
- it('should handle errors gracefully', async () => {
31
- mockGetVersionInfo.mockImplementationOnce(() => {
32
- throw new Error('Version info not available');
33
- });
34
- const result = await tool.run({});
35
- expect(result.isError).toBe(true);
36
- expect(result.content).toHaveLength(1);
37
- expect(result.content[0].type).toBe('text');
38
- });
39
- });
40
- describe('properties', () => {
41
- it('should have correct name', () => {
42
- expect(tool.name).toBe('version_tool');
43
- });
44
- it('should have correct description', () => {
45
- expect(tool.description).toBe('Get the current version information of the MCP server');
46
- });
47
- });
48
- });
49
- //# sourceMappingURL=VersionTool.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VersionTool.test.js","sourceRoot":"","sources":["../../../src/tools/version-tool/VersionTool.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { VersionInfo } from './versionUtils.js';
2
- export declare function patchGlobalFetch(versionInfo: VersionInfo): {
3
- 'User-Agent': string;
4
- };
5
- export declare function cleanup(): void;
6
- //# sourceMappingURL=requestUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requestUtils.d.ts","sourceRoot":"","sources":["../../src/utils/requestUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG;IAC1D,YAAY,EAAE,MAAM,CAAC;CACtB,CA+DA;AAED,wBAAgB,OAAO,SAKtB"}