@mapbox/mcp-server 0.2.0 → 0.2.1-dev.0

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 (58) hide show
  1. package/dist/tools/MapboxApiBasedTool.d.ts +0 -7
  2. package/dist/tools/MapboxApiBasedTool.d.ts.map +1 -1
  3. package/dist/tools/MapboxApiBasedTool.js +2 -24
  4. package/dist/tools/MapboxApiBasedTool.js.map +1 -1
  5. package/dist/tools/category-search-tool/CategorySearchTool.d.ts +6 -55
  6. package/dist/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  7. package/dist/tools/category-search-tool/CategorySearchTool.js +19 -47
  8. package/dist/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  9. package/dist/tools/category-search-tool/CategorySearchTool.test.js +10 -90
  10. package/dist/tools/category-search-tool/CategorySearchTool.test.js.map +1 -1
  11. package/dist/tools/directions-tool/DirectionsTool.d.ts +3 -18
  12. package/dist/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  13. package/dist/tools/directions-tool/DirectionsTool.js +6 -6
  14. package/dist/tools/directions-tool/DirectionsTool.js.map +1 -1
  15. package/dist/tools/directions-tool/DirectionsTool.test.js +118 -122
  16. package/dist/tools/directions-tool/DirectionsTool.test.js.map +1 -1
  17. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts +9 -55
  18. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -1
  19. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js +21 -44
  20. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -1
  21. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js +10 -90
  22. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js.map +1 -1
  23. package/dist/tools/isochrone-tool/IsochroneTool.d.ts +3 -18
  24. package/dist/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  25. package/dist/tools/isochrone-tool/IsochroneTool.js +3 -6
  26. package/dist/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  27. package/dist/tools/isochrone-tool/IsochroneTool.test.js +7 -8
  28. package/dist/tools/isochrone-tool/IsochroneTool.test.js.map +1 -1
  29. package/dist/tools/matrix-tool/MatrixTool.d.ts +3 -18
  30. package/dist/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  31. package/dist/tools/matrix-tool/MatrixTool.js +6 -6
  32. package/dist/tools/matrix-tool/MatrixTool.js.map +1 -1
  33. package/dist/tools/matrix-tool/MatrixTool.test.js +115 -128
  34. package/dist/tools/matrix-tool/MatrixTool.test.js.map +1 -1
  35. package/dist/tools/poi-search-tool/PoiSearchTool.d.ts +9 -73
  36. package/dist/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -1
  37. package/dist/tools/poi-search-tool/PoiSearchTool.js +22 -53
  38. package/dist/tools/poi-search-tool/PoiSearchTool.js.map +1 -1
  39. package/dist/tools/poi-search-tool/PoiSearchTool.test.js +10 -90
  40. package/dist/tools/poi-search-tool/PoiSearchTool.test.js.map +1 -1
  41. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +2 -5
  42. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  43. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js +3 -13
  44. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  45. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js +7 -70
  46. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js.map +1 -1
  47. package/dist/tools/static-map-image-tool/StaticMapImageTool.d.ts +6 -36
  48. package/dist/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  49. package/dist/tools/static-map-image-tool/StaticMapImageTool.js +9 -12
  50. package/dist/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  51. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js +47 -48
  52. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js.map +1 -1
  53. package/dist/version.json +4 -4
  54. package/package.json +1 -1
  55. package/dist/tools/MapboxApiBasedTool.test.d.ts +0 -2
  56. package/dist/tools/MapboxApiBasedTool.test.d.ts.map +0 -1
  57. package/dist/tools/MapboxApiBasedTool.test.js +0 -143
  58. package/dist/tools/MapboxApiBasedTool.test.js.map +0 -1
@@ -1,5 +1,4 @@
1
- process.env.MAPBOX_ACCESS_TOKEN =
2
- 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0In0.signature';
1
+ process.env.MAPBOX_ACCESS_TOKEN = 'test-token';
3
2
  import { setupFetch, assertHeadersSent } from '../../utils/requestUtils.test-helpers.js';
4
3
  import { StaticMapImageTool } from '../static-map-image-tool/StaticMapImageTool.js';
5
4
  describe('StaticMapImageTool', () => {
@@ -9,9 +8,9 @@ describe('StaticMapImageTool', () => {
9
8
  it('sends custom header', async () => {
10
9
  const mockFetch = setupFetch();
11
10
  await new StaticMapImageTool().run({
12
- center: { longitude: -74.006, latitude: 40.7128 },
11
+ center: [-74.006, 40.7128],
13
12
  zoom: 12,
14
- size: { width: 600, height: 400 },
13
+ size: [600, 400],
15
14
  style: 'mapbox/streets-v12'
16
15
  });
17
16
  assertHeadersSent(mockFetch);
@@ -24,9 +23,9 @@ describe('StaticMapImageTool', () => {
24
23
  arrayBuffer: jest.fn().mockResolvedValue(mockArrayBuffer)
25
24
  });
26
25
  const result = await new StaticMapImageTool().run({
27
- center: { longitude: -74.006, latitude: 40.7128 },
26
+ center: [-74.006, 40.7128],
28
27
  zoom: 10,
29
- size: { width: 800, height: 600 },
28
+ size: [800, 600],
30
29
  style: 'mapbox/satellite-v9'
31
30
  });
32
31
  expect(result.is_error).toBe(false);
@@ -40,9 +39,9 @@ describe('StaticMapImageTool', () => {
40
39
  it('constructs correct Mapbox Static API URL', async () => {
41
40
  const mockFetch = setupFetch();
42
41
  await new StaticMapImageTool().run({
43
- center: { longitude: -122.4194, latitude: 37.7749 },
42
+ center: [-122.4194, 37.7749],
44
43
  zoom: 15,
45
- size: { width: 1024, height: 768 },
44
+ size: [1024, 768],
46
45
  style: 'mapbox/dark-v10'
47
46
  });
48
47
  const calledUrl = mockFetch.mock.calls[0][0];
@@ -54,9 +53,9 @@ describe('StaticMapImageTool', () => {
54
53
  it('uses default style when not specified', async () => {
55
54
  const mockFetch = setupFetch();
56
55
  await new StaticMapImageTool().run({
57
- center: { longitude: 0, latitude: 0 },
56
+ center: [0, 0],
58
57
  zoom: 1,
59
- size: { width: 300, height: 200 }
58
+ size: [300, 200]
60
59
  });
61
60
  const calledUrl = mockFetch.mock.calls[0][0];
62
61
  expect(calledUrl).toContain('styles/v1/mapbox/streets-v12/static/');
@@ -68,9 +67,9 @@ describe('StaticMapImageTool', () => {
68
67
  statusText: 'Not Found'
69
68
  });
70
69
  const result = await new StaticMapImageTool().run({
71
- center: { longitude: -74.006, latitude: 40.7128 },
70
+ center: [-74.006, 40.7128],
72
71
  zoom: 12,
73
- size: { width: 600, height: 400 }
72
+ size: [600, 400]
74
73
  });
75
74
  expect(result.is_error).toBe(true);
76
75
  expect(result.content[0]).toMatchObject({
@@ -82,17 +81,17 @@ describe('StaticMapImageTool', () => {
82
81
  const tool = new StaticMapImageTool();
83
82
  // Test invalid longitude
84
83
  await expect(tool.run({
85
- center: { longitude: -181, latitude: 40 },
84
+ center: [-181, 40],
86
85
  zoom: 10,
87
- size: { width: 600, height: 400 }
86
+ size: [600, 400]
88
87
  })).resolves.toMatchObject({
89
88
  is_error: true
90
89
  });
91
90
  // Test invalid latitude
92
91
  await expect(tool.run({
93
- center: { longitude: -74, latitude: 90 },
92
+ center: [-74, 90],
94
93
  zoom: 10,
95
- size: { width: 600, height: 400 }
94
+ size: [600, 400]
96
95
  })).resolves.toMatchObject({
97
96
  is_error: true
98
97
  });
@@ -101,17 +100,17 @@ describe('StaticMapImageTool', () => {
101
100
  const tool = new StaticMapImageTool();
102
101
  // Test size too large
103
102
  await expect(tool.run({
104
- center: { longitude: -74.006, latitude: 40.7128 },
103
+ center: [-74.006, 40.7128],
105
104
  zoom: 10,
106
- size: { width: 1281, height: 600 }
105
+ size: [1281, 600]
107
106
  })).resolves.toMatchObject({
108
107
  is_error: true
109
108
  });
110
109
  // Test size too small
111
110
  await expect(tool.run({
112
- center: { longitude: -74.006, latitude: 40.7128 },
111
+ center: [-74.006, 40.7128],
113
112
  zoom: 10,
114
- size: { width: 0, height: 600 }
113
+ size: [0, 600]
115
114
  })).resolves.toMatchObject({
116
115
  is_error: true
117
116
  });
@@ -119,9 +118,9 @@ describe('StaticMapImageTool', () => {
119
118
  it('supports high density parameter', async () => {
120
119
  const mockFetch = setupFetch();
121
120
  await new StaticMapImageTool().run({
122
- center: { longitude: -74.006, latitude: 40.7128 },
121
+ center: [-74.006, 40.7128],
123
122
  zoom: 12,
124
- size: { width: 600, height: 400 },
123
+ size: [600, 400],
125
124
  highDensity: true
126
125
  });
127
126
  const calledUrl = mockFetch.mock.calls[0][0];
@@ -131,9 +130,9 @@ describe('StaticMapImageTool', () => {
131
130
  it('adds marker overlay to URL', async () => {
132
131
  const mockFetch = setupFetch();
133
132
  await new StaticMapImageTool().run({
134
- center: { longitude: -74.006, latitude: 40.7128 },
133
+ center: [-74.006, 40.7128],
135
134
  zoom: 12,
136
- size: { width: 600, height: 400 },
135
+ size: [600, 400],
137
136
  overlays: [
138
137
  {
139
138
  type: 'marker',
@@ -151,9 +150,9 @@ describe('StaticMapImageTool', () => {
151
150
  it('adds custom marker overlay to URL', async () => {
152
151
  const mockFetch = setupFetch();
153
152
  await new StaticMapImageTool().run({
154
- center: { longitude: -74.006, latitude: 40.7128 },
153
+ center: [-74.006, 40.7128],
155
154
  zoom: 12,
156
- size: { width: 600, height: 400 },
155
+ size: [600, 400],
157
156
  overlays: [
158
157
  {
159
158
  type: 'custom-marker',
@@ -169,9 +168,9 @@ describe('StaticMapImageTool', () => {
169
168
  it('adds path overlay to URL', async () => {
170
169
  const mockFetch = setupFetch();
171
170
  await new StaticMapImageTool().run({
172
- center: { longitude: -74.006, latitude: 40.7128 },
171
+ center: [-74.006, 40.7128],
173
172
  zoom: 12,
174
- size: { width: 600, height: 400 },
173
+ size: [600, 400],
175
174
  overlays: [
176
175
  {
177
176
  type: 'path',
@@ -194,9 +193,9 @@ describe('StaticMapImageTool', () => {
194
193
  coordinates: [-74.006, 40.7128]
195
194
  };
196
195
  await new StaticMapImageTool().run({
197
- center: { longitude: -74.006, latitude: 40.7128 },
196
+ center: [-74.006, 40.7128],
198
197
  zoom: 12,
199
- size: { width: 600, height: 400 },
198
+ size: [600, 400],
200
199
  overlays: [
201
200
  {
202
201
  type: 'geojson',
@@ -210,9 +209,9 @@ describe('StaticMapImageTool', () => {
210
209
  it('supports multiple overlays in order', async () => {
211
210
  const mockFetch = setupFetch();
212
211
  await new StaticMapImageTool().run({
213
- center: { longitude: -74.006, latitude: 40.7128 },
212
+ center: [-74.006, 40.7128],
214
213
  zoom: 12,
215
- size: { width: 600, height: 400 },
214
+ size: [600, 400],
216
215
  overlays: [
217
216
  {
218
217
  type: 'marker',
@@ -237,9 +236,9 @@ describe('StaticMapImageTool', () => {
237
236
  it('works without overlays', async () => {
238
237
  const mockFetch = setupFetch();
239
238
  await new StaticMapImageTool().run({
240
- center: { longitude: -74.006, latitude: 40.7128 },
239
+ center: [-74.006, 40.7128],
241
240
  zoom: 12,
242
- size: { width: 600, height: 400 }
241
+ size: [600, 400]
243
242
  });
244
243
  const calledUrl = mockFetch.mock.calls[0][0];
245
244
  // Should not have overlay string before coordinates
@@ -248,9 +247,9 @@ describe('StaticMapImageTool', () => {
248
247
  it('transforms uppercase labels to lowercase', async () => {
249
248
  const mockFetch = setupFetch();
250
249
  await new StaticMapImageTool().run({
251
- center: { longitude: -74.006, latitude: 40.7128 },
250
+ center: [-74.006, 40.7128],
252
251
  zoom: 12,
253
- size: { width: 600, height: 400 },
252
+ size: [600, 400],
254
253
  overlays: [
255
254
  {
256
255
  type: 'marker',
@@ -269,9 +268,9 @@ describe('StaticMapImageTool', () => {
269
268
  it('supports Maki icon names as labels', async () => {
270
269
  const mockFetch = setupFetch();
271
270
  await new StaticMapImageTool().run({
272
- center: { longitude: -74.006, latitude: 40.7128 },
271
+ center: [-74.006, 40.7128],
273
272
  zoom: 12,
274
- size: { width: 600, height: 400 },
273
+ size: [600, 400],
275
274
  overlays: [
276
275
  {
277
276
  type: 'marker',
@@ -289,9 +288,9 @@ describe('StaticMapImageTool', () => {
289
288
  it('transforms uppercase Maki icon names to lowercase', async () => {
290
289
  const mockFetch = setupFetch();
291
290
  await new StaticMapImageTool().run({
292
- center: { longitude: -74.006, latitude: 40.7128 },
291
+ center: [-74.006, 40.7128],
293
292
  zoom: 12,
294
- size: { width: 600, height: 400 },
293
+ size: [600, 400],
295
294
  overlays: [
296
295
  {
297
296
  type: 'marker',
@@ -310,9 +309,9 @@ describe('StaticMapImageTool', () => {
310
309
  it('supports numeric labels', async () => {
311
310
  const mockFetch = setupFetch();
312
311
  await new StaticMapImageTool().run({
313
- center: { longitude: -74.006, latitude: 40.7128 },
312
+ center: [-74.006, 40.7128],
314
313
  zoom: 12,
315
- size: { width: 600, height: 400 },
314
+ size: [600, 400],
316
315
  overlays: [
317
316
  {
318
317
  type: 'marker',
@@ -330,9 +329,9 @@ describe('StaticMapImageTool', () => {
330
329
  it('handles complex overlay combination with paths and markers', async () => {
331
330
  const mockFetch = setupFetch();
332
331
  await new StaticMapImageTool().run({
333
- center: { longitude: -80.278, latitude: 25.796 },
332
+ center: [-80.278, 25.796],
334
333
  zoom: 15,
335
- size: { width: 800, height: 600 },
334
+ size: [800, 600],
336
335
  style: 'mapbox/streets-v12',
337
336
  overlays: [
338
337
  {
@@ -370,9 +369,9 @@ describe('StaticMapImageTool', () => {
370
369
  it('truncates non-Maki multi-character labels to first character', async () => {
371
370
  const mockFetch = setupFetch();
372
371
  await new StaticMapImageTool().run({
373
- center: { longitude: -74.006, latitude: 40.7128 },
372
+ center: [-74.006, 40.7128],
374
373
  zoom: 12,
375
- size: { width: 600, height: 400 },
374
+ size: [600, 400],
376
375
  overlays: [
377
376
  {
378
377
  type: 'marker',
@@ -400,9 +399,9 @@ describe('StaticMapImageTool', () => {
400
399
  it('preserves full Maki icon names that are in the supported list', async () => {
401
400
  const mockFetch = setupFetch();
402
401
  await new StaticMapImageTool().run({
403
- center: { longitude: -74.006, latitude: 40.7128 },
402
+ center: [-74.006, 40.7128],
404
403
  zoom: 12,
405
- size: { width: 600, height: 400 },
404
+ size: [600, 400],
406
405
  overlays: [
407
406
  {
408
407
  type: 'marker',
@@ -1 +1 @@
1
- {"version":3,"file":"StaticMapImageTool.test.js","sourceRoot":"","sources":["../../../src/tools/static-map-image-tool/StaticMapImageTool.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StaticMapImageTool.test.js","sourceRoot":"","sources":["../../../src/tools/static-map-image-tool/StaticMapImageTool.test.ts"],"names":[],"mappings":"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"}
package/dist/version.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "sha": "0c4be1426d1f41b669d580e2f9f7f70f12e2e4d4",
3
- "tag": "v0.0.1-4-g0c4be14",
4
- "branch": "main",
5
- "version": "0.2.0"
2
+ "sha": "b53f8b91024fe68e6e49ce5aa025475781c83ff0",
3
+ "tag": "v0.0.2-1-gb53f8b9",
4
+ "branch": "prepare-npm-package",
5
+ "version": "0.0.2"
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mapbox/mcp-server",
3
- "version": "0.2.0",
3
+ "version": "0.2.1-dev.0",
4
4
  "description": "Mapbox MCP server.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index-esm.js",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MapboxApiBasedTool.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MapboxApiBasedTool.test.d.ts","sourceRoot":"","sources":["../../src/tools/MapboxApiBasedTool.test.ts"],"names":[],"mappings":""}
@@ -1,143 +0,0 @@
1
- // Use a token with valid JWT format for tests
2
- process.env.MAPBOX_ACCESS_TOKEN =
3
- 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0In0.signature';
4
- import { z } from 'zod';
5
- import { MapboxApiBasedTool } from './MapboxApiBasedTool';
6
- // Create a minimal implementation of MapboxApiBasedTool for testing
7
- class TestTool extends MapboxApiBasedTool {
8
- name = 'test-tool';
9
- description = 'Tool for testing MapboxApiBasedTool error handling';
10
- static inputSchema = z.object({
11
- testParam: z.string()
12
- });
13
- constructor() {
14
- super({ inputSchema: TestTool.inputSchema });
15
- }
16
- async execute(_input) {
17
- throw new Error('Test error message');
18
- }
19
- }
20
- describe('MapboxApiBasedTool', () => {
21
- let testTool;
22
- const originalEnv = process.env;
23
- beforeEach(() => {
24
- testTool = new TestTool();
25
- // Mock the log method to test that errors are properly logged
26
- testTool['log'] = jest.fn();
27
- });
28
- afterEach(() => {
29
- // Restore the process.env to its original state
30
- process.env = { ...originalEnv };
31
- jest.clearAllMocks();
32
- });
33
- describe('JWT token validation', () => {
34
- it('throws an error when the token is not in a valid JWT format', async () => {
35
- // Test the private isValidJwtFormat method directly
36
- const originalToken = MapboxApiBasedTool.MAPBOX_ACCESS_TOKEN;
37
- try {
38
- // Temporarily modify the static property for testing
39
- Object.defineProperty(MapboxApiBasedTool, 'MAPBOX_ACCESS_TOKEN', {
40
- value: 'invalid-token-format',
41
- writable: true,
42
- configurable: true
43
- });
44
- // Create a new instance with the modified token
45
- const toolWithInvalidToken = new TestTool();
46
- // Mock the log method separately for this instance
47
- toolWithInvalidToken['log'] = jest.fn();
48
- // Try to call the run method, it should throw an error due to invalid JWT format
49
- const result = await toolWithInvalidToken.run({ testParam: 'test' });
50
- // Verify the error response
51
- expect(result.is_error).toBe(true);
52
- // Check for error message content
53
- if (process.env.VERBOSE_ERRORS === 'true') {
54
- expect(result.content[0].text).toContain('not in valid JWT format');
55
- }
56
- // Verify the error was logged
57
- expect(toolWithInvalidToken['log']).toHaveBeenCalledWith('error', expect.stringMatching(/.*not in valid JWT format.*/));
58
- }
59
- finally {
60
- // Restore the original value
61
- Object.defineProperty(MapboxApiBasedTool, 'MAPBOX_ACCESS_TOKEN', {
62
- value: originalToken,
63
- writable: true,
64
- configurable: true
65
- });
66
- }
67
- });
68
- it('accepts a token with valid JWT format', async () => {
69
- // Set a valid JWT format token (header.payload.signature)
70
- process.env.MAPBOX_ACCESS_TOKEN =
71
- 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0In0.signature';
72
- // Override execute to return a success result instead of throwing an error
73
- testTool['execute'] = jest.fn().mockResolvedValue({ success: true });
74
- const result = await testTool.run({ testParam: 'test' });
75
- // The token validation should pass, and we should get the success result
76
- expect(result.is_error).toBe(false);
77
- expect(result.content[0]).toHaveProperty('type', 'text');
78
- expect(JSON.parse(result.content[0].text)).toEqual({ success: true });
79
- });
80
- });
81
- describe('error handling', () => {
82
- it('returns generic error message when VERBOSE_ERRORS is not set to true', async () => {
83
- // Make sure VERBOSE_ERRORS is not set to true
84
- delete process.env.VERBOSE_ERRORS;
85
- const result = await testTool.run({ testParam: 'test' });
86
- // Verify the response contains the generic error message
87
- expect(result.is_error).toBe(true);
88
- expect(result.content).toHaveLength(1);
89
- expect(result.content[0]).toMatchObject({
90
- type: 'text',
91
- text: 'Internal error has occurred.'
92
- });
93
- // Verify the error was logged with the actual error message
94
- expect(testTool['log']).toHaveBeenCalledWith('error', expect.stringContaining('Test error message'));
95
- });
96
- it('returns actual error message when VERBOSE_ERRORS=true', async () => {
97
- // Set VERBOSE_ERRORS to true
98
- process.env.VERBOSE_ERRORS = 'true';
99
- const result = await testTool.run({ testParam: 'test' });
100
- // Verify the response contains the actual error message
101
- expect(result.is_error).toBe(true);
102
- expect(result.content).toHaveLength(1);
103
- expect(result.content[0]).toMatchObject({
104
- type: 'text',
105
- text: 'Test error message'
106
- });
107
- // Verify the error was logged with the actual error message
108
- expect(testTool['log']).toHaveBeenCalledWith('error', expect.stringContaining('Test error message'));
109
- });
110
- it('returns generic error message when VERBOSE_ERRORS is set to a value other than true', async () => {
111
- // Set VERBOSE_ERRORS to something other than 'true'
112
- process.env.VERBOSE_ERRORS = 'yes';
113
- const result = await testTool.run({ testParam: 'test' });
114
- // Verify the response contains the generic error message
115
- expect(result.is_error).toBe(true);
116
- expect(result.content).toHaveLength(1);
117
- expect(result.content[0]).toMatchObject({
118
- type: 'text',
119
- text: 'Internal error has occurred.'
120
- });
121
- // Verify the error was logged with the actual error message
122
- expect(testTool['log']).toHaveBeenCalledWith('error', expect.stringContaining('Test error message'));
123
- });
124
- it('handles non-Error objects thrown', async () => {
125
- // Override the execute method to throw a string instead of an Error
126
- testTool['execute'] = jest.fn().mockImplementation(() => {
127
- throw 'String error message';
128
- });
129
- process.env.VERBOSE_ERRORS = 'true';
130
- const result = await testTool.run({ testParam: 'test' });
131
- // Verify the response contains the string error
132
- expect(result.is_error).toBe(true);
133
- expect(result.content).toHaveLength(1);
134
- expect(result.content[0]).toMatchObject({
135
- type: 'text',
136
- text: 'String error message'
137
- });
138
- // Verify the error was logged
139
- expect(testTool['log']).toHaveBeenCalledWith('error', expect.stringContaining('String error message'));
140
- });
141
- });
142
- });
143
- //# sourceMappingURL=MapboxApiBasedTool.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MapboxApiBasedTool.test.js","sourceRoot":"","sources":["../../src/tools/MapboxApiBasedTool.test.ts"],"names":[],"mappings":"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"}