@mapbox/mcp-server 0.16.1-dev → 0.17.0-dev.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 (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,329 +0,0 @@
1
- // Copyright (c) Mapbox, Inc.
2
- // Licensed under the MIT License.
3
- import { OptimizationV2InputSchema } from './OptimizationV2Tool.input.schema.js';
4
- import { OptimizationV2OutputSchema } from './OptimizationV2Tool.output.schema.js';
5
- /**
6
- * OptimizationV2Tool - Advanced route optimization using Mapbox Optimization API V2 (BETA)
7
- *
8
- * ⚠️ IMPORTANT: This tool uses the V2 API which is currently in beta and requires early access.
9
- * The tool is not registered by default. To enable it, add it to the toolRegistry.
10
- *
11
- * V2 Features:
12
- * - Time window constraints for services and shipments
13
- * - Vehicle capacity limits for multiple resource types
14
- * - Driver shifts with earliest start and latest end times
15
- * - Pickup and dropoff constraints for shipment handling
16
- * - Vehicle capabilities requirements (e.g., refrigeration, ladder)
17
- * - Loading policies (FIFO, LIFO, or any order)
18
- * - Mandated breaks for vehicles
19
- *
20
- * API documentation: https://docs.mapbox.com/api/navigation/optimization/
21
- */
22
- /**
23
- * Helper function to validate JWT format
24
- */
25
- function isValidJwtFormat(token) {
26
- const parts = token.split('.');
27
- if (parts.length !== 3)
28
- return false;
29
- return parts.every((part) => part.length > 0);
30
- }
31
- /**
32
- * Helper function to get Mapbox API endpoint
33
- */
34
- function getMapboxApiEndpoint() {
35
- return process.env.MAPBOX_API_ENDPOINT || 'https://api.mapbox.com/';
36
- }
37
- /**
38
- * Core function to submit optimization job to Mapbox API
39
- */
40
- async function submitOptimizationJob(input, accessToken, httpRequest) {
41
- // Validate: If vehicles are provided, at least one service or shipment is required
42
- if (input.vehicles && input.vehicles.length > 0) {
43
- const hasServices = input.services && input.services.length > 0;
44
- const hasShipments = input.shipments && input.shipments.length > 0;
45
- if (!hasServices && !hasShipments) {
46
- throw new Error('When vehicles are provided, at least one service or shipment is required');
47
- }
48
- }
49
- // Convert simplified input to Optimization API v2 format
50
- // Create locations array with auto-generated names
51
- const locations = input.coordinates.map((coord, index) => ({
52
- name: `location-${index}`,
53
- coordinates: [coord.longitude, coord.latitude]
54
- }));
55
- // If vehicles are not provided, create a default vehicle
56
- let vehicles;
57
- let services;
58
- let shipments;
59
- if (!input.vehicles || input.vehicles.length === 0) {
60
- // Simplified mode: auto-generate vehicle and services from coordinates
61
- vehicles = [
62
- {
63
- name: 'vehicle-1',
64
- routing_profile: input.profile,
65
- start_location: 'location-0', // Start at first location
66
- end_location: 'location-0' // Return to first location
67
- }
68
- ];
69
- // Create services for all locations except the first (which is start/end)
70
- services = input.coordinates.slice(1).map((_, index) => ({
71
- name: `service-${index + 1}`,
72
- location: `location-${index + 1}`,
73
- duration: 0 // No service time by default
74
- }));
75
- }
76
- else {
77
- // Advanced mode: use provided vehicles, services, and shipments
78
- vehicles = input.vehicles;
79
- services = input.services || [];
80
- shipments = input.shipments;
81
- }
82
- // Build request body
83
- const requestBody = {
84
- version: 1,
85
- locations,
86
- vehicles,
87
- services
88
- };
89
- if (shipments && shipments.length > 0) {
90
- requestBody.shipments = shipments;
91
- }
92
- // Step 1: POST to create optimization job
93
- const postUrl = `${getMapboxApiEndpoint()}optimized-trips/v2?access_token=${accessToken}`;
94
- const postResponse = await httpRequest(postUrl, {
95
- method: 'POST',
96
- headers: { 'Content-Type': 'application/json' },
97
- body: JSON.stringify(requestBody)
98
- });
99
- if (!postResponse.ok) {
100
- const errorText = await postResponse.text();
101
- let errorMessage = `Request failed with status ${postResponse.status}: ${postResponse.statusText}`;
102
- try {
103
- const errorJson = JSON.parse(errorText);
104
- if (errorJson.message) {
105
- errorMessage = `${errorMessage} - ${errorJson.message}`;
106
- }
107
- }
108
- catch {
109
- // If parsing fails, use the raw text
110
- if (errorText) {
111
- errorMessage = `${errorMessage} - ${errorText}`;
112
- }
113
- }
114
- throw new Error(errorMessage);
115
- }
116
- const postData = (await postResponse.json());
117
- return {
118
- jobId: postData.id,
119
- status: postData.status
120
- };
121
- }
122
- /**
123
- * Core function to poll optimization job status
124
- */
125
- async function pollOptimizationJob(jobId, accessToken, httpRequest) {
126
- const getUrl = `${getMapboxApiEndpoint()}optimized-trips/v2/${jobId}?access_token=${accessToken}`;
127
- const getResponse = await httpRequest(getUrl);
128
- if (!getResponse.ok) {
129
- if (getResponse.status === 404) {
130
- return {
131
- status: 404,
132
- error: `Optimization job ${jobId} not found`
133
- };
134
- }
135
- return {
136
- status: getResponse.status,
137
- error: `Request failed with status ${getResponse.status}: ${getResponse.statusText}`
138
- };
139
- }
140
- // HTTP 200 means the optimization is complete
141
- if (getResponse.status === 200) {
142
- const result = (await getResponse.json());
143
- return {
144
- status: 200,
145
- data: result
146
- };
147
- }
148
- // HTTP 202 means still processing
149
- return {
150
- status: 202
151
- };
152
- }
153
- /**
154
- * Background polling function that runs until job completes
155
- */
156
- async function backgroundPollOptimizationJob(jobId, accessToken, httpRequest, taskStore, taskId, maxAttempts, pollingInterval) {
157
- let attempts = 0;
158
- while (attempts < maxAttempts) {
159
- try {
160
- const pollResult = await pollOptimizationJob(jobId, accessToken, httpRequest);
161
- if (pollResult.status === 200 && pollResult.data) {
162
- // Job completed successfully
163
- try {
164
- const validatedData = OptimizationV2OutputSchema.parse(pollResult.data);
165
- await taskStore.storeTaskResult(taskId, 'completed', {
166
- content: [
167
- { type: 'text', text: JSON.stringify(validatedData, null, 2) }
168
- ],
169
- structuredContent: validatedData
170
- });
171
- }
172
- catch {
173
- // If validation fails, return raw result anyway
174
- await taskStore.storeTaskResult(taskId, 'completed', {
175
- content: [
176
- { type: 'text', text: JSON.stringify(pollResult.data, null, 2) }
177
- ],
178
- structuredContent: pollResult.data
179
- });
180
- }
181
- return;
182
- }
183
- else if (pollResult.error) {
184
- // Job failed or not found
185
- await taskStore.storeTaskResult(taskId, 'failed', {
186
- content: [{ type: 'text', text: pollResult.error }],
187
- isError: true
188
- });
189
- return;
190
- }
191
- // Still processing (status 202), update task status
192
- await taskStore.updateTaskStatus(taskId, 'working', `Processing optimization job (attempt ${attempts + 1}/${maxAttempts})`);
193
- // Wait before next poll
194
- await new Promise((resolve) => setTimeout(resolve, pollingInterval));
195
- attempts++;
196
- }
197
- catch (error) {
198
- // Error during polling
199
- await taskStore.storeTaskResult(taskId, 'failed', {
200
- content: [
201
- {
202
- type: 'text',
203
- text: `Error polling optimization job: ${error instanceof Error ? error.message : String(error)}`
204
- }
205
- ],
206
- isError: true
207
- });
208
- return;
209
- }
210
- }
211
- // Timed out
212
- await taskStore.storeTaskResult(taskId, 'failed', {
213
- content: [
214
- {
215
- type: 'text',
216
- text: `Optimization timed out after ${maxAttempts} attempts. Job ID: ${jobId}. You can check the status later using the job ID.`
217
- }
218
- ],
219
- isError: true
220
- });
221
- }
222
- /**
223
- * Register the Optimization V2 tool as a task-based tool
224
- *
225
- * ⚠️ BETA: This tool uses the V2 API which requires early access.
226
- * Not registered by default - call this function manually to enable.
227
- */
228
- export function registerOptimizationV2Task(server, httpRequest) {
229
- server.experimental.tasks.registerToolTask('optimization_v2_tool', {
230
- title: 'Optimization Tool V2 (Beta)',
231
- description: 'Solves vehicle routing problems using the Mapbox Optimization API v2 (Beta). ' +
232
- 'This is a long-running async task that submits an optimization job and polls for results. ' +
233
- 'Supports up to 1000 coordinates in {longitude, latitude} format. ' +
234
- 'Returns optimized routes with stops, ETAs, and dropped items. ' +
235
- '\n\n' +
236
- 'USAGE MODES:\n' +
237
- '1. SIMPLIFIED MODE (recommended for basic routing): Provide only "coordinates" and optionally "profile". ' +
238
- 'The tool will automatically create a default vehicle that visits all locations in optimized order, ' +
239
- 'starting and ending at the first coordinate.\n' +
240
- '2. ADVANCED MODE (for complex scenarios): If you specify "vehicles", you MUST also provide either ' +
241
- '"services" (single stops like deliveries or pickups) or "shipments" (paired pickup/dropoff tasks). ' +
242
- 'Each service/shipment defines a stop that vehicles must visit.\n' +
243
- '\n' +
244
- 'KEY CONCEPTS:\n' +
245
- '- "services": Individual stops at locations (e.g., deliver package to address A, pick up at coffee shop B)\n' +
246
- '- "shipments": Paired pickup/delivery tasks (e.g., pick up from warehouse, deliver to customer)\n' +
247
- '- "vehicles": Routing agents with optional constraints like time windows, capacities, and capabilities\n' +
248
- '\n' +
249
- 'LOCATION NAMING (CRITICAL):\n' +
250
- 'The tool auto-generates STRING location names from your coordinates array as "location-0", "location-1", "location-2", etc. ' +
251
- 'When creating services, shipments, or vehicles, you MUST reference these auto-generated STRINGS (NOT integers, NOT array indices):\n' +
252
- '- coordinates[0] → use STRING "location-0" (NOT integer 0)\n' +
253
- '\n' +
254
- 'EXAMPLES:\n' +
255
- '✓ CORRECT: service.location = "location-2" (string)\n' +
256
- '✗ WRONG: service.location = 2 (integer)\n' +
257
- '\n' +
258
- 'IMPORTANT: This is an async task. The task will start immediately but results will be available later via task polling.',
259
- inputSchema: OptimizationV2InputSchema,
260
- outputSchema: OptimizationV2OutputSchema,
261
- annotations: {
262
- title: 'Optimization Tool',
263
- readOnlyHint: true,
264
- destructiveHint: false,
265
- idempotentHint: false,
266
- openWorldHint: true
267
- }
268
- }, {
269
- async createTask(args, extra) {
270
- // Validate input
271
- const input = OptimizationV2InputSchema.parse(args);
272
- // Get and validate access token (from environment only for now)
273
- const accessToken = process.env.MAPBOX_ACCESS_TOKEN ||
274
- extra.authInfo?.token;
275
- if (!accessToken) {
276
- throw new Error('No access token available. Please provide via Bearer auth or MAPBOX_ACCESS_TOKEN env var');
277
- }
278
- if (!isValidJwtFormat(accessToken)) {
279
- throw new Error('Access token is not in valid JWT format');
280
- }
281
- // Create the task
282
- const task = await extra.taskStore.createTask({
283
- ttl: 300000 // 5 minutes TTL
284
- });
285
- // Submit optimization job to Mapbox API
286
- try {
287
- const { jobId } = await submitOptimizationJob(input, accessToken, httpRequest);
288
- // Start background polling (fire and forget)
289
- const maxAttempts = input.max_polling_attempts ?? 10;
290
- const pollingInterval = input.polling_interval_ms ?? 1000;
291
- // Don't await this - let it run in the background
292
- void backgroundPollOptimizationJob(jobId, accessToken, httpRequest, extra.taskStore, task.taskId, maxAttempts, pollingInterval);
293
- // Update task status to show it's working
294
- await extra.taskStore.updateTaskStatus(task.taskId, 'working', `Optimization job submitted: ${jobId}`);
295
- // Return CreateTaskResult with the created task
296
- return {
297
- task
298
- };
299
- }
300
- catch (error) {
301
- // Failed to submit job, mark task as failed
302
- await extra.taskStore.storeTaskResult(task.taskId, 'failed', {
303
- content: [
304
- {
305
- type: 'text',
306
- text: `Failed to submit optimization job: ${error instanceof Error ? error.message : String(error)}`
307
- }
308
- ],
309
- isError: true
310
- });
311
- throw error;
312
- }
313
- },
314
- async getTask(_args, extra) {
315
- const task = await extra.taskStore.getTask(extra.taskId);
316
- if (!task) {
317
- throw new Error(`Task ${extra.taskId} not found`);
318
- }
319
- return task;
320
- },
321
- async getTaskResult(_args, extra) {
322
- const result = await extra.taskStore.getTaskResult(extra.taskId);
323
- // taskStore.getTaskResult returns a Result type, but we know we stored a CallToolResult
324
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
325
- return result;
326
- }
327
- });
328
- }
329
- //# 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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"}
@@ -1,34 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * Output schema for OptimizationV2Tool (V2 API - Beta)
4
- * Uses passthrough to be flexible with API response variations
5
- */
6
- export declare const OptimizationV2OutputSchema: z.ZodObject<{
7
- version: z.ZodOptional<z.ZodNumber>;
8
- dropped: z.ZodOptional<z.ZodObject<{
9
- services: z.ZodOptional<z.ZodArray<z.ZodString>>;
10
- shipments: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
- }, z.core.$loose>>;
12
- routes: z.ZodOptional<z.ZodArray<z.ZodObject<{
13
- vehicle: z.ZodString;
14
- stops: z.ZodArray<z.ZodObject<{
15
- type: z.ZodString;
16
- location: z.ZodString;
17
- eta: z.ZodOptional<z.ZodString>;
18
- odometer: z.ZodOptional<z.ZodNumber>;
19
- wait: z.ZodOptional<z.ZodNumber>;
20
- duration: z.ZodOptional<z.ZodNumber>;
21
- services: z.ZodOptional<z.ZodArray<z.ZodString>>;
22
- pickups: z.ZodOptional<z.ZodArray<z.ZodString>>;
23
- dropoffs: z.ZodOptional<z.ZodArray<z.ZodString>>;
24
- }, z.core.$loose>>;
25
- }, z.core.$loose>>>;
26
- code: z.ZodOptional<z.ZodString>;
27
- message: z.ZodOptional<z.ZodString>;
28
- ref: z.ZodOptional<z.ZodString>;
29
- }, z.core.$loose>;
30
- /**
31
- * Type inference for OptimizationV2Output
32
- */
33
- export type OptimizationV2Output = z.infer<typeof OptimizationV2OutputSchema>;
34
- //# sourceMappingURL=OptimizationV2Tool.output.schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptimizationV2Tool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/optimization-tool/OptimizationV2Tool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyFxB;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;iBAqCvB,CAAC;AAEjB;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -1,106 +0,0 @@
1
- // Copyright (c) Mapbox, Inc.
2
- // Licensed under the MIT License.
3
- import { z } from 'zod';
4
- /**
5
- * Stop schema for route stops
6
- * Made flexible to handle various API response formats
7
- */
8
- const stopSchema = z
9
- .object({
10
- type: z
11
- .string()
12
- .describe('Type of stop. Known values include "start" (vehicle begins), "service" (perform service), "pickup"/"dropoff" (shipment handling), "break" (vehicle break), "end" (vehicle finishes). Additional values may be returned as the API evolves.'),
13
- location: z
14
- .string()
15
- .describe('Location name for this stop (e.g., "location-0", "location-1")'),
16
- eta: z
17
- .string()
18
- .optional()
19
- .describe('Estimated time of arrival in ISO 8601 format (e.g., "2023-07-22T14:29:23-07:00")'),
20
- odometer: z
21
- .number()
22
- .optional()
23
- .describe('Total distance traveled to reach this stop in meters'),
24
- wait: z
25
- .number()
26
- .optional()
27
- .describe('Wait time at this stop in seconds before proceeding'),
28
- duration: z
29
- .number()
30
- .optional()
31
- .describe('Duration of service/activity at this stop in seconds'),
32
- services: z
33
- .array(z.string())
34
- .optional()
35
- .describe('Array of service names fulfilled at this stop'),
36
- pickups: z
37
- .array(z.string())
38
- .optional()
39
- .describe('Array of shipment names picked up at this stop'),
40
- dropoffs: z
41
- .array(z.string())
42
- .optional()
43
- .describe('Array of shipment names dropped off at this stop')
44
- })
45
- .passthrough(); // Allow additional fields from API
46
- /**
47
- * Route schema
48
- */
49
- const routeSchema = z
50
- .object({
51
- vehicle: z
52
- .string()
53
- .describe('Vehicle name for this route (matches the vehicle name from input)'),
54
- stops: z
55
- .array(stopSchema)
56
- .describe('Ordered sequence of stops for this vehicle, from start to end. Includes all services, pickups, dropoffs, and breaks in optimized order.')
57
- })
58
- .passthrough(); // Allow additional fields from API
59
- /**
60
- * Dropped items schema
61
- */
62
- const droppedSchema = z
63
- .object({
64
- services: z
65
- .array(z.string())
66
- .optional()
67
- .describe('Array of service names that could not be fulfilled due to constraints (e.g., time windows, capacity, capabilities)'),
68
- shipments: z
69
- .array(z.string())
70
- .optional()
71
- .describe('Array of shipment names that could not be fulfilled due to constraints (e.g., time windows, capacity, capabilities)')
72
- })
73
- .passthrough(); // Allow additional fields from API
74
- /**
75
- * Output schema for OptimizationV2Tool (V2 API - Beta)
76
- * Uses passthrough to be flexible with API response variations
77
- */
78
- export const OptimizationV2OutputSchema = z
79
- .object({
80
- version: z
81
- .number()
82
- .optional()
83
- .describe('API version number (always 1 for Optimization API v2)'),
84
- dropped: droppedSchema
85
- .optional()
86
- .describe('Items that could not be fulfilled in the optimization. If present, contains arrays of service/shipment names that were dropped.'),
87
- routes: z
88
- .array(routeSchema)
89
- .optional()
90
- .describe('Array of optimized routes, one per vehicle. Each route contains the vehicle name and an ordered sequence of stops. May be undefined if optimization fails completely.'),
91
- // Error response fields from API
92
- code: z
93
- .string()
94
- .optional()
95
- .describe('Error code from API (e.g., "internal_error"). Present only when the API returns an error response.'),
96
- message: z
97
- .string()
98
- .optional()
99
- .describe('Human-readable error message from API. Present only when the API returns an error response.'),
100
- ref: z
101
- .string()
102
- .optional()
103
- .describe('Reference ID for the error from API. Present only when the API returns an error response.')
104
- })
105
- .passthrough(); // Allow additional fields from API
106
- //# sourceMappingURL=OptimizationV2Tool.output.schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptimizationV2Tool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/optimization-tool/OptimizationV2Tool.output.schema.ts"],"names":[],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- diff --git a/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js b/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js
2
- index 9e1c874..2de8d57 100644
3
- --- a/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js
4
- +++ b/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js
5
- @@ -197,15 +197,20 @@ class McpServer {
6
- return;
7
- }
8
- if (!result.structuredContent) {
9
- - throw new types_js_1.McpError(types_js_1.ErrorCode.InvalidParams, `Output validation error: Tool ${toolName} has an output schema but no structured content was provided`);
10
- + // Log warning but don't throw - allow tools to omit structured content
11
- + console.warn(`[MCP SDK Patch] Output validation warning: Tool ${toolName} has an output schema but no structured content was provided`);
12
- }
13
- - // if the tool has an output schema, validate structured content
14
- - const outputObj = (0, zod_compat_js_1.normalizeObjectSchema)(tool.outputSchema);
15
- - const parseResult = await (0, zod_compat_js_1.safeParseAsync)(outputObj, result.structuredContent);
16
- - if (!parseResult.success) {
17
- - const error = 'error' in parseResult ? parseResult.error : 'Unknown error';
18
- - const errorMessage = (0, zod_compat_js_1.getParseErrorMessage)(error);
19
- - throw new types_js_1.McpError(types_js_1.ErrorCode.InvalidParams, `Output validation error: Invalid structured content for tool ${toolName}: ${errorMessage}`);
20
- + else {
21
- + // if the tool has an output schema, validate structured content
22
- + const outputObj = (0, zod_compat_js_1.normalizeObjectSchema)(tool.outputSchema);
23
- + const parseResult = await (0, zod_compat_js_1.safeParseAsync)(outputObj, result.structuredContent);
24
- + if (!parseResult.success) {
25
- + const error = 'error' in parseResult ? parseResult.error : 'Unknown error';
26
- + const errorMessage = (0, zod_compat_js_1.getParseErrorMessage)(error);
27
- + // Log warning but don't throw - allow schema mismatches
28
- + console.warn(`[MCP SDK Patch] Output validation warning: Invalid structured content for tool ${toolName}: ${errorMessage}`);
29
- + // Keep the structuredContent despite validation failure
30
- + }
31
- }
32
- }
33
- /**
34
- diff --git a/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js b/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
35
- index 2314d88..94aaef1 100644
36
- --- a/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
37
- +++ b/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
38
- @@ -194,15 +194,20 @@ export class McpServer {
39
- return;
40
- }
41
- if (!result.structuredContent) {
42
- - throw new McpError(ErrorCode.InvalidParams, `Output validation error: Tool ${toolName} has an output schema but no structured content was provided`);
43
- + // Log warning but don't throw - allow tools to omit structured content
44
- + console.warn(`[MCP SDK Patch] Output validation warning: Tool ${toolName} has an output schema but no structured content was provided`);
45
- }
46
- - // if the tool has an output schema, validate structured content
47
- - const outputObj = normalizeObjectSchema(tool.outputSchema);
48
- - const parseResult = await safeParseAsync(outputObj, result.structuredContent);
49
- - if (!parseResult.success) {
50
- - const error = 'error' in parseResult ? parseResult.error : 'Unknown error';
51
- - const errorMessage = getParseErrorMessage(error);
52
- - throw new McpError(ErrorCode.InvalidParams, `Output validation error: Invalid structured content for tool ${toolName}: ${errorMessage}`);
53
- + else {
54
- + // if the tool has an output schema, validate structured content
55
- + const outputObj = normalizeObjectSchema(tool.outputSchema);
56
- + const parseResult = await safeParseAsync(outputObj, result.structuredContent);
57
- + if (!parseResult.success) {
58
- + const error = 'error' in parseResult ? parseResult.error : 'Unknown error';
59
- + const errorMessage = getParseErrorMessage(error);
60
- + // Log warning but don't throw - allow schema mismatches
61
- + console.warn(`[MCP SDK Patch] Output validation warning: Invalid structured content for tool ${toolName}: ${errorMessage}`);
62
- + // Keep the structuredContent despite validation failure
63
- + }
64
- }
65
- }
66
- /**