@decodo/mcp-server 1.0.3 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/README.md +93 -34
  2. package/build/clients/scraper-api-client.js +78 -16
  3. package/build/clients/scraper-api-client.js.map +1 -1
  4. package/build/constants.js +35 -1
  5. package/build/constants.js.map +1 -1
  6. package/build/index.js +11 -11
  7. package/build/index.js.map +1 -1
  8. package/build/server/sapi-base-server.js +76 -0
  9. package/build/server/sapi-base-server.js.map +1 -0
  10. package/build/server/sapi-http-server.js +11 -0
  11. package/build/server/sapi-http-server.js.map +1 -0
  12. package/build/server/sapi-stdio-server.js +11 -0
  13. package/build/server/sapi-stdio-server.js.map +1 -0
  14. package/build/server.js +53 -0
  15. package/build/server.js.map +1 -0
  16. package/build/tools/amazon-bestsellers/amazon-bestsellers-tool.js +55 -0
  17. package/build/tools/amazon-bestsellers/amazon-bestsellers-tool.js.map +1 -0
  18. package/build/tools/amazon-bestsellers/index.js +18 -0
  19. package/build/tools/amazon-bestsellers/index.js.map +1 -0
  20. package/build/tools/amazon-pricing/amazon-pricing-tool.js +67 -0
  21. package/build/tools/amazon-pricing/amazon-pricing-tool.js.map +1 -0
  22. package/build/tools/amazon-pricing/index.js +18 -0
  23. package/build/tools/amazon-pricing/index.js.map +1 -0
  24. package/build/tools/amazon-product/amazon-product-tool.js +62 -0
  25. package/build/tools/amazon-product/amazon-product-tool.js.map +1 -0
  26. package/build/tools/amazon-product/index.js +18 -0
  27. package/build/tools/amazon-product/index.js.map +1 -0
  28. package/build/tools/amazon-search/amazon-search-tool.js +63 -0
  29. package/build/tools/amazon-search/amazon-search-tool.js.map +1 -0
  30. package/build/tools/amazon-search/index.js +18 -0
  31. package/build/tools/amazon-search/index.js.map +1 -0
  32. package/build/tools/amazon-sellers/amazon-sellers-tool.js +56 -0
  33. package/build/tools/amazon-sellers/amazon-sellers-tool.js.map +1 -0
  34. package/build/tools/amazon-sellers/index.js +18 -0
  35. package/build/tools/amazon-sellers/index.js.map +1 -0
  36. package/build/tools/bing-search/bing-search-tool.js +64 -0
  37. package/build/tools/bing-search/bing-search-tool.js.map +1 -0
  38. package/build/tools/bing-search/index.js +18 -0
  39. package/build/tools/bing-search/index.js.map +1 -0
  40. package/build/tools/chatgpt/chatgpt-tool.js +47 -0
  41. package/build/tools/chatgpt/chatgpt-tool.js.map +1 -0
  42. package/build/tools/chatgpt/index.js +18 -0
  43. package/build/tools/chatgpt/index.js.map +1 -0
  44. package/build/tools/google-ads/google-ads-tool.js +59 -0
  45. package/build/tools/google-ads/google-ads-tool.js.map +1 -0
  46. package/build/tools/google-ads/index.js +18 -0
  47. package/build/tools/google-ads/index.js.map +1 -0
  48. package/build/tools/google-ai-mode/google-ai-mode-tool.js +50 -0
  49. package/build/tools/google-ai-mode/google-ai-mode-tool.js.map +1 -0
  50. package/build/tools/google-ai-mode/index.js +18 -0
  51. package/build/tools/google-ai-mode/index.js.map +1 -0
  52. package/build/tools/google-lens/google-lens-tool.js +52 -0
  53. package/build/tools/google-lens/google-lens-tool.js.map +1 -0
  54. package/build/tools/google-lens/index.js +18 -0
  55. package/build/tools/google-lens/index.js.map +1 -0
  56. package/build/tools/google-search/google-search-tool.js +60 -0
  57. package/build/tools/google-search/google-search-tool.js.map +1 -0
  58. package/build/tools/google-search/index.js +18 -0
  59. package/build/tools/google-search/index.js.map +1 -0
  60. package/build/tools/google-travel-hotels/google-travel-hotels-tool.js +52 -0
  61. package/build/tools/google-travel-hotels/google-travel-hotels-tool.js.map +1 -0
  62. package/build/tools/google-travel-hotels/index.js +18 -0
  63. package/build/tools/google-travel-hotels/index.js.map +1 -0
  64. package/build/tools/index.js +30 -5
  65. package/build/tools/index.js.map +1 -1
  66. package/build/tools/perplexity/index.js +18 -0
  67. package/build/tools/perplexity/index.js.map +1 -0
  68. package/build/tools/perplexity/perplexity-tool.js +46 -0
  69. package/build/tools/perplexity/perplexity-tool.js.map +1 -0
  70. package/build/tools/reddit-post/index.js +18 -0
  71. package/build/tools/reddit-post/index.js.map +1 -0
  72. package/build/tools/reddit-post/reddit-post-tool.js +51 -0
  73. package/build/tools/reddit-post/reddit-post-tool.js.map +1 -0
  74. package/build/tools/reddit-subreddit/index.js +18 -0
  75. package/build/tools/reddit-subreddit/index.js.map +1 -0
  76. package/build/tools/reddit-subreddit/reddit-subreddit-tool.js +49 -0
  77. package/build/tools/reddit-subreddit/reddit-subreddit-tool.js.map +1 -0
  78. package/build/tools/reddit-user/index.js +18 -0
  79. package/build/tools/reddit-user/index.js.map +1 -0
  80. package/build/tools/reddit-user/reddit-user-tool.js +55 -0
  81. package/build/tools/reddit-user/reddit-user-tool.js.map +1 -0
  82. package/build/tools/scrape-as-markdown/index.js +18 -0
  83. package/build/tools/scrape-as-markdown/index.js.map +1 -0
  84. package/build/tools/scrape-as-markdown/scrape-as-markdown-tool.js +79 -0
  85. package/build/tools/scrape-as-markdown/scrape-as-markdown-tool.js.map +1 -0
  86. package/build/tools/screenshot/index.js +18 -0
  87. package/build/tools/screenshot/index.js.map +1 -0
  88. package/build/tools/screenshot/screenshot-tool.js +48 -0
  89. package/build/tools/screenshot/screenshot-tool.js.map +1 -0
  90. package/build/tools/target-product/index.js +18 -0
  91. package/build/tools/target-product/index.js.map +1 -0
  92. package/build/tools/target-product/target-product-tool.js +50 -0
  93. package/build/tools/target-product/target-product-tool.js.map +1 -0
  94. package/build/tools/target-search/index.js +18 -0
  95. package/build/tools/target-search/index.js.map +1 -0
  96. package/build/tools/target-search/target-search-tool.js +56 -0
  97. package/build/tools/target-search/target-search-tool.js.map +1 -0
  98. package/build/tools/tiktok-post/index.js +18 -0
  99. package/build/tools/tiktok-post/index.js.map +1 -0
  100. package/build/tools/tiktok-post/tiktok-post-tool.js +48 -0
  101. package/build/tools/tiktok-post/tiktok-post-tool.js.map +1 -0
  102. package/build/tools/tiktok-shop-product/index.js +18 -0
  103. package/build/tools/tiktok-shop-product/index.js.map +1 -0
  104. package/build/tools/tiktok-shop-product/tiktok-shop-product-tool.js +47 -0
  105. package/build/tools/tiktok-shop-product/tiktok-shop-product-tool.js.map +1 -0
  106. package/build/tools/tiktok-shop-search/index.js +18 -0
  107. package/build/tools/tiktok-shop-search/index.js.map +1 -0
  108. package/build/tools/tiktok-shop-search/tiktok-shop-search-tool.js +54 -0
  109. package/build/tools/tiktok-shop-search/tiktok-shop-search-tool.js.map +1 -0
  110. package/build/tools/tiktok-shop-url/index.js +18 -0
  111. package/build/tools/tiktok-shop-url/index.js.map +1 -0
  112. package/build/tools/tiktok-shop-url/tiktok-shop-url-tool.js +45 -0
  113. package/build/tools/tiktok-shop-url/tiktok-shop-url-tool.js.map +1 -0
  114. package/build/tools/tool.js +7 -0
  115. package/build/tools/tool.js.map +1 -0
  116. package/build/tools/walmart-product/index.js +18 -0
  117. package/build/tools/walmart-product/index.js.map +1 -0
  118. package/build/tools/walmart-product/walmart-product-tool.js +61 -0
  119. package/build/tools/walmart-product/walmart-product-tool.js.map +1 -0
  120. package/build/tools/walmart-search/index.js +18 -0
  121. package/build/tools/walmart-search/index.js.map +1 -0
  122. package/build/tools/walmart-search/walmart-search-tool.js +62 -0
  123. package/build/tools/walmart-search/walmart-search-tool.js.map +1 -0
  124. package/build/tools/youtube-channel/index.js +18 -0
  125. package/build/tools/youtube-channel/index.js.map +1 -0
  126. package/build/tools/youtube-channel/youtube-channel-tool.js +48 -0
  127. package/build/tools/youtube-channel/youtube-channel-tool.js.map +1 -0
  128. package/build/tools/youtube-metadata/index.js +18 -0
  129. package/build/tools/youtube-metadata/index.js.map +1 -0
  130. package/build/tools/youtube-metadata/youtube-metadata-tool.js +43 -0
  131. package/build/tools/youtube-metadata/youtube-metadata-tool.js.map +1 -0
  132. package/build/tools/youtube-search/index.js +18 -0
  133. package/build/tools/youtube-search/index.js.map +1 -0
  134. package/build/tools/youtube-search/youtube-search-tool.js +43 -0
  135. package/build/tools/youtube-search/youtube-search-tool.js.map +1 -0
  136. package/build/tools/youtube-subtitles/index.js +18 -0
  137. package/build/tools/youtube-subtitles/index.js.map +1 -0
  138. package/build/tools/youtube-subtitles/youtube-subtitles-tool.js +48 -0
  139. package/build/tools/youtube-subtitles/youtube-subtitles-tool.js.map +1 -0
  140. package/build/utils.js +14 -3
  141. package/build/utils.js.map +1 -1
  142. package/build/zod/zod-types.js +12 -4
  143. package/build/zod/zod-types.js.map +1 -1
  144. package/package.json +37 -12
  145. package/build/sapi-mcp-server.js +0 -40
  146. package/build/sapi-mcp-server.js.map +0 -1
  147. package/build/tools/amazon-search-parsed-tool.js +0 -46
  148. package/build/tools/amazon-search-parsed-tool.js.map +0 -1
  149. package/build/tools/google-search-parsed-tool.js +0 -54
  150. package/build/tools/google-search-parsed-tool.js.map +0 -1
  151. package/build/tools/reddit-post-tool.js +0 -34
  152. package/build/tools/reddit-post-tool.js.map +0 -1
  153. package/build/tools/reddit-subreddit-tool.js +0 -34
  154. package/build/tools/reddit-subreddit-tool.js.map +0 -1
  155. package/build/tools/scrape-as-markdown-tool.js +0 -70
  156. package/build/tools/scrape-as-markdown-tool.js.map +0 -1
  157. package/build/tools/scrape-tool.js +0 -70
  158. 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,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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bing-search-tool.js","sourceRoot":"","sources":["../../../src/tools/bing-search/bing-search-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAEpB,+CAA+D;AAC/D,uCAAwD;AACxD,mDAAoF;AACpF,kCAAqD;AAErD,MAAM,SAAS,GAAG,aAAC;KAChB,MAAM,EAAE;KACR,QAAQ,CAAC,0CAA0C,CAAC;KACpD,QAAQ,EAAE,CAAC;AAEd,MAAM,WAAW,GAAG,aAAC;KAClB,MAAM,EAAE;KACR,QAAQ,CAAC,qCAAqC,CAAC;KAC/C,QAAQ,EAAE,CAAC;AAEd,MAAa,cAAe,SAAQ,WAAI;IAAxC;;QACE,YAAO,GAAG,mBAAO,CAAC,MAAM,CAAC;QAIzB,sBAAiB,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE;YACjD,KAAK,MAAM,aAAa,IAAI,cAAc,CAAC,2BAA2B,EAAE,CAAC;gBACvE,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,aAAa,EACb;gBACE,WAAW,EAAE,mDAAmD;gBAChE,WAAW,EAAE;oBACX,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;oBACpE,GAAG,EAAE,kBAAM;oBACX,MAAM,EAAE,qBAAS;oBACjB,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,WAAW,EACvC,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;;AAtDD,wCAsDC;AAnDgB,0CAA2B,GAAG,CAAC,KAAK,CAAC,AAAV,CAAW"}
@@ -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("./bing-search-tool"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/bing-search/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
@@ -0,0 +1,47 @@
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.ChatGPTTool = 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
+ class ChatGPTTool extends tool_1.Tool {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.toolset = constants_1.TOOLSET.AI;
15
+ this.transformResponse = ({ data }) => {
16
+ return { data: JSON.stringify(data, null, 2) };
17
+ };
18
+ this.register = ({ server, sapiClient, auth }) => {
19
+ server.registerTool('chatgpt', {
20
+ description: 'Search and interact with ChatGPT for AI-powered responses and conversations',
21
+ inputSchema: {
22
+ prompt: zod_1.default.string().describe('Prompt to send to ChatGPT'),
23
+ search: zod_1.default.boolean().describe("Activates ChatGPT's web search functionality").optional(),
24
+ geo: zod_types_1.zodGeo,
25
+ },
26
+ annotations: {
27
+ readOnlyHint: true,
28
+ openWorldHint: true,
29
+ },
30
+ }, async (scrapingParams) => {
31
+ const params = Object.assign(Object.assign({}, scrapingParams), { target: constants_1.SCRAPER_API_TARGETS.CHATGPT, parse: true });
32
+ const { data } = await sapiClient.scrape({ auth, scrapingParams: params });
33
+ const { data: text } = this.transformResponse({ data });
34
+ return {
35
+ content: [
36
+ {
37
+ type: 'text',
38
+ text,
39
+ },
40
+ ],
41
+ };
42
+ });
43
+ };
44
+ }
45
+ }
46
+ exports.ChatGPTTool = ChatGPTTool;
47
+ //# sourceMappingURL=chatgpt-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatgpt-tool.js","sourceRoot":"","sources":["../../../src/tools/chatgpt/chatgpt-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAEpB,+CAA+D;AAC/D,mDAA6C;AAC7C,kCAAqD;AAErD,MAAa,WAAY,SAAQ,WAAI;IAArC;;QACE,YAAO,GAAG,mBAAO,CAAC,EAAE,CAAC;QAErB,sBAAiB,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE;YACjD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACjD,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAwB,EAAE,EAAE;YAChE,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;gBACE,WAAW,EAAE,6EAA6E;gBAC1F,WAAW,EAAE;oBACX,MAAM,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;oBACxD,MAAM,EAAE,aAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC,CAAC,QAAQ,EAAE;oBACvF,GAAG,EAAE,kBAAM;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,OAAO,EACnC,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;CAAA;AA5CD,kCA4CC"}
@@ -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("./chatgpt-tool"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/chatgpt/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}