@decodo/mcp-server 1.3.1 → 1.4.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.
- package/README.md +10 -4
- package/build/clients/scraper-api-client.js +63 -15
- package/build/clients/scraper-api-client.js.map +1 -1
- package/build/server/app.js +2 -1
- package/build/server/app.js.map +1 -1
- package/build/server/hidden-tools.js +28 -0
- package/build/server/hidden-tools.js.map +1 -0
- package/build/server/sapi-base-server.js +20 -11
- package/build/server/sapi-base-server.js.map +1 -1
- package/build/server/sapi-http-server.js +8 -2
- package/build/server/sapi-http-server.js.map +1 -1
- package/build/server.js +6 -1
- package/build/server.js.map +1 -1
- package/build/tools/amazon-bestsellers/amazon-bestsellers-tool.js +3 -1
- package/build/tools/amazon-bestsellers/amazon-bestsellers-tool.js.map +1 -1
- package/build/tools/amazon-pricing/amazon-pricing-tool.js +3 -1
- package/build/tools/amazon-pricing/amazon-pricing-tool.js.map +1 -1
- package/build/tools/amazon-product/amazon-product-tool.js +3 -1
- package/build/tools/amazon-product/amazon-product-tool.js.map +1 -1
- package/build/tools/amazon-search/amazon-search-tool.js +3 -1
- package/build/tools/amazon-search/amazon-search-tool.js.map +1 -1
- package/build/tools/amazon-sellers/amazon-sellers-tool.js +3 -1
- package/build/tools/amazon-sellers/amazon-sellers-tool.js.map +1 -1
- package/build/tools/bing-search/bing-search-tool.js +3 -1
- package/build/tools/bing-search/bing-search-tool.js.map +1 -1
- package/build/tools/chatgpt/chatgpt-tool.js +4 -1
- package/build/tools/chatgpt/chatgpt-tool.js.map +1 -1
- package/build/tools/crawl-cancel/crawl-cancel-tool.js +41 -0
- package/build/tools/crawl-cancel/crawl-cancel-tool.js.map +1 -0
- package/build/tools/crawl-cancel/index.js +18 -0
- package/build/tools/crawl-cancel/index.js.map +1 -0
- package/build/tools/crawl-results/crawl-results-tool.js +172 -0
- package/build/tools/crawl-results/crawl-results-tool.js.map +1 -0
- package/build/tools/crawl-results/index.js +18 -0
- package/build/tools/crawl-results/index.js.map +1 -0
- package/build/tools/crawl-start/crawl-start-tool.js +74 -0
- package/build/tools/crawl-start/crawl-start-tool.js.map +1 -0
- package/build/tools/crawl-start/index.js +18 -0
- package/build/tools/crawl-start/index.js.map +1 -0
- package/build/tools/crawl-status/crawl-status-tool.js +40 -0
- package/build/tools/crawl-status/crawl-status-tool.js.map +1 -0
- package/build/tools/crawl-status/index.js +18 -0
- package/build/tools/crawl-status/index.js.map +1 -0
- package/build/tools/google-ads/google-ads-tool.js +3 -1
- package/build/tools/google-ads/google-ads-tool.js.map +1 -1
- package/build/tools/google-ai-mode/google-ai-mode-tool.js +3 -1
- package/build/tools/google-ai-mode/google-ai-mode-tool.js.map +1 -1
- package/build/tools/google-lens/google-lens-tool.js +3 -1
- package/build/tools/google-lens/google-lens-tool.js.map +1 -1
- package/build/tools/google-search/google-search-tool.js +3 -1
- package/build/tools/google-search/google-search-tool.js.map +1 -1
- package/build/tools/google-travel-hotels/google-travel-hotels-tool.js +3 -1
- package/build/tools/google-travel-hotels/google-travel-hotels-tool.js.map +1 -1
- package/build/tools/index.js +6 -0
- package/build/tools/index.js.map +1 -1
- package/build/tools/map/index.js +18 -0
- package/build/tools/map/index.js.map +1 -0
- package/build/tools/map/map-tool.js +66 -0
- package/build/tools/map/map-tool.js.map +1 -0
- package/build/tools/perplexity/perplexity-tool.js +4 -1
- package/build/tools/perplexity/perplexity-tool.js.map +1 -1
- package/build/tools/reddit-post/reddit-post-tool.js +3 -1
- package/build/tools/reddit-post/reddit-post-tool.js.map +1 -1
- package/build/tools/reddit-subreddit/reddit-subreddit-tool.js +3 -1
- package/build/tools/reddit-subreddit/reddit-subreddit-tool.js.map +1 -1
- package/build/tools/reddit-user/reddit-user-tool.js +3 -1
- package/build/tools/reddit-user/reddit-user-tool.js.map +1 -1
- package/build/tools/scrape-as-markdown/scrape-as-markdown-tool.js +3 -1
- package/build/tools/scrape-as-markdown/scrape-as-markdown-tool.js.map +1 -1
- package/build/tools/screenshot/screenshot-tool.js +3 -1
- package/build/tools/screenshot/screenshot-tool.js.map +1 -1
- package/build/tools/search/index.js +18 -0
- package/build/tools/search/index.js.map +1 -0
- package/build/tools/search/search-tool.js +62 -0
- package/build/tools/search/search-tool.js.map +1 -0
- package/build/tools/target-product/target-product-tool.js +3 -1
- package/build/tools/target-product/target-product-tool.js.map +1 -1
- package/build/tools/target-search/target-search-tool.js +3 -1
- package/build/tools/target-search/target-search-tool.js.map +1 -1
- package/build/tools/tiktok-post/tiktok-post-tool.js +3 -1
- package/build/tools/tiktok-post/tiktok-post-tool.js.map +1 -1
- package/build/tools/tiktok-shop-product/tiktok-shop-product-tool.js +3 -1
- package/build/tools/tiktok-shop-product/tiktok-shop-product-tool.js.map +1 -1
- package/build/tools/tiktok-shop-search/tiktok-shop-search-tool.js +3 -1
- package/build/tools/tiktok-shop-search/tiktok-shop-search-tool.js.map +1 -1
- package/build/tools/tiktok-shop-url/tiktok-shop-url-tool.js +3 -1
- package/build/tools/tiktok-shop-url/tiktok-shop-url-tool.js.map +1 -1
- package/build/tools/walmart-product/walmart-product-tool.js +3 -1
- package/build/tools/walmart-product/walmart-product-tool.js.map +1 -1
- package/build/tools/walmart-search/walmart-search-tool.js +3 -1
- package/build/tools/walmart-search/walmart-search-tool.js.map +1 -1
- package/build/tools/youtube-channel/youtube-channel-tool.js +3 -1
- package/build/tools/youtube-channel/youtube-channel-tool.js.map +1 -1
- package/build/tools/youtube-metadata/youtube-metadata-tool.js +3 -1
- package/build/tools/youtube-metadata/youtube-metadata-tool.js.map +1 -1
- package/build/tools/youtube-search/youtube-search-tool.js +3 -1
- package/build/tools/youtube-search/youtube-search-tool.js.map +1 -1
- package/build/tools/youtube-subtitles/youtube-subtitles-tool.js +3 -1
- package/build/tools/youtube-subtitles/youtube-subtitles-tool.js.map +1 -1
- package/build/zod/zod-types.js +25 -1
- package/build/zod/zod-types.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -237,8 +237,8 @@ When no toolsets are specified, all tools are registered.
|
|
|
237
237
|
|
|
238
238
|
| Toolset | Tools |
|
|
239
239
|
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
240
|
-
| `web` | `scrape_as_markdown`, `screenshot`
|
|
241
|
-
| `search` | `google_search`, `google_ads`, `google_lens`, `google_travel_hotels`, `bing_search`
|
|
240
|
+
| `web` | `scrape_as_markdown`, `screenshot`, `map`, `crawl_start`, `crawl_status`, `crawl_results`, `crawl_cancel` |
|
|
241
|
+
| `search` | `search`, `google_search`, `google_ads`, `google_lens`, `google_travel_hotels`, `bing_search` |
|
|
242
242
|
| `ecommerce` | `amazon_search`, `amazon_product`, `amazon_pricing`, `amazon_sellers`, `amazon_bestsellers`, `walmart_search`, `walmart_product`, `target_search`, `target_product`, `tiktok_shop_search`, `tiktok_shop_product`, `tiktok_shop_url` |
|
|
243
243
|
| `social_media` | `reddit_post`, `reddit_subreddit`, `reddit_user`, `tiktok_post`, `youtube_metadata`, `youtube_channel`, `youtube_subtitles`, `youtube_search` |
|
|
244
244
|
| `ai` | `chatgpt`, `perplexity`, `google_ai_mode` |
|
|
@@ -251,6 +251,12 @@ The server exposes the following tools:
|
|
|
251
251
|
| ---------------------- | ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------- |
|
|
252
252
|
| `scrape_as_markdown` | Scrapes any target URL, expects a URL to be given via prompt. Returns results in Markdown. | Scrape peacock.com from a US IP address and tell me the pricing. |
|
|
253
253
|
| `screenshot` | Captures a screenshot of any webpage and returns it as a PNG image. | Take a screenshot of github.com from a US IP address. |
|
|
254
|
+
| `map` | Lists the URLs on a website without fetching their content. API key only. | Map docs.decodo.com and list the pages under /scraping-api. |
|
|
255
|
+
| `crawl_start` | Starts crawling a website and returns the crawl id without waiting. API key only. | Crawl the first 10 pages of decodo.com/blog. |
|
|
256
|
+
| `crawl_status` | Reports a crawl's progress: pages discovered, completed and failed. API key only. | Is my crawl finished yet? |
|
|
257
|
+
| `crawl_results` | Returns crawled pages as Markdown, a few at a time with a cursor. API key only. | Show me the pages my crawl found. |
|
|
258
|
+
| `crawl_cancel` | Stops a running crawl; pages crawled so far stay readable. API key only. | Cancel my crawl. |
|
|
259
|
+
| `search` | Searches the web and returns ranked results. API key only. | Search the web for MCP server hosting options. |
|
|
254
260
|
| `google_search` | Scrapes Google Search for a given query, and returns parsed results. | Scrape Google Search for shoes and tell me the top position. |
|
|
255
261
|
| `google_ads` | Scrapes Google Ads search results. | Scrape Google Ads for laptop and show me the top ads. |
|
|
256
262
|
| `google_lens` | Scrapes Google Lens image search results. | Search Google Lens for this image: https://example.com/image.jpg |
|
|
@@ -277,8 +283,8 @@ The server exposes the following tools:
|
|
|
277
283
|
| `reddit_subreddit` | Scrapes Reddit subreddit results. | Scrape the top 5 posts on r/Python this week. |
|
|
278
284
|
| `reddit_user` | Scrapes a Reddit user profile and their posts/comments. | Scrape this Reddit user: https://www.reddit.com/user/IWasRightOnce/ |
|
|
279
285
|
| `bing_search` | Scrapes Bing Search results. | Search Bing for laptop reviews. |
|
|
280
|
-
| `chatgpt` |
|
|
281
|
-
| `perplexity` |
|
|
286
|
+
| `chatgpt` | Sends a single prompt to ChatGPT and returns its answer (no conversation history). | Ask ChatGPT to explain quantum computing in simple terms. |
|
|
287
|
+
| `perplexity` | Sends a single prompt to Perplexity and returns its answer (no conversation history). | Ask Perplexity what the latest trends in web development are. |
|
|
282
288
|
|
|
283
289
|
## Parameters
|
|
284
290
|
|
|
@@ -11,7 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
return t;
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.ScraperApiClient = void 0;
|
|
14
|
+
exports.ScraperApiClient = exports.API_KEY_REQUIRED_MESSAGE = void 0;
|
|
15
15
|
const sdk_ts_1 = require("@decodo/sdk-ts");
|
|
16
16
|
const auth_1 = require("../auth");
|
|
17
17
|
const hosts_1 = require("./hosts");
|
|
@@ -19,11 +19,16 @@ const utils_1 = require("../utils");
|
|
|
19
19
|
const logger_1 = require("../logger");
|
|
20
20
|
const retry_1 = require("./retry");
|
|
21
21
|
const REQUEST_TIMEOUT_MS = 180000;
|
|
22
|
+
exports.API_KEY_REQUIRED_MESSAGE = 'This tool needs a Decodo API key; Basic authentication tokens cannot use the Web Data API. ' +
|
|
23
|
+
'Copy an API key from your Web Data API subscription at https://dashboard.decodo.com/web-data/playground and reconnect with it.';
|
|
22
24
|
const API_PARAM_ALIASES = new Map([
|
|
23
25
|
['deviceType', 'device_type'],
|
|
24
26
|
['pageFrom', 'page_from'],
|
|
25
27
|
['deliveryZip', 'delivery_zip'],
|
|
26
28
|
]);
|
|
29
|
+
const scrapeFailure = ({ status, status_code: statusCode, message }) => message && statusCode
|
|
30
|
+
? new sdk_ts_1.DecodoError(message, statusCode, status)
|
|
31
|
+
: new Error('Scraper API returned no results.');
|
|
27
32
|
class ScraperApiClient {
|
|
28
33
|
constructor({ maxRetries = retry_1.MAX_RETRIES, delayMs = retry_1.BASE_RETRY_DELAY_MS, onAuthenticationError, hosts = (0, hosts_1.scrapingApiHostsFromEnv)(), integrationHeader = 'mcp', } = {}) {
|
|
29
34
|
this.transformScrapingParams = ({ scrapingParams, }) => {
|
|
@@ -39,6 +44,9 @@ class ScraperApiClient {
|
|
|
39
44
|
return transformed;
|
|
40
45
|
};
|
|
41
46
|
this.transformResponse = ({ res }) => {
|
|
47
|
+
if (!Array.isArray(res.results)) {
|
|
48
|
+
throw scrapeFailure(res);
|
|
49
|
+
}
|
|
42
50
|
const [result] = res.results;
|
|
43
51
|
if (!result) {
|
|
44
52
|
throw new Error('Scraper API returned no results.');
|
|
@@ -92,53 +100,50 @@ class ScraperApiClient {
|
|
|
92
100
|
this.sdkTransport = (auth) => auth.type === auth_1.AUTH_TYPE.API_KEY
|
|
93
101
|
? { apiKey: auth.value, baseUrl: this.hosts.dataApi }
|
|
94
102
|
: { token: auth.value, baseUrl: this.hosts.scraperApi };
|
|
95
|
-
this.
|
|
96
|
-
var _a, _b
|
|
103
|
+
this.request = async ({ auth, target, extra, maxRetries = this.maxRetries, call, upstreamStatus = () => null, }) => {
|
|
104
|
+
var _a, _b;
|
|
97
105
|
const notifier = new utils_1.ProgressNotifier(extra);
|
|
98
106
|
const startMs = Date.now();
|
|
99
107
|
try {
|
|
100
108
|
await notifier.notify('Submitting request to Decodo API...', 0, 1);
|
|
101
109
|
notifier.startWaitingNotifications(retry_1.WAITING_INITIAL_DELAY_MS, retry_1.WAITING_INTERVAL_MS);
|
|
102
|
-
const params = this.transformScrapingParams({ scrapingParams });
|
|
103
|
-
const { target } = params;
|
|
104
110
|
const { webScrapingApi } = new sdk_ts_1.DecodoClient({
|
|
105
111
|
webScrapingApi: Object.assign(Object.assign({}, this.sdkTransport(auth)), { integrationHeader: this.integrationHeader }),
|
|
106
112
|
timeoutMs: REQUEST_TIMEOUT_MS,
|
|
107
113
|
});
|
|
108
114
|
let lastError;
|
|
109
|
-
for (let attempt = 0; attempt <=
|
|
115
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
110
116
|
try {
|
|
111
|
-
const res = await webScrapingApi
|
|
117
|
+
const res = await call(webScrapingApi);
|
|
112
118
|
notifier.stopWaitingNotifications();
|
|
113
119
|
await notifier.notify('Processing response...', 0.9, 1);
|
|
114
|
-
const result = this.transformResponse({ res });
|
|
115
120
|
(0, logger_1.log)('info', 'tool_call', {
|
|
116
121
|
outcome: 'success',
|
|
117
122
|
target,
|
|
118
123
|
auth_type: auth.type,
|
|
119
|
-
upstream_status: (
|
|
124
|
+
upstream_status: upstreamStatus(res),
|
|
120
125
|
latency_ms: Date.now() - startMs,
|
|
121
126
|
attempt,
|
|
122
127
|
});
|
|
123
|
-
return
|
|
128
|
+
return res;
|
|
124
129
|
}
|
|
125
130
|
catch (error) {
|
|
126
131
|
lastError = error;
|
|
127
|
-
if (attempt <
|
|
132
|
+
if (attempt < maxRetries && (0, retry_1.isRetryable)(error)) {
|
|
128
133
|
const delayMs = (0, retry_1.getRetryDelay)({ attempt, baseDelayMs: this.delayMs });
|
|
129
134
|
const reason = error instanceof sdk_ts_1.DecodoError
|
|
130
135
|
? `status ${error.statusCode}`
|
|
131
|
-
: `network error ${(
|
|
136
|
+
: `network error ${(_a = (0, retry_1.getNetworkErrorCode)(error)) !== null && _a !== void 0 ? _a : 'unknown'}`;
|
|
132
137
|
(0, logger_1.log)('warn', 'tool_call_retry', {
|
|
133
138
|
target,
|
|
134
139
|
attempt: attempt + 1,
|
|
135
|
-
max_retries:
|
|
140
|
+
max_retries: maxRetries,
|
|
136
141
|
reason,
|
|
137
|
-
error_code: (
|
|
142
|
+
error_code: (_b = (0, retry_1.getNetworkErrorCode)(error)) !== null && _b !== void 0 ? _b : null,
|
|
138
143
|
upstream_status: error instanceof sdk_ts_1.DecodoError ? error.statusCode : null,
|
|
139
144
|
delay_ms: Math.round(delayMs),
|
|
140
145
|
});
|
|
141
|
-
await notifier.notify(`Retrying (${attempt + 1}/${
|
|
146
|
+
await notifier.notify(`Retrying (${attempt + 1}/${maxRetries})...`, 0.1, 1);
|
|
142
147
|
await (0, retry_1.sleep)(delayMs);
|
|
143
148
|
continue;
|
|
144
149
|
}
|
|
@@ -151,6 +156,49 @@ class ScraperApiClient {
|
|
|
151
156
|
notifier.stopWaitingNotifications();
|
|
152
157
|
}
|
|
153
158
|
};
|
|
159
|
+
this.scrape = async ({ auth, scrapingParams, extra, }) => {
|
|
160
|
+
const params = this.transformScrapingParams({ scrapingParams });
|
|
161
|
+
const { result } = await this.request({
|
|
162
|
+
auth,
|
|
163
|
+
target: params.target,
|
|
164
|
+
extra,
|
|
165
|
+
call: async (api) => {
|
|
166
|
+
const res = await api.scrape(params);
|
|
167
|
+
return { res, result: this.transformResponse({ res }) };
|
|
168
|
+
},
|
|
169
|
+
upstreamStatus: ({ res }) => { var _a, _b; return (_b = (_a = res.results[0]) === null || _a === void 0 ? void 0 : _a.status_code) !== null && _b !== void 0 ? _b : null; },
|
|
170
|
+
});
|
|
171
|
+
return result;
|
|
172
|
+
};
|
|
173
|
+
this.dataApiRequest = (args) => {
|
|
174
|
+
if (args.auth.type !== auth_1.AUTH_TYPE.API_KEY) {
|
|
175
|
+
return Promise.reject(new Error(exports.API_KEY_REQUIRED_MESSAGE));
|
|
176
|
+
}
|
|
177
|
+
return this.request(args);
|
|
178
|
+
};
|
|
179
|
+
this.search = ({ auth, params, extra, }) => this.dataApiRequest({ auth, target: 'search', extra, call: api => api.search(params) });
|
|
180
|
+
this.map = ({ auth, params, extra, }) => this.dataApiRequest({
|
|
181
|
+
auth,
|
|
182
|
+
target: 'map',
|
|
183
|
+
extra,
|
|
184
|
+
call: api => api.map(params),
|
|
185
|
+
upstreamStatus: ({ results }) => { var _a, _b; return (_b = (_a = results[0]) === null || _a === void 0 ? void 0 : _a.status_code) !== null && _b !== void 0 ? _b : null; },
|
|
186
|
+
});
|
|
187
|
+
this.startCrawl = ({ auth, params, extra, }) => this.dataApiRequest({
|
|
188
|
+
auth,
|
|
189
|
+
target: 'crawl',
|
|
190
|
+
extra,
|
|
191
|
+
maxRetries: 0,
|
|
192
|
+
call: api => api.startCrawl(params),
|
|
193
|
+
});
|
|
194
|
+
this.getCrawlStatus = ({ auth, crawlId, extra, }) => this.dataApiRequest({ auth, target: 'crawl', extra, call: api => api.getCrawlStatus(crawlId) });
|
|
195
|
+
this.listCrawlPages = ({ auth, crawlId, cursor, extra, }) => this.dataApiRequest({
|
|
196
|
+
auth,
|
|
197
|
+
target: 'crawl',
|
|
198
|
+
extra,
|
|
199
|
+
call: api => api.listCrawlPages(crawlId, { cursor }),
|
|
200
|
+
});
|
|
201
|
+
this.cancelCrawl = ({ auth, crawlId, extra, }) => this.dataApiRequest({ auth, target: 'crawl', extra, call: api => api.cancelCrawl(crawlId) });
|
|
154
202
|
this.maxRetries = maxRetries;
|
|
155
203
|
this.delayMs = delayMs;
|
|
156
204
|
this.onAuthenticationError = onAuthenticationError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scraper-api-client.js","sourceRoot":"","sources":["../../src/clients/scraper-api-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2CAMwB;
|
|
1
|
+
{"version":3,"file":"scraper-api-client.js","sourceRoot":"","sources":["../../src/clients/scraper-api-client.ts"],"names":[],"mappings":"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"}
|
package/build/server/app.js
CHANGED
|
@@ -16,7 +16,7 @@ const sapi_http_server_1 = require("./sapi-http-server");
|
|
|
16
16
|
const wwwAuthenticate = (resourceMetadataUrl, error) => error
|
|
17
17
|
? `Bearer error="${error}", resource_metadata="${resourceMetadataUrl}"`
|
|
18
18
|
: `Bearer resource_metadata="${resourceMetadataUrl}"`;
|
|
19
|
-
const createApp = ({ oauth: oauthConfig, trustProxy = false, revokedCredentials = new revoked_credentials_1.RevokedCredentials(), fetch, }) => {
|
|
19
|
+
const createApp = ({ oauth: oauthConfig, trustProxy = false, revokedCredentials = new revoked_credentials_1.RevokedCredentials(), hiddenTools = new Set(), fetch, }) => {
|
|
20
20
|
const app = (0, express_1.default)();
|
|
21
21
|
const oauth = (0, oauth_1.createOAuth)(oauthConfig, {
|
|
22
22
|
fetch,
|
|
@@ -55,6 +55,7 @@ const createApp = ({ oauth: oauthConfig, trustProxy = false, revokedCredentials
|
|
|
55
55
|
const toolsets = (0, utils_1.resolveToolsets)(req.query.toolsets);
|
|
56
56
|
const server = new sapi_http_server_1.ScraperAPIHttpServer({
|
|
57
57
|
toolsets,
|
|
58
|
+
hiddenTools,
|
|
58
59
|
auth: credential,
|
|
59
60
|
onAuthenticationError: rejected => revokedCredentials.add(rejected),
|
|
60
61
|
});
|
package/build/server/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,sDAA8B;AAC9B,0FAAmG;AACnG,kCAAwE;AACxE,oCAAuC;AAEvC,oCAA2C;AAC3C,iCAAqC;AACrC,+DAA2D;AAC3D,yDAA0D;AAK1D,MAAM,eAAe,GAAG,CAAC,mBAA2B,EAAE,KAAc,EAAU,EAAE,CAC9E,KAAK;IACH,CAAC,CAAC,iBAAiB,KAAK,yBAAyB,mBAAmB,GAAG;IACvE,CAAC,CAAC,6BAA6B,mBAAmB,GAAG,CAAC;AAEnD,MAAM,SAAS,GAAG,CAAC,EACxB,KAAK,EAAE,WAAW,EAClB,UAAU,GAAG,KAAK,EAClB,kBAAkB,GAAG,IAAI,wCAAkB,EAAE,EAC7C,KAAK,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hiddenToolsFromEnv = exports.DIRECTORY_HIDDEN_TOOLS = void 0;
|
|
4
|
+
exports.DIRECTORY_HIDDEN_TOOLS = [
|
|
5
|
+
'google_lens',
|
|
6
|
+
'bing_search',
|
|
7
|
+
'tiktok_post',
|
|
8
|
+
'tiktok_shop_url',
|
|
9
|
+
'youtube_search',
|
|
10
|
+
'google_ads',
|
|
11
|
+
'reddit_post',
|
|
12
|
+
'reddit_subreddit',
|
|
13
|
+
'reddit_user',
|
|
14
|
+
'target_product',
|
|
15
|
+
'chatgpt',
|
|
16
|
+
'perplexity',
|
|
17
|
+
];
|
|
18
|
+
const hiddenToolsFromEnv = (value) => {
|
|
19
|
+
if (value === undefined) {
|
|
20
|
+
return new Set(exports.DIRECTORY_HIDDEN_TOOLS);
|
|
21
|
+
}
|
|
22
|
+
return new Set(value
|
|
23
|
+
.split(',')
|
|
24
|
+
.map(name => name.trim())
|
|
25
|
+
.filter(Boolean));
|
|
26
|
+
};
|
|
27
|
+
exports.hiddenToolsFromEnv = hiddenToolsFromEnv;
|
|
28
|
+
//# sourceMappingURL=hidden-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hidden-tools.js","sourceRoot":"","sources":["../../src/server/hidden-tools.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAsB;IACvD,aAAa;IACb,aAAa;IACb,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,gBAAgB;IAChB,SAAS;IACT,YAAY;CACb,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,KAAyB,EAAuB,EAAE;IACnF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,GAAG,CAAC,8BAAsB,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,IAAI,GAAG,CACZ,KAAK;SACF,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACxB,MAAM,CAAC,OAAO,CAAC,CACnB,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,kBAAkB,sBAW7B"}
|
|
@@ -6,33 +6,36 @@ const scraper_api_client_1 = require("../clients/scraper-api-client");
|
|
|
6
6
|
const version_1 = require("../version");
|
|
7
7
|
const tools_1 = require("../tools");
|
|
8
8
|
class ScraperAPIBaseServer {
|
|
9
|
-
constructor({ auth, toolsets = [], onAuthenticationError, integrationHeader, }) {
|
|
9
|
+
constructor({ auth, toolsets = [], hiddenTools = new Set(), onAuthenticationError, integrationHeader, }) {
|
|
10
10
|
this.server = new mcp_js_1.McpServer({
|
|
11
11
|
name: 'decodo',
|
|
12
12
|
version: version_1.PACKAGE_VERSION,
|
|
13
13
|
});
|
|
14
14
|
this.sapiClient = new scraper_api_client_1.ScraperApiClient({ onAuthenticationError, integrationHeader });
|
|
15
15
|
this.auth = auth;
|
|
16
|
+
this.disableOnRegister(hiddenTools);
|
|
16
17
|
this.registerTools({ toolsets });
|
|
17
18
|
this.registerResources();
|
|
18
19
|
}
|
|
19
20
|
connect(transport) {
|
|
20
21
|
this.server.connect(transport);
|
|
21
22
|
}
|
|
22
|
-
|
|
23
|
-
if (
|
|
24
|
-
this.registerAllTools();
|
|
23
|
+
disableOnRegister(hiddenTools) {
|
|
24
|
+
if (hiddenTools.size === 0) {
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
const registerTool = this.server.registerTool.bind(this.server);
|
|
28
|
+
this.server.registerTool = ((name, ...config) => {
|
|
29
|
+
const tool = registerTool(name, ...config);
|
|
30
|
+
if (hiddenTools.has(name)) {
|
|
31
|
+
tool.disable();
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
+
return tool;
|
|
34
|
+
});
|
|
33
35
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
registerTools({ toolsets }) {
|
|
37
|
+
const tools = ScraperAPIBaseServer.allTools.filter(tool => toolsets.length === 0 || toolsets.includes(tool.toolset));
|
|
38
|
+
for (const tool of tools) {
|
|
36
39
|
tool.register({ server: this.server, sapiClient: this.sapiClient, auth: this.auth });
|
|
37
40
|
}
|
|
38
41
|
}
|
|
@@ -44,6 +47,12 @@ exports.ScraperAPIBaseServer = ScraperAPIBaseServer;
|
|
|
44
47
|
ScraperAPIBaseServer.allTools = [
|
|
45
48
|
new tools_1.ScrapeAsMarkdownTool(),
|
|
46
49
|
new tools_1.ScreenshotTool(),
|
|
50
|
+
new tools_1.MapTool(),
|
|
51
|
+
new tools_1.CrawlStartTool(),
|
|
52
|
+
new tools_1.CrawlStatusTool(),
|
|
53
|
+
new tools_1.CrawlResultsTool(),
|
|
54
|
+
new tools_1.CrawlCancelTool(),
|
|
55
|
+
new tools_1.SearchTool(),
|
|
47
56
|
new tools_1.GoogleSearchTool(),
|
|
48
57
|
new tools_1.GoogleAdsTool(),
|
|
49
58
|
new tools_1.GoogleLensTool(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sapi-base-server.js","sourceRoot":"","sources":["../../src/server/sapi-base-server.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;
|
|
1
|
+
{"version":3,"file":"sapi-base-server.js","sourceRoot":"","sources":["../../src/server/sapi-base-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ScraperAPIHttpServer = void 0;
|
|
4
4
|
const sapi_base_server_1 = require("./sapi-base-server");
|
|
5
5
|
class ScraperAPIHttpServer extends sapi_base_server_1.ScraperAPIBaseServer {
|
|
6
|
-
constructor({ toolsets = [], auth, onAuthenticationError, }) {
|
|
7
|
-
super({
|
|
6
|
+
constructor({ toolsets = [], hiddenTools, auth, onAuthenticationError, }) {
|
|
7
|
+
super({
|
|
8
|
+
auth,
|
|
9
|
+
toolsets,
|
|
10
|
+
hiddenTools,
|
|
11
|
+
onAuthenticationError,
|
|
12
|
+
integrationHeader: 'mcp-hosted',
|
|
13
|
+
});
|
|
8
14
|
}
|
|
9
15
|
}
|
|
10
16
|
exports.ScraperAPIHttpServer = ScraperAPIHttpServer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sapi-http-server.js","sourceRoot":"","sources":["../../src/server/sapi-http-server.ts"],"names":[],"mappings":";;;AAIA,yDAA0D;AAG1D,MAAa,oBAAqB,SAAQ,uCAAoB;IAK5D,YAAY,EACV,QAAQ,GAAG,EAAE,EACb,IAAI,EACJ,qBAAqB,
|
|
1
|
+
{"version":3,"file":"sapi-http-server.js","sourceRoot":"","sources":["../../src/server/sapi-http-server.ts"],"names":[],"mappings":";;;AAIA,yDAA0D;AAG1D,MAAa,oBAAqB,SAAQ,uCAAoB;IAK5D,YAAY,EACV,QAAQ,GAAG,EAAE,EACb,WAAW,EACX,IAAI,EACJ,qBAAqB,GAMtB;QACC,KAAK,CAAC;YACJ,IAAI;YACJ,QAAQ;YACR,WAAW;YACX,qBAAqB;YACrB,iBAAiB,EAAE,YAAY;SAChC,CAAC,CAAC;IACL,CAAC;CACF;AAxBD,oDAwBC"}
|
package/build/server.js
CHANGED
|
@@ -3,10 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
require("dotenv/config");
|
|
4
4
|
const oauth_1 = require("./oauth");
|
|
5
5
|
const app_1 = require("./server/app");
|
|
6
|
+
const hidden_tools_1 = require("./server/hidden-tools");
|
|
6
7
|
const trust_proxy_1 = require("./server/trust-proxy");
|
|
7
8
|
const port = parseInt(process.env.PORT || '3000');
|
|
8
9
|
const oauth = (0, oauth_1.oauthConfigFromEnv)(process.env, port);
|
|
9
|
-
(0, app_1.createApp)({
|
|
10
|
+
(0, app_1.createApp)({
|
|
11
|
+
oauth,
|
|
12
|
+
trustProxy: (0, trust_proxy_1.trustProxyFromEnv)(process.env.TRUST_PROXY),
|
|
13
|
+
hiddenTools: (0, hidden_tools_1.hiddenToolsFromEnv)(process.env.HIDDEN_TOOLS),
|
|
14
|
+
})
|
|
10
15
|
.listen(port, () => {
|
|
11
16
|
console.log(`Demo MCP Server running on http://localhost:${port}/mcp (issuer ${oauth.publicUrl.href})`);
|
|
12
17
|
})
|
package/build/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AAAA,yBAAuB;AACvB,mCAA6C;AAC7C,sCAAyC;AACzC,sDAAyD;AAEzD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;AAElD,MAAM,KAAK,GAAG,IAAA,0BAAkB,EAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAEpD,IAAA,eAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AAAA,yBAAuB;AACvB,mCAA6C;AAC7C,sCAAyC;AACzC,wDAA2D;AAC3D,sDAAyD;AAEzD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;AAElD,MAAM,KAAK,GAAG,IAAA,0BAAkB,EAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAEpD,IAAA,eAAS,EAAC;IACR,KAAK;IACL,UAAU,EAAE,IAAA,+BAAiB,EAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACtD,WAAW,EAAE,IAAA,iCAAkB,EAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;CAC1D,CAAC;KACC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IACjB,OAAO,CAAC,GAAG,CACT,+CAA+C,IAAI,gBAAgB,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,CAC3F,CAAC;AACJ,CAAC,CAAC;KACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -26,7 +26,9 @@ class AmazonBestsellersTool extends tool_1.Tool {
|
|
|
26
26
|
this.register = ({ server, sapiClient, auth }) => {
|
|
27
27
|
server.registerTool('amazon_bestsellers', {
|
|
28
28
|
title: 'Amazon Bestsellers',
|
|
29
|
-
description: '
|
|
29
|
+
description: 'Fetch the Amazon Best Sellers list for a category through the Decodo Web Scraping API (`amazon_bestsellers` target) and return it parsed as JSON. ' +
|
|
30
|
+
'Use it to see the top-selling products in a category. ' +
|
|
31
|
+
'Docs: https://help.decodo.com/docs/web-scraping-api-amazon-bestsellers',
|
|
30
32
|
inputSchema: {
|
|
31
33
|
query: zod_1.default.string().describe('Amazon category (e.g., "mobile-apps", "electronics")'),
|
|
32
34
|
domain: zodDomain,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amazon-bestsellers-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-bestsellers/amazon-bestsellers-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,kCAAqD;AAGrD,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,KAAK,EAAE,oBAAoB;gBAC3B,WAAW,
|
|
1
|
+
{"version":3,"file":"amazon-bestsellers-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-bestsellers/amazon-bestsellers-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,kCAAqD;AAGrD,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,KAAK,EAAE,oBAAoB;gBAC3B,WAAW,EACT,oJAAoJ;oBACpJ,wDAAwD;oBACxD,wEAAwE;gBAC1E,WAAW,EAAE;oBACX,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;oBAClF,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,WAAW;iBACtB;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,oBAAoB;oBAC3B,YAAY,EAAE,IAAI;oBAClB,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,KAAoB,EAAE,EAAE;gBAChE,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,eAAM,CAAC,iBAAiB,EAChC,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE1F,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;AAhDD,sDAgDC"}
|
|
@@ -35,7 +35,9 @@ class AmazonPricingTool extends tool_1.Tool {
|
|
|
35
35
|
this.register = ({ server, sapiClient, auth }) => {
|
|
36
36
|
server.registerTool('amazon_pricing', {
|
|
37
37
|
title: 'Amazon Pricing',
|
|
38
|
-
description: '
|
|
38
|
+
description: 'Fetch the offers for an Amazon product by ASIN through the Decodo Web Scraping API (`amazon_pricing` target) and return them parsed as JSON. ' +
|
|
39
|
+
'Use it to compare what different sellers charge for the same product. ' +
|
|
40
|
+
'Docs: https://help.decodo.com/docs/web-scraping-api-amazon-pricing',
|
|
39
41
|
inputSchema: {
|
|
40
42
|
query: zod_1.default.string().describe('Amazon product ASIN (e.g., "B09H74FXNW")'),
|
|
41
43
|
jsRender: zod_types_1.zodJsRender,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amazon-pricing-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-pricing/amazon-pricing-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,uCAAuE;AACvE,mDAAkD;AAClD,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,KAAK,EAAE,gBAAgB;gBACvB,WAAW,
|
|
1
|
+
{"version":3,"file":"amazon-pricing-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-pricing/amazon-pricing-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,uCAAuE;AACvE,mDAAkD;AAClD,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,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EACT,+IAA+I;oBAC/I,wEAAwE;oBACxE,oEAAoE;gBACtE,WAAW,EAAE;oBACX,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;oBACtE,QAAQ,EAAE,uBAAW;oBACrB,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,WAAW;oBACrB,GAAG,EAAE,MAAM;iBACZ;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,gBAAgB;oBACvB,YAAY,EAAE,IAAI;oBAClB,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,KAAoB,EAAE,EAAE;gBAChE,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,eAAM,CAAC,aAAa,EAC5B,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE1F,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;;AA1DD,8CA0DC;AAvDgB,6CAA2B,GAAG,CAAC,aAAa,CAAC,AAAlB,CAAmB"}
|
|
@@ -31,7 +31,9 @@ class AmazonProductTool extends tool_1.Tool {
|
|
|
31
31
|
this.register = ({ server, sapiClient, auth }) => {
|
|
32
32
|
server.registerTool('amazon_product', {
|
|
33
33
|
title: 'Amazon Product',
|
|
34
|
-
description: '
|
|
34
|
+
description: 'Fetch an Amazon product page by ASIN through the Decodo Web Scraping API (`amazon_product` target) and return its details parsed as JSON. ' +
|
|
35
|
+
"Use it when you know the product's ASIN and need its title, price, rating or description. " +
|
|
36
|
+
'Docs: https://help.decodo.com/docs/web-scraping-api-amazon-product',
|
|
35
37
|
inputSchema: {
|
|
36
38
|
query: zod_1.default.string().describe('Amazon product ASIN (e.g., "B09H74FXNW")'),
|
|
37
39
|
jsRender: zod_types_1.zodJsRender,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amazon-product-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-product/amazon-product-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,uCAAuE;AACvE,mDAAkD;AAClD,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,KAAK,EAAE,gBAAgB;gBACvB,WAAW,
|
|
1
|
+
{"version":3,"file":"amazon-product-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-product/amazon-product-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,uCAAuE;AACvE,mDAAkD;AAClD,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,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EACT,4IAA4I;oBAC5I,4FAA4F;oBAC5F,oEAAoE;gBACtE,WAAW,EAAE;oBACX,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;oBACtE,QAAQ,EAAE,uBAAW;oBACrB,MAAM,EAAE,SAAS;oBACjB,GAAG,EAAE,MAAM;iBACZ;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,gBAAgB;oBACvB,YAAY,EAAE,IAAI;oBAClB,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,KAAoB,EAAE,EAAE;gBAChE,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,eAAM,CAAC,aAAa,EAC5B,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE1F,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;;AAzDD,8CAyDC;AAtDgB,6CAA2B,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,AAAnC,CAAoC"}
|
|
@@ -31,7 +31,9 @@ class AmazonSearchTool extends tool_1.Tool {
|
|
|
31
31
|
this.register = ({ server, sapiClient, auth }) => {
|
|
32
32
|
server.registerTool('amazon_search', {
|
|
33
33
|
title: 'Amazon Search',
|
|
34
|
-
description: '
|
|
34
|
+
description: 'Search Amazon for a keyword through the Decodo Web Scraping API (`amazon_search` target) and return the product listings parsed as JSON. ' +
|
|
35
|
+
'Use it to find products and compare listings on a chosen Amazon domain. ' +
|
|
36
|
+
'Docs: https://help.decodo.com/docs/web-scraping-api-amazon-search',
|
|
35
37
|
inputSchema: {
|
|
36
38
|
query: zod_1.default.string().describe('Search query for Amazon products (e.g., "wireless keyboard")'),
|
|
37
39
|
geo: zod_types_1.zodGeo,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amazon-search-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-search/amazon-search-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,uCAAuE;AACvE,mDAA0D;AAC1D,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,KAAK,EAAE,eAAe;gBACtB,WAAW,
|
|
1
|
+
{"version":3,"file":"amazon-search-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-search/amazon-search-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,uCAAuE;AACvE,mDAA0D;AAC1D,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,KAAK,EAAE,eAAe;gBACtB,WAAW,EACT,2IAA2I;oBAC3I,0EAA0E;oBAC1E,mEAAmE;gBACrE,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,QAAQ,EAAE,WAAW;iBACtB;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,eAAe;oBACtB,YAAY,EAAE,IAAI;oBAClB,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,KAAoB,EAAE,EAAE;gBAChE,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,eAAM,CAAC,YAAY,EAC3B,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE1F,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;;AA1DD,4CA0DC;AAvDgB,4CAA2B,GAAG,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,CAAC,AAAlD,CAAmD"}
|
|
@@ -27,7 +27,9 @@ class AmazonSellersTool extends tool_1.Tool {
|
|
|
27
27
|
this.register = ({ server, sapiClient, auth }) => {
|
|
28
28
|
server.registerTool('amazon_sellers', {
|
|
29
29
|
title: 'Amazon Sellers',
|
|
30
|
-
description: '
|
|
30
|
+
description: 'Fetch an Amazon seller profile by seller ID through the Decodo Web Scraping API (`amazon_sellers` target) and return it parsed as JSON. ' +
|
|
31
|
+
"Use it to check a seller's name, rating and feedback. " +
|
|
32
|
+
'Docs: https://help.decodo.com/docs/web-scraping-api-amazon-sellers',
|
|
31
33
|
inputSchema: {
|
|
32
34
|
query: zod_1.default.string().describe('Amazon seller ID (e.g., "A1R0Z7FJGTKESH")'),
|
|
33
35
|
jsRender: zod_types_1.zodJsRender,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amazon-sellers-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-sellers/amazon-sellers-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,mDAAkD;AAClD,kCAAqD;AAGrD,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,KAAK,EAAE,gBAAgB;gBACvB,WAAW,
|
|
1
|
+
{"version":3,"file":"amazon-sellers-tool.js","sourceRoot":"","sources":["../../../src/tools/amazon-sellers/amazon-sellers-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,mDAAkD;AAClD,kCAAqD;AAGrD,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,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EACT,0IAA0I;oBAC1I,wDAAwD;oBACxD,oEAAoE;gBACtE,WAAW,EAAE;oBACX,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;oBACvE,QAAQ,EAAE,uBAAW;oBACrB,MAAM,EAAE,SAAS;oBACjB,GAAG,EAAE,MAAM;iBACZ;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,gBAAgB;oBACvB,YAAY,EAAE,IAAI;oBAClB,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,KAAoB,EAAE,EAAE;gBAChE,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,eAAM,CAAC,aAAa,EAC5B,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE1F,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;AAjDD,8CAiDC"}
|
|
@@ -29,7 +29,9 @@ class BingSearchTool extends tool_1.Tool {
|
|
|
29
29
|
this.register = ({ server, sapiClient, auth }) => {
|
|
30
30
|
server.registerTool('bing_search', {
|
|
31
31
|
title: 'Bing Search',
|
|
32
|
-
description: '
|
|
32
|
+
description: 'Search Bing through the Decodo Web Scraping API (`bing_search` target) and return the parsed results page as JSON. ' +
|
|
33
|
+
'Use it when Bing results are needed specifically, or to compare them with Google. ' +
|
|
34
|
+
'Docs: https://help.decodo.com/docs/web-scraping-api-bing-search',
|
|
33
35
|
inputSchema: {
|
|
34
36
|
query: zod_1.default.string().describe('Search query for Bing (e.g., "laptop")'),
|
|
35
37
|
geo: zod_types_1.zodGeo,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bing-search-tool.js","sourceRoot":"","sources":["../../../src/tools/bing-search/bing-search-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,uCAAuE;AACvE,mDAAqE;AACrE,kCAAqD;AAErD,MAAM,aAAa,GAAG,aAAC;KACpB,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;KAC3B,QAAQ,CAAC,wCAAwC,CAAC;KAClD,QAAQ,EAAE,CAAC;AAEd,MAAM,SAAS,GAAG,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC,CAAC,QAAQ,EAAE,CAAC;AAE7F,MAAM,WAAW,GAAG,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAE1F,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,KAAK,EAAE,aAAa;gBACpB,WAAW,
|
|
1
|
+
{"version":3,"file":"bing-search-tool.js","sourceRoot":"","sources":["../../../src/tools/bing-search/bing-search-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,uCAAuE;AACvE,mDAAqE;AACrE,kCAAqD;AAErD,MAAM,aAAa,GAAG,aAAC;KACpB,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;KAC3B,QAAQ,CAAC,wCAAwC,CAAC;KAClD,QAAQ,EAAE,CAAC;AAEd,MAAM,SAAS,GAAG,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC,CAAC,QAAQ,EAAE,CAAC;AAE7F,MAAM,WAAW,GAAG,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAE1F,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,KAAK,EAAE,aAAa;gBACpB,WAAW,EACT,qHAAqH;oBACrH,oFAAoF;oBACpF,iEAAiE;gBACnE,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,aAAa;oBACzB,QAAQ,EAAE,WAAW;iBACtB;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,aAAa;oBACpB,YAAY,EAAE,IAAI;oBAClB,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,KAAoB,EAAE,EAAE;gBAChE,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,eAAM,CAAC,UAAU,EACzB,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE1F,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;;AA5DD,wCA4DC;AAzDgB,0CAA2B,GAAG,CAAC,KAAK,CAAC,AAAV,CAAW"}
|
|
@@ -19,7 +19,10 @@ class ChatGPTTool extends tool_1.Tool {
|
|
|
19
19
|
this.register = ({ server, sapiClient, auth }) => {
|
|
20
20
|
server.registerTool('chatgpt', {
|
|
21
21
|
title: 'ChatGPT',
|
|
22
|
-
description: '
|
|
22
|
+
description: 'Send one prompt to ChatGPT through the Decodo Web Scraping API (`chatgpt` target) and return its answer parsed as JSON. ' +
|
|
23
|
+
'Each call is a single prompt and answer, with no conversation history; set `search` to let ChatGPT use web search. ' +
|
|
24
|
+
'Use it to see how ChatGPT answers a question, for example to check how it describes a brand. ' +
|
|
25
|
+
'Docs: https://help.decodo.com/docs/web-scraping-api-chatgpt',
|
|
23
26
|
inputSchema: {
|
|
24
27
|
prompt: zod_1.default.string().describe('Prompt to send to ChatGPT'),
|
|
25
28
|
search: zod_1.default.boolean().describe("Activates ChatGPT's web search functionality").optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatgpt-tool.js","sourceRoot":"","sources":["../../../src/tools/chatgpt/chatgpt-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,mDAA6C;AAC7C,kCAAqD;AAGrD,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,KAAK,EAAE,SAAS;gBAChB,WAAW,
|
|
1
|
+
{"version":3,"file":"chatgpt-tool.js","sourceRoot":"","sources":["../../../src/tools/chatgpt/chatgpt-tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,2CAAwC;AAExC,+CAA0C;AAC1C,mDAA6C;AAC7C,kCAAqD;AAGrD,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,KAAK,EAAE,SAAS;gBAChB,WAAW,EACT,0HAA0H;oBAC1H,qHAAqH;oBACrH,+FAA+F;oBAC/F,6DAA6D;gBAC/D,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,KAAK,EAAE,SAAS;oBAChB,YAAY,EAAE,IAAI;oBAClB,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,IAAI;iBACpB;aACF,EACD,KAAK,EAAE,cAAiC,EAAE,KAAoB,EAAE,EAAE;gBAChE,MAAM,MAAM,GAAG,gCACV,cAAc,KACjB,MAAM,EAAE,eAAM,CAAC,OAAO,EACtB,KAAK,EAAE,IAAI,GACe,CAAC;gBAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE1F,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;AAnDD,kCAmDC"}
|