@keystrokehq/serpapi 0.0.9 → 0.0.16-integration-id-canonicalization.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/credential-sets/index.d.mts +2 -0
- package/dist/credential-sets/index.mjs +3 -0
- package/dist/index.d.mts +3 -3760
- package/dist/index.mjs +3 -2765
- package/dist/operations/index.d.mts +2 -0
- package/dist/operations/index.mjs +3 -0
- package/dist/schemas/index.d.mts +1 -0
- package/dist/schemas/index.mjs +1 -0
- package/dist/serpapi.credential-set-5iG6pd3Y.d.mts +14 -0
- package/dist/serpapi.credential-set-CuEBudaA.mjs +15 -0
- package/dist/youtube-video-transcript.operation-BoQHn90s.mjs +2763 -0
- package/dist/youtube-video-transcript.operation-IqJOT2iH.d.mts +1988 -0
- package/package.json +14 -6
- package/dist/_official/index.d.mts +0 -2
- package/dist/_official/index.mjs +0 -3
- package/dist/integration-9TPiVaR2.d.mts +0 -39
- package/dist/integration-CLoyNwR6.mjs +0 -107
package/dist/index.mjs
CHANGED
|
@@ -1,2766 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { z } from "
|
|
3
|
-
import { getAccount, getJson, getJsonBySearchId, getLocations } from "serpapi";
|
|
1
|
+
import { t as serpApiCredentialSet } from "./serpapi.credential-set-CuEBudaA.mjs";
|
|
2
|
+
import { $ as googlePatentsOperation, $t as appleProductOperation, A as googleVideosLightOperation, At as googleAutocompleteOperation, B as googleSearchOperation, Bt as duckduckgoMapsOperation, C as opentableReviewsOperation, Ct as googleHotelsOperation, D as homeDepotSearchOperation, Dt as googleFinanceMarketsOperation, E as serpApiLocationsOperation, Et as googleFlightsOperation, F as googleTrendsOperation, Ft as ebaySearchOperation, G as googleReverseImageOperation, Gt as bingSearchOperation, H as googleScholarCiteOperation, Ht as braveAiModeOperation, I as googleTravelExploreOperation, It as ebayProductOperation, J as googlePlayMoviesOperation, Jt as bingMapsOperation, K as googleRelatedQuestionsOperation, Kt as bingReverseImageOperation, L as googleShortVideosOperation, Lt as duckduckgoSearchAssistOperation, M as googleTrendsTrendingNowOperation, Mt as googleAiModeOperation, N as googleTrendsNewsOperation, Nt as googleAdsTransparencyOperation, O as homeDepotProductReviewsOperation, Ot as googleFinanceOperation, P as googleTrendsAutocompleteOperation, Pt as facebookProfileOperation, Q as googlePatentsDetailsOperation, Qt as appleReviewsOperation, R as googleShoppingLightOperation, Rt as duckduckgoSearchOperation, S as serpApiSearchArchiveOperation, St as googleHotelsAutocompleteOperation, T as naverAiOverviewOperation, Tt as googleFlightsAutocompleteOperation, U as googleScholarAuthorOperation, Ut as bingVideosOperation, V as googleScholarProfilesOperation, Vt as duckduckgoLightOperation, W as googleScholarOperation, Wt as bingShoppingOperation, X as googlePlayBooksOperation, Xt as bingCopilotOperation, Y as googlePlayGamesOperation, Yt as bingImagesOperation, Z as googlePlayOperation, Zt as baiduSearchOperation, _ as walmartProductOperation, _t as googleImagesRelatedOperation, a as yelpReviewsOperation, at as googleMapsPhotoMetaOperation, b as tripadvisorPlaceOperation, bt as googleHotelsReviewsOperation, c as yandexSearchOperation, ct as googleMapsAutocompleteOperation, d as yahooShoppingOperation, dt as googleLocalOperation, en as appleAppStoreOperation, et as googleNewsLightOperation, f as yahooSearchOperation, ft as googleLightSearchOperation, g as walmartProductReviewsOperation, gt as googleImmersiveProductOperation, h as walmartProductSellersOperation, ht as googleJobsOperation, i as yelpSearchOperation, it as googleMapsPhotosOperation, j as googleVideosOperation, jt as googleAiOverviewOperation, k as homeDepotProductOperation, kt as googleEventsOperation, l as yandexImagesOperation, lt as googleMapsOperation, m as walmartSearchOperation, mt as googleJobsListingOperation, n as youtubeVideoOperation, nn as amazonProductOperation, nt as googleMapsReviewsOperation, o as yelpPlaceOperation, ot as googleMapsDirectionsOperation, p as yahooImagesOperation, pt as googleLensOperation, q as googlePlayProductOperation, qt as bingNewsOperation, r as youtubeSearchOperation, rn as serpApiAccountOperation, rt as googleMapsPostsOperation, s as yandexVideosOperation, st as googleMapsContributorReviewsOperation, t as youtubeVideoTranscriptOperation, tn as amazonSearchOperation, tt as googleNewsOperation, u as yahooVideosOperation, ut as googleLocalServicesOperation, v as tripadvisorSearchOperation, vt as googleImagesLightOperation, w as naverSearchOperation, wt as googleForumsOperation, x as serpApiSearchIndexOperation, xt as googleHotelsPhotosOperation, y as tripadvisorReviewsOperation, yt as googleImagesOperation, z as googleShoppingOperation, zt as duckduckgoNewsOperation } from "./youtube-video-transcript.operation-BoQHn90s.mjs";
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
async function serpApiSearch(credentials, engine, params) {
|
|
7
|
-
return await getJson({
|
|
8
|
-
engine,
|
|
9
|
-
api_key: credentials.SERPAPI_API_KEY,
|
|
10
|
-
...params
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
async function serpApiGetAccount(credentials) {
|
|
14
|
-
return await getAccount({ api_key: credentials.SERPAPI_API_KEY });
|
|
15
|
-
}
|
|
16
|
-
async function serpApiGetLocations(params = {}) {
|
|
17
|
-
return await getLocations(params);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
//#endregion
|
|
21
|
-
//#region src/factory.ts
|
|
22
|
-
const serpApiOperation = createOfficialOperationFactory(serpApi);
|
|
23
|
-
|
|
24
|
-
//#endregion
|
|
25
|
-
//#region src/amazon/product.ts
|
|
26
|
-
const amazonProduct = serpApiOperation({
|
|
27
|
-
id: "serpapi.amazon-product",
|
|
28
|
-
name: "Amazon Product",
|
|
29
|
-
description: "Get Amazon product details via SerpApi",
|
|
30
|
-
input: z.object({
|
|
31
|
-
product_id: z.string(),
|
|
32
|
-
amazon_domain: z.string().optional(),
|
|
33
|
-
offers_page_token: z.string().optional()
|
|
34
|
-
}),
|
|
35
|
-
output: z.object({
|
|
36
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
37
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
38
|
-
product_results: z.record(z.string(), z.unknown()).optional(),
|
|
39
|
-
about_item: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
40
|
-
bought_together: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
41
|
-
compare_with_similar: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
42
|
-
product_description: z.string().optional(),
|
|
43
|
-
product_details: z.record(z.string(), z.unknown()).optional()
|
|
44
|
-
}).passthrough(),
|
|
45
|
-
run: async (input, credentials) => {
|
|
46
|
-
return await serpApiSearch(credentials, "amazon_product", input);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
const amazonProductTool = amazonProduct;
|
|
50
|
-
|
|
51
|
-
//#endregion
|
|
52
|
-
//#region src/amazon/search.ts
|
|
53
|
-
const amazonSearch = serpApiOperation({
|
|
54
|
-
id: "serpapi.amazon-search",
|
|
55
|
-
name: "Amazon Search",
|
|
56
|
-
description: "Search Amazon via SerpApi",
|
|
57
|
-
input: z.object({
|
|
58
|
-
k: z.string(),
|
|
59
|
-
amazon_domain: z.string().optional(),
|
|
60
|
-
department_id: z.string().optional(),
|
|
61
|
-
sort_by: z.string().optional(),
|
|
62
|
-
price_low: z.number().optional(),
|
|
63
|
-
price_high: z.number().optional(),
|
|
64
|
-
page: z.number().optional(),
|
|
65
|
-
star_rating: z.string().optional(),
|
|
66
|
-
delivery: z.string().optional(),
|
|
67
|
-
condition: z.string().optional(),
|
|
68
|
-
brand: z.string().optional(),
|
|
69
|
-
prime: z.boolean().optional()
|
|
70
|
-
}),
|
|
71
|
-
output: z.object({
|
|
72
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
73
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
74
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
75
|
-
featured_products: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
76
|
-
product_ads: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
77
|
-
filters: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
78
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
79
|
-
}).passthrough(),
|
|
80
|
-
run: async (input, credentials) => {
|
|
81
|
-
return await serpApiSearch(credentials, "amazon", input);
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
const amazonSearchTool = amazonSearch;
|
|
85
|
-
|
|
86
|
-
//#endregion
|
|
87
|
-
//#region src/apple/app-store.ts
|
|
88
|
-
const appleAppStore = serpApiOperation({
|
|
89
|
-
id: "serpapi.apple-app-store",
|
|
90
|
-
name: "Apple App Store Search",
|
|
91
|
-
description: "Search the Apple App Store via SerpApi",
|
|
92
|
-
input: z.object({
|
|
93
|
-
term: z.string(),
|
|
94
|
-
country: z.string().optional(),
|
|
95
|
-
lang: z.string().optional(),
|
|
96
|
-
num: z.number().optional(),
|
|
97
|
-
page: z.number().optional()
|
|
98
|
-
}),
|
|
99
|
-
output: z.object({
|
|
100
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
101
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
102
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
103
|
-
}).passthrough(),
|
|
104
|
-
run: async (input, credentials) => {
|
|
105
|
-
return await serpApiSearch(credentials, "apple_app_store", input);
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
const appleAppStoreTool = appleAppStore;
|
|
109
|
-
|
|
110
|
-
//#endregion
|
|
111
|
-
//#region src/apple/product.ts
|
|
112
|
-
const appleProduct = serpApiOperation({
|
|
113
|
-
id: "serpapi.apple-product",
|
|
114
|
-
name: "Apple Product",
|
|
115
|
-
description: "Get Apple product details via SerpApi",
|
|
116
|
-
input: z.object({
|
|
117
|
-
product_id: z.string(),
|
|
118
|
-
country: z.string().optional(),
|
|
119
|
-
lang: z.string().optional()
|
|
120
|
-
}),
|
|
121
|
-
output: z.object({
|
|
122
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
123
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
124
|
-
product: z.record(z.string(), z.unknown()).optional()
|
|
125
|
-
}).passthrough(),
|
|
126
|
-
run: async (input, credentials) => {
|
|
127
|
-
return await serpApiSearch(credentials, "apple_product", input);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
const appleProductTool = appleProduct;
|
|
131
|
-
|
|
132
|
-
//#endregion
|
|
133
|
-
//#region src/apple/reviews.ts
|
|
134
|
-
const appleReviews = serpApiOperation({
|
|
135
|
-
id: "serpapi.apple-reviews",
|
|
136
|
-
name: "Apple Reviews",
|
|
137
|
-
description: "Get Apple product reviews via SerpApi",
|
|
138
|
-
input: z.object({
|
|
139
|
-
product_id: z.string(),
|
|
140
|
-
country: z.string().optional(),
|
|
141
|
-
lang: z.string().optional(),
|
|
142
|
-
sort: z.string().optional(),
|
|
143
|
-
page: z.number().optional()
|
|
144
|
-
}),
|
|
145
|
-
output: z.object({
|
|
146
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
147
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
148
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
149
|
-
}).passthrough(),
|
|
150
|
-
run: async (input, credentials) => {
|
|
151
|
-
return await serpApiSearch(credentials, "apple_reviews", input);
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
const appleReviewsTool = appleReviews;
|
|
155
|
-
|
|
156
|
-
//#endregion
|
|
157
|
-
//#region src/baidu/search.ts
|
|
158
|
-
const baiduSearch = serpApiOperation({
|
|
159
|
-
id: "serpapi.baidu-search",
|
|
160
|
-
name: "Baidu Search",
|
|
161
|
-
description: "Search Baidu via SerpApi",
|
|
162
|
-
input: z.object({
|
|
163
|
-
q: z.string(),
|
|
164
|
-
ct: z.string().optional(),
|
|
165
|
-
rn: z.number().optional(),
|
|
166
|
-
pn: z.number().optional()
|
|
167
|
-
}),
|
|
168
|
-
output: z.object({
|
|
169
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
170
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
171
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
172
|
-
ads_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
173
|
-
answer_box: z.record(z.string(), z.unknown()).optional(),
|
|
174
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
175
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
176
|
-
}).passthrough(),
|
|
177
|
-
run: async (input, credentials) => {
|
|
178
|
-
return await serpApiSearch(credentials, "baidu", input);
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
const baiduSearchTool = baiduSearch;
|
|
182
|
-
|
|
183
|
-
//#endregion
|
|
184
|
-
//#region src/bing/copilot.ts
|
|
185
|
-
const bingCopilot = serpApiOperation({
|
|
186
|
-
id: "serpapi.bing-copilot",
|
|
187
|
-
name: "Bing Copilot",
|
|
188
|
-
description: "Search Bing Copilot via SerpApi",
|
|
189
|
-
input: z.object({
|
|
190
|
-
q: z.string(),
|
|
191
|
-
cc: z.string().optional(),
|
|
192
|
-
mkt: z.string().optional(),
|
|
193
|
-
device: z.string().optional()
|
|
194
|
-
}),
|
|
195
|
-
output: z.object({
|
|
196
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
197
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
198
|
-
copilot_response: z.record(z.string(), z.unknown()).optional()
|
|
199
|
-
}).passthrough(),
|
|
200
|
-
run: async (input, credentials) => {
|
|
201
|
-
return await serpApiSearch(credentials, "bing_copilot", input);
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
const bingCopilotTool = bingCopilot;
|
|
205
|
-
|
|
206
|
-
//#endregion
|
|
207
|
-
//#region src/bing/images.ts
|
|
208
|
-
const bingImages = serpApiOperation({
|
|
209
|
-
id: "serpapi.bing-images",
|
|
210
|
-
name: "Bing Images Search",
|
|
211
|
-
description: "Search Bing Images via SerpApi",
|
|
212
|
-
input: z.object({
|
|
213
|
-
q: z.string(),
|
|
214
|
-
cc: z.string().optional(),
|
|
215
|
-
mkt: z.string().optional(),
|
|
216
|
-
first: z.number().optional(),
|
|
217
|
-
count: z.number().optional(),
|
|
218
|
-
safeSearch: z.string().optional(),
|
|
219
|
-
device: z.string().optional()
|
|
220
|
-
}),
|
|
221
|
-
output: z.object({
|
|
222
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
223
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
224
|
-
images_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
225
|
-
}).passthrough(),
|
|
226
|
-
run: async (input, credentials) => {
|
|
227
|
-
return await serpApiSearch(credentials, "bing_images", input);
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
|
-
const bingImagesTool = bingImages;
|
|
231
|
-
|
|
232
|
-
//#endregion
|
|
233
|
-
//#region src/bing/maps.ts
|
|
234
|
-
const bingMaps = serpApiOperation({
|
|
235
|
-
id: "serpapi.bing-maps",
|
|
236
|
-
name: "Bing Maps Search",
|
|
237
|
-
description: "Search Bing Maps via SerpApi",
|
|
238
|
-
input: z.object({
|
|
239
|
-
q: z.string(),
|
|
240
|
-
cc: z.string().optional(),
|
|
241
|
-
mkt: z.string().optional(),
|
|
242
|
-
device: z.string().optional()
|
|
243
|
-
}),
|
|
244
|
-
output: z.object({
|
|
245
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
246
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
247
|
-
local_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
248
|
-
}).passthrough(),
|
|
249
|
-
run: async (input, credentials) => {
|
|
250
|
-
return await serpApiSearch(credentials, "bing_maps", input);
|
|
251
|
-
}
|
|
252
|
-
});
|
|
253
|
-
const bingMapsTool = bingMaps;
|
|
254
|
-
|
|
255
|
-
//#endregion
|
|
256
|
-
//#region src/bing/news.ts
|
|
257
|
-
const bingNews = serpApiOperation({
|
|
258
|
-
id: "serpapi.bing-news",
|
|
259
|
-
name: "Bing News Search",
|
|
260
|
-
description: "Search Bing News via SerpApi",
|
|
261
|
-
input: z.object({
|
|
262
|
-
q: z.string(),
|
|
263
|
-
cc: z.string().optional(),
|
|
264
|
-
mkt: z.string().optional(),
|
|
265
|
-
first: z.number().optional(),
|
|
266
|
-
count: z.number().optional(),
|
|
267
|
-
freshness: z.string().optional(),
|
|
268
|
-
device: z.string().optional()
|
|
269
|
-
}),
|
|
270
|
-
output: z.object({
|
|
271
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
272
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
273
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
274
|
-
}).passthrough(),
|
|
275
|
-
run: async (input, credentials) => {
|
|
276
|
-
return await serpApiSearch(credentials, "bing_news", input);
|
|
277
|
-
}
|
|
278
|
-
});
|
|
279
|
-
const bingNewsTool = bingNews;
|
|
280
|
-
|
|
281
|
-
//#endregion
|
|
282
|
-
//#region src/bing/reverse-image.ts
|
|
283
|
-
const bingReverseImage = serpApiOperation({
|
|
284
|
-
id: "serpapi.bing-reverse-image",
|
|
285
|
-
name: "Bing Reverse Image Search",
|
|
286
|
-
description: "Search Bing Reverse Image via SerpApi",
|
|
287
|
-
input: z.object({
|
|
288
|
-
image_url: z.string(),
|
|
289
|
-
cc: z.string().optional(),
|
|
290
|
-
mkt: z.string().optional()
|
|
291
|
-
}),
|
|
292
|
-
output: z.object({
|
|
293
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
294
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
295
|
-
visual_matches: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
296
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
297
|
-
}).passthrough(),
|
|
298
|
-
run: async (input, credentials) => {
|
|
299
|
-
return await serpApiSearch(credentials, "bing_reverse_image", input);
|
|
300
|
-
}
|
|
301
|
-
});
|
|
302
|
-
const bingReverseImageTool = bingReverseImage;
|
|
303
|
-
|
|
304
|
-
//#endregion
|
|
305
|
-
//#region src/bing/search.ts
|
|
306
|
-
const bingSearch = serpApiOperation({
|
|
307
|
-
id: "serpapi.bing-search",
|
|
308
|
-
name: "Bing Search",
|
|
309
|
-
description: "Search Bing via SerpApi",
|
|
310
|
-
input: z.object({
|
|
311
|
-
q: z.string(),
|
|
312
|
-
location: z.string().optional(),
|
|
313
|
-
cc: z.string().optional(),
|
|
314
|
-
mkt: z.string().optional(),
|
|
315
|
-
first: z.number().optional(),
|
|
316
|
-
count: z.number().optional(),
|
|
317
|
-
safeSearch: z.enum([
|
|
318
|
-
"off",
|
|
319
|
-
"moderate",
|
|
320
|
-
"strict"
|
|
321
|
-
]).optional(),
|
|
322
|
-
device: z.string().optional()
|
|
323
|
-
}),
|
|
324
|
-
output: z.object({
|
|
325
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
326
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
327
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
328
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
329
|
-
answer_box: z.record(z.string(), z.unknown()).optional(),
|
|
330
|
-
knowledge_graph: z.record(z.string(), z.unknown()).optional(),
|
|
331
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
332
|
-
}).passthrough(),
|
|
333
|
-
run: async (input, credentials) => {
|
|
334
|
-
return await serpApiSearch(credentials, "bing", input);
|
|
335
|
-
}
|
|
336
|
-
});
|
|
337
|
-
const bingSearchTool = bingSearch;
|
|
338
|
-
|
|
339
|
-
//#endregion
|
|
340
|
-
//#region src/bing/shopping.ts
|
|
341
|
-
const bingShopping = serpApiOperation({
|
|
342
|
-
id: "serpapi.bing-shopping",
|
|
343
|
-
name: "Bing Shopping Search",
|
|
344
|
-
description: "Search Bing Shopping via SerpApi",
|
|
345
|
-
input: z.object({
|
|
346
|
-
q: z.string(),
|
|
347
|
-
cc: z.string().optional(),
|
|
348
|
-
mkt: z.string().optional(),
|
|
349
|
-
first: z.number().optional(),
|
|
350
|
-
count: z.number().optional(),
|
|
351
|
-
device: z.string().optional()
|
|
352
|
-
}),
|
|
353
|
-
output: z.object({
|
|
354
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
355
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
356
|
-
shopping_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
357
|
-
}).passthrough(),
|
|
358
|
-
run: async (input, credentials) => {
|
|
359
|
-
return await serpApiSearch(credentials, "bing_shopping", input);
|
|
360
|
-
}
|
|
361
|
-
});
|
|
362
|
-
const bingShoppingTool = bingShopping;
|
|
363
|
-
|
|
364
|
-
//#endregion
|
|
365
|
-
//#region src/bing/videos.ts
|
|
366
|
-
const bingVideos = serpApiOperation({
|
|
367
|
-
id: "serpapi.bing-videos",
|
|
368
|
-
name: "Bing Videos Search",
|
|
369
|
-
description: "Search Bing Videos via SerpApi",
|
|
370
|
-
input: z.object({
|
|
371
|
-
q: z.string(),
|
|
372
|
-
cc: z.string().optional(),
|
|
373
|
-
mkt: z.string().optional(),
|
|
374
|
-
first: z.number().optional(),
|
|
375
|
-
count: z.number().optional(),
|
|
376
|
-
device: z.string().optional()
|
|
377
|
-
}),
|
|
378
|
-
output: z.object({
|
|
379
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
380
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
381
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
382
|
-
}).passthrough(),
|
|
383
|
-
run: async (input, credentials) => {
|
|
384
|
-
return await serpApiSearch(credentials, "bing_videos", input);
|
|
385
|
-
}
|
|
386
|
-
});
|
|
387
|
-
const bingVideosTool = bingVideos;
|
|
388
|
-
|
|
389
|
-
//#endregion
|
|
390
|
-
//#region src/brave/ai-mode.ts
|
|
391
|
-
const braveAiMode = serpApiOperation({
|
|
392
|
-
id: "serpapi.brave-ai-mode",
|
|
393
|
-
name: "Brave AI Mode",
|
|
394
|
-
description: "Search Brave AI Mode via SerpApi",
|
|
395
|
-
input: z.object({
|
|
396
|
-
q: z.string(),
|
|
397
|
-
device: z.string().optional()
|
|
398
|
-
}),
|
|
399
|
-
output: z.object({
|
|
400
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
401
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
402
|
-
ai_response: z.record(z.string(), z.unknown()).optional()
|
|
403
|
-
}).passthrough(),
|
|
404
|
-
run: async (input, credentials) => {
|
|
405
|
-
return await serpApiSearch(credentials, "brave_ai_mode", input);
|
|
406
|
-
}
|
|
407
|
-
});
|
|
408
|
-
const braveAiModeTool = braveAiMode;
|
|
409
|
-
|
|
410
|
-
//#endregion
|
|
411
|
-
//#region src/duckduckgo/light.ts
|
|
412
|
-
const duckduckgoLight = serpApiOperation({
|
|
413
|
-
id: "serpapi.duckduckgo-light",
|
|
414
|
-
name: "DuckDuckGo Light Search",
|
|
415
|
-
description: "Search DuckDuckGo Light via SerpApi",
|
|
416
|
-
input: z.object({
|
|
417
|
-
q: z.string(),
|
|
418
|
-
kl: z.string().optional(),
|
|
419
|
-
safe: z.string().optional(),
|
|
420
|
-
device: z.string().optional()
|
|
421
|
-
}),
|
|
422
|
-
output: z.object({
|
|
423
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
424
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
425
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
426
|
-
}).passthrough(),
|
|
427
|
-
run: async (input, credentials) => {
|
|
428
|
-
return await serpApiSearch(credentials, "duckduckgo_light", input);
|
|
429
|
-
}
|
|
430
|
-
});
|
|
431
|
-
const duckduckgoLightTool = duckduckgoLight;
|
|
432
|
-
|
|
433
|
-
//#endregion
|
|
434
|
-
//#region src/duckduckgo/maps.ts
|
|
435
|
-
const duckduckgoMaps = serpApiOperation({
|
|
436
|
-
id: "serpapi.duckduckgo-maps",
|
|
437
|
-
name: "DuckDuckGo Maps Search",
|
|
438
|
-
description: "Search DuckDuckGo Maps via SerpApi",
|
|
439
|
-
input: z.object({
|
|
440
|
-
q: z.string(),
|
|
441
|
-
kl: z.string().optional()
|
|
442
|
-
}),
|
|
443
|
-
output: z.object({
|
|
444
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
445
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
446
|
-
local_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
447
|
-
}).passthrough(),
|
|
448
|
-
run: async (input, credentials) => {
|
|
449
|
-
return await serpApiSearch(credentials, "duckduckgo_maps", input);
|
|
450
|
-
}
|
|
451
|
-
});
|
|
452
|
-
const duckduckgoMapsTool = duckduckgoMaps;
|
|
453
|
-
|
|
454
|
-
//#endregion
|
|
455
|
-
//#region src/duckduckgo/news.ts
|
|
456
|
-
const duckduckgoNews = serpApiOperation({
|
|
457
|
-
id: "serpapi.duckduckgo-news",
|
|
458
|
-
name: "DuckDuckGo News Search",
|
|
459
|
-
description: "Search DuckDuckGo News via SerpApi",
|
|
460
|
-
input: z.object({
|
|
461
|
-
q: z.string(),
|
|
462
|
-
kl: z.string().optional(),
|
|
463
|
-
safe: z.string().optional(),
|
|
464
|
-
device: z.string().optional()
|
|
465
|
-
}),
|
|
466
|
-
output: z.object({
|
|
467
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
468
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
469
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
470
|
-
}).passthrough(),
|
|
471
|
-
run: async (input, credentials) => {
|
|
472
|
-
return await serpApiSearch(credentials, "duckduckgo_news", input);
|
|
473
|
-
}
|
|
474
|
-
});
|
|
475
|
-
const duckduckgoNewsTool = duckduckgoNews;
|
|
476
|
-
|
|
477
|
-
//#endregion
|
|
478
|
-
//#region src/duckduckgo/search.ts
|
|
479
|
-
const duckduckgoSearch = serpApiOperation({
|
|
480
|
-
id: "serpapi.duckduckgo-search",
|
|
481
|
-
name: "DuckDuckGo Search",
|
|
482
|
-
description: "Search DuckDuckGo via SerpApi",
|
|
483
|
-
input: z.object({
|
|
484
|
-
q: z.string(),
|
|
485
|
-
kl: z.string().optional(),
|
|
486
|
-
safe: z.string().optional(),
|
|
487
|
-
device: z.string().optional()
|
|
488
|
-
}),
|
|
489
|
-
output: z.object({
|
|
490
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
491
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
492
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
493
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
494
|
-
knowledge_graph: z.record(z.string(), z.unknown()).optional(),
|
|
495
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
496
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
497
|
-
}).passthrough(),
|
|
498
|
-
run: async (input, credentials) => {
|
|
499
|
-
return await serpApiSearch(credentials, "duckduckgo", input);
|
|
500
|
-
}
|
|
501
|
-
});
|
|
502
|
-
const duckduckgoSearchTool = duckduckgoSearch;
|
|
503
|
-
|
|
504
|
-
//#endregion
|
|
505
|
-
//#region src/duckduckgo/search-assist.ts
|
|
506
|
-
const duckduckgoSearchAssist = serpApiOperation({
|
|
507
|
-
id: "serpapi.duckduckgo-search-assist",
|
|
508
|
-
name: "DuckDuckGo Search Assist",
|
|
509
|
-
description: "Get DuckDuckGo search suggestions via SerpApi",
|
|
510
|
-
input: z.object({
|
|
511
|
-
q: z.string(),
|
|
512
|
-
kl: z.string().optional()
|
|
513
|
-
}),
|
|
514
|
-
output: z.object({
|
|
515
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
516
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
517
|
-
suggestions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
518
|
-
}).passthrough(),
|
|
519
|
-
run: async (input, credentials) => {
|
|
520
|
-
return await serpApiSearch(credentials, "duckduckgo_search_assist", input);
|
|
521
|
-
}
|
|
522
|
-
});
|
|
523
|
-
const duckduckgoSearchAssistTool = duckduckgoSearchAssist;
|
|
524
|
-
|
|
525
|
-
//#endregion
|
|
526
|
-
//#region src/ebay/product.ts
|
|
527
|
-
const ebayProduct = serpApiOperation({
|
|
528
|
-
id: "serpapi.ebay-product",
|
|
529
|
-
name: "eBay Product",
|
|
530
|
-
description: "Get eBay product details via SerpApi",
|
|
531
|
-
input: z.object({
|
|
532
|
-
product_id: z.string().optional(),
|
|
533
|
-
epid: z.string().optional(),
|
|
534
|
-
ebay_domain: z.string().optional()
|
|
535
|
-
}).refine((data) => data.product_id || data.epid, { message: "At least one of product_id or epid is required" }),
|
|
536
|
-
output: z.object({
|
|
537
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
538
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
539
|
-
product: z.record(z.string(), z.unknown()).optional(),
|
|
540
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
541
|
-
}).passthrough(),
|
|
542
|
-
run: async (input, credentials) => {
|
|
543
|
-
return await serpApiSearch(credentials, "ebay_product", input);
|
|
544
|
-
}
|
|
545
|
-
});
|
|
546
|
-
const ebayProductTool = ebayProduct;
|
|
547
|
-
|
|
548
|
-
//#endregion
|
|
549
|
-
//#region src/ebay/search.ts
|
|
550
|
-
const ebaySearch = serpApiOperation({
|
|
551
|
-
id: "serpapi.ebay-search",
|
|
552
|
-
name: "eBay Search",
|
|
553
|
-
description: "Search eBay via SerpApi",
|
|
554
|
-
input: z.object({
|
|
555
|
-
_nkw: z.string(),
|
|
556
|
-
ebay_domain: z.string().optional(),
|
|
557
|
-
_sacat: z.string().optional(),
|
|
558
|
-
_udlo: z.number().optional(),
|
|
559
|
-
_udhi: z.number().optional(),
|
|
560
|
-
_sop: z.string().optional(),
|
|
561
|
-
LH_BIN: z.string().optional(),
|
|
562
|
-
LH_Auction: z.string().optional(),
|
|
563
|
-
LH_ItemCondition: z.string().optional(),
|
|
564
|
-
_pgn: z.number().optional()
|
|
565
|
-
}),
|
|
566
|
-
output: z.object({
|
|
567
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
568
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
569
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
570
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
571
|
-
}).passthrough(),
|
|
572
|
-
run: async (input, credentials) => {
|
|
573
|
-
return await serpApiSearch(credentials, "ebay", input);
|
|
574
|
-
}
|
|
575
|
-
});
|
|
576
|
-
const ebaySearchTool = ebaySearch;
|
|
577
|
-
|
|
578
|
-
//#endregion
|
|
579
|
-
//#region src/facebook/profile.ts
|
|
580
|
-
const facebookProfile = serpApiOperation({
|
|
581
|
-
id: "serpapi.facebook-profile",
|
|
582
|
-
name: "Facebook Profile",
|
|
583
|
-
description: "Get Facebook profile data via SerpApi",
|
|
584
|
-
input: z.object({ page_id: z.string() }),
|
|
585
|
-
output: z.object({
|
|
586
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
587
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
588
|
-
profile: z.record(z.string(), z.unknown()).optional()
|
|
589
|
-
}).passthrough(),
|
|
590
|
-
run: async (input, credentials) => {
|
|
591
|
-
return await serpApiSearch(credentials, "facebook_profile", input);
|
|
592
|
-
}
|
|
593
|
-
});
|
|
594
|
-
const facebookProfileTool = facebookProfile;
|
|
595
|
-
|
|
596
|
-
//#endregion
|
|
597
|
-
//#region src/google/ads-transparency.ts
|
|
598
|
-
const googleAdsTransparency = serpApiOperation({
|
|
599
|
-
id: "serpapi.google-ads-transparency",
|
|
600
|
-
name: "Google Ads Transparency Center",
|
|
601
|
-
description: "Search Google Ads Transparency Center via SerpApi",
|
|
602
|
-
input: z.object({
|
|
603
|
-
advertiser_id: z.string().optional(),
|
|
604
|
-
domain: z.string().optional(),
|
|
605
|
-
gl: z.string().optional(),
|
|
606
|
-
hl: z.string().optional(),
|
|
607
|
-
device: z.string().optional()
|
|
608
|
-
}),
|
|
609
|
-
output: z.object({
|
|
610
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
611
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
612
|
-
ads: z.array(z.record(z.string(), z.unknown())).optional()
|
|
613
|
-
}).passthrough(),
|
|
614
|
-
run: async (input, credentials) => {
|
|
615
|
-
return await serpApiSearch(credentials, "google_ads_transparency_center", input);
|
|
616
|
-
}
|
|
617
|
-
});
|
|
618
|
-
const googleAdsTransparencyTool = googleAdsTransparency;
|
|
619
|
-
|
|
620
|
-
//#endregion
|
|
621
|
-
//#region src/google/ai-mode.ts
|
|
622
|
-
const googleAiMode = serpApiOperation({
|
|
623
|
-
id: "serpapi.google-ai-mode",
|
|
624
|
-
name: "Google AI Mode",
|
|
625
|
-
description: "Search Google AI Mode via SerpApi",
|
|
626
|
-
input: z.object({
|
|
627
|
-
q: z.string(),
|
|
628
|
-
gl: z.string().optional(),
|
|
629
|
-
hl: z.string().optional(),
|
|
630
|
-
device: z.string().optional()
|
|
631
|
-
}),
|
|
632
|
-
output: z.object({
|
|
633
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
634
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
635
|
-
ai_response: z.record(z.string(), z.unknown()).optional()
|
|
636
|
-
}).passthrough(),
|
|
637
|
-
run: async (input, credentials) => {
|
|
638
|
-
return await serpApiSearch(credentials, "google_ai_mode", input);
|
|
639
|
-
}
|
|
640
|
-
});
|
|
641
|
-
const googleAiModeTool = googleAiMode;
|
|
642
|
-
|
|
643
|
-
//#endregion
|
|
644
|
-
//#region src/google/ai-overview.ts
|
|
645
|
-
const googleAiOverview = serpApiOperation({
|
|
646
|
-
id: "serpapi.google-ai-overview",
|
|
647
|
-
name: "Google AI Overview",
|
|
648
|
-
description: "Search Google AI Overview via SerpApi",
|
|
649
|
-
input: z.object({
|
|
650
|
-
q: z.string(),
|
|
651
|
-
gl: z.string().optional(),
|
|
652
|
-
hl: z.string().optional(),
|
|
653
|
-
device: z.string().optional()
|
|
654
|
-
}),
|
|
655
|
-
output: z.object({
|
|
656
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
657
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
658
|
-
ai_overview: z.record(z.string(), z.unknown()).optional()
|
|
659
|
-
}).passthrough(),
|
|
660
|
-
run: async (input, credentials) => {
|
|
661
|
-
return await serpApiSearch(credentials, "google_ai_overview", input);
|
|
662
|
-
}
|
|
663
|
-
});
|
|
664
|
-
const googleAiOverviewTool = googleAiOverview;
|
|
665
|
-
|
|
666
|
-
//#endregion
|
|
667
|
-
//#region src/google/autocomplete.ts
|
|
668
|
-
const googleAutocomplete = serpApiOperation({
|
|
669
|
-
id: "serpapi.google-autocomplete",
|
|
670
|
-
name: "Google Autocomplete",
|
|
671
|
-
description: "Search Google Autocomplete via SerpApi",
|
|
672
|
-
input: z.object({
|
|
673
|
-
q: z.string(),
|
|
674
|
-
gl: z.string().optional(),
|
|
675
|
-
hl: z.string().optional(),
|
|
676
|
-
device: z.string().optional()
|
|
677
|
-
}),
|
|
678
|
-
output: z.object({
|
|
679
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
680
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
681
|
-
suggestions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
682
|
-
}).passthrough(),
|
|
683
|
-
run: async (input, credentials) => {
|
|
684
|
-
return await serpApiSearch(credentials, "google_autocomplete", input);
|
|
685
|
-
}
|
|
686
|
-
});
|
|
687
|
-
const googleAutocompleteTool = googleAutocomplete;
|
|
688
|
-
|
|
689
|
-
//#endregion
|
|
690
|
-
//#region src/google/events.ts
|
|
691
|
-
const googleEvents = serpApiOperation({
|
|
692
|
-
id: "serpapi.google-events",
|
|
693
|
-
name: "Google Events Search",
|
|
694
|
-
description: "Search Google Events via SerpApi",
|
|
695
|
-
input: z.object({
|
|
696
|
-
q: z.string(),
|
|
697
|
-
location: z.string().optional(),
|
|
698
|
-
gl: z.string().optional(),
|
|
699
|
-
hl: z.string().optional(),
|
|
700
|
-
device: z.string().optional()
|
|
701
|
-
}),
|
|
702
|
-
output: z.object({
|
|
703
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
704
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
705
|
-
events_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
706
|
-
}).passthrough(),
|
|
707
|
-
run: async (input, credentials) => {
|
|
708
|
-
return await serpApiSearch(credentials, "google_events", input);
|
|
709
|
-
}
|
|
710
|
-
});
|
|
711
|
-
const googleEventsTool = googleEvents;
|
|
712
|
-
|
|
713
|
-
//#endregion
|
|
714
|
-
//#region src/google/finance.ts
|
|
715
|
-
const googleFinance = serpApiOperation({
|
|
716
|
-
id: "serpapi.google-finance",
|
|
717
|
-
name: "Google Finance Search",
|
|
718
|
-
description: "Search Google Finance via SerpApi",
|
|
719
|
-
input: z.object({
|
|
720
|
-
q: z.string(),
|
|
721
|
-
gl: z.string().optional(),
|
|
722
|
-
hl: z.string().optional(),
|
|
723
|
-
device: z.string().optional()
|
|
724
|
-
}),
|
|
725
|
-
output: z.object({
|
|
726
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
727
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
728
|
-
summary: z.record(z.string(), z.unknown()).optional(),
|
|
729
|
-
graph: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
730
|
-
financials: z.record(z.string(), z.unknown()).optional(),
|
|
731
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
732
|
-
}).passthrough(),
|
|
733
|
-
run: async (input, credentials) => {
|
|
734
|
-
return await serpApiSearch(credentials, "google_finance", input);
|
|
735
|
-
}
|
|
736
|
-
});
|
|
737
|
-
const googleFinanceTool = googleFinance;
|
|
738
|
-
|
|
739
|
-
//#endregion
|
|
740
|
-
//#region src/google/finance-markets.ts
|
|
741
|
-
const googleFinanceMarkets = serpApiOperation({
|
|
742
|
-
id: "serpapi.google-finance-markets",
|
|
743
|
-
name: "Google Finance Markets",
|
|
744
|
-
description: "Search Google Finance Markets via SerpApi",
|
|
745
|
-
input: z.object({
|
|
746
|
-
trend: z.enum([
|
|
747
|
-
"indexes",
|
|
748
|
-
"most-active",
|
|
749
|
-
"gainers",
|
|
750
|
-
"losers",
|
|
751
|
-
"climate-leaders",
|
|
752
|
-
"crypto",
|
|
753
|
-
"currencies"
|
|
754
|
-
]).optional(),
|
|
755
|
-
gl: z.string().optional(),
|
|
756
|
-
hl: z.string().optional(),
|
|
757
|
-
device: z.string().optional()
|
|
758
|
-
}),
|
|
759
|
-
output: z.object({
|
|
760
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
761
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
762
|
-
market_trends: z.array(z.record(z.string(), z.unknown())).optional()
|
|
763
|
-
}).passthrough(),
|
|
764
|
-
run: async (input, credentials) => {
|
|
765
|
-
return await serpApiSearch(credentials, "google_finance_markets", input);
|
|
766
|
-
}
|
|
767
|
-
});
|
|
768
|
-
const googleFinanceMarketsTool = googleFinanceMarkets;
|
|
769
|
-
|
|
770
|
-
//#endregion
|
|
771
|
-
//#region src/google/flights.ts
|
|
772
|
-
const googleFlights = serpApiOperation({
|
|
773
|
-
id: "serpapi.google-flights",
|
|
774
|
-
name: "Google Flights Search",
|
|
775
|
-
description: "Search Google Flights via SerpApi",
|
|
776
|
-
input: z.object({
|
|
777
|
-
departure_id: z.string(),
|
|
778
|
-
arrival_id: z.string(),
|
|
779
|
-
outbound_date: z.string(),
|
|
780
|
-
return_date: z.string().optional(),
|
|
781
|
-
type: z.number().optional(),
|
|
782
|
-
travel_class: z.number().optional(),
|
|
783
|
-
adults: z.number().optional(),
|
|
784
|
-
children: z.number().optional(),
|
|
785
|
-
infants_in_seat: z.number().optional(),
|
|
786
|
-
infants_on_lap: z.number().optional(),
|
|
787
|
-
stops: z.number().optional(),
|
|
788
|
-
currency: z.string().optional(),
|
|
789
|
-
hl: z.string().optional(),
|
|
790
|
-
gl: z.string().optional(),
|
|
791
|
-
bags: z.number().optional(),
|
|
792
|
-
max_price: z.number().optional(),
|
|
793
|
-
exclude_airlines: z.string().optional(),
|
|
794
|
-
include_airlines: z.string().optional()
|
|
795
|
-
}),
|
|
796
|
-
output: z.object({
|
|
797
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
798
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
799
|
-
best_flights: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
800
|
-
other_flights: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
801
|
-
airports: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
802
|
-
price_insights: z.record(z.string(), z.unknown()).optional()
|
|
803
|
-
}).passthrough(),
|
|
804
|
-
run: async (input, credentials) => {
|
|
805
|
-
return await serpApiSearch(credentials, "google_flights", input);
|
|
806
|
-
}
|
|
807
|
-
});
|
|
808
|
-
const googleFlightsTool = googleFlights;
|
|
809
|
-
|
|
810
|
-
//#endregion
|
|
811
|
-
//#region src/google/flights-autocomplete.ts
|
|
812
|
-
const googleFlightsAutocomplete = serpApiOperation({
|
|
813
|
-
id: "serpapi.google-flights-autocomplete",
|
|
814
|
-
name: "Google Flights Autocomplete",
|
|
815
|
-
description: "Search Google Flights Autocomplete via SerpApi",
|
|
816
|
-
input: z.object({
|
|
817
|
-
q: z.string(),
|
|
818
|
-
hl: z.string().optional(),
|
|
819
|
-
gl: z.string().optional()
|
|
820
|
-
}),
|
|
821
|
-
output: z.object({
|
|
822
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
823
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
824
|
-
airports: z.array(z.record(z.string(), z.unknown())).optional()
|
|
825
|
-
}).passthrough(),
|
|
826
|
-
run: async (input, credentials) => {
|
|
827
|
-
return await serpApiSearch(credentials, "google_flights_autocomplete", input);
|
|
828
|
-
}
|
|
829
|
-
});
|
|
830
|
-
const googleFlightsAutocompleteTool = googleFlightsAutocomplete;
|
|
831
|
-
|
|
832
|
-
//#endregion
|
|
833
|
-
//#region src/google/forums.ts
|
|
834
|
-
const googleForums = serpApiOperation({
|
|
835
|
-
id: "serpapi.google-forums",
|
|
836
|
-
name: "Google Forums Search",
|
|
837
|
-
description: "Search Google Forums via SerpApi",
|
|
838
|
-
input: z.object({
|
|
839
|
-
q: z.string(),
|
|
840
|
-
location: z.string().optional(),
|
|
841
|
-
gl: z.string().optional(),
|
|
842
|
-
hl: z.string().optional(),
|
|
843
|
-
device: z.string().optional()
|
|
844
|
-
}),
|
|
845
|
-
output: z.object({
|
|
846
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
847
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
848
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
849
|
-
}).passthrough(),
|
|
850
|
-
run: async (input, credentials) => {
|
|
851
|
-
return await serpApiSearch(credentials, "google_forums", input);
|
|
852
|
-
}
|
|
853
|
-
});
|
|
854
|
-
const googleForumsTool = googleForums;
|
|
855
|
-
|
|
856
|
-
//#endregion
|
|
857
|
-
//#region src/google/hotels.ts
|
|
858
|
-
const googleHotels = serpApiOperation({
|
|
859
|
-
id: "serpapi.google-hotels",
|
|
860
|
-
name: "Google Hotels Search",
|
|
861
|
-
description: "Search Google Hotels via SerpApi",
|
|
862
|
-
input: z.object({
|
|
863
|
-
q: z.string(),
|
|
864
|
-
check_in_date: z.string().optional(),
|
|
865
|
-
check_out_date: z.string().optional(),
|
|
866
|
-
adults: z.number().optional(),
|
|
867
|
-
children: z.number().optional(),
|
|
868
|
-
children_ages: z.string().optional(),
|
|
869
|
-
currency: z.string().optional(),
|
|
870
|
-
gl: z.string().optional(),
|
|
871
|
-
hl: z.string().optional(),
|
|
872
|
-
sort_by: z.number().optional(),
|
|
873
|
-
min_price: z.number().optional(),
|
|
874
|
-
max_price: z.number().optional(),
|
|
875
|
-
rating: z.number().optional(),
|
|
876
|
-
amenities: z.string().optional(),
|
|
877
|
-
vacation_rentals: z.boolean().optional(),
|
|
878
|
-
hotel_class: z.number().optional(),
|
|
879
|
-
free_cancellation: z.boolean().optional(),
|
|
880
|
-
property_token: z.string().optional(),
|
|
881
|
-
device: z.string().optional()
|
|
882
|
-
}),
|
|
883
|
-
output: z.object({
|
|
884
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
885
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
886
|
-
properties: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
887
|
-
ads: z.array(z.record(z.string(), z.unknown())).optional()
|
|
888
|
-
}).passthrough(),
|
|
889
|
-
run: async (input, credentials) => {
|
|
890
|
-
return await serpApiSearch(credentials, "google_hotels", input);
|
|
891
|
-
}
|
|
892
|
-
});
|
|
893
|
-
const googleHotelsTool = googleHotels;
|
|
894
|
-
|
|
895
|
-
//#endregion
|
|
896
|
-
//#region src/google/hotels-autocomplete.ts
|
|
897
|
-
const googleHotelsAutocomplete = serpApiOperation({
|
|
898
|
-
id: "serpapi.google-hotels-autocomplete",
|
|
899
|
-
name: "Google Hotels Autocomplete",
|
|
900
|
-
description: "Search Google Hotels Autocomplete via SerpApi",
|
|
901
|
-
input: z.object({
|
|
902
|
-
q: z.string(),
|
|
903
|
-
gl: z.string().optional(),
|
|
904
|
-
hl: z.string().optional()
|
|
905
|
-
}),
|
|
906
|
-
output: z.object({
|
|
907
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
908
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
909
|
-
suggestions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
910
|
-
}).passthrough(),
|
|
911
|
-
run: async (input, credentials) => {
|
|
912
|
-
return await serpApiSearch(credentials, "google_hotels_autocomplete", input);
|
|
913
|
-
}
|
|
914
|
-
});
|
|
915
|
-
const googleHotelsAutocompleteTool = googleHotelsAutocomplete;
|
|
916
|
-
|
|
917
|
-
//#endregion
|
|
918
|
-
//#region src/google/hotels-photos.ts
|
|
919
|
-
const googleHotelsPhotos = serpApiOperation({
|
|
920
|
-
id: "serpapi.google-hotels-photos",
|
|
921
|
-
name: "Google Hotels Photos",
|
|
922
|
-
description: "Get Google Hotels photos via SerpApi",
|
|
923
|
-
input: z.object({
|
|
924
|
-
property_token: z.string(),
|
|
925
|
-
gl: z.string().optional(),
|
|
926
|
-
hl: z.string().optional()
|
|
927
|
-
}),
|
|
928
|
-
output: z.object({
|
|
929
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
930
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
931
|
-
photos: z.array(z.record(z.string(), z.unknown())).optional()
|
|
932
|
-
}).passthrough(),
|
|
933
|
-
run: async (input, credentials) => {
|
|
934
|
-
return await serpApiSearch(credentials, "google_hotels_photos", input);
|
|
935
|
-
}
|
|
936
|
-
});
|
|
937
|
-
const googleHotelsPhotosTool = googleHotelsPhotos;
|
|
938
|
-
|
|
939
|
-
//#endregion
|
|
940
|
-
//#region src/google/hotels-reviews.ts
|
|
941
|
-
const googleHotelsReviews = serpApiOperation({
|
|
942
|
-
id: "serpapi.google-hotels-reviews",
|
|
943
|
-
name: "Google Hotels Reviews",
|
|
944
|
-
description: "Get Google Hotels reviews via SerpApi",
|
|
945
|
-
input: z.object({
|
|
946
|
-
property_token: z.string(),
|
|
947
|
-
gl: z.string().optional(),
|
|
948
|
-
hl: z.string().optional(),
|
|
949
|
-
sort_by: z.number().optional(),
|
|
950
|
-
next_page_token: z.string().optional()
|
|
951
|
-
}),
|
|
952
|
-
output: z.object({
|
|
953
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
954
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
955
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
956
|
-
rating_distribution: z.record(z.string(), z.unknown()).optional()
|
|
957
|
-
}).passthrough(),
|
|
958
|
-
run: async (input, credentials) => {
|
|
959
|
-
return await serpApiSearch(credentials, "google_hotels_reviews", input);
|
|
960
|
-
}
|
|
961
|
-
});
|
|
962
|
-
const googleHotelsReviewsTool = googleHotelsReviews;
|
|
963
|
-
|
|
964
|
-
//#endregion
|
|
965
|
-
//#region src/google/images.ts
|
|
966
|
-
const googleImages = serpApiOperation({
|
|
967
|
-
id: "serpapi.google-images",
|
|
968
|
-
name: "Google Images Search",
|
|
969
|
-
description: "Search Google Images via SerpApi",
|
|
970
|
-
input: z.object({
|
|
971
|
-
q: z.string(),
|
|
972
|
-
location: z.string().optional(),
|
|
973
|
-
gl: z.string().optional(),
|
|
974
|
-
hl: z.string().optional(),
|
|
975
|
-
tbs: z.string().optional(),
|
|
976
|
-
chips: z.string().optional(),
|
|
977
|
-
ijn: z.number().optional(),
|
|
978
|
-
safe: z.string().optional(),
|
|
979
|
-
device: z.string().optional()
|
|
980
|
-
}),
|
|
981
|
-
output: z.object({
|
|
982
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
983
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
984
|
-
images_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
985
|
-
suggested_searches: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
986
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
987
|
-
}).passthrough(),
|
|
988
|
-
run: async (input, credentials) => {
|
|
989
|
-
return await serpApiSearch(credentials, "google_images", input);
|
|
990
|
-
}
|
|
991
|
-
});
|
|
992
|
-
const googleImagesTool = googleImages;
|
|
993
|
-
|
|
994
|
-
//#endregion
|
|
995
|
-
//#region src/google/images-light.ts
|
|
996
|
-
const googleImagesLight = serpApiOperation({
|
|
997
|
-
id: "serpapi.google-images-light",
|
|
998
|
-
name: "Google Images Light Search",
|
|
999
|
-
description: "Search Google Images Light via SerpApi",
|
|
1000
|
-
input: z.object({
|
|
1001
|
-
q: z.string(),
|
|
1002
|
-
gl: z.string().optional(),
|
|
1003
|
-
hl: z.string().optional(),
|
|
1004
|
-
tbs: z.string().optional(),
|
|
1005
|
-
ijn: z.number().optional(),
|
|
1006
|
-
device: z.string().optional()
|
|
1007
|
-
}),
|
|
1008
|
-
output: z.object({
|
|
1009
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1010
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1011
|
-
images_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1012
|
-
}).passthrough(),
|
|
1013
|
-
run: async (input, credentials) => {
|
|
1014
|
-
return await serpApiSearch(credentials, "google_images_light", input);
|
|
1015
|
-
}
|
|
1016
|
-
});
|
|
1017
|
-
const googleImagesLightTool = googleImagesLight;
|
|
1018
|
-
|
|
1019
|
-
//#endregion
|
|
1020
|
-
//#region src/google/images-related.ts
|
|
1021
|
-
const googleImagesRelated = serpApiOperation({
|
|
1022
|
-
id: "serpapi.google-images-related",
|
|
1023
|
-
name: "Google Images Related Content",
|
|
1024
|
-
description: "Search Google Images Related Content via SerpApi",
|
|
1025
|
-
input: z.object({
|
|
1026
|
-
q: z.string(),
|
|
1027
|
-
gl: z.string().optional(),
|
|
1028
|
-
hl: z.string().optional(),
|
|
1029
|
-
device: z.string().optional()
|
|
1030
|
-
}),
|
|
1031
|
-
output: z.object({
|
|
1032
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1033
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1034
|
-
related_content: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1035
|
-
}).passthrough(),
|
|
1036
|
-
run: async (input, credentials) => {
|
|
1037
|
-
return await serpApiSearch(credentials, "google_images_related_content", input);
|
|
1038
|
-
}
|
|
1039
|
-
});
|
|
1040
|
-
const googleImagesRelatedTool = googleImagesRelated;
|
|
1041
|
-
|
|
1042
|
-
//#endregion
|
|
1043
|
-
//#region src/google/immersive-product.ts
|
|
1044
|
-
const googleImmersiveProduct = serpApiOperation({
|
|
1045
|
-
id: "serpapi.google-immersive-product",
|
|
1046
|
-
name: "Google Immersive Product",
|
|
1047
|
-
description: "Get Google Immersive Product details via SerpApi",
|
|
1048
|
-
input: z.object({
|
|
1049
|
-
page_token: z.string(),
|
|
1050
|
-
gl: z.string().optional(),
|
|
1051
|
-
hl: z.string().optional()
|
|
1052
|
-
}),
|
|
1053
|
-
output: z.object({
|
|
1054
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1055
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1056
|
-
product_results: z.record(z.string(), z.unknown()).optional(),
|
|
1057
|
-
sellers: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1058
|
-
}).passthrough(),
|
|
1059
|
-
run: async (input, credentials) => {
|
|
1060
|
-
return await serpApiSearch(credentials, "google_immersive_product", input);
|
|
1061
|
-
}
|
|
1062
|
-
});
|
|
1063
|
-
const googleImmersiveProductTool = googleImmersiveProduct;
|
|
1064
|
-
|
|
1065
|
-
//#endregion
|
|
1066
|
-
//#region src/google/jobs.ts
|
|
1067
|
-
const googleJobs = serpApiOperation({
|
|
1068
|
-
id: "serpapi.google-jobs",
|
|
1069
|
-
name: "Google Jobs Search",
|
|
1070
|
-
description: "Search Google Jobs via SerpApi",
|
|
1071
|
-
input: z.object({
|
|
1072
|
-
q: z.string(),
|
|
1073
|
-
location: z.string().optional(),
|
|
1074
|
-
gl: z.string().optional(),
|
|
1075
|
-
hl: z.string().optional(),
|
|
1076
|
-
chips: z.string().optional(),
|
|
1077
|
-
ltype: z.string().optional(),
|
|
1078
|
-
start: z.number().optional(),
|
|
1079
|
-
device: z.string().optional()
|
|
1080
|
-
}),
|
|
1081
|
-
output: z.object({
|
|
1082
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1083
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1084
|
-
jobs_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1085
|
-
chips: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1086
|
-
}).passthrough(),
|
|
1087
|
-
run: async (input, credentials) => {
|
|
1088
|
-
return await serpApiSearch(credentials, "google_jobs", input);
|
|
1089
|
-
}
|
|
1090
|
-
});
|
|
1091
|
-
const googleJobsTool = googleJobs;
|
|
1092
|
-
|
|
1093
|
-
//#endregion
|
|
1094
|
-
//#region src/google/jobs-listing.ts
|
|
1095
|
-
const googleJobsListing = serpApiOperation({
|
|
1096
|
-
id: "serpapi.google-jobs-listing",
|
|
1097
|
-
name: "Google Jobs Listing",
|
|
1098
|
-
description: "Get Google Jobs listing details via SerpApi",
|
|
1099
|
-
input: z.object({
|
|
1100
|
-
q: z.string(),
|
|
1101
|
-
gl: z.string().optional(),
|
|
1102
|
-
hl: z.string().optional()
|
|
1103
|
-
}),
|
|
1104
|
-
output: z.object({
|
|
1105
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1106
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1107
|
-
job: z.record(z.string(), z.unknown()).optional()
|
|
1108
|
-
}).passthrough(),
|
|
1109
|
-
run: async (input, credentials) => {
|
|
1110
|
-
return await serpApiSearch(credentials, "google_jobs_listing", input);
|
|
1111
|
-
}
|
|
1112
|
-
});
|
|
1113
|
-
const googleJobsListingTool = googleJobsListing;
|
|
1114
|
-
|
|
1115
|
-
//#endregion
|
|
1116
|
-
//#region src/google/lens.ts
|
|
1117
|
-
const googleLens = serpApiOperation({
|
|
1118
|
-
id: "serpapi.google-lens",
|
|
1119
|
-
name: "Google Lens Search",
|
|
1120
|
-
description: "Search Google Lens via SerpApi",
|
|
1121
|
-
input: z.object({
|
|
1122
|
-
url: z.string(),
|
|
1123
|
-
hl: z.string().optional(),
|
|
1124
|
-
country: z.string().optional(),
|
|
1125
|
-
device: z.string().optional()
|
|
1126
|
-
}),
|
|
1127
|
-
output: z.object({
|
|
1128
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1129
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1130
|
-
visual_matches: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1131
|
-
knowledge_graph: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1132
|
-
text_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1133
|
-
reverse_image_search: z.record(z.string(), z.unknown()).optional()
|
|
1134
|
-
}).passthrough(),
|
|
1135
|
-
run: async (input, credentials) => {
|
|
1136
|
-
return await serpApiSearch(credentials, "google_lens", input);
|
|
1137
|
-
}
|
|
1138
|
-
});
|
|
1139
|
-
const googleLensTool = googleLens;
|
|
1140
|
-
|
|
1141
|
-
//#endregion
|
|
1142
|
-
//#region src/google/light.ts
|
|
1143
|
-
const googleLightSearch = serpApiOperation({
|
|
1144
|
-
id: "serpapi.google-light-search",
|
|
1145
|
-
name: "Google Light Search",
|
|
1146
|
-
description: "Search Google Light via SerpApi",
|
|
1147
|
-
input: z.object({
|
|
1148
|
-
q: z.string(),
|
|
1149
|
-
location: z.string().optional(),
|
|
1150
|
-
gl: z.string().optional(),
|
|
1151
|
-
hl: z.string().optional(),
|
|
1152
|
-
tbs: z.string().optional(),
|
|
1153
|
-
safe: z.string().optional(),
|
|
1154
|
-
start: z.number().optional(),
|
|
1155
|
-
num: z.number().optional(),
|
|
1156
|
-
device: z.string().optional()
|
|
1157
|
-
}),
|
|
1158
|
-
output: z.object({
|
|
1159
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1160
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1161
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1162
|
-
answer_box: z.record(z.string(), z.unknown()).optional(),
|
|
1163
|
-
knowledge_graph: z.record(z.string(), z.unknown()).optional(),
|
|
1164
|
-
related_questions: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1165
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1166
|
-
top_stories: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1167
|
-
pagination: z.record(z.string(), z.unknown()).optional()
|
|
1168
|
-
}).passthrough(),
|
|
1169
|
-
run: async (input, credentials) => {
|
|
1170
|
-
return await serpApiSearch(credentials, "google_light", input);
|
|
1171
|
-
}
|
|
1172
|
-
});
|
|
1173
|
-
const googleLightSearchTool = googleLightSearch;
|
|
1174
|
-
|
|
1175
|
-
//#endregion
|
|
1176
|
-
//#region src/google/local.ts
|
|
1177
|
-
const googleLocal = serpApiOperation({
|
|
1178
|
-
id: "serpapi.google-local",
|
|
1179
|
-
name: "Google Local Search",
|
|
1180
|
-
description: "Search Google Local via SerpApi",
|
|
1181
|
-
input: z.object({
|
|
1182
|
-
q: z.string(),
|
|
1183
|
-
location: z.string().optional(),
|
|
1184
|
-
gl: z.string().optional(),
|
|
1185
|
-
hl: z.string().optional(),
|
|
1186
|
-
ludocid: z.string().optional(),
|
|
1187
|
-
lsig: z.string().optional(),
|
|
1188
|
-
device: z.string().optional()
|
|
1189
|
-
}),
|
|
1190
|
-
output: z.object({
|
|
1191
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1192
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1193
|
-
local_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1194
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1195
|
-
}).passthrough(),
|
|
1196
|
-
run: async (input, credentials) => {
|
|
1197
|
-
return await serpApiSearch(credentials, "google_local", input);
|
|
1198
|
-
}
|
|
1199
|
-
});
|
|
1200
|
-
const googleLocalTool = googleLocal;
|
|
1201
|
-
|
|
1202
|
-
//#endregion
|
|
1203
|
-
//#region src/google/local-services.ts
|
|
1204
|
-
const googleLocalServices = serpApiOperation({
|
|
1205
|
-
id: "serpapi.google-local-services",
|
|
1206
|
-
name: "Google Local Services Search",
|
|
1207
|
-
description: "Search Google Local Services via SerpApi",
|
|
1208
|
-
input: z.object({
|
|
1209
|
-
q: z.string(),
|
|
1210
|
-
place_id: z.string().optional(),
|
|
1211
|
-
data_cid: z.string().optional(),
|
|
1212
|
-
gl: z.string().optional(),
|
|
1213
|
-
hl: z.string().optional(),
|
|
1214
|
-
device: z.string().optional()
|
|
1215
|
-
}),
|
|
1216
|
-
output: z.object({
|
|
1217
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1218
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1219
|
-
local_services_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1220
|
-
}).passthrough(),
|
|
1221
|
-
run: async (input, credentials) => {
|
|
1222
|
-
return await serpApiSearch(credentials, "google_local_services", input);
|
|
1223
|
-
}
|
|
1224
|
-
});
|
|
1225
|
-
const googleLocalServicesTool = googleLocalServices;
|
|
1226
|
-
|
|
1227
|
-
//#endregion
|
|
1228
|
-
//#region src/google/maps.ts
|
|
1229
|
-
const googleMaps = serpApiOperation({
|
|
1230
|
-
id: "serpapi.google-maps",
|
|
1231
|
-
name: "Google Maps Search",
|
|
1232
|
-
description: "Search Google Maps via SerpApi",
|
|
1233
|
-
input: z.object({
|
|
1234
|
-
q: z.string(),
|
|
1235
|
-
ll: z.string().optional(),
|
|
1236
|
-
type: z.string().optional(),
|
|
1237
|
-
data: z.string().optional(),
|
|
1238
|
-
start: z.number().optional(),
|
|
1239
|
-
hl: z.string().optional(),
|
|
1240
|
-
gl: z.string().optional(),
|
|
1241
|
-
device: z.string().optional()
|
|
1242
|
-
}),
|
|
1243
|
-
output: z.object({
|
|
1244
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1245
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1246
|
-
local_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1247
|
-
place_results: z.record(z.string(), z.unknown()).optional()
|
|
1248
|
-
}).passthrough(),
|
|
1249
|
-
run: async (input, credentials) => {
|
|
1250
|
-
return await serpApiSearch(credentials, "google_maps", input);
|
|
1251
|
-
}
|
|
1252
|
-
});
|
|
1253
|
-
const googleMapsTool = googleMaps;
|
|
1254
|
-
|
|
1255
|
-
//#endregion
|
|
1256
|
-
//#region src/google/maps-autocomplete.ts
|
|
1257
|
-
const googleMapsAutocomplete = serpApiOperation({
|
|
1258
|
-
id: "serpapi.google-maps-autocomplete",
|
|
1259
|
-
name: "Google Maps Autocomplete",
|
|
1260
|
-
description: "Search Google Maps Autocomplete via SerpApi",
|
|
1261
|
-
input: z.object({
|
|
1262
|
-
q: z.string(),
|
|
1263
|
-
ll: z.string().optional(),
|
|
1264
|
-
hl: z.string().optional(),
|
|
1265
|
-
gl: z.string().optional()
|
|
1266
|
-
}),
|
|
1267
|
-
output: z.object({
|
|
1268
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1269
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1270
|
-
suggestions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1271
|
-
}).passthrough(),
|
|
1272
|
-
run: async (input, credentials) => {
|
|
1273
|
-
return await serpApiSearch(credentials, "google_maps_autocomplete", input);
|
|
1274
|
-
}
|
|
1275
|
-
});
|
|
1276
|
-
const googleMapsAutocompleteTool = googleMapsAutocomplete;
|
|
1277
|
-
|
|
1278
|
-
//#endregion
|
|
1279
|
-
//#region src/google/maps-contributor-reviews.ts
|
|
1280
|
-
const googleMapsContributorReviews = serpApiOperation({
|
|
1281
|
-
id: "serpapi.google-maps-contributor-reviews",
|
|
1282
|
-
name: "Google Maps Contributor Reviews",
|
|
1283
|
-
description: "Get Google Maps contributor reviews via SerpApi",
|
|
1284
|
-
input: z.object({
|
|
1285
|
-
contributor_id: z.string(),
|
|
1286
|
-
hl: z.string().optional(),
|
|
1287
|
-
gl: z.string().optional(),
|
|
1288
|
-
next_page_token: z.string().optional()
|
|
1289
|
-
}),
|
|
1290
|
-
output: z.object({
|
|
1291
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1292
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1293
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1294
|
-
}).passthrough(),
|
|
1295
|
-
run: async (input, credentials) => {
|
|
1296
|
-
return await serpApiSearch(credentials, "google_maps_contributor_reviews", input);
|
|
1297
|
-
}
|
|
1298
|
-
});
|
|
1299
|
-
const googleMapsContributorReviewsTool = googleMapsContributorReviews;
|
|
1300
|
-
|
|
1301
|
-
//#endregion
|
|
1302
|
-
//#region src/google/maps-directions.ts
|
|
1303
|
-
const googleMapsDirections = serpApiOperation({
|
|
1304
|
-
id: "serpapi.google-maps-directions",
|
|
1305
|
-
name: "Google Maps Directions",
|
|
1306
|
-
description: "Get Google Maps directions via SerpApi",
|
|
1307
|
-
input: z.object({
|
|
1308
|
-
start_addr: z.string(),
|
|
1309
|
-
end_addr: z.string(),
|
|
1310
|
-
travel_mode: z.enum([
|
|
1311
|
-
"driving",
|
|
1312
|
-
"walking",
|
|
1313
|
-
"transit",
|
|
1314
|
-
"cycling"
|
|
1315
|
-
]).optional(),
|
|
1316
|
-
hl: z.string().optional(),
|
|
1317
|
-
gl: z.string().optional()
|
|
1318
|
-
}),
|
|
1319
|
-
output: z.object({
|
|
1320
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1321
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1322
|
-
directions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1323
|
-
}).passthrough(),
|
|
1324
|
-
run: async (input, credentials) => {
|
|
1325
|
-
return await serpApiSearch(credentials, "google_maps_directions", input);
|
|
1326
|
-
}
|
|
1327
|
-
});
|
|
1328
|
-
const googleMapsDirectionsTool = googleMapsDirections;
|
|
1329
|
-
|
|
1330
|
-
//#endregion
|
|
1331
|
-
//#region src/google/maps-photo-meta.ts
|
|
1332
|
-
const googleMapsPhotoMeta = serpApiOperation({
|
|
1333
|
-
id: "serpapi.google-maps-photo-meta",
|
|
1334
|
-
name: "Google Maps Photo Meta",
|
|
1335
|
-
description: "Get Google Maps photo metadata via SerpApi",
|
|
1336
|
-
input: z.object({
|
|
1337
|
-
data_id: z.string(),
|
|
1338
|
-
hl: z.string().optional(),
|
|
1339
|
-
gl: z.string().optional()
|
|
1340
|
-
}),
|
|
1341
|
-
output: z.object({
|
|
1342
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1343
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1344
|
-
photos: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1345
|
-
}).passthrough(),
|
|
1346
|
-
run: async (input, credentials) => {
|
|
1347
|
-
return await serpApiSearch(credentials, "google_maps_photo_meta", input);
|
|
1348
|
-
}
|
|
1349
|
-
});
|
|
1350
|
-
const googleMapsPhotoMetaTool = googleMapsPhotoMeta;
|
|
1351
|
-
|
|
1352
|
-
//#endregion
|
|
1353
|
-
//#region src/google/maps-photos.ts
|
|
1354
|
-
const googleMapsPhotos = serpApiOperation({
|
|
1355
|
-
id: "serpapi.google-maps-photos",
|
|
1356
|
-
name: "Google Maps Photos",
|
|
1357
|
-
description: "Get Google Maps photos via SerpApi",
|
|
1358
|
-
input: z.object({
|
|
1359
|
-
data_id: z.string(),
|
|
1360
|
-
category_id: z.string().optional(),
|
|
1361
|
-
hl: z.string().optional(),
|
|
1362
|
-
gl: z.string().optional(),
|
|
1363
|
-
next_page_token: z.string().optional()
|
|
1364
|
-
}),
|
|
1365
|
-
output: z.object({
|
|
1366
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1367
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1368
|
-
photos: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1369
|
-
}).passthrough(),
|
|
1370
|
-
run: async (input, credentials) => {
|
|
1371
|
-
return await serpApiSearch(credentials, "google_maps_photos", input);
|
|
1372
|
-
}
|
|
1373
|
-
});
|
|
1374
|
-
const googleMapsPhotosTool = googleMapsPhotos;
|
|
1375
|
-
|
|
1376
|
-
//#endregion
|
|
1377
|
-
//#region src/google/maps-posts.ts
|
|
1378
|
-
const googleMapsPosts = serpApiOperation({
|
|
1379
|
-
id: "serpapi.google-maps-posts",
|
|
1380
|
-
name: "Google Maps Posts",
|
|
1381
|
-
description: "Get Google Maps posts via SerpApi",
|
|
1382
|
-
input: z.object({
|
|
1383
|
-
data_id: z.string(),
|
|
1384
|
-
hl: z.string().optional(),
|
|
1385
|
-
gl: z.string().optional(),
|
|
1386
|
-
next_page_token: z.string().optional()
|
|
1387
|
-
}),
|
|
1388
|
-
output: z.object({
|
|
1389
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1390
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1391
|
-
posts: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1392
|
-
}).passthrough(),
|
|
1393
|
-
run: async (input, credentials) => {
|
|
1394
|
-
return await serpApiSearch(credentials, "google_maps_posts", input);
|
|
1395
|
-
}
|
|
1396
|
-
});
|
|
1397
|
-
const googleMapsPostsTool = googleMapsPosts;
|
|
1398
|
-
|
|
1399
|
-
//#endregion
|
|
1400
|
-
//#region src/google/maps-reviews.ts
|
|
1401
|
-
const googleMapsReviews = serpApiOperation({
|
|
1402
|
-
id: "serpapi.google-maps-reviews",
|
|
1403
|
-
name: "Google Maps Reviews",
|
|
1404
|
-
description: "Get Google Maps reviews via SerpApi",
|
|
1405
|
-
input: z.object({
|
|
1406
|
-
data_id: z.string(),
|
|
1407
|
-
place_id: z.string().optional(),
|
|
1408
|
-
hl: z.string().optional(),
|
|
1409
|
-
sort_by: z.number().optional(),
|
|
1410
|
-
topic_id: z.string().optional(),
|
|
1411
|
-
next_page_token: z.string().optional()
|
|
1412
|
-
}),
|
|
1413
|
-
output: z.object({
|
|
1414
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1415
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1416
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1417
|
-
topics: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1418
|
-
rating_distribution: z.record(z.string(), z.unknown()).optional()
|
|
1419
|
-
}).passthrough(),
|
|
1420
|
-
run: async (input, credentials) => {
|
|
1421
|
-
return await serpApiSearch(credentials, "google_maps_reviews", input);
|
|
1422
|
-
}
|
|
1423
|
-
});
|
|
1424
|
-
const googleMapsReviewsTool = googleMapsReviews;
|
|
1425
|
-
|
|
1426
|
-
//#endregion
|
|
1427
|
-
//#region src/google/news.ts
|
|
1428
|
-
const googleNews = serpApiOperation({
|
|
1429
|
-
id: "serpapi.google-news",
|
|
1430
|
-
name: "Google News Search",
|
|
1431
|
-
description: "Search Google News via SerpApi",
|
|
1432
|
-
input: z.object({
|
|
1433
|
-
q: z.string(),
|
|
1434
|
-
gl: z.string().optional(),
|
|
1435
|
-
hl: z.string().optional(),
|
|
1436
|
-
topic_token: z.string().optional(),
|
|
1437
|
-
device: z.string().optional()
|
|
1438
|
-
}),
|
|
1439
|
-
output: z.object({
|
|
1440
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1441
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1442
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1443
|
-
}).passthrough(),
|
|
1444
|
-
run: async (input, credentials) => {
|
|
1445
|
-
return await serpApiSearch(credentials, "google_news", input);
|
|
1446
|
-
}
|
|
1447
|
-
});
|
|
1448
|
-
const googleNewsTool = googleNews;
|
|
1449
|
-
|
|
1450
|
-
//#endregion
|
|
1451
|
-
//#region src/google/news-light.ts
|
|
1452
|
-
const googleNewsLight = serpApiOperation({
|
|
1453
|
-
id: "serpapi.google-news-light",
|
|
1454
|
-
name: "Google News Light Search",
|
|
1455
|
-
description: "Search Google News Light via SerpApi",
|
|
1456
|
-
input: z.object({
|
|
1457
|
-
q: z.string(),
|
|
1458
|
-
gl: z.string().optional(),
|
|
1459
|
-
hl: z.string().optional(),
|
|
1460
|
-
device: z.string().optional()
|
|
1461
|
-
}),
|
|
1462
|
-
output: z.object({
|
|
1463
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1464
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1465
|
-
top_stories: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1466
|
-
}).passthrough(),
|
|
1467
|
-
run: async (input, credentials) => {
|
|
1468
|
-
return await serpApiSearch(credentials, "google_news_light", input);
|
|
1469
|
-
}
|
|
1470
|
-
});
|
|
1471
|
-
const googleNewsLightTool = googleNewsLight;
|
|
1472
|
-
|
|
1473
|
-
//#endregion
|
|
1474
|
-
//#region src/google/patents.ts
|
|
1475
|
-
const googlePatents = serpApiOperation({
|
|
1476
|
-
id: "serpapi.google-patents",
|
|
1477
|
-
name: "Google Patents Search",
|
|
1478
|
-
description: "Search Google Patents via SerpApi",
|
|
1479
|
-
input: z.object({
|
|
1480
|
-
q: z.string(),
|
|
1481
|
-
page: z.number().optional(),
|
|
1482
|
-
scholar: z.boolean().optional(),
|
|
1483
|
-
before: z.string().optional(),
|
|
1484
|
-
after: z.string().optional(),
|
|
1485
|
-
inventor: z.string().optional(),
|
|
1486
|
-
assignee: z.string().optional(),
|
|
1487
|
-
country: z.string().optional(),
|
|
1488
|
-
language: z.string().optional(),
|
|
1489
|
-
status: z.string().optional(),
|
|
1490
|
-
type: z.string().optional(),
|
|
1491
|
-
litigation: z.boolean().optional()
|
|
1492
|
-
}),
|
|
1493
|
-
output: z.object({
|
|
1494
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1495
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1496
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1497
|
-
}).passthrough(),
|
|
1498
|
-
run: async (input, credentials) => {
|
|
1499
|
-
return await serpApiSearch(credentials, "google_patents", input);
|
|
1500
|
-
}
|
|
1501
|
-
});
|
|
1502
|
-
const googlePatentsTool = googlePatents;
|
|
1503
|
-
|
|
1504
|
-
//#endregion
|
|
1505
|
-
//#region src/google/patents-details.ts
|
|
1506
|
-
const googlePatentsDetails = serpApiOperation({
|
|
1507
|
-
id: "serpapi.google-patents-details",
|
|
1508
|
-
name: "Google Patents Details",
|
|
1509
|
-
description: "Get Google Patents details via SerpApi",
|
|
1510
|
-
input: z.object({ patent_id: z.string() }),
|
|
1511
|
-
output: z.object({
|
|
1512
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1513
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1514
|
-
patent: z.record(z.string(), z.unknown()).optional()
|
|
1515
|
-
}).passthrough(),
|
|
1516
|
-
run: async (input, credentials) => {
|
|
1517
|
-
return await serpApiSearch(credentials, "google_patents_details", input);
|
|
1518
|
-
}
|
|
1519
|
-
});
|
|
1520
|
-
const googlePatentsDetailsTool = googlePatentsDetails;
|
|
1521
|
-
|
|
1522
|
-
//#endregion
|
|
1523
|
-
//#region src/google/play.ts
|
|
1524
|
-
const googlePlay = serpApiOperation({
|
|
1525
|
-
id: "serpapi.google-play",
|
|
1526
|
-
name: "Google Play Search",
|
|
1527
|
-
description: "Search Google Play via SerpApi",
|
|
1528
|
-
input: z.object({
|
|
1529
|
-
q: z.string(),
|
|
1530
|
-
store: z.enum([
|
|
1531
|
-
"apps",
|
|
1532
|
-
"books",
|
|
1533
|
-
"movies",
|
|
1534
|
-
"games"
|
|
1535
|
-
]),
|
|
1536
|
-
gl: z.string().optional(),
|
|
1537
|
-
hl: z.string().optional(),
|
|
1538
|
-
price: z.number().optional(),
|
|
1539
|
-
age: z.string().optional(),
|
|
1540
|
-
content_rating: z.string().optional(),
|
|
1541
|
-
device: z.string().optional()
|
|
1542
|
-
}),
|
|
1543
|
-
output: z.object({
|
|
1544
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1545
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1546
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1547
|
-
}).passthrough(),
|
|
1548
|
-
run: async (input, credentials) => {
|
|
1549
|
-
return await serpApiSearch(credentials, "google_play", input);
|
|
1550
|
-
}
|
|
1551
|
-
});
|
|
1552
|
-
const googlePlayTool = googlePlay;
|
|
1553
|
-
|
|
1554
|
-
//#endregion
|
|
1555
|
-
//#region src/google/play-books.ts
|
|
1556
|
-
const googlePlayBooks = serpApiOperation({
|
|
1557
|
-
id: "serpapi.google-play-books",
|
|
1558
|
-
name: "Google Play Books Search",
|
|
1559
|
-
description: "Search Google Play Books via SerpApi",
|
|
1560
|
-
input: z.object({
|
|
1561
|
-
q: z.string(),
|
|
1562
|
-
gl: z.string().optional(),
|
|
1563
|
-
hl: z.string().optional()
|
|
1564
|
-
}),
|
|
1565
|
-
output: z.object({
|
|
1566
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1567
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1568
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1569
|
-
}).passthrough(),
|
|
1570
|
-
run: async (input, credentials) => {
|
|
1571
|
-
return await serpApiSearch(credentials, "google_play_books", input);
|
|
1572
|
-
}
|
|
1573
|
-
});
|
|
1574
|
-
const googlePlayBooksTool = googlePlayBooks;
|
|
1575
|
-
|
|
1576
|
-
//#endregion
|
|
1577
|
-
//#region src/google/play-games.ts
|
|
1578
|
-
const googlePlayGames = serpApiOperation({
|
|
1579
|
-
id: "serpapi.google-play-games",
|
|
1580
|
-
name: "Google Play Games Search",
|
|
1581
|
-
description: "Search Google Play Games via SerpApi",
|
|
1582
|
-
input: z.object({
|
|
1583
|
-
q: z.string(),
|
|
1584
|
-
gl: z.string().optional(),
|
|
1585
|
-
hl: z.string().optional()
|
|
1586
|
-
}),
|
|
1587
|
-
output: z.object({
|
|
1588
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1589
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1590
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1591
|
-
}).passthrough(),
|
|
1592
|
-
run: async (input, credentials) => {
|
|
1593
|
-
return await serpApiSearch(credentials, "google_play_games", input);
|
|
1594
|
-
}
|
|
1595
|
-
});
|
|
1596
|
-
const googlePlayGamesTool = googlePlayGames;
|
|
1597
|
-
|
|
1598
|
-
//#endregion
|
|
1599
|
-
//#region src/google/play-movies.ts
|
|
1600
|
-
const googlePlayMovies = serpApiOperation({
|
|
1601
|
-
id: "serpapi.google-play-movies",
|
|
1602
|
-
name: "Google Play Movies Search",
|
|
1603
|
-
description: "Search Google Play Movies via SerpApi",
|
|
1604
|
-
input: z.object({
|
|
1605
|
-
q: z.string(),
|
|
1606
|
-
gl: z.string().optional(),
|
|
1607
|
-
hl: z.string().optional()
|
|
1608
|
-
}),
|
|
1609
|
-
output: z.object({
|
|
1610
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1611
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1612
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1613
|
-
}).passthrough(),
|
|
1614
|
-
run: async (input, credentials) => {
|
|
1615
|
-
return await serpApiSearch(credentials, "google_play_movies", input);
|
|
1616
|
-
}
|
|
1617
|
-
});
|
|
1618
|
-
const googlePlayMoviesTool = googlePlayMovies;
|
|
1619
|
-
|
|
1620
|
-
//#endregion
|
|
1621
|
-
//#region src/google/play-product.ts
|
|
1622
|
-
const googlePlayProduct = serpApiOperation({
|
|
1623
|
-
id: "serpapi.google-play-product",
|
|
1624
|
-
name: "Google Play Product",
|
|
1625
|
-
description: "Get Google Play product details via SerpApi",
|
|
1626
|
-
input: z.object({
|
|
1627
|
-
product_id: z.string(),
|
|
1628
|
-
store: z.enum([
|
|
1629
|
-
"apps",
|
|
1630
|
-
"books",
|
|
1631
|
-
"movies",
|
|
1632
|
-
"games"
|
|
1633
|
-
]),
|
|
1634
|
-
gl: z.string().optional(),
|
|
1635
|
-
hl: z.string().optional()
|
|
1636
|
-
}),
|
|
1637
|
-
output: z.object({
|
|
1638
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1639
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1640
|
-
product: z.record(z.string(), z.unknown()).optional()
|
|
1641
|
-
}).passthrough(),
|
|
1642
|
-
run: async (input, credentials) => {
|
|
1643
|
-
return await serpApiSearch(credentials, "google_play_product", input);
|
|
1644
|
-
}
|
|
1645
|
-
});
|
|
1646
|
-
const googlePlayProductTool = googlePlayProduct;
|
|
1647
|
-
|
|
1648
|
-
//#endregion
|
|
1649
|
-
//#region src/google/related-questions.ts
|
|
1650
|
-
const googleRelatedQuestions = serpApiOperation({
|
|
1651
|
-
id: "serpapi.google-related-questions",
|
|
1652
|
-
name: "Google Related Questions",
|
|
1653
|
-
description: "Search Google Related Questions via SerpApi",
|
|
1654
|
-
input: z.object({
|
|
1655
|
-
q: z.string(),
|
|
1656
|
-
gl: z.string().optional(),
|
|
1657
|
-
hl: z.string().optional(),
|
|
1658
|
-
device: z.string().optional()
|
|
1659
|
-
}),
|
|
1660
|
-
output: z.object({
|
|
1661
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1662
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1663
|
-
related_questions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1664
|
-
}).passthrough(),
|
|
1665
|
-
run: async (input, credentials) => {
|
|
1666
|
-
return await serpApiSearch(credentials, "google_related_questions", input);
|
|
1667
|
-
}
|
|
1668
|
-
});
|
|
1669
|
-
const googleRelatedQuestionsTool = googleRelatedQuestions;
|
|
1670
|
-
|
|
1671
|
-
//#endregion
|
|
1672
|
-
//#region src/google/reverse-image.ts
|
|
1673
|
-
const googleReverseImage = serpApiOperation({
|
|
1674
|
-
id: "serpapi.google-reverse-image",
|
|
1675
|
-
name: "Google Reverse Image Search",
|
|
1676
|
-
description: "Search Google Reverse Image via SerpApi",
|
|
1677
|
-
input: z.object({
|
|
1678
|
-
image_url: z.string(),
|
|
1679
|
-
gl: z.string().optional(),
|
|
1680
|
-
hl: z.string().optional(),
|
|
1681
|
-
device: z.string().optional()
|
|
1682
|
-
}),
|
|
1683
|
-
output: z.object({
|
|
1684
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1685
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1686
|
-
image_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1687
|
-
inline_images: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1688
|
-
}).passthrough(),
|
|
1689
|
-
run: async (input, credentials) => {
|
|
1690
|
-
return await serpApiSearch(credentials, "google_reverse_image", input);
|
|
1691
|
-
}
|
|
1692
|
-
});
|
|
1693
|
-
const googleReverseImageTool = googleReverseImage;
|
|
1694
|
-
|
|
1695
|
-
//#endregion
|
|
1696
|
-
//#region src/google/scholar.ts
|
|
1697
|
-
const googleScholar = serpApiOperation({
|
|
1698
|
-
id: "serpapi.google-scholar",
|
|
1699
|
-
name: "Google Scholar Search",
|
|
1700
|
-
description: "Search Google Scholar via SerpApi",
|
|
1701
|
-
input: z.object({
|
|
1702
|
-
q: z.string(),
|
|
1703
|
-
cites: z.string().optional(),
|
|
1704
|
-
as_ylo: z.number().optional(),
|
|
1705
|
-
as_yhi: z.number().optional(),
|
|
1706
|
-
scisbd: z.number().optional(),
|
|
1707
|
-
cluster: z.string().optional(),
|
|
1708
|
-
hl: z.string().optional(),
|
|
1709
|
-
lr: z.string().optional(),
|
|
1710
|
-
start: z.number().optional(),
|
|
1711
|
-
num: z.number().optional(),
|
|
1712
|
-
as_sdt: z.string().optional(),
|
|
1713
|
-
device: z.string().optional()
|
|
1714
|
-
}),
|
|
1715
|
-
output: z.object({
|
|
1716
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1717
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1718
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1719
|
-
cited_by: z.record(z.string(), z.unknown()).optional()
|
|
1720
|
-
}).passthrough(),
|
|
1721
|
-
run: async (input, credentials) => {
|
|
1722
|
-
return await serpApiSearch(credentials, "google_scholar", input);
|
|
1723
|
-
}
|
|
1724
|
-
});
|
|
1725
|
-
const googleScholarTool = googleScholar;
|
|
1726
|
-
|
|
1727
|
-
//#endregion
|
|
1728
|
-
//#region src/google/scholar-author.ts
|
|
1729
|
-
const googleScholarAuthor = serpApiOperation({
|
|
1730
|
-
id: "serpapi.google-scholar-author",
|
|
1731
|
-
name: "Google Scholar Author",
|
|
1732
|
-
description: "Get Google Scholar author details via SerpApi",
|
|
1733
|
-
input: z.object({
|
|
1734
|
-
author_id: z.string(),
|
|
1735
|
-
hl: z.string().optional(),
|
|
1736
|
-
start: z.number().optional(),
|
|
1737
|
-
num: z.number().optional(),
|
|
1738
|
-
sort: z.string().optional()
|
|
1739
|
-
}),
|
|
1740
|
-
output: z.object({
|
|
1741
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1742
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1743
|
-
author: z.record(z.string(), z.unknown()).optional(),
|
|
1744
|
-
articles: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1745
|
-
cited_by: z.record(z.string(), z.unknown()).optional()
|
|
1746
|
-
}).passthrough(),
|
|
1747
|
-
run: async (input, credentials) => {
|
|
1748
|
-
return await serpApiSearch(credentials, "google_scholar_author", input);
|
|
1749
|
-
}
|
|
1750
|
-
});
|
|
1751
|
-
const googleScholarAuthorTool = googleScholarAuthor;
|
|
1752
|
-
|
|
1753
|
-
//#endregion
|
|
1754
|
-
//#region src/google/scholar-cite.ts
|
|
1755
|
-
const googleScholarCite = serpApiOperation({
|
|
1756
|
-
id: "serpapi.google-scholar-cite",
|
|
1757
|
-
name: "Google Scholar Cite",
|
|
1758
|
-
description: "Get Google Scholar citation details via SerpApi",
|
|
1759
|
-
input: z.object({
|
|
1760
|
-
q: z.string(),
|
|
1761
|
-
hl: z.string().optional()
|
|
1762
|
-
}),
|
|
1763
|
-
output: z.object({
|
|
1764
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1765
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1766
|
-
citations: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1767
|
-
links: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1768
|
-
}).passthrough(),
|
|
1769
|
-
run: async (input, credentials) => {
|
|
1770
|
-
return await serpApiSearch(credentials, "google_scholar_cite", input);
|
|
1771
|
-
}
|
|
1772
|
-
});
|
|
1773
|
-
const googleScholarCiteTool = googleScholarCite;
|
|
1774
|
-
|
|
1775
|
-
//#endregion
|
|
1776
|
-
//#region src/google/scholar-profiles.ts
|
|
1777
|
-
const googleScholarProfiles = serpApiOperation({
|
|
1778
|
-
id: "serpapi.google-scholar-profiles",
|
|
1779
|
-
name: "Google Scholar Profiles Search",
|
|
1780
|
-
description: "Search Google Scholar Profiles via SerpApi",
|
|
1781
|
-
input: z.object({
|
|
1782
|
-
mauthors: z.string(),
|
|
1783
|
-
hl: z.string().optional(),
|
|
1784
|
-
after_author: z.string().optional(),
|
|
1785
|
-
before_author: z.string().optional()
|
|
1786
|
-
}),
|
|
1787
|
-
output: z.object({
|
|
1788
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1789
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1790
|
-
profiles: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1791
|
-
}).passthrough(),
|
|
1792
|
-
run: async (input, credentials) => {
|
|
1793
|
-
return await serpApiSearch(credentials, "google_scholar_profiles", input);
|
|
1794
|
-
}
|
|
1795
|
-
});
|
|
1796
|
-
const googleScholarProfilesTool = googleScholarProfiles;
|
|
1797
|
-
|
|
1798
|
-
//#endregion
|
|
1799
|
-
//#region src/google/search.ts
|
|
1800
|
-
const googleSearch = serpApiOperation({
|
|
1801
|
-
id: "serpapi.google-search",
|
|
1802
|
-
name: "Google Search",
|
|
1803
|
-
description: "Search Google via SerpApi",
|
|
1804
|
-
input: z.object({
|
|
1805
|
-
q: z.string(),
|
|
1806
|
-
location: z.string().optional(),
|
|
1807
|
-
uule: z.string().optional(),
|
|
1808
|
-
google_domain: z.string().optional(),
|
|
1809
|
-
gl: z.string().optional(),
|
|
1810
|
-
hl: z.string().optional(),
|
|
1811
|
-
lr: z.string().optional(),
|
|
1812
|
-
cr: z.string().optional(),
|
|
1813
|
-
tbs: z.string().optional(),
|
|
1814
|
-
safe: z.string().optional(),
|
|
1815
|
-
nfpr: z.number().optional(),
|
|
1816
|
-
filter: z.number().optional(),
|
|
1817
|
-
tbm: z.string().optional(),
|
|
1818
|
-
start: z.number().optional(),
|
|
1819
|
-
num: z.number().optional(),
|
|
1820
|
-
device: z.string().optional()
|
|
1821
|
-
}),
|
|
1822
|
-
output: z.object({
|
|
1823
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1824
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1825
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1826
|
-
local_results: z.record(z.string(), z.unknown()).optional(),
|
|
1827
|
-
local_map: z.record(z.string(), z.unknown()).optional(),
|
|
1828
|
-
knowledge_graph: z.record(z.string(), z.unknown()).optional(),
|
|
1829
|
-
answer_box: z.record(z.string(), z.unknown()).optional(),
|
|
1830
|
-
ai_overview: z.record(z.string(), z.unknown()).optional(),
|
|
1831
|
-
related_questions: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1832
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1833
|
-
shopping_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1834
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1835
|
-
inline_videos: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1836
|
-
inline_images: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1837
|
-
ads: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1838
|
-
pagination: z.record(z.string(), z.unknown()).optional()
|
|
1839
|
-
}).passthrough(),
|
|
1840
|
-
run: async (input, credentials) => {
|
|
1841
|
-
return await serpApiSearch(credentials, "google", input);
|
|
1842
|
-
}
|
|
1843
|
-
});
|
|
1844
|
-
const googleSearchTool = googleSearch;
|
|
1845
|
-
|
|
1846
|
-
//#endregion
|
|
1847
|
-
//#region src/google/shopping.ts
|
|
1848
|
-
const googleShopping = serpApiOperation({
|
|
1849
|
-
id: "serpapi.google-shopping",
|
|
1850
|
-
name: "Google Shopping Search",
|
|
1851
|
-
description: "Search Google Shopping via SerpApi",
|
|
1852
|
-
input: z.object({
|
|
1853
|
-
q: z.string(),
|
|
1854
|
-
location: z.string().optional(),
|
|
1855
|
-
gl: z.string().optional(),
|
|
1856
|
-
hl: z.string().optional(),
|
|
1857
|
-
tbs: z.string().optional(),
|
|
1858
|
-
start: z.number().optional(),
|
|
1859
|
-
device: z.string().optional()
|
|
1860
|
-
}),
|
|
1861
|
-
output: z.object({
|
|
1862
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1863
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1864
|
-
shopping_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1865
|
-
filters_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1866
|
-
}).passthrough(),
|
|
1867
|
-
run: async (input, credentials) => {
|
|
1868
|
-
return await serpApiSearch(credentials, "google_shopping", input);
|
|
1869
|
-
}
|
|
1870
|
-
});
|
|
1871
|
-
const googleShoppingTool = googleShopping;
|
|
1872
|
-
|
|
1873
|
-
//#endregion
|
|
1874
|
-
//#region src/google/shopping-light.ts
|
|
1875
|
-
const googleShoppingLight = serpApiOperation({
|
|
1876
|
-
id: "serpapi.google-shopping-light",
|
|
1877
|
-
name: "Google Shopping Light Search",
|
|
1878
|
-
description: "Search Google Shopping Light via SerpApi",
|
|
1879
|
-
input: z.object({
|
|
1880
|
-
q: z.string(),
|
|
1881
|
-
gl: z.string().optional(),
|
|
1882
|
-
hl: z.string().optional(),
|
|
1883
|
-
tbs: z.string().optional(),
|
|
1884
|
-
device: z.string().optional()
|
|
1885
|
-
}),
|
|
1886
|
-
output: z.object({
|
|
1887
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1888
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1889
|
-
shopping_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1890
|
-
}).passthrough(),
|
|
1891
|
-
run: async (input, credentials) => {
|
|
1892
|
-
return await serpApiSearch(credentials, "google_shopping_light", input);
|
|
1893
|
-
}
|
|
1894
|
-
});
|
|
1895
|
-
const googleShoppingLightTool = googleShoppingLight;
|
|
1896
|
-
|
|
1897
|
-
//#endregion
|
|
1898
|
-
//#region src/google/short-videos.ts
|
|
1899
|
-
const googleShortVideos = serpApiOperation({
|
|
1900
|
-
id: "serpapi.google-short-videos",
|
|
1901
|
-
name: "Google Short Videos Search",
|
|
1902
|
-
description: "Search Google Short Videos via SerpApi",
|
|
1903
|
-
input: z.object({
|
|
1904
|
-
q: z.string(),
|
|
1905
|
-
gl: z.string().optional(),
|
|
1906
|
-
hl: z.string().optional(),
|
|
1907
|
-
device: z.string().optional()
|
|
1908
|
-
}),
|
|
1909
|
-
output: z.object({
|
|
1910
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1911
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1912
|
-
short_videos_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1913
|
-
}).passthrough(),
|
|
1914
|
-
run: async (input, credentials) => {
|
|
1915
|
-
return await serpApiSearch(credentials, "google_short_videos", input);
|
|
1916
|
-
}
|
|
1917
|
-
});
|
|
1918
|
-
const googleShortVideosTool = googleShortVideos;
|
|
1919
|
-
|
|
1920
|
-
//#endregion
|
|
1921
|
-
//#region src/google/travel-explore.ts
|
|
1922
|
-
const googleTravelExplore = serpApiOperation({
|
|
1923
|
-
id: "serpapi.google-travel-explore",
|
|
1924
|
-
name: "Google Travel Explore",
|
|
1925
|
-
description: "Explore Google Travel destinations via SerpApi",
|
|
1926
|
-
input: z.object({
|
|
1927
|
-
departure_token: z.string().optional(),
|
|
1928
|
-
gl: z.string().optional(),
|
|
1929
|
-
hl: z.string().optional(),
|
|
1930
|
-
currency: z.string().optional()
|
|
1931
|
-
}),
|
|
1932
|
-
output: z.object({
|
|
1933
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1934
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1935
|
-
destinations: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1936
|
-
flights: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1937
|
-
}).passthrough(),
|
|
1938
|
-
run: async (input, credentials) => {
|
|
1939
|
-
return await serpApiSearch(credentials, "google_travel_explore", input);
|
|
1940
|
-
}
|
|
1941
|
-
});
|
|
1942
|
-
const googleTravelExploreTool = googleTravelExplore;
|
|
1943
|
-
|
|
1944
|
-
//#endregion
|
|
1945
|
-
//#region src/google/trends.ts
|
|
1946
|
-
const googleTrends = serpApiOperation({
|
|
1947
|
-
id: "serpapi.google-trends",
|
|
1948
|
-
name: "Google Trends Search",
|
|
1949
|
-
description: "Search Google Trends via SerpApi",
|
|
1950
|
-
input: z.object({
|
|
1951
|
-
q: z.string(),
|
|
1952
|
-
data_type: z.enum([
|
|
1953
|
-
"TIMESERIES",
|
|
1954
|
-
"GEO_MAP",
|
|
1955
|
-
"GEO_MAP_0",
|
|
1956
|
-
"RELATED_TOPICS",
|
|
1957
|
-
"RELATED_QUERIES"
|
|
1958
|
-
]).optional(),
|
|
1959
|
-
date: z.string().optional(),
|
|
1960
|
-
tz: z.number().optional(),
|
|
1961
|
-
geo: z.string().optional(),
|
|
1962
|
-
gprop: z.string().optional(),
|
|
1963
|
-
cat: z.number().optional()
|
|
1964
|
-
}),
|
|
1965
|
-
output: z.object({
|
|
1966
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1967
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1968
|
-
interest_over_time: z.record(z.string(), z.unknown()).optional(),
|
|
1969
|
-
compared_breakdown_by_region: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1970
|
-
related_topics: z.record(z.string(), z.unknown()).optional(),
|
|
1971
|
-
related_queries: z.record(z.string(), z.unknown()).optional()
|
|
1972
|
-
}).passthrough(),
|
|
1973
|
-
run: async (input, credentials) => {
|
|
1974
|
-
return await serpApiSearch(credentials, "google_trends", input);
|
|
1975
|
-
}
|
|
1976
|
-
});
|
|
1977
|
-
const googleTrendsTool = googleTrends;
|
|
1978
|
-
|
|
1979
|
-
//#endregion
|
|
1980
|
-
//#region src/google/trends-autocomplete.ts
|
|
1981
|
-
const googleTrendsAutocomplete = serpApiOperation({
|
|
1982
|
-
id: "serpapi.google-trends-autocomplete",
|
|
1983
|
-
name: "Google Trends Autocomplete",
|
|
1984
|
-
description: "Search Google Trends Autocomplete via SerpApi",
|
|
1985
|
-
input: z.object({
|
|
1986
|
-
q: z.string(),
|
|
1987
|
-
hl: z.string().optional()
|
|
1988
|
-
}),
|
|
1989
|
-
output: z.object({
|
|
1990
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1991
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1992
|
-
suggestions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1993
|
-
}).passthrough(),
|
|
1994
|
-
run: async (input, credentials) => {
|
|
1995
|
-
return await serpApiSearch(credentials, "google_trends_autocomplete", input);
|
|
1996
|
-
}
|
|
1997
|
-
});
|
|
1998
|
-
const googleTrendsAutocompleteTool = googleTrendsAutocomplete;
|
|
1999
|
-
|
|
2000
|
-
//#endregion
|
|
2001
|
-
//#region src/google/trends-news.ts
|
|
2002
|
-
const googleTrendsNews = serpApiOperation({
|
|
2003
|
-
id: "serpapi.google-trends-news",
|
|
2004
|
-
name: "Google Trends News",
|
|
2005
|
-
description: "Get Google Trends news via SerpApi",
|
|
2006
|
-
input: z.object({
|
|
2007
|
-
q: z.string(),
|
|
2008
|
-
date: z.string().optional(),
|
|
2009
|
-
geo: z.string().optional(),
|
|
2010
|
-
hl: z.string().optional()
|
|
2011
|
-
}),
|
|
2012
|
-
output: z.object({
|
|
2013
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2014
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2015
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2016
|
-
}).passthrough(),
|
|
2017
|
-
run: async (input, credentials) => {
|
|
2018
|
-
return await serpApiSearch(credentials, "google_trends_news", input);
|
|
2019
|
-
}
|
|
2020
|
-
});
|
|
2021
|
-
const googleTrendsNewsTool = googleTrendsNews;
|
|
2022
|
-
|
|
2023
|
-
//#endregion
|
|
2024
|
-
//#region src/google/trends-trending-now.ts
|
|
2025
|
-
const googleTrendsTrendingNow = serpApiOperation({
|
|
2026
|
-
id: "serpapi.google-trends-trending-now",
|
|
2027
|
-
name: "Google Trends Trending Now",
|
|
2028
|
-
description: "Get Google Trends trending searches via SerpApi",
|
|
2029
|
-
input: z.object({
|
|
2030
|
-
geo: z.string().optional(),
|
|
2031
|
-
hl: z.string().optional(),
|
|
2032
|
-
date: z.string().optional()
|
|
2033
|
-
}),
|
|
2034
|
-
output: z.object({
|
|
2035
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2036
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2037
|
-
trending_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2038
|
-
}).passthrough(),
|
|
2039
|
-
run: async (input, credentials) => {
|
|
2040
|
-
return await serpApiSearch(credentials, "google_trends_trending_now", input);
|
|
2041
|
-
}
|
|
2042
|
-
});
|
|
2043
|
-
const googleTrendsTrendingNowTool = googleTrendsTrendingNow;
|
|
2044
|
-
|
|
2045
|
-
//#endregion
|
|
2046
|
-
//#region src/google/videos.ts
|
|
2047
|
-
const googleVideos = serpApiOperation({
|
|
2048
|
-
id: "serpapi.google-videos",
|
|
2049
|
-
name: "Google Videos Search",
|
|
2050
|
-
description: "Search Google Videos via SerpApi",
|
|
2051
|
-
input: z.object({
|
|
2052
|
-
q: z.string(),
|
|
2053
|
-
location: z.string().optional(),
|
|
2054
|
-
gl: z.string().optional(),
|
|
2055
|
-
hl: z.string().optional(),
|
|
2056
|
-
tbs: z.string().optional(),
|
|
2057
|
-
device: z.string().optional()
|
|
2058
|
-
}),
|
|
2059
|
-
output: z.object({
|
|
2060
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2061
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2062
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2063
|
-
}).passthrough(),
|
|
2064
|
-
run: async (input, credentials) => {
|
|
2065
|
-
return await serpApiSearch(credentials, "google_videos", input);
|
|
2066
|
-
}
|
|
2067
|
-
});
|
|
2068
|
-
const googleVideosTool = googleVideos;
|
|
2069
|
-
|
|
2070
|
-
//#endregion
|
|
2071
|
-
//#region src/google/videos-light.ts
|
|
2072
|
-
const googleVideosLight = serpApiOperation({
|
|
2073
|
-
id: "serpapi.google-videos-light",
|
|
2074
|
-
name: "Google Videos Light Search",
|
|
2075
|
-
description: "Search Google Videos Light via SerpApi",
|
|
2076
|
-
input: z.object({
|
|
2077
|
-
q: z.string(),
|
|
2078
|
-
gl: z.string().optional(),
|
|
2079
|
-
hl: z.string().optional(),
|
|
2080
|
-
device: z.string().optional()
|
|
2081
|
-
}),
|
|
2082
|
-
output: z.object({
|
|
2083
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2084
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2085
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2086
|
-
}).passthrough(),
|
|
2087
|
-
run: async (input, credentials) => {
|
|
2088
|
-
return await serpApiSearch(credentials, "google_videos_light", input);
|
|
2089
|
-
}
|
|
2090
|
-
});
|
|
2091
|
-
const googleVideosLightTool = googleVideosLight;
|
|
2092
|
-
|
|
2093
|
-
//#endregion
|
|
2094
|
-
//#region src/home-depot/product.ts
|
|
2095
|
-
const homeDepotProduct = serpApiOperation({
|
|
2096
|
-
id: "serpapi.home-depot-product",
|
|
2097
|
-
name: "Home Depot Product",
|
|
2098
|
-
description: "Get Home Depot product details via SerpApi",
|
|
2099
|
-
input: z.object({ product_id: z.string() }),
|
|
2100
|
-
output: z.object({
|
|
2101
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2102
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2103
|
-
product: z.record(z.string(), z.unknown()).optional()
|
|
2104
|
-
}).passthrough(),
|
|
2105
|
-
run: async (input, credentials) => {
|
|
2106
|
-
return await serpApiSearch(credentials, "home_depot_product", input);
|
|
2107
|
-
}
|
|
2108
|
-
});
|
|
2109
|
-
const homeDepotProductTool = homeDepotProduct;
|
|
2110
|
-
|
|
2111
|
-
//#endregion
|
|
2112
|
-
//#region src/home-depot/product-reviews.ts
|
|
2113
|
-
const homeDepotProductReviews = serpApiOperation({
|
|
2114
|
-
id: "serpapi.home-depot-product-reviews",
|
|
2115
|
-
name: "Home Depot Product Reviews",
|
|
2116
|
-
description: "Get Home Depot product reviews via SerpApi",
|
|
2117
|
-
input: z.object({
|
|
2118
|
-
product_id: z.string(),
|
|
2119
|
-
sort_by: z.string().optional(),
|
|
2120
|
-
page: z.number().optional()
|
|
2121
|
-
}),
|
|
2122
|
-
output: z.object({
|
|
2123
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2124
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2125
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2126
|
-
}).passthrough(),
|
|
2127
|
-
run: async (input, credentials) => {
|
|
2128
|
-
return await serpApiSearch(credentials, "home_depot_product_reviews", input);
|
|
2129
|
-
}
|
|
2130
|
-
});
|
|
2131
|
-
const homeDepotProductReviewsTool = homeDepotProductReviews;
|
|
2132
|
-
|
|
2133
|
-
//#endregion
|
|
2134
|
-
//#region src/home-depot/search.ts
|
|
2135
|
-
const homeDepotSearch = serpApiOperation({
|
|
2136
|
-
id: "serpapi.home-depot-search",
|
|
2137
|
-
name: "Home Depot Search",
|
|
2138
|
-
description: "Search Home Depot via SerpApi",
|
|
2139
|
-
input: z.object({
|
|
2140
|
-
q: z.string(),
|
|
2141
|
-
nao: z.number().optional(),
|
|
2142
|
-
ps: z.number().optional(),
|
|
2143
|
-
lowerbound: z.number().optional(),
|
|
2144
|
-
upperbound: z.number().optional(),
|
|
2145
|
-
sortby: z.string().optional(),
|
|
2146
|
-
sortorder: z.string().optional()
|
|
2147
|
-
}),
|
|
2148
|
-
output: z.object({
|
|
2149
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2150
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2151
|
-
products: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2152
|
-
filtering: z.record(z.string(), z.unknown()).optional()
|
|
2153
|
-
}).passthrough(),
|
|
2154
|
-
run: async (input, credentials) => {
|
|
2155
|
-
return await serpApiSearch(credentials, "home_depot", input);
|
|
2156
|
-
}
|
|
2157
|
-
});
|
|
2158
|
-
const homeDepotSearchTool = homeDepotSearch;
|
|
2159
|
-
|
|
2160
|
-
//#endregion
|
|
2161
|
-
//#region src/naver/ai-overview.ts
|
|
2162
|
-
const naverAiOverview = serpApiOperation({
|
|
2163
|
-
id: "serpapi.naver-ai-overview",
|
|
2164
|
-
name: "Naver AI Overview",
|
|
2165
|
-
description: "Get Naver AI Overview via SerpApi",
|
|
2166
|
-
input: z.object({ q: z.string() }),
|
|
2167
|
-
output: z.object({
|
|
2168
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2169
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2170
|
-
ai_overview: z.record(z.string(), z.unknown()).optional()
|
|
2171
|
-
}).passthrough(),
|
|
2172
|
-
run: async (input, credentials) => {
|
|
2173
|
-
return await serpApiSearch(credentials, "naver_ai_overview", input);
|
|
2174
|
-
}
|
|
2175
|
-
});
|
|
2176
|
-
const naverAiOverviewTool = naverAiOverview;
|
|
2177
|
-
|
|
2178
|
-
//#endregion
|
|
2179
|
-
//#region src/naver/search.ts
|
|
2180
|
-
const naverSearch = serpApiOperation({
|
|
2181
|
-
id: "serpapi.naver-search",
|
|
2182
|
-
name: "Naver Search",
|
|
2183
|
-
description: "Search Naver via SerpApi",
|
|
2184
|
-
input: z.object({
|
|
2185
|
-
query: z.string(),
|
|
2186
|
-
where: z.string().optional()
|
|
2187
|
-
}),
|
|
2188
|
-
output: z.object({
|
|
2189
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2190
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2191
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2192
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2193
|
-
ai_overview: z.record(z.string(), z.unknown()).optional(),
|
|
2194
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2195
|
-
shopping_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2196
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2197
|
-
}).passthrough(),
|
|
2198
|
-
run: async (input, credentials) => {
|
|
2199
|
-
return await serpApiSearch(credentials, "naver", input);
|
|
2200
|
-
}
|
|
2201
|
-
});
|
|
2202
|
-
const naverSearchTool = naverSearch;
|
|
2203
|
-
|
|
2204
|
-
//#endregion
|
|
2205
|
-
//#region src/opentable/reviews.ts
|
|
2206
|
-
const opentableReviews = serpApiOperation({
|
|
2207
|
-
id: "serpapi.opentable-reviews",
|
|
2208
|
-
name: "OpenTable Reviews",
|
|
2209
|
-
description: "Get OpenTable restaurant reviews via SerpApi",
|
|
2210
|
-
input: z.object({
|
|
2211
|
-
restaurant_id: z.string(),
|
|
2212
|
-
sort_by: z.string().optional(),
|
|
2213
|
-
page: z.number().optional()
|
|
2214
|
-
}),
|
|
2215
|
-
output: z.object({
|
|
2216
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2217
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2218
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2219
|
-
}).passthrough(),
|
|
2220
|
-
run: async (input, credentials) => {
|
|
2221
|
-
return await serpApiSearch(credentials, "open_table_reviews", input);
|
|
2222
|
-
}
|
|
2223
|
-
});
|
|
2224
|
-
const opentableReviewsTool = opentableReviews;
|
|
2225
|
-
|
|
2226
|
-
//#endregion
|
|
2227
|
-
//#region src/serpapi/search-index.ts
|
|
2228
|
-
const serpApiSearchIndex = serpApiOperation({
|
|
2229
|
-
id: "serpapi.search-index",
|
|
2230
|
-
name: "SerpApi Search Index",
|
|
2231
|
-
description: "Search across SerpApi search index",
|
|
2232
|
-
input: z.object({ q: z.string() }),
|
|
2233
|
-
output: z.object({
|
|
2234
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2235
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2236
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2237
|
-
}).passthrough(),
|
|
2238
|
-
run: async (input, credentials) => {
|
|
2239
|
-
return await serpApiSearch(credentials, "search_index", input);
|
|
2240
|
-
}
|
|
2241
|
-
});
|
|
2242
|
-
const serpApiSearchIndexTool = serpApiSearchIndex;
|
|
2243
|
-
|
|
2244
|
-
//#endregion
|
|
2245
|
-
//#region src/tripadvisor/place.ts
|
|
2246
|
-
const tripadvisorPlace = serpApiOperation({
|
|
2247
|
-
id: "serpapi.tripadvisor-place",
|
|
2248
|
-
name: "TripAdvisor Place",
|
|
2249
|
-
description: "Get TripAdvisor place details via SerpApi",
|
|
2250
|
-
input: z.object({
|
|
2251
|
-
place_id: z.string(),
|
|
2252
|
-
domain: z.string().optional()
|
|
2253
|
-
}),
|
|
2254
|
-
output: z.object({
|
|
2255
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2256
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2257
|
-
place: z.record(z.string(), z.unknown()).optional()
|
|
2258
|
-
}).passthrough(),
|
|
2259
|
-
run: async (input, credentials) => {
|
|
2260
|
-
return await serpApiSearch(credentials, "tripadvisor_place", input);
|
|
2261
|
-
}
|
|
2262
|
-
});
|
|
2263
|
-
const tripadvisorPlaceTool = tripadvisorPlace;
|
|
2264
|
-
|
|
2265
|
-
//#endregion
|
|
2266
|
-
//#region src/tripadvisor/reviews.ts
|
|
2267
|
-
const tripadvisorReviews = serpApiOperation({
|
|
2268
|
-
id: "serpapi.tripadvisor-reviews",
|
|
2269
|
-
name: "TripAdvisor Reviews",
|
|
2270
|
-
description: "Get TripAdvisor place reviews via SerpApi",
|
|
2271
|
-
input: z.object({
|
|
2272
|
-
place_id: z.string(),
|
|
2273
|
-
domain: z.string().optional(),
|
|
2274
|
-
sort_by: z.string().optional(),
|
|
2275
|
-
page: z.number().optional()
|
|
2276
|
-
}),
|
|
2277
|
-
output: z.object({
|
|
2278
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2279
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2280
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2281
|
-
}).passthrough(),
|
|
2282
|
-
run: async (input, credentials) => {
|
|
2283
|
-
return await serpApiSearch(credentials, "tripadvisor_reviews", input);
|
|
2284
|
-
}
|
|
2285
|
-
});
|
|
2286
|
-
const tripadvisorReviewsTool = tripadvisorReviews;
|
|
2287
|
-
|
|
2288
|
-
//#endregion
|
|
2289
|
-
//#region src/tripadvisor/search.ts
|
|
2290
|
-
const tripadvisorSearch = serpApiOperation({
|
|
2291
|
-
id: "serpapi.tripadvisor-search",
|
|
2292
|
-
name: "TripAdvisor Search",
|
|
2293
|
-
description: "Search TripAdvisor via SerpApi",
|
|
2294
|
-
input: z.object({
|
|
2295
|
-
q: z.string(),
|
|
2296
|
-
domain: z.string().optional(),
|
|
2297
|
-
page: z.number().optional()
|
|
2298
|
-
}),
|
|
2299
|
-
output: z.object({
|
|
2300
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2301
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2302
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2303
|
-
}).passthrough(),
|
|
2304
|
-
run: async (input, credentials) => {
|
|
2305
|
-
return await serpApiSearch(credentials, "tripadvisor", input);
|
|
2306
|
-
}
|
|
2307
|
-
});
|
|
2308
|
-
const tripadvisorSearchTool = tripadvisorSearch;
|
|
2309
|
-
|
|
2310
|
-
//#endregion
|
|
2311
|
-
//#region src/utility/account.ts
|
|
2312
|
-
const serpApiAccount = serpApiOperation({
|
|
2313
|
-
id: "serpapi.account",
|
|
2314
|
-
name: "SerpApi Account",
|
|
2315
|
-
description: "Get SerpApi account information",
|
|
2316
|
-
input: z.object({}),
|
|
2317
|
-
output: z.object({
|
|
2318
|
-
account_id: z.string().optional(),
|
|
2319
|
-
account_email: z.string().optional(),
|
|
2320
|
-
plan_name: z.string().optional(),
|
|
2321
|
-
searches_per_month: z.number().optional(),
|
|
2322
|
-
total_searches_left: z.number().optional()
|
|
2323
|
-
}).passthrough(),
|
|
2324
|
-
run: async (_input, credentials) => {
|
|
2325
|
-
return await serpApiGetAccount(credentials);
|
|
2326
|
-
}
|
|
2327
|
-
});
|
|
2328
|
-
const serpApiAccountTool = serpApiAccount;
|
|
2329
|
-
|
|
2330
|
-
//#endregion
|
|
2331
|
-
//#region src/utility/locations.ts
|
|
2332
|
-
const serpApiLocations = serpApiOperation({
|
|
2333
|
-
id: "serpapi.locations",
|
|
2334
|
-
name: "SerpApi Locations",
|
|
2335
|
-
description: "Get supported SerpApi locations",
|
|
2336
|
-
input: z.object({
|
|
2337
|
-
q: z.string().optional(),
|
|
2338
|
-
limit: z.number().optional()
|
|
2339
|
-
}),
|
|
2340
|
-
output: z.object({ locations: z.array(z.record(z.string(), z.unknown())) }).passthrough(),
|
|
2341
|
-
run: async (input, _credentials) => {
|
|
2342
|
-
return { locations: await serpApiGetLocations(input) };
|
|
2343
|
-
}
|
|
2344
|
-
});
|
|
2345
|
-
const serpApiLocationsTool = serpApiLocations;
|
|
2346
|
-
|
|
2347
|
-
//#endregion
|
|
2348
|
-
//#region src/utility/search-archive.ts
|
|
2349
|
-
const serpApiSearchArchive = serpApiOperation({
|
|
2350
|
-
id: "serpapi.search-archive",
|
|
2351
|
-
name: "SerpApi Search Archive",
|
|
2352
|
-
description: "Retrieve archived SerpApi search results by ID",
|
|
2353
|
-
input: z.object({ search_id: z.string() }),
|
|
2354
|
-
output: z.record(z.string(), z.unknown()),
|
|
2355
|
-
run: async (input, credentials) => {
|
|
2356
|
-
return await getJsonBySearchId(input.search_id, { api_key: credentials.SERPAPI_API_KEY });
|
|
2357
|
-
}
|
|
2358
|
-
});
|
|
2359
|
-
const serpApiSearchArchiveTool = serpApiSearchArchive;
|
|
2360
|
-
|
|
2361
|
-
//#endregion
|
|
2362
|
-
//#region src/walmart/product.ts
|
|
2363
|
-
const walmartProduct = serpApiOperation({
|
|
2364
|
-
id: "serpapi.walmart-product",
|
|
2365
|
-
name: "Walmart Product",
|
|
2366
|
-
description: "Get Walmart product details via SerpApi",
|
|
2367
|
-
input: z.object({ product_id: z.string() }),
|
|
2368
|
-
output: z.object({
|
|
2369
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2370
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2371
|
-
product: z.record(z.string(), z.unknown()).optional()
|
|
2372
|
-
}).passthrough(),
|
|
2373
|
-
run: async (input, credentials) => {
|
|
2374
|
-
return await serpApiSearch(credentials, "walmart_product", input);
|
|
2375
|
-
}
|
|
2376
|
-
});
|
|
2377
|
-
const walmartProductTool = walmartProduct;
|
|
2378
|
-
|
|
2379
|
-
//#endregion
|
|
2380
|
-
//#region src/walmart/product-reviews.ts
|
|
2381
|
-
const walmartProductReviews = serpApiOperation({
|
|
2382
|
-
id: "serpapi.walmart-product-reviews",
|
|
2383
|
-
name: "Walmart Product Reviews",
|
|
2384
|
-
description: "Get Walmart product reviews via SerpApi",
|
|
2385
|
-
input: z.object({
|
|
2386
|
-
product_id: z.string(),
|
|
2387
|
-
sort: z.string().optional(),
|
|
2388
|
-
page: z.number().optional()
|
|
2389
|
-
}),
|
|
2390
|
-
output: z.object({
|
|
2391
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2392
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2393
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2394
|
-
}).passthrough(),
|
|
2395
|
-
run: async (input, credentials) => {
|
|
2396
|
-
return await serpApiSearch(credentials, "walmart_product_reviews", input);
|
|
2397
|
-
}
|
|
2398
|
-
});
|
|
2399
|
-
const walmartProductReviewsTool = walmartProductReviews;
|
|
2400
|
-
|
|
2401
|
-
//#endregion
|
|
2402
|
-
//#region src/walmart/product-sellers.ts
|
|
2403
|
-
const walmartProductSellers = serpApiOperation({
|
|
2404
|
-
id: "serpapi.walmart-product-sellers",
|
|
2405
|
-
name: "Walmart Product Sellers",
|
|
2406
|
-
description: "Get Walmart product sellers via SerpApi",
|
|
2407
|
-
input: z.object({
|
|
2408
|
-
product_id: z.string(),
|
|
2409
|
-
page: z.number().optional()
|
|
2410
|
-
}),
|
|
2411
|
-
output: z.object({
|
|
2412
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2413
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2414
|
-
sellers: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2415
|
-
}).passthrough(),
|
|
2416
|
-
run: async (input, credentials) => {
|
|
2417
|
-
return await serpApiSearch(credentials, "walmart_product_sellers", input);
|
|
2418
|
-
}
|
|
2419
|
-
});
|
|
2420
|
-
const walmartProductSellersTool = walmartProductSellers;
|
|
2421
|
-
|
|
2422
|
-
//#endregion
|
|
2423
|
-
//#region src/walmart/search.ts
|
|
2424
|
-
const walmartSearch = serpApiOperation({
|
|
2425
|
-
id: "serpapi.walmart-search",
|
|
2426
|
-
name: "Walmart Search",
|
|
2427
|
-
description: "Search Walmart via SerpApi",
|
|
2428
|
-
input: z.object({
|
|
2429
|
-
query: z.string(),
|
|
2430
|
-
cat_id: z.string().optional(),
|
|
2431
|
-
sort: z.string().optional(),
|
|
2432
|
-
soft_sort: z.string().optional(),
|
|
2433
|
-
facet: z.string().optional(),
|
|
2434
|
-
store_id: z.string().optional(),
|
|
2435
|
-
min_price: z.number().optional(),
|
|
2436
|
-
max_price: z.number().optional(),
|
|
2437
|
-
spelling: z.boolean().optional(),
|
|
2438
|
-
page: z.number().optional(),
|
|
2439
|
-
include_filters: z.boolean().optional()
|
|
2440
|
-
}),
|
|
2441
|
-
output: z.object({
|
|
2442
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2443
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2444
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2445
|
-
filters: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2446
|
-
related_queries: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2447
|
-
}).passthrough(),
|
|
2448
|
-
run: async (input, credentials) => {
|
|
2449
|
-
return await serpApiSearch(credentials, "walmart", input);
|
|
2450
|
-
}
|
|
2451
|
-
});
|
|
2452
|
-
const walmartSearchTool = walmartSearch;
|
|
2453
|
-
|
|
2454
|
-
//#endregion
|
|
2455
|
-
//#region src/yahoo/images.ts
|
|
2456
|
-
const yahooImages = serpApiOperation({
|
|
2457
|
-
id: "serpapi.yahoo-images",
|
|
2458
|
-
name: "Yahoo Images Search",
|
|
2459
|
-
description: "Search Yahoo Images via SerpApi",
|
|
2460
|
-
input: z.object({
|
|
2461
|
-
p: z.string(),
|
|
2462
|
-
yahoo_domain: z.string().optional(),
|
|
2463
|
-
vl: z.string().optional(),
|
|
2464
|
-
vc: z.string().optional()
|
|
2465
|
-
}),
|
|
2466
|
-
output: z.object({
|
|
2467
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2468
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2469
|
-
images_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2470
|
-
}).passthrough(),
|
|
2471
|
-
run: async (input, credentials) => {
|
|
2472
|
-
return await serpApiSearch(credentials, "yahoo_images", input);
|
|
2473
|
-
}
|
|
2474
|
-
});
|
|
2475
|
-
const yahooImagesTool = yahooImages;
|
|
2476
|
-
|
|
2477
|
-
//#endregion
|
|
2478
|
-
//#region src/yahoo/search.ts
|
|
2479
|
-
const yahooSearch = serpApiOperation({
|
|
2480
|
-
id: "serpapi.yahoo-search",
|
|
2481
|
-
name: "Yahoo Search",
|
|
2482
|
-
description: "Search Yahoo via SerpApi",
|
|
2483
|
-
input: z.object({
|
|
2484
|
-
p: z.string(),
|
|
2485
|
-
yahoo_domain: z.string().optional(),
|
|
2486
|
-
vl: z.string().optional(),
|
|
2487
|
-
vc: z.string().optional(),
|
|
2488
|
-
vs: z.string().optional(),
|
|
2489
|
-
b: z.number().optional(),
|
|
2490
|
-
p_ext: z.string().optional()
|
|
2491
|
-
}),
|
|
2492
|
-
output: z.object({
|
|
2493
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2494
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2495
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2496
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2497
|
-
answer_box: z.record(z.string(), z.unknown()).optional(),
|
|
2498
|
-
knowledge_graph: z.record(z.string(), z.unknown()).optional(),
|
|
2499
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2500
|
-
}).passthrough(),
|
|
2501
|
-
run: async (input, credentials) => {
|
|
2502
|
-
return await serpApiSearch(credentials, "yahoo", input);
|
|
2503
|
-
}
|
|
2504
|
-
});
|
|
2505
|
-
const yahooSearchTool = yahooSearch;
|
|
2506
|
-
|
|
2507
|
-
//#endregion
|
|
2508
|
-
//#region src/yahoo/shopping.ts
|
|
2509
|
-
const yahooShopping = serpApiOperation({
|
|
2510
|
-
id: "serpapi.yahoo-shopping",
|
|
2511
|
-
name: "Yahoo Shopping Search",
|
|
2512
|
-
description: "Search Yahoo Shopping via SerpApi",
|
|
2513
|
-
input: z.object({
|
|
2514
|
-
p: z.string(),
|
|
2515
|
-
yahoo_domain: z.string().optional(),
|
|
2516
|
-
vl: z.string().optional(),
|
|
2517
|
-
vc: z.string().optional()
|
|
2518
|
-
}),
|
|
2519
|
-
output: z.object({
|
|
2520
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2521
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2522
|
-
shopping_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2523
|
-
}).passthrough(),
|
|
2524
|
-
run: async (input, credentials) => {
|
|
2525
|
-
return await serpApiSearch(credentials, "yahoo_shopping", input);
|
|
2526
|
-
}
|
|
2527
|
-
});
|
|
2528
|
-
const yahooShoppingTool = yahooShopping;
|
|
2529
|
-
|
|
2530
|
-
//#endregion
|
|
2531
|
-
//#region src/yahoo/videos.ts
|
|
2532
|
-
const yahooVideos = serpApiOperation({
|
|
2533
|
-
id: "serpapi.yahoo-videos",
|
|
2534
|
-
name: "Yahoo Videos Search",
|
|
2535
|
-
description: "Search Yahoo Videos via SerpApi",
|
|
2536
|
-
input: z.object({
|
|
2537
|
-
p: z.string(),
|
|
2538
|
-
yahoo_domain: z.string().optional(),
|
|
2539
|
-
vl: z.string().optional(),
|
|
2540
|
-
vc: z.string().optional()
|
|
2541
|
-
}),
|
|
2542
|
-
output: z.object({
|
|
2543
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2544
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2545
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2546
|
-
}).passthrough(),
|
|
2547
|
-
run: async (input, credentials) => {
|
|
2548
|
-
return await serpApiSearch(credentials, "yahoo_videos", input);
|
|
2549
|
-
}
|
|
2550
|
-
});
|
|
2551
|
-
const yahooVideosTool = yahooVideos;
|
|
2552
|
-
|
|
2553
|
-
//#endregion
|
|
2554
|
-
//#region src/yandex/images.ts
|
|
2555
|
-
const yandexImages = serpApiOperation({
|
|
2556
|
-
id: "serpapi.yandex-images",
|
|
2557
|
-
name: "Yandex Images Search",
|
|
2558
|
-
description: "Search Yandex Images via SerpApi",
|
|
2559
|
-
input: z.object({
|
|
2560
|
-
text: z.string(),
|
|
2561
|
-
yandex_domain: z.string().optional(),
|
|
2562
|
-
lr: z.string().optional(),
|
|
2563
|
-
lang: z.string().optional(),
|
|
2564
|
-
p: z.number().optional()
|
|
2565
|
-
}),
|
|
2566
|
-
output: z.object({
|
|
2567
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2568
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2569
|
-
images_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2570
|
-
}).passthrough(),
|
|
2571
|
-
run: async (input, credentials) => {
|
|
2572
|
-
return await serpApiSearch(credentials, "yandex_images", input);
|
|
2573
|
-
}
|
|
2574
|
-
});
|
|
2575
|
-
const yandexImagesTool = yandexImages;
|
|
2576
|
-
|
|
2577
|
-
//#endregion
|
|
2578
|
-
//#region src/yandex/search.ts
|
|
2579
|
-
const yandexSearch = serpApiOperation({
|
|
2580
|
-
id: "serpapi.yandex-search",
|
|
2581
|
-
name: "Yandex Search",
|
|
2582
|
-
description: "Search Yandex via SerpApi",
|
|
2583
|
-
input: z.object({
|
|
2584
|
-
text: z.string(),
|
|
2585
|
-
yandex_domain: z.string().optional(),
|
|
2586
|
-
lr: z.string().optional(),
|
|
2587
|
-
lang: z.string().optional(),
|
|
2588
|
-
p: z.number().optional()
|
|
2589
|
-
}),
|
|
2590
|
-
output: z.object({
|
|
2591
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2592
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2593
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2594
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2595
|
-
knowledge_graph: z.record(z.string(), z.unknown()).optional()
|
|
2596
|
-
}).passthrough(),
|
|
2597
|
-
run: async (input, credentials) => {
|
|
2598
|
-
return await serpApiSearch(credentials, "yandex", input);
|
|
2599
|
-
}
|
|
2600
|
-
});
|
|
2601
|
-
const yandexSearchTool = yandexSearch;
|
|
2602
|
-
|
|
2603
|
-
//#endregion
|
|
2604
|
-
//#region src/yandex/videos.ts
|
|
2605
|
-
const yandexVideos = serpApiOperation({
|
|
2606
|
-
id: "serpapi.yandex-videos",
|
|
2607
|
-
name: "Yandex Videos Search",
|
|
2608
|
-
description: "Search Yandex Videos via SerpApi",
|
|
2609
|
-
input: z.object({
|
|
2610
|
-
text: z.string(),
|
|
2611
|
-
yandex_domain: z.string().optional(),
|
|
2612
|
-
lr: z.string().optional(),
|
|
2613
|
-
lang: z.string().optional(),
|
|
2614
|
-
p: z.number().optional()
|
|
2615
|
-
}),
|
|
2616
|
-
output: z.object({
|
|
2617
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2618
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2619
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2620
|
-
}).passthrough(),
|
|
2621
|
-
run: async (input, credentials) => {
|
|
2622
|
-
return await serpApiSearch(credentials, "yandex_videos", input);
|
|
2623
|
-
}
|
|
2624
|
-
});
|
|
2625
|
-
const yandexVideosTool = yandexVideos;
|
|
2626
|
-
|
|
2627
|
-
//#endregion
|
|
2628
|
-
//#region src/yelp/place.ts
|
|
2629
|
-
const yelpPlace = serpApiOperation({
|
|
2630
|
-
id: "serpapi.yelp-place",
|
|
2631
|
-
name: "Yelp Place",
|
|
2632
|
-
description: "Get Yelp place details via SerpApi",
|
|
2633
|
-
input: z.object({ place_id: z.string() }),
|
|
2634
|
-
output: z.object({
|
|
2635
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2636
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2637
|
-
place: z.record(z.string(), z.unknown()).optional()
|
|
2638
|
-
}).passthrough(),
|
|
2639
|
-
run: async (input, credentials) => {
|
|
2640
|
-
return await serpApiSearch(credentials, "yelp_place", input);
|
|
2641
|
-
}
|
|
2642
|
-
});
|
|
2643
|
-
const yelpPlaceTool = yelpPlace;
|
|
2644
|
-
|
|
2645
|
-
//#endregion
|
|
2646
|
-
//#region src/yelp/reviews.ts
|
|
2647
|
-
const yelpReviews = serpApiOperation({
|
|
2648
|
-
id: "serpapi.yelp-reviews",
|
|
2649
|
-
name: "Yelp Reviews",
|
|
2650
|
-
description: "Get Yelp place reviews via SerpApi",
|
|
2651
|
-
input: z.object({
|
|
2652
|
-
place_id: z.string(),
|
|
2653
|
-
sort_by: z.string().optional(),
|
|
2654
|
-
start: z.number().optional()
|
|
2655
|
-
}),
|
|
2656
|
-
output: z.object({
|
|
2657
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2658
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2659
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2660
|
-
}).passthrough(),
|
|
2661
|
-
run: async (input, credentials) => {
|
|
2662
|
-
return await serpApiSearch(credentials, "yelp_reviews", input);
|
|
2663
|
-
}
|
|
2664
|
-
});
|
|
2665
|
-
const yelpReviewsTool = yelpReviews;
|
|
2666
|
-
|
|
2667
|
-
//#endregion
|
|
2668
|
-
//#region src/yelp/search.ts
|
|
2669
|
-
const yelpSearch = serpApiOperation({
|
|
2670
|
-
id: "serpapi.yelp-search",
|
|
2671
|
-
name: "Yelp Search",
|
|
2672
|
-
description: "Search Yelp via SerpApi",
|
|
2673
|
-
input: z.object({
|
|
2674
|
-
find_desc: z.string(),
|
|
2675
|
-
find_loc: z.string(),
|
|
2676
|
-
sortby: z.string().optional(),
|
|
2677
|
-
start: z.number().optional(),
|
|
2678
|
-
cflt: z.string().optional(),
|
|
2679
|
-
attrs: z.string().optional()
|
|
2680
|
-
}),
|
|
2681
|
-
output: z.object({
|
|
2682
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2683
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2684
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2685
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2686
|
-
filters: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2687
|
-
}).passthrough(),
|
|
2688
|
-
run: async (input, credentials) => {
|
|
2689
|
-
return await serpApiSearch(credentials, "yelp", input);
|
|
2690
|
-
}
|
|
2691
|
-
});
|
|
2692
|
-
const yelpSearchTool = yelpSearch;
|
|
2693
|
-
|
|
2694
|
-
//#endregion
|
|
2695
|
-
//#region src/youtube/search.ts
|
|
2696
|
-
const youtubeSearch = serpApiOperation({
|
|
2697
|
-
id: "serpapi.youtube-search",
|
|
2698
|
-
name: "YouTube Search",
|
|
2699
|
-
description: "Search YouTube via SerpApi",
|
|
2700
|
-
input: z.object({
|
|
2701
|
-
search_query: z.string(),
|
|
2702
|
-
gl: z.string().optional(),
|
|
2703
|
-
hl: z.string().optional(),
|
|
2704
|
-
sp: z.string().optional(),
|
|
2705
|
-
page: z.number().optional()
|
|
2706
|
-
}),
|
|
2707
|
-
output: z.object({
|
|
2708
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2709
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2710
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2711
|
-
channel_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2712
|
-
playlist_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2713
|
-
shorts_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2714
|
-
}).passthrough(),
|
|
2715
|
-
run: async (input, credentials) => {
|
|
2716
|
-
return await serpApiSearch(credentials, "youtube", input);
|
|
2717
|
-
}
|
|
2718
|
-
});
|
|
2719
|
-
const youtubeSearchTool = youtubeSearch;
|
|
2720
|
-
|
|
2721
|
-
//#endregion
|
|
2722
|
-
//#region src/youtube/video.ts
|
|
2723
|
-
const youtubeVideo = serpApiOperation({
|
|
2724
|
-
id: "serpapi.youtube-video",
|
|
2725
|
-
name: "YouTube Video",
|
|
2726
|
-
description: "Get YouTube video details via SerpApi",
|
|
2727
|
-
input: z.object({
|
|
2728
|
-
v: z.string(),
|
|
2729
|
-
gl: z.string().optional(),
|
|
2730
|
-
hl: z.string().optional()
|
|
2731
|
-
}),
|
|
2732
|
-
output: z.object({
|
|
2733
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2734
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2735
|
-
video: z.record(z.string(), z.unknown()).optional(),
|
|
2736
|
-
comments: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2737
|
-
}).passthrough(),
|
|
2738
|
-
run: async (input, credentials) => {
|
|
2739
|
-
return await serpApiSearch(credentials, "youtube_video", input);
|
|
2740
|
-
}
|
|
2741
|
-
});
|
|
2742
|
-
const youtubeVideoTool = youtubeVideo;
|
|
2743
|
-
|
|
2744
|
-
//#endregion
|
|
2745
|
-
//#region src/youtube/video-transcript.ts
|
|
2746
|
-
const youtubeVideoTranscript = serpApiOperation({
|
|
2747
|
-
id: "serpapi.youtube-video-transcript",
|
|
2748
|
-
name: "YouTube Video Transcript",
|
|
2749
|
-
description: "Get YouTube video transcript via SerpApi",
|
|
2750
|
-
input: z.object({
|
|
2751
|
-
v: z.string(),
|
|
2752
|
-
lang: z.string().optional()
|
|
2753
|
-
}),
|
|
2754
|
-
output: z.object({
|
|
2755
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2756
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2757
|
-
transcript: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2758
|
-
}).passthrough(),
|
|
2759
|
-
run: async (input, credentials) => {
|
|
2760
|
-
return await serpApiSearch(credentials, "youtube_video_transcript", input);
|
|
2761
|
-
}
|
|
2762
|
-
});
|
|
2763
|
-
const youtubeVideoTranscriptTool = youtubeVideoTranscript;
|
|
2764
|
-
|
|
2765
|
-
//#endregion
|
|
2766
|
-
export { amazonProduct, amazonProductTool, amazonSearch, amazonSearchTool, appleAppStore, appleAppStoreTool, appleProduct, appleProductTool, appleReviews, appleReviewsTool, baiduSearch, baiduSearchTool, bingCopilot, bingCopilotTool, bingImages, bingImagesTool, bingMaps, bingMapsTool, bingNews, bingNewsTool, bingReverseImage, bingReverseImageTool, bingSearch, bingSearchTool, bingShopping, bingShoppingTool, bingVideos, bingVideosTool, braveAiMode, braveAiModeTool, duckduckgoLight, duckduckgoLightTool, duckduckgoMaps, duckduckgoMapsTool, duckduckgoNews, duckduckgoNewsTool, duckduckgoSearch, duckduckgoSearchAssist, duckduckgoSearchAssistTool, duckduckgoSearchTool, ebayProduct, ebayProductTool, ebaySearch, ebaySearchTool, facebookProfile, facebookProfileTool, googleAdsTransparency, googleAdsTransparencyTool, googleAiMode, googleAiModeTool, googleAiOverview, googleAiOverviewTool, googleAutocomplete, googleAutocompleteTool, googleEvents, googleEventsTool, googleFinance, googleFinanceMarkets, googleFinanceMarketsTool, googleFinanceTool, googleFlights, googleFlightsAutocomplete, googleFlightsAutocompleteTool, googleFlightsTool, googleForums, googleForumsTool, googleHotels, googleHotelsAutocomplete, googleHotelsAutocompleteTool, googleHotelsPhotos, googleHotelsPhotosTool, googleHotelsReviews, googleHotelsReviewsTool, googleHotelsTool, googleImages, googleImagesLight, googleImagesLightTool, googleImagesRelated, googleImagesRelatedTool, googleImagesTool, googleImmersiveProduct, googleImmersiveProductTool, googleJobs, googleJobsListing, googleJobsListingTool, googleJobsTool, googleLens, googleLensTool, googleLightSearch, googleLightSearchTool, googleLocal, googleLocalServices, googleLocalServicesTool, googleLocalTool, googleMaps, googleMapsAutocomplete, googleMapsAutocompleteTool, googleMapsContributorReviews, googleMapsContributorReviewsTool, googleMapsDirections, googleMapsDirectionsTool, googleMapsPhotoMeta, googleMapsPhotoMetaTool, googleMapsPhotos, googleMapsPhotosTool, googleMapsPosts, googleMapsPostsTool, googleMapsReviews, googleMapsReviewsTool, googleMapsTool, googleNews, googleNewsLight, googleNewsLightTool, googleNewsTool, googlePatents, googlePatentsDetails, googlePatentsDetailsTool, googlePatentsTool, googlePlay, googlePlayBooks, googlePlayBooksTool, googlePlayGames, googlePlayGamesTool, googlePlayMovies, googlePlayMoviesTool, googlePlayProduct, googlePlayProductTool, googlePlayTool, googleRelatedQuestions, googleRelatedQuestionsTool, googleReverseImage, googleReverseImageTool, googleScholar, googleScholarAuthor, googleScholarAuthorTool, googleScholarCite, googleScholarCiteTool, googleScholarProfiles, googleScholarProfilesTool, googleScholarTool, googleSearch, googleSearchTool, googleShopping, googleShoppingLight, googleShoppingLightTool, googleShoppingTool, googleShortVideos, googleShortVideosTool, googleTravelExplore, googleTravelExploreTool, googleTrends, googleTrendsAutocomplete, googleTrendsAutocompleteTool, googleTrendsNews, googleTrendsNewsTool, googleTrendsTool, googleTrendsTrendingNow, googleTrendsTrendingNowTool, googleVideos, googleVideosLight, googleVideosLightTool, googleVideosTool, homeDepotProduct, homeDepotProductReviews, homeDepotProductReviewsTool, homeDepotProductTool, homeDepotSearch, homeDepotSearchTool, naverAiOverview, naverAiOverviewTool, naverSearch, naverSearchTool, opentableReviews, opentableReviewsTool, serpApi, serpApiAccount, serpApiAccountTool, serpApiBundle, serpApiGetAccount, serpApiGetLocations, serpApiLocations, serpApiLocationsTool, serpApiOfficialIntegration, serpApiOperation, serpApiSearch, serpApiSearchArchive, serpApiSearchArchiveTool, serpApiSearchIndex, serpApiSearchIndexTool, tripadvisorPlace, tripadvisorPlaceTool, tripadvisorReviews, tripadvisorReviewsTool, tripadvisorSearch, tripadvisorSearchTool, walmartProduct, walmartProductReviews, walmartProductReviewsTool, walmartProductSellers, walmartProductSellersTool, walmartProductTool, walmartSearch, walmartSearchTool, yahooImages, yahooImagesTool, yahooSearch, yahooSearchTool, yahooShopping, yahooShoppingTool, yahooVideos, yahooVideosTool, yandexImages, yandexImagesTool, yandexSearch, yandexSearchTool, yandexVideos, yandexVideosTool, yelpPlace, yelpPlaceTool, yelpReviews, yelpReviewsTool, yelpSearch, yelpSearchTool, youtubeSearch, youtubeSearchTool, youtubeVideo, youtubeVideoTool, youtubeVideoTranscript, youtubeVideoTranscriptTool };
|
|
4
|
+
export { amazonProductOperation, amazonProductOperation as amazonProductTool, amazonSearchOperation, amazonSearchOperation as amazonSearchTool, appleAppStoreOperation, appleAppStoreOperation as appleAppStoreTool, appleProductOperation, appleProductOperation as appleProductTool, appleReviewsOperation, appleReviewsOperation as appleReviewsTool, baiduSearchOperation, baiduSearchOperation as baiduSearchTool, bingCopilotOperation, bingCopilotOperation as bingCopilotTool, bingImagesOperation, bingImagesOperation as bingImagesTool, bingMapsOperation, bingMapsOperation as bingMapsTool, bingNewsOperation, bingNewsOperation as bingNewsTool, bingReverseImageOperation, bingReverseImageOperation as bingReverseImageTool, bingSearchOperation, bingSearchOperation as bingSearchTool, bingShoppingOperation, bingShoppingOperation as bingShoppingTool, bingVideosOperation, bingVideosOperation as bingVideosTool, braveAiModeOperation, braveAiModeOperation as braveAiModeTool, duckduckgoLightOperation, duckduckgoLightOperation as duckduckgoLightTool, duckduckgoMapsOperation, duckduckgoMapsOperation as duckduckgoMapsTool, duckduckgoNewsOperation, duckduckgoNewsOperation as duckduckgoNewsTool, duckduckgoSearchAssistOperation, duckduckgoSearchAssistOperation as duckduckgoSearchAssistTool, duckduckgoSearchOperation, duckduckgoSearchOperation as duckduckgoSearchTool, ebayProductOperation, ebayProductOperation as ebayProductTool, ebaySearchOperation, ebaySearchOperation as ebaySearchTool, facebookProfileOperation, facebookProfileOperation as facebookProfileTool, googleAdsTransparencyOperation, googleAdsTransparencyOperation as googleAdsTransparencyTool, googleAiModeOperation, googleAiModeOperation as googleAiModeTool, googleAiOverviewOperation, googleAiOverviewOperation as googleAiOverviewTool, googleAutocompleteOperation, googleAutocompleteOperation as googleAutocompleteTool, googleEventsOperation, googleEventsOperation as googleEventsTool, googleFinanceMarketsOperation, googleFinanceMarketsOperation as googleFinanceMarketsTool, googleFinanceOperation, googleFinanceOperation as googleFinanceTool, googleFlightsAutocompleteOperation, googleFlightsAutocompleteOperation as googleFlightsAutocompleteTool, googleFlightsOperation, googleFlightsOperation as googleFlightsTool, googleForumsOperation, googleForumsOperation as googleForumsTool, googleHotelsAutocompleteOperation, googleHotelsAutocompleteOperation as googleHotelsAutocompleteTool, googleHotelsOperation, googleHotelsOperation as googleHotelsTool, googleHotelsPhotosOperation, googleHotelsPhotosOperation as googleHotelsPhotosTool, googleHotelsReviewsOperation, googleHotelsReviewsOperation as googleHotelsReviewsTool, googleImagesLightOperation, googleImagesLightOperation as googleImagesLightTool, googleImagesOperation, googleImagesOperation as googleImagesTool, googleImagesRelatedOperation, googleImagesRelatedOperation as googleImagesRelatedTool, googleImmersiveProductOperation, googleImmersiveProductOperation as googleImmersiveProductTool, googleJobsListingOperation, googleJobsListingOperation as googleJobsListingTool, googleJobsOperation, googleJobsOperation as googleJobsTool, googleLensOperation, googleLensOperation as googleLensTool, googleLightSearchOperation, googleLightSearchOperation as googleLightSearchTool, googleLocalOperation, googleLocalOperation as googleLocalTool, googleLocalServicesOperation, googleLocalServicesOperation as googleLocalServicesTool, googleMapsAutocompleteOperation, googleMapsAutocompleteOperation as googleMapsAutocompleteTool, googleMapsContributorReviewsOperation, googleMapsContributorReviewsOperation as googleMapsContributorReviewsTool, googleMapsDirectionsOperation, googleMapsDirectionsOperation as googleMapsDirectionsTool, googleMapsOperation, googleMapsOperation as googleMapsTool, googleMapsPhotoMetaOperation, googleMapsPhotoMetaOperation as googleMapsPhotoMetaTool, googleMapsPhotosOperation, googleMapsPhotosOperation as googleMapsPhotosTool, googleMapsPostsOperation, googleMapsPostsOperation as googleMapsPostsTool, googleMapsReviewsOperation, googleMapsReviewsOperation as googleMapsReviewsTool, googleNewsLightOperation, googleNewsLightOperation as googleNewsLightTool, googleNewsOperation, googleNewsOperation as googleNewsTool, googlePatentsDetailsOperation, googlePatentsDetailsOperation as googlePatentsDetailsTool, googlePatentsOperation, googlePatentsOperation as googlePatentsTool, googlePlayBooksOperation, googlePlayBooksOperation as googlePlayBooksTool, googlePlayGamesOperation, googlePlayGamesOperation as googlePlayGamesTool, googlePlayMoviesOperation, googlePlayMoviesOperation as googlePlayMoviesTool, googlePlayOperation, googlePlayOperation as googlePlayTool, googlePlayProductOperation, googlePlayProductOperation as googlePlayProductTool, googleRelatedQuestionsOperation, googleRelatedQuestionsOperation as googleRelatedQuestionsTool, googleReverseImageOperation, googleReverseImageOperation as googleReverseImageTool, googleScholarAuthorOperation, googleScholarAuthorOperation as googleScholarAuthorTool, googleScholarCiteOperation, googleScholarCiteOperation as googleScholarCiteTool, googleScholarOperation, googleScholarOperation as googleScholarTool, googleScholarProfilesOperation, googleScholarProfilesOperation as googleScholarProfilesTool, googleSearchOperation, googleSearchOperation as googleSearchTool, googleShoppingLightOperation, googleShoppingLightOperation as googleShoppingLightTool, googleShoppingOperation, googleShoppingOperation as googleShoppingTool, googleShortVideosOperation, googleShortVideosOperation as googleShortVideosTool, googleTravelExploreOperation, googleTravelExploreOperation as googleTravelExploreTool, googleTrendsAutocompleteOperation, googleTrendsAutocompleteOperation as googleTrendsAutocompleteTool, googleTrendsNewsOperation, googleTrendsNewsOperation as googleTrendsNewsTool, googleTrendsOperation, googleTrendsOperation as googleTrendsTool, googleTrendsTrendingNowOperation, googleTrendsTrendingNowOperation as googleTrendsTrendingNowTool, googleVideosLightOperation, googleVideosLightOperation as googleVideosLightTool, googleVideosOperation, googleVideosOperation as googleVideosTool, homeDepotProductOperation, homeDepotProductOperation as homeDepotProductTool, homeDepotProductReviewsOperation, homeDepotProductReviewsOperation as homeDepotProductReviewsTool, homeDepotSearchOperation, homeDepotSearchOperation as homeDepotSearchTool, naverAiOverviewOperation, naverAiOverviewOperation as naverAiOverviewTool, naverSearchOperation, naverSearchOperation as naverSearchTool, opentableReviewsOperation, opentableReviewsOperation as opentableReviewsTool, serpApiAccountOperation, serpApiAccountOperation as serpApiAccountTool, serpApiCredentialSet, serpApiLocationsOperation, serpApiLocationsOperation as serpApiLocationsTool, serpApiSearchArchiveOperation, serpApiSearchArchiveOperation as serpApiSearchArchiveTool, serpApiSearchIndexOperation, serpApiSearchIndexOperation as serpApiSearchIndexTool, tripadvisorPlaceOperation, tripadvisorPlaceOperation as tripadvisorPlaceTool, tripadvisorReviewsOperation, tripadvisorReviewsOperation as tripadvisorReviewsTool, tripadvisorSearchOperation, tripadvisorSearchOperation as tripadvisorSearchTool, walmartProductOperation, walmartProductOperation as walmartProductTool, walmartProductReviewsOperation, walmartProductReviewsOperation as walmartProductReviewsTool, walmartProductSellersOperation, walmartProductSellersOperation as walmartProductSellersTool, walmartSearchOperation, walmartSearchOperation as walmartSearchTool, yahooImagesOperation, yahooImagesOperation as yahooImagesTool, yahooSearchOperation, yahooSearchOperation as yahooSearchTool, yahooShoppingOperation, yahooShoppingOperation as yahooShoppingTool, yahooVideosOperation, yahooVideosOperation as yahooVideosTool, yandexImagesOperation, yandexImagesOperation as yandexImagesTool, yandexSearchOperation, yandexSearchOperation as yandexSearchTool, yandexVideosOperation, yandexVideosOperation as yandexVideosTool, yelpPlaceOperation, yelpPlaceOperation as yelpPlaceTool, yelpReviewsOperation, yelpReviewsOperation as yelpReviewsTool, yelpSearchOperation, yelpSearchOperation as yelpSearchTool, youtubeSearchOperation, youtubeSearchOperation as youtubeSearchTool, youtubeVideoOperation, youtubeVideoOperation as youtubeVideoTool, youtubeVideoTranscriptOperation, youtubeVideoTranscriptOperation as youtubeVideoTranscriptTool };
|