@decodo/mcp-server 1.0.2 → 1.1.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.
- package/README.md +80 -43
- package/build/clients/scraper-api-client.js +78 -16
- package/build/clients/scraper-api-client.js.map +1 -1
- package/build/constants.js +35 -1
- package/build/constants.js.map +1 -1
- package/build/index.js +10 -11
- package/build/index.js.map +1 -1
- package/build/server/sapi-base-server.js +76 -0
- package/build/server/sapi-base-server.js.map +1 -0
- package/build/server/sapi-http-server.js +11 -0
- package/build/server/sapi-http-server.js.map +1 -0
- package/build/server/sapi-stdio-server.js +11 -0
- package/build/server/sapi-stdio-server.js.map +1 -0
- package/build/server.js +53 -0
- package/build/server.js.map +1 -0
- package/build/tools/amazon-bestsellers/amazon-bestsellers-tool.js +55 -0
- package/build/tools/amazon-bestsellers/amazon-bestsellers-tool.js.map +1 -0
- package/build/tools/amazon-bestsellers/index.js +18 -0
- package/build/tools/amazon-bestsellers/index.js.map +1 -0
- package/build/tools/amazon-pricing/amazon-pricing-tool.js +67 -0
- package/build/tools/amazon-pricing/amazon-pricing-tool.js.map +1 -0
- package/build/tools/amazon-pricing/index.js +18 -0
- package/build/tools/amazon-pricing/index.js.map +1 -0
- package/build/tools/amazon-product/amazon-product-tool.js +62 -0
- package/build/tools/amazon-product/amazon-product-tool.js.map +1 -0
- package/build/tools/amazon-product/index.js +18 -0
- package/build/tools/amazon-product/index.js.map +1 -0
- package/build/tools/amazon-search/amazon-search-tool.js +63 -0
- package/build/tools/amazon-search/amazon-search-tool.js.map +1 -0
- package/build/tools/amazon-search/index.js +18 -0
- package/build/tools/amazon-search/index.js.map +1 -0
- package/build/tools/amazon-search-parsed/amazon-search-parsed-tool.js +53 -0
- package/build/tools/amazon-search-parsed/amazon-search-parsed-tool.js.map +1 -0
- package/build/tools/amazon-search-parsed/index.js +18 -0
- package/build/tools/amazon-search-parsed/index.js.map +1 -0
- package/build/tools/amazon-search-parsed-tool.js +8 -2
- package/build/tools/amazon-search-parsed-tool.js.map +1 -1
- package/build/tools/amazon-sellers/amazon-sellers-tool.js +56 -0
- package/build/tools/amazon-sellers/amazon-sellers-tool.js.map +1 -0
- package/build/tools/amazon-sellers/index.js +18 -0
- package/build/tools/amazon-sellers/index.js.map +1 -0
- package/build/tools/bing-search/bing-search-tool.js +64 -0
- package/build/tools/bing-search/bing-search-tool.js.map +1 -0
- package/build/tools/bing-search/index.js +18 -0
- package/build/tools/bing-search/index.js.map +1 -0
- package/build/tools/chatgpt/chatgpt-tool.js +47 -0
- package/build/tools/chatgpt/chatgpt-tool.js.map +1 -0
- package/build/tools/chatgpt/index.js +18 -0
- package/build/tools/chatgpt/index.js.map +1 -0
- package/build/tools/chatgpt-tool.js +43 -0
- package/build/tools/chatgpt-tool.js.map +1 -0
- package/build/tools/constants.js +23 -0
- package/build/tools/constants.js.map +1 -0
- package/build/tools/google-ads/google-ads-tool.js +59 -0
- package/build/tools/google-ads/google-ads-tool.js.map +1 -0
- package/build/tools/google-ads/index.js +18 -0
- package/build/tools/google-ads/index.js.map +1 -0
- package/build/tools/google-ai-mode/google-ai-mode-tool.js +50 -0
- package/build/tools/google-ai-mode/google-ai-mode-tool.js.map +1 -0
- package/build/tools/google-ai-mode/index.js +18 -0
- package/build/tools/google-ai-mode/index.js.map +1 -0
- package/build/tools/google-lens/google-lens-tool.js +52 -0
- package/build/tools/google-lens/google-lens-tool.js.map +1 -0
- package/build/tools/google-lens/index.js +18 -0
- package/build/tools/google-lens/index.js.map +1 -0
- package/build/tools/google-search/google-search-tool.js +60 -0
- package/build/tools/google-search/google-search-tool.js.map +1 -0
- package/build/tools/google-search/index.js +18 -0
- package/build/tools/google-search/index.js.map +1 -0
- package/build/tools/google-search-parsed/google-search-parsed-tool.js +61 -0
- package/build/tools/google-search-parsed/google-search-parsed-tool.js.map +1 -0
- package/build/tools/google-search-parsed/index.js +18 -0
- package/build/tools/google-search-parsed/index.js.map +1 -0
- package/build/tools/google-search-parsed-tool.js +8 -2
- package/build/tools/google-search-parsed-tool.js.map +1 -1
- package/build/tools/google-travel-hotels/google-travel-hotels-tool.js +52 -0
- package/build/tools/google-travel-hotels/google-travel-hotels-tool.js.map +1 -0
- package/build/tools/google-travel-hotels/index.js +18 -0
- package/build/tools/google-travel-hotels/index.js.map +1 -0
- package/build/tools/index.js +30 -5
- package/build/tools/index.js.map +1 -1
- package/build/tools/perplexity/index.js +18 -0
- package/build/tools/perplexity/index.js.map +1 -0
- package/build/tools/perplexity/perplexity-tool.js +46 -0
- package/build/tools/perplexity/perplexity-tool.js.map +1 -0
- package/build/tools/perplexity-tool.js +42 -0
- package/build/tools/perplexity-tool.js.map +1 -0
- package/build/tools/reddit-post/index.js +18 -0
- package/build/tools/reddit-post/index.js.map +1 -0
- package/build/tools/reddit-post/reddit-post-tool.js +51 -0
- package/build/tools/reddit-post/reddit-post-tool.js.map +1 -0
- package/build/tools/reddit-post-tool.js +8 -2
- package/build/tools/reddit-post-tool.js.map +1 -1
- package/build/tools/reddit-subreddit/index.js +18 -0
- package/build/tools/reddit-subreddit/index.js.map +1 -0
- package/build/tools/reddit-subreddit/reddit-subreddit-tool.js +49 -0
- package/build/tools/reddit-subreddit/reddit-subreddit-tool.js.map +1 -0
- package/build/tools/reddit-subreddit-tool.js +8 -2
- package/build/tools/reddit-subreddit-tool.js.map +1 -1
- package/build/tools/reddit-user/index.js +18 -0
- package/build/tools/reddit-user/index.js.map +1 -0
- package/build/tools/reddit-user/reddit-user-tool.js +55 -0
- package/build/tools/reddit-user/reddit-user-tool.js.map +1 -0
- package/build/tools/scrape-as-markdown/index.js +18 -0
- package/build/tools/scrape-as-markdown/index.js.map +1 -0
- package/build/tools/scrape-as-markdown/scrape-as-markdown-tool.js +79 -0
- package/build/tools/scrape-as-markdown/scrape-as-markdown-tool.js.map +1 -0
- package/build/tools/scrape-as-markdown-tool.js +28 -20
- package/build/tools/scrape-as-markdown-tool.js.map +1 -1
- package/build/tools/screenshot/index.js +18 -0
- package/build/tools/screenshot/index.js.map +1 -0
- package/build/tools/screenshot/screenshot-tool.js +48 -0
- package/build/tools/screenshot/screenshot-tool.js.map +1 -0
- package/build/tools/screenshot-tool.js +44 -0
- package/build/tools/screenshot-tool.js.map +1 -0
- package/build/tools/target-product/index.js +18 -0
- package/build/tools/target-product/index.js.map +1 -0
- package/build/tools/target-product/target-product-tool.js +50 -0
- package/build/tools/target-product/target-product-tool.js.map +1 -0
- package/build/tools/target-search/index.js +18 -0
- package/build/tools/target-search/index.js.map +1 -0
- package/build/tools/target-search/target-search-tool.js +56 -0
- package/build/tools/target-search/target-search-tool.js.map +1 -0
- package/build/tools/tiktok-post/index.js +18 -0
- package/build/tools/tiktok-post/index.js.map +1 -0
- package/build/tools/tiktok-post/tiktok-post-tool.js +48 -0
- package/build/tools/tiktok-post/tiktok-post-tool.js.map +1 -0
- package/build/tools/tiktok-shop-product/index.js +18 -0
- package/build/tools/tiktok-shop-product/index.js.map +1 -0
- package/build/tools/tiktok-shop-product/tiktok-shop-product-tool.js +47 -0
- package/build/tools/tiktok-shop-product/tiktok-shop-product-tool.js.map +1 -0
- package/build/tools/tiktok-shop-search/index.js +18 -0
- package/build/tools/tiktok-shop-search/index.js.map +1 -0
- package/build/tools/tiktok-shop-search/tiktok-shop-search-tool.js +54 -0
- package/build/tools/tiktok-shop-search/tiktok-shop-search-tool.js.map +1 -0
- package/build/tools/tiktok-shop-url/index.js +18 -0
- package/build/tools/tiktok-shop-url/index.js.map +1 -0
- package/build/tools/tiktok-shop-url/tiktok-shop-url-tool.js +45 -0
- package/build/tools/tiktok-shop-url/tiktok-shop-url-tool.js.map +1 -0
- package/build/tools/tool.js +7 -0
- package/build/tools/tool.js.map +1 -0
- package/build/tools/walmart-product/index.js +18 -0
- package/build/tools/walmart-product/index.js.map +1 -0
- package/build/tools/walmart-product/walmart-product-tool.js +61 -0
- package/build/tools/walmart-product/walmart-product-tool.js.map +1 -0
- package/build/tools/walmart-search/index.js +18 -0
- package/build/tools/walmart-search/index.js.map +1 -0
- package/build/tools/walmart-search/walmart-search-tool.js +62 -0
- package/build/tools/walmart-search/walmart-search-tool.js.map +1 -0
- package/build/tools/youtube-channel/index.js +18 -0
- package/build/tools/youtube-channel/index.js.map +1 -0
- package/build/tools/youtube-channel/youtube-channel-tool.js +48 -0
- package/build/tools/youtube-channel/youtube-channel-tool.js.map +1 -0
- package/build/tools/youtube-metadata/index.js +18 -0
- package/build/tools/youtube-metadata/index.js.map +1 -0
- package/build/tools/youtube-metadata/youtube-metadata-tool.js +43 -0
- package/build/tools/youtube-metadata/youtube-metadata-tool.js.map +1 -0
- package/build/tools/youtube-search/index.js +18 -0
- package/build/tools/youtube-search/index.js.map +1 -0
- package/build/tools/youtube-search/youtube-search-tool.js +43 -0
- package/build/tools/youtube-search/youtube-search-tool.js.map +1 -0
- package/build/tools/youtube-subtitles/index.js +18 -0
- package/build/tools/youtube-subtitles/index.js.map +1 -0
- package/build/tools/youtube-subtitles/youtube-subtitles-tool.js +48 -0
- package/build/tools/youtube-subtitles/youtube-subtitles-tool.js.map +1 -0
- package/build/tools/youtube-video/index.js +18 -0
- package/build/tools/youtube-video/index.js.map +1 -0
- package/build/tools/youtube-video/youtube-video-tool.js +45 -0
- package/build/tools/youtube-video/youtube-video-tool.js.map +1 -0
- package/build/utils.js +14 -3
- package/build/utils.js.map +1 -1
- package/build/zod/zod-types.js +12 -4
- package/build/zod/zod-types.js.map +1 -1
- package/package.json +26 -13
- package/build/tools/scrape-tool.js +0 -70
- package/build/tools/scrape-tool.js.map +0 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AmazonBestsellersTool = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const constants_1 = require("../../constants");
|
|
9
|
+
const zod_types_1 = require("../../zod/zod-types");
|
|
10
|
+
const tool_1 = require("../tool");
|
|
11
|
+
const zodDomain = zod_1.default
|
|
12
|
+
.string()
|
|
13
|
+
.describe('Amazon domain (e.g., amazon.com, amazon.co.uk)')
|
|
14
|
+
.optional();
|
|
15
|
+
const zodPageFrom = zod_1.default
|
|
16
|
+
.number()
|
|
17
|
+
.describe('Starting page number for pagination')
|
|
18
|
+
.optional();
|
|
19
|
+
class AmazonBestsellersTool extends tool_1.Tool {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
this.toolset = constants_1.TOOLSET.ECOMMERCE;
|
|
23
|
+
this.transformResponse = ({ data }) => {
|
|
24
|
+
return { data: JSON.stringify(data) };
|
|
25
|
+
};
|
|
26
|
+
this.register = ({ server, sapiClient, auth }) => {
|
|
27
|
+
server.registerTool('amazon_bestsellers', {
|
|
28
|
+
description: 'Scrape Amazon Bestsellers list with automatic parsing',
|
|
29
|
+
inputSchema: {
|
|
30
|
+
query: zod_1.default.string().describe('Amazon category (e.g., "mobile-apps", "electronics")'),
|
|
31
|
+
domain: zodDomain,
|
|
32
|
+
deviceType: zod_types_1.zodDeviceType,
|
|
33
|
+
pageFrom: zodPageFrom,
|
|
34
|
+
},
|
|
35
|
+
annotations: {
|
|
36
|
+
readOnlyHint: true,
|
|
37
|
+
openWorldHint: true,
|
|
38
|
+
},
|
|
39
|
+
}, async (scrapingParams) => {
|
|
40
|
+
const params = Object.assign(Object.assign({}, scrapingParams), { target: constants_1.SCRAPER_API_TARGETS.AMAZON_BESTSELLERS, parse: true });
|
|
41
|
+
const { data } = await sapiClient.scrape({ auth, scrapingParams: params });
|
|
42
|
+
return {
|
|
43
|
+
content: [
|
|
44
|
+
{
|
|
45
|
+
type: 'text',
|
|
46
|
+
text: JSON.stringify(data),
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.AmazonBestsellersTool = AmazonBestsellersTool;
|
|
55
|
+
//# sourceMappingURL=amazon-bestsellers-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amazon-bestsellers-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-bestsellers/amazon-bestsellers-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAEpB,+CAA+D;AAC/D,mDAAoD;AACpD,kCAAqD;AAErD,MAAM,SAAS,GAAG,aAAC;KAChB,MAAM,EAAE;KACR,QAAQ,CAAC,gDAAgD,CAAC;KAC1D,QAAQ,EAAE,CAAC;AAEd,MAAM,WAAW,GAAG,aAAC;KAClB,MAAM,EAAE;KACR,QAAQ,CAAC,qCAAqC,CAAC;KAC/C,QAAQ,EAAE,CAAC;AAEd,MAAa,qBAAsB,SAAQ,WAAI;IAA/C;;QACE,YAAO,GAAG,mBAAO,CAAC,SAAS,CAAC;QAE5B,sBAAiB,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE;YACjD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAwB,EAAE,EAAE;YAChE,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;gBACE,WAAW,EAAE,uDAAuD;gBACpE,WAAW,EAAE;oBACX,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;oBAClF,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,yBAAa;oBACzB,QAAQ,EAAE,WAAW;iBACtB;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,+BAAmB,CAAC,kBAAkB,EAC9C,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEnF,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;yBAC3B;qBACF;iBACF,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CAAA;AA3CD,sDA2CC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./amazon-bestsellers-tool"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/amazon-bestsellers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AmazonPricingTool = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const constants_1 = require("../../constants");
|
|
9
|
+
const utils_1 = require("../../utils");
|
|
10
|
+
const zod_types_1 = require("../../zod/zod-types");
|
|
11
|
+
const tool_1 = require("../tool");
|
|
12
|
+
const zodDomain = zod_1.default
|
|
13
|
+
.string()
|
|
14
|
+
.describe('Amazon domain (e.g., amazon.com, amazon.co.uk)')
|
|
15
|
+
.optional();
|
|
16
|
+
const zodGeo = zod_1.default
|
|
17
|
+
.string()
|
|
18
|
+
.describe('Amazon geo location (e.g., 10001 for US ZIP code)')
|
|
19
|
+
.optional();
|
|
20
|
+
const zodPageFrom = zod_1.default
|
|
21
|
+
.number()
|
|
22
|
+
.describe('Starting page number for pagination')
|
|
23
|
+
.optional();
|
|
24
|
+
class AmazonPricingTool extends tool_1.Tool {
|
|
25
|
+
constructor() {
|
|
26
|
+
super(...arguments);
|
|
27
|
+
this.toolset = constants_1.TOOLSET.ECOMMERCE;
|
|
28
|
+
this.transformResponse = ({ data }) => {
|
|
29
|
+
for (const fieldToRemove of AmazonPricingTool.FIELDS_WITH_HIGH_CHAR_COUNT) {
|
|
30
|
+
data = (0, utils_1.removeKeyFromNestedObject)({ obj: data, keyToRemove: fieldToRemove });
|
|
31
|
+
}
|
|
32
|
+
return { data: JSON.stringify(data) };
|
|
33
|
+
};
|
|
34
|
+
this.register = ({ server, sapiClient, auth }) => {
|
|
35
|
+
server.registerTool('amazon_pricing', {
|
|
36
|
+
description: 'Scrape Amazon Product pricing information with automatic parsing',
|
|
37
|
+
inputSchema: {
|
|
38
|
+
query: zod_1.default.string().describe('Amazon product ASIN (e.g., "B09H74FXNW")'),
|
|
39
|
+
jsRender: zod_types_1.zodJsRender,
|
|
40
|
+
domain: zodDomain,
|
|
41
|
+
deviceType: zod_types_1.zodDeviceType,
|
|
42
|
+
pageFrom: zodPageFrom,
|
|
43
|
+
geo: zodGeo,
|
|
44
|
+
},
|
|
45
|
+
annotations: {
|
|
46
|
+
readOnlyHint: true,
|
|
47
|
+
openWorldHint: true,
|
|
48
|
+
},
|
|
49
|
+
}, async (scrapingParams) => {
|
|
50
|
+
const params = Object.assign(Object.assign({}, scrapingParams), { target: constants_1.SCRAPER_API_TARGETS.AMAZON_PRICING, parse: true });
|
|
51
|
+
const { data } = await sapiClient.scrape({ auth, scrapingParams: params });
|
|
52
|
+
const { data: text } = this.transformResponse({ data });
|
|
53
|
+
return {
|
|
54
|
+
content: [
|
|
55
|
+
{
|
|
56
|
+
type: 'text',
|
|
57
|
+
text,
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.AmazonPricingTool = AmazonPricingTool;
|
|
66
|
+
AmazonPricingTool.FIELDS_WITH_HIGH_CHAR_COUNT = ['seller_link'];
|
|
67
|
+
//# sourceMappingURL=amazon-pricing-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amazon-pricing-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-pricing/amazon-pricing-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAEpB,+CAA+D;AAC/D,uCAAwD;AACxD,mDAAiE;AACjE,kCAAqD;AAErD,MAAM,SAAS,GAAG,aAAC;KAChB,MAAM,EAAE;KACR,QAAQ,CAAC,gDAAgD,CAAC;KAC1D,QAAQ,EAAE,CAAC;AAEd,MAAM,MAAM,GAAG,aAAC;KACb,MAAM,EAAE;KACR,QAAQ,CAAC,mDAAmD,CAAC;KAC7D,QAAQ,EAAE,CAAC;AAEd,MAAM,WAAW,GAAG,aAAC;KAClB,MAAM,EAAE;KACR,QAAQ,CAAC,qCAAqC,CAAC;KAC/C,QAAQ,EAAE,CAAC;AAEd,MAAa,iBAAkB,SAAQ,WAAI;IAA3C;;QACE,YAAO,GAAG,mBAAO,CAAC,SAAS,CAAC;QAI5B,sBAAiB,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE;YACjD,KAAK,MAAM,aAAa,IAAI,iBAAiB,CAAC,2BAA2B,EAAE,CAAC;gBAC1E,IAAI,GAAG,IAAA,iCAAyB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAwB,EAAE,EAAE;YAChE,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;gBACE,WAAW,EAAE,kEAAkE;gBAC/E,WAAW,EAAE;oBACX,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;oBACtE,QAAQ,EAAE,uBAAW;oBACrB,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,yBAAa;oBACzB,QAAQ,EAAE,WAAW;oBACrB,GAAG,EAAE,MAAM;iBACZ;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,+BAAmB,CAAC,cAAc,EAC1C,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEnF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAExD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI;yBACL;qBACF;iBACF,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;;AArDD,8CAqDC;AAlDgB,6CAA2B,GAAG,CAAC,aAAa,CAAC,AAAlB,CAAmB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./amazon-pricing-tool"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/amazon-pricing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AmazonProductTool = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const constants_1 = require("../../constants");
|
|
9
|
+
const utils_1 = require("../../utils");
|
|
10
|
+
const zod_types_1 = require("../../zod/zod-types");
|
|
11
|
+
const tool_1 = require("../tool");
|
|
12
|
+
const zodDomain = zod_1.default
|
|
13
|
+
.string()
|
|
14
|
+
.describe('Amazon domain (e.g., amazon.com, amazon.co.uk)')
|
|
15
|
+
.optional();
|
|
16
|
+
const zodGeo = zod_1.default
|
|
17
|
+
.string()
|
|
18
|
+
.describe('Amazon geo location (e.g., 10001 for US ZIP code)')
|
|
19
|
+
.optional();
|
|
20
|
+
class AmazonProductTool extends tool_1.Tool {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.toolset = constants_1.TOOLSET.ECOMMERCE;
|
|
24
|
+
this.transformResponse = ({ data }) => {
|
|
25
|
+
for (const fieldToRemove of AmazonProductTool.FIELDS_WITH_HIGH_CHAR_COUNT) {
|
|
26
|
+
data = (0, utils_1.removeKeyFromNestedObject)({ obj: data, keyToRemove: fieldToRemove });
|
|
27
|
+
}
|
|
28
|
+
return { data: JSON.stringify(data) };
|
|
29
|
+
};
|
|
30
|
+
this.register = ({ server, sapiClient, auth }) => {
|
|
31
|
+
server.registerTool('amazon_product', {
|
|
32
|
+
description: 'Scrape Amazon Product page with automatic parsing',
|
|
33
|
+
inputSchema: {
|
|
34
|
+
query: zod_1.default.string().describe('Amazon product ASIN (e.g., "B09H74FXNW")'),
|
|
35
|
+
jsRender: zod_types_1.zodJsRender,
|
|
36
|
+
domain: zodDomain,
|
|
37
|
+
deviceType: zod_types_1.zodDeviceType,
|
|
38
|
+
geo: zodGeo,
|
|
39
|
+
},
|
|
40
|
+
annotations: {
|
|
41
|
+
readOnlyHint: true,
|
|
42
|
+
openWorldHint: true,
|
|
43
|
+
},
|
|
44
|
+
}, async (scrapingParams) => {
|
|
45
|
+
const params = Object.assign(Object.assign({}, scrapingParams), { target: constants_1.SCRAPER_API_TARGETS.AMAZON_PRODUCT, parse: true });
|
|
46
|
+
const { data } = await sapiClient.scrape({ auth, scrapingParams: params });
|
|
47
|
+
const { data: text } = this.transformResponse({ data });
|
|
48
|
+
return {
|
|
49
|
+
content: [
|
|
50
|
+
{
|
|
51
|
+
type: 'text',
|
|
52
|
+
text,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.AmazonProductTool = AmazonProductTool;
|
|
61
|
+
AmazonProductTool.FIELDS_WITH_HIGH_CHAR_COUNT = ['bullet_points', 'description'];
|
|
62
|
+
//# sourceMappingURL=amazon-product-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amazon-product-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-product/amazon-product-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAEpB,+CAA+D;AAC/D,uCAAwD;AACxD,mDAAiE;AACjE,kCAAqD;AAErD,MAAM,SAAS,GAAG,aAAC;KAChB,MAAM,EAAE;KACR,QAAQ,CAAC,gDAAgD,CAAC;KAC1D,QAAQ,EAAE,CAAC;AAEd,MAAM,MAAM,GAAG,aAAC;KACb,MAAM,EAAE;KACR,QAAQ,CAAC,mDAAmD,CAAC;KAC7D,QAAQ,EAAE,CAAC;AAEd,MAAa,iBAAkB,SAAQ,WAAI;IAA3C;;QACE,YAAO,GAAG,mBAAO,CAAC,SAAS,CAAC;QAI5B,sBAAiB,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE;YACjD,KAAK,MAAM,aAAa,IAAI,iBAAiB,CAAC,2BAA2B,EAAE,CAAC;gBAC1E,IAAI,GAAG,IAAA,iCAAyB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAwB,EAAE,EAAE;YAChE,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;gBACE,WAAW,EAAE,mDAAmD;gBAChE,WAAW,EAAE;oBACX,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;oBACtE,QAAQ,EAAE,uBAAW;oBACrB,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,yBAAa;oBACzB,GAAG,EAAE,MAAM;iBACZ;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,+BAAmB,CAAC,cAAc,EAC1C,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEnF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAExD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI;yBACL;qBACF;iBACF,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;;AApDD,8CAoDC;AAjDgB,6CAA2B,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,AAAnC,CAAoC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./amazon-product-tool"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/amazon-product/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AmazonSearchTool = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const constants_1 = require("../../constants");
|
|
9
|
+
const utils_1 = require("../../utils");
|
|
10
|
+
const zod_types_1 = require("../../zod/zod-types");
|
|
11
|
+
const tool_1 = require("../tool");
|
|
12
|
+
const zodDomain = zod_1.default
|
|
13
|
+
.string()
|
|
14
|
+
.describe('Amazon domain (e.g., amazon.com, amazon.co.uk)')
|
|
15
|
+
.optional();
|
|
16
|
+
const zodPageFrom = zod_1.default
|
|
17
|
+
.number()
|
|
18
|
+
.describe('Starting page number for pagination')
|
|
19
|
+
.optional();
|
|
20
|
+
class AmazonSearchTool extends tool_1.Tool {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.toolset = constants_1.TOOLSET.ECOMMERCE;
|
|
24
|
+
this.transformResponse = ({ data }) => {
|
|
25
|
+
for (const fieldToRemove of AmazonSearchTool.FIELDS_WITH_HIGH_CHAR_COUNT) {
|
|
26
|
+
data = (0, utils_1.removeKeyFromNestedObject)({ obj: data, keyToRemove: fieldToRemove });
|
|
27
|
+
}
|
|
28
|
+
return { data: JSON.stringify(data) };
|
|
29
|
+
};
|
|
30
|
+
this.register = ({ server, sapiClient, auth }) => {
|
|
31
|
+
server.registerTool('amazon_search', {
|
|
32
|
+
description: 'Scrape Amazon Search results with automatic parsing',
|
|
33
|
+
inputSchema: {
|
|
34
|
+
query: zod_1.default.string().describe('Search query for Amazon products (e.g., "wireless keyboard")'),
|
|
35
|
+
geo: zod_types_1.zodGeo,
|
|
36
|
+
jsRender: zod_types_1.zodJsRender,
|
|
37
|
+
domain: zodDomain,
|
|
38
|
+
deviceType: zod_types_1.zodDeviceType,
|
|
39
|
+
pageFrom: zodPageFrom,
|
|
40
|
+
},
|
|
41
|
+
annotations: {
|
|
42
|
+
readOnlyHint: true,
|
|
43
|
+
openWorldHint: true,
|
|
44
|
+
},
|
|
45
|
+
}, async (scrapingParams) => {
|
|
46
|
+
const params = Object.assign(Object.assign({}, scrapingParams), { target: constants_1.SCRAPER_API_TARGETS.AMAZON_SEARCH, parse: true });
|
|
47
|
+
const { data } = await sapiClient.scrape({ auth, scrapingParams: params });
|
|
48
|
+
const { data: text } = this.transformResponse({ data });
|
|
49
|
+
return {
|
|
50
|
+
content: [
|
|
51
|
+
{
|
|
52
|
+
type: 'text',
|
|
53
|
+
text,
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.AmazonSearchTool = AmazonSearchTool;
|
|
62
|
+
AmazonSearchTool.FIELDS_WITH_HIGH_CHAR_COUNT = ['suggested', 'amazons_choices', 'refinements'];
|
|
63
|
+
//# sourceMappingURL=amazon-search-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amazon-search-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-search/amazon-search-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAEpB,+CAA+D;AAC/D,uCAAwD;AACxD,mDAAyE;AACzE,kCAAqD;AAErD,MAAM,SAAS,GAAG,aAAC;KAChB,MAAM,EAAE;KACR,QAAQ,CAAC,gDAAgD,CAAC;KAC1D,QAAQ,EAAE,CAAC;AAEd,MAAM,WAAW,GAAG,aAAC;KAClB,MAAM,EAAE;KACR,QAAQ,CAAC,qCAAqC,CAAC;KAC/C,QAAQ,EAAE,CAAC;AAEd,MAAa,gBAAiB,SAAQ,WAAI;IAA1C;;QACE,YAAO,GAAG,mBAAO,CAAC,SAAS,CAAC;QAI5B,sBAAiB,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE;YACjD,KAAK,MAAM,aAAa,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,CAAC;gBACzE,IAAI,GAAG,IAAA,iCAAyB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAwB,EAAE,EAAE;YAChE,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;gBACE,WAAW,EAAE,qDAAqD;gBAClE,WAAW,EAAE;oBACX,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;oBAC1F,GAAG,EAAE,kBAAM;oBACX,QAAQ,EAAE,uBAAW;oBACrB,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,yBAAa;oBACzB,QAAQ,EAAE,WAAW;iBACtB;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,+BAAmB,CAAC,aAAa,EACzC,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEnF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAExD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI;yBACL;qBACF;iBACF,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;;AArDD,4CAqDC;AAlDgB,4CAA2B,GAAG,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,CAAC,AAAlD,CAAmD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./amazon-search-tool"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/amazon-search/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AmazonSearchParsedTool = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const constants_1 = require("../../constants");
|
|
9
|
+
const utils_1 = require("../../utils");
|
|
10
|
+
const zod_types_1 = require("../../zod/zod-types");
|
|
11
|
+
const tool_1 = require("../tool");
|
|
12
|
+
class AmazonSearchParsedTool extends tool_1.Tool {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.toolset = constants_1.TOOLSET.ECOMMERCE;
|
|
16
|
+
this.transformResponse = ({ data }) => {
|
|
17
|
+
for (const fieldToRemove of AmazonSearchParsedTool.FIELDS_WITH_HIGH_CHAR_COUNT) {
|
|
18
|
+
data = (0, utils_1.removeKeyFromNestedObject)({ obj: data, keyToRemove: fieldToRemove });
|
|
19
|
+
}
|
|
20
|
+
return { data: JSON.stringify(data) };
|
|
21
|
+
};
|
|
22
|
+
this.register = ({ server, sapiClient, getAuthToken }) => {
|
|
23
|
+
server.registerTool('amazon_search_parsed', {
|
|
24
|
+
description: 'Scrape Amazon Search results with automatic parsing',
|
|
25
|
+
inputSchema: {
|
|
26
|
+
query: zod_1.default.string().describe('Search query'),
|
|
27
|
+
geo: zod_types_1.zodGeo,
|
|
28
|
+
jsRender: zod_types_1.zodJsRender,
|
|
29
|
+
},
|
|
30
|
+
annotations: {
|
|
31
|
+
readOnlyHint: true,
|
|
32
|
+
openWorldHint: true,
|
|
33
|
+
},
|
|
34
|
+
}, async (scrapingParams) => {
|
|
35
|
+
const params = Object.assign(Object.assign({}, scrapingParams), { target: constants_1.SCRAPER_API_TARGETS.AMAZON_SEARCH, parse: true });
|
|
36
|
+
const auth = getAuthToken();
|
|
37
|
+
const { data } = await sapiClient.scrape({ auth, scrapingParams: params });
|
|
38
|
+
const { data: text } = this.transformResponse({ data });
|
|
39
|
+
return {
|
|
40
|
+
content: [
|
|
41
|
+
{
|
|
42
|
+
type: 'text',
|
|
43
|
+
text,
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.AmazonSearchParsedTool = AmazonSearchParsedTool;
|
|
52
|
+
AmazonSearchParsedTool.FIELDS_WITH_HIGH_CHAR_COUNT = ['suggested', 'amazons_choices', 'refinements'];
|
|
53
|
+
//# sourceMappingURL=amazon-search-parsed-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amazon-search-parsed-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-search-parsed/amazon-search-parsed-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAEpB,+CAA+D;AAC/D,uCAAwD;AACxD,mDAA0D;AAC1D,kCAAqD;AAErD,MAAa,sBAAuB,SAAQ,WAAI;IAAhD;;QACE,YAAO,GAAG,mBAAO,CAAC,SAAS,CAAC;QAI5B,sBAAiB,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE;YACjD,KAAK,MAAM,aAAa,IAAI,sBAAsB,CAAC,2BAA2B,EAAE,CAAC;gBAC/E,IAAI,GAAG,IAAA,iCAAyB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAwB,EAAE,EAAE;YACxE,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;gBACE,WAAW,EAAE,qDAAqD;gBAClE,WAAW,EAAE;oBACX,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAC1C,GAAG,EAAE,kBAAM;oBACX,QAAQ,EAAE,uBAAW;iBACtB;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,+BAAmB,CAAC,aAAa,EACzC,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;gBAE5B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEnF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAExD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI;yBACL;qBACF;iBACF,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;;AApDD,wDAoDC;AAjDgB,kDAA2B,GAAG,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,CAAC,AAAlD,CAAmD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./amazon-search-parsed-tool"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/amazon-search-parsed/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C"}
|
|
@@ -13,6 +13,7 @@ class AmazonSearchParsedTool {
|
|
|
13
13
|
}
|
|
14
14
|
exports.AmazonSearchParsedTool = AmazonSearchParsedTool;
|
|
15
15
|
_a = AmazonSearchParsedTool;
|
|
16
|
+
AmazonSearchParsedTool.toolset = constants_1.TOOLSET.ECOMMERCE;
|
|
16
17
|
AmazonSearchParsedTool.FIELDS_WITH_HIGH_CHAR_COUNT = ['suggested', 'amazons_choices', 'refinements'];
|
|
17
18
|
AmazonSearchParsedTool.transformAutoParsedResponse = ({ obj }) => {
|
|
18
19
|
for (const fieldToRemove of _a.FIELDS_WITH_HIGH_CHAR_COUNT) {
|
|
@@ -21,7 +22,7 @@ AmazonSearchParsedTool.transformAutoParsedResponse = ({ obj }) => {
|
|
|
21
22
|
const text = JSON.stringify(obj);
|
|
22
23
|
return text;
|
|
23
24
|
};
|
|
24
|
-
AmazonSearchParsedTool.register = ({ server, sapiClient, }) => {
|
|
25
|
+
AmazonSearchParsedTool.register = ({ server, sapiClient, getAuthToken, }) => {
|
|
25
26
|
server.registerTool('amazon_search_parsed', {
|
|
26
27
|
description: 'Scrape Amazon Search results with automatic parsing',
|
|
27
28
|
inputSchema: {
|
|
@@ -29,9 +30,14 @@ AmazonSearchParsedTool.register = ({ server, sapiClient, }) => {
|
|
|
29
30
|
geo: zod_types_1.zodGeo,
|
|
30
31
|
jsRender: zod_types_1.zodJsRender,
|
|
31
32
|
},
|
|
33
|
+
annotations: {
|
|
34
|
+
readOnlyHint: true,
|
|
35
|
+
openWorldHint: true,
|
|
36
|
+
},
|
|
32
37
|
}, async (scrapingParams) => {
|
|
33
38
|
const params = Object.assign(Object.assign({}, scrapingParams), { target: constants_1.SCRAPER_API_TARGETS.AMAZON_SEARCH, parse: true });
|
|
34
|
-
const
|
|
39
|
+
const auth = getAuthToken();
|
|
40
|
+
const { data } = await sapiClient.scrape({ auth, scrapingParams: params });
|
|
35
41
|
const text = _a.transformAutoParsedResponse({ obj: data });
|
|
36
42
|
return {
|
|
37
43
|
content: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amazon-search-parsed-tool.js","sourceRoot":"","sources":["../../src/tools/amazon-search-parsed-tool.ts"],"names":[],"mappings":";;;;;;;AAAA,8CAAoB;AAIpB,
|
|
1
|
+
{"version":3,"file":"amazon-search-parsed-tool.js","sourceRoot":"","sources":["../../src/tools/amazon-search-parsed-tool.ts"],"names":[],"mappings":";;;;;;;AAAA,8CAAoB;AAIpB,4CAA4D;AAC5D,oCAAqD;AACrD,gDAAuD;AAEvD,MAAa,sBAAsB;;AAAnC,wDA6DC;;AA5DQ,8BAAO,GAAG,mBAAO,CAAC,SAAS,AAApB,CAAqB;AAC5B,kDAA2B,GAAG,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,CAAC,AAAlD,CAAmD;AAE9E,kDAA2B,GAAG,CAAC,EAAE,GAAG,EAAmB,EAAU,EAAE;IACxE,KAAK,MAAM,aAAa,IAAI,EAAsB,CAAC,2BAA2B,EAAE,CAAC;QAC/E,GAAG,GAAG,IAAA,iCAAyB,EAAC,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO,IAAI,CAAC;AACd,CAAC,AARiC,CAQhC;AAEK,+BAAQ,GAAG,CAAC,EACjB,MAAM,EACN,UAAU,EACV,YAAY,GAKb,EAAE,EAAE;IACH,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACX,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC1C,GAAG,EAAE,kBAAM;YACX,QAAQ,EAAE,uBAAW;SACtB;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,cAAiC,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,+BAAmB,CAAC,aAAa,EACzC,KAAK,EAAE,IAAI,GACe,CAAC;QAE7B,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;QAE5B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnF,MAAM,IAAI,GAAG,EAAI,CAAC,2BAA2B,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7D,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI;iBACL;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,AA9Cc,CA8Cb"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AmazonSellersTool = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const constants_1 = require("../../constants");
|
|
9
|
+
const zod_types_1 = require("../../zod/zod-types");
|
|
10
|
+
const tool_1 = require("../tool");
|
|
11
|
+
const zodDomain = zod_1.default
|
|
12
|
+
.string()
|
|
13
|
+
.describe('Amazon domain (e.g., amazon.com, amazon.co.uk)')
|
|
14
|
+
.optional();
|
|
15
|
+
const zodGeo = zod_1.default
|
|
16
|
+
.string()
|
|
17
|
+
.describe('Amazon geo location (e.g., 10001 for US ZIP code)')
|
|
18
|
+
.optional();
|
|
19
|
+
class AmazonSellersTool extends tool_1.Tool {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
this.toolset = constants_1.TOOLSET.ECOMMERCE;
|
|
23
|
+
this.transformResponse = ({ data }) => {
|
|
24
|
+
return { data: JSON.stringify(data) };
|
|
25
|
+
};
|
|
26
|
+
this.register = ({ server, sapiClient, auth }) => {
|
|
27
|
+
server.registerTool('amazon_sellers', {
|
|
28
|
+
description: 'Scrape Amazon Seller information with automatic parsing',
|
|
29
|
+
inputSchema: {
|
|
30
|
+
query: zod_1.default.string().describe('Amazon seller ID (e.g., "A1R0Z7FJGTKESH")'),
|
|
31
|
+
jsRender: zod_types_1.zodJsRender,
|
|
32
|
+
domain: zodDomain,
|
|
33
|
+
deviceType: zod_types_1.zodDeviceType,
|
|
34
|
+
geo: zodGeo,
|
|
35
|
+
},
|
|
36
|
+
annotations: {
|
|
37
|
+
readOnlyHint: true,
|
|
38
|
+
openWorldHint: true,
|
|
39
|
+
},
|
|
40
|
+
}, async (scrapingParams) => {
|
|
41
|
+
const params = Object.assign(Object.assign({}, scrapingParams), { target: constants_1.SCRAPER_API_TARGETS.AMAZON_SELLERS, parse: true });
|
|
42
|
+
const { data } = await sapiClient.scrape({ auth, scrapingParams: params });
|
|
43
|
+
return {
|
|
44
|
+
content: [
|
|
45
|
+
{
|
|
46
|
+
type: 'text',
|
|
47
|
+
text: JSON.stringify(data),
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.AmazonSellersTool = AmazonSellersTool;
|
|
56
|
+
//# sourceMappingURL=amazon-sellers-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amazon-sellers-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-sellers/amazon-sellers-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAEpB,+CAA+D;AAC/D,mDAAiE;AACjE,kCAAqD;AAErD,MAAM,SAAS,GAAG,aAAC;KAChB,MAAM,EAAE;KACR,QAAQ,CAAC,gDAAgD,CAAC;KAC1D,QAAQ,EAAE,CAAC;AAEd,MAAM,MAAM,GAAG,aAAC;KACb,MAAM,EAAE;KACR,QAAQ,CAAC,mDAAmD,CAAC;KAC7D,QAAQ,EAAE,CAAC;AAEd,MAAa,iBAAkB,SAAQ,WAAI;IAA3C;;QACE,YAAO,GAAG,mBAAO,CAAC,SAAS,CAAC;QAE5B,sBAAiB,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE;YACjD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAwB,EAAE,EAAE;YAChE,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;gBACE,WAAW,EAAE,yDAAyD;gBACtE,WAAW,EAAE;oBACX,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;oBACvE,QAAQ,EAAE,uBAAW;oBACrB,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,yBAAa;oBACzB,GAAG,EAAE,MAAM;iBACZ;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,+BAAmB,CAAC,cAAc,EAC1C,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEnF,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;yBAC3B;qBACF;iBACF,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CAAA;AA5CD,8CA4CC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./amazon-sellers-tool"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/amazon-sellers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.BingSearchTool = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const constants_1 = require("../../constants");
|
|
9
|
+
const utils_1 = require("../../utils");
|
|
10
|
+
const zod_types_1 = require("../../zod/zod-types");
|
|
11
|
+
const tool_1 = require("../tool");
|
|
12
|
+
const zodDomain = zod_1.default
|
|
13
|
+
.string()
|
|
14
|
+
.describe('Bing domain (e.g., bing.com, bing.co.uk)')
|
|
15
|
+
.optional();
|
|
16
|
+
const zodPageFrom = zod_1.default
|
|
17
|
+
.number()
|
|
18
|
+
.describe('Starting page number for pagination')
|
|
19
|
+
.optional();
|
|
20
|
+
class BingSearchTool extends tool_1.Tool {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.toolset = constants_1.TOOLSET.SEARCH;
|
|
24
|
+
this.transformResponse = ({ data }) => {
|
|
25
|
+
for (const fieldToRemove of BingSearchTool.FIELDS_WITH_HIGH_CHAR_COUNT) {
|
|
26
|
+
data = (0, utils_1.removeKeyFromNestedObject)({ obj: data, keyToRemove: fieldToRemove });
|
|
27
|
+
}
|
|
28
|
+
return { data: JSON.stringify(data) };
|
|
29
|
+
};
|
|
30
|
+
this.register = ({ server, sapiClient, auth }) => {
|
|
31
|
+
server.registerTool('bing_search', {
|
|
32
|
+
description: 'Scrape Bing Search results with automatic parsing',
|
|
33
|
+
inputSchema: {
|
|
34
|
+
query: zod_1.default.string().describe('Search query for Bing (e.g., "laptop")'),
|
|
35
|
+
geo: zod_types_1.zodGeo,
|
|
36
|
+
locale: zod_types_1.zodLocale,
|
|
37
|
+
jsRender: zod_types_1.zodJsRender,
|
|
38
|
+
domain: zodDomain,
|
|
39
|
+
deviceType: zod_types_1.zodDeviceType,
|
|
40
|
+
pageFrom: zodPageFrom,
|
|
41
|
+
},
|
|
42
|
+
annotations: {
|
|
43
|
+
readOnlyHint: true,
|
|
44
|
+
openWorldHint: true,
|
|
45
|
+
},
|
|
46
|
+
}, async (scrapingParams) => {
|
|
47
|
+
const params = Object.assign(Object.assign({}, scrapingParams), { target: constants_1.SCRAPER_API_TARGETS.BING_SEARCH, parse: true });
|
|
48
|
+
const { data } = await sapiClient.scrape({ auth, scrapingParams: params });
|
|
49
|
+
const { data: text } = this.transformResponse({ data });
|
|
50
|
+
return {
|
|
51
|
+
content: [
|
|
52
|
+
{
|
|
53
|
+
type: 'text',
|
|
54
|
+
text,
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.BingSearchTool = BingSearchTool;
|
|
63
|
+
BingSearchTool.FIELDS_WITH_HIGH_CHAR_COUNT = ['url'];
|
|
64
|
+
//# sourceMappingURL=bing-search-tool.js.map
|