@mapbox/mcp-server 0.5.4 → 0.6.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 (318) hide show
  1. package/README.md +36 -0
  2. package/dist/commonjs/config/toolConfig.d.ts.map +1 -1
  3. package/dist/commonjs/config/toolConfig.js +2 -0
  4. package/dist/commonjs/config/toolConfig.js.map +1 -1
  5. package/dist/commonjs/index.d.ts.map +1 -1
  6. package/dist/commonjs/index.js +47 -3
  7. package/dist/commonjs/index.js.map +1 -1
  8. package/dist/commonjs/schemas/geojson.d.ts +115 -0
  9. package/dist/commonjs/schemas/geojson.d.ts.map +1 -0
  10. package/dist/commonjs/schemas/geojson.js +5 -0
  11. package/dist/commonjs/schemas/geojson.js.map +1 -0
  12. package/dist/commonjs/schemas/shared.d.ts +36 -0
  13. package/dist/commonjs/schemas/shared.d.ts.map +1 -0
  14. package/dist/commonjs/schemas/shared.js +35 -0
  15. package/dist/commonjs/schemas/shared.js.map +1 -0
  16. package/dist/commonjs/tools/BaseTool.d.ts +6 -3
  17. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
  18. package/dist/commonjs/tools/BaseTool.js +14 -2
  19. package/dist/commonjs/tools/BaseTool.js.map +1 -1
  20. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts +11 -51
  21. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -1
  22. package/dist/commonjs/tools/MapboxApiBasedTool.js +60 -45
  23. package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -1
  24. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts +10 -20
  25. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  26. package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.d.ts +16 -0
  27. package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.d.ts.map +1 -0
  28. package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.js +23 -0
  29. package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.js.map +1 -0
  30. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js +36 -29
  31. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js.map +1 -1
  32. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.d.ts +10 -0
  33. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.d.ts.map +1 -0
  34. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.js +12 -0
  35. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.js.map +1 -0
  36. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts +10 -83
  37. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  38. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +76 -0
  39. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -0
  40. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.js +82 -0
  41. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -0
  42. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +44 -97
  43. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  44. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +2184 -0
  45. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -0
  46. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js +148 -0
  47. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -0
  48. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts +10 -54
  49. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  50. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts +51 -0
  51. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -0
  52. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js +242 -0
  53. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -0
  54. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +106 -266
  55. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
  56. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +7880 -0
  57. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -0
  58. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js +346 -0
  59. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -0
  60. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts +101 -2
  61. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
  62. package/dist/commonjs/tools/directions-tool/cleanResponseData.js +92 -89
  63. package/dist/commonjs/tools/directions-tool/cleanResponseData.js.map +1 -1
  64. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts +11 -55
  65. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  66. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts +51 -0
  67. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts.map +1 -0
  68. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.js +66 -0
  69. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.js.map +1 -0
  70. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +82 -69
  71. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  72. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +314 -0
  73. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -0
  74. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js +58 -0
  75. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -0
  76. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts +10 -46
  77. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  78. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.d.ts +42 -0
  79. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -0
  80. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.js +56 -0
  81. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -0
  82. package/dist/commonjs/tools/matrix-tool/MatrixTool.js +133 -83
  83. package/dist/commonjs/tools/matrix-tool/MatrixTool.js.map +1 -1
  84. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.d.ts +80 -0
  85. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.d.ts.map +1 -0
  86. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.js +22 -0
  87. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.js.map +1 -0
  88. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +10 -40
  89. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  90. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +33 -0
  91. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts.map +1 -0
  92. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js +49 -0
  93. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js.map +1 -0
  94. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js +58 -70
  95. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  96. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +4085 -0
  97. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts.map +1 -0
  98. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js +206 -0
  99. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js.map +1 -0
  100. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +10 -101
  101. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  102. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +94 -0
  103. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -0
  104. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +81 -0
  105. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -0
  106. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +44 -92
  107. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  108. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +1496 -0
  109. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -0
  110. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +124 -0
  111. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -0
  112. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts +8 -172
  113. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  114. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +312 -0
  115. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -0
  116. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js +338 -0
  117. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -0
  118. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +26 -342
  119. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  120. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
  121. package/dist/commonjs/tools/toolRegistry.js +11 -8
  122. package/dist/commonjs/tools/toolRegistry.js.map +1 -1
  123. package/dist/commonjs/tools/version-tool/VersionTool.d.ts +5 -11
  124. package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +1 -1
  125. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts +3 -0
  126. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts.map +1 -0
  127. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js +8 -0
  128. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js.map +1 -0
  129. package/dist/commonjs/tools/version-tool/VersionTool.js +45 -29
  130. package/dist/commonjs/tools/version-tool/VersionTool.js.map +1 -1
  131. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts +22 -0
  132. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts.map +1 -0
  133. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js +15 -0
  134. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js.map +1 -0
  135. package/dist/commonjs/{tools/directions-tool/formatIsoDateTime.d.ts → utils/dateUtils.d.ts} +1 -1
  136. package/dist/commonjs/utils/dateUtils.d.ts.map +1 -0
  137. package/dist/commonjs/{tools/directions-tool/formatIsoDateTime.js → utils/dateUtils.js} +3 -1
  138. package/dist/commonjs/utils/dateUtils.js.map +1 -0
  139. package/dist/commonjs/utils/httpPipeline.d.ts +39 -0
  140. package/dist/commonjs/utils/httpPipeline.d.ts.map +1 -0
  141. package/dist/commonjs/utils/{fetchRequest.js → httpPipeline.js} +15 -13
  142. package/dist/commonjs/utils/httpPipeline.js.map +1 -0
  143. package/dist/commonjs/utils/tracing.d.ts +99 -0
  144. package/dist/commonjs/utils/tracing.d.ts.map +1 -0
  145. package/dist/commonjs/utils/tracing.js +283 -0
  146. package/dist/commonjs/utils/tracing.js.map +1 -0
  147. package/dist/commonjs/utils/types.d.ts +18 -0
  148. package/dist/commonjs/utils/types.d.ts.map +1 -0
  149. package/dist/commonjs/utils/types.js +5 -0
  150. package/dist/commonjs/utils/types.js.map +1 -0
  151. package/dist/commonjs/utils/versionUtils-cjs.cjs.map +1 -1
  152. package/dist/commonjs/utils/versionUtils-cjs.d.cts.map +1 -1
  153. package/dist/commonjs/utils/versionUtils.js +3 -1
  154. package/dist/commonjs/version.json +3 -3
  155. package/dist/esm/config/toolConfig.d.ts.map +1 -1
  156. package/dist/esm/config/toolConfig.js +2 -0
  157. package/dist/esm/config/toolConfig.js.map +1 -1
  158. package/dist/esm/index.d.ts.map +1 -1
  159. package/dist/esm/index.js +47 -3
  160. package/dist/esm/index.js.map +1 -1
  161. package/dist/esm/schemas/geojson.d.ts +115 -0
  162. package/dist/esm/schemas/geojson.d.ts.map +1 -0
  163. package/dist/esm/schemas/geojson.js +4 -0
  164. package/dist/esm/schemas/geojson.js.map +1 -0
  165. package/dist/esm/schemas/shared.d.ts +36 -0
  166. package/dist/esm/schemas/shared.d.ts.map +1 -0
  167. package/dist/esm/schemas/shared.js +32 -0
  168. package/dist/esm/schemas/shared.js.map +1 -0
  169. package/dist/esm/tools/BaseTool.d.ts +6 -3
  170. package/dist/esm/tools/BaseTool.d.ts.map +1 -1
  171. package/dist/esm/tools/BaseTool.js +14 -2
  172. package/dist/esm/tools/BaseTool.js.map +1 -1
  173. package/dist/esm/tools/MapboxApiBasedTool.d.ts +11 -51
  174. package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -1
  175. package/dist/esm/tools/MapboxApiBasedTool.js +59 -44
  176. package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -1
  177. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts +10 -20
  178. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  179. package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.d.ts +16 -0
  180. package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.d.ts.map +1 -0
  181. package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.js +20 -0
  182. package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.js.map +1 -0
  183. package/dist/esm/tools/category-list-tool/CategoryListTool.js +36 -29
  184. package/dist/esm/tools/category-list-tool/CategoryListTool.js.map +1 -1
  185. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.d.ts +10 -0
  186. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.d.ts.map +1 -0
  187. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.js +9 -0
  188. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.js.map +1 -0
  189. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts +10 -83
  190. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  191. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +76 -0
  192. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -0
  193. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.js +79 -0
  194. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -0
  195. package/dist/esm/tools/category-search-tool/CategorySearchTool.js +44 -97
  196. package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  197. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +2184 -0
  198. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -0
  199. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js +145 -0
  200. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -0
  201. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +10 -54
  202. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  203. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts +51 -0
  204. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -0
  205. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js +239 -0
  206. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -0
  207. package/dist/esm/tools/directions-tool/DirectionsTool.js +103 -263
  208. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
  209. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +7880 -0
  210. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -0
  211. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js +343 -0
  212. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -0
  213. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts +101 -2
  214. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
  215. package/dist/esm/tools/directions-tool/cleanResponseData.js +92 -89
  216. package/dist/esm/tools/directions-tool/cleanResponseData.js.map +1 -1
  217. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts +11 -55
  218. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  219. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts +51 -0
  220. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts.map +1 -0
  221. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.js +63 -0
  222. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.js.map +1 -0
  223. package/dist/esm/tools/isochrone-tool/IsochroneTool.js +82 -69
  224. package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  225. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +314 -0
  226. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -0
  227. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js +55 -0
  228. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -0
  229. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts +10 -46
  230. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  231. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.d.ts +42 -0
  232. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -0
  233. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.js +53 -0
  234. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -0
  235. package/dist/esm/tools/matrix-tool/MatrixTool.js +133 -83
  236. package/dist/esm/tools/matrix-tool/MatrixTool.js.map +1 -1
  237. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.d.ts +80 -0
  238. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.d.ts.map +1 -0
  239. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.js +19 -0
  240. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.js.map +1 -0
  241. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +10 -40
  242. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  243. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +33 -0
  244. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts.map +1 -0
  245. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js +46 -0
  246. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js.map +1 -0
  247. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js +58 -70
  248. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  249. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +4085 -0
  250. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts.map +1 -0
  251. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js +203 -0
  252. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js.map +1 -0
  253. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +10 -101
  254. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  255. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +94 -0
  256. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -0
  257. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +78 -0
  258. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -0
  259. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +44 -92
  260. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  261. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +1496 -0
  262. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -0
  263. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +121 -0
  264. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -0
  265. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +8 -172
  266. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  267. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +312 -0
  268. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -0
  269. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js +335 -0
  270. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -0
  271. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +26 -342
  272. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  273. package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
  274. package/dist/esm/tools/toolRegistry.js +11 -8
  275. package/dist/esm/tools/toolRegistry.js.map +1 -1
  276. package/dist/esm/tools/version-tool/VersionTool.d.ts +5 -11
  277. package/dist/esm/tools/version-tool/VersionTool.d.ts.map +1 -1
  278. package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts +3 -0
  279. package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts.map +1 -0
  280. package/dist/esm/tools/version-tool/VersionTool.input.schema.js +5 -0
  281. package/dist/esm/tools/version-tool/VersionTool.input.schema.js.map +1 -0
  282. package/dist/esm/tools/version-tool/VersionTool.js +45 -29
  283. package/dist/esm/tools/version-tool/VersionTool.js.map +1 -1
  284. package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts +22 -0
  285. package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts.map +1 -0
  286. package/dist/esm/tools/version-tool/VersionTool.output.schema.js +12 -0
  287. package/dist/esm/tools/version-tool/VersionTool.output.schema.js.map +1 -0
  288. package/dist/esm/{tools/directions-tool/formatIsoDateTime.d.ts → utils/dateUtils.d.ts} +1 -1
  289. package/dist/esm/utils/dateUtils.d.ts.map +1 -0
  290. package/dist/esm/{tools/directions-tool/formatIsoDateTime.js → utils/dateUtils.js} +3 -1
  291. package/dist/esm/utils/dateUtils.js.map +1 -0
  292. package/dist/esm/utils/httpPipeline.d.ts +39 -0
  293. package/dist/esm/utils/httpPipeline.d.ts.map +1 -0
  294. package/dist/esm/utils/{fetchRequest.js → httpPipeline.js} +13 -11
  295. package/dist/esm/utils/httpPipeline.js.map +1 -0
  296. package/dist/esm/utils/tracing.d.ts +99 -0
  297. package/dist/esm/utils/tracing.d.ts.map +1 -0
  298. package/dist/esm/utils/tracing.js +269 -0
  299. package/dist/esm/utils/tracing.js.map +1 -0
  300. package/dist/esm/utils/types.d.ts +18 -0
  301. package/dist/esm/utils/types.d.ts.map +1 -0
  302. package/dist/esm/utils/types.js +4 -0
  303. package/dist/esm/utils/types.js.map +1 -0
  304. package/dist/esm/utils/versionUtils.d.ts.map +1 -1
  305. package/dist/esm/utils/versionUtils.js +3 -1
  306. package/dist/esm/utils/versionUtils.js.map +1 -1
  307. package/dist/esm/version.json +3 -3
  308. package/package.json +28 -8
  309. package/dist/commonjs/tools/directions-tool/formatIsoDateTime.d.ts.map +0 -1
  310. package/dist/commonjs/tools/directions-tool/formatIsoDateTime.js.map +0 -1
  311. package/dist/commonjs/utils/fetchRequest.d.ts +0 -38
  312. package/dist/commonjs/utils/fetchRequest.d.ts.map +0 -1
  313. package/dist/commonjs/utils/fetchRequest.js.map +0 -1
  314. package/dist/esm/tools/directions-tool/formatIsoDateTime.d.ts.map +0 -1
  315. package/dist/esm/tools/directions-tool/formatIsoDateTime.js.map +0 -1
  316. package/dist/esm/utils/fetchRequest.d.ts +0 -38
  317. package/dist/esm/utils/fetchRequest.d.ts.map +0 -1
  318. package/dist/esm/utils/fetchRequest.js.map +0 -1
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod';
2
+ export declare const MatrixInputSchema: z.ZodObject<{
3
+ coordinates: z.ZodArray<z.ZodObject<{
4
+ longitude: z.ZodNumber;
5
+ latitude: z.ZodNumber;
6
+ }, "strip", z.ZodTypeAny, {
7
+ longitude: number;
8
+ latitude: number;
9
+ }, {
10
+ longitude: number;
11
+ latitude: number;
12
+ }>, "many">;
13
+ profile: z.ZodEnum<["driving-traffic", "driving", "walking", "cycling"]>;
14
+ annotations: z.ZodOptional<z.ZodEnum<["duration", "distance", "duration,distance", "distance,duration"]>>;
15
+ approaches: z.ZodOptional<z.ZodString>;
16
+ bearings: z.ZodOptional<z.ZodString>;
17
+ destinations: z.ZodOptional<z.ZodString>;
18
+ sources: z.ZodOptional<z.ZodString>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ coordinates: {
21
+ longitude: number;
22
+ latitude: number;
23
+ }[];
24
+ profile: "driving-traffic" | "driving" | "walking" | "cycling";
25
+ annotations?: "distance" | "duration" | "duration,distance" | "distance,duration" | undefined;
26
+ bearings?: string | undefined;
27
+ destinations?: string | undefined;
28
+ approaches?: string | undefined;
29
+ sources?: string | undefined;
30
+ }, {
31
+ coordinates: {
32
+ longitude: number;
33
+ latitude: number;
34
+ }[];
35
+ profile: "driving-traffic" | "driving" | "walking" | "cycling";
36
+ annotations?: "distance" | "duration" | "duration,distance" | "distance,duration" | undefined;
37
+ bearings?: string | undefined;
38
+ destinations?: string | undefined;
39
+ approaches?: string | undefined;
40
+ sources?: string | undefined;
41
+ }>;
42
+ //# sourceMappingURL=MatrixTool.input.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgE5B,CAAC"}
@@ -0,0 +1,53 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ import { z } from 'zod';
4
+ import { coordinateSchema } from '../../schemas/shared.js';
5
+ export const MatrixInputSchema = z.object({
6
+ coordinates: z
7
+ .array(coordinateSchema)
8
+ .min(2, 'At least two coordinate pairs are required.')
9
+ .max(25, 'Up to 25 coordinate pairs are supported for most profiles (10 for driving-traffic).')
10
+ .describe('Array of coordinate objects with longitude and latitude properties. ' +
11
+ 'Must include at least 2 coordinate pairs. ' +
12
+ 'Up to 25 coordinates total are supported for most profiles (10 for driving-traffic).'),
13
+ profile: z
14
+ .enum(['driving-traffic', 'driving', 'walking', 'cycling'])
15
+ .describe('Routing profile for different modes of transport. Options: \n' +
16
+ '- driving-traffic: automotive with current traffic conditions (limited to 10 coordinates)\n' +
17
+ '- driving: automotive based on typical traffic\n' +
18
+ '- walking: pedestrian/hiking\n' +
19
+ '- cycling: bicycle'),
20
+ annotations: z
21
+ .enum(['duration', 'distance', 'duration,distance', 'distance,duration'])
22
+ .optional()
23
+ .describe('Specifies the resulting matrices. Possible values are: duration (default), distance, or both values separated by a comma.'),
24
+ approaches: z
25
+ .string()
26
+ .optional()
27
+ .describe('A semicolon-separated list indicating the side of the road from which to approach waypoints. ' +
28
+ 'Accepts "unrestricted" (default, route can arrive at the waypoint from either side of the road) ' +
29
+ 'or "curb" (route will arrive at the waypoint on the driving_side of the region). ' +
30
+ 'If provided, the number of approaches must be the same as the number of waypoints. ' +
31
+ 'You can skip a coordinate and show its position with the ; separator.'),
32
+ bearings: z
33
+ .string()
34
+ .optional()
35
+ .describe('A semicolon-separated list of headings and allowed deviation indicating the direction of movement. ' +
36
+ 'Input as two comma-separated values per location: a heading course measured clockwise from true north ' +
37
+ 'between 0 and 360, and the range of degrees by which the angle can deviate (recommended value is 45° or 90°), ' +
38
+ 'formatted as {angle,degrees}. If provided, the number of bearings must equal the number of coordinates. ' +
39
+ 'You can skip a coordinate and show its position in the list with the ; separator.'),
40
+ destinations: z
41
+ .string()
42
+ .optional()
43
+ .describe('Use the coordinates at given indices as destinations. ' +
44
+ 'Possible values are: a semicolon-separated list of 0-based indices, or "all" (default). ' +
45
+ 'The option "all" allows using all coordinates as destinations.'),
46
+ sources: z
47
+ .string()
48
+ .optional()
49
+ .describe('Use the coordinates at given indices as sources. ' +
50
+ 'Possible values are: a semicolon-separated list of 0-based indices, or "all" (default). ' +
51
+ 'The option "all" allows using all coordinates as sources.')
52
+ });
53
+ //# sourceMappingURL=MatrixTool.input.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.input.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,gBAAgB,CAAC;SACvB,GAAG,CAAC,CAAC,EAAE,6CAA6C,CAAC;SACrD,GAAG,CACF,EAAE,EACF,qFAAqF,CACtF;SACA,QAAQ,CACP,sEAAsE;QACpE,4CAA4C;QAC5C,sFAAsF,CACzF;IACH,OAAO,EAAE,CAAC;SACP,IAAI,CAAC,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SAC1D,QAAQ,CACP,+DAA+D;QAC7D,6FAA6F;QAC7F,kDAAkD;QAClD,gCAAgC;QAChC,oBAAoB,CACvB;IACH,WAAW,EAAE,CAAC;SACX,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;SACxE,QAAQ,EAAE;SACV,QAAQ,CACP,2HAA2H,CAC5H;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,+FAA+F;QAC7F,kGAAkG;QAClG,mFAAmF;QACnF,qFAAqF;QACrF,uEAAuE,CAC1E;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,qGAAqG;QACnG,wGAAwG;QACxG,gHAAgH;QAChH,0GAA0G;QAC1G,mFAAmF,CACtF;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,wDAAwD;QACtD,0FAA0F;QAC1F,gEAAgE,CACnE;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,mDAAmD;QACjD,0FAA0F;QAC1F,2DAA2D,CAC9D;CACJ,CAAC,CAAC"}
@@ -1,65 +1,10 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
1
3
  import { URLSearchParams } from 'node:url';
2
- import { z } from 'zod';
3
4
  import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
4
- import { fetchClient } from '../../utils/fetchRequest.js';
5
+ import { MatrixInputSchema } from './MatrixTool.input.schema.js';
6
+ import { MatrixResponseSchema } from './MatrixTool.output.schema.js';
5
7
  // API documentation: https://docs.mapbox.com/api/navigation/matrix/
6
- const MatrixInputSchema = z.object({
7
- coordinates: z
8
- .array(z.object({
9
- longitude: z
10
- .number()
11
- .min(-180, 'Longitude must be between -180 and 180 degrees')
12
- .max(180, 'Longitude must be between -180 and 180 degrees'),
13
- latitude: z
14
- .number()
15
- .min(-90, 'Latitude must be between -90 and 90 degrees')
16
- .max(90, 'Latitude must be between -90 and 90 degrees')
17
- }))
18
- .min(2, 'At least two coordinate pairs are required.')
19
- .max(25, 'Up to 25 coordinate pairs are supported for most profiles (10 for driving-traffic).')
20
- .describe('Array of coordinate objects with longitude and latitude properties. ' +
21
- 'Must include at least 2 coordinate pairs. ' +
22
- 'Up to 25 coordinates total are supported for most profiles (10 for driving-traffic).'),
23
- profile: z
24
- .enum(['driving-traffic', 'driving', 'walking', 'cycling'])
25
- .describe('Routing profile for different modes of transport. Options: \n' +
26
- '- driving-traffic: automotive with current traffic conditions (limited to 10 coordinates)\n' +
27
- '- driving: automotive based on typical traffic\n' +
28
- '- walking: pedestrian/hiking\n' +
29
- '- cycling: bicycle'),
30
- annotations: z
31
- .enum(['duration', 'distance', 'duration,distance', 'distance,duration'])
32
- .optional()
33
- .describe('Specifies the resulting matrices. Possible values are: duration (default), distance, or both values separated by a comma.'),
34
- approaches: z
35
- .string()
36
- .optional()
37
- .describe('A semicolon-separated list indicating the side of the road from which to approach waypoints. ' +
38
- 'Accepts "unrestricted" (default, route can arrive at the waypoint from either side of the road) ' +
39
- 'or "curb" (route will arrive at the waypoint on the driving_side of the region). ' +
40
- 'If provided, the number of approaches must be the same as the number of waypoints. ' +
41
- 'You can skip a coordinate and show its position with the ; separator.'),
42
- bearings: z
43
- .string()
44
- .optional()
45
- .describe('A semicolon-separated list of headings and allowed deviation indicating the direction of movement. ' +
46
- 'Input as two comma-separated values per location: a heading course measured clockwise from true north ' +
47
- 'between 0 and 360, and the range of degrees by which the angle can deviate (recommended value is 45° or 90°), ' +
48
- 'formatted as {angle,degrees}. If provided, the number of bearings must equal the number of coordinates. ' +
49
- 'You can skip a coordinate and show its position in the list with the ; separator.'),
50
- destinations: z
51
- .string()
52
- .optional()
53
- .describe('Use the coordinates at given indices as destinations. ' +
54
- 'Possible values are: a semicolon-separated list of 0-based indices, or "all" (default). ' +
55
- 'The option "all" allows using all coordinates as destinations.'),
56
- sources: z
57
- .string()
58
- .optional()
59
- .describe('Use the coordinates at given indices as sources. ' +
60
- 'Possible values are: a semicolon-separated list of 0-based indices, or "all" (default). ' +
61
- 'The option "all" allows using all coordinates as sources.')
62
- });
63
8
  export class MatrixTool extends MapboxApiBasedTool {
64
9
  name = 'matrix_tool';
65
10
  description = 'Calculates travel times and distances between multiple points using Mapbox Matrix API.';
@@ -70,20 +15,38 @@ export class MatrixTool extends MapboxApiBasedTool {
70
15
  idempotentHint: true,
71
16
  openWorldHint: true
72
17
  };
73
- fetch;
74
- constructor(fetch = fetchClient) {
75
- super({ inputSchema: MatrixInputSchema });
76
- this.fetch = fetch;
18
+ constructor(params) {
19
+ super({
20
+ inputSchema: MatrixInputSchema,
21
+ outputSchema: MatrixResponseSchema,
22
+ httpRequest: params.httpRequest
23
+ });
77
24
  }
78
25
  async execute(input, accessToken) {
79
26
  // Validate input based on profile type
80
27
  if (input.profile === 'driving-traffic' && input.coordinates.length > 10) {
81
- throw new Error('The driving-traffic profile supports a maximum of 10 coordinate pairs.');
28
+ return {
29
+ content: [
30
+ {
31
+ type: 'text',
32
+ text: 'The driving-traffic profile supports a maximum of 10 coordinate pairs.'
33
+ }
34
+ ],
35
+ isError: true
36
+ };
82
37
  }
83
38
  // Validate approaches parameter if provided
84
39
  if (input.approaches &&
85
40
  input.approaches.split(';').length !== input.coordinates.length) {
86
- throw new Error('When provided, the number of approaches (including empty/skipped) must match the number of coordinates.');
41
+ return {
42
+ content: [
43
+ {
44
+ type: 'text',
45
+ text: 'When provided, the number of approaches (including empty/skipped) must match the number of coordinates.'
46
+ }
47
+ ],
48
+ isError: true
49
+ };
87
50
  }
88
51
  // Validate that all approaches values are either "curb" or "unrestricted"
89
52
  if (input.approaches &&
@@ -92,32 +55,73 @@ export class MatrixTool extends MapboxApiBasedTool {
92
55
  .some((approach) => approach !== '' &&
93
56
  approach !== 'curb' &&
94
57
  approach !== 'unrestricted')) {
95
- throw new Error('Approaches parameter contains invalid values. Each value must be either "curb" or "unrestricted".');
58
+ return {
59
+ content: [
60
+ {
61
+ type: 'text',
62
+ text: 'Approaches parameter contains invalid values. Each value must be either "curb" or "unrestricted".'
63
+ }
64
+ ],
65
+ isError: true
66
+ };
96
67
  }
97
68
  // Validate bearings parameter if provided
98
69
  if (input.bearings &&
99
70
  input.bearings.split(';').length !== input.coordinates.length) {
100
- throw new Error('When provided, the number of bearings (including empty/skipped) must match the number of coordinates.');
71
+ return {
72
+ content: [
73
+ {
74
+ type: 'text',
75
+ text: 'When provided, the number of bearings (including empty/skipped) must match the number of coordinates.'
76
+ }
77
+ ],
78
+ isError: true
79
+ };
101
80
  }
102
81
  // Additional validation for bearings values
103
82
  if (input.bearings) {
104
83
  const bearingsArr = input.bearings.split(';');
105
- bearingsArr.forEach((bearing, idx) => {
84
+ for (let idx = 0; idx < bearingsArr.length; idx++) {
85
+ const bearing = bearingsArr[idx];
106
86
  if (bearing.trim() === '')
107
- return; // allow skipped
87
+ continue; // allow skipped
108
88
  const parts = bearing.split(',');
109
89
  if (parts.length !== 2) {
110
- throw new Error(`Invalid bearings format at index ${idx}: '${bearing}'. Each bearing must be two comma-separated numbers (angle,degrees).`);
90
+ return {
91
+ content: [
92
+ {
93
+ type: 'text',
94
+ text: `Invalid bearings format at index ${idx}: '${bearing}'. Each bearing must be two comma-separated numbers (angle,degrees).`
95
+ }
96
+ ],
97
+ isError: true
98
+ };
111
99
  }
112
100
  const angle = Number(parts[0]);
113
101
  const degrees = Number(parts[1]);
114
102
  if (isNaN(angle) || angle < 0 || angle > 360) {
115
- throw new Error(`Invalid bearing angle at index ${idx}: '${parts[0]}'. Angle must be a number between 0 and 360.`);
103
+ return {
104
+ content: [
105
+ {
106
+ type: 'text',
107
+ text: `Invalid bearing angle at index ${idx}: '${parts[0]}'. Angle must be a number between 0 and 360.`
108
+ }
109
+ ],
110
+ isError: true
111
+ };
116
112
  }
117
113
  if (isNaN(degrees) || degrees < 0 || degrees > 180) {
118
- throw new Error(`Invalid bearing degrees at index ${idx}: '${parts[1]}'. Degrees must be a number between 0 and 180.`);
114
+ return {
115
+ content: [
116
+ {
117
+ type: 'text',
118
+ text: `Invalid bearing degrees at index ${idx}: '${parts[1]}'. Degrees must be a number between 0 and 180.`
119
+ }
120
+ ],
121
+ isError: true
122
+ };
119
123
  }
120
- });
124
+ }
121
125
  }
122
126
  // Validate sources parameter if provided - ensure all indices are valid
123
127
  if (input.sources &&
@@ -128,9 +132,17 @@ export class MatrixTool extends MapboxApiBasedTool {
128
132
  parsedIndex < 0 ||
129
133
  parsedIndex >= input.coordinates.length);
130
134
  })) {
131
- throw new Error('Sources parameter contains invalid indices. All indices must be between 0 and ' +
132
- (input.coordinates.length - 1) +
133
- '.');
135
+ return {
136
+ content: [
137
+ {
138
+ type: 'text',
139
+ text: 'Sources parameter contains invalid indices. All indices must be between 0 and ' +
140
+ (input.coordinates.length - 1) +
141
+ '.'
142
+ }
143
+ ],
144
+ isError: true
145
+ };
134
146
  }
135
147
  // Validate destinations parameter if provided - ensure all indices are valid
136
148
  if (input.destinations &&
@@ -141,9 +153,17 @@ export class MatrixTool extends MapboxApiBasedTool {
141
153
  parsedIndex < 0 ||
142
154
  parsedIndex >= input.coordinates.length);
143
155
  })) {
144
- throw new Error('Destinations parameter contains invalid indices. All indices must be between 0 and ' +
145
- (input.coordinates.length - 1) +
146
- '.');
156
+ return {
157
+ content: [
158
+ {
159
+ type: 'text',
160
+ text: 'Destinations parameter contains invalid indices. All indices must be between 0 and ' +
161
+ (input.coordinates.length - 1) +
162
+ '.'
163
+ }
164
+ ],
165
+ isError: true
166
+ };
147
167
  }
148
168
  // Validate that when specifying both sources and destinations, all coordinates are used
149
169
  if (input.sources &&
@@ -160,7 +180,15 @@ export class MatrixTool extends MapboxApiBasedTool {
160
180
  const usedIndices = new Set([...sourcesIndices, ...destinationsIndices]);
161
181
  // Check if all coordinate indices are used
162
182
  if (usedIndices.size < input.coordinates.length) {
163
- throw new Error('When specifying both sources and destinations, all coordinates must be used as either a source or destination.');
183
+ return {
184
+ content: [
185
+ {
186
+ type: 'text',
187
+ text: 'When specifying both sources and destinations, all coordinates must be used as either a source or destination.'
188
+ }
189
+ ],
190
+ isError: true
191
+ };
164
192
  }
165
193
  }
166
194
  // Format coordinates for API request
@@ -193,13 +221,35 @@ export class MatrixTool extends MapboxApiBasedTool {
193
221
  // Construct the URL for the Matrix API request
194
222
  const url = `${MapboxApiBasedTool.mapboxApiEndpoint}directions-matrix/v1/mapbox/${input.profile}/${joined}?${queryParams.toString()}`;
195
223
  // Make the request
196
- const response = await this.fetch(url);
224
+ const response = await this.httpRequest(url);
197
225
  if (!response.ok) {
198
- throw new Error(`Request failed with status ${response.status}: ${response.statusText}`);
226
+ return {
227
+ content: [
228
+ {
229
+ type: 'text',
230
+ text: `Request failed with status ${response.status}: ${response.statusText}`
231
+ }
232
+ ],
233
+ isError: true
234
+ };
199
235
  }
200
236
  // Return the matrix data
201
237
  const data = await response.json();
202
- return data;
238
+ // Validate the response data against our schema
239
+ let validatedData;
240
+ try {
241
+ validatedData = MatrixResponseSchema.parse(data);
242
+ }
243
+ catch (error) {
244
+ // If validation fails, fall back to the original data
245
+ this.log('warning', `MatrixTool: Response validation failed: ${error}`);
246
+ validatedData = data;
247
+ }
248
+ return {
249
+ content: [{ type: 'text', text: JSON.stringify(validatedData, null, 2) }],
250
+ structuredContent: validatedData,
251
+ isError: false
252
+ };
203
253
  }
204
254
  }
205
255
  //# sourceMappingURL=MatrixTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MatrixTool.js","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MatrixTool.js","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAGlC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,oBAAoB,EAErB,MAAM,+BAA+B,CAAC;AAEvC,oEAAoE;AAEpE,MAAM,OAAO,UAAW,SAAQ,kBAG/B;IACC,IAAI,GAAG,aAAa,CAAC;IACrB,WAAW,GACT,wFAAwF,CAAC;IAC3F,WAAW,GAAG;QACZ,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB,CAAC;IAEF,YAAY,MAAoC;QAC9C,KAAK,CAAC;YACJ,WAAW,EAAE,iBAAiB;YAC9B,YAAY,EAAE,oBAAoB;YAClC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,OAAO,CACrB,KAAwC,EACxC,WAAmB;QAEnB,uCAAuC;QACvC,IAAI,KAAK,CAAC,OAAO,KAAK,iBAAiB,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACzE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,wEAAwE;qBAC/E;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,IACE,KAAK,CAAC,UAAU;YAChB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,WAAW,CAAC,MAAM,EAC/D,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yGAAyG;qBAChH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,IACE,KAAK,CAAC,UAAU;YAChB,KAAK,CAAC,UAAU;iBACb,KAAK,CAAC,GAAG,CAAC;iBACV,IAAI,CACH,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,KAAK,EAAE;gBACf,QAAQ,KAAK,MAAM;gBACnB,QAAQ,KAAK,cAAc,CAC9B,EACH,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mGAAmG;qBAC1G;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,0CAA0C;QAC1C,IACE,KAAK,CAAC,QAAQ;YACd,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,WAAW,CAAC,MAAM,EAC7D,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,uGAAuG;qBAC9G;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;oBAAE,SAAS,CAAC,gBAAgB;gBACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,oCAAoC,GAAG,MAAM,OAAO,sEAAsE;6BACjI;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;oBAC7C,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,kCAAkC,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,8CAA8C;6BACxG;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;oBACnD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,oCAAoC,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,gDAAgD;6BAC5G;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,IACE,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,OAAO,KAAK,KAAK;YACvB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACxC,OAAO,CACL,KAAK,CAAC,WAAW,CAAC;oBAClB,WAAW,GAAG,CAAC;oBACf,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,CACxC,CAAC;YACJ,CAAC,CAAC,EACF,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,gFAAgF;4BAChF,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;4BAC9B,GAAG;qBACN;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,IACE,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,YAAY,KAAK,KAAK;YAC5B,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACxC,OAAO,CACL,KAAK,CAAC,WAAW,CAAC;oBAClB,WAAW,GAAG,CAAC;oBACf,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,CACxC,CAAC;YACJ,CAAC,CAAC,EACF,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,qFAAqF;4BACrF,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;4BAC9B,GAAG;qBACN;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,wFAAwF;QACxF,IACE,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,OAAO,KAAK,KAAK;YACvB,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,YAAY,KAAK,KAAK,EAC5B,CAAC;YACD,kDAAkD;YAClD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO;iBACjC,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YACnC,MAAM,mBAAmB,GAAG,KAAK,CAAC,YAAY;iBAC3C,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC;YAEzE,2CAA2C;YAC3C,IAAI,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAChD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,gHAAgH;yBACvH;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW;aAC7B,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC;aAC5D,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,yBAAyB;QACzB,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAEhD,yCAAyC;QACzC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,WAAW,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACvD,CAAC;QAED,wCAAwC;QACxC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;QAED,sCAAsC;QACtC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,0CAA0C;QAC1C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACzD,CAAC;QAED,qCAAqC;QACrC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAED,+CAA+C;QAC/C,MAAM,GAAG,GAAG,GAAG,kBAAkB,CAAC,iBAAiB,+BAA+B,KAAK,CAAC,OAAO,IAAI,MAAM,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;QAEtI,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE7C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8BAA8B,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE;qBAC9E;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,gDAAgD;QAChD,IAAI,aAA6B,CAAC;QAClC,IAAI,CAAC;YACH,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sDAAsD;YACtD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,2CAA2C,KAAK,EAAE,CAAC,CAAC;YACxE,aAAa,GAAG,IAAsB,CAAC;QACzC,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACzE,iBAAiB,EAAE,aAAa;YAChC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,80 @@
1
+ import { z } from 'zod';
2
+ declare const MatrixWaypointSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ location: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
5
+ distance: z.ZodNumber;
6
+ }, "strip", z.ZodTypeAny, {
7
+ name: string;
8
+ distance: number;
9
+ location: [number, number];
10
+ }, {
11
+ name: string;
12
+ distance: number;
13
+ location: [number, number];
14
+ }>;
15
+ export declare const MatrixResponseSchema: z.ZodObject<{
16
+ code: z.ZodString;
17
+ durations: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodNumber>, "many">, "many">>;
18
+ distances: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodNumber>, "many">, "many">>;
19
+ sources: z.ZodArray<z.ZodObject<{
20
+ name: z.ZodString;
21
+ location: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
22
+ distance: z.ZodNumber;
23
+ }, "strip", z.ZodTypeAny, {
24
+ name: string;
25
+ distance: number;
26
+ location: [number, number];
27
+ }, {
28
+ name: string;
29
+ distance: number;
30
+ location: [number, number];
31
+ }>, "many">;
32
+ destinations: z.ZodArray<z.ZodObject<{
33
+ name: z.ZodString;
34
+ location: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
35
+ distance: z.ZodNumber;
36
+ }, "strip", z.ZodTypeAny, {
37
+ name: string;
38
+ distance: number;
39
+ location: [number, number];
40
+ }, {
41
+ name: string;
42
+ distance: number;
43
+ location: [number, number];
44
+ }>, "many">;
45
+ message: z.ZodOptional<z.ZodString>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ code: string;
48
+ destinations: {
49
+ name: string;
50
+ distance: number;
51
+ location: [number, number];
52
+ }[];
53
+ sources: {
54
+ name: string;
55
+ distance: number;
56
+ location: [number, number];
57
+ }[];
58
+ message?: string | undefined;
59
+ durations?: (number | null)[][] | undefined;
60
+ distances?: (number | null)[][] | undefined;
61
+ }, {
62
+ code: string;
63
+ destinations: {
64
+ name: string;
65
+ distance: number;
66
+ location: [number, number];
67
+ }[];
68
+ sources: {
69
+ name: string;
70
+ distance: number;
71
+ location: [number, number];
72
+ }[];
73
+ message?: string | undefined;
74
+ durations?: (number | null)[][] | undefined;
75
+ distances?: (number | null)[][] | undefined;
76
+ }>;
77
+ export type MatrixResponse = z.infer<typeof MatrixResponseSchema>;
78
+ export type MatrixWaypoint = z.infer<typeof MatrixWaypointSchema>;
79
+ export {};
80
+ //# sourceMappingURL=MatrixTool.output.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,oBAAoB;;;;;;;;;;;;EAIxB,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ import { z } from 'zod';
4
+ // Waypoint object schema (used for both sources and destinations)
5
+ const MatrixWaypointSchema = z.object({
6
+ name: z.string(),
7
+ location: z.tuple([z.number(), z.number()]),
8
+ distance: z.number()
9
+ });
10
+ // Main Matrix API response schema
11
+ export const MatrixResponseSchema = z.object({
12
+ code: z.string(),
13
+ durations: z.array(z.array(z.number().nullable())).optional(),
14
+ distances: z.array(z.array(z.number().nullable())).optional(),
15
+ sources: z.array(MatrixWaypointSchema),
16
+ destinations: z.array(MatrixWaypointSchema),
17
+ message: z.string().optional() // Present in error responses
18
+ });
19
+ //# sourceMappingURL=MatrixTool.output.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.output.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kEAAkE;AAClE,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH,kCAAkC;AAClC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7D,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7D,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IACtC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,6BAA6B;CAC7D,CAAC,CAAC"}
@@ -1,38 +1,10 @@
1
- import { z } from 'zod';
1
+ import type { z } from 'zod';
2
2
  import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
3
- declare const ReverseGeocodeInputSchema: z.ZodObject<{
4
- longitude: z.ZodNumber;
5
- latitude: z.ZodNumber;
6
- permanent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
7
- country: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
8
- language: z.ZodOptional<z.ZodString>;
9
- limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
10
- types: z.ZodOptional<z.ZodArray<z.ZodEnum<["country", "region", "postcode", "district", "place", "locality", "neighborhood", "address"]>, "many">>;
11
- worldview: z.ZodDefault<z.ZodOptional<z.ZodEnum<["us", "cn", "jp", "in"]>>>;
12
- format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["json_string", "formatted_text"]>>>;
13
- }, "strip", z.ZodTypeAny, {
14
- limit: number;
15
- longitude: number;
16
- latitude: number;
17
- format: "json_string" | "formatted_text";
18
- permanent: boolean;
19
- worldview: "us" | "cn" | "jp" | "in";
20
- language?: string | undefined;
21
- country?: string[] | undefined;
22
- types?: ("country" | "region" | "postcode" | "district" | "place" | "locality" | "neighborhood" | "address")[] | undefined;
23
- }, {
24
- longitude: number;
25
- latitude: number;
26
- language?: string | undefined;
27
- limit?: number | undefined;
28
- country?: string[] | undefined;
29
- format?: "json_string" | "formatted_text" | undefined;
30
- permanent?: boolean | undefined;
31
- types?: ("country" | "region" | "postcode" | "district" | "place" | "locality" | "neighborhood" | "address")[] | undefined;
32
- worldview?: "us" | "cn" | "jp" | "in" | undefined;
33
- }>;
34
- export declare class ReverseGeocodeTool extends MapboxApiBasedTool<typeof ReverseGeocodeInputSchema> {
35
- private fetch;
3
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
4
+ import type { HttpRequest } from '../../utils/types.js';
5
+ import { ReverseGeocodeInputSchema } from './ReverseGeocodeTool.input.schema.js';
6
+ import { GeocodingResponseSchema } from './ReverseGeocodeTool.output.schema.js';
7
+ export declare class ReverseGeocodeTool extends MapboxApiBasedTool<typeof ReverseGeocodeInputSchema, typeof GeocodingResponseSchema> {
36
8
  name: string;
37
9
  description: string;
38
10
  annotations: {
@@ -42,12 +14,10 @@ export declare class ReverseGeocodeTool extends MapboxApiBasedTool<typeof Revers
42
14
  idempotentHint: boolean;
43
15
  openWorldHint: boolean;
44
16
  };
45
- constructor(fetch?: typeof globalThis.fetch);
17
+ constructor(params: {
18
+ httpRequest: HttpRequest;
19
+ });
46
20
  private formatGeoJsonToText;
47
- protected execute(input: z.infer<typeof ReverseGeocodeInputSchema>, accessToken: string): Promise<{
48
- type: 'text';
49
- text: string;
50
- }>;
21
+ protected execute(input: z.infer<typeof ReverseGeocodeInputSchema>, accessToken: string): Promise<CallToolResult>;
51
22
  }
52
- export {};
53
23
  //# sourceMappingURL=ReverseGeocodeTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReverseGeocodeTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8D7B,CAAC;AAEH,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IAYa,OAAO,CAAC,KAAK;IAXzB,IAAI,SAA0B;IAC9B,WAAW,SAC2b;IACtc,WAAW;;;;;;MAMT;gBAEkB,KAAK,GAAE,OAAO,UAAU,CAAC,KAAmB;IAIhE,OAAO,CAAC,mBAAmB;cA+CX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CA2D3C"}
1
+ {"version":3,"file":"ReverseGeocodeTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,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,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAQhF,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,EAChC,OAAO,uBAAuB,CAC/B;IACC,IAAI,SAA0B;IAC9B,WAAW,SAC2b;IACtc,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAQhD,OAAO,CAAC,mBAAmB;cAiDX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CAgG3B"}