@mapbox/mcp-server 0.5.5 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/README.md +36 -0
  2. package/dist/commonjs/index.d.ts.map +1 -1
  3. package/dist/commonjs/index.js +45 -3
  4. package/dist/commonjs/index.js.map +1 -1
  5. package/dist/commonjs/schemas/geojson.d.ts +115 -0
  6. package/dist/commonjs/schemas/geojson.d.ts.map +1 -0
  7. package/dist/commonjs/schemas/geojson.js +5 -0
  8. package/dist/commonjs/schemas/geojson.js.map +1 -0
  9. package/dist/commonjs/tools/BaseTool.d.ts +5 -2
  10. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
  11. package/dist/commonjs/tools/BaseTool.js +12 -2
  12. package/dist/commonjs/tools/BaseTool.js.map +1 -1
  13. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts +12 -7
  14. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -1
  15. package/dist/commonjs/tools/MapboxApiBasedTool.js +57 -29
  16. package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -1
  17. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts +10 -6
  18. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  19. package/dist/commonjs/tools/category-list-tool/{CategoryListTool.schema.d.ts → CategoryListTool.input.schema.d.ts} +1 -1
  20. package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.d.ts.map +1 -0
  21. package/dist/commonjs/tools/category-list-tool/{CategoryListTool.schema.js → CategoryListTool.input.schema.js} +1 -1
  22. package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.js.map +1 -0
  23. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js +34 -11
  24. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js.map +1 -1
  25. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.d.ts +10 -0
  26. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.d.ts.map +1 -0
  27. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.js +12 -0
  28. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.js.map +1 -0
  29. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts +9 -8
  30. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  31. package/dist/commonjs/tools/category-search-tool/{CategorySearchTool.schema.d.ts → CategorySearchTool.input.schema.d.ts} +1 -1
  32. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -0
  33. package/dist/commonjs/tools/category-search-tool/{CategorySearchTool.schema.js → CategorySearchTool.input.schema.js} +10 -11
  34. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -0
  35. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +42 -13
  36. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  37. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +2184 -0
  38. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -0
  39. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js +148 -0
  40. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -0
  41. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts +9 -5
  42. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  43. package/dist/{esm/tools/directions-tool/DirectionsTool.schema.d.ts → commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts} +1 -1
  44. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -0
  45. package/dist/commonjs/tools/directions-tool/{DirectionsTool.schema.js → DirectionsTool.input.schema.js} +1 -1
  46. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -0
  47. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +100 -19
  48. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
  49. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +7880 -0
  50. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -0
  51. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js +346 -0
  52. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -0
  53. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts +101 -2
  54. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
  55. package/dist/commonjs/tools/directions-tool/cleanResponseData.js +90 -89
  56. package/dist/commonjs/tools/directions-tool/cleanResponseData.js.map +1 -1
  57. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts +10 -5
  58. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  59. package/dist/{esm/tools/isochrone-tool/IsochroneTool.schema.d.ts → commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts} +1 -1
  60. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts.map +1 -0
  61. package/dist/commonjs/tools/isochrone-tool/{IsochroneTool.schema.js → IsochroneTool.input.schema.js} +1 -1
  62. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.js.map +1 -0
  63. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +80 -10
  64. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  65. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +314 -0
  66. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -0
  67. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js +58 -0
  68. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -0
  69. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts +9 -5
  70. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  71. package/dist/commonjs/tools/matrix-tool/{MatrixTool.schema.d.ts → MatrixTool.input.schema.d.ts} +3 -3
  72. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -0
  73. package/dist/commonjs/tools/matrix-tool/{MatrixTool.schema.js → MatrixTool.input.schema.js} +1 -1
  74. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -0
  75. package/dist/commonjs/tools/matrix-tool/MatrixTool.js +131 -26
  76. package/dist/commonjs/tools/matrix-tool/MatrixTool.js.map +1 -1
  77. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.d.ts +80 -0
  78. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.d.ts.map +1 -0
  79. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.js +22 -0
  80. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.js.map +1 -0
  81. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +9 -8
  82. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  83. package/dist/{esm/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts → commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts} +3 -3
  84. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts.map +1 -0
  85. package/dist/commonjs/tools/reverse-geocode-tool/{ReverseGeocodeTool.schema.js → ReverseGeocodeTool.input.schema.js} +1 -1
  86. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js.map +1 -0
  87. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js +56 -15
  88. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  89. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +4085 -0
  90. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts.map +1 -0
  91. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js +206 -0
  92. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js.map +1 -0
  93. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +9 -8
  94. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  95. package/dist/commonjs/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.d.ts → SearchAndGeocodeTool.input.schema.d.ts} +5 -5
  96. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -0
  97. package/dist/commonjs/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.js → SearchAndGeocodeTool.input.schema.js} +1 -1
  98. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -0
  99. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +42 -12
  100. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  101. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +1496 -0
  102. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -0
  103. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +124 -0
  104. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -0
  105. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts +7 -4
  106. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  107. package/dist/commonjs/tools/static-map-image-tool/{StaticMapImageTool.schema.d.ts → StaticMapImageTool.input.schema.d.ts} +33 -33
  108. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -0
  109. package/dist/commonjs/tools/static-map-image-tool/{StaticMapImageTool.schema.js → StaticMapImageTool.input.schema.js} +1 -1
  110. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -0
  111. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +24 -11
  112. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  113. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
  114. package/dist/commonjs/tools/toolRegistry.js +9 -8
  115. package/dist/commonjs/tools/toolRegistry.js.map +1 -1
  116. package/dist/commonjs/tools/version-tool/VersionTool.d.ts +5 -9
  117. package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +1 -1
  118. package/dist/commonjs/tools/version-tool/{VersionTool.schema.d.ts → VersionTool.input.schema.d.ts} +1 -1
  119. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts.map +1 -0
  120. package/dist/commonjs/tools/version-tool/{VersionTool.schema.js → VersionTool.input.schema.js} +1 -1
  121. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js.map +1 -0
  122. package/dist/commonjs/tools/version-tool/VersionTool.js +45 -30
  123. package/dist/commonjs/tools/version-tool/VersionTool.js.map +1 -1
  124. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts +22 -0
  125. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts.map +1 -0
  126. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js +15 -0
  127. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js.map +1 -0
  128. package/dist/commonjs/utils/httpPipeline.d.ts +39 -0
  129. package/dist/commonjs/utils/httpPipeline.d.ts.map +1 -0
  130. package/dist/commonjs/utils/{fetchRequest.js → httpPipeline.js} +13 -13
  131. package/dist/commonjs/utils/httpPipeline.js.map +1 -0
  132. package/dist/commonjs/utils/tracing.d.ts +99 -0
  133. package/dist/commonjs/utils/tracing.d.ts.map +1 -0
  134. package/dist/commonjs/utils/tracing.js +283 -0
  135. package/dist/commonjs/utils/tracing.js.map +1 -0
  136. package/dist/commonjs/utils/types.d.ts +18 -0
  137. package/dist/commonjs/utils/types.d.ts.map +1 -0
  138. package/dist/commonjs/utils/types.js +5 -0
  139. package/dist/commonjs/utils/types.js.map +1 -0
  140. package/dist/commonjs/utils/versionUtils-cjs.cjs.map +1 -1
  141. package/dist/commonjs/utils/versionUtils.js +1 -1
  142. package/dist/commonjs/version.json +3 -3
  143. package/dist/esm/index.d.ts.map +1 -1
  144. package/dist/esm/index.js +45 -3
  145. package/dist/esm/index.js.map +1 -1
  146. package/dist/esm/schemas/geojson.d.ts +115 -0
  147. package/dist/esm/schemas/geojson.d.ts.map +1 -0
  148. package/dist/esm/schemas/geojson.js +4 -0
  149. package/dist/esm/schemas/geojson.js.map +1 -0
  150. package/dist/esm/tools/BaseTool.d.ts +5 -2
  151. package/dist/esm/tools/BaseTool.d.ts.map +1 -1
  152. package/dist/esm/tools/BaseTool.js +12 -2
  153. package/dist/esm/tools/BaseTool.js.map +1 -1
  154. package/dist/esm/tools/MapboxApiBasedTool.d.ts +12 -7
  155. package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -1
  156. package/dist/esm/tools/MapboxApiBasedTool.js +57 -29
  157. package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -1
  158. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts +10 -6
  159. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  160. package/dist/esm/tools/category-list-tool/{CategoryListTool.schema.d.ts → CategoryListTool.input.schema.d.ts} +1 -1
  161. package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.d.ts.map +1 -0
  162. package/dist/esm/tools/category-list-tool/{CategoryListTool.schema.js → CategoryListTool.input.schema.js} +1 -1
  163. package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.js.map +1 -0
  164. package/dist/esm/tools/category-list-tool/CategoryListTool.js +34 -11
  165. package/dist/esm/tools/category-list-tool/CategoryListTool.js.map +1 -1
  166. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.d.ts +10 -0
  167. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.d.ts.map +1 -0
  168. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.js +9 -0
  169. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.js.map +1 -0
  170. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts +9 -8
  171. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  172. package/dist/esm/tools/category-search-tool/{CategorySearchTool.schema.d.ts → CategorySearchTool.input.schema.d.ts} +1 -1
  173. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -0
  174. package/dist/esm/tools/category-search-tool/{CategorySearchTool.schema.js → CategorySearchTool.input.schema.js} +10 -11
  175. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -0
  176. package/dist/esm/tools/category-search-tool/CategorySearchTool.js +42 -13
  177. package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  178. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +2184 -0
  179. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -0
  180. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js +145 -0
  181. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -0
  182. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +9 -5
  183. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  184. package/dist/{commonjs/tools/directions-tool/DirectionsTool.schema.d.ts → esm/tools/directions-tool/DirectionsTool.input.schema.d.ts} +1 -1
  185. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -0
  186. package/dist/esm/tools/directions-tool/{DirectionsTool.schema.js → DirectionsTool.input.schema.js} +1 -1
  187. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -0
  188. package/dist/esm/tools/directions-tool/DirectionsTool.js +100 -19
  189. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
  190. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +7880 -0
  191. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -0
  192. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js +343 -0
  193. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -0
  194. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts +101 -2
  195. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
  196. package/dist/esm/tools/directions-tool/cleanResponseData.js +90 -89
  197. package/dist/esm/tools/directions-tool/cleanResponseData.js.map +1 -1
  198. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts +10 -5
  199. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  200. package/dist/{commonjs/tools/isochrone-tool/IsochroneTool.schema.d.ts → esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts} +1 -1
  201. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts.map +1 -0
  202. package/dist/esm/tools/isochrone-tool/{IsochroneTool.schema.js → IsochroneTool.input.schema.js} +1 -1
  203. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.js.map +1 -0
  204. package/dist/esm/tools/isochrone-tool/IsochroneTool.js +80 -10
  205. package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  206. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +314 -0
  207. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -0
  208. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js +55 -0
  209. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -0
  210. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts +9 -5
  211. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  212. package/dist/esm/tools/matrix-tool/{MatrixTool.schema.d.ts → MatrixTool.input.schema.d.ts} +3 -3
  213. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -0
  214. package/dist/esm/tools/matrix-tool/{MatrixTool.schema.js → MatrixTool.input.schema.js} +1 -1
  215. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -0
  216. package/dist/esm/tools/matrix-tool/MatrixTool.js +131 -26
  217. package/dist/esm/tools/matrix-tool/MatrixTool.js.map +1 -1
  218. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.d.ts +80 -0
  219. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.d.ts.map +1 -0
  220. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.js +19 -0
  221. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.js.map +1 -0
  222. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +9 -8
  223. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  224. package/dist/{commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts → esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts} +3 -3
  225. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts.map +1 -0
  226. package/dist/esm/tools/reverse-geocode-tool/{ReverseGeocodeTool.schema.js → ReverseGeocodeTool.input.schema.js} +1 -1
  227. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js.map +1 -0
  228. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js +56 -15
  229. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  230. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +4085 -0
  231. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts.map +1 -0
  232. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js +203 -0
  233. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js.map +1 -0
  234. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +9 -8
  235. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  236. package/dist/esm/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.d.ts → SearchAndGeocodeTool.input.schema.d.ts} +5 -5
  237. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -0
  238. package/dist/esm/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.js → SearchAndGeocodeTool.input.schema.js} +1 -1
  239. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -0
  240. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +42 -12
  241. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  242. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +1496 -0
  243. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -0
  244. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +121 -0
  245. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -0
  246. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +7 -4
  247. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  248. package/dist/esm/tools/static-map-image-tool/{StaticMapImageTool.schema.d.ts → StaticMapImageTool.input.schema.d.ts} +33 -33
  249. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -0
  250. package/dist/esm/tools/static-map-image-tool/{StaticMapImageTool.schema.js → StaticMapImageTool.input.schema.js} +1 -1
  251. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -0
  252. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +24 -11
  253. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  254. package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
  255. package/dist/esm/tools/toolRegistry.js +9 -8
  256. package/dist/esm/tools/toolRegistry.js.map +1 -1
  257. package/dist/esm/tools/version-tool/VersionTool.d.ts +5 -9
  258. package/dist/esm/tools/version-tool/VersionTool.d.ts.map +1 -1
  259. package/dist/esm/tools/version-tool/{VersionTool.schema.d.ts → VersionTool.input.schema.d.ts} +1 -1
  260. package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts.map +1 -0
  261. package/dist/esm/tools/version-tool/{VersionTool.schema.js → VersionTool.input.schema.js} +1 -1
  262. package/dist/esm/tools/version-tool/VersionTool.input.schema.js.map +1 -0
  263. package/dist/esm/tools/version-tool/VersionTool.js +43 -28
  264. package/dist/esm/tools/version-tool/VersionTool.js.map +1 -1
  265. package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts +22 -0
  266. package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts.map +1 -0
  267. package/dist/esm/tools/version-tool/VersionTool.output.schema.js +12 -0
  268. package/dist/esm/tools/version-tool/VersionTool.output.schema.js.map +1 -0
  269. package/dist/esm/utils/httpPipeline.d.ts +39 -0
  270. package/dist/esm/utils/httpPipeline.d.ts.map +1 -0
  271. package/dist/esm/utils/{fetchRequest.js → httpPipeline.js} +11 -11
  272. package/dist/esm/utils/httpPipeline.js.map +1 -0
  273. package/dist/esm/utils/tracing.d.ts +99 -0
  274. package/dist/esm/utils/tracing.d.ts.map +1 -0
  275. package/dist/esm/utils/tracing.js +269 -0
  276. package/dist/esm/utils/tracing.js.map +1 -0
  277. package/dist/esm/utils/types.d.ts +18 -0
  278. package/dist/esm/utils/types.d.ts.map +1 -0
  279. package/dist/esm/utils/types.js +4 -0
  280. package/dist/esm/utils/types.js.map +1 -0
  281. package/dist/esm/utils/versionUtils.js +1 -1
  282. package/dist/esm/utils/versionUtils.js.map +1 -1
  283. package/dist/esm/version.json +3 -3
  284. package/package.json +26 -7
  285. package/dist/commonjs/tools/MapboxApiBasedTool.schema.d.ts +0 -47
  286. package/dist/commonjs/tools/MapboxApiBasedTool.schema.d.ts.map +0 -1
  287. package/dist/commonjs/tools/MapboxApiBasedTool.schema.js +0 -21
  288. package/dist/commonjs/tools/MapboxApiBasedTool.schema.js.map +0 -1
  289. package/dist/commonjs/tools/category-list-tool/CategoryListTool.schema.d.ts.map +0 -1
  290. package/dist/commonjs/tools/category-list-tool/CategoryListTool.schema.js.map +0 -1
  291. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.schema.d.ts.map +0 -1
  292. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.schema.js.map +0 -1
  293. package/dist/commonjs/tools/directions-tool/DirectionsTool.schema.d.ts.map +0 -1
  294. package/dist/commonjs/tools/directions-tool/DirectionsTool.schema.js.map +0 -1
  295. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.schema.d.ts.map +0 -1
  296. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.schema.js.map +0 -1
  297. package/dist/commonjs/tools/matrix-tool/MatrixTool.schema.d.ts.map +0 -1
  298. package/dist/commonjs/tools/matrix-tool/MatrixTool.schema.js.map +0 -1
  299. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts.map +0 -1
  300. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.js.map +0 -1
  301. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.d.ts.map +0 -1
  302. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.js.map +0 -1
  303. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.schema.d.ts.map +0 -1
  304. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.schema.js.map +0 -1
  305. package/dist/commonjs/tools/version-tool/VersionTool.schema.d.ts.map +0 -1
  306. package/dist/commonjs/tools/version-tool/VersionTool.schema.js.map +0 -1
  307. package/dist/commonjs/utils/fetchRequest.d.ts +0 -38
  308. package/dist/commonjs/utils/fetchRequest.d.ts.map +0 -1
  309. package/dist/commonjs/utils/fetchRequest.js.map +0 -1
  310. package/dist/esm/tools/MapboxApiBasedTool.schema.d.ts +0 -47
  311. package/dist/esm/tools/MapboxApiBasedTool.schema.d.ts.map +0 -1
  312. package/dist/esm/tools/MapboxApiBasedTool.schema.js +0 -18
  313. package/dist/esm/tools/MapboxApiBasedTool.schema.js.map +0 -1
  314. package/dist/esm/tools/category-list-tool/CategoryListTool.schema.d.ts.map +0 -1
  315. package/dist/esm/tools/category-list-tool/CategoryListTool.schema.js.map +0 -1
  316. package/dist/esm/tools/category-search-tool/CategorySearchTool.schema.d.ts.map +0 -1
  317. package/dist/esm/tools/category-search-tool/CategorySearchTool.schema.js.map +0 -1
  318. package/dist/esm/tools/directions-tool/DirectionsTool.schema.d.ts.map +0 -1
  319. package/dist/esm/tools/directions-tool/DirectionsTool.schema.js.map +0 -1
  320. package/dist/esm/tools/isochrone-tool/IsochroneTool.schema.d.ts.map +0 -1
  321. package/dist/esm/tools/isochrone-tool/IsochroneTool.schema.js.map +0 -1
  322. package/dist/esm/tools/matrix-tool/MatrixTool.schema.d.ts.map +0 -1
  323. package/dist/esm/tools/matrix-tool/MatrixTool.schema.js.map +0 -1
  324. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts.map +0 -1
  325. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.js.map +0 -1
  326. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.d.ts.map +0 -1
  327. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.js.map +0 -1
  328. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.schema.d.ts.map +0 -1
  329. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.schema.js.map +0 -1
  330. package/dist/esm/tools/version-tool/VersionTool.schema.d.ts.map +0 -1
  331. package/dist/esm/tools/version-tool/VersionTool.schema.js.map +0 -1
  332. package/dist/esm/utils/fetchRequest.d.ts +0 -38
  333. package/dist/esm/utils/fetchRequest.d.ts.map +0 -1
  334. package/dist/esm/utils/fetchRequest.js.map +0 -1
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
- // Copyright (c) Mapbox, Inc.
3
- // Licensed under the MIT License.
4
2
  Object.defineProperty(exports, "__esModule", { value: true });
5
3
  exports.VersionTool = void 0;
4
+ const api_1 = require("@opentelemetry/api");
5
+ const tracing_js_1 = require("../../utils/tracing.js");
6
+ // Copyright (c) Mapbox, Inc.
7
+ // Licensed under the MIT License.
6
8
  const BaseTool_js_1 = require("../BaseTool.js");
7
9
  const versionUtils_js_1 = require("../../utils/versionUtils.js");
8
- const VersionTool_schema_js_1 = require("./VersionTool.schema.js");
10
+ const VersionTool_input_schema_js_1 = require("./VersionTool.input.schema.js");
11
+ const VersionTool_output_schema_js_1 = require("./VersionTool.output.schema.js");
9
12
  class VersionTool extends BaseTool_js_1.BaseTool {
10
13
  name = 'version_tool';
11
14
  description = 'Get the current version information of the MCP server';
@@ -17,36 +20,48 @@ class VersionTool extends BaseTool_js_1.BaseTool {
17
20
  openWorldHint: false
18
21
  };
19
22
  constructor() {
20
- super({ inputSchema: VersionTool_schema_js_1.VersionSchema });
23
+ super({
24
+ inputSchema: VersionTool_input_schema_js_1.VersionSchema,
25
+ outputSchema: VersionTool_output_schema_js_1.VersionResponseSchema
26
+ });
21
27
  }
22
28
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
23
29
  async run(_rawInput) {
24
- try {
25
- const versionInfo = (0, versionUtils_js_1.getVersionInfo)();
26
- const versionText = `MCP Server Version Information:
27
- - Name: ${versionInfo.name}
28
- - Version: ${versionInfo.version}
29
- - SHA: ${versionInfo.sha}
30
- - Tag: ${versionInfo.tag}
31
- - Branch: ${versionInfo.branch}`;
32
- return {
33
- content: [{ type: 'text', text: versionText }],
34
- isError: false
35
- };
36
- }
37
- catch (error) {
38
- const errorMessage = error instanceof Error ? error.message : String(error);
39
- this.log('error', `${this.name}: Error during execution: ${errorMessage}`);
40
- return {
41
- content: [
42
- {
43
- type: 'text',
44
- text: errorMessage
45
- }
46
- ],
47
- isError: true
48
- };
49
- }
30
+ // Create tracing context for this tool
31
+ const toolContext = (0, tracing_js_1.createLocalToolExecutionContext)(this.name, 0);
32
+ return await api_1.context.with(api_1.trace.setSpan(api_1.context.active(), toolContext.span), async () => {
33
+ try {
34
+ const versionInfo = (0, versionUtils_js_1.getVersionInfo)();
35
+ const versionText = `MCP Server Version Information:\n- Name: ${versionInfo.name}\n- Version: ${versionInfo.version}\n- SHA: ${versionInfo.sha}\n- Tag: ${versionInfo.tag}\n- Branch: ${versionInfo.branch}`;
36
+ const validatedVersionInfo = VersionTool_output_schema_js_1.VersionResponseSchema.parse(versionInfo);
37
+ toolContext.span.setStatus({ code: api_1.SpanStatusCode.OK });
38
+ toolContext.span.end();
39
+ return {
40
+ content: [{ type: 'text', text: versionText }],
41
+ structuredContent: validatedVersionInfo,
42
+ isError: false
43
+ };
44
+ }
45
+ catch (validationError) {
46
+ toolContext.span.setStatus({
47
+ code: api_1.SpanStatusCode.ERROR,
48
+ message: validationError instanceof Error
49
+ ? validationError.message
50
+ : 'Unknown validation error'
51
+ });
52
+ toolContext.span.end();
53
+ this.log('error', `Output schema validation failed: ${validationError instanceof Error ? validationError.message : 'Unknown validation error'}`);
54
+ return {
55
+ content: [
56
+ {
57
+ type: 'text',
58
+ text: 'VersionTool: Output schema validation failed.'
59
+ }
60
+ ],
61
+ isError: true
62
+ };
63
+ }
64
+ });
50
65
  }
51
66
  }
52
67
  exports.VersionTool = VersionTool;
@@ -1 +1 @@
1
- {"version":3,"file":"VersionTool.js","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,gDAA0C;AAC1C,iEAA6D;AAC7D,mEAAwD;AAExD,MAAa,WAAY,SAAQ,sBAA8B;IACpD,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAClB,uDAAuD,CAAC;IACjD,WAAW,GAAG;QACrB,KAAK,EAAE,0BAA0B;QACjC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACrB,CAAC;IAEF;QACE,KAAK,CAAC,EAAE,WAAW,EAAE,qCAAa,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,GAAG,CAAC,SAAkB;QAO1B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAA,gCAAc,GAAE,CAAC;YAErC,MAAM,WAAW,GAAG;UAChB,WAAW,CAAC,IAAI;aACb,WAAW,CAAC,OAAO;SACvB,WAAW,CAAC,GAAG;SACf,WAAW,CAAC,GAAG;YACZ,WAAW,CAAC,MAAM,EAAE,CAAC;YAE3B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;gBAC9C,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzD,IAAI,CAAC,GAAG,CACN,OAAO,EACP,GAAG,IAAI,CAAC,IAAI,6BAA6B,YAAY,EAAE,CACxD,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY;qBACnB;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA1DD,kCA0DC"}
1
+ {"version":3,"file":"VersionTool.js","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AACpE,uDAAyE;AACzE,6BAA6B;AAC7B,kCAAkC;AAElC,gDAA0C;AAC1C,iEAA6D;AAC7D,+EAA8D;AAC9D,iFAAuE;AAGvE,MAAa,WAAY,SAAQ,sBAGhC;IACU,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAClB,uDAAuD,CAAC;IACjD,WAAW,GAAG;QACrB,KAAK,EAAE,0BAA0B;QACjC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACrB,CAAC;IAEF;QACE,KAAK,CAAC;YACJ,WAAW,EAAE,2CAAa;YAC1B,YAAY,EAAE,oDAAqB;SACpC,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,GAAG,CAAC,SAAkB;QAC1B,uCAAuC;QACvC,MAAM,WAAW,GAAG,IAAA,4CAA+B,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,MAAM,aAAO,CAAC,IAAI,CACvB,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EACjD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAA,gCAAc,GAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,4CAA4C,WAAW,CAAC,IAAI,gBAAgB,WAAW,CAAC,OAAO,YAAY,WAAW,CAAC,GAAG,YAAY,WAAW,CAAC,GAAG,eAAe,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC7M,MAAM,oBAAoB,GAAG,oDAAqB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACtE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;oBACvD,iBAAiB,EAAE,oBAAoB;oBACvC,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;YAAC,OAAO,eAAe,EAAE,CAAC;gBACzB,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;oBACzB,IAAI,EAAE,oBAAc,CAAC,KAAK;oBAC1B,OAAO,EACL,eAAe,YAAY,KAAK;wBAC9B,CAAC,CAAC,eAAe,CAAC,OAAO;wBACzB,CAAC,CAAC,0BAA0B;iBACjC,CAAC,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CACN,OAAO,EACP,oCAAoC,eAAe,YAAY,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAC9H,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,+CAA+C;yBACtD;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAlED,kCAkEC"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ export declare const VersionResponseSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ version: z.ZodString;
5
+ sha: z.ZodString;
6
+ tag: z.ZodString;
7
+ branch: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ name: string;
10
+ version: string;
11
+ sha: string;
12
+ tag: string;
13
+ branch: string;
14
+ }, {
15
+ name: string;
16
+ version: string;
17
+ sha: string;
18
+ tag: string;
19
+ branch: string;
20
+ }>;
21
+ export type VersionResponse = z.infer<typeof VersionResponseSchema>;
22
+ //# sourceMappingURL=VersionTool.output.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.VersionResponseSchema = void 0;
6
+ const zod_1 = require("zod");
7
+ // Schema for version tool output - matches the VersionInfo interface
8
+ exports.VersionResponseSchema = zod_1.z.object({
9
+ name: zod_1.z.string(),
10
+ version: zod_1.z.string(),
11
+ sha: zod_1.z.string(),
12
+ tag: zod_1.z.string(),
13
+ branch: zod_1.z.string()
14
+ });
15
+ //# sourceMappingURL=VersionTool.output.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.output.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AAExB,qEAAqE;AACxD,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { type HttpRequest } from './types.js';
2
+ export interface HttpPolicy {
3
+ id: string;
4
+ handle(input: string | URL | Request, init: RequestInit, next: HttpRequest): Promise<Response>;
5
+ }
6
+ export declare class HttpPipeline {
7
+ private policies;
8
+ private httpRequestImpl;
9
+ constructor(httpRequestImpl?: HttpRequest);
10
+ usePolicy(policy: HttpPolicy): void;
11
+ removePolicy(policyOrId: HttpPolicy | string): void;
12
+ findPolicyById(id: string): HttpPolicy | undefined;
13
+ listPolicies(): HttpPolicy[];
14
+ execute(input: string | URL | Request, init?: RequestInit): Promise<Response>;
15
+ }
16
+ export declare class UserAgentPolicy implements HttpPolicy {
17
+ private userAgent;
18
+ id: string;
19
+ constructor(userAgent: string, id?: string);
20
+ handle(input: string | URL | Request, init: RequestInit, next: HttpRequest): Promise<Response>;
21
+ static fromVersionInfo(versionInfo: {
22
+ name: string;
23
+ version: string;
24
+ sha: string;
25
+ tag: string;
26
+ branch: string;
27
+ }, id?: string): UserAgentPolicy;
28
+ }
29
+ export declare class RetryPolicy implements HttpPolicy {
30
+ private maxRetries;
31
+ private baseDelayMs;
32
+ private maxDelayMs;
33
+ id: string;
34
+ constructor(maxRetries?: number, baseDelayMs?: number, maxDelayMs?: number, id?: string);
35
+ handle(input: string | URL | Request, init: RequestInit, next: HttpRequest): Promise<Response>;
36
+ }
37
+ export declare const httpRequest: (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
38
+ export declare const systemHttpPipeline: HttpPipeline;
39
+ //# sourceMappingURL=httpPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpPipeline.d.ts","sourceRoot":"","sources":["../../../src/utils/httpPipeline.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAM9C,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CACJ,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,QAAQ,CAAC,CAAC;CACtB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,eAAe,CAAc;gBAEzB,eAAe,CAAC,EAAE,WAAW;IAIzC,SAAS,CAAC,MAAM,EAAE,UAAU;IAI5B,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAQ5C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIlD,YAAY;IAIN,OAAO,CACX,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,QAAQ,CAAC;CAkBrB;AAED,qBAAa,eAAgB,YAAW,UAAU;IAI9C,OAAO,CAAC,SAAS;IAHnB,EAAE,EAAE,MAAM,CAAC;gBAGD,SAAS,EAAE,MAAM,EACzB,EAAE,CAAC,EAAE,MAAM;IAIP,MAAM,CACV,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,QAAQ,CAAC;IAmBpB,MAAM,CAAC,eAAe,CACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,EACD,EAAE,CAAC,EAAE,MAAM,GACV,eAAe;CAInB;AAED,qBAAa,WAAY,YAAW,UAAU;IAI1C,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IALpB,EAAE,EAAE,MAAM,CAAC;gBAGD,UAAU,GAAE,MAAU,EACtB,WAAW,GAAE,MAAY,EACzB,UAAU,GAAE,MAAa,EACjC,EAAE,CAAC,EAAE,MAAM;IAKP,MAAM,CACV,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,QAAQ,CAAC;CA2BrB;AASD,eAAO,MAAM,WAAW,UAzHb,MAAM,GAAG,GAAG,GAAG,OAAO,SACvB,WAAW,KAChB,OAAO,CAAC,QAAQ,CAuHqC,CAAC;AAC3D,eAAO,MAAM,kBAAkB,cAAW,CAAC"}
@@ -2,16 +2,16 @@
2
2
  // Copyright (c) Mapbox, Inc.
3
3
  // Licensed under the MIT License.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.systemFetchPipeline = exports.fetchClient = exports.RetryPolicy = exports.UserAgentPolicy = exports.PolicyPipeline = void 0;
5
+ exports.systemHttpPipeline = exports.httpRequest = exports.RetryPolicy = exports.UserAgentPolicy = exports.HttpPipeline = void 0;
6
6
  const versionUtils_js_1 = require("./versionUtils.js");
7
7
  function createRandomId(prefix) {
8
8
  return `${prefix}${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
9
9
  }
10
- class PolicyPipeline {
10
+ class HttpPipeline {
11
11
  policies = [];
12
- fetchImpl;
13
- constructor(fetchImpl) {
14
- this.fetchImpl = fetchImpl ?? fetch;
12
+ httpRequestImpl;
13
+ constructor(httpRequestImpl) {
14
+ this.httpRequestImpl = httpRequestImpl ?? fetch;
15
15
  }
16
16
  usePolicy(policy) {
17
17
  this.policies.push(policy);
@@ -30,17 +30,17 @@ class PolicyPipeline {
30
30
  listPolicies() {
31
31
  return this.policies;
32
32
  }
33
- async fetch(input, init = {}) {
33
+ async execute(input, init = {}) {
34
34
  const dispatch = async (i, req, options) => {
35
35
  if (i < this.policies.length) {
36
- return this.policies[i].handle(req, options, (nextReq, nextOptions) => dispatch(i + 1, nextReq, nextOptions));
36
+ return this.policies[i].handle(req, options, (nextReq, nextOptions) => dispatch(i + 1, nextReq, nextOptions || {}));
37
37
  }
38
- return this.fetchImpl(req, options); // Use injected fetch
38
+ return this.httpRequestImpl(req, options); // Use injected httpRequest
39
39
  };
40
40
  return dispatch(0, input, init);
41
41
  }
42
42
  }
43
- exports.PolicyPipeline = PolicyPipeline;
43
+ exports.HttpPipeline = HttpPipeline;
44
44
  class UserAgentPolicy {
45
45
  userAgent;
46
46
  id;
@@ -103,10 +103,10 @@ class RetryPolicy {
103
103
  }
104
104
  }
105
105
  exports.RetryPolicy = RetryPolicy;
106
- const pipeline = new PolicyPipeline();
106
+ const pipeline = new HttpPipeline();
107
107
  const versionInfo = (0, versionUtils_js_1.getVersionInfo)();
108
108
  pipeline.usePolicy(UserAgentPolicy.fromVersionInfo(versionInfo, 'system-user-agent-policy'));
109
109
  pipeline.usePolicy(new RetryPolicy(3, 200, 2000, 'system-retry-policy'));
110
- exports.fetchClient = pipeline.fetch.bind(pipeline);
111
- exports.systemFetchPipeline = pipeline;
112
- //# sourceMappingURL=fetchRequest.js.map
110
+ exports.httpRequest = pipeline.execute.bind(pipeline);
111
+ exports.systemHttpPipeline = pipeline;
112
+ //# sourceMappingURL=httpPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpPipeline.js","sourceRoot":"","sources":["../../../src/utils/httpPipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import { type Span } from '@opentelemetry/api';
2
+ import { type HttpRequest } from './types.js';
3
+ /**
4
+ * Tool execution context providing dependencies via options bag pattern
5
+ */
6
+ export interface LocalToolExecutionContext {
7
+ span: Span;
8
+ tracingContext: {
9
+ parentSpan?: Span;
10
+ sessionId?: string;
11
+ userId?: string;
12
+ accountId?: string;
13
+ chatSessionId?: string;
14
+ promptId?: string;
15
+ };
16
+ extra?: Record<string, unknown>;
17
+ }
18
+ /**
19
+ * Tool execution context providing dependencies via options bag pattern
20
+ */
21
+ export interface ToolExecutionContext {
22
+ span: Span;
23
+ tracingContext: {
24
+ parentSpan?: Span;
25
+ sessionId?: string;
26
+ userId?: string;
27
+ accountId?: string;
28
+ chatSessionId?: string;
29
+ promptId?: string;
30
+ };
31
+ httpRequest: HttpRequest;
32
+ extra?: Record<string, unknown>;
33
+ }
34
+ /**
35
+ * Create a tool execution context with all necessary dependencies
36
+ */
37
+ export declare function createLocalToolExecutionContext(toolName: string, inputSize: number, extra?: Record<string, unknown>): LocalToolExecutionContext;
38
+ /**
39
+ * Create a tool execution context with all necessary dependencies
40
+ */
41
+ export declare function createToolExecutionContext(toolName: string, inputSize: number, httpRequest: HttpRequest, extra?: Record<string, unknown>): ToolExecutionContext;
42
+ /**
43
+ * Initialize OpenTelemetry tracing
44
+ * Should be called once at application startup
45
+ *
46
+ * For MCP servers using stdio transport, console output should be avoided.
47
+ * This implementation automatically detects and handles MCP compatibility.
48
+ */
49
+ export declare function initializeTracing(): Promise<void>;
50
+ /**
51
+ * Shutdown tracing gracefully
52
+ */
53
+ export declare function shutdownTracing(): Promise<void>;
54
+ /**
55
+ * Check if tracing is enabled
56
+ */
57
+ export declare function isTracingInitialized(): boolean;
58
+ /**
59
+ * Get the default tracer for the MCP server
60
+ */
61
+ export declare function getTracer(): import("@opentelemetry/api").Tracer;
62
+ /**
63
+ * Create a span for tool execution with comprehensive attributes
64
+ */
65
+ export declare function createToolSpan(toolName: string, inputSize: number, extra?: {
66
+ sessionId?: string;
67
+ userId?: string;
68
+ accountId?: string;
69
+ chatSessionId?: string;
70
+ promptId?: string;
71
+ }): Span;
72
+ /**
73
+ * Create a span for HTTP requests with comprehensive attributes
74
+ */
75
+ export declare function createHttpSpan(method: string, url: string, extra?: {
76
+ userAgent?: string;
77
+ contentLength?: number;
78
+ sessionId?: string;
79
+ }): Span;
80
+ /**
81
+ * Mark a span as successful and end it
82
+ */
83
+ export declare function markSpanSuccess(span: Span, attributes?: Record<string, string | number | boolean>): void;
84
+ /**
85
+ * Mark a span as failed with error information and end it
86
+ */
87
+ export declare function markSpanError(span: Span, error: Error | string, attributes?: Record<string, string | number | boolean>): void;
88
+ /**
89
+ * Validate JWT token format for tracing (basic format check only)
90
+ */
91
+ export declare function validateJwtForTracing(token?: string): {
92
+ isValid: boolean;
93
+ error?: string;
94
+ };
95
+ /**
96
+ * Helper function to get size of an object in bytes (approximate)
97
+ */
98
+ export declare function getObjectSize(obj: unknown): number;
99
+ //# sourceMappingURL=tracing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/utils/tracing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,283 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.createLocalToolExecutionContext = createLocalToolExecutionContext;
6
+ exports.createToolExecutionContext = createToolExecutionContext;
7
+ exports.initializeTracing = initializeTracing;
8
+ exports.shutdownTracing = shutdownTracing;
9
+ exports.isTracingInitialized = isTracingInitialized;
10
+ exports.getTracer = getTracer;
11
+ exports.createToolSpan = createToolSpan;
12
+ exports.createHttpSpan = createHttpSpan;
13
+ exports.markSpanSuccess = markSpanSuccess;
14
+ exports.markSpanError = markSpanError;
15
+ exports.validateJwtForTracing = validateJwtForTracing;
16
+ exports.getObjectSize = getObjectSize;
17
+ const sdk_node_1 = require("@opentelemetry/sdk-node");
18
+ const auto_instrumentations_node_1 = require("@opentelemetry/auto-instrumentations-node");
19
+ const resources_1 = require("@opentelemetry/resources");
20
+ const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
21
+ const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
22
+ const api_1 = require("@opentelemetry/api");
23
+ const versionUtils_js_1 = require("./versionUtils.js");
24
+ const incubating_1 = require("@opentelemetry/semantic-conventions/incubating");
25
+ // Global SDK instance
26
+ let sdk = null;
27
+ let isTracingEnabled = false;
28
+ /**
29
+ * Create a tool execution context with all necessary dependencies
30
+ */
31
+ function createLocalToolExecutionContext(toolName, inputSize, extra) {
32
+ const span = createToolSpan(toolName, inputSize, {
33
+ sessionId: extra?.sessionId,
34
+ userId: extra?.userId,
35
+ accountId: extra?.accountId,
36
+ chatSessionId: extra?.chatSessionId,
37
+ promptId: extra?.promptId
38
+ });
39
+ return {
40
+ span,
41
+ tracingContext: {
42
+ parentSpan: span,
43
+ sessionId: extra?.sessionId,
44
+ userId: extra?.userId,
45
+ accountId: extra?.accountId,
46
+ chatSessionId: extra?.chatSessionId,
47
+ promptId: extra?.promptId
48
+ },
49
+ extra
50
+ };
51
+ }
52
+ /**
53
+ * Create a tool execution context with all necessary dependencies
54
+ */
55
+ function createToolExecutionContext(toolName, inputSize, httpRequest, extra) {
56
+ const span = createToolSpan(toolName, inputSize, {
57
+ sessionId: extra?.sessionId,
58
+ userId: extra?.userId,
59
+ accountId: extra?.accountId,
60
+ chatSessionId: extra?.chatSessionId,
61
+ promptId: extra?.promptId
62
+ });
63
+ return {
64
+ span,
65
+ tracingContext: {
66
+ parentSpan: span,
67
+ sessionId: extra?.sessionId,
68
+ userId: extra?.userId,
69
+ accountId: extra?.accountId,
70
+ chatSessionId: extra?.chatSessionId,
71
+ promptId: extra?.promptId
72
+ },
73
+ httpRequest,
74
+ extra
75
+ };
76
+ }
77
+ /**
78
+ * Initialize OpenTelemetry tracing
79
+ * Should be called once at application startup
80
+ *
81
+ * For MCP servers using stdio transport, console output should be avoided.
82
+ * This implementation automatically detects and handles MCP compatibility.
83
+ */
84
+ async function initializeTracing() {
85
+ // Skip initialization if already initialized or if running in test environment
86
+ if (sdk || process.env.NODE_ENV === 'test' || process.env.VITEST) {
87
+ return;
88
+ }
89
+ // Skip if tracing is explicitly disabled
90
+ if (process.env.OTEL_TRACING_ENABLED === 'false') {
91
+ return;
92
+ }
93
+ const versionInfo = (0, versionUtils_js_1.getVersionInfo)();
94
+ try {
95
+ // Create resource with service information
96
+ const resource = new resources_1.Resource({
97
+ [semantic_conventions_1.ATTR_SERVICE_NAME]: process.env.OTEL_SERVICE_NAME || versionInfo.name,
98
+ [semantic_conventions_1.ATTR_SERVICE_VERSION]: versionInfo.version,
99
+ [incubating_1.ATTR_SERVICE_INSTANCE_ID]: process.env.HOSTNAME || 'unknown',
100
+ 'service.git.sha': versionInfo.sha,
101
+ 'service.git.branch': versionInfo.branch,
102
+ 'service.git.tag': versionInfo.tag
103
+ });
104
+ // Configure exporters
105
+ const exporters = [];
106
+ // Console exporter for development (avoid in stdio transport)
107
+ if (process.env.OTEL_EXPORTER_CONSOLE_ENABLED === 'true') {
108
+ const { ConsoleSpanExporter } = await import('@opentelemetry/sdk-trace-base');
109
+ exporters.push(new ConsoleSpanExporter());
110
+ }
111
+ // OTLP HTTP exporter for production
112
+ const otlpEndpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT;
113
+ if (otlpEndpoint) {
114
+ exporters.push(new exporter_trace_otlp_http_1.OTLPTraceExporter({
115
+ url: `${otlpEndpoint}/v1/traces`,
116
+ headers: process.env.OTEL_EXPORTER_OTLP_HEADERS
117
+ ? JSON.parse(process.env.OTEL_EXPORTER_OTLP_HEADERS)
118
+ : {}
119
+ }));
120
+ }
121
+ // Skip tracing if no exporters configured
122
+ if (exporters.length === 0) {
123
+ return;
124
+ }
125
+ // Create SDK instance
126
+ sdk = new sdk_node_1.NodeSDK({
127
+ resource,
128
+ traceExporter: exporters[0],
129
+ instrumentations: [
130
+ (0, auto_instrumentations_node_1.getNodeAutoInstrumentations)({
131
+ // Disable instrumentations that might be too noisy
132
+ '@opentelemetry/instrumentation-fs': {
133
+ enabled: false
134
+ },
135
+ '@opentelemetry/instrumentation-dns': {
136
+ enabled: false
137
+ },
138
+ // Ensure HTTP instrumentation is enabled for HTTP requests
139
+ '@opentelemetry/instrumentation-http': {
140
+ enabled: true
141
+ },
142
+ // Enable fetch instrumentation for HTTP requests
143
+ '@opentelemetry/instrumentation-undici': {
144
+ enabled: true
145
+ }
146
+ })
147
+ ]
148
+ });
149
+ // Start the SDK
150
+ sdk.start();
151
+ isTracingEnabled = true;
152
+ }
153
+ catch {
154
+ // Silently handle initialization errors to avoid breaking MCP stdio
155
+ isTracingEnabled = false;
156
+ }
157
+ }
158
+ /**
159
+ * Shutdown tracing gracefully
160
+ */
161
+ async function shutdownTracing() {
162
+ if (sdk) {
163
+ await sdk.shutdown();
164
+ sdk = null;
165
+ isTracingEnabled = false;
166
+ }
167
+ }
168
+ /**
169
+ * Check if tracing is enabled
170
+ */
171
+ function isTracingInitialized() {
172
+ return isTracingEnabled;
173
+ }
174
+ /**
175
+ * Get the default tracer for the MCP server
176
+ */
177
+ function getTracer() {
178
+ return api_1.trace.getTracer('mapbox-mcp-server');
179
+ }
180
+ /**
181
+ * Create a span for tool execution with comprehensive attributes
182
+ */
183
+ function createToolSpan(toolName, inputSize, extra) {
184
+ const tracer = getTracer();
185
+ const span = tracer.startSpan(`tool.${toolName}`, {
186
+ kind: api_1.SpanKind.INTERNAL,
187
+ attributes: {
188
+ 'tool.name': toolName,
189
+ 'tool.input.size': inputSize,
190
+ 'operation.type': 'tool_execution',
191
+ ...(extra?.sessionId && { 'session.id': extra.sessionId }),
192
+ ...(extra?.userId && { 'user.id': extra.userId }),
193
+ ...(extra?.accountId && { 'account.id': extra.accountId }),
194
+ ...(extra?.chatSessionId && { 'chat.session.id': extra.chatSessionId }),
195
+ ...(extra?.promptId && { 'prompt.id': extra.promptId })
196
+ }
197
+ });
198
+ return span;
199
+ }
200
+ /**
201
+ * Create a span for HTTP requests with comprehensive attributes
202
+ */
203
+ function createHttpSpan(method, url, extra) {
204
+ const tracer = getTracer();
205
+ const span = tracer.startSpan(`http.${method.toLowerCase()}`, {
206
+ kind: api_1.SpanKind.CLIENT,
207
+ attributes: {
208
+ 'http.method': method,
209
+ 'http.url': url,
210
+ 'operation.type': 'http_request',
211
+ ...(extra?.userAgent && { 'http.user_agent': extra.userAgent }),
212
+ ...(extra?.contentLength && {
213
+ 'http.request.content_length': extra.contentLength
214
+ }),
215
+ ...(extra?.sessionId && { 'session.id': extra.sessionId })
216
+ }
217
+ });
218
+ return span;
219
+ }
220
+ /**
221
+ * Mark a span as successful and end it
222
+ */
223
+ function markSpanSuccess(span, attributes) {
224
+ if (attributes) {
225
+ span.setAttributes(attributes);
226
+ }
227
+ span.setStatus({ code: api_1.SpanStatusCode.OK });
228
+ span.end();
229
+ }
230
+ /**
231
+ * Mark a span as failed with error information and end it
232
+ */
233
+ function markSpanError(span, error, attributes) {
234
+ const errorMessage = typeof error === 'string' ? error : error.message;
235
+ const errorType = typeof error === 'string' ? 'Error' : error.constructor.name;
236
+ span.setAttributes({
237
+ 'error.type': errorType,
238
+ 'error.message': errorMessage,
239
+ ...(attributes || {})
240
+ });
241
+ if (typeof error !== 'string') {
242
+ span.recordException(error);
243
+ }
244
+ span.setStatus({
245
+ code: api_1.SpanStatusCode.ERROR,
246
+ message: errorMessage
247
+ });
248
+ span.end();
249
+ }
250
+ /**
251
+ * Validate JWT token format for tracing (basic format check only)
252
+ */
253
+ function validateJwtForTracing(token) {
254
+ if (!token) {
255
+ return { isValid: true }; // No token is valid (optional)
256
+ }
257
+ // Basic JWT format validation (header.payload.signature)
258
+ const parts = token.split('.');
259
+ if (parts.length !== 3) {
260
+ return { isValid: false, error: 'Invalid JWT format' };
261
+ }
262
+ try {
263
+ // Try to decode the header and payload (just to validate base64 format)
264
+ JSON.parse(Buffer.from(parts[0], 'base64url').toString());
265
+ JSON.parse(Buffer.from(parts[1], 'base64url').toString());
266
+ return { isValid: true };
267
+ }
268
+ catch {
269
+ return { isValid: false, error: 'Invalid JWT encoding' };
270
+ }
271
+ }
272
+ /**
273
+ * Helper function to get size of an object in bytes (approximate)
274
+ */
275
+ function getObjectSize(obj) {
276
+ try {
277
+ return JSON.stringify(obj).length;
278
+ }
279
+ catch {
280
+ return 0;
281
+ }
282
+ }
283
+ //# sourceMappingURL=tracing.js.map