@mapbox/mcp-server 0.16.1-dev → 0.17.0-dev

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 (414) hide show
  1. package/README.md +29 -0
  2. package/dist/commonjs/index.js +14 -14
  3. package/dist/commonjs/index.js.map +1 -1
  4. package/dist/commonjs/prompts/BasePrompt.d.ts +1 -1
  5. package/dist/commonjs/prompts/BasePrompt.d.ts.map +1 -1
  6. package/dist/commonjs/prompts/FindPlacesNearbyPrompt.d.ts +1 -1
  7. package/dist/commonjs/prompts/FindPlacesNearbyPrompt.d.ts.map +1 -1
  8. package/dist/commonjs/prompts/GetDirectionsPrompt.d.ts +1 -1
  9. package/dist/commonjs/prompts/GetDirectionsPrompt.d.ts.map +1 -1
  10. package/dist/commonjs/prompts/SearchAlongRoutePrompt.d.ts +1 -1
  11. package/dist/commonjs/prompts/SearchAlongRoutePrompt.d.ts.map +1 -1
  12. package/dist/commonjs/prompts/ShowReachableAreasPrompt.d.ts +1 -1
  13. package/dist/commonjs/prompts/ShowReachableAreasPrompt.d.ts.map +1 -1
  14. package/dist/commonjs/resources/BaseResource.d.ts +2 -4
  15. package/dist/commonjs/resources/BaseResource.d.ts.map +1 -1
  16. package/dist/commonjs/resources/BaseResource.js +4 -4
  17. package/dist/commonjs/resources/BaseResource.js.map +1 -1
  18. package/dist/commonjs/resources/MapboxApiBasedResource.d.ts +2 -3
  19. package/dist/commonjs/resources/MapboxApiBasedResource.d.ts.map +1 -1
  20. package/dist/commonjs/resources/MapboxApiBasedResource.js +1 -1
  21. package/dist/commonjs/resources/MapboxApiBasedResource.js.map +1 -1
  22. package/dist/commonjs/resources/category-list/CategoryListResource.d.ts +1 -1
  23. package/dist/commonjs/resources/category-list/CategoryListResource.d.ts.map +1 -1
  24. package/dist/commonjs/resources/compute/ComputeResource.d.ts +2 -3
  25. package/dist/commonjs/resources/compute/ComputeResource.d.ts.map +1 -1
  26. package/dist/commonjs/resources/compute/ComputeResource.js.map +1 -1
  27. package/dist/commonjs/resources/inline-payload/InlinePayloadResource.d.ts +2 -3
  28. package/dist/commonjs/resources/inline-payload/InlinePayloadResource.d.ts.map +1 -1
  29. package/dist/commonjs/resources/inline-payload/InlinePayloadResource.js.map +1 -1
  30. package/dist/commonjs/resources/place-photo/PlacePhotoResource.d.ts +1 -1
  31. package/dist/commonjs/resources/place-photo/PlacePhotoResource.d.ts.map +1 -1
  32. package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts +2 -3
  33. package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts.map +1 -1
  34. package/dist/commonjs/resources/temporary/TemporaryDataResource.js +1 -1
  35. package/dist/commonjs/resources/temporary/TemporaryDataResource.js.map +1 -1
  36. package/dist/commonjs/resources/tool-response/ToolResponseResource.d.ts +1 -1
  37. package/dist/commonjs/resources/tool-response/ToolResponseResource.d.ts.map +1 -1
  38. package/dist/commonjs/resources/ui-apps/MapAppUIResource.d.ts +2 -3
  39. package/dist/commonjs/resources/ui-apps/MapAppUIResource.d.ts.map +1 -1
  40. package/dist/commonjs/resources/ui-apps/MapAppUIResource.js +1 -1
  41. package/dist/commonjs/resources/ui-apps/MapAppUIResource.js.map +1 -1
  42. package/dist/commonjs/resources/version/VersionResource.d.ts +1 -1
  43. package/dist/commonjs/resources/version/VersionResource.d.ts.map +1 -1
  44. package/dist/commonjs/tools/BaseTool.d.ts +2 -4
  45. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
  46. package/dist/commonjs/tools/BaseTool.js +19 -4
  47. package/dist/commonjs/tools/BaseTool.js.map +1 -1
  48. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts +2 -3
  49. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -1
  50. package/dist/commonjs/tools/MapboxApiBasedTool.js +2 -4
  51. package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -1
  52. package/dist/commonjs/tools/area-tool/AreaTool.d.ts +1 -1
  53. package/dist/commonjs/tools/area-tool/AreaTool.d.ts.map +1 -1
  54. package/dist/commonjs/tools/area-tool/AreaTool.input.schema.d.ts +1 -1
  55. package/dist/commonjs/tools/bearing-tool/BearingTool.d.ts +1 -1
  56. package/dist/commonjs/tools/bearing-tool/BearingTool.d.ts.map +1 -1
  57. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.d.ts +1 -1
  58. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.d.ts.map +1 -1
  59. package/dist/commonjs/tools/buffer-tool/BufferTool.d.ts +1 -1
  60. package/dist/commonjs/tools/buffer-tool/BufferTool.d.ts.map +1 -1
  61. package/dist/commonjs/tools/buffer-tool/BufferTool.input.schema.d.ts +1 -1
  62. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts +1 -1
  63. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  64. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts +1 -1
  65. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  66. package/dist/commonjs/tools/centroid-tool/CentroidTool.d.ts +1 -1
  67. package/dist/commonjs/tools/centroid-tool/CentroidTool.d.ts.map +1 -1
  68. package/dist/commonjs/tools/convex-tool/ConvexTool.d.ts +1 -1
  69. package/dist/commonjs/tools/convex-tool/ConvexTool.d.ts.map +1 -1
  70. package/dist/commonjs/tools/destination-tool/DestinationTool.d.ts +1 -1
  71. package/dist/commonjs/tools/destination-tool/DestinationTool.d.ts.map +1 -1
  72. package/dist/commonjs/tools/destination-tool/DestinationTool.input.schema.d.ts +1 -1
  73. package/dist/commonjs/tools/difference-tool/DifferenceTool.d.ts +1 -1
  74. package/dist/commonjs/tools/difference-tool/DifferenceTool.d.ts.map +1 -1
  75. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts +1 -1
  76. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  77. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts +4 -0
  78. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -1
  79. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js +19 -3
  80. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -1
  81. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +7 -2
  82. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
  83. package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.d.ts +1 -0
  84. package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.d.ts.map +1 -1
  85. package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.js +15 -2
  86. package/dist/commonjs/tools/directions-tool/buildDirectionsRequestUrl.js.map +1 -1
  87. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts +3 -3
  88. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
  89. package/dist/commonjs/tools/directions-tool/cleanResponseData.js +33 -20
  90. package/dist/commonjs/tools/directions-tool/cleanResponseData.js.map +1 -1
  91. package/dist/commonjs/tools/distance-tool/DistanceTool.d.ts +1 -1
  92. package/dist/commonjs/tools/distance-tool/DistanceTool.d.ts.map +1 -1
  93. package/dist/commonjs/tools/distance-tool/DistanceTool.input.schema.d.ts +2 -2
  94. package/dist/commonjs/tools/feedback-tool/FeedbackTool.d.ts +38 -0
  95. package/dist/commonjs/tools/feedback-tool/FeedbackTool.d.ts.map +1 -0
  96. package/dist/commonjs/tools/feedback-tool/FeedbackTool.input.schema.d.ts +41 -0
  97. package/dist/commonjs/tools/feedback-tool/FeedbackTool.input.schema.d.ts.map +1 -0
  98. package/dist/commonjs/tools/feedback-tool/FeedbackTool.input.schema.js +65 -0
  99. package/dist/commonjs/tools/feedback-tool/FeedbackTool.input.schema.js.map +1 -0
  100. package/dist/commonjs/tools/feedback-tool/FeedbackTool.js +229 -0
  101. package/dist/commonjs/tools/feedback-tool/FeedbackTool.js.map +1 -0
  102. package/dist/commonjs/tools/feedback-tool/FeedbackTool.output.schema.d.ts +23 -0
  103. package/dist/commonjs/tools/feedback-tool/FeedbackTool.output.schema.d.ts.map +1 -0
  104. package/dist/commonjs/tools/feedback-tool/FeedbackTool.output.schema.js +37 -0
  105. package/dist/commonjs/tools/feedback-tool/FeedbackTool.output.schema.js.map +1 -0
  106. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.d.ts +1 -1
  107. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
  108. package/dist/commonjs/tools/index.d.ts +4 -0
  109. package/dist/commonjs/tools/index.d.ts.map +1 -1
  110. package/dist/commonjs/tools/index.js +6 -1
  111. package/dist/commonjs/tools/index.js.map +1 -1
  112. package/dist/commonjs/tools/intersect-tool/IntersectTool.d.ts +1 -1
  113. package/dist/commonjs/tools/intersect-tool/IntersectTool.d.ts.map +1 -1
  114. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts +1 -1
  115. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  116. package/dist/commonjs/tools/length-tool/LengthTool.d.ts +1 -1
  117. package/dist/commonjs/tools/length-tool/LengthTool.d.ts.map +1 -1
  118. package/dist/commonjs/tools/length-tool/LengthTool.input.schema.d.ts +1 -1
  119. package/dist/commonjs/tools/lenientOutputSchema.d.ts +16 -0
  120. package/dist/commonjs/tools/lenientOutputSchema.d.ts.map +1 -0
  121. package/dist/commonjs/tools/lenientOutputSchema.js +36 -0
  122. package/dist/commonjs/tools/lenientOutputSchema.js.map +1 -0
  123. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.d.ts +35 -0
  124. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.d.ts.map +1 -0
  125. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.input.schema.d.ts +12 -0
  126. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.input.schema.d.ts.map +1 -0
  127. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.input.schema.js +22 -0
  128. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.input.schema.js.map +1 -0
  129. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.js +196 -0
  130. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.js.map +1 -0
  131. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.output.schema.d.ts +25 -0
  132. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.output.schema.d.ts.map +1 -0
  133. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.output.schema.js +29 -0
  134. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.output.schema.js.map +1 -0
  135. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.d.ts +1 -1
  136. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.d.ts.map +1 -1
  137. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts +1 -1
  138. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  139. package/dist/commonjs/tools/midpoint-tool/MidpointTool.d.ts +1 -1
  140. package/dist/commonjs/tools/midpoint-tool/MidpointTool.d.ts.map +1 -1
  141. package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.d.ts +1 -1
  142. package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.d.ts.map +1 -1
  143. package/dist/commonjs/tools/nearest-point-on-line-tool/NearestPointOnLineTool.input.schema.d.ts +1 -1
  144. package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.d.ts +1 -1
  145. package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.d.ts.map +1 -1
  146. package/dist/commonjs/tools/nearest-point-tool/NearestPointTool.input.schema.d.ts +1 -1
  147. package/dist/commonjs/tools/optimization-tool/OptimizationTool.d.ts +1 -1
  148. package/dist/commonjs/tools/optimization-tool/OptimizationTool.d.ts.map +1 -1
  149. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts +1 -1
  150. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -1
  151. package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.d.ts +1 -1
  152. package/dist/commonjs/tools/points-within-polygon-tool/PointsWithinPolygonTool.d.ts.map +1 -1
  153. package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts +2 -3
  154. package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts.map +1 -1
  155. package/dist/commonjs/tools/render-map-tool/RenderMapTool.js +2 -4
  156. package/dist/commonjs/tools/render-map-tool/RenderMapTool.js.map +1 -1
  157. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.d.ts +2 -3
  158. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -1
  159. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js +2 -6
  160. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -1
  161. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +1 -1
  162. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  163. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +1 -1
  164. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  165. package/dist/commonjs/tools/simplify-tool/SimplifyTool.d.ts +1 -1
  166. package/dist/commonjs/tools/simplify-tool/SimplifyTool.d.ts.map +1 -1
  167. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts +1 -1
  168. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  169. package/dist/commonjs/tools/toolRegistry.d.ts +4 -2
  170. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
  171. package/dist/commonjs/tools/toolRegistry.js +4 -0
  172. package/dist/commonjs/tools/toolRegistry.js.map +1 -1
  173. package/dist/commonjs/tools/union-tool/UnionTool.d.ts +1 -1
  174. package/dist/commonjs/tools/union-tool/UnionTool.d.ts.map +1 -1
  175. package/dist/commonjs/tools/validateOutput.d.ts +1 -1
  176. package/dist/commonjs/tools/validateOutput.d.ts.map +1 -1
  177. package/dist/commonjs/utils/directionsRef.d.ts.map +1 -1
  178. package/dist/commonjs/utils/directionsRef.js +3 -0
  179. package/dist/commonjs/utils/directionsRef.js.map +1 -1
  180. package/dist/commonjs/utils/index.js +2 -2
  181. package/dist/commonjs/utils/index.js.map +1 -1
  182. package/dist/commonjs/utils/jsonSchema2020.d.ts +8 -14
  183. package/dist/commonjs/utils/jsonSchema2020.d.ts.map +1 -1
  184. package/dist/commonjs/utils/jsonSchema2020.js +8 -40
  185. package/dist/commonjs/utils/jsonSchema2020.js.map +1 -1
  186. package/dist/commonjs/utils/serverInstructions.d.ts.map +1 -1
  187. package/dist/commonjs/utils/serverInstructions.js +3 -0
  188. package/dist/commonjs/utils/serverInstructions.js.map +1 -1
  189. package/dist/commonjs/utils/urlSafety.d.ts.map +1 -1
  190. package/dist/commonjs/utils/urlSafety.js +4 -3
  191. package/dist/commonjs/utils/urlSafety.js.map +1 -1
  192. package/dist/commonjs/version.json +3 -3
  193. package/dist/esm/index.js +9 -9
  194. package/dist/esm/index.js.map +1 -1
  195. package/dist/esm/prompts/BasePrompt.d.ts +1 -1
  196. package/dist/esm/prompts/BasePrompt.d.ts.map +1 -1
  197. package/dist/esm/prompts/FindPlacesNearbyPrompt.d.ts +1 -1
  198. package/dist/esm/prompts/FindPlacesNearbyPrompt.d.ts.map +1 -1
  199. package/dist/esm/prompts/GetDirectionsPrompt.d.ts +1 -1
  200. package/dist/esm/prompts/GetDirectionsPrompt.d.ts.map +1 -1
  201. package/dist/esm/prompts/SearchAlongRoutePrompt.d.ts +1 -1
  202. package/dist/esm/prompts/SearchAlongRoutePrompt.d.ts.map +1 -1
  203. package/dist/esm/prompts/ShowReachableAreasPrompt.d.ts +1 -1
  204. package/dist/esm/prompts/ShowReachableAreasPrompt.d.ts.map +1 -1
  205. package/dist/esm/resources/BaseResource.d.ts +2 -4
  206. package/dist/esm/resources/BaseResource.d.ts.map +1 -1
  207. package/dist/esm/resources/BaseResource.js +3 -3
  208. package/dist/esm/resources/BaseResource.js.map +1 -1
  209. package/dist/esm/resources/MapboxApiBasedResource.d.ts +2 -3
  210. package/dist/esm/resources/MapboxApiBasedResource.d.ts.map +1 -1
  211. package/dist/esm/resources/MapboxApiBasedResource.js +1 -1
  212. package/dist/esm/resources/MapboxApiBasedResource.js.map +1 -1
  213. package/dist/esm/resources/category-list/CategoryListResource.d.ts +1 -1
  214. package/dist/esm/resources/category-list/CategoryListResource.d.ts.map +1 -1
  215. package/dist/esm/resources/compute/ComputeResource.d.ts +2 -3
  216. package/dist/esm/resources/compute/ComputeResource.d.ts.map +1 -1
  217. package/dist/esm/resources/compute/ComputeResource.js.map +1 -1
  218. package/dist/esm/resources/inline-payload/InlinePayloadResource.d.ts +2 -3
  219. package/dist/esm/resources/inline-payload/InlinePayloadResource.d.ts.map +1 -1
  220. package/dist/esm/resources/inline-payload/InlinePayloadResource.js.map +1 -1
  221. package/dist/esm/resources/place-photo/PlacePhotoResource.d.ts +1 -1
  222. package/dist/esm/resources/place-photo/PlacePhotoResource.d.ts.map +1 -1
  223. package/dist/esm/resources/temporary/TemporaryDataResource.d.ts +2 -3
  224. package/dist/esm/resources/temporary/TemporaryDataResource.d.ts.map +1 -1
  225. package/dist/esm/resources/temporary/TemporaryDataResource.js +1 -1
  226. package/dist/esm/resources/temporary/TemporaryDataResource.js.map +1 -1
  227. package/dist/esm/resources/tool-response/ToolResponseResource.d.ts +1 -1
  228. package/dist/esm/resources/tool-response/ToolResponseResource.d.ts.map +1 -1
  229. package/dist/esm/resources/ui-apps/MapAppUIResource.d.ts +2 -3
  230. package/dist/esm/resources/ui-apps/MapAppUIResource.d.ts.map +1 -1
  231. package/dist/esm/resources/ui-apps/MapAppUIResource.js +1 -1
  232. package/dist/esm/resources/ui-apps/MapAppUIResource.js.map +1 -1
  233. package/dist/esm/resources/version/VersionResource.d.ts +1 -1
  234. package/dist/esm/resources/version/VersionResource.d.ts.map +1 -1
  235. package/dist/esm/tools/BaseTool.d.ts +2 -4
  236. package/dist/esm/tools/BaseTool.d.ts.map +1 -1
  237. package/dist/esm/tools/BaseTool.js +19 -4
  238. package/dist/esm/tools/BaseTool.js.map +1 -1
  239. package/dist/esm/tools/MapboxApiBasedTool.d.ts +2 -3
  240. package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -1
  241. package/dist/esm/tools/MapboxApiBasedTool.js +2 -4
  242. package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -1
  243. package/dist/esm/tools/area-tool/AreaTool.d.ts +1 -1
  244. package/dist/esm/tools/area-tool/AreaTool.d.ts.map +1 -1
  245. package/dist/esm/tools/area-tool/AreaTool.input.schema.d.ts +1 -1
  246. package/dist/esm/tools/bearing-tool/BearingTool.d.ts +1 -1
  247. package/dist/esm/tools/bearing-tool/BearingTool.d.ts.map +1 -1
  248. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.d.ts +1 -1
  249. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.d.ts.map +1 -1
  250. package/dist/esm/tools/buffer-tool/BufferTool.d.ts +1 -1
  251. package/dist/esm/tools/buffer-tool/BufferTool.d.ts.map +1 -1
  252. package/dist/esm/tools/buffer-tool/BufferTool.input.schema.d.ts +1 -1
  253. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts +1 -1
  254. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  255. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts +1 -1
  256. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  257. package/dist/esm/tools/centroid-tool/CentroidTool.d.ts +1 -1
  258. package/dist/esm/tools/centroid-tool/CentroidTool.d.ts.map +1 -1
  259. package/dist/esm/tools/convex-tool/ConvexTool.d.ts +1 -1
  260. package/dist/esm/tools/convex-tool/ConvexTool.d.ts.map +1 -1
  261. package/dist/esm/tools/destination-tool/DestinationTool.d.ts +1 -1
  262. package/dist/esm/tools/destination-tool/DestinationTool.d.ts.map +1 -1
  263. package/dist/esm/tools/destination-tool/DestinationTool.input.schema.d.ts +1 -1
  264. package/dist/esm/tools/difference-tool/DifferenceTool.d.ts +1 -1
  265. package/dist/esm/tools/difference-tool/DifferenceTool.d.ts.map +1 -1
  266. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +1 -1
  267. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  268. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts +4 -0
  269. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -1
  270. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js +19 -3
  271. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -1
  272. package/dist/esm/tools/directions-tool/DirectionsTool.js +7 -2
  273. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
  274. package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.d.ts +1 -0
  275. package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.d.ts.map +1 -1
  276. package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.js +15 -2
  277. package/dist/esm/tools/directions-tool/buildDirectionsRequestUrl.js.map +1 -1
  278. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts +3 -3
  279. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
  280. package/dist/esm/tools/directions-tool/cleanResponseData.js +33 -20
  281. package/dist/esm/tools/directions-tool/cleanResponseData.js.map +1 -1
  282. package/dist/esm/tools/distance-tool/DistanceTool.d.ts +1 -1
  283. package/dist/esm/tools/distance-tool/DistanceTool.d.ts.map +1 -1
  284. package/dist/esm/tools/distance-tool/DistanceTool.input.schema.d.ts +2 -2
  285. package/dist/esm/tools/feedback-tool/FeedbackTool.d.ts +38 -0
  286. package/dist/esm/tools/feedback-tool/FeedbackTool.d.ts.map +1 -0
  287. package/dist/esm/tools/feedback-tool/FeedbackTool.input.schema.d.ts +41 -0
  288. package/dist/esm/tools/feedback-tool/FeedbackTool.input.schema.d.ts.map +1 -0
  289. package/dist/esm/tools/feedback-tool/FeedbackTool.input.schema.js +62 -0
  290. package/dist/esm/tools/feedback-tool/FeedbackTool.input.schema.js.map +1 -0
  291. package/dist/esm/tools/feedback-tool/FeedbackTool.js +225 -0
  292. package/dist/esm/tools/feedback-tool/FeedbackTool.js.map +1 -0
  293. package/dist/esm/tools/feedback-tool/FeedbackTool.output.schema.d.ts +23 -0
  294. package/dist/esm/tools/feedback-tool/FeedbackTool.output.schema.d.ts.map +1 -0
  295. package/dist/esm/tools/feedback-tool/FeedbackTool.output.schema.js +34 -0
  296. package/dist/esm/tools/feedback-tool/FeedbackTool.output.schema.js.map +1 -0
  297. package/dist/esm/tools/ground-location-tool/GroundLocationTool.d.ts +1 -1
  298. package/dist/esm/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
  299. package/dist/esm/tools/index.d.ts +4 -0
  300. package/dist/esm/tools/index.d.ts.map +1 -1
  301. package/dist/esm/tools/index.js +4 -0
  302. package/dist/esm/tools/index.js.map +1 -1
  303. package/dist/esm/tools/intersect-tool/IntersectTool.d.ts +1 -1
  304. package/dist/esm/tools/intersect-tool/IntersectTool.d.ts.map +1 -1
  305. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts +1 -1
  306. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  307. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +3 -3
  308. package/dist/esm/tools/length-tool/LengthTool.d.ts +1 -1
  309. package/dist/esm/tools/length-tool/LengthTool.d.ts.map +1 -1
  310. package/dist/esm/tools/length-tool/LengthTool.input.schema.d.ts +1 -1
  311. package/dist/esm/tools/lenientOutputSchema.d.ts +16 -0
  312. package/dist/esm/tools/lenientOutputSchema.d.ts.map +1 -0
  313. package/dist/esm/tools/lenientOutputSchema.js +33 -0
  314. package/dist/esm/tools/lenientOutputSchema.js.map +1 -0
  315. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.d.ts +35 -0
  316. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.d.ts.map +1 -0
  317. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.input.schema.d.ts +12 -0
  318. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.input.schema.d.ts.map +1 -0
  319. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.input.schema.js +16 -0
  320. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.input.schema.js.map +1 -0
  321. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.js +191 -0
  322. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.js.map +1 -0
  323. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.output.schema.d.ts +25 -0
  324. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.output.schema.d.ts.map +1 -0
  325. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.output.schema.js +26 -0
  326. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.output.schema.js.map +1 -0
  327. package/dist/esm/tools/map-matching-tool/MapMatchingTool.d.ts +1 -1
  328. package/dist/esm/tools/map-matching-tool/MapMatchingTool.d.ts.map +1 -1
  329. package/dist/esm/tools/map-matching-tool/MapMatchingTool.input.schema.d.ts +1 -1
  330. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts +1 -1
  331. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  332. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.d.ts +1 -1
  333. package/dist/esm/tools/midpoint-tool/MidpointTool.d.ts +1 -1
  334. package/dist/esm/tools/midpoint-tool/MidpointTool.d.ts.map +1 -1
  335. package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.d.ts +1 -1
  336. package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.d.ts.map +1 -1
  337. package/dist/esm/tools/nearest-point-on-line-tool/NearestPointOnLineTool.input.schema.d.ts +1 -1
  338. package/dist/esm/tools/nearest-point-tool/NearestPointTool.d.ts +1 -1
  339. package/dist/esm/tools/nearest-point-tool/NearestPointTool.d.ts.map +1 -1
  340. package/dist/esm/tools/nearest-point-tool/NearestPointTool.input.schema.d.ts +1 -1
  341. package/dist/esm/tools/optimization-tool/OptimizationTool.d.ts +1 -1
  342. package/dist/esm/tools/optimization-tool/OptimizationTool.d.ts.map +1 -1
  343. package/dist/esm/tools/optimization-tool/OptimizationTool.input.schema.d.ts +1 -1
  344. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts +1 -1
  345. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -1
  346. package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.d.ts +1 -1
  347. package/dist/esm/tools/points-within-polygon-tool/PointsWithinPolygonTool.d.ts.map +1 -1
  348. package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts +2 -3
  349. package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts.map +1 -1
  350. package/dist/esm/tools/render-map-tool/RenderMapTool.js +2 -4
  351. package/dist/esm/tools/render-map-tool/RenderMapTool.js.map +1 -1
  352. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.d.ts +2 -3
  353. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -1
  354. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js +2 -6
  355. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -1
  356. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +1 -1
  357. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  358. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +1 -1
  359. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  360. package/dist/esm/tools/simplify-tool/SimplifyTool.d.ts +1 -1
  361. package/dist/esm/tools/simplify-tool/SimplifyTool.d.ts.map +1 -1
  362. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +1 -1
  363. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  364. package/dist/esm/tools/toolRegistry.d.ts +4 -2
  365. package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
  366. package/dist/esm/tools/toolRegistry.js +4 -0
  367. package/dist/esm/tools/toolRegistry.js.map +1 -1
  368. package/dist/esm/tools/union-tool/UnionTool.d.ts +1 -1
  369. package/dist/esm/tools/union-tool/UnionTool.d.ts.map +1 -1
  370. package/dist/esm/tools/validateOutput.d.ts +1 -1
  371. package/dist/esm/tools/validateOutput.d.ts.map +1 -1
  372. package/dist/esm/utils/directionsRef.d.ts.map +1 -1
  373. package/dist/esm/utils/directionsRef.js +3 -0
  374. package/dist/esm/utils/directionsRef.js.map +1 -1
  375. package/dist/esm/utils/index.js +2 -2
  376. package/dist/esm/utils/index.js.map +1 -1
  377. package/dist/esm/utils/jsonSchema2020.d.ts +8 -14
  378. package/dist/esm/utils/jsonSchema2020.d.ts.map +1 -1
  379. package/dist/esm/utils/jsonSchema2020.js +8 -40
  380. package/dist/esm/utils/jsonSchema2020.js.map +1 -1
  381. package/dist/esm/utils/serverInstructions.d.ts.map +1 -1
  382. package/dist/esm/utils/serverInstructions.js +3 -0
  383. package/dist/esm/utils/serverInstructions.js.map +1 -1
  384. package/dist/esm/utils/urlSafety.d.ts.map +1 -1
  385. package/dist/esm/utils/urlSafety.js +4 -3
  386. package/dist/esm/utils/urlSafety.js.map +1 -1
  387. package/dist/esm/version.json +3 -3
  388. package/package.json +7 -3
  389. package/patches/README.md +10 -34
  390. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.d.ts +0 -10
  391. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.d.ts.map +0 -1
  392. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.input.schema.d.ts +0 -93
  393. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.input.schema.d.ts.map +0 -1
  394. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.input.schema.js +0 -186
  395. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.input.schema.js.map +0 -1
  396. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.js +0 -332
  397. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.js.map +0 -1
  398. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.output.schema.d.ts +0 -34
  399. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.output.schema.d.ts.map +0 -1
  400. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.output.schema.js +0 -109
  401. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.output.schema.js.map +0 -1
  402. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.d.ts +0 -10
  403. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.d.ts.map +0 -1
  404. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.input.schema.d.ts +0 -93
  405. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.input.schema.d.ts.map +0 -1
  406. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.input.schema.js +0 -180
  407. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.input.schema.js.map +0 -1
  408. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.js +0 -329
  409. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.js.map +0 -1
  410. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.output.schema.d.ts +0 -34
  411. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.output.schema.d.ts.map +0 -1
  412. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.output.schema.js +0 -106
  413. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.output.schema.js.map +0 -1
  414. package/patches/@modelcontextprotocol+sdk+1.30.0.patch +0 -66
@@ -1,93 +0,0 @@
1
- import z from 'zod';
2
- export declare const OptimizationV2InputSchema: z.ZodObject<{
3
- coordinates: z.ZodArray<z.ZodObject<{
4
- longitude: z.ZodNumber;
5
- latitude: z.ZodNumber;
6
- }, z.core.$strip>>;
7
- profile: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
8
- "mapbox/driving-traffic": "mapbox/driving-traffic";
9
- "mapbox/driving": "mapbox/driving";
10
- "mapbox/walking": "mapbox/walking";
11
- "mapbox/cycling": "mapbox/cycling";
12
- }>>>;
13
- vehicles: z.ZodOptional<z.ZodArray<z.ZodObject<{
14
- name: z.ZodString;
15
- routing_profile: z.ZodOptional<z.ZodEnum<{
16
- "mapbox/driving-traffic": "mapbox/driving-traffic";
17
- "mapbox/driving": "mapbox/driving";
18
- "mapbox/walking": "mapbox/walking";
19
- "mapbox/cycling": "mapbox/cycling";
20
- }>>;
21
- start_location: z.ZodOptional<z.ZodString>;
22
- end_location: z.ZodOptional<z.ZodString>;
23
- capacities: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
24
- capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
25
- earliest_start: z.ZodOptional<z.ZodString>;
26
- latest_end: z.ZodOptional<z.ZodString>;
27
- breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
28
- earliest_start: z.ZodString;
29
- latest_end: z.ZodString;
30
- duration: z.ZodNumber;
31
- }, z.core.$strip>>>;
32
- loading_policy: z.ZodOptional<z.ZodEnum<{
33
- any: "any";
34
- fifo: "fifo";
35
- lifo: "lifo";
36
- }>>;
37
- }, z.core.$strip>>>;
38
- services: z.ZodOptional<z.ZodArray<z.ZodObject<{
39
- name: z.ZodString;
40
- location: z.ZodString;
41
- duration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
42
- requirements: z.ZodOptional<z.ZodArray<z.ZodString>>;
43
- service_times: z.ZodOptional<z.ZodArray<z.ZodObject<{
44
- earliest: z.ZodString;
45
- latest: z.ZodString;
46
- type: z.ZodOptional<z.ZodEnum<{
47
- strict: "strict";
48
- soft: "soft";
49
- soft_start: "soft_start";
50
- soft_end: "soft_end";
51
- }>>;
52
- }, z.core.$strip>>>;
53
- }, z.core.$strip>>>;
54
- shipments: z.ZodOptional<z.ZodArray<z.ZodObject<{
55
- name: z.ZodString;
56
- from: z.ZodString;
57
- to: z.ZodString;
58
- size: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
59
- requirements: z.ZodOptional<z.ZodArray<z.ZodString>>;
60
- pickup_duration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
61
- dropoff_duration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
62
- pickup_times: z.ZodOptional<z.ZodArray<z.ZodObject<{
63
- earliest: z.ZodString;
64
- latest: z.ZodString;
65
- type: z.ZodOptional<z.ZodEnum<{
66
- strict: "strict";
67
- soft: "soft";
68
- soft_start: "soft_start";
69
- soft_end: "soft_end";
70
- }>>;
71
- }, z.core.$strip>>>;
72
- dropoff_times: z.ZodOptional<z.ZodArray<z.ZodObject<{
73
- earliest: z.ZodString;
74
- latest: z.ZodString;
75
- type: z.ZodOptional<z.ZodEnum<{
76
- strict: "strict";
77
- soft: "soft";
78
- soft_start: "soft_start";
79
- soft_end: "soft_end";
80
- }>>;
81
- }, z.core.$strip>>>;
82
- }, z.core.$strip>>>;
83
- options: z.ZodOptional<z.ZodObject<{
84
- objectives: z.ZodOptional<z.ZodArray<z.ZodEnum<{
85
- "min-total-travel-duration": "min-total-travel-duration";
86
- "min-schedule-completion-time": "min-schedule-completion-time";
87
- }>>>;
88
- }, z.core.$strip>>;
89
- max_polling_attempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
90
- polling_interval_ms: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
91
- }, z.core.$strip>;
92
- export type OptimizationV2Input = z.infer<typeof OptimizationV2InputSchema>;
93
- //# sourceMappingURL=OptimizationV2Tool.input.schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptimizationV2Tool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/optimization-tool/OptimizationV2Tool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAC;AA+JpB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkDpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -1,186 +0,0 @@
1
- "use strict";
2
- // Copyright (c) Mapbox, Inc.
3
- // Licensed under the MIT License.
4
- var __importDefault = (this && this.__importDefault) || function (mod) {
5
- return (mod && mod.__esModule) ? mod : { "default": mod };
6
- };
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.OptimizationV2InputSchema = void 0;
9
- const zod_1 = __importDefault(require("zod"));
10
- const shared_js_1 = require("../../schemas/shared.js");
11
- // Profile schema (driving, walking, cycling, driving-traffic)
12
- const profileSchema = zod_1.default
13
- .enum([
14
- 'mapbox/driving',
15
- 'mapbox/walking',
16
- 'mapbox/cycling',
17
- 'mapbox/driving-traffic'
18
- ])
19
- .describe('Routing profile');
20
- /**
21
- * Input schema for OptimizationV2Tool (V2 API - Beta)
22
- *
23
- * The V2 API is currently in beta and requires early access.
24
- * Supports advanced features: time windows, capacity limits, vehicle capabilities,
25
- * shipments, breaks, and more.
26
- */
27
- const optionsSchema = zod_1.default.object({
28
- objectives: zod_1.default
29
- .array(zod_1.default.enum(['min-total-travel-duration', 'min-schedule-completion-time']))
30
- .optional()
31
- .describe('Optimization objectives')
32
- });
33
- const iso8601Schema = zod_1.default
34
- .string()
35
- .regex(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?([+-]\d{2}:\d{2}|Z)?$/, 'Must be a valid ISO 8601 datetime string (e.g., 2023-07-22T14:29:23-07:00)');
36
- const timeWindowSchema = zod_1.default.object({
37
- earliest: iso8601Schema.describe('Earliest time for this window'),
38
- latest: iso8601Schema.describe('Latest time for this window'),
39
- type: zod_1.default
40
- .enum(['strict', 'soft', 'soft_start', 'soft_end'])
41
- .optional()
42
- .describe('Type of time window constraint')
43
- });
44
- const vehicleBreakSchema = zod_1.default.object({
45
- earliest_start: iso8601Schema.describe('Earliest start time for break'),
46
- latest_end: iso8601Schema.describe('Latest end time for break'),
47
- duration: zod_1.default.number().int().positive().describe('Break duration in seconds')
48
- });
49
- const vehicleSchema = zod_1.default.object({
50
- name: zod_1.default.string().describe('Unique identifier for this vehicle'),
51
- routing_profile: profileSchema
52
- .optional()
53
- .describe('Routing profile for this vehicle'),
54
- start_location: zod_1.default
55
- .string()
56
- .optional()
57
- .describe('Starting location as a STRING name (e.g., "location-0" for coordinates[0], NOT the integer 0)'),
58
- end_location: zod_1.default
59
- .string()
60
- .optional()
61
- .describe('Ending location as a STRING name (e.g., "location-0" for coordinates[0], NOT the integer 0)'),
62
- capacities: zod_1.default
63
- .record(zod_1.default.string(), zod_1.default.number())
64
- .optional()
65
- .describe('Custom capacity dimensions (e.g., weight, volume)'),
66
- capabilities: zod_1.default
67
- .array(zod_1.default.string())
68
- .optional()
69
- .describe('Required vehicle capabilities'),
70
- earliest_start: iso8601Schema
71
- .optional()
72
- .describe('Earliest operation start time'),
73
- latest_end: iso8601Schema.optional().describe('Latest operation end time'),
74
- breaks: zod_1.default
75
- .array(vehicleBreakSchema)
76
- .optional()
77
- .describe('Vehicle break requirements'),
78
- loading_policy: zod_1.default
79
- .enum(['any', 'fifo', 'lifo'])
80
- .optional()
81
- .describe('Loading/unloading policy')
82
- });
83
- const serviceSchema = zod_1.default.object({
84
- name: zod_1.default.string().describe('Unique identifier for this service'),
85
- location: zod_1.default
86
- .string()
87
- .describe('Location as a STRING name where service is performed. Use "location-0" for coordinates[0], "location-1" for coordinates[1], etc. (NOT integers like 0, 1, 2)'),
88
- duration: zod_1.default
89
- .number()
90
- .int()
91
- .nonnegative()
92
- .optional()
93
- .default(0)
94
- .describe('Service duration in seconds'),
95
- requirements: zod_1.default
96
- .array(zod_1.default.string())
97
- .optional()
98
- .describe('Required vehicle capabilities'),
99
- service_times: zod_1.default
100
- .array(timeWindowSchema)
101
- .optional()
102
- .describe('Time window constraints for service')
103
- });
104
- const shipmentSchema = zod_1.default.object({
105
- name: zod_1.default.string().describe('Unique identifier for this shipment'),
106
- from: zod_1.default
107
- .string()
108
- .describe('Pickup location as a STRING name (e.g., "location-0" for coordinates[0], NOT the integer 0)'),
109
- to: zod_1.default
110
- .string()
111
- .describe('Delivery location as a STRING name (e.g., "location-0" for coordinates[0], NOT the integer 0)'),
112
- size: zod_1.default
113
- .record(zod_1.default.string(), zod_1.default.number())
114
- .optional()
115
- .describe('Capacity consumption (weight, volume, etc.)'),
116
- requirements: zod_1.default
117
- .array(zod_1.default.string())
118
- .optional()
119
- .describe('Required vehicle capabilities'),
120
- pickup_duration: zod_1.default
121
- .number()
122
- .int()
123
- .nonnegative()
124
- .optional()
125
- .default(0)
126
- .describe('Pickup duration in seconds'),
127
- dropoff_duration: zod_1.default
128
- .number()
129
- .int()
130
- .nonnegative()
131
- .optional()
132
- .default(0)
133
- .describe('Dropoff duration in seconds'),
134
- pickup_times: zod_1.default
135
- .array(timeWindowSchema)
136
- .optional()
137
- .describe('Time window constraints for pickup'),
138
- dropoff_times: zod_1.default
139
- .array(timeWindowSchema)
140
- .optional()
141
- .describe('Time window constraints for dropoff')
142
- });
143
- exports.OptimizationV2InputSchema = zod_1.default.object({
144
- coordinates: zod_1.default
145
- .array(shared_js_1.coordinateSchema)
146
- .min(2, 'At least 2 coordinates are required')
147
- .max(1000, 'Maximum 1000 coordinates allowed')
148
- .describe('Array of {longitude, latitude} coordinate pairs to optimize a route through. ' +
149
- 'Must include at least 2 coordinate pairs. ' +
150
- 'Up to 1000 coordinates total are supported.'),
151
- profile: profileSchema
152
- .optional()
153
- .default('mapbox/driving')
154
- .describe('Routing profile to use for optimization'),
155
- vehicles: zod_1.default
156
- .array(vehicleSchema)
157
- .optional()
158
- .describe('Array of vehicle objects. If not provided, a default vehicle will be created automatically. ' +
159
- 'IMPORTANT: If you provide vehicles, you MUST also provide either "services" or "shipments" to define the stops each vehicle should visit.'),
160
- services: zod_1.default
161
- .array(serviceSchema)
162
- .optional()
163
- .describe('Array of service objects representing individual stops/tasks (e.g., deliveries, pickups, visits). ' +
164
- 'Each service is performed at a single location. Required when using custom vehicles.'),
165
- shipments: zod_1.default
166
- .array(shipmentSchema)
167
- .optional()
168
- .describe('Array of shipment objects representing paired pickup/delivery tasks. ' +
169
- 'Each shipment has a pickup location and a delivery location. Can be used with or instead of services when using custom vehicles.'),
170
- options: optionsSchema.optional().describe('Optimization options'),
171
- max_polling_attempts: zod_1.default
172
- .number()
173
- .int()
174
- .positive()
175
- .optional()
176
- .default(30)
177
- .describe('Maximum number of polling attempts (default: 30)'),
178
- polling_interval_ms: zod_1.default
179
- .number()
180
- .int()
181
- .positive()
182
- .optional()
183
- .default(1000)
184
- .describe('Polling interval in milliseconds (default: 1000)')
185
- });
186
- //# sourceMappingURL=OptimizationV2Tool.input.schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptimizationV2Tool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/optimization-tool/OptimizationV2Tool.input.schema.ts"],"names":[],"mappings":"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"}
@@ -1,332 +0,0 @@
1
- "use strict";
2
- // Copyright (c) Mapbox, Inc.
3
- // Licensed under the MIT License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.registerOptimizationV2Task = registerOptimizationV2Task;
6
- const OptimizationV2Tool_input_schema_js_1 = require("./OptimizationV2Tool.input.schema.js");
7
- const OptimizationV2Tool_output_schema_js_1 = require("./OptimizationV2Tool.output.schema.js");
8
- /**
9
- * OptimizationV2Tool - Advanced route optimization using Mapbox Optimization API V2 (BETA)
10
- *
11
- * ⚠️ IMPORTANT: This tool uses the V2 API which is currently in beta and requires early access.
12
- * The tool is not registered by default. To enable it, add it to the toolRegistry.
13
- *
14
- * V2 Features:
15
- * - Time window constraints for services and shipments
16
- * - Vehicle capacity limits for multiple resource types
17
- * - Driver shifts with earliest start and latest end times
18
- * - Pickup and dropoff constraints for shipment handling
19
- * - Vehicle capabilities requirements (e.g., refrigeration, ladder)
20
- * - Loading policies (FIFO, LIFO, or any order)
21
- * - Mandated breaks for vehicles
22
- *
23
- * API documentation: https://docs.mapbox.com/api/navigation/optimization/
24
- */
25
- /**
26
- * Helper function to validate JWT format
27
- */
28
- function isValidJwtFormat(token) {
29
- const parts = token.split('.');
30
- if (parts.length !== 3)
31
- return false;
32
- return parts.every((part) => part.length > 0);
33
- }
34
- /**
35
- * Helper function to get Mapbox API endpoint
36
- */
37
- function getMapboxApiEndpoint() {
38
- return process.env.MAPBOX_API_ENDPOINT || 'https://api.mapbox.com/';
39
- }
40
- /**
41
- * Core function to submit optimization job to Mapbox API
42
- */
43
- async function submitOptimizationJob(input, accessToken, httpRequest) {
44
- // Validate: If vehicles are provided, at least one service or shipment is required
45
- if (input.vehicles && input.vehicles.length > 0) {
46
- const hasServices = input.services && input.services.length > 0;
47
- const hasShipments = input.shipments && input.shipments.length > 0;
48
- if (!hasServices && !hasShipments) {
49
- throw new Error('When vehicles are provided, at least one service or shipment is required');
50
- }
51
- }
52
- // Convert simplified input to Optimization API v2 format
53
- // Create locations array with auto-generated names
54
- const locations = input.coordinates.map((coord, index) => ({
55
- name: `location-${index}`,
56
- coordinates: [coord.longitude, coord.latitude]
57
- }));
58
- // If vehicles are not provided, create a default vehicle
59
- let vehicles;
60
- let services;
61
- let shipments;
62
- if (!input.vehicles || input.vehicles.length === 0) {
63
- // Simplified mode: auto-generate vehicle and services from coordinates
64
- vehicles = [
65
- {
66
- name: 'vehicle-1',
67
- routing_profile: input.profile,
68
- start_location: 'location-0', // Start at first location
69
- end_location: 'location-0' // Return to first location
70
- }
71
- ];
72
- // Create services for all locations except the first (which is start/end)
73
- services = input.coordinates.slice(1).map((_, index) => ({
74
- name: `service-${index + 1}`,
75
- location: `location-${index + 1}`,
76
- duration: 0 // No service time by default
77
- }));
78
- }
79
- else {
80
- // Advanced mode: use provided vehicles, services, and shipments
81
- vehicles = input.vehicles;
82
- services = input.services || [];
83
- shipments = input.shipments;
84
- }
85
- // Build request body
86
- const requestBody = {
87
- version: 1,
88
- locations,
89
- vehicles,
90
- services
91
- };
92
- if (shipments && shipments.length > 0) {
93
- requestBody.shipments = shipments;
94
- }
95
- // Step 1: POST to create optimization job
96
- const postUrl = `${getMapboxApiEndpoint()}optimized-trips/v2?access_token=${accessToken}`;
97
- const postResponse = await httpRequest(postUrl, {
98
- method: 'POST',
99
- headers: { 'Content-Type': 'application/json' },
100
- body: JSON.stringify(requestBody)
101
- });
102
- if (!postResponse.ok) {
103
- const errorText = await postResponse.text();
104
- let errorMessage = `Request failed with status ${postResponse.status}: ${postResponse.statusText}`;
105
- try {
106
- const errorJson = JSON.parse(errorText);
107
- if (errorJson.message) {
108
- errorMessage = `${errorMessage} - ${errorJson.message}`;
109
- }
110
- }
111
- catch {
112
- // If parsing fails, use the raw text
113
- if (errorText) {
114
- errorMessage = `${errorMessage} - ${errorText}`;
115
- }
116
- }
117
- throw new Error(errorMessage);
118
- }
119
- const postData = (await postResponse.json());
120
- return {
121
- jobId: postData.id,
122
- status: postData.status
123
- };
124
- }
125
- /**
126
- * Core function to poll optimization job status
127
- */
128
- async function pollOptimizationJob(jobId, accessToken, httpRequest) {
129
- const getUrl = `${getMapboxApiEndpoint()}optimized-trips/v2/${jobId}?access_token=${accessToken}`;
130
- const getResponse = await httpRequest(getUrl);
131
- if (!getResponse.ok) {
132
- if (getResponse.status === 404) {
133
- return {
134
- status: 404,
135
- error: `Optimization job ${jobId} not found`
136
- };
137
- }
138
- return {
139
- status: getResponse.status,
140
- error: `Request failed with status ${getResponse.status}: ${getResponse.statusText}`
141
- };
142
- }
143
- // HTTP 200 means the optimization is complete
144
- if (getResponse.status === 200) {
145
- const result = (await getResponse.json());
146
- return {
147
- status: 200,
148
- data: result
149
- };
150
- }
151
- // HTTP 202 means still processing
152
- return {
153
- status: 202
154
- };
155
- }
156
- /**
157
- * Background polling function that runs until job completes
158
- */
159
- async function backgroundPollOptimizationJob(jobId, accessToken, httpRequest, taskStore, taskId, maxAttempts, pollingInterval) {
160
- let attempts = 0;
161
- while (attempts < maxAttempts) {
162
- try {
163
- const pollResult = await pollOptimizationJob(jobId, accessToken, httpRequest);
164
- if (pollResult.status === 200 && pollResult.data) {
165
- // Job completed successfully
166
- try {
167
- const validatedData = OptimizationV2Tool_output_schema_js_1.OptimizationV2OutputSchema.parse(pollResult.data);
168
- await taskStore.storeTaskResult(taskId, 'completed', {
169
- content: [
170
- { type: 'text', text: JSON.stringify(validatedData, null, 2) }
171
- ],
172
- structuredContent: validatedData
173
- });
174
- }
175
- catch {
176
- // If validation fails, return raw result anyway
177
- await taskStore.storeTaskResult(taskId, 'completed', {
178
- content: [
179
- { type: 'text', text: JSON.stringify(pollResult.data, null, 2) }
180
- ],
181
- structuredContent: pollResult.data
182
- });
183
- }
184
- return;
185
- }
186
- else if (pollResult.error) {
187
- // Job failed or not found
188
- await taskStore.storeTaskResult(taskId, 'failed', {
189
- content: [{ type: 'text', text: pollResult.error }],
190
- isError: true
191
- });
192
- return;
193
- }
194
- // Still processing (status 202), update task status
195
- await taskStore.updateTaskStatus(taskId, 'working', `Processing optimization job (attempt ${attempts + 1}/${maxAttempts})`);
196
- // Wait before next poll
197
- await new Promise((resolve) => setTimeout(resolve, pollingInterval));
198
- attempts++;
199
- }
200
- catch (error) {
201
- // Error during polling
202
- await taskStore.storeTaskResult(taskId, 'failed', {
203
- content: [
204
- {
205
- type: 'text',
206
- text: `Error polling optimization job: ${error instanceof Error ? error.message : String(error)}`
207
- }
208
- ],
209
- isError: true
210
- });
211
- return;
212
- }
213
- }
214
- // Timed out
215
- await taskStore.storeTaskResult(taskId, 'failed', {
216
- content: [
217
- {
218
- type: 'text',
219
- text: `Optimization timed out after ${maxAttempts} attempts. Job ID: ${jobId}. You can check the status later using the job ID.`
220
- }
221
- ],
222
- isError: true
223
- });
224
- }
225
- /**
226
- * Register the Optimization V2 tool as a task-based tool
227
- *
228
- * ⚠️ BETA: This tool uses the V2 API which requires early access.
229
- * Not registered by default - call this function manually to enable.
230
- */
231
- function registerOptimizationV2Task(server, httpRequest) {
232
- server.experimental.tasks.registerToolTask('optimization_v2_tool', {
233
- title: 'Optimization Tool V2 (Beta)',
234
- description: 'Solves vehicle routing problems using the Mapbox Optimization API v2 (Beta). ' +
235
- 'This is a long-running async task that submits an optimization job and polls for results. ' +
236
- 'Supports up to 1000 coordinates in {longitude, latitude} format. ' +
237
- 'Returns optimized routes with stops, ETAs, and dropped items. ' +
238
- '\n\n' +
239
- 'USAGE MODES:\n' +
240
- '1. SIMPLIFIED MODE (recommended for basic routing): Provide only "coordinates" and optionally "profile". ' +
241
- 'The tool will automatically create a default vehicle that visits all locations in optimized order, ' +
242
- 'starting and ending at the first coordinate.\n' +
243
- '2. ADVANCED MODE (for complex scenarios): If you specify "vehicles", you MUST also provide either ' +
244
- '"services" (single stops like deliveries or pickups) or "shipments" (paired pickup/dropoff tasks). ' +
245
- 'Each service/shipment defines a stop that vehicles must visit.\n' +
246
- '\n' +
247
- 'KEY CONCEPTS:\n' +
248
- '- "services": Individual stops at locations (e.g., deliver package to address A, pick up at coffee shop B)\n' +
249
- '- "shipments": Paired pickup/delivery tasks (e.g., pick up from warehouse, deliver to customer)\n' +
250
- '- "vehicles": Routing agents with optional constraints like time windows, capacities, and capabilities\n' +
251
- '\n' +
252
- 'LOCATION NAMING (CRITICAL):\n' +
253
- 'The tool auto-generates STRING location names from your coordinates array as "location-0", "location-1", "location-2", etc. ' +
254
- 'When creating services, shipments, or vehicles, you MUST reference these auto-generated STRINGS (NOT integers, NOT array indices):\n' +
255
- '- coordinates[0] → use STRING "location-0" (NOT integer 0)\n' +
256
- '\n' +
257
- 'EXAMPLES:\n' +
258
- '✓ CORRECT: service.location = "location-2" (string)\n' +
259
- '✗ WRONG: service.location = 2 (integer)\n' +
260
- '\n' +
261
- 'IMPORTANT: This is an async task. The task will start immediately but results will be available later via task polling.',
262
- inputSchema: OptimizationV2Tool_input_schema_js_1.OptimizationV2InputSchema,
263
- outputSchema: OptimizationV2Tool_output_schema_js_1.OptimizationV2OutputSchema,
264
- annotations: {
265
- title: 'Optimization Tool',
266
- readOnlyHint: true,
267
- destructiveHint: false,
268
- idempotentHint: false,
269
- openWorldHint: true
270
- }
271
- }, {
272
- async createTask(args, extra) {
273
- // Validate input
274
- const input = OptimizationV2Tool_input_schema_js_1.OptimizationV2InputSchema.parse(args);
275
- // Get and validate access token (from environment only for now)
276
- const accessToken = process.env.MAPBOX_ACCESS_TOKEN ||
277
- extra.authInfo?.token;
278
- if (!accessToken) {
279
- throw new Error('No access token available. Please provide via Bearer auth or MAPBOX_ACCESS_TOKEN env var');
280
- }
281
- if (!isValidJwtFormat(accessToken)) {
282
- throw new Error('Access token is not in valid JWT format');
283
- }
284
- // Create the task
285
- const task = await extra.taskStore.createTask({
286
- ttl: 300000 // 5 minutes TTL
287
- });
288
- // Submit optimization job to Mapbox API
289
- try {
290
- const { jobId } = await submitOptimizationJob(input, accessToken, httpRequest);
291
- // Start background polling (fire and forget)
292
- const maxAttempts = input.max_polling_attempts ?? 10;
293
- const pollingInterval = input.polling_interval_ms ?? 1000;
294
- // Don't await this - let it run in the background
295
- void backgroundPollOptimizationJob(jobId, accessToken, httpRequest, extra.taskStore, task.taskId, maxAttempts, pollingInterval);
296
- // Update task status to show it's working
297
- await extra.taskStore.updateTaskStatus(task.taskId, 'working', `Optimization job submitted: ${jobId}`);
298
- // Return CreateTaskResult with the created task
299
- return {
300
- task
301
- };
302
- }
303
- catch (error) {
304
- // Failed to submit job, mark task as failed
305
- await extra.taskStore.storeTaskResult(task.taskId, 'failed', {
306
- content: [
307
- {
308
- type: 'text',
309
- text: `Failed to submit optimization job: ${error instanceof Error ? error.message : String(error)}`
310
- }
311
- ],
312
- isError: true
313
- });
314
- throw error;
315
- }
316
- },
317
- async getTask(_args, extra) {
318
- const task = await extra.taskStore.getTask(extra.taskId);
319
- if (!task) {
320
- throw new Error(`Task ${extra.taskId} not found`);
321
- }
322
- return task;
323
- },
324
- async getTaskResult(_args, extra) {
325
- const result = await extra.taskStore.getTaskResult(extra.taskId);
326
- // taskStore.getTaskResult returns a Result type, but we know we stored a CallToolResult
327
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
328
- return result;
329
- }
330
- });
331
- }
332
- //# sourceMappingURL=OptimizationV2Tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptimizationV2Tool.js","sourceRoot":"","sources":["../../../../src/tools/optimization-tool/OptimizationV2Tool.ts"],"names":[],"mappings":"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"}