@mapbox/mcp-server 0.17.0-dev.1 → 0.17.0-dev.3

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 (163) hide show
  1. package/dist/commonjs/resources/BaseResource.d.ts +7 -0
  2. package/dist/commonjs/resources/BaseResource.d.ts.map +1 -1
  3. package/dist/commonjs/resources/BaseResource.js +13 -2
  4. package/dist/commonjs/resources/BaseResource.js.map +1 -1
  5. package/dist/commonjs/resources/category-list/CategoryListResource.d.ts +7 -2
  6. package/dist/commonjs/resources/category-list/CategoryListResource.d.ts.map +1 -1
  7. package/dist/commonjs/resources/category-list/CategoryListResource.js +14 -4
  8. package/dist/commonjs/resources/category-list/CategoryListResource.js.map +1 -1
  9. package/dist/commonjs/resources/place-photo/PlacePhotoResource.d.ts +1 -1
  10. package/dist/commonjs/resources/place-photo/PlacePhotoResource.js +2 -2
  11. package/dist/commonjs/resources/place-photo/PlacePhotoResource.js.map +1 -1
  12. package/dist/commonjs/resources/resourceRegistry.d.ts +2 -1
  13. package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -1
  14. package/dist/commonjs/resources/resourceRegistry.js +10 -5
  15. package/dist/commonjs/resources/resourceRegistry.js.map +1 -1
  16. package/dist/commonjs/resources/tool-response/ToolResponseResource.d.ts +6 -5
  17. package/dist/commonjs/resources/tool-response/ToolResponseResource.d.ts.map +1 -1
  18. package/dist/commonjs/resources/tool-response/ToolResponseResource.js +29 -5
  19. package/dist/commonjs/resources/tool-response/ToolResponseResource.js.map +1 -1
  20. package/dist/commonjs/resources/ui-apps/StaticMapViewerUIResource.d.ts +28 -0
  21. package/dist/commonjs/resources/ui-apps/StaticMapViewerUIResource.d.ts.map +1 -0
  22. package/dist/commonjs/resources/ui-apps/StaticMapViewerUIResource.js +64 -0
  23. package/dist/commonjs/resources/ui-apps/StaticMapViewerUIResource.js.map +1 -0
  24. package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
  25. package/dist/commonjs/resources/ui-apps/mapAppHtml.js +977 -252
  26. package/dist/commonjs/resources/ui-apps/mapAppHtml.js.map +1 -1
  27. package/dist/commonjs/resources/ui-apps/staticMapViewerHtml.d.ts +17 -0
  28. package/dist/commonjs/resources/ui-apps/staticMapViewerHtml.d.ts.map +1 -0
  29. package/dist/commonjs/resources/ui-apps/staticMapViewerHtml.js +180 -0
  30. package/dist/commonjs/resources/ui-apps/staticMapViewerHtml.js.map +1 -0
  31. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -1
  32. package/dist/commonjs/tools/MapboxApiBasedTool.js +6 -2
  33. package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -1
  34. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  35. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +1 -1
  36. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  37. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.d.ts.map +1 -1
  38. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.js +2 -0
  39. package/dist/commonjs/tools/list-public-tokens-tool/ListPublicTokensTool.js.map +1 -1
  40. package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts.map +1 -1
  41. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts +1 -0
  42. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -1
  43. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js +10 -6
  44. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -1
  45. package/dist/commonjs/tools/render-map-tool/RenderMapTool.js +26 -12
  46. package/dist/commonjs/tools/render-map-tool/RenderMapTool.js.map +1 -1
  47. package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts +1 -0
  48. package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -1
  49. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -1
  50. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js +43 -9
  51. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -1
  52. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  53. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +1 -1
  54. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  55. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts +8 -1
  56. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  57. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +113 -90
  58. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  59. package/dist/commonjs/tools/static-map-image-tool/buildStaticMapRequestUrl.d.ts +23 -0
  60. package/dist/commonjs/tools/static-map-image-tool/buildStaticMapRequestUrl.d.ts.map +1 -0
  61. package/dist/commonjs/tools/static-map-image-tool/buildStaticMapRequestUrl.js +84 -0
  62. package/dist/commonjs/tools/static-map-image-tool/buildStaticMapRequestUrl.js.map +1 -0
  63. package/dist/commonjs/utils/mapAppPayload.d.ts +15 -6
  64. package/dist/commonjs/utils/mapAppPayload.d.ts.map +1 -1
  65. package/dist/commonjs/utils/mapAppPayload.js +2 -1
  66. package/dist/commonjs/utils/mapAppPayload.js.map +1 -1
  67. package/dist/commonjs/utils/mapboxPublicToken.d.ts +5 -1
  68. package/dist/commonjs/utils/mapboxPublicToken.d.ts.map +1 -1
  69. package/dist/commonjs/utils/mapboxPublicToken.js +6 -1
  70. package/dist/commonjs/utils/mapboxPublicToken.js.map +1 -1
  71. package/dist/commonjs/utils/responseRef.d.ts +1 -1
  72. package/dist/commonjs/utils/responseRef.d.ts.map +1 -1
  73. package/dist/commonjs/utils/responseRef.js +1 -1
  74. package/dist/commonjs/utils/responseRef.js.map +1 -1
  75. package/dist/commonjs/utils/selfFetchRef.d.ts +24 -0
  76. package/dist/commonjs/utils/selfFetchRef.d.ts.map +1 -1
  77. package/dist/commonjs/utils/selfFetchRef.js +68 -0
  78. package/dist/commonjs/utils/selfFetchRef.js.map +1 -1
  79. package/dist/commonjs/utils/serverInstructions.js +1 -1
  80. package/dist/commonjs/utils/serverInstructions.js.map +1 -1
  81. package/dist/commonjs/version.json +3 -3
  82. package/dist/esm/resources/BaseResource.d.ts +7 -0
  83. package/dist/esm/resources/BaseResource.d.ts.map +1 -1
  84. package/dist/esm/resources/BaseResource.js +13 -2
  85. package/dist/esm/resources/BaseResource.js.map +1 -1
  86. package/dist/esm/resources/category-list/CategoryListResource.d.ts +7 -2
  87. package/dist/esm/resources/category-list/CategoryListResource.d.ts.map +1 -1
  88. package/dist/esm/resources/category-list/CategoryListResource.js +14 -4
  89. package/dist/esm/resources/category-list/CategoryListResource.js.map +1 -1
  90. package/dist/esm/resources/place-photo/PlacePhotoResource.d.ts +1 -1
  91. package/dist/esm/resources/place-photo/PlacePhotoResource.js +2 -2
  92. package/dist/esm/resources/place-photo/PlacePhotoResource.js.map +1 -1
  93. package/dist/esm/resources/resourceRegistry.d.ts +2 -1
  94. package/dist/esm/resources/resourceRegistry.d.ts.map +1 -1
  95. package/dist/esm/resources/resourceRegistry.js +10 -5
  96. package/dist/esm/resources/resourceRegistry.js.map +1 -1
  97. package/dist/esm/resources/tool-response/ToolResponseResource.d.ts +6 -5
  98. package/dist/esm/resources/tool-response/ToolResponseResource.d.ts.map +1 -1
  99. package/dist/esm/resources/tool-response/ToolResponseResource.js +29 -5
  100. package/dist/esm/resources/tool-response/ToolResponseResource.js.map +1 -1
  101. package/dist/esm/resources/ui-apps/StaticMapViewerUIResource.d.ts +28 -0
  102. package/dist/esm/resources/ui-apps/StaticMapViewerUIResource.d.ts.map +1 -0
  103. package/dist/esm/resources/ui-apps/StaticMapViewerUIResource.js +59 -0
  104. package/dist/esm/resources/ui-apps/StaticMapViewerUIResource.js.map +1 -0
  105. package/dist/esm/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
  106. package/dist/esm/resources/ui-apps/mapAppHtml.js +977 -252
  107. package/dist/esm/resources/ui-apps/mapAppHtml.js.map +1 -1
  108. package/dist/esm/resources/ui-apps/staticMapViewerHtml.d.ts +17 -0
  109. package/dist/esm/resources/ui-apps/staticMapViewerHtml.d.ts.map +1 -0
  110. package/dist/esm/resources/ui-apps/staticMapViewerHtml.js +177 -0
  111. package/dist/esm/resources/ui-apps/staticMapViewerHtml.js.map +1 -0
  112. package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -1
  113. package/dist/esm/tools/MapboxApiBasedTool.js +6 -2
  114. package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -1
  115. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  116. package/dist/esm/tools/category-search-tool/CategorySearchTool.js +2 -2
  117. package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  118. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.d.ts.map +1 -1
  119. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.js +2 -0
  120. package/dist/esm/tools/list-public-tokens-tool/ListPublicTokensTool.js.map +1 -1
  121. package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts.map +1 -1
  122. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts +1 -0
  123. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -1
  124. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js +10 -6
  125. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -1
  126. package/dist/esm/tools/render-map-tool/RenderMapTool.js +26 -12
  127. package/dist/esm/tools/render-map-tool/RenderMapTool.js.map +1 -1
  128. package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts +1 -0
  129. package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -1
  130. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -1
  131. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js +43 -9
  132. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -1
  133. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  134. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +2 -2
  135. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  136. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +8 -1
  137. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  138. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +114 -91
  139. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  140. package/dist/esm/tools/static-map-image-tool/buildStaticMapRequestUrl.d.ts +23 -0
  141. package/dist/esm/tools/static-map-image-tool/buildStaticMapRequestUrl.d.ts.map +1 -0
  142. package/dist/esm/tools/static-map-image-tool/buildStaticMapRequestUrl.js +78 -0
  143. package/dist/esm/tools/static-map-image-tool/buildStaticMapRequestUrl.js.map +1 -0
  144. package/dist/esm/utils/mapAppPayload.d.ts +15 -6
  145. package/dist/esm/utils/mapAppPayload.d.ts.map +1 -1
  146. package/dist/esm/utils/mapAppPayload.js +2 -1
  147. package/dist/esm/utils/mapAppPayload.js.map +1 -1
  148. package/dist/esm/utils/mapboxPublicToken.d.ts +5 -1
  149. package/dist/esm/utils/mapboxPublicToken.d.ts.map +1 -1
  150. package/dist/esm/utils/mapboxPublicToken.js +6 -1
  151. package/dist/esm/utils/mapboxPublicToken.js.map +1 -1
  152. package/dist/esm/utils/responseRef.d.ts +1 -1
  153. package/dist/esm/utils/responseRef.d.ts.map +1 -1
  154. package/dist/esm/utils/responseRef.js +1 -1
  155. package/dist/esm/utils/responseRef.js.map +1 -1
  156. package/dist/esm/utils/selfFetchRef.d.ts +24 -0
  157. package/dist/esm/utils/selfFetchRef.d.ts.map +1 -1
  158. package/dist/esm/utils/selfFetchRef.js +67 -0
  159. package/dist/esm/utils/selfFetchRef.js.map +1 -1
  160. package/dist/esm/utils/serverInstructions.js +1 -1
  161. package/dist/esm/utils/serverInstructions.js.map +1 -1
  162. package/dist/esm/version.json +3 -3
  163. package/package.json +1 -1
@@ -7,13 +7,17 @@ const BaseTool_js_1 = require("../BaseTool.js");
7
7
  const ResourceReaderTool_input_schema_js_1 = require("./ResourceReaderTool.input.schema.js");
8
8
  const ResourceReaderTool_output_schema_js_1 = require("./ResourceReaderTool.output.schema.js");
9
9
  const resourceRegistry_js_1 = require("../../resources/resourceRegistry.js");
10
+ const selfFetchRef_js_1 = require("../../utils/selfFetchRef.js");
11
+ // Base64 grows a blob by about a third, so this keeps an image result under
12
+ // Claude Desktop's 1 MB tool-result cap (same limit as static_map_image_tool).
13
+ const BLOB_INLINE_LIMIT = 700 * 1024;
10
14
  /**
11
15
  * Tool for reading MCP resources via the tool interface.
12
16
  * This provides a fallback mechanism for clients that don't support the MCP resource API.
13
17
  */
14
18
  class ResourceReaderTool extends BaseTool_js_1.BaseTool {
15
19
  name = 'resource_reader_tool';
16
- description = 'Reads an MCP resource by URI. This tool is a fallback for clients that do not support the native MCP resource API. Supports reading category lists and other Mapbox resources. Use "mapbox://categories" for default categories or "mapbox://categories/{language}" for localized versions (e.g., "mapbox://categories/ja" for Japanese).';
20
+ description = 'Reads an MCP resource by URI. This tool is a fallback for clients that do not support the native MCP resource API. Supports reading category lists and the mapbox:// refs other tools return (mapbox://temp/..., mapbox://response/..., mapbox://inline/..., mapbox://compute/...); pass a ref exactly as returned. mapbox://selffetch/... refs are not readable: pass them to render_map_tool in payload_refs, which fetches the data itself. Use "mapbox://categories" for default categories or "mapbox://categories/{language}" for localized versions (e.g., "mapbox://categories/ja" for Japanese).';
17
21
  annotations = {
18
22
  title: 'Resource Reader Tool',
19
23
  readOnlyHint: true,
@@ -52,6 +56,17 @@ class ResourceReaderTool extends BaseTool_js_1.BaseTool {
52
56
  }
53
57
  }
54
58
  async execute(input, extra) {
59
+ if ((0, selfFetchRef_js_1.isSelfFetchRef)(input.uri)) {
60
+ return {
61
+ content: [
62
+ {
63
+ type: 'text',
64
+ text: `${input.uri} is not a readable resource. Pass it unchanged to render_map_tool in payload_refs; the map fetches its data itself.`
65
+ }
66
+ ],
67
+ isError: true
68
+ };
69
+ }
55
70
  // Find the resource by URI
56
71
  const resource = (0, resourceRegistry_js_1.getResourceByUri)(input.uri);
57
72
  if (!resource) {
@@ -89,17 +104,36 @@ class ResourceReaderTool extends BaseTool_js_1.BaseTool {
89
104
  catch (validationError) {
90
105
  this.log('warning', `Output schema validation failed: ${validationError instanceof Error ? validationError.message : 'Unknown validation error'}`);
91
106
  }
92
- // Extract text or blob from the content using type guards
93
- let textContent;
94
- if ('text' in content && typeof content.text === 'string') {
95
- textContent = content.text;
96
- }
97
- else if ('blob' in content && typeof content.blob === 'string') {
98
- textContent = content.blob;
107
+ // A blob goes back once, not as base64 text plus a copy in
108
+ // structuredContent: an image the host can show, or a short note when
109
+ // it's too big to send (or isn't an image).
110
+ if ('blob' in content && typeof content.blob === 'string') {
111
+ const mimeType = content.mimeType ?? 'application/octet-stream';
112
+ const bytes = Math.floor((content.blob.length * 3) / 4);
113
+ const structuredContent = { uri: content.uri, mimeType };
114
+ if ((mimeType === 'image/png' || mimeType === 'image/jpeg') &&
115
+ bytes <= BLOB_INLINE_LIMIT) {
116
+ return {
117
+ content: [{ type: 'image', data: content.blob, mimeType }],
118
+ structuredContent,
119
+ isError: false
120
+ };
121
+ }
122
+ return {
123
+ content: [
124
+ {
125
+ type: 'text',
126
+ text: `${input.uri} holds ${mimeType} data (${Math.round(bytes / 1024)} KB), too large to return through this tool. For a static map, give the user the image link from static_map_image_tool's result, or call it again with a smaller size.`
127
+ }
128
+ ],
129
+ structuredContent,
130
+ isError: false
131
+ };
99
132
  }
100
- else {
133
+ if (!('text' in content) || typeof content.text !== 'string') {
101
134
  throw new Error('Resource content must contain either text or blob');
102
135
  }
136
+ const textContent = content.text;
103
137
  return {
104
138
  content: [
105
139
  {
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceReaderTool.js","sourceRoot":"","sources":["../../../../src/tools/resource-reader-tool/ResourceReaderTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResourceReaderTool.js","sourceRoot":"","sources":["../../../../src/tools/resource-reader-tool/ResourceReaderTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,gDAA0C;AAM1C,6FAAqF;AACrF,+FAAuF;AACvF,6EAAuE;AACvE,iEAA6D;AAE7D,4EAA4E;AAC5E,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAAC;AAErC;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,sBAGvC;IACC,IAAI,GAAG,sBAAsB,CAAC;IAC9B,WAAW,GACT,2kBAA2kB,CAAC;IAC9kB,WAAW,GAAG;QACZ,KAAK,EAAE,sBAAsB;QAC7B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB,CAAC;IAEF;QACE,KAAK,CAAC;YACJ,WAAW,EAAE,kEAA6B;YAC1C,YAAY,EAAE,oEAA8B;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CACP,QAAiB,EAEjB,KAAqB;QAErB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAE/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,MAAM,CAAC;QAChB,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;YACzD,IAAI,CAAC,GAAG,CACN,OAAO,EACP,GAAG,IAAI,CAAC,IAAI,6BAA6B,YAAY,EAAE,CACxD,CAAC;YAEF,MAAM,aAAa,GAAG;gBACpB,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;qBACpC;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,KAA8B,EAE9B,KAAqB;QAErB,IAAI,IAAA,gCAAc,EAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,qHAAqH;qBACxI;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,IAAA,sCAAgB,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC/D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,uBAAuB,KAAK,CAAC,GAAG,8BAA8B,kBAAkB,EAAE;qBACzF;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,oBAAoB;YACpB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAErD,4FAA4F;YAC5F,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAEnC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,iCAAiC,KAAK,CAAC,GAAG,EAAE;yBACnD;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,iCAAiC;YACjC,IAAI,CAAC;gBACH,oEAA8B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CACN,SAAS,EACT,oCAAoC,eAAe,YAAY,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAC9H,CAAC;YACJ,CAAC;YAED,2DAA2D;YAC3D,sEAAsE;YACtE,4CAA4C;YAC5C,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,0BAA0B,CAAC;gBAChE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxD,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;gBACzD,IACE,CAAC,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,YAAY,CAAC;oBACvD,KAAK,IAAI,iBAAiB,EAC1B,CAAC;oBACD,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;wBAC1D,iBAAiB;wBACjB,OAAO,EAAE,KAAK;qBACf,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,UAAU,QAAQ,UAAU,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,wKAAwK;yBAC/O;qBACF;oBACD,iBAAiB;oBACjB,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAEjC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,WAAW;qBAClB;iBACF;gBACD,iBAAiB,EAAE,OAAO;gBAC1B,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;YACzD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0BAA0B,KAAK,CAAC,GAAG,KAAK,YAAY,EAAE;qBAC7D;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB;QAClC,MAAM,EAAE,eAAe,EAAE,GACvB,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;CACF;AA1LD,gDA0LC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchAndGeocodeTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EACL,uBAAuB,EAExB,MAAM,yCAAyC,CAAC;AAKjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAOnE,qBAAa,oBAAqB,SAAQ,kBAAkB,CAC1D,OAAO,2BAA2B,EAClC,OAAO,uBAAuB,CAC/B;IACC,IAAI,SAA6B;IACjC,WAAW,SACsvB;IACjwB,WAAW;;;;;;MAMT;gBACU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAQhD,OAAO,CAAC,mBAAmB;cA6DX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,EAClD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;IAuJ1B;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;CA0CvB"}
1
+ {"version":3,"file":"SearchAndGeocodeTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EACL,uBAAuB,EAExB,MAAM,yCAAyC,CAAC;AAKjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAUnE,qBAAa,oBAAqB,SAAQ,kBAAkB,CAC1D,OAAO,2BAA2B,EAClC,OAAO,uBAAuB,CAC/B;IACC,IAAI,SAA6B;IACjC,WAAW,SACsvB;IACjwB,WAAW;;;;;;MAMT;gBACU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAQhD,OAAO,CAAC,mBAAmB;cA6DX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,EAClD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;IAuJ1B;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;CA0CvB"}
@@ -209,7 +209,7 @@ class SearchAndGeocodeTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
209
209
  const ref = (0, selfFetchRef_js_1.buildSelfFetchRef)('search', {
210
210
  q: input.q,
211
211
  language: input.language,
212
- proximity: input.proximity,
212
+ ...(0, selfFetchRef_js_1.searchSelfFetchProximity)(input, data),
213
213
  bbox: input.bbox,
214
214
  country: input.country,
215
215
  types: input.types,
@@ -1 +1 @@
1
- {"version":3,"file":"SearchAndGeocodeTool.js","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAGlC,oEAA8D;AAE9D,+DAAyD;AACzD,iGAAqF;AACrF,mGAGiD;AAMjD,6FAAuF;AACvF,uEAA4D;AAC5D,iEAAgE;AAEhE,mFAAmF;AAEnF,MAAa,oBAAqB,SAAQ,0CAGzC;IACC,IAAI,GAAG,yBAAyB,CAAC;IACjC,WAAW,GACT,8vBAA8vB,CAAC;IACjwB,WAAW,GAAG;QACZ,KAAK,EAAE,yBAAyB;QAChC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB,CAAC;IACF,YAAY,MAAoC;QAC9C,KAAK,CAAC;YACJ,WAAW,EAAE,kEAA2B;YACxC,YAAY,EAAE,+DAAuB;YACrC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CACzB,eAAwC;QAExC,IACE,CAAC,eAAe;YAChB,CAAC,eAAe,CAAC,QAAQ;YACzB,eAAe,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EACrC,CAAC;YACD,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAC1C,CAAC,OAAsB,EAAE,KAAa,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;YAE9B,IAAI,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC;YAE9B,WAAW;YACX,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,KAAK,CAAC,cAAc,GAAG,CAAC;YACzC,CAAC;YAED,eAAe;YACf,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,IAAI,iBAAiB,KAAK,CAAC,YAAY,EAAE,CAAC;YAClD,CAAC;iBAAM,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBACjC,MAAM,IAAI,iBAAiB,KAAK,CAAC,eAAe,EAAE,CAAC;YACrD,CAAC;YAED,yBAAyB;YACzB,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;gBACpC,MAAM,IAAI,qBAAqB,GAAG,KAAK,GAAG,EAAE,CAAC;YAC/C,CAAC;YAED,eAAe;YACf,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,IAAI,cAAc,KAAK,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC;YAED,uBAAuB;YACvB,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,kBAAkB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,kBAAkB,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/C,CAAC;YAED,sDAAsD;YACtD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,IAAI,mBAAmB,KAAK,CAAC,SAAS,EAAE,CAAC;YACjD,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAES,KAAK,CAAC,OAAO,CACrB,KAAkD,EAClD,WAAmB;QAEnB,MAAM,GAAG,GAAG,IAAA,oEAA+B,EAAC;YAC1C,KAAK;YACL,WAAW;YACX,WAAW,EAAE,0CAAkB,CAAC,iBAAiB;SAClD,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CACN,MAAM,EACN,4CAA4C,IAAA,4BAAW,EAAC,GAAG,CAAC,EAAE,CAC/D,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE7C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG,CACN,OAAO,EACP,6CAA6C,QAAQ,CAAC,MAAM,cAAc,YAAY,EAAE,CACzF,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qBAAqB,YAAY,EAAE;qBAC1C;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtC,0DAA0D;QAC1D,IAAI,IAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,IAAI,GAAG,+DAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CACN,SAAS,EACT,iDAAiD,eAAe,YAAY,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAC3I,CAAC;YACF,gCAAgC;YAChC,IAAI,GAAG,OAA4B,CAAC;QACtC,CAAC;QAED,4DAA4D;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QACjC,IACE,MAAM;YACN,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,EAC1B,CAAC;YACD,4DAA4D;YAC5D,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;oBACnD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;oBACvC,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;oBACpC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;wBAC1B,KAAK,IAAI,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;oBACzC,CAAC;yBAAM,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;wBAC9B,KAAK,IAAI,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;oBACtC,CAAC;oBACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzC,CAAC,CAAC,CAAC;gBAEH,mDAAmD;gBACnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;oBAC7C,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,iBAAiB,KAAK,CAAC,CAAC,wCAAwC;oBACtG,eAAe,EAAE;wBACf,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,aAAa,EAAE;gCACb,IAAI,EAAE,QAAQ;gCACd,KAAK,EAAE,iBAAiB;gCACxB,WAAW,EAAE,8CAA8C;gCAC3D,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gCACjC,+DAA+D;gCAC/D,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;6BACvC;yBACF;wBACD,QAAQ,EAAE,CAAC,eAAe,CAAC;qBAC5B;iBACF,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;oBAChE,MAAM,gBAAgB,GACpB,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ;wBAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa;wBAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;oBAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;oBACrD,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAErD,kCAAkC;oBAClC,MAAM,YAAY,GAAsB;wBACtC,GAAG,IAAI;wBACP,QAAQ,EAAE,CAAC,eAAe,CAAC;qBAC5B,CAAC;oBAEF,OAAO,IAAI,CAAC,cAAc,CACxB;wBACE,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAC5B,YAAuC,CACxC;6BACF;yBACF;wBACD,iBAAiB,EAAE,YAAY;wBAC/B,OAAO,EAAE,KAAK;qBACf,EACD,YAAY,EACZ,KAAK,EACL,eAAe,EAAE,UAAU,EAAE,SAAS,CACvC,CAAC;gBACJ,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvC,yDAAyD;oBACzD,IAAI,CAAC,GAAG,CACN,MAAM,EACN,iEAAiE,CAClE,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,kEAAkE;gBAClE,qEAAqE;gBACrE,mEAAmE;gBACnE,iEAAiE;gBACjE,4DAA4D;YAC9D,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,OAAO,IAAI,CAAC,cAAc,CACxB;YACE,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAA+B,CAAC;iBAChE;aACF;YACD,iBAAiB,EAAE,IAAI;YACvB,OAAO,EAAE,KAAK;SACf,EACD,IAAI,EACJ,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,cAAc,CACpB,IAAoB,EACpB,IAAa,EACb,KAAkD,EAClD,gBAAyB;QAEzB,MAAM,EAAE,GAAG,IAGE,CAAC;QACd,MAAM,SAAS,GACb,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC;YAC3B,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAA,mCAAiB,EAAC,QAAQ,EAAE;YACtC,CAAC,EAAE,KAAK,CAAC,CAAC;YACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,gBAAgB;SACjB,CAAC,CAAC;QACH,MAAM,EAAE,GAAG;YACT,GAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAA6B;YAC9D,YAAY,EAAE,EAAE,GAAG,EAAE;SACtB,CAAC;QACF,uEAAuE;QACvE,kDAAkD;QAClD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAChD,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAC1B,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,IAAe,GAAG,IAAA,+BAAU,EAAC,GAAG,CAAC,EAAE;YACtD,CAAC,CAAC,CAAC,CACN,CAAC;QACF,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;IACrD,CAAC;CACF;AAhSD,oDAgSC"}
1
+ {"version":3,"file":"SearchAndGeocodeTool.js","sourceRoot":"","sources":["../../../../src/tools/search-and-geocode-tool/SearchAndGeocodeTool.ts"],"names":[],"mappings":"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"}
@@ -13,10 +13,17 @@ export declare class StaticMapImageTool extends MapboxApiBasedTool<typeof Static
13
13
  idempotentHint: boolean;
14
14
  openWorldHint: boolean;
15
15
  };
16
+ readonly meta: {
17
+ ui: {
18
+ resourceUri: string;
19
+ csp: {
20
+ resourceDomains: string[];
21
+ };
22
+ };
23
+ };
16
24
  constructor(params: {
17
25
  httpRequest: HttpRequest;
18
26
  });
19
- private encodeOverlay;
20
27
  protected execute(input: z.infer<typeof StaticMapImageInputSchema>, accessToken: string): Promise<CallToolResult>;
21
28
  }
22
29
  //# sourceMappingURL=StaticMapImageTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StaticMapImageTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAyBnE,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IACC,IAAI,SAA2B;IAC/B,WAAW,SAC6Y;IACxZ,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAOhD,OAAO,CAAC,aAAa;cAkDL,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CAsE3B"}
1
+ {"version":3,"file":"StaticMapImageTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAqBnE,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IACC,IAAI,SAA2B;IAC/B,WAAW,SAC6Y;IACxZ,WAAW;;;;;;MAMT;IAKF,QAAQ,CAAC,IAAI;;;;;;;MAKX;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;cAOhC,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CAwI3B"}
@@ -6,24 +6,15 @@ exports.StaticMapImageTool = void 0;
6
6
  const node_crypto_1 = require("node:crypto");
7
7
  const MapboxApiBasedTool_js_1 = require("../MapboxApiBasedTool.js");
8
8
  const StaticMapImageTool_input_schema_js_1 = require("./StaticMapImageTool.input.schema.js");
9
- const temporaryResourceManager_js_1 = require("../../utils/temporaryResourceManager.js");
10
- const jwtUtils_js_1 = require("../../utils/jwtUtils.js");
11
- // Images larger than this threshold are stored as temporary resources instead
9
+ const responseRef_js_1 = require("../../utils/responseRef.js");
10
+ const buildStaticMapRequestUrl_js_1 = require("./buildStaticMapRequestUrl.js");
11
+ const mapboxPublicToken_js_1 = require("../../utils/mapboxPublicToken.js");
12
+ const server_1 = require("@modelcontextprotocol/ext-apps/server");
13
+ const StaticMapViewerUIResource_js_1 = require("../../resources/ui-apps/StaticMapViewerUIResource.js");
14
+ // Images larger than this threshold get a `mapbox://response/` ref instead
12
15
  // of being inlined as base64, to avoid exceeding Claude Desktop's 1MB tool
13
16
  // result limit. base64 adds ~33% overhead, so 700KB raw ≈ 933KB encoded.
14
17
  const IMAGE_INLINE_THRESHOLD = 700 * 1024; // 700KB
15
- // encodeURIComponent leaves (, ), !, ', and * unescaped (they're valid in a
16
- // URI component per RFC 3986's "unreserved" carve-out from the older
17
- // escape() behaviour). Every overlay value below is embedded inside a
18
- // path segment delimited by literal parentheses (e.g. `url-<value>(lon,lat)`,
19
- // `geojson(<value>)`), so a raw `)` in the value can terminate that segment
20
- // early from the Static Images API's own overlay-syntax parser's point of
21
- // view, even though this value already passed URL/JSON validation on our
22
- // side. Escape those characters explicitly so both parsers agree on where
23
- // the value actually ends.
24
- function encodeOverlayComponent(value) {
25
- return encodeURIComponent(value).replace(/[()!'*]/g, (c) => '%' + c.charCodeAt(0).toString(16).toUpperCase());
26
- }
27
18
  class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
28
19
  name = 'static_map_image_tool';
29
20
  description = 'Generates a static map image from Mapbox Static Images API. Supports center coordinates, zoom level (0-22), image size (up to 1280x1280), various Mapbox styles, and overlays (markers, paths, GeoJSON). Returns PNG for vector styles, JPEG for raster-only styles. Use only when the user explicitly asks for a static image file — to show a map, use render_map_tool instead, which renders an interactive map.';
@@ -34,72 +25,35 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
34
25
  idempotentHint: true,
35
26
  openWorldHint: true
36
27
  };
28
+ // MCP Apps hosts show the image at full width in this viewer instead of as
29
+ // a thumbnail. The result is the same either way, so hosts without MCP
30
+ // Apps still get the image item and the link.
31
+ meta = {
32
+ ui: {
33
+ resourceUri: StaticMapViewerUIResource_js_1.STATIC_MAP_VIEWER_URI,
34
+ csp: (0, StaticMapViewerUIResource_js_1.staticMapViewerCsp)(MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint)
35
+ }
36
+ };
37
37
  constructor(params) {
38
38
  super({
39
39
  inputSchema: StaticMapImageTool_input_schema_js_1.StaticMapImageInputSchema,
40
40
  httpRequest: params.httpRequest
41
41
  });
42
42
  }
43
- encodeOverlay(overlay) {
44
- switch (overlay.type) {
45
- case 'marker': {
46
- const size = overlay.size === 'large' ? 'pin-l' : 'pin-s';
47
- let marker = size;
48
- if (overlay.label) {
49
- marker += `-${overlay.label}`;
50
- }
51
- if (overlay.color) {
52
- marker += `+${overlay.color}`;
53
- }
54
- return `${marker}(${overlay.longitude},${overlay.latitude})`;
55
- }
56
- case 'custom-marker': {
57
- const encodedUrl = encodeOverlayComponent(overlay.url);
58
- return `url-${encodedUrl}(${overlay.longitude},${overlay.latitude})`;
59
- }
60
- case 'path': {
61
- let path = `path-${overlay.strokeWidth}`;
62
- if (overlay.strokeColor) {
63
- path += `+${overlay.strokeColor}`;
64
- if (overlay.strokeOpacity !== undefined) {
65
- path += `-${overlay.strokeOpacity}`;
66
- }
67
- }
68
- if (overlay.fillColor) {
69
- path += `+${overlay.fillColor}`;
70
- if (overlay.fillOpacity !== undefined) {
71
- path += `-${overlay.fillOpacity}`;
72
- }
73
- }
74
- // URL encode the polyline to handle special characters
75
- return `${path}(${encodeOverlayComponent(overlay.encodedPolyline)})`;
76
- }
77
- case 'geojson': {
78
- const geojsonString = JSON.stringify(overlay.data);
79
- return `geojson(${encodeOverlayComponent(geojsonString)})`;
80
- }
81
- }
82
- }
83
43
  async execute(input, accessToken) {
84
- const { longitude: lng, latitude: lat } = input.center;
85
44
  const { width, height } = input.size;
86
- // Build overlay string
87
- let overlayString = '';
88
- if (input.overlays && input.overlays.length > 0) {
89
- const encodedOverlays = input.overlays.map((overlay) => {
90
- return this.encodeOverlay(overlay);
91
- });
92
- overlayString = encodedOverlays.join(',') + '/';
93
- }
94
- const density = input.highDensity ? '@2x' : '';
95
- const encodedStyle = input.style
96
- .split('/')
97
- .map(encodeURIComponent)
98
- .join('/');
99
- const publicUrl = `${MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint}styles/v1/${encodedStyle}/static/${overlayString}${lng},${lat},${input.zoom}/${width}x${height}${density}`;
100
- const url = `${publicUrl}?access_token=${accessToken}`;
45
+ const apiEndpoint = MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint;
46
+ // The input the returned image was rendered from: the 1x fallback below
47
+ // swaps it, so a mapbox://response/ ref renders the same image again.
48
+ let rendered = input;
49
+ const requested = (0, buildStaticMapRequestUrl_js_1.buildStaticMapRequestUrl)({
50
+ input,
51
+ accessToken,
52
+ apiEndpoint
53
+ });
54
+ let publicUrl = requested.publicUrl;
101
55
  // Fetch image
102
- const response = await this.httpRequest(url);
56
+ const response = await this.httpRequest(requested.url);
103
57
  if (!response.ok) {
104
58
  const errorMessage = await this.getErrorMessage(response);
105
59
  return {
@@ -107,29 +61,98 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
107
61
  isError: true
108
62
  };
109
63
  }
110
- const buffer = await response.arrayBuffer();
111
- const isRasterStyle = input.style.includes('satellite');
112
- const mimeType = isRasterStyle ? 'image/jpeg' : 'image/png';
113
- // Use public URL (without credentials) to avoid leaking the access token
64
+ let buffer = await response.arrayBuffer();
65
+ // A 2x image is about three times the bytes of the same map at 1x (a
66
+ // 1000x800 streets map: 877KB vs 295KB). Rather than hand back a
67
+ // resource ref the host can't show (Codex showed no image at all),
68
+ // try the 1x image, which usually fits inline.
69
+ if (input.highDensity && buffer.byteLength > IMAGE_INLINE_THRESHOLD) {
70
+ const oneX = { ...input, highDensity: false };
71
+ const fallbackUrls = (0, buildStaticMapRequestUrl_js_1.buildStaticMapRequestUrl)({
72
+ input: oneX,
73
+ accessToken,
74
+ apiEndpoint
75
+ });
76
+ const fallback = await this.httpRequest(fallbackUrls.url);
77
+ if (fallback.ok) {
78
+ const fallbackBuffer = await fallback.arrayBuffer();
79
+ if (fallbackBuffer.byteLength < buffer.byteLength) {
80
+ buffer = fallbackBuffer;
81
+ rendered = oneX;
82
+ publicUrl = fallbackUrls.publicUrl;
83
+ }
84
+ }
85
+ }
86
+ const mimeType = (0, buildStaticMapRequestUrl_js_1.getStaticMapMimeType)(input.style);
87
+ // Hosts show the image from this result, but a model can't put it in its
88
+ // own reply, so it hands the user a URL instead or says "the map above"
89
+ // over nothing (Codex did both). Give it a link that works: the request
90
+ // URL with a public (pk.) token, never the
91
+ // access token used for the fetch (#201). The server's own
92
+ // MAPBOX_PUBLIC_TOKEN is only used when the caller runs on the server's
93
+ // own access token (a local install), so a hosted caller never gets it
94
+ // in their chat history. With no public token, say not to link the URL.
95
+ const inline = buffer.byteLength <= IMAGE_INLINE_THRESHOLD;
96
+ const publicToken = await (0, mapboxPublicToken_js_1.resolveMapboxPublicToken)({
97
+ accessToken,
98
+ apiEndpoint: MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint,
99
+ httpRequest: this.httpRequest,
100
+ allowEnvFallback: accessToken === MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxAccessToken
101
+ });
102
+ const describedSize = `${width}x${height}${publicUrl.endsWith('@2x') ? ' @2x' : ''}`;
103
+ const attached = `Static map image (${describedSize}, ${input.style}) is attached to this result, which is where the host shows it to the user. `;
104
+ // A client that supports MCP Apps shows the image at full size in the
105
+ // viewer (see StaticMapViewerUIResource), so a link in the reply would
106
+ // show it twice. Clients that don't say so (or a stateless server that
107
+ // never saw their initialize) get the link text.
108
+ const imageUrl = publicToken
109
+ ? `${publicUrl}?access_token=${publicToken}`
110
+ : undefined;
111
+ const showsViewer = (inline || imageUrl !== undefined) &&
112
+ (0, server_1.getUiCapability)(this.activeServer?.server.getClientCapabilities())?.mimeTypes?.includes(server_1.RESOURCE_MIME_TYPE) === true;
113
+ const urlNote = showsViewer
114
+ ? `Static map image (${describedSize}, ${input.style}) is shown to the user at full size in this tool's map viewer, so don't embed or link it again in your reply.` +
115
+ (imageUrl
116
+ ? `\nIf the user asks for a link to the image, use this URL; it carries the account's public token: ${imageUrl}`
117
+ : '')
118
+ : imageUrl
119
+ ? (inline
120
+ ? attached + "Your reply can't include that attachment, and "
121
+ : 'The image is not attached, and ') +
122
+ // Neither Claude's UI nor Codex renders images from other domains
123
+ // in a reply (both left a broken image), so ask for a link.
124
+ "chat interfaces generally don't show images from external URLs, so don't embed this URL as a Markdown image. " +
125
+ "Give it as a link instead; it carries the account's public token, so it opens in a browser.\n" +
126
+ `Image URL: ${imageUrl}`
127
+ : inline
128
+ ? attached +
129
+ "Don't link or embed the request URL below: it has no access token, so it won't load for the user. " +
130
+ 'If they ask to see the map again, point them to this result or call this tool again.\n' +
131
+ `Request URL: ${publicUrl}`
132
+ : `Request URL (it has no access token, so don't link or embed it): ${publicUrl}`;
114
133
  const content = [
115
- { type: 'text', text: publicUrl }
134
+ { type: 'text', text: urlNote }
116
135
  ];
117
- if (buffer.byteLength > IMAGE_INLINE_THRESHOLD) {
118
- // Image is too large to inline safely — store as temporary resource
119
- const resourceId = (0, node_crypto_1.randomBytes)(16).toString('hex');
120
- const resourceUri = `mapbox://temp/static-map-${resourceId}`;
121
- const base64Data = Buffer.from(buffer).toString('base64');
122
- temporaryResourceManager_js_1.temporaryResourceManager.create({
123
- id: resourceId,
124
- uri: resourceUri,
125
- data: base64Data,
126
- metadata: { toolName: this.name, size: buffer.byteLength },
127
- mimeType,
128
- owner: (0, jwtUtils_js_1.getOwnerKeyFromToken)(accessToken)
136
+ // Say so when the 1x fallback replaced the @2x image the caller asked
137
+ // for, so the model can tell the user. Its own item, so the first one
138
+ // still starts with the size (the viewer's alt text).
139
+ if (rendered !== input) {
140
+ content.push({
141
+ type: 'text',
142
+ text: 'The @2x image was too large to send, so this is the 1x image. For @2x, call this tool again with a smaller size.'
143
+ });
144
+ }
145
+ if (!inline) {
146
+ // Image is too large to inline safely. The ref carries the request's
147
+ // inputs, not the image, so any server process can answer a later
148
+ // read by rendering it again (see responseRef.ts).
149
+ const resourceUri = (0, responseRef_js_1.buildResponseRef)({
150
+ tool: 'static-map',
151
+ input: rendered
129
152
  });
130
153
  content.push({
131
154
  type: 'text',
132
- text: `⚠️ Image (${Math.round(buffer.byteLength / 1024)}KB) stored as temporary resource.\nResource URI: ${resourceUri}\nTTL: 30 minutes`
155
+ text: `⚠️ Image (${Math.round(buffer.byteLength / 1024)}KB) is too large to return inline.\nRead ${resourceUri} with the MCP resource API to get it. Reading it renders the same image again.`
133
156
  });
134
157
  }
135
158
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"StaticMapImageTool.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StaticMapImageTool.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { z } from 'zod';
2
+ import type { StaticMapImageInputSchema, OverlaySchema } from './StaticMapImageTool.input.schema.js';
3
+ export declare function encodeOverlayComponent(value: string): string;
4
+ export declare function encodeOverlay(overlay: z.infer<typeof OverlaySchema>): string;
5
+ export declare function getStaticMapMimeType(style: string): 'image/jpeg' | 'image/png';
6
+ export interface StaticMapRequestUrls {
7
+ /** The request URL without the access token, safe to show the model. */
8
+ publicUrl: string;
9
+ /** The same URL with the access token, for the request itself. */
10
+ url: string;
11
+ }
12
+ /**
13
+ * Builds the Static Images API request for a given input. Shared by
14
+ * StaticMapImageTool and ToolResponseResource, which fetches a large image
15
+ * again from its `mapbox://response/` ref. The API renders the same image
16
+ * for the same parameters, so the two requests return the same bytes.
17
+ */
18
+ export declare function buildStaticMapRequestUrl(params: {
19
+ input: z.infer<typeof StaticMapImageInputSchema>;
20
+ accessToken: string;
21
+ apiEndpoint: string;
22
+ }): StaticMapRequestUrls;
23
+ //# sourceMappingURL=buildStaticMapRequestUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildStaticMapRequestUrl.d.ts","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/buildStaticMapRequestUrl.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,yBAAyB,EACzB,aAAa,EACd,MAAM,sCAAsC,CAAC;AAW9C,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK5D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,MAAM,CAgD5E;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,GACZ,YAAY,GAAG,WAAW,CAE5B;AAED,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,oBAAoB,CAgBvB"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.encodeOverlayComponent = encodeOverlayComponent;
6
+ exports.encodeOverlay = encodeOverlay;
7
+ exports.getStaticMapMimeType = getStaticMapMimeType;
8
+ exports.buildStaticMapRequestUrl = buildStaticMapRequestUrl;
9
+ // encodeURIComponent leaves (, ), !, ', and * unescaped (they're valid in a
10
+ // URI component per RFC 3986's "unreserved" carve-out from the older
11
+ // escape() behaviour). Every overlay value below is embedded inside a
12
+ // path segment delimited by literal parentheses (e.g. `url-<value>(lon,lat)`,
13
+ // `geojson(<value>)`), so a raw `)` in the value can terminate that segment
14
+ // early from the Static Images API's own overlay-syntax parser's point of
15
+ // view, even though this value already passed URL/JSON validation on our
16
+ // side. Escape those characters explicitly so both parsers agree on where
17
+ // the value actually ends.
18
+ function encodeOverlayComponent(value) {
19
+ return encodeURIComponent(value).replace(/[()!'*]/g, (c) => '%' + c.charCodeAt(0).toString(16).toUpperCase());
20
+ }
21
+ function encodeOverlay(overlay) {
22
+ switch (overlay.type) {
23
+ case 'marker': {
24
+ const size = overlay.size === 'large' ? 'pin-l' : 'pin-s';
25
+ let marker = size;
26
+ if (overlay.label) {
27
+ marker += `-${overlay.label}`;
28
+ }
29
+ if (overlay.color) {
30
+ marker += `+${overlay.color}`;
31
+ }
32
+ return `${marker}(${overlay.longitude},${overlay.latitude})`;
33
+ }
34
+ case 'custom-marker': {
35
+ const encodedUrl = encodeOverlayComponent(overlay.url);
36
+ return `url-${encodedUrl}(${overlay.longitude},${overlay.latitude})`;
37
+ }
38
+ case 'path': {
39
+ let path = `path-${overlay.strokeWidth}`;
40
+ if (overlay.strokeColor) {
41
+ path += `+${overlay.strokeColor}`;
42
+ if (overlay.strokeOpacity !== undefined) {
43
+ path += `-${overlay.strokeOpacity}`;
44
+ }
45
+ }
46
+ if (overlay.fillColor) {
47
+ path += `+${overlay.fillColor}`;
48
+ if (overlay.fillOpacity !== undefined) {
49
+ path += `-${overlay.fillOpacity}`;
50
+ }
51
+ }
52
+ // URL encode the polyline to handle special characters
53
+ return `${path}(${encodeOverlayComponent(overlay.encodedPolyline)})`;
54
+ }
55
+ case 'geojson': {
56
+ const geojsonString = JSON.stringify(overlay.data);
57
+ return `geojson(${encodeOverlayComponent(geojsonString)})`;
58
+ }
59
+ }
60
+ }
61
+ function getStaticMapMimeType(style) {
62
+ return style.includes('satellite') ? 'image/jpeg' : 'image/png';
63
+ }
64
+ /**
65
+ * Builds the Static Images API request for a given input. Shared by
66
+ * StaticMapImageTool and ToolResponseResource, which fetches a large image
67
+ * again from its `mapbox://response/` ref. The API renders the same image
68
+ * for the same parameters, so the two requests return the same bytes.
69
+ */
70
+ function buildStaticMapRequestUrl(params) {
71
+ const { input, accessToken, apiEndpoint } = params;
72
+ const { longitude: lng, latitude: lat } = input.center;
73
+ const { width, height } = input.size;
74
+ let overlayString = '';
75
+ if (input.overlays && input.overlays.length > 0) {
76
+ overlayString = input.overlays.map(encodeOverlay).join(',') + '/';
77
+ }
78
+ const density = input.highDensity ? '@2x' : '';
79
+ const encodedStyle = input.style.split('/').map(encodeURIComponent).join('/');
80
+ const publicUrl = `${apiEndpoint}styles/v1/${encodedStyle}/static/${overlayString}${lng},${lat},${input.zoom}/${width}x${height}${density}`;
81
+ const url = `${publicUrl}?access_token=${accessToken}`;
82
+ return { publicUrl, url };
83
+ }
84
+ //# sourceMappingURL=buildStaticMapRequestUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildStaticMapRequestUrl.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/buildStaticMapRequestUrl.ts"],"names":[],"mappings":"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"}