@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
@@ -1,65 +1,8 @@
1
- import { z } from 'zod';
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
2
3
  import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
3
- import { fetchClient } from '../../utils/fetchRequest.js';
4
- const IsochroneInputSchema = z.object({
5
- profile: z
6
- .enum([
7
- 'mapbox/driving-traffic',
8
- 'mapbox/driving',
9
- 'mapbox/cycling',
10
- 'mapbox/walking'
11
- ])
12
- .default('mapbox/driving-traffic')
13
- .describe('Mode of travel.'),
14
- coordinates: z
15
- .object({
16
- longitude: z.number().min(-180).max(180),
17
- latitude: z.number().min(-90).max(90)
18
- })
19
- .describe('A coordinate object with longitude and latitude properties around which to center the isochrone lines. Longitude: -180 to 180, Latitude: -85.0511 to 85.0511'),
20
- contours_minutes: z
21
- .array(z.number().int().min(1).max(60))
22
- .max(4)
23
- .optional()
24
- .describe('Contour times in minutes. Times must be in increasing order. Must be specified either contours_minutes or contours_meters.'),
25
- contours_meters: z
26
- .array(z.number().int().min(1).max(100000))
27
- .max(4)
28
- .optional()
29
- .describe('Distances in meters. Distances must be in increasing order. Must be specified either contours_minutes or contours_meters.'),
30
- contours_colors: z
31
- .array(z.string().regex(/^[0-9a-fA-F]{6}$/))
32
- .max(4)
33
- .optional()
34
- .describe('Contour colors as hex strings without starting # (for example ff0000 for red. must match contours_minutes or contours_meters length if provided).'),
35
- polygons: z
36
- .boolean()
37
- .default(false)
38
- .optional()
39
- .describe('Whether to return Polygons (true) or LineStrings (false).'),
40
- denoise: z
41
- .number()
42
- .min(0)
43
- .max(1)
44
- .default(1)
45
- .optional()
46
- .describe('A floating point value that can be used to remove smaller contours. A value of 1.0 will only return the largest contour for a given value.'),
47
- generalize: z
48
- .number()
49
- .min(0)
50
- .describe(`Positive number in meters that is used to simplify geometries.
51
- - Walking: use 0-500. Prefer 50-200 for short contours (minutes < 10 or meters < 5000), 300-500 as they grow.
52
- - Driving: use 1000-5000. Start at 2000, use 3000 if minutes > 10 or meters > 20000. Use 4000-5000 if near 60 minutes or 100000 meters.
53
- `.trim()),
54
- exclude: z
55
- .array(z.enum(['motorway', 'toll', 'ferry', 'unpaved', 'cash_only_tolls']))
56
- .optional()
57
- .describe('Exclude certain road types and custom locations from routing.'),
58
- depart_at: z
59
- .string()
60
- .optional()
61
- .describe('An ISO 8601 date-time string representing the time to depart (format string: YYYY-MM-DDThh:mmss±hh:mm).')
62
- });
4
+ import { IsochroneInputSchema } from './IsochroneTool.input.schema.js';
5
+ import { IsochroneResponseSchema } from './IsochroneTool.output.schema.js';
63
6
  export class IsochroneTool extends MapboxApiBasedTool {
64
7
  name = 'isochrone_tool';
65
8
  description = `Computes areas that are reachable within a specified amount of time from a location, and returns the reachable regions as contours of Polygons or LineStrings in GeoJSON format that you can display on a map.
@@ -74,17 +17,60 @@ export class IsochroneTool extends MapboxApiBasedTool {
74
17
  idempotentHint: true,
75
18
  openWorldHint: true
76
19
  };
77
- fetch;
78
- constructor(fetch = fetchClient) {
79
- super({ inputSchema: IsochroneInputSchema });
80
- this.fetch = fetch;
20
+ constructor(params) {
21
+ super({
22
+ inputSchema: IsochroneInputSchema,
23
+ outputSchema: IsochroneResponseSchema,
24
+ httpRequest: params.httpRequest
25
+ });
26
+ }
27
+ formatIsochroneResponse(data) {
28
+ if (!data.features || data.features.length === 0) {
29
+ return 'No isochrone contours found.';
30
+ }
31
+ const summary = `Found ${data.features.length} isochrone contour${data.features.length > 1 ? 's' : ''}:\n\n`;
32
+ const contours = data.features.map((feature, index) => {
33
+ const props = feature.properties;
34
+ const geomType = feature.geometry.type;
35
+ let description = `${index + 1}. `;
36
+ description += `${geomType} contour for ${props.contour}`;
37
+ if (props.metric === 'time') {
38
+ description += ' minutes travel time';
39
+ }
40
+ else if (props.metric === 'distance') {
41
+ description += ' meters distance';
42
+ }
43
+ else {
44
+ // Fallback - try to infer from contour value
45
+ description += props.contour <= 60 ? ' minutes' : ' meters';
46
+ }
47
+ if (props.color) {
48
+ description += `\n Color: ${props.color}`;
49
+ }
50
+ if (geomType === 'Polygon' && props.fillColor) {
51
+ description += `\n Fill: ${props.fillColor}`;
52
+ if (props.fillOpacity !== undefined) {
53
+ description += ` (opacity: ${props.fillOpacity})`;
54
+ }
55
+ }
56
+ return description;
57
+ });
58
+ return summary + contours.join('\n\n');
81
59
  }
82
60
  async execute(input, accessToken) {
83
61
  const url = new URL(`${MapboxApiBasedTool.mapboxApiEndpoint}isochrone/v1/${input.profile}/${input.coordinates.longitude}%2C${input.coordinates.latitude}`);
84
62
  url.searchParams.append('access_token', accessToken);
85
63
  if ((!input.contours_minutes || input.contours_minutes.length === 0) &&
86
64
  (!input.contours_meters || input.contours_meters.length === 0)) {
87
- throw new Error("At least one of 'contours_minutes' or 'contours_meters' must be provided");
65
+ return {
66
+ content: [
67
+ {
68
+ type: 'text',
69
+ text: "At least one of 'contours_minutes' or 'contours_meters' must be provided"
70
+ }
71
+ ],
72
+ isError: true
73
+ };
88
74
  }
89
75
  if (input.contours_minutes && input.contours_minutes.length > 0) {
90
76
  url.searchParams.append('contours_minutes', input.contours_minutes.join(','));
@@ -110,12 +96,39 @@ export class IsochroneTool extends MapboxApiBasedTool {
110
96
  if (input.depart_at) {
111
97
  url.searchParams.append('depart_at', input.depart_at);
112
98
  }
113
- const response = await this.fetch(url);
99
+ const response = await this.httpRequest(url);
114
100
  if (!response.ok) {
115
- throw new Error(`Failed to calculate isochrones: ${response.status} ${response.statusText}`);
101
+ return {
102
+ content: [
103
+ {
104
+ type: 'text',
105
+ text: `Failed to calculate isochrones: ${response.status} ${response.statusText}`
106
+ }
107
+ ],
108
+ isError: true
109
+ };
116
110
  }
117
111
  const data = await response.json();
118
- return data;
112
+ // Validate the response against our schema
113
+ const parsedData = IsochroneResponseSchema.safeParse(data);
114
+ if (parsedData.success) {
115
+ // Valid response - use formatted output
116
+ const formattedText = this.formatIsochroneResponse(parsedData.data);
117
+ return {
118
+ content: [{ type: 'text', text: formattedText }],
119
+ structuredContent: parsedData.data,
120
+ isError: false
121
+ };
122
+ }
123
+ else {
124
+ // Invalid response - fall back to JSON string for backward compatibility
125
+ this.log('warning', `IsochroneTool: Response validation failed: ${parsedData.error.message}`);
126
+ return {
127
+ content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
128
+ structuredContent: data,
129
+ isError: false
130
+ };
131
+ }
119
132
  }
120
133
  }
121
134
  //# sourceMappingURL=IsochroneTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsochroneTool.js","sourceRoot":"","sources":["../../../../src/tools/isochrone-tool/IsochroneTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IsochroneTool.js","sourceRoot":"","sources":["../../../../src/tools/isochrone-tool/IsochroneTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,314 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Isochrone feature properties based on Mapbox Isochrone API documentation
4
+ * https://docs.mapbox.com/api/navigation/isochrone/
5
+ */
6
+ export declare const IsochroneFeaturePropertiesSchema: z.ZodObject<{
7
+ /** The value of the metric used in this contour (time in minutes or distance in meters) */
8
+ contour: z.ZodNumber;
9
+ /** The color of the isochrone line if the geometry is LineString */
10
+ color: z.ZodOptional<z.ZodString>;
11
+ /** The opacity of the isochrone line if the geometry is LineString */
12
+ opacity: z.ZodOptional<z.ZodNumber>;
13
+ /** The fill color of the isochrone polygon if the geometry is Polygon (geojson.io format) */
14
+ fill: z.ZodOptional<z.ZodString>;
15
+ /** The fill opacity of the isochrone polygon if the geometry is Polygon (geojson.io format) */
16
+ 'fill-opacity': z.ZodOptional<z.ZodNumber>;
17
+ /** The fill color of the isochrone polygon if the geometry is Polygon (Leaflet format) */
18
+ fillColor: z.ZodOptional<z.ZodString>;
19
+ /** The fill opacity of the isochrone polygon if the geometry is Polygon (Leaflet format) */
20
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
21
+ /** The metric that the contour represents - either "distance" or "time" */
22
+ metric: z.ZodOptional<z.ZodEnum<["distance", "time"]>>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ contour: number;
25
+ fill?: string | undefined;
26
+ color?: string | undefined;
27
+ opacity?: number | undefined;
28
+ 'fill-opacity'?: number | undefined;
29
+ fillColor?: string | undefined;
30
+ fillOpacity?: number | undefined;
31
+ metric?: "distance" | "time" | undefined;
32
+ }, {
33
+ contour: number;
34
+ fill?: string | undefined;
35
+ color?: string | undefined;
36
+ opacity?: number | undefined;
37
+ 'fill-opacity'?: number | undefined;
38
+ fillColor?: string | undefined;
39
+ fillOpacity?: number | undefined;
40
+ metric?: "distance" | "time" | undefined;
41
+ }>;
42
+ /**
43
+ * Isochrone geometry - can be either LineString or Polygon
44
+ */
45
+ export declare const IsochroneGeometrySchema: z.ZodUnion<[z.ZodObject<{
46
+ type: z.ZodLiteral<"LineString">;
47
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
48
+ }, "strip", z.ZodTypeAny, {
49
+ type: "LineString";
50
+ coordinates: [number, number][];
51
+ }, {
52
+ type: "LineString";
53
+ coordinates: [number, number][];
54
+ }>, z.ZodObject<{
55
+ type: z.ZodLiteral<"Polygon">;
56
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
57
+ }, "strip", z.ZodTypeAny, {
58
+ type: "Polygon";
59
+ coordinates: [number, number][][];
60
+ }, {
61
+ type: "Polygon";
62
+ coordinates: [number, number][][];
63
+ }>]>;
64
+ /**
65
+ * Individual isochrone feature
66
+ */
67
+ export declare const IsochroneFeatureSchema: z.ZodObject<{
68
+ type: z.ZodLiteral<"Feature">;
69
+ properties: z.ZodObject<{
70
+ /** The value of the metric used in this contour (time in minutes or distance in meters) */
71
+ contour: z.ZodNumber;
72
+ /** The color of the isochrone line if the geometry is LineString */
73
+ color: z.ZodOptional<z.ZodString>;
74
+ /** The opacity of the isochrone line if the geometry is LineString */
75
+ opacity: z.ZodOptional<z.ZodNumber>;
76
+ /** The fill color of the isochrone polygon if the geometry is Polygon (geojson.io format) */
77
+ fill: z.ZodOptional<z.ZodString>;
78
+ /** The fill opacity of the isochrone polygon if the geometry is Polygon (geojson.io format) */
79
+ 'fill-opacity': z.ZodOptional<z.ZodNumber>;
80
+ /** The fill color of the isochrone polygon if the geometry is Polygon (Leaflet format) */
81
+ fillColor: z.ZodOptional<z.ZodString>;
82
+ /** The fill opacity of the isochrone polygon if the geometry is Polygon (Leaflet format) */
83
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
84
+ /** The metric that the contour represents - either "distance" or "time" */
85
+ metric: z.ZodOptional<z.ZodEnum<["distance", "time"]>>;
86
+ }, "strip", z.ZodTypeAny, {
87
+ contour: number;
88
+ fill?: string | undefined;
89
+ color?: string | undefined;
90
+ opacity?: number | undefined;
91
+ 'fill-opacity'?: number | undefined;
92
+ fillColor?: string | undefined;
93
+ fillOpacity?: number | undefined;
94
+ metric?: "distance" | "time" | undefined;
95
+ }, {
96
+ contour: number;
97
+ fill?: string | undefined;
98
+ color?: string | undefined;
99
+ opacity?: number | undefined;
100
+ 'fill-opacity'?: number | undefined;
101
+ fillColor?: string | undefined;
102
+ fillOpacity?: number | undefined;
103
+ metric?: "distance" | "time" | undefined;
104
+ }>;
105
+ geometry: z.ZodUnion<[z.ZodObject<{
106
+ type: z.ZodLiteral<"LineString">;
107
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
108
+ }, "strip", z.ZodTypeAny, {
109
+ type: "LineString";
110
+ coordinates: [number, number][];
111
+ }, {
112
+ type: "LineString";
113
+ coordinates: [number, number][];
114
+ }>, z.ZodObject<{
115
+ type: z.ZodLiteral<"Polygon">;
116
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
117
+ }, "strip", z.ZodTypeAny, {
118
+ type: "Polygon";
119
+ coordinates: [number, number][][];
120
+ }, {
121
+ type: "Polygon";
122
+ coordinates: [number, number][][];
123
+ }>]>;
124
+ }, "strip", z.ZodTypeAny, {
125
+ type: "Feature";
126
+ properties: {
127
+ contour: number;
128
+ fill?: string | undefined;
129
+ color?: string | undefined;
130
+ opacity?: number | undefined;
131
+ 'fill-opacity'?: number | undefined;
132
+ fillColor?: string | undefined;
133
+ fillOpacity?: number | undefined;
134
+ metric?: "distance" | "time" | undefined;
135
+ };
136
+ geometry: {
137
+ type: "LineString";
138
+ coordinates: [number, number][];
139
+ } | {
140
+ type: "Polygon";
141
+ coordinates: [number, number][][];
142
+ };
143
+ }, {
144
+ type: "Feature";
145
+ properties: {
146
+ contour: number;
147
+ fill?: string | undefined;
148
+ color?: string | undefined;
149
+ opacity?: number | undefined;
150
+ 'fill-opacity'?: number | undefined;
151
+ fillColor?: string | undefined;
152
+ fillOpacity?: number | undefined;
153
+ metric?: "distance" | "time" | undefined;
154
+ };
155
+ geometry: {
156
+ type: "LineString";
157
+ coordinates: [number, number][];
158
+ } | {
159
+ type: "Polygon";
160
+ coordinates: [number, number][][];
161
+ };
162
+ }>;
163
+ /**
164
+ * Complete Isochrone API response
165
+ * Returns a GeoJSON FeatureCollection containing isochrone contours
166
+ */
167
+ export declare const IsochroneResponseSchema: z.ZodObject<{
168
+ type: z.ZodLiteral<"FeatureCollection">;
169
+ features: z.ZodArray<z.ZodObject<{
170
+ type: z.ZodLiteral<"Feature">;
171
+ properties: z.ZodObject<{
172
+ /** The value of the metric used in this contour (time in minutes or distance in meters) */
173
+ contour: z.ZodNumber;
174
+ /** The color of the isochrone line if the geometry is LineString */
175
+ color: z.ZodOptional<z.ZodString>;
176
+ /** The opacity of the isochrone line if the geometry is LineString */
177
+ opacity: z.ZodOptional<z.ZodNumber>;
178
+ /** The fill color of the isochrone polygon if the geometry is Polygon (geojson.io format) */
179
+ fill: z.ZodOptional<z.ZodString>;
180
+ /** The fill opacity of the isochrone polygon if the geometry is Polygon (geojson.io format) */
181
+ 'fill-opacity': z.ZodOptional<z.ZodNumber>;
182
+ /** The fill color of the isochrone polygon if the geometry is Polygon (Leaflet format) */
183
+ fillColor: z.ZodOptional<z.ZodString>;
184
+ /** The fill opacity of the isochrone polygon if the geometry is Polygon (Leaflet format) */
185
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
186
+ /** The metric that the contour represents - either "distance" or "time" */
187
+ metric: z.ZodOptional<z.ZodEnum<["distance", "time"]>>;
188
+ }, "strip", z.ZodTypeAny, {
189
+ contour: number;
190
+ fill?: string | undefined;
191
+ color?: string | undefined;
192
+ opacity?: number | undefined;
193
+ 'fill-opacity'?: number | undefined;
194
+ fillColor?: string | undefined;
195
+ fillOpacity?: number | undefined;
196
+ metric?: "distance" | "time" | undefined;
197
+ }, {
198
+ contour: number;
199
+ fill?: string | undefined;
200
+ color?: string | undefined;
201
+ opacity?: number | undefined;
202
+ 'fill-opacity'?: number | undefined;
203
+ fillColor?: string | undefined;
204
+ fillOpacity?: number | undefined;
205
+ metric?: "distance" | "time" | undefined;
206
+ }>;
207
+ geometry: z.ZodUnion<[z.ZodObject<{
208
+ type: z.ZodLiteral<"LineString">;
209
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
210
+ }, "strip", z.ZodTypeAny, {
211
+ type: "LineString";
212
+ coordinates: [number, number][];
213
+ }, {
214
+ type: "LineString";
215
+ coordinates: [number, number][];
216
+ }>, z.ZodObject<{
217
+ type: z.ZodLiteral<"Polygon">;
218
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
219
+ }, "strip", z.ZodTypeAny, {
220
+ type: "Polygon";
221
+ coordinates: [number, number][][];
222
+ }, {
223
+ type: "Polygon";
224
+ coordinates: [number, number][][];
225
+ }>]>;
226
+ }, "strip", z.ZodTypeAny, {
227
+ type: "Feature";
228
+ properties: {
229
+ contour: number;
230
+ fill?: string | undefined;
231
+ color?: string | undefined;
232
+ opacity?: number | undefined;
233
+ 'fill-opacity'?: number | undefined;
234
+ fillColor?: string | undefined;
235
+ fillOpacity?: number | undefined;
236
+ metric?: "distance" | "time" | undefined;
237
+ };
238
+ geometry: {
239
+ type: "LineString";
240
+ coordinates: [number, number][];
241
+ } | {
242
+ type: "Polygon";
243
+ coordinates: [number, number][][];
244
+ };
245
+ }, {
246
+ type: "Feature";
247
+ properties: {
248
+ contour: number;
249
+ fill?: string | undefined;
250
+ color?: string | undefined;
251
+ opacity?: number | undefined;
252
+ 'fill-opacity'?: number | undefined;
253
+ fillColor?: string | undefined;
254
+ fillOpacity?: number | undefined;
255
+ metric?: "distance" | "time" | undefined;
256
+ };
257
+ geometry: {
258
+ type: "LineString";
259
+ coordinates: [number, number][];
260
+ } | {
261
+ type: "Polygon";
262
+ coordinates: [number, number][][];
263
+ };
264
+ }>, "many">;
265
+ }, "strip", z.ZodTypeAny, {
266
+ type: "FeatureCollection";
267
+ features: {
268
+ type: "Feature";
269
+ properties: {
270
+ contour: number;
271
+ fill?: string | undefined;
272
+ color?: string | undefined;
273
+ opacity?: number | undefined;
274
+ 'fill-opacity'?: number | undefined;
275
+ fillColor?: string | undefined;
276
+ fillOpacity?: number | undefined;
277
+ metric?: "distance" | "time" | undefined;
278
+ };
279
+ geometry: {
280
+ type: "LineString";
281
+ coordinates: [number, number][];
282
+ } | {
283
+ type: "Polygon";
284
+ coordinates: [number, number][][];
285
+ };
286
+ }[];
287
+ }, {
288
+ type: "FeatureCollection";
289
+ features: {
290
+ type: "Feature";
291
+ properties: {
292
+ contour: number;
293
+ fill?: string | undefined;
294
+ color?: string | undefined;
295
+ opacity?: number | undefined;
296
+ 'fill-opacity'?: number | undefined;
297
+ fillColor?: string | undefined;
298
+ fillOpacity?: number | undefined;
299
+ metric?: "distance" | "time" | undefined;
300
+ };
301
+ geometry: {
302
+ type: "LineString";
303
+ coordinates: [number, number][];
304
+ } | {
305
+ type: "Polygon";
306
+ coordinates: [number, number][][];
307
+ };
308
+ }[];
309
+ }>;
310
+ export type IsochroneResponse = z.infer<typeof IsochroneResponseSchema>;
311
+ export type IsochroneFeature = z.infer<typeof IsochroneFeatureSchema>;
312
+ export type IsochroneGeometry = z.infer<typeof IsochroneGeometrySchema>;
313
+ export type IsochroneFeatureProperties = z.infer<typeof IsochroneFeaturePropertiesSchema>;
314
+ //# sourceMappingURL=IsochroneTool.output.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsochroneTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/isochrone-tool/IsochroneTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,gCAAgC;IAC3C,2FAA2F;;IAE3F,oEAAoE;;IAEpE,sEAAsE;;IAEtE,6FAA6F;;IAE7F,+FAA+F;;IAE/F,0FAA0F;;IAE1F,4FAA4F;;IAE5F,2EAA2E;;;;;;;;;;;;;;;;;;;;EAE3E,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;IASlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;QAnCjC,2FAA2F;;QAE3F,oEAAoE;;QAEpE,sEAAsE;;QAEtE,6FAA6F;;QAE7F,+FAA+F;;QAE/F,0FAA0F;;QAE1F,4FAA4F;;QAE5F,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB3E,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;YA7ClC,2FAA2F;;YAE3F,oEAAoE;;YAEpE,sEAAsE;;YAEtE,6FAA6F;;YAE7F,+FAA+F;;YAE/F,0FAA0F;;YAE1F,4FAA4F;;YAE5F,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkC3E,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC"}
@@ -0,0 +1,55 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ import { z } from 'zod';
4
+ /**
5
+ * Isochrone feature properties based on Mapbox Isochrone API documentation
6
+ * https://docs.mapbox.com/api/navigation/isochrone/
7
+ */
8
+ export const IsochroneFeaturePropertiesSchema = z.object({
9
+ /** The value of the metric used in this contour (time in minutes or distance in meters) */
10
+ contour: z.number().int(),
11
+ /** The color of the isochrone line if the geometry is LineString */
12
+ color: z.string().optional(),
13
+ /** The opacity of the isochrone line if the geometry is LineString */
14
+ opacity: z.number().optional(),
15
+ /** The fill color of the isochrone polygon if the geometry is Polygon (geojson.io format) */
16
+ fill: z.string().optional(),
17
+ /** The fill opacity of the isochrone polygon if the geometry is Polygon (geojson.io format) */
18
+ 'fill-opacity': z.number().optional(),
19
+ /** The fill color of the isochrone polygon if the geometry is Polygon (Leaflet format) */
20
+ fillColor: z.string().optional(),
21
+ /** The fill opacity of the isochrone polygon if the geometry is Polygon (Leaflet format) */
22
+ fillOpacity: z.number().optional(),
23
+ /** The metric that the contour represents - either "distance" or "time" */
24
+ metric: z.enum(['distance', 'time']).optional()
25
+ });
26
+ /**
27
+ * Isochrone geometry - can be either LineString or Polygon
28
+ */
29
+ export const IsochroneGeometrySchema = z.union([
30
+ z.object({
31
+ type: z.literal('LineString'),
32
+ coordinates: z.array(z.tuple([z.number(), z.number()])) // [longitude, latitude] pairs
33
+ }),
34
+ z.object({
35
+ type: z.literal('Polygon'),
36
+ coordinates: z.array(z.array(z.tuple([z.number(), z.number()]))) // Array of linear rings
37
+ })
38
+ ]);
39
+ /**
40
+ * Individual isochrone feature
41
+ */
42
+ export const IsochroneFeatureSchema = z.object({
43
+ type: z.literal('Feature'),
44
+ properties: IsochroneFeaturePropertiesSchema,
45
+ geometry: IsochroneGeometrySchema
46
+ });
47
+ /**
48
+ * Complete Isochrone API response
49
+ * Returns a GeoJSON FeatureCollection containing isochrone contours
50
+ */
51
+ export const IsochroneResponseSchema = z.object({
52
+ type: z.literal('FeatureCollection'),
53
+ features: z.array(IsochroneFeatureSchema)
54
+ });
55
+ //# sourceMappingURL=IsochroneTool.output.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsochroneTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/isochrone-tool/IsochroneTool.output.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,2FAA2F;IAC3F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACzB,oEAAoE;IACpE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,sEAAsE;IACtE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,6FAA6F;IAC7F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,+FAA+F;IAC/F,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,0FAA0F;IAC1F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,4FAA4F;IAC5F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,2EAA2E;IAC3E,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7C,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAC7B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,8BAA8B;KACvF,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB;KAC1F,CAAC;CACH,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,UAAU,EAAE,gCAAgC;IAC5C,QAAQ,EAAE,uBAAuB;CAClC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;CAC1C,CAAC,CAAC"}
@@ -1,46 +1,10 @@
1
- import { z } from 'zod';
1
+ import type { z } from 'zod';
2
2
  import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
3
- declare const MatrixInputSchema: z.ZodObject<{
4
- coordinates: z.ZodArray<z.ZodObject<{
5
- longitude: z.ZodNumber;
6
- latitude: z.ZodNumber;
7
- }, "strip", z.ZodTypeAny, {
8
- longitude: number;
9
- latitude: number;
10
- }, {
11
- longitude: number;
12
- latitude: number;
13
- }>, "many">;
14
- profile: z.ZodEnum<["driving-traffic", "driving", "walking", "cycling"]>;
15
- annotations: z.ZodOptional<z.ZodEnum<["duration", "distance", "duration,distance", "distance,duration"]>>;
16
- approaches: z.ZodOptional<z.ZodString>;
17
- bearings: z.ZodOptional<z.ZodString>;
18
- destinations: z.ZodOptional<z.ZodString>;
19
- sources: z.ZodOptional<z.ZodString>;
20
- }, "strip", z.ZodTypeAny, {
21
- coordinates: {
22
- longitude: number;
23
- latitude: number;
24
- }[];
25
- profile: "driving-traffic" | "driving" | "walking" | "cycling";
26
- annotations?: "distance" | "duration" | "duration,distance" | "distance,duration" | undefined;
27
- approaches?: string | undefined;
28
- bearings?: string | undefined;
29
- destinations?: string | undefined;
30
- sources?: string | undefined;
31
- }, {
32
- coordinates: {
33
- longitude: number;
34
- latitude: number;
35
- }[];
36
- profile: "driving-traffic" | "driving" | "walking" | "cycling";
37
- annotations?: "distance" | "duration" | "duration,distance" | "distance,duration" | undefined;
38
- approaches?: string | undefined;
39
- bearings?: string | undefined;
40
- destinations?: string | undefined;
41
- sources?: string | undefined;
42
- }>;
43
- export declare class MatrixTool extends MapboxApiBasedTool<typeof MatrixInputSchema> {
3
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
4
+ import type { HttpRequest } from '../../utils/types.js';
5
+ import { MatrixInputSchema } from './MatrixTool.input.schema.js';
6
+ import { MatrixResponseSchema } from './MatrixTool.output.schema.js';
7
+ export declare class MatrixTool extends MapboxApiBasedTool<typeof MatrixInputSchema, typeof MatrixResponseSchema> {
44
8
  name: string;
45
9
  description: string;
46
10
  annotations: {
@@ -50,9 +14,9 @@ export declare class MatrixTool extends MapboxApiBasedTool<typeof MatrixInputSch
50
14
  idempotentHint: boolean;
51
15
  openWorldHint: boolean;
52
16
  };
53
- private fetch;
54
- constructor(fetch?: typeof globalThis.fetch);
55
- protected execute(input: z.infer<typeof MatrixInputSchema>, accessToken: string): Promise<any>;
17
+ constructor(params: {
18
+ httpRequest: HttpRequest;
19
+ });
20
+ protected execute(input: z.infer<typeof MatrixInputSchema>, accessToken: string): Promise<CallToolResult>;
56
21
  }
57
- export {};
58
22
  //# sourceMappingURL=MatrixTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MatrixTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAK9D,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2ErB,CAAC;AAEH,qBAAa,UAAW,SAAQ,kBAAkB,CAAC,OAAO,iBAAiB,CAAC;IAC1E,IAAI,SAAiB;IACrB,WAAW,SACgF;IAC3F,WAAW;;;;;;MAMT;IAEF,OAAO,CAAC,KAAK,CAA0B;gBAE3B,KAAK,GAAE,OAAO,UAAU,CAAC,KAAmB;cAKxC,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,EACxC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,CAAC;CAyLhB"}
1
+ {"version":3,"file":"MatrixTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/matrix-tool/MatrixTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,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,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,oBAAoB,EAErB,MAAM,+BAA+B,CAAC;AAIvC,qBAAa,UAAW,SAAQ,kBAAkB,CAChD,OAAO,iBAAiB,EACxB,OAAO,oBAAoB,CAC5B;IACC,IAAI,SAAiB;IACrB,WAAW,SACgF;IAC3F,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;cAQhC,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,EACxC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CA6Q3B"}