@mapbox/mcp-server 0.2.1-dev.1 → 0.2.1-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.
- package/dist/tools/MapboxApiBasedTool.d.ts +7 -0
- package/dist/tools/MapboxApiBasedTool.d.ts.map +1 -1
- package/dist/tools/MapboxApiBasedTool.js +24 -2
- package/dist/tools/MapboxApiBasedTool.js.map +1 -1
- package/dist/tools/MapboxApiBasedTool.test.d.ts +2 -0
- package/dist/tools/MapboxApiBasedTool.test.d.ts.map +1 -0
- package/dist/tools/MapboxApiBasedTool.test.js +143 -0
- package/dist/tools/MapboxApiBasedTool.test.js.map +1 -0
- package/dist/tools/category-search-tool/CategorySearchTool.d.ts +55 -6
- package/dist/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
- package/dist/tools/category-search-tool/CategorySearchTool.js +47 -19
- package/dist/tools/category-search-tool/CategorySearchTool.js.map +1 -1
- package/dist/tools/category-search-tool/CategorySearchTool.test.js +90 -10
- package/dist/tools/category-search-tool/CategorySearchTool.test.js.map +1 -1
- package/dist/tools/directions-tool/DirectionsTool.d.ts +18 -3
- package/dist/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/tools/directions-tool/DirectionsTool.js +6 -6
- package/dist/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/tools/directions-tool/DirectionsTool.test.js +122 -118
- package/dist/tools/directions-tool/DirectionsTool.test.js.map +1 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts +54 -8
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js +33 -15
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js +33 -9
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js.map +1 -1
- package/dist/tools/isochrone-tool/IsochroneTool.d.ts +18 -3
- package/dist/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
- package/dist/tools/isochrone-tool/IsochroneTool.js +6 -3
- package/dist/tools/isochrone-tool/IsochroneTool.js.map +1 -1
- package/dist/tools/isochrone-tool/IsochroneTool.test.js +8 -7
- package/dist/tools/isochrone-tool/IsochroneTool.test.js.map +1 -1
- package/dist/tools/matrix-tool/MatrixTool.d.ts +18 -3
- package/dist/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
- package/dist/tools/matrix-tool/MatrixTool.js +6 -6
- package/dist/tools/matrix-tool/MatrixTool.js.map +1 -1
- package/dist/tools/matrix-tool/MatrixTool.test.js +128 -115
- package/dist/tools/matrix-tool/MatrixTool.test.js.map +1 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.d.ts +70 -9
- package/dist/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.js +41 -20
- package/dist/tools/poi-search-tool/PoiSearchTool.js.map +1 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.test.js +34 -10
- package/dist/tools/poi-search-tool/PoiSearchTool.test.js.map +1 -1
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +2 -2
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js +12 -7
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js.map +1 -1
- package/dist/tools/static-map-image-tool/StaticMapImageTool.d.ts +36 -6
- package/dist/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/tools/static-map-image-tool/StaticMapImageTool.js +12 -9
- package/dist/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js +48 -47
- package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js.map +1 -1
- package/dist/version.json +4 -4
- package/package.json +1 -1
|
@@ -55,6 +55,13 @@ export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny>
|
|
|
55
55
|
constructor(params: {
|
|
56
56
|
inputSchema: InputSchema;
|
|
57
57
|
});
|
|
58
|
+
/**
|
|
59
|
+
* Validates if a string has the format of a JWT token (header.payload.signature)
|
|
60
|
+
* Docs: https://docs.mapbox.com/api/accounts/tokens/#token-format
|
|
61
|
+
* @param token The token string to validate
|
|
62
|
+
* @returns boolean indicating if the token has valid JWT format
|
|
63
|
+
*/
|
|
64
|
+
private isValidJwtFormat;
|
|
58
65
|
/**
|
|
59
66
|
* Validates and runs the tool logic.
|
|
60
67
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapboxApiBasedTool.d.ts","sourceRoot":"","sources":["../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEpC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAevB,CAAC;AAEH,8BAAsB,kBAAkB,CAAC,WAAW,SAAS,UAAU;IACrE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAEtC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAE1C,MAAM,CAAC,QAAQ,CAAC,mBAAmB,qBAAmC;IACtE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,SAC4B;gBAEnD,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAIhD;;OAEG;IACG,GAAG,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MapboxApiBasedTool.d.ts","sourceRoot":"","sources":["../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEpC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAevB,CAAC;AAEH,8BAAsB,kBAAkB,CAAC,WAAW,SAAS,UAAU;IACrE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAEtC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAE1C,MAAM,CAAC,QAAQ,CAAC,mBAAmB,qBAAmC;IACtE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,SAC4B;gBAEnD,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAIhD;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACG,GAAG,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IAwDnE;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAEtE;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IAU5C;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,GAAG,GACR,IAAI;CAKR"}
|
|
@@ -21,6 +21,20 @@ export class MapboxApiBasedTool {
|
|
|
21
21
|
constructor(params) {
|
|
22
22
|
this.inputSchema = params.inputSchema;
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Validates if a string has the format of a JWT token (header.payload.signature)
|
|
26
|
+
* Docs: https://docs.mapbox.com/api/accounts/tokens/#token-format
|
|
27
|
+
* @param token The token string to validate
|
|
28
|
+
* @returns boolean indicating if the token has valid JWT format
|
|
29
|
+
*/
|
|
30
|
+
isValidJwtFormat(token) {
|
|
31
|
+
// JWT consists of three parts separated by dots: header.payload.signature
|
|
32
|
+
const parts = token.split('.');
|
|
33
|
+
if (parts.length !== 3)
|
|
34
|
+
return false;
|
|
35
|
+
// Check that all parts are non-empty
|
|
36
|
+
return parts.every((part) => part.length > 0);
|
|
37
|
+
}
|
|
24
38
|
/**
|
|
25
39
|
* Validates and runs the tool logic.
|
|
26
40
|
*/
|
|
@@ -29,6 +43,10 @@ export class MapboxApiBasedTool {
|
|
|
29
43
|
if (!MapboxApiBasedTool.MAPBOX_ACCESS_TOKEN) {
|
|
30
44
|
throw new Error('MAPBOX_ACCESS_TOKEN is not set');
|
|
31
45
|
}
|
|
46
|
+
// Validate that the token has the correct JWT format
|
|
47
|
+
if (!this.isValidJwtFormat(MapboxApiBasedTool.MAPBOX_ACCESS_TOKEN)) {
|
|
48
|
+
throw new Error('MAPBOX_ACCESS_TOKEN is not in valid JWT format');
|
|
49
|
+
}
|
|
32
50
|
const input = this.inputSchema.parse(rawInput);
|
|
33
51
|
const result = await this.execute(input);
|
|
34
52
|
// Check if result is already a content object (image or text)
|
|
@@ -47,12 +65,16 @@ export class MapboxApiBasedTool {
|
|
|
47
65
|
};
|
|
48
66
|
}
|
|
49
67
|
catch (error) {
|
|
50
|
-
|
|
68
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
69
|
+
this.log('error', `${this.name}: Error during execution: ${errorMessage}`);
|
|
70
|
+
const isVerboseErrors = process.env.VERBOSE_ERRORS === 'true';
|
|
51
71
|
return {
|
|
52
72
|
content: [
|
|
53
73
|
{
|
|
54
74
|
type: 'text',
|
|
55
|
-
text:
|
|
75
|
+
text: isVerboseErrors
|
|
76
|
+
? errorMessage
|
|
77
|
+
: 'Internal error has occurred.'
|
|
56
78
|
}
|
|
57
79
|
],
|
|
58
80
|
is_error: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapboxApiBasedTool.js","sourceRoot":"","sources":["../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAc,MAAM,KAAK,CAAC;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,KAAK,CAAC;QACN,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC;KACH,CAAC,CACH;IACD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACrC,CAAC,CAAC;AAEH,MAAM,OAAgB,kBAAkB;IAI7B,WAAW,CAAc;IACxB,MAAM,GAAqB,IAAI,CAAC;IAE1C,MAAM,CAAU,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACtE,MAAM,CAAU,mBAAmB,GACjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,yBAAyB,CAAC;IAE/D,YAAY,MAAoC;QAC9C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,QAAiB;QACzB,IAAI,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEzC,8DAA8D;YAC9D,IACE,MAAM;gBACN,OAAO,MAAM,KAAK,QAAQ;gBAC1B,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EACnD,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,CAAC,MAAM,CAAC;oBACjB,QAAQ,EAAE,KAAK;iBAChB,CAAC;YACJ,CAAC;YAED,2BAA2B;YAC3B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CACN,OAAO,EACP,GAAG,IAAI,CAAC,IAAI,6BAA6B,
|
|
1
|
+
{"version":3,"file":"MapboxApiBasedTool.js","sourceRoot":"","sources":["../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAc,MAAM,KAAK,CAAC;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,KAAK,CAAC;QACN,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC;KACH,CAAC,CACH;IACD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACrC,CAAC,CAAC;AAEH,MAAM,OAAgB,kBAAkB;IAI7B,WAAW,CAAc;IACxB,MAAM,GAAqB,IAAI,CAAC;IAE1C,MAAM,CAAU,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACtE,MAAM,CAAU,mBAAmB,GACjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,yBAAyB,CAAC;IAE/D,YAAY,MAAoC;QAC9C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CAAC,KAAa;QACpC,0EAA0E;QAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAErC,qCAAqC;QACrC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,QAAiB;QACzB,IAAI,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YAED,qDAAqD;YACrD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACnE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEzC,8DAA8D;YAC9D,IACE,MAAM;gBACN,OAAO,MAAM,KAAK,QAAQ;gBAC1B,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EACnD,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,CAAC,MAAM,CAAC;oBACjB,QAAQ,EAAE,KAAK;iBAChB,CAAC;YACJ,CAAC;YAED,2BAA2B;YAC3B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,QAAQ,EAAE,KAAK;aAChB,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,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC;YAE9D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,eAAe;4BACnB,CAAC,CAAC,YAAY;4BACd,CAAC,CAAC,8BAA8B;qBACnC;iBACF;gBACD,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;IACH,CAAC;IAOD;;OAEG;IACH,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EACf,IAAI,CAAC,WAA2C,CAAC,KAAK,EACvD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CACpB,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,GAAG,CACX,KAA6C,EAC7C,IAAS;QAET,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapboxApiBasedTool.test.d.ts","sourceRoot":"","sources":["../../src/tools/MapboxApiBasedTool.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,143 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapboxApiBasedTool.test.js","sourceRoot":"","sources":["../../src/tools/MapboxApiBasedTool.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,26 +4,75 @@ declare const CategorySearchInputSchema: z.ZodObject<{
|
|
|
4
4
|
category: z.ZodString;
|
|
5
5
|
language: z.ZodOptional<z.ZodString>;
|
|
6
6
|
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
7
|
-
proximity: z.ZodOptional<z.ZodUnion<[z.
|
|
8
|
-
|
|
7
|
+
proximity: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
|
|
8
|
+
longitude: z.ZodNumber;
|
|
9
|
+
latitude: z.ZodNumber;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
longitude: number;
|
|
12
|
+
latitude: number;
|
|
13
|
+
}, {
|
|
14
|
+
longitude: number;
|
|
15
|
+
latitude: number;
|
|
16
|
+
}>, z.ZodEffects<z.ZodString, "ip" | {
|
|
17
|
+
longitude: any;
|
|
18
|
+
latitude: any;
|
|
19
|
+
}, string>]>>;
|
|
20
|
+
bbox: z.ZodOptional<z.ZodObject<{
|
|
21
|
+
minLongitude: z.ZodNumber;
|
|
22
|
+
minLatitude: z.ZodNumber;
|
|
23
|
+
maxLongitude: z.ZodNumber;
|
|
24
|
+
maxLatitude: z.ZodNumber;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
minLongitude: number;
|
|
27
|
+
minLatitude: number;
|
|
28
|
+
maxLongitude: number;
|
|
29
|
+
maxLatitude: number;
|
|
30
|
+
}, {
|
|
31
|
+
minLongitude: number;
|
|
32
|
+
minLatitude: number;
|
|
33
|
+
maxLongitude: number;
|
|
34
|
+
maxLatitude: number;
|
|
35
|
+
}>>;
|
|
9
36
|
country: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
10
37
|
poi_category_exclusions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
38
|
+
format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["json_string", "formatted_text"]>>>;
|
|
11
39
|
}, "strip", z.ZodTypeAny, {
|
|
12
40
|
category: string;
|
|
13
41
|
limit: number;
|
|
42
|
+
format: "json_string" | "formatted_text";
|
|
14
43
|
country?: string[] | undefined;
|
|
15
44
|
language?: string | undefined;
|
|
16
|
-
proximity?:
|
|
17
|
-
|
|
45
|
+
proximity?: {
|
|
46
|
+
longitude: number;
|
|
47
|
+
latitude: number;
|
|
48
|
+
} | "ip" | {
|
|
49
|
+
longitude: any;
|
|
50
|
+
latitude: any;
|
|
51
|
+
} | undefined;
|
|
52
|
+
bbox?: {
|
|
53
|
+
minLongitude: number;
|
|
54
|
+
minLatitude: number;
|
|
55
|
+
maxLongitude: number;
|
|
56
|
+
maxLatitude: number;
|
|
57
|
+
} | undefined;
|
|
18
58
|
poi_category_exclusions?: string[] | undefined;
|
|
19
59
|
}, {
|
|
20
60
|
category: string;
|
|
21
61
|
country?: string[] | undefined;
|
|
22
62
|
language?: string | undefined;
|
|
23
63
|
limit?: number | undefined;
|
|
24
|
-
proximity?: string |
|
|
25
|
-
|
|
64
|
+
proximity?: string | {
|
|
65
|
+
longitude: number;
|
|
66
|
+
latitude: number;
|
|
67
|
+
} | undefined;
|
|
68
|
+
bbox?: {
|
|
69
|
+
minLongitude: number;
|
|
70
|
+
minLatitude: number;
|
|
71
|
+
maxLongitude: number;
|
|
72
|
+
maxLatitude: number;
|
|
73
|
+
} | undefined;
|
|
26
74
|
poi_category_exclusions?: string[] | undefined;
|
|
75
|
+
format?: "json_string" | "formatted_text" | undefined;
|
|
27
76
|
}>;
|
|
28
77
|
export declare class CategorySearchTool extends MapboxApiBasedTool<typeof CategorySearchInputSchema> {
|
|
29
78
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategorySearchTool.d.ts","sourceRoot":"","sources":["../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAwe9D,QAAA,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"CategorySearchTool.d.ts","sourceRoot":"","sources":["../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAwe9D,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8F7B,CAAC;AAEH,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IACC,IAAI,SAAwB;IAC5B,WAAW,SACoX;;IAM/X,OAAO,CAAC,mBAAmB;cAsDX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,GAC/C,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAsE3C"}
|
|
@@ -502,12 +502,30 @@ const CategorySearchInputSchema = z.object({
|
|
|
502
502
|
.describe('Maximum number of results to return (1-25)'),
|
|
503
503
|
proximity: z
|
|
504
504
|
.union([
|
|
505
|
-
z.
|
|
505
|
+
z.object({
|
|
506
|
+
longitude: z.number().min(-180).max(180),
|
|
507
|
+
latitude: z.number().min(-90).max(90)
|
|
508
|
+
}),
|
|
506
509
|
z.string().transform((val) => {
|
|
507
510
|
// Handle special case of 'ip'
|
|
508
511
|
if (val === 'ip') {
|
|
509
512
|
return 'ip';
|
|
510
513
|
}
|
|
514
|
+
// Handle JSON-stringified object: "{\"longitude\": -82.458107, \"latitude\": 27.937259}"
|
|
515
|
+
if (val.startsWith('{') && val.endsWith('}')) {
|
|
516
|
+
try {
|
|
517
|
+
const parsed = JSON.parse(val);
|
|
518
|
+
if (typeof parsed === 'object' &&
|
|
519
|
+
parsed !== null &&
|
|
520
|
+
typeof parsed.longitude === 'number' &&
|
|
521
|
+
typeof parsed.latitude === 'number') {
|
|
522
|
+
return { longitude: parsed.longitude, latitude: parsed.latitude };
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
catch {
|
|
526
|
+
// Fall back to other formats
|
|
527
|
+
}
|
|
528
|
+
}
|
|
511
529
|
// Handle string that looks like an array: "[-82.451668, 27.942964]"
|
|
512
530
|
if (val.startsWith('[') && val.endsWith(']')) {
|
|
513
531
|
const coords = val
|
|
@@ -515,28 +533,28 @@ const CategorySearchInputSchema = z.object({
|
|
|
515
533
|
.split(',')
|
|
516
534
|
.map((s) => Number(s.trim()));
|
|
517
535
|
if (coords.length === 2 && !isNaN(coords[0]) && !isNaN(coords[1])) {
|
|
518
|
-
return coords;
|
|
536
|
+
return { longitude: coords[0], latitude: coords[1] };
|
|
519
537
|
}
|
|
520
538
|
}
|
|
521
539
|
// Handle comma-separated string: "-82.451668,27.942964"
|
|
522
540
|
const parts = val.split(',').map((s) => Number(s.trim()));
|
|
523
541
|
if (parts.length === 2 && !isNaN(parts[0]) && !isNaN(parts[1])) {
|
|
524
|
-
return parts;
|
|
542
|
+
return { longitude: parts[0], latitude: parts[1] };
|
|
525
543
|
}
|
|
526
|
-
throw new Error('Invalid proximity format. Expected
|
|
544
|
+
throw new Error('Invalid proximity format. Expected {longitude, latitude}, "longitude,latitude", or "ip"');
|
|
527
545
|
})
|
|
528
546
|
])
|
|
529
547
|
.optional()
|
|
530
|
-
.describe('Location to bias results towards. Either
|
|
548
|
+
.describe('Location to bias results towards. Either coordinate object with longitude and latitude or "ip" for IP-based location'),
|
|
531
549
|
bbox: z
|
|
532
|
-
.
|
|
533
|
-
z.number().min(-180).max(180),
|
|
534
|
-
z.number().min(-90).max(90),
|
|
535
|
-
z.number().min(-180).max(180),
|
|
536
|
-
z.number().min(-90).max(90)
|
|
537
|
-
|
|
550
|
+
.object({
|
|
551
|
+
minLongitude: z.number().min(-180).max(180),
|
|
552
|
+
minLatitude: z.number().min(-90).max(90),
|
|
553
|
+
maxLongitude: z.number().min(-180).max(180),
|
|
554
|
+
maxLatitude: z.number().min(-90).max(90)
|
|
555
|
+
})
|
|
538
556
|
.optional()
|
|
539
|
-
.describe('Bounding box to limit results within
|
|
557
|
+
.describe('Bounding box to limit results within specified bounds'),
|
|
540
558
|
country: z
|
|
541
559
|
.array(z.string().length(2))
|
|
542
560
|
.optional()
|
|
@@ -544,11 +562,16 @@ const CategorySearchInputSchema = z.object({
|
|
|
544
562
|
poi_category_exclusions: z
|
|
545
563
|
.array(z.string())
|
|
546
564
|
.optional()
|
|
547
|
-
.describe('Array of POI categories to exclude from results')
|
|
565
|
+
.describe('Array of POI categories to exclude from results'),
|
|
566
|
+
format: z
|
|
567
|
+
.enum(['json_string', 'formatted_text'])
|
|
568
|
+
.optional()
|
|
569
|
+
.default('formatted_text')
|
|
570
|
+
.describe('Output format: "json_string" returns raw GeoJSON data as a JSON string that can be parsed; "formatted_text" returns human-readable text with place names, addresses, and coordinates. Both return as text content but json_string contains parseable JSON data while formatted_text is for display.')
|
|
548
571
|
});
|
|
549
572
|
export class CategorySearchTool extends MapboxApiBasedTool {
|
|
550
573
|
name = 'CategorySearchTool';
|
|
551
|
-
description = "Return all places that match a category (industry, amenity, or NAICS‑style code). Use when the user asks for a type of place, plural or generic terms like 'museums', 'coffee shops', 'electric‑vehicle chargers', or when the query includes is‑a phrases such as 'any', 'all', 'nearby'. Do not use when a unique name or brand is provided.";
|
|
574
|
+
description = "Return all places that match a category (industry, amenity, or NAICS‑style code). Use when the user asks for a type of place, plural or generic terms like 'museums', 'coffee shops', 'electric‑vehicle chargers', or when the query includes is‑a phrases such as 'any', 'all', 'nearby'. Do not use when a unique name or brand is provided. Supports both JSON and text output formats.";
|
|
552
575
|
constructor() {
|
|
553
576
|
super({ inputSchema: CategorySearchInputSchema });
|
|
554
577
|
}
|
|
@@ -611,13 +634,13 @@ export class CategorySearchTool extends MapboxApiBasedTool {
|
|
|
611
634
|
url.searchParams.append('proximity', 'ip');
|
|
612
635
|
}
|
|
613
636
|
else {
|
|
614
|
-
const
|
|
615
|
-
url.searchParams.append('proximity', `${
|
|
637
|
+
const { longitude, latitude } = input.proximity;
|
|
638
|
+
url.searchParams.append('proximity', `${longitude},${latitude}`);
|
|
616
639
|
}
|
|
617
640
|
}
|
|
618
641
|
if (input.bbox) {
|
|
619
|
-
const
|
|
620
|
-
url.searchParams.append('bbox', `${
|
|
642
|
+
const { minLongitude, minLatitude, maxLongitude, maxLatitude } = input.bbox;
|
|
643
|
+
url.searchParams.append('bbox', `${minLongitude},${minLatitude},${maxLongitude},${maxLatitude}`);
|
|
621
644
|
}
|
|
622
645
|
if (input.country && input.country.length > 0) {
|
|
623
646
|
url.searchParams.append('country', input.country.join(','));
|
|
@@ -632,7 +655,12 @@ export class CategorySearchTool extends MapboxApiBasedTool {
|
|
|
632
655
|
throw new Error(`Failed to search category: ${response.status} ${response.statusText}`);
|
|
633
656
|
}
|
|
634
657
|
const data = await response.json();
|
|
635
|
-
|
|
658
|
+
if (input.format === 'json_string') {
|
|
659
|
+
return { type: 'text', text: JSON.stringify(data, null, 2) };
|
|
660
|
+
}
|
|
661
|
+
else {
|
|
662
|
+
return { type: 'text', text: this.formatGeoJsonToText(data) };
|
|
663
|
+
}
|
|
636
664
|
}
|
|
637
665
|
}
|
|
638
666
|
//# sourceMappingURL=CategorySearchTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategorySearchTool.js","sourceRoot":"","sources":["../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CategorySearchTool.js","sourceRoot":"","sources":["../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"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"}
|