@mapbox/mcp-server 0.5.5 → 0.8.1-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/README.md +173 -13
  2. package/dist/commonjs/config/toolConfig.d.ts +10 -0
  3. package/dist/commonjs/config/toolConfig.d.ts.map +1 -1
  4. package/dist/commonjs/config/toolConfig.js +36 -0
  5. package/dist/commonjs/config/toolConfig.js.map +1 -1
  6. package/dist/commonjs/index.d.ts +1 -1
  7. package/dist/commonjs/index.d.ts.map +1 -1
  8. package/dist/commonjs/index.js +201 -5
  9. package/dist/commonjs/index.js.map +1 -1
  10. package/dist/commonjs/prompts/BasePrompt.d.ts +40 -0
  11. package/dist/commonjs/prompts/BasePrompt.d.ts.map +1 -0
  12. package/dist/commonjs/prompts/BasePrompt.js +38 -0
  13. package/dist/commonjs/prompts/BasePrompt.js.map +1 -0
  14. package/dist/commonjs/prompts/FindPlacesNearbyPrompt.d.ts +22 -0
  15. package/dist/commonjs/prompts/FindPlacesNearbyPrompt.d.ts.map +1 -0
  16. package/dist/commonjs/prompts/FindPlacesNearbyPrompt.js +65 -0
  17. package/dist/commonjs/prompts/FindPlacesNearbyPrompt.js.map +1 -0
  18. package/dist/commonjs/prompts/GetDirectionsPrompt.d.ts +23 -0
  19. package/dist/commonjs/prompts/GetDirectionsPrompt.d.ts.map +1 -0
  20. package/dist/commonjs/prompts/GetDirectionsPrompt.js +67 -0
  21. package/dist/commonjs/prompts/GetDirectionsPrompt.js.map +1 -0
  22. package/dist/commonjs/prompts/ShowReachableAreasPrompt.d.ts +23 -0
  23. package/dist/commonjs/prompts/ShowReachableAreasPrompt.d.ts.map +1 -0
  24. package/dist/commonjs/prompts/ShowReachableAreasPrompt.js +70 -0
  25. package/dist/commonjs/prompts/ShowReachableAreasPrompt.js.map +1 -0
  26. package/dist/commonjs/prompts/promptRegistry.d.ts +29 -0
  27. package/dist/commonjs/prompts/promptRegistry.d.ts.map +1 -0
  28. package/dist/commonjs/prompts/promptRegistry.js +39 -0
  29. package/dist/commonjs/prompts/promptRegistry.js.map +1 -0
  30. package/dist/commonjs/resources/BaseResource.d.ts +28 -0
  31. package/dist/commonjs/resources/BaseResource.d.ts.map +1 -0
  32. package/dist/commonjs/resources/BaseResource.js +32 -0
  33. package/dist/commonjs/resources/BaseResource.js.map +1 -0
  34. package/dist/commonjs/resources/MapboxApiBasedResource.d.ts +35 -0
  35. package/dist/commonjs/resources/MapboxApiBasedResource.d.ts.map +1 -0
  36. package/dist/commonjs/resources/MapboxApiBasedResource.js +88 -0
  37. package/dist/commonjs/resources/MapboxApiBasedResource.js.map +1 -0
  38. package/dist/commonjs/resources/category-list/CategoryListResource.d.ts +27 -0
  39. package/dist/commonjs/resources/category-list/CategoryListResource.d.ts.map +1 -0
  40. package/dist/commonjs/resources/category-list/CategoryListResource.js +71 -0
  41. package/dist/commonjs/resources/category-list/CategoryListResource.js.map +1 -0
  42. package/dist/commonjs/resources/resourceRegistry.d.ts +6 -0
  43. package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -0
  44. package/dist/commonjs/resources/resourceRegistry.js +32 -0
  45. package/dist/commonjs/resources/resourceRegistry.js.map +1 -0
  46. package/dist/commonjs/schemas/geojson.d.ts +115 -0
  47. package/dist/commonjs/schemas/geojson.d.ts.map +1 -0
  48. package/dist/commonjs/schemas/geojson.js +5 -0
  49. package/dist/commonjs/schemas/geojson.js.map +1 -0
  50. package/dist/commonjs/tools/BaseTool.d.ts +12 -2
  51. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
  52. package/dist/commonjs/tools/BaseTool.js +31 -2
  53. package/dist/commonjs/tools/BaseTool.js.map +1 -1
  54. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts +12 -7
  55. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -1
  56. package/dist/commonjs/tools/MapboxApiBasedTool.js +57 -29
  57. package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -1
  58. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts +10 -6
  59. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  60. package/dist/commonjs/tools/category-list-tool/{CategoryListTool.schema.d.ts → CategoryListTool.input.schema.d.ts} +1 -1
  61. package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.d.ts.map +1 -0
  62. package/dist/commonjs/tools/category-list-tool/{CategoryListTool.schema.js → CategoryListTool.input.schema.js} +1 -1
  63. package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.js.map +1 -0
  64. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js +36 -13
  65. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js.map +1 -1
  66. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.d.ts +10 -0
  67. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.d.ts.map +1 -0
  68. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.js +12 -0
  69. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.js.map +1 -0
  70. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts +9 -8
  71. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  72. package/dist/commonjs/tools/category-search-tool/{CategorySearchTool.schema.d.ts → CategorySearchTool.input.schema.d.ts} +5 -11
  73. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -0
  74. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.js +44 -0
  75. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -0
  76. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +44 -20
  77. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  78. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +2184 -0
  79. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -0
  80. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js +149 -0
  81. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -0
  82. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts +9 -5
  83. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  84. package/dist/{esm/tools/directions-tool/DirectionsTool.schema.d.ts → commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts} +1 -1
  85. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -0
  86. package/dist/commonjs/tools/directions-tool/{DirectionsTool.schema.js → DirectionsTool.input.schema.js} +1 -1
  87. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -0
  88. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +100 -19
  89. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
  90. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +7880 -0
  91. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -0
  92. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js +346 -0
  93. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -0
  94. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts +101 -2
  95. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
  96. package/dist/commonjs/tools/directions-tool/cleanResponseData.js +90 -89
  97. package/dist/commonjs/tools/directions-tool/cleanResponseData.js.map +1 -1
  98. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts +10 -5
  99. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  100. package/dist/{esm/tools/isochrone-tool/IsochroneTool.schema.d.ts → commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts} +1 -1
  101. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts.map +1 -0
  102. package/dist/commonjs/tools/isochrone-tool/{IsochroneTool.schema.js → IsochroneTool.input.schema.js} +1 -1
  103. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.js.map +1 -0
  104. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +80 -10
  105. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  106. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +314 -0
  107. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -0
  108. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js +58 -0
  109. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -0
  110. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts +9 -5
  111. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  112. package/dist/commonjs/tools/matrix-tool/{MatrixTool.schema.d.ts → MatrixTool.input.schema.d.ts} +3 -3
  113. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -0
  114. package/dist/commonjs/tools/matrix-tool/{MatrixTool.schema.js → MatrixTool.input.schema.js} +1 -1
  115. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -0
  116. package/dist/commonjs/tools/matrix-tool/MatrixTool.js +131 -26
  117. package/dist/commonjs/tools/matrix-tool/MatrixTool.js.map +1 -1
  118. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.d.ts +80 -0
  119. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.d.ts.map +1 -0
  120. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.js +22 -0
  121. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.js.map +1 -0
  122. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.d.ts +28 -0
  123. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -0
  124. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.input.schema.d.ts +10 -0
  125. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.input.schema.d.ts.map +1 -0
  126. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.input.schema.js +13 -0
  127. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.input.schema.js.map +1 -0
  128. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js +141 -0
  129. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -0
  130. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.output.schema.d.ts +19 -0
  131. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.output.schema.d.ts.map +1 -0
  132. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.output.schema.js +13 -0
  133. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.output.schema.js.map +1 -0
  134. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +9 -8
  135. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  136. package/dist/{esm/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts → commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts} +4 -4
  137. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts.map +1 -0
  138. package/dist/commonjs/tools/reverse-geocode-tool/{ReverseGeocodeTool.schema.js → ReverseGeocodeTool.input.schema.js} +1 -1
  139. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js.map +1 -0
  140. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js +56 -15
  141. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  142. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +4085 -0
  143. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts.map +1 -0
  144. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js +206 -0
  145. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js.map +1 -0
  146. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +9 -8
  147. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  148. package/dist/commonjs/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.d.ts → SearchAndGeocodeTool.input.schema.d.ts} +20 -20
  149. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -0
  150. package/dist/commonjs/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.js → SearchAndGeocodeTool.input.schema.js} +7 -31
  151. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -0
  152. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +44 -23
  153. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  154. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +2387 -0
  155. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -0
  156. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +129 -0
  157. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -0
  158. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts +7 -4
  159. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  160. package/dist/commonjs/tools/static-map-image-tool/{StaticMapImageTool.schema.d.ts → StaticMapImageTool.input.schema.d.ts} +25 -25
  161. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -0
  162. package/dist/commonjs/tools/static-map-image-tool/{StaticMapImageTool.schema.js → StaticMapImageTool.input.schema.js} +1 -1
  163. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -0
  164. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +43 -11
  165. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  166. package/dist/commonjs/tools/toolRegistry.d.ts +2 -1
  167. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
  168. package/dist/commonjs/tools/toolRegistry.js +11 -8
  169. package/dist/commonjs/tools/toolRegistry.js.map +1 -1
  170. package/dist/commonjs/tools/version-tool/VersionTool.d.ts +5 -9
  171. package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +1 -1
  172. package/dist/commonjs/tools/version-tool/{VersionTool.schema.d.ts → VersionTool.input.schema.d.ts} +1 -1
  173. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts.map +1 -0
  174. package/dist/commonjs/tools/version-tool/{VersionTool.schema.js → VersionTool.input.schema.js} +1 -1
  175. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js.map +1 -0
  176. package/dist/commonjs/tools/version-tool/VersionTool.js +45 -30
  177. package/dist/commonjs/tools/version-tool/VersionTool.js.map +1 -1
  178. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts +22 -0
  179. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts.map +1 -0
  180. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js +15 -0
  181. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js.map +1 -0
  182. package/dist/commonjs/utils/httpPipeline.d.ts +44 -0
  183. package/dist/commonjs/utils/httpPipeline.d.ts.map +1 -0
  184. package/dist/commonjs/utils/{fetchRequest.js → httpPipeline.js} +58 -13
  185. package/dist/commonjs/utils/httpPipeline.js.map +1 -0
  186. package/dist/commonjs/utils/tracing.d.ts +99 -0
  187. package/dist/commonjs/utils/tracing.d.ts.map +1 -0
  188. package/dist/commonjs/utils/tracing.js +300 -0
  189. package/dist/commonjs/utils/tracing.js.map +1 -0
  190. package/dist/commonjs/utils/types.d.ts +18 -0
  191. package/dist/commonjs/utils/types.d.ts.map +1 -0
  192. package/dist/commonjs/utils/types.js +5 -0
  193. package/dist/commonjs/utils/types.js.map +1 -0
  194. package/dist/commonjs/utils/versionUtils-cjs.cjs.map +1 -1
  195. package/dist/commonjs/utils/versionUtils.js +1 -1
  196. package/dist/commonjs/version.json +4 -4
  197. package/dist/esm/config/toolConfig.d.ts +10 -0
  198. package/dist/esm/config/toolConfig.d.ts.map +1 -1
  199. package/dist/esm/config/toolConfig.js +35 -0
  200. package/dist/esm/config/toolConfig.js.map +1 -1
  201. package/dist/esm/index.d.ts +1 -1
  202. package/dist/esm/index.d.ts.map +1 -1
  203. package/dist/esm/index.js +201 -5
  204. package/dist/esm/index.js.map +1 -1
  205. package/dist/esm/prompts/BasePrompt.d.ts +40 -0
  206. package/dist/esm/prompts/BasePrompt.d.ts.map +1 -0
  207. package/dist/esm/prompts/BasePrompt.js +34 -0
  208. package/dist/esm/prompts/BasePrompt.js.map +1 -0
  209. package/dist/esm/prompts/FindPlacesNearbyPrompt.d.ts +22 -0
  210. package/dist/esm/prompts/FindPlacesNearbyPrompt.d.ts.map +1 -0
  211. package/dist/esm/prompts/FindPlacesNearbyPrompt.js +61 -0
  212. package/dist/esm/prompts/FindPlacesNearbyPrompt.js.map +1 -0
  213. package/dist/esm/prompts/GetDirectionsPrompt.d.ts +23 -0
  214. package/dist/esm/prompts/GetDirectionsPrompt.d.ts.map +1 -0
  215. package/dist/esm/prompts/GetDirectionsPrompt.js +63 -0
  216. package/dist/esm/prompts/GetDirectionsPrompt.js.map +1 -0
  217. package/dist/esm/prompts/ShowReachableAreasPrompt.d.ts +23 -0
  218. package/dist/esm/prompts/ShowReachableAreasPrompt.d.ts.map +1 -0
  219. package/dist/esm/prompts/ShowReachableAreasPrompt.js +66 -0
  220. package/dist/esm/prompts/ShowReachableAreasPrompt.js.map +1 -0
  221. package/dist/esm/prompts/promptRegistry.d.ts +29 -0
  222. package/dist/esm/prompts/promptRegistry.d.ts.map +1 -0
  223. package/dist/esm/prompts/promptRegistry.js +35 -0
  224. package/dist/esm/prompts/promptRegistry.js.map +1 -0
  225. package/dist/esm/resources/BaseResource.d.ts +28 -0
  226. package/dist/esm/resources/BaseResource.d.ts.map +1 -0
  227. package/dist/esm/resources/BaseResource.js +28 -0
  228. package/dist/esm/resources/BaseResource.js.map +1 -0
  229. package/dist/esm/resources/MapboxApiBasedResource.d.ts +35 -0
  230. package/dist/esm/resources/MapboxApiBasedResource.d.ts.map +1 -0
  231. package/dist/esm/resources/MapboxApiBasedResource.js +84 -0
  232. package/dist/esm/resources/MapboxApiBasedResource.js.map +1 -0
  233. package/dist/esm/resources/category-list/CategoryListResource.d.ts +27 -0
  234. package/dist/esm/resources/category-list/CategoryListResource.d.ts.map +1 -0
  235. package/dist/esm/resources/category-list/CategoryListResource.js +67 -0
  236. package/dist/esm/resources/category-list/CategoryListResource.js.map +1 -0
  237. package/dist/esm/resources/resourceRegistry.d.ts +6 -0
  238. package/dist/esm/resources/resourceRegistry.d.ts.map +1 -0
  239. package/dist/esm/resources/resourceRegistry.js +27 -0
  240. package/dist/esm/resources/resourceRegistry.js.map +1 -0
  241. package/dist/esm/schemas/geojson.d.ts +115 -0
  242. package/dist/esm/schemas/geojson.d.ts.map +1 -0
  243. package/dist/esm/schemas/geojson.js +4 -0
  244. package/dist/esm/schemas/geojson.js.map +1 -0
  245. package/dist/esm/tools/BaseTool.d.ts +12 -2
  246. package/dist/esm/tools/BaseTool.d.ts.map +1 -1
  247. package/dist/esm/tools/BaseTool.js +31 -2
  248. package/dist/esm/tools/BaseTool.js.map +1 -1
  249. package/dist/esm/tools/MapboxApiBasedTool.d.ts +12 -7
  250. package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -1
  251. package/dist/esm/tools/MapboxApiBasedTool.js +57 -29
  252. package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -1
  253. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts +10 -6
  254. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  255. package/dist/esm/tools/category-list-tool/{CategoryListTool.schema.d.ts → CategoryListTool.input.schema.d.ts} +1 -1
  256. package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.d.ts.map +1 -0
  257. package/dist/esm/tools/category-list-tool/{CategoryListTool.schema.js → CategoryListTool.input.schema.js} +1 -1
  258. package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.js.map +1 -0
  259. package/dist/esm/tools/category-list-tool/CategoryListTool.js +36 -13
  260. package/dist/esm/tools/category-list-tool/CategoryListTool.js.map +1 -1
  261. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.d.ts +10 -0
  262. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.d.ts.map +1 -0
  263. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.js +9 -0
  264. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.js.map +1 -0
  265. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts +9 -8
  266. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  267. package/dist/esm/tools/category-search-tool/{CategorySearchTool.schema.d.ts → CategorySearchTool.input.schema.d.ts} +5 -11
  268. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -0
  269. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.js +41 -0
  270. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -0
  271. package/dist/esm/tools/category-search-tool/CategorySearchTool.js +44 -20
  272. package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  273. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +2184 -0
  274. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -0
  275. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js +146 -0
  276. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -0
  277. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +9 -5
  278. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  279. package/dist/{commonjs/tools/directions-tool/DirectionsTool.schema.d.ts → esm/tools/directions-tool/DirectionsTool.input.schema.d.ts} +1 -1
  280. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -0
  281. package/dist/esm/tools/directions-tool/{DirectionsTool.schema.js → DirectionsTool.input.schema.js} +1 -1
  282. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -0
  283. package/dist/esm/tools/directions-tool/DirectionsTool.js +100 -19
  284. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
  285. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +7880 -0
  286. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -0
  287. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js +343 -0
  288. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -0
  289. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts +101 -2
  290. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
  291. package/dist/esm/tools/directions-tool/cleanResponseData.js +90 -89
  292. package/dist/esm/tools/directions-tool/cleanResponseData.js.map +1 -1
  293. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts +10 -5
  294. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  295. package/dist/{commonjs/tools/isochrone-tool/IsochroneTool.schema.d.ts → esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts} +1 -1
  296. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts.map +1 -0
  297. package/dist/esm/tools/isochrone-tool/{IsochroneTool.schema.js → IsochroneTool.input.schema.js} +1 -1
  298. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.js.map +1 -0
  299. package/dist/esm/tools/isochrone-tool/IsochroneTool.js +80 -10
  300. package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  301. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +314 -0
  302. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -0
  303. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js +55 -0
  304. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -0
  305. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts +9 -5
  306. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  307. package/dist/esm/tools/matrix-tool/{MatrixTool.schema.d.ts → MatrixTool.input.schema.d.ts} +3 -3
  308. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -0
  309. package/dist/esm/tools/matrix-tool/{MatrixTool.schema.js → MatrixTool.input.schema.js} +1 -1
  310. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -0
  311. package/dist/esm/tools/matrix-tool/MatrixTool.js +131 -26
  312. package/dist/esm/tools/matrix-tool/MatrixTool.js.map +1 -1
  313. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.d.ts +80 -0
  314. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.d.ts.map +1 -0
  315. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.js +19 -0
  316. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.js.map +1 -0
  317. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.d.ts +28 -0
  318. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -0
  319. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.input.schema.d.ts +10 -0
  320. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.input.schema.d.ts.map +1 -0
  321. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.input.schema.js +10 -0
  322. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.input.schema.js.map +1 -0
  323. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js +137 -0
  324. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -0
  325. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.output.schema.d.ts +19 -0
  326. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.output.schema.d.ts.map +1 -0
  327. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.output.schema.js +10 -0
  328. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.output.schema.js.map +1 -0
  329. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +9 -8
  330. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  331. package/dist/{commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts → esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts} +4 -4
  332. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts.map +1 -0
  333. package/dist/esm/tools/reverse-geocode-tool/{ReverseGeocodeTool.schema.js → ReverseGeocodeTool.input.schema.js} +1 -1
  334. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js.map +1 -0
  335. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js +56 -15
  336. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  337. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +4085 -0
  338. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts.map +1 -0
  339. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js +203 -0
  340. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js.map +1 -0
  341. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +9 -8
  342. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  343. package/dist/esm/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.d.ts → SearchAndGeocodeTool.input.schema.d.ts} +20 -20
  344. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -0
  345. package/dist/esm/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.js → SearchAndGeocodeTool.input.schema.js} +7 -31
  346. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -0
  347. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +44 -23
  348. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  349. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +2387 -0
  350. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -0
  351. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +126 -0
  352. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -0
  353. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +7 -4
  354. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  355. package/dist/esm/tools/static-map-image-tool/{StaticMapImageTool.schema.d.ts → StaticMapImageTool.input.schema.d.ts} +25 -25
  356. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -0
  357. package/dist/esm/tools/static-map-image-tool/{StaticMapImageTool.schema.js → StaticMapImageTool.input.schema.js} +1 -1
  358. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -0
  359. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +43 -11
  360. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  361. package/dist/esm/tools/toolRegistry.d.ts +2 -1
  362. package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
  363. package/dist/esm/tools/toolRegistry.js +11 -8
  364. package/dist/esm/tools/toolRegistry.js.map +1 -1
  365. package/dist/esm/tools/version-tool/VersionTool.d.ts +5 -9
  366. package/dist/esm/tools/version-tool/VersionTool.d.ts.map +1 -1
  367. package/dist/esm/tools/version-tool/{VersionTool.schema.d.ts → VersionTool.input.schema.d.ts} +1 -1
  368. package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts.map +1 -0
  369. package/dist/esm/tools/version-tool/{VersionTool.schema.js → VersionTool.input.schema.js} +1 -1
  370. package/dist/esm/tools/version-tool/VersionTool.input.schema.js.map +1 -0
  371. package/dist/esm/tools/version-tool/VersionTool.js +43 -28
  372. package/dist/esm/tools/version-tool/VersionTool.js.map +1 -1
  373. package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts +22 -0
  374. package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts.map +1 -0
  375. package/dist/esm/tools/version-tool/VersionTool.output.schema.js +12 -0
  376. package/dist/esm/tools/version-tool/VersionTool.output.schema.js.map +1 -0
  377. package/dist/esm/utils/httpPipeline.d.ts +44 -0
  378. package/dist/esm/utils/httpPipeline.d.ts.map +1 -0
  379. package/dist/esm/utils/{fetchRequest.js → httpPipeline.js} +55 -11
  380. package/dist/esm/utils/httpPipeline.js.map +1 -0
  381. package/dist/esm/utils/tracing.d.ts +99 -0
  382. package/dist/esm/utils/tracing.d.ts.map +1 -0
  383. package/dist/esm/utils/tracing.js +286 -0
  384. package/dist/esm/utils/tracing.js.map +1 -0
  385. package/dist/esm/utils/types.d.ts +18 -0
  386. package/dist/esm/utils/types.d.ts.map +1 -0
  387. package/dist/esm/utils/types.js +4 -0
  388. package/dist/esm/utils/types.js.map +1 -0
  389. package/dist/esm/utils/versionUtils.js +1 -1
  390. package/dist/esm/utils/versionUtils.js.map +1 -1
  391. package/dist/esm/version.json +4 -4
  392. package/package.json +25 -9
  393. package/dist/commonjs/tools/MapboxApiBasedTool.schema.d.ts +0 -47
  394. package/dist/commonjs/tools/MapboxApiBasedTool.schema.d.ts.map +0 -1
  395. package/dist/commonjs/tools/MapboxApiBasedTool.schema.js +0 -21
  396. package/dist/commonjs/tools/MapboxApiBasedTool.schema.js.map +0 -1
  397. package/dist/commonjs/tools/category-list-tool/CategoryListTool.schema.d.ts.map +0 -1
  398. package/dist/commonjs/tools/category-list-tool/CategoryListTool.schema.js.map +0 -1
  399. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.schema.d.ts.map +0 -1
  400. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.schema.js +0 -83
  401. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.schema.js.map +0 -1
  402. package/dist/commonjs/tools/directions-tool/DirectionsTool.schema.d.ts.map +0 -1
  403. package/dist/commonjs/tools/directions-tool/DirectionsTool.schema.js.map +0 -1
  404. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.schema.d.ts.map +0 -1
  405. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.schema.js.map +0 -1
  406. package/dist/commonjs/tools/matrix-tool/MatrixTool.schema.d.ts.map +0 -1
  407. package/dist/commonjs/tools/matrix-tool/MatrixTool.schema.js.map +0 -1
  408. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts.map +0 -1
  409. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.js.map +0 -1
  410. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.d.ts.map +0 -1
  411. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.js.map +0 -1
  412. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.schema.d.ts.map +0 -1
  413. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.schema.js.map +0 -1
  414. package/dist/commonjs/tools/version-tool/VersionTool.schema.d.ts.map +0 -1
  415. package/dist/commonjs/tools/version-tool/VersionTool.schema.js.map +0 -1
  416. package/dist/commonjs/utils/fetchRequest.d.ts +0 -38
  417. package/dist/commonjs/utils/fetchRequest.d.ts.map +0 -1
  418. package/dist/commonjs/utils/fetchRequest.js.map +0 -1
  419. package/dist/esm/tools/MapboxApiBasedTool.schema.d.ts +0 -47
  420. package/dist/esm/tools/MapboxApiBasedTool.schema.d.ts.map +0 -1
  421. package/dist/esm/tools/MapboxApiBasedTool.schema.js +0 -18
  422. package/dist/esm/tools/MapboxApiBasedTool.schema.js.map +0 -1
  423. package/dist/esm/tools/category-list-tool/CategoryListTool.schema.d.ts.map +0 -1
  424. package/dist/esm/tools/category-list-tool/CategoryListTool.schema.js.map +0 -1
  425. package/dist/esm/tools/category-search-tool/CategorySearchTool.schema.d.ts.map +0 -1
  426. package/dist/esm/tools/category-search-tool/CategorySearchTool.schema.js +0 -80
  427. package/dist/esm/tools/category-search-tool/CategorySearchTool.schema.js.map +0 -1
  428. package/dist/esm/tools/directions-tool/DirectionsTool.schema.d.ts.map +0 -1
  429. package/dist/esm/tools/directions-tool/DirectionsTool.schema.js.map +0 -1
  430. package/dist/esm/tools/isochrone-tool/IsochroneTool.schema.d.ts.map +0 -1
  431. package/dist/esm/tools/isochrone-tool/IsochroneTool.schema.js.map +0 -1
  432. package/dist/esm/tools/matrix-tool/MatrixTool.schema.d.ts.map +0 -1
  433. package/dist/esm/tools/matrix-tool/MatrixTool.schema.js.map +0 -1
  434. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts.map +0 -1
  435. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.js.map +0 -1
  436. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.d.ts.map +0 -1
  437. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.js.map +0 -1
  438. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.schema.d.ts.map +0 -1
  439. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.schema.js.map +0 -1
  440. package/dist/esm/tools/version-tool/VersionTool.schema.d.ts.map +0 -1
  441. package/dist/esm/tools/version-tool/VersionTool.schema.js.map +0 -1
  442. package/dist/esm/utils/fetchRequest.d.ts +0 -38
  443. package/dist/esm/utils/fetchRequest.d.ts.map +0 -1
  444. package/dist/esm/utils/fetchRequest.js.map +0 -1
@@ -0,0 +1,27 @@
1
+ import { MapboxApiBasedResource } from '../MapboxApiBasedResource.js';
2
+ import type { HttpRequest } from '../../utils/types.js';
3
+ import type { ReadResourceResult } from '@modelcontextprotocol/sdk/types.js';
4
+ /**
5
+ * Resource for retrieving the list of supported categories from Mapbox Search API
6
+ *
7
+ * Available URIs:
8
+ * - mapbox://categories - Default (English)
9
+ * - mapbox://categories/{language} - Localized (e.g., mapbox://categories/ja)
10
+ */
11
+ export declare class CategoryListResource extends MapboxApiBasedResource {
12
+ readonly uri = "mapbox://categories";
13
+ readonly name = "Mapbox Categories";
14
+ readonly description = "List of all available Mapbox Search API categories. Categories can be used for filtering search results. Supports localization via language parameter in URI (e.g., mapbox://categories/ja for Japanese).";
15
+ readonly mimeType = "application/json";
16
+ constructor(params: {
17
+ httpRequest: HttpRequest;
18
+ });
19
+ protected execute(uri: string, accessToken: string): Promise<ReadResourceResult>;
20
+ /**
21
+ * Extract language code from URI
22
+ * @param uri Resource URI (e.g., mapbox://categories/ja)
23
+ * @returns Language code or undefined if not present
24
+ */
25
+ private extractLanguageFromUri;
26
+ }
27
+ //# sourceMappingURL=CategoryListResource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryListResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/category-list/CategoryListResource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAiB7E;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,sBAAsB;IAC9D,QAAQ,CAAC,GAAG,yBAAyB;IACrC,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,WAAW,+MAC0L;IAC9M,QAAQ,CAAC,QAAQ,sBAAsB;gBAE3B,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;cAIhC,OAAO,CACrB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC;IAmD9B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;CAI/B"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.CategoryListResource = void 0;
6
+ const MapboxApiBasedResource_js_1 = require("../MapboxApiBasedResource.js");
7
+ // API Documentation: https://docs.mapbox.com/api/search/search-box/#list-categories
8
+ /**
9
+ * Resource for retrieving the list of supported categories from Mapbox Search API
10
+ *
11
+ * Available URIs:
12
+ * - mapbox://categories - Default (English)
13
+ * - mapbox://categories/{language} - Localized (e.g., mapbox://categories/ja)
14
+ */
15
+ class CategoryListResource extends MapboxApiBasedResource_js_1.MapboxApiBasedResource {
16
+ uri = 'mapbox://categories';
17
+ name = 'Mapbox Categories';
18
+ description = 'List of all available Mapbox Search API categories. Categories can be used for filtering search results. Supports localization via language parameter in URI (e.g., mapbox://categories/ja for Japanese).';
19
+ mimeType = 'application/json';
20
+ constructor(params) {
21
+ super(params);
22
+ }
23
+ async execute(uri, accessToken) {
24
+ // Parse language from URI if present
25
+ // Format: mapbox://categories or mapbox://categories/ja
26
+ const language = this.extractLanguageFromUri(uri);
27
+ const apiUrl = new URL('https://api.mapbox.com/search/searchbox/v1/list/category');
28
+ apiUrl.searchParams.set('access_token', accessToken);
29
+ if (language) {
30
+ apiUrl.searchParams.set('language', language);
31
+ }
32
+ const response = await this.httpRequest(apiUrl.toString(), {
33
+ method: 'GET',
34
+ headers: {
35
+ 'User-Agent': `@mapbox/mcp-server/${process.env.npm_package_version || 'dev'}`
36
+ }
37
+ });
38
+ if (!response.ok) {
39
+ throw new Error(`Mapbox API request failed: ${response.status} ${response.statusText}`);
40
+ }
41
+ const rawData = await response.json();
42
+ const data = rawData;
43
+ // Extract just the category IDs for a simplified response
44
+ const categoryIds = data.listItems.map((item) => item.canonical_id);
45
+ const result = {
46
+ listItems: categoryIds,
47
+ version: data.version,
48
+ attribution: data.attribution
49
+ };
50
+ return {
51
+ contents: [
52
+ {
53
+ uri,
54
+ mimeType: 'application/json',
55
+ text: JSON.stringify(result, null, 2)
56
+ }
57
+ ]
58
+ };
59
+ }
60
+ /**
61
+ * Extract language code from URI
62
+ * @param uri Resource URI (e.g., mapbox://categories/ja)
63
+ * @returns Language code or undefined if not present
64
+ */
65
+ extractLanguageFromUri(uri) {
66
+ const match = uri.match(/^mapbox:\/\/categories\/([a-z]{2})$/i);
67
+ return match?.[1];
68
+ }
69
+ }
70
+ exports.CategoryListResource = CategoryListResource;
71
+ //# sourceMappingURL=CategoryListResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryListResource.js","sourceRoot":"","sources":["../../../../src/resources/category-list/CategoryListResource.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,4EAAsE;AAiBtE,oFAAoF;AAEpF;;;;;;GAMG;AACH,MAAa,oBAAqB,SAAQ,kDAAsB;IACrD,GAAG,GAAG,qBAAqB,CAAC;IAC5B,IAAI,GAAG,mBAAmB,CAAC;IAC3B,WAAW,GAClB,2MAA2M,CAAC;IACrM,QAAQ,GAAG,kBAAkB,CAAC;IAEvC,YAAY,MAAoC;QAC9C,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,OAAO,CACrB,GAAW,EACX,WAAmB;QAEnB,qCAAqC;QACrC,wDAAwD;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,0DAA0D,CAC3D,CAAC;QAEF,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAErD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;YACzD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,YAAY,EAAE,sBAAsB,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,KAAK,EAAE;aAC/E;SACF,CAAC,CAAC;QAEH,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,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,OAA4B,CAAC;QAE1C,0DAA0D;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAAC,GAAW;QACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAChE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;CACF;AA1ED,oDA0EC"}
@@ -0,0 +1,6 @@
1
+ import { CategoryListResource } from './category-list/CategoryListResource.js';
2
+ export declare const ALL_RESOURCES: readonly [CategoryListResource];
3
+ export type ResourceInstance = (typeof ALL_RESOURCES)[number];
4
+ export declare function getAllResources(): readonly ResourceInstance[];
5
+ export declare function getResourceByUri(uri: string): ResourceInstance | undefined;
6
+ //# sourceMappingURL=resourceRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceRegistry.d.ts","sourceRoot":"","sources":["../../../src/resources/resourceRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAI/E,eAAO,MAAM,aAAa,iCAGhB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,wBAAgB,eAAe,IAAI,SAAS,gBAAgB,EAAE,CAE7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAY1E"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ALL_RESOURCES = void 0;
6
+ exports.getAllResources = getAllResources;
7
+ exports.getResourceByUri = getResourceByUri;
8
+ // INSERT NEW RESOURCE IMPORT HERE
9
+ const CategoryListResource_js_1 = require("./category-list/CategoryListResource.js");
10
+ const httpPipeline_js_1 = require("../utils/httpPipeline.js");
11
+ // Central registry of all resources
12
+ exports.ALL_RESOURCES = [
13
+ // INSERT NEW RESOURCE INSTANCE HERE
14
+ new CategoryListResource_js_1.CategoryListResource({ httpRequest: httpPipeline_js_1.httpRequest })
15
+ ];
16
+ function getAllResources() {
17
+ return exports.ALL_RESOURCES;
18
+ }
19
+ function getResourceByUri(uri) {
20
+ // Find exact match first
21
+ const exactMatch = exports.ALL_RESOURCES.find((resource) => resource.uri === uri);
22
+ if (exactMatch)
23
+ return exactMatch;
24
+ // Find pattern match (e.g., mapbox://categories/ja matches mapbox://categories)
25
+ return exports.ALL_RESOURCES.find((resource) => {
26
+ // Check if the URI starts with the resource's base URI
27
+ const basePattern = resource.uri.replace(/\*/g, '.*');
28
+ const regex = new RegExp(`^${basePattern}`);
29
+ return regex.test(uri);
30
+ });
31
+ }
32
+ //# sourceMappingURL=resourceRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceRegistry.js","sourceRoot":"","sources":["../../../src/resources/resourceRegistry.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAclC,0CAEC;AAED,4CAYC;AA5BD,kCAAkC;AAClC,qFAA+E;AAC/E,8DAAuD;AAEvD,oCAAoC;AACvB,QAAA,aAAa,GAAG;IAC3B,oCAAoC;IACpC,IAAI,8CAAoB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;CACjC,CAAC;AAIX,SAAgB,eAAe;IAC7B,OAAO,qBAAa,CAAC;AACvB,CAAC;AAED,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,yBAAyB;IACzB,MAAM,UAAU,GAAG,qBAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1E,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,gFAAgF;IAChF,OAAO,qBAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrC,uDAAuD;QACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * GeoJSON interfaces based on RFC 7946
3
+ * https://tools.ietf.org/html/rfc7946
4
+ */
5
+ export type GeoJSONGeometryType = 'Point' | 'LineString' | 'Polygon' | 'MultiPoint' | 'MultiLineString' | 'MultiPolygon' | 'GeometryCollection';
6
+ export type GeoJSONFeatureType = 'Feature';
7
+ export type GeoJSONFeatureCollectionType = 'FeatureCollection';
8
+ export type GeoJSONType = GeoJSONGeometryType | GeoJSONFeatureType | GeoJSONFeatureCollectionType;
9
+ /**
10
+ * Position array [longitude, latitude] or [longitude, latitude, elevation]
11
+ */
12
+ export type Position = [number, number] | [number, number, number];
13
+ /**
14
+ * Base interface for all GeoJSON objects
15
+ */
16
+ export interface GeoJSONBase {
17
+ type: GeoJSONType;
18
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number];
19
+ }
20
+ /**
21
+ * Point geometry
22
+ */
23
+ export interface Point extends GeoJSONBase {
24
+ type: 'Point';
25
+ coordinates: Position;
26
+ }
27
+ /**
28
+ * LineString geometry
29
+ */
30
+ export interface LineString extends GeoJSONBase {
31
+ type: 'LineString';
32
+ coordinates: Position[];
33
+ }
34
+ /**
35
+ * Polygon geometry
36
+ */
37
+ export interface Polygon extends GeoJSONBase {
38
+ type: 'Polygon';
39
+ coordinates: Position[][];
40
+ }
41
+ /**
42
+ * MultiPoint geometry
43
+ */
44
+ export interface MultiPoint extends GeoJSONBase {
45
+ type: 'MultiPoint';
46
+ coordinates: Position[];
47
+ }
48
+ /**
49
+ * MultiLineString geometry
50
+ */
51
+ export interface MultiLineString extends GeoJSONBase {
52
+ type: 'MultiLineString';
53
+ coordinates: Position[][];
54
+ }
55
+ /**
56
+ * MultiPolygon geometry
57
+ */
58
+ export interface MultiPolygon extends GeoJSONBase {
59
+ type: 'MultiPolygon';
60
+ coordinates: Position[][][];
61
+ }
62
+ /**
63
+ * GeometryCollection
64
+ */
65
+ export interface GeometryCollection extends GeoJSONBase {
66
+ type: 'GeometryCollection';
67
+ geometries: Geometry[];
68
+ }
69
+ /**
70
+ * Union of all geometry types
71
+ */
72
+ export type Geometry = Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon | GeometryCollection;
73
+ /**
74
+ * GeoJSON Feature with properties
75
+ */
76
+ export interface Feature<P = Record<string, unknown>, G extends Geometry = Geometry> extends GeoJSONBase {
77
+ type: 'Feature';
78
+ geometry: G | null;
79
+ properties: P | null;
80
+ id?: string | number;
81
+ }
82
+ /**
83
+ * GeoJSON FeatureCollection
84
+ */
85
+ export interface FeatureCollection<P = Record<string, unknown>, G extends Geometry = Geometry> extends GeoJSONBase {
86
+ type: 'FeatureCollection';
87
+ features: Feature<P, G>[];
88
+ }
89
+ /**
90
+ * Union of all GeoJSON objects
91
+ */
92
+ export type GeoJSON = Geometry | Feature | FeatureCollection;
93
+ /**
94
+ * Mapbox-specific properties commonly found in Mapbox API responses
95
+ */
96
+ export interface MapboxFeatureProperties extends Record<string, unknown> {
97
+ name?: string;
98
+ name_preferred?: string;
99
+ full_address?: string;
100
+ place_formatted?: string;
101
+ feature_type?: string;
102
+ poi_category?: string | string[];
103
+ category?: string;
104
+ mapbox_id?: string;
105
+ address?: string;
106
+ }
107
+ /**
108
+ * Mapbox Feature with common properties
109
+ */
110
+ export type MapboxFeature = Feature<MapboxFeatureProperties>;
111
+ /**
112
+ * Mapbox FeatureCollection with common properties
113
+ */
114
+ export type MapboxFeatureCollection = FeatureCollection<MapboxFeatureProperties>;
115
+ //# sourceMappingURL=geojson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geojson.d.ts","sourceRoot":"","sources":["../../../src/schemas/geojson.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=geojson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geojson.js","sourceRoot":"","sources":["../../../src/schemas/geojson.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC"}
@@ -1,14 +1,17 @@
1
1
  import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import type { ToolAnnotations, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
3
+ import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
3
4
  import type { ZodTypeAny } from 'zod';
4
- export declare abstract class BaseTool<InputSchema extends ZodTypeAny> {
5
+ export declare abstract class BaseTool<InputSchema extends ZodTypeAny, OutputSchema extends ZodTypeAny = ZodTypeAny> {
5
6
  abstract readonly name: string;
6
7
  abstract readonly description: string;
7
8
  abstract readonly annotations: ToolAnnotations;
8
9
  readonly inputSchema: InputSchema;
10
+ readonly outputSchema?: OutputSchema;
9
11
  protected server: McpServer | null;
10
12
  constructor(params: {
11
13
  inputSchema: InputSchema;
14
+ outputSchema?: OutputSchema;
12
15
  });
13
16
  /**
14
17
  * Installs the tool to the given MCP server.
@@ -17,10 +20,17 @@ export declare abstract class BaseTool<InputSchema extends ZodTypeAny> {
17
20
  /**
18
21
  * Tool logic to be implemented by subclasses.
19
22
  */
20
- abstract run(rawInput: unknown, extra?: any): Promise<CallToolResult>;
23
+ abstract run(rawInput: unknown, extra?: RequestHandlerExtra<any, any>): Promise<CallToolResult>;
21
24
  /**
22
25
  * Helper method to send logging messages
23
26
  */
24
27
  protected log(level: 'debug' | 'info' | 'warning' | 'error', data: unknown): void;
28
+ /**
29
+ * Validates output data against the output schema with graceful fallback.
30
+ * If validation fails, logs a warning and returns the raw data.
31
+ * @param rawData The raw data to validate
32
+ * @returns The validated data, or raw data if validation fails
33
+ */
34
+ protected validateOutput<T>(rawData: unknown): T;
25
35
  }
26
36
  //# sourceMappingURL=BaseTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTool.d.ts","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,8BAAsB,QAAQ,CAAC,WAAW,SAAS,UAAU;IAC3D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAE/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAE9B,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAIhD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IAc5C;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC;IAErE;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,OAAO,GACZ,IAAI;CAKR"}
1
+ {"version":3,"file":"BaseTool.d.ts","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,8BAAsB,QAAQ,CAC5B,WAAW,SAAS,UAAU,EAC9B,YAAY,SAAS,UAAU,GAAG,UAAU;IAE5C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAE/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAE9B,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;IAKD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IA+B5C;;OAEG;IACH,QAAQ,CAAC,GAAG,CACV,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,OAAO,GACZ,IAAI;IAMP;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC;CAgBjD"}
@@ -5,21 +5,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.BaseTool = void 0;
6
6
  class BaseTool {
7
7
  inputSchema;
8
+ outputSchema;
8
9
  server = null;
9
10
  constructor(params) {
10
11
  this.inputSchema = params.inputSchema;
12
+ this.outputSchema = params.outputSchema;
11
13
  }
12
14
  /**
13
15
  * Installs the tool to the given MCP server.
14
16
  */
15
17
  installTo(server) {
16
18
  this.server = server;
17
- return server.registerTool(this.name, {
19
+ const config = {
18
20
  title: this.annotations.title,
19
21
  description: this.description,
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
23
  inputSchema: this.inputSchema.shape,
21
24
  annotations: this.annotations
22
- }, (args, extra) => this.run(args, extra));
25
+ };
26
+ // Add outputSchema if provided
27
+ if (this.outputSchema) {
28
+ config.outputSchema =
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
+ this.outputSchema.shape;
31
+ }
32
+ return server.registerTool(this.name, config, (args, extra) => this.run(args, extra));
23
33
  }
24
34
  /**
25
35
  * Helper method to send logging messages
@@ -29,6 +39,25 @@ class BaseTool {
29
39
  void this.server.server.sendLoggingMessage({ level, data });
30
40
  }
31
41
  }
42
+ /**
43
+ * Validates output data against the output schema with graceful fallback.
44
+ * If validation fails, logs a warning and returns the raw data.
45
+ * @param rawData The raw data to validate
46
+ * @returns The validated data, or raw data if validation fails
47
+ */
48
+ validateOutput(rawData) {
49
+ if (!this.outputSchema) {
50
+ return rawData;
51
+ }
52
+ try {
53
+ return this.outputSchema.parse(rawData);
54
+ }
55
+ catch (validationError) {
56
+ this.log('warning', `${this.name}: Output schema validation failed: ${validationError instanceof Error ? validationError.message : 'Unknown validation error'}`);
57
+ // Graceful fallback to raw data
58
+ return rawData;
59
+ }
60
+ }
32
61
  }
33
62
  exports.BaseTool = BaseTool;
34
63
  //# sourceMappingURL=BaseTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTool.js","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAalC,MAAsB,QAAQ;IAKnB,WAAW,CAAc;IACxB,MAAM,GAAqB,IAAI,CAAC;IAE1C,YAAY,MAAoC;QAC9C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,MAAM,CAAC,YAAY,CACxB,IAAI,CAAC,IAAI,EACT;YACE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAG,IAAI,CAAC,WAA2C,CAAC,KAAK;YACpE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,EACD,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CACvC,CAAC;IACJ,CAAC;IAOD;;OAEG;IACO,GAAG,CACX,KAA6C,EAC7C,IAAa;QAEb,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF;AA7CD,4BA6CC"}
1
+ {"version":3,"file":"BaseTool.js","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAclC,MAAsB,QAAQ;IAQnB,WAAW,CAAc;IACzB,YAAY,CAAgB;IAC3B,MAAM,GAAqB,IAAI,CAAC;IAE1C,YAAY,MAGX;QACC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,MAAM,GAQR;YACF,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,8DAA8D;YAC9D,WAAW,EAAG,IAAI,CAAC,WAA2C,CAAC,KAAK;YACpE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;QAEF,+BAA+B;QAC/B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,YAAY;gBACjB,8DAA8D;gBAC7D,IAAI,CAAC,YAA4C,CAAC,KAAK,CAAC;QAC7D,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CACtB,CAAC;IACJ,CAAC;IAWD;;OAEG;IACO,GAAG,CACX,KAA6C,EAC7C,IAAa;QAEb,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACO,cAAc,CAAI,OAAgB;QAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,OAAY,CAAC;QACtB,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;QAC/C,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CACN,SAAS,EACT,GAAG,IAAI,CAAC,IAAI,sCAAsC,eAAe,YAAY,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAC5I,CAAC;YACF,gCAAgC;YAChC,OAAO,OAAY,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AAjGD,4BAiGC"}
@@ -1,15 +1,20 @@
1
1
  import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
2
- import type { ZodTypeAny, z } from 'zod';
2
+ import type { ZodTypeAny } from 'zod';
3
3
  import { BaseTool } from './BaseTool.js';
4
- import type { OutputSchema } from './MapboxApiBasedTool.schema.js';
5
- export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny> extends BaseTool<InputSchema> {
4
+ import type { CallToolResult, ToolAnnotations } from '@modelcontextprotocol/sdk/types.js';
5
+ import type { HttpRequest } from '../utils/types.js';
6
+ import type { ToolExecutionContext } from '../utils/tracing.js';
7
+ export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny, OutputSchema extends ZodTypeAny = ZodTypeAny> extends BaseTool<InputSchema, OutputSchema> {
6
8
  abstract readonly name: string;
7
9
  abstract readonly description: string;
8
- abstract readonly annotations: import('@modelcontextprotocol/sdk/types.js').ToolAnnotations;
10
+ abstract readonly annotations: ToolAnnotations;
9
11
  static get mapboxAccessToken(): string | undefined;
10
12
  static get mapboxApiEndpoint(): string;
13
+ protected httpRequest: HttpRequest;
11
14
  constructor(params: {
12
15
  inputSchema: InputSchema;
16
+ outputSchema?: OutputSchema;
17
+ httpRequest: HttpRequest;
13
18
  });
14
19
  /**
15
20
  * Validates if a string has the format of a JWT token (header.payload.signature)
@@ -21,10 +26,10 @@ export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny>
21
26
  /**
22
27
  * Validates and runs the tool logic.
23
28
  */
24
- run(rawInput: unknown, extra?: RequestHandlerExtra<any, any>): Promise<z.infer<typeof OutputSchema>>;
29
+ run(rawInput: unknown, extra?: RequestHandlerExtra<any, any>): Promise<CallToolResult>;
25
30
  /**
26
- * Tool logic to be implemented by subclasses.
31
+ * Tool-specific logic to be implemented by subclasses.
27
32
  */
28
- protected abstract execute(_input: z.infer<InputSchema>, accessToken: string): Promise<any>;
33
+ protected abstract execute(input: any, accessToken: string, context: ToolExecutionContext): Promise<CallToolResult>;
29
34
  }
30
35
  //# sourceMappingURL=MapboxApiBasedTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxApiBasedTool.d.ts","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,8BAAsB,kBAAkB,CACtC,WAAW,SAAS,UAAU,CAC9B,SAAQ,QAAQ,CAAC,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,oCAAoC,EAAE,eAAe,CAAC;IAE5F,MAAM,KAAK,iBAAiB,uBAE3B;IAED,MAAM,KAAK,iBAAiB,WAE3B;gBAEW,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAIhD;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACG,GAAG,CACP,QAAQ,EAAE,OAAO,EACjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IA4DxC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CACxB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EAC5B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,CAAC;CAChB"}
1
+ {"version":3,"file":"MapboxApiBasedTool.d.ts","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,8BAAsB,kBAAkB,CACtC,WAAW,SAAS,UAAU,EAC9B,YAAY,SAAS,UAAU,GAAG,UAAU,CAC5C,SAAQ,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAE/C,MAAM,KAAK,iBAAiB,uBAE3B;IAED,MAAM,KAAK,iBAAiB,WAE3B;IAED,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;gBAEvB,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,WAAW,EAAE,WAAW,CAAC;KAC1B;IAKD;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACG,GAAG,CACP,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IAyF1B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAExB,KAAK,EAAE,GAAG,EACV,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC;CAC3B"}
@@ -4,6 +4,8 @@
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.MapboxApiBasedTool = void 0;
6
6
  const BaseTool_js_1 = require("./BaseTool.js");
7
+ const api_1 = require("@opentelemetry/api");
8
+ const tracing_js_1 = require("../utils/tracing.js");
7
9
  class MapboxApiBasedTool extends BaseTool_js_1.BaseTool {
8
10
  static get mapboxAccessToken() {
9
11
  return process.env.MAPBOX_ACCESS_TOKEN;
@@ -11,8 +13,10 @@ class MapboxApiBasedTool extends BaseTool_js_1.BaseTool {
11
13
  static get mapboxApiEndpoint() {
12
14
  return process.env.MAPBOX_API_ENDPOINT || 'https://api.mapbox.com/';
13
15
  }
16
+ httpRequest;
14
17
  constructor(params) {
15
18
  super(params);
19
+ this.httpRequest = params.httpRequest;
16
20
  }
17
21
  /**
18
22
  * Validates if a string has the format of a JWT token (header.payload.signature)
@@ -31,46 +35,70 @@ class MapboxApiBasedTool extends BaseTool_js_1.BaseTool {
31
35
  /**
32
36
  * Validates and runs the tool logic.
33
37
  */
34
- async run(rawInput, extra) {
38
+ async run(rawInput,
39
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
40
+ extra) {
41
+ // First check if token is provided via authentication context
42
+ // Check both standard token field and accessToken in extra for compatibility
43
+ // In the streamableHttp, the authInfo is injected into extra from `req.auth`
44
+ // https://github.com/modelcontextprotocol/typescript-sdk/blob/main/src/server/streamableHttp.ts#L405
45
+ const authToken = extra?.authInfo?.token;
46
+ const accessToken = authToken || MapboxApiBasedTool.mapboxAccessToken;
47
+ if (!accessToken) {
48
+ const errorMessage = 'No access token available. Please provide via Bearer auth or MAPBOX_ACCESS_TOKEN env var';
49
+ this.log('error', `${this.name}: ${errorMessage}`);
50
+ return {
51
+ content: [{ type: 'text', text: errorMessage }],
52
+ isError: true
53
+ };
54
+ }
55
+ // Validate that the token has the correct JWT format
56
+ if (!this.isValidJwtFormat(accessToken)) {
57
+ const errorMessage = 'Access token is not in valid JWT format';
58
+ this.log('error', `${this.name}: ${errorMessage}`);
59
+ return {
60
+ content: [{ type: 'text', text: errorMessage }],
61
+ isError: true
62
+ };
63
+ }
64
+ let toolContext;
35
65
  try {
36
- // First check if token is provided via authentication context
37
- // Check both standard token field and accessToken in extra for compatibility
38
- // In the streamableHttp, the authInfo is injected into extra from `req.auth`
39
- // https://github.com/modelcontextprotocol/typescript-sdk/blob/main/src/server/streamableHttp.ts#L405
40
- const authToken = extra?.authInfo?.token;
41
- const accessToken = authToken || MapboxApiBasedTool.mapboxAccessToken;
42
- if (!accessToken) {
43
- throw new Error('No access token available. Please provide via Bearer auth or MAPBOX_ACCESS_TOKEN env var');
44
- }
45
- // Validate that the token has the correct JWT format
46
- if (!this.isValidJwtFormat(accessToken)) {
47
- throw new Error('Access token is not in valid JWT format');
48
- }
49
66
  const input = this.inputSchema.parse(rawInput);
50
- const result = await this.execute(input, accessToken);
51
- // Check if result is already a content object (image or text)
52
- if (result &&
53
- typeof result === 'object' &&
54
- (result.type === 'image' || result.type === 'text')) {
55
- return {
56
- content: [result],
57
- isError: false
58
- };
59
- }
60
- // Otherwise return as text
61
- return {
62
- content: [{ type: 'text', text: JSON.stringify(result) }],
63
- isError: false
67
+ // Create tool execution context - tracing is handled by the HTTP client
68
+ toolContext = {
69
+ ...(0, tracing_js_1.createToolExecutionContext)(this.name, 0, // Input size not needed since tracing is in HTTP client
70
+ this.httpRequest, extra),
71
+ httpRequest: this.httpRequest
64
72
  };
73
+ // Execute tool within the tool span context to connect all child spans
74
+ const result = await api_1.context.with(api_1.trace.setSpan(api_1.context.active(), toolContext.span), async () => {
75
+ return await this.execute(input, accessToken, toolContext);
76
+ });
77
+ // Mark span as successful and end it
78
+ toolContext.span.setStatus({ code: api_1.SpanStatusCode.OK });
79
+ toolContext.span.end();
80
+ return result;
65
81
  }
66
82
  catch (error) {
67
83
  const errorMessage = error instanceof Error ? error.message : String(error);
68
84
  this.log('error', `${this.name}: Error during execution: ${errorMessage}`);
85
+ // Mark span as failed and end it
86
+ if (toolContext?.span) {
87
+ toolContext.span.setStatus({
88
+ code: api_1.SpanStatusCode.ERROR,
89
+ message: errorMessage
90
+ });
91
+ toolContext.span.end();
92
+ }
93
+ const errorResponse = {
94
+ message: errorMessage,
95
+ tool: this.name
96
+ };
69
97
  return {
70
98
  content: [
71
99
  {
72
100
  type: 'text',
73
- text: errorMessage
101
+ text: JSON.stringify(errorResponse)
74
102
  }
75
103
  ],
76
104
  isError: true
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxApiBasedTool.js","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAIlC,+CAAyC;AAGzC,MAAsB,kBAEpB,SAAQ,sBAAqB;IAK7B,MAAM,KAAK,iBAAiB;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,iBAAiB;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,yBAAyB,CAAC;IACtE,CAAC;IAED,YAAY,MAAoC;QAC9C,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CAAC,KAAa;QACpC,0EAA0E;QAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAErC,qCAAqC;QACrC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CACP,QAAiB,EACjB,KAAqC;QAErC,IAAI,CAAC;YACH,8DAA8D;YAC9D,6EAA6E;YAC7E,6EAA6E;YAC7E,qGAAqG;YACrG,MAAM,SAAS,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC;YACzC,MAAM,WAAW,GAAG,SAAS,IAAI,kBAAkB,CAAC,iBAAiB,CAAC;YACtE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAC;YACJ,CAAC;YAED,qDAAqD;YACrD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAEtD,8DAA8D;YAC9D,IACE,MAAM;gBACN,OAAO,MAAM,KAAK,QAAQ;gBAC1B,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EACnD,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,CAAC,MAAM,CAAC;oBACjB,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;YAED,2BAA2B;YAC3B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,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,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY;qBACnB;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CASF;AA3GD,gDA2GC"}
1
+ {"version":3,"file":"MapboxApiBasedTool.js","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
2
- import type { CategoryListInput } from './CategoryListTool.schema.js';
3
- import { CategoryListInputSchema } from './CategoryListTool.schema.js';
2
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
3
+ import type { HttpRequest } from '../../utils/types.js';
4
+ import type { CategoryListInput } from './CategoryListTool.input.schema.js';
5
+ import { CategoryListInputSchema } from './CategoryListTool.input.schema.js';
6
+ import { CategoryListResponseSchema } from './CategoryListTool.output.schema.js';
4
7
  /**
5
8
  * Tool for retrieving the list of supported categories from Mapbox Search API
6
9
  */
7
- export declare class CategoryListTool extends MapboxApiBasedTool<typeof CategoryListInputSchema> {
8
- private fetchImpl;
10
+ export declare class CategoryListTool extends MapboxApiBasedTool<typeof CategoryListInputSchema, typeof CategoryListResponseSchema> {
9
11
  name: string;
10
12
  description: string;
11
13
  annotations: {
@@ -15,7 +17,9 @@ export declare class CategoryListTool extends MapboxApiBasedTool<typeof Category
15
17
  idempotentHint: boolean;
16
18
  openWorldHint: boolean;
17
19
  };
18
- constructor(fetchImpl?: typeof fetch);
19
- protected execute(input: CategoryListInput, accessToken: string): Promise<unknown>;
20
+ constructor(params: {
21
+ httpRequest: HttpRequest;
22
+ });
23
+ protected execute(input: CategoryListInput, accessToken: string): Promise<CallToolResult>;
20
24
  }
21
25
  //# sourceMappingURL=CategoryListTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryListTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAavE;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB,CACtD,OAAO,uBAAuB,CAC/B;IAYa,OAAO,CAAC,SAAS;IAX7B,IAAI,SAAwB;IAC5B,WAAW,SAC+X;IAC1Y,WAAW;;;;;;MAMT;gBAEkB,SAAS,GAAE,OAAO,KAAmB;cAIzC,OAAO,CACrB,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;CA2CpB"}
1
+ {"version":3,"file":"CategoryListTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAiBjF;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB,CACtD,OAAO,uBAAuB,EAC9B,OAAO,0BAA0B,CAClC;IACC,IAAI,SAAwB;IAC5B,WAAW,SAC0iB;IACrjB,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;cAQhC,OAAO,CACrB,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CAkE3B"}