mastra-scavio 0.1.1 → 0.2.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 +16 -4
- package/dist/index.cjs +118 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +59 -13
- package/dist/index.d.ts +59 -13
- package/dist/index.js +112 -16
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
[Scavio](https://scavio.dev) real-time search tools for [Mastra](https://mastra.ai) agents — Google, YouTube, Amazon, Walmart, Reddit, TikTok, and Instagram, with one API key.
|
|
4
4
|
|
|
5
|
+
> **Amazon changed (breaking).** The upstream provider moved in 2026-07:
|
|
6
|
+
> `domain` is replaced by `country`, a two-letter marketplace code (`us`, `gb`
|
|
7
|
+
> -- the UK is `gb`, not `uk` -- `de`, `jp`, ...), and `sort_by`, `pages`,
|
|
8
|
+
> `category_id`, `merchant_id`, `language`, `currency`, `device`, `zip_code`
|
|
9
|
+
> and `autoselect_variant` are gone. The marketplace ignores all of them
|
|
10
|
+
> (`sort_by` returns the identical unordered set for every value), so they are
|
|
11
|
+
> removed rather than kept as silent no-ops. Rank and filter results yourself.
|
|
12
|
+
|
|
5
13
|
## Installation
|
|
6
14
|
|
|
7
15
|
```bash
|
|
@@ -10,7 +18,7 @@ npm install mastra-scavio @mastra/core zod
|
|
|
10
18
|
|
|
11
19
|
## Setup
|
|
12
20
|
|
|
13
|
-
Get a Scavio API key from the [Scavio Dashboard](https://dashboard.scavio.dev) (new accounts get free credits, no credit card). Set `SCAVIO_API_KEY` or pass `{ apiKey }`.
|
|
21
|
+
Get a Scavio API key from the [Scavio Dashboard](https://dashboard.scavio.dev) (new accounts get 50 free credits, no credit card). Set `SCAVIO_API_KEY` or pass `{ apiKey }`.
|
|
14
22
|
|
|
15
23
|
## Usage
|
|
16
24
|
|
|
@@ -42,10 +50,14 @@ const agent = new Agent({
|
|
|
42
50
|
|
|
43
51
|
## Tools
|
|
44
52
|
|
|
45
|
-
`createScavioTools()` returns: `scavioGoogleSearch`, `scavioAmazonSearch`, `scavioAmazonProduct`, `scavioWalmartSearch`, `scavioWalmartProduct`, `scavioYoutubeSearch`, `scavioYoutubeMetadata`, `scavioRedditSearch`, `scavioRedditPost`, `scavioTiktokSearch`, `scavioTiktokProfile`, `scavioInstagramSearch`, `scavioInstagramProfile`.
|
|
53
|
+
`createScavioTools()` returns: `scavioGoogleSearch`, `scavioAmazonSearch`, `scavioAmazonProduct`, `scavioAmazonOffers`, `scavioWalmartSearch`, `scavioWalmartProduct`, `scavioYoutubeSearch`, `scavioYoutubeVideo`, `scavioYoutubeMetadata`, `scavioYoutubeComments`, `scavioYoutubeChannel`, `scavioYoutubeTranscript`, `scavioYoutubeStreams`, `scavioRedditSearch`, `scavioRedditPost`, `scavioTiktokSearch`, `scavioTiktokProfile`, `scavioInstagramSearch`, `scavioInstagramProfile`.
|
|
54
|
+
|
|
55
|
+
Each tool returns the structured Scavio JSON response: `{ data, response_time, credits_used, credits_remaining }`, with the payload under `data` on every platform except Google, whose body is flat.
|
|
56
|
+
|
|
57
|
+
`scavioYoutubeMetadata` is a deprecated alias of `scavioYoutubeVideo` and is kept only for older agents - use `scavioYoutubeVideo`.
|
|
46
58
|
|
|
47
|
-
|
|
59
|
+
The full Scavio API - 98 endpoints across Google, YouTube, Amazon, Walmart, Reddit, TikTok, TikTok Shop, Instagram, X and LinkedIn - is also available directly via the [`scavio`](https://www.npmjs.com/package/scavio) SDK or the [MCP server](https://scavio.dev/docs).
|
|
48
60
|
|
|
49
61
|
## Credits
|
|
50
62
|
|
|
51
|
-
Most calls cost 1 credit, including Google
|
|
63
|
+
Most calls cost 1 credit, including Google and Reddit. YouTube search costs 2, YouTube streams 3, and YouTube transcript 8. The Instagram tools cost 10 each. See [scavio.dev/docs](https://scavio.dev/docs).
|
package/dist/index.cjs
CHANGED
|
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
+
createScavioAmazonOffersTool: () => createScavioAmazonOffersTool,
|
|
23
24
|
createScavioAmazonProductTool: () => createScavioAmazonProductTool,
|
|
24
25
|
createScavioAmazonSearchTool: () => createScavioAmazonSearchTool,
|
|
25
26
|
createScavioGoogleSearchTool: () => createScavioGoogleSearchTool,
|
|
@@ -32,8 +33,13 @@ __export(index_exports, {
|
|
|
32
33
|
createScavioTools: () => createScavioTools,
|
|
33
34
|
createScavioWalmartProductTool: () => createScavioWalmartProductTool,
|
|
34
35
|
createScavioWalmartSearchTool: () => createScavioWalmartSearchTool,
|
|
36
|
+
createScavioYoutubeChannelTool: () => createScavioYoutubeChannelTool,
|
|
37
|
+
createScavioYoutubeCommentsTool: () => createScavioYoutubeCommentsTool,
|
|
35
38
|
createScavioYoutubeMetadataTool: () => createScavioYoutubeMetadataTool,
|
|
36
39
|
createScavioYoutubeSearchTool: () => createScavioYoutubeSearchTool,
|
|
40
|
+
createScavioYoutubeStreamsTool: () => createScavioYoutubeStreamsTool,
|
|
41
|
+
createScavioYoutubeTranscriptTool: () => createScavioYoutubeTranscriptTool,
|
|
42
|
+
createScavioYoutubeVideoTool: () => createScavioYoutubeVideoTool,
|
|
37
43
|
getScavioClient: () => getScavioClient
|
|
38
44
|
});
|
|
39
45
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -82,17 +88,17 @@ function createScavioGoogleSearchTool(config) {
|
|
|
82
88
|
var import_tools2 = require("@mastra/core/tools");
|
|
83
89
|
var import_zod2 = require("zod");
|
|
84
90
|
var outputSchema2 = import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown());
|
|
91
|
+
var COUNTRY_DESCRIPTION = "Marketplace country code (ISO 3166-1 alpha-2), not a domain: us (default), gb (the UK is gb, not uk), ca, de, fr, es, it, jp, in, au, br, mx, nl, pl, se, sg, ae, sa, eg, cn, be, tr. An unknown code falls back to us.";
|
|
85
92
|
function createScavioAmazonSearchTool(config) {
|
|
86
93
|
let client = null;
|
|
87
94
|
const getClient = () => client ??= getScavioClient(config);
|
|
88
95
|
return (0, import_tools2.createTool)({
|
|
89
96
|
id: "scavio-amazon-search",
|
|
90
|
-
description: "Search Amazon for products via Scavio. Returns matching products as structured JSON.",
|
|
97
|
+
description: "Search Amazon for products via Scavio. Returns matching products as structured JSON. Results are unsorted and cannot be filtered by category, merchant or price.",
|
|
91
98
|
inputSchema: import_zod2.z.object({
|
|
92
99
|
query: import_zod2.z.string().describe("The product search query"),
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
sort_by: import_zod2.z.string().optional().describe("Sort order for results")
|
|
100
|
+
country: import_zod2.z.string().optional().describe(COUNTRY_DESCRIPTION),
|
|
101
|
+
page: import_zod2.z.number().optional().describe("Result page, 1-based. One page per call, 1 credit each.")
|
|
96
102
|
}),
|
|
97
103
|
outputSchema: outputSchema2,
|
|
98
104
|
execute: async (input) => getClient().amazon.search(input)
|
|
@@ -103,16 +109,29 @@ function createScavioAmazonProductTool(config) {
|
|
|
103
109
|
const getClient = () => client ??= getScavioClient(config);
|
|
104
110
|
return (0, import_tools2.createTool)({
|
|
105
111
|
id: "scavio-amazon-product",
|
|
106
|
-
description: "Fetch full Amazon product details by ASIN via Scavio.",
|
|
112
|
+
description: "Fetch full Amazon product details by ASIN via Scavio. price is the buy-box price only.",
|
|
107
113
|
inputSchema: import_zod2.z.object({
|
|
108
114
|
asin: import_zod2.z.string().describe("Amazon Standard Identification Number (ASIN)"),
|
|
109
|
-
|
|
110
|
-
country: import_zod2.z.string().optional().describe("Two-letter country code")
|
|
115
|
+
country: import_zod2.z.string().optional().describe(COUNTRY_DESCRIPTION)
|
|
111
116
|
}),
|
|
112
117
|
outputSchema: outputSchema2,
|
|
113
118
|
execute: async (input) => getClient().amazon.product(input)
|
|
114
119
|
});
|
|
115
120
|
}
|
|
121
|
+
function createScavioAmazonOffersTool(config) {
|
|
122
|
+
let client = null;
|
|
123
|
+
const getClient = () => client ??= getScavioClient(config);
|
|
124
|
+
return (0, import_tools2.createTool)({
|
|
125
|
+
id: "scavio-amazon-offers",
|
|
126
|
+
description: "List every seller offer for one Amazon ASIN via Scavio: price, seller, condition, shipping, and which offer holds the buy box. Page 1 only. Use this instead of the product tool when comparing sellers or checking who owns the buy box.",
|
|
127
|
+
inputSchema: import_zod2.z.object({
|
|
128
|
+
asin: import_zod2.z.string().describe("Amazon Standard Identification Number (ASIN)"),
|
|
129
|
+
country: import_zod2.z.string().optional().describe(COUNTRY_DESCRIPTION)
|
|
130
|
+
}),
|
|
131
|
+
outputSchema: outputSchema2,
|
|
132
|
+
execute: async (input) => getClient().amazon.offers(input)
|
|
133
|
+
});
|
|
134
|
+
}
|
|
116
135
|
|
|
117
136
|
// src/walmart.ts
|
|
118
137
|
var import_tools3 = require("@mastra/core/tools");
|
|
@@ -160,20 +179,36 @@ function createScavioYoutubeSearchTool(config) {
|
|
|
160
179
|
description: "Search YouTube for videos, channels, or playlists via Scavio.",
|
|
161
180
|
inputSchema: import_zod4.z.object({
|
|
162
181
|
query: import_zod4.z.string().describe("The video search query"),
|
|
163
|
-
upload_date: import_zod4.z.string().optional().describe('Upload date filter, e.g. "today", "
|
|
164
|
-
type: import_zod4.z.string().optional().describe('Result type, e.g. "video", "channel", "playlist"'),
|
|
165
|
-
|
|
182
|
+
upload_date: import_zod4.z.string().optional().describe('Upload date filter, e.g. "today", "this_week", "this_month"'),
|
|
183
|
+
type: import_zod4.z.string().optional().describe('Result type, e.g. "video", "channel", "playlist", "movie"'),
|
|
184
|
+
duration: import_zod4.z.string().optional().describe('Duration filter: "short", "medium", or "long"'),
|
|
185
|
+
sort_by: import_zod4.z.string().optional().describe('Sort order: "relevance", "date", "view_count", or "rating"'),
|
|
186
|
+
features: import_zod4.z.array(import_zod4.z.string()).optional().describe('Feature filters, e.g. ["hd", "4k", "subtitles", "creative_commons", "live"]'),
|
|
187
|
+
cursor: import_zod4.z.string().optional().describe("Pagination cursor from a prior response")
|
|
166
188
|
}),
|
|
167
189
|
outputSchema: outputSchema4,
|
|
168
190
|
execute: async (input) => getClient().youtube.search(input)
|
|
169
191
|
});
|
|
170
192
|
}
|
|
193
|
+
function createScavioYoutubeVideoTool(config) {
|
|
194
|
+
let client = null;
|
|
195
|
+
const getClient = () => client ??= getScavioClient(config);
|
|
196
|
+
return (0, import_tools4.createTool)({
|
|
197
|
+
id: "scavio-youtube-video",
|
|
198
|
+
description: "Fetch full metadata for a YouTube video by id or watch URL via Scavio.",
|
|
199
|
+
inputSchema: import_zod4.z.object({
|
|
200
|
+
video_id: import_zod4.z.string().describe("YouTube video id or full watch URL")
|
|
201
|
+
}),
|
|
202
|
+
outputSchema: outputSchema4,
|
|
203
|
+
execute: async (input) => getClient().youtube.video(input)
|
|
204
|
+
});
|
|
205
|
+
}
|
|
171
206
|
function createScavioYoutubeMetadataTool(config) {
|
|
172
207
|
let client = null;
|
|
173
208
|
const getClient = () => client ??= getScavioClient(config);
|
|
174
209
|
return (0, import_tools4.createTool)({
|
|
175
210
|
id: "scavio-youtube-metadata",
|
|
176
|
-
description: "
|
|
211
|
+
description: "Deprecated alias of scavio-youtube-video: fetch metadata for a YouTube video by id via Scavio.",
|
|
177
212
|
inputSchema: import_zod4.z.object({
|
|
178
213
|
video_id: import_zod4.z.string().describe("YouTube video id")
|
|
179
214
|
}),
|
|
@@ -181,6 +216,61 @@ function createScavioYoutubeMetadataTool(config) {
|
|
|
181
216
|
execute: async (input) => getClient().youtube.metadata(input)
|
|
182
217
|
});
|
|
183
218
|
}
|
|
219
|
+
function createScavioYoutubeCommentsTool(config) {
|
|
220
|
+
let client = null;
|
|
221
|
+
const getClient = () => client ??= getScavioClient(config);
|
|
222
|
+
return (0, import_tools4.createTool)({
|
|
223
|
+
id: "scavio-youtube-comments",
|
|
224
|
+
description: "List the top-level comments on a YouTube video via Scavio.",
|
|
225
|
+
inputSchema: import_zod4.z.object({
|
|
226
|
+
video_id: import_zod4.z.string().describe("YouTube video id or full watch URL"),
|
|
227
|
+
cursor: import_zod4.z.string().optional().describe("Pagination cursor from a prior response")
|
|
228
|
+
}),
|
|
229
|
+
outputSchema: outputSchema4,
|
|
230
|
+
execute: async (input) => getClient().youtube.comments(input)
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
function createScavioYoutubeChannelTool(config) {
|
|
234
|
+
let client = null;
|
|
235
|
+
const getClient = () => client ??= getScavioClient(config);
|
|
236
|
+
return (0, import_tools4.createTool)({
|
|
237
|
+
id: "scavio-youtube-channel",
|
|
238
|
+
description: "Fetch details for a YouTube channel by id, @handle, or URL via Scavio.",
|
|
239
|
+
inputSchema: import_zod4.z.object({
|
|
240
|
+
channel_id: import_zod4.z.string().describe("YouTube channel id, @handle, or channel URL")
|
|
241
|
+
}),
|
|
242
|
+
outputSchema: outputSchema4,
|
|
243
|
+
execute: async (input) => getClient().youtube.channel(input)
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
function createScavioYoutubeTranscriptTool(config) {
|
|
247
|
+
let client = null;
|
|
248
|
+
const getClient = () => client ??= getScavioClient(config);
|
|
249
|
+
return (0, import_tools4.createTool)({
|
|
250
|
+
id: "scavio-youtube-transcript",
|
|
251
|
+
description: "Fetch the transcript or timed subtitles for a YouTube video via Scavio.",
|
|
252
|
+
inputSchema: import_zod4.z.object({
|
|
253
|
+
video_id: import_zod4.z.string().describe("YouTube video id or full watch URL"),
|
|
254
|
+
language: import_zod4.z.string().optional().describe('Caption language code (default "en")'),
|
|
255
|
+
format: import_zod4.z.enum(["text", "srt"]).optional().describe('"text" for plain transcript, "srt" for timed subtitles')
|
|
256
|
+
}),
|
|
257
|
+
outputSchema: outputSchema4,
|
|
258
|
+
execute: async (input) => getClient().youtube.transcript(input)
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
function createScavioYoutubeStreamsTool(config) {
|
|
262
|
+
let client = null;
|
|
263
|
+
const getClient = () => client ??= getScavioClient(config);
|
|
264
|
+
return (0, import_tools4.createTool)({
|
|
265
|
+
id: "scavio-youtube-streams",
|
|
266
|
+
description: "Get playable and downloadable stream formats for a YouTube video via Scavio.",
|
|
267
|
+
inputSchema: import_zod4.z.object({
|
|
268
|
+
video_id: import_zod4.z.string().describe("YouTube video id or full watch URL")
|
|
269
|
+
}),
|
|
270
|
+
outputSchema: outputSchema4,
|
|
271
|
+
execute: async (input) => getClient().youtube.streams(input)
|
|
272
|
+
});
|
|
273
|
+
}
|
|
184
274
|
|
|
185
275
|
// src/reddit.ts
|
|
186
276
|
var import_tools5 = require("@mastra/core/tools");
|
|
@@ -191,11 +281,10 @@ function createScavioRedditSearchTool(config) {
|
|
|
191
281
|
const getClient = () => client ??= getScavioClient(config);
|
|
192
282
|
return (0, import_tools5.createTool)({
|
|
193
283
|
id: "scavio-reddit-search",
|
|
194
|
-
description: "Search Reddit posts
|
|
284
|
+
description: "Search Reddit posts via Scavio (1 credit). Returns matching posts under data.results, with data.next_cursor and data.has_more for paging. Results cannot be filtered or sorted.",
|
|
195
285
|
inputSchema: import_zod5.z.object({
|
|
196
286
|
query: import_zod5.z.string().describe("The Reddit search query"),
|
|
197
|
-
|
|
198
|
-
sort: import_zod5.z.string().optional().describe('Sort order, e.g. "relevance", "new", "top"')
|
|
287
|
+
cursor: import_zod5.z.string().optional().describe("Pagination cursor (next_cursor) from a prior response")
|
|
199
288
|
}),
|
|
200
289
|
outputSchema: outputSchema5,
|
|
201
290
|
execute: async (input) => getClient().reddit.search(input)
|
|
@@ -206,9 +295,10 @@ function createScavioRedditPostTool(config) {
|
|
|
206
295
|
const getClient = () => client ??= getScavioClient(config);
|
|
207
296
|
return (0, import_tools5.createTool)({
|
|
208
297
|
id: "scavio-reddit-post",
|
|
209
|
-
description: "Fetch a Reddit post
|
|
298
|
+
description: "Fetch a single Reddit post by URL or id via Scavio (1 credit). Returns a flat post object under data (title, text, score, num_comments, ...). It carries no comments - only the num_comments count.",
|
|
210
299
|
inputSchema: import_zod5.z.object({
|
|
211
|
-
|
|
300
|
+
post_id: import_zod5.z.string().optional().describe('Post fullname ("t3_...") or bare post id'),
|
|
301
|
+
url: import_zod5.z.string().optional().describe("Full URL of the Reddit post")
|
|
212
302
|
}),
|
|
213
303
|
outputSchema: outputSchema5,
|
|
214
304
|
execute: async (input) => getClient().reddit.post(input)
|
|
@@ -287,10 +377,16 @@ function createScavioTools(config) {
|
|
|
287
377
|
scavioGoogleSearch: createScavioGoogleSearchTool(config),
|
|
288
378
|
scavioAmazonSearch: createScavioAmazonSearchTool(config),
|
|
289
379
|
scavioAmazonProduct: createScavioAmazonProductTool(config),
|
|
380
|
+
scavioAmazonOffers: createScavioAmazonOffersTool(config),
|
|
290
381
|
scavioWalmartSearch: createScavioWalmartSearchTool(config),
|
|
291
382
|
scavioWalmartProduct: createScavioWalmartProductTool(config),
|
|
292
383
|
scavioYoutubeSearch: createScavioYoutubeSearchTool(config),
|
|
384
|
+
scavioYoutubeVideo: createScavioYoutubeVideoTool(config),
|
|
293
385
|
scavioYoutubeMetadata: createScavioYoutubeMetadataTool(config),
|
|
386
|
+
scavioYoutubeComments: createScavioYoutubeCommentsTool(config),
|
|
387
|
+
scavioYoutubeChannel: createScavioYoutubeChannelTool(config),
|
|
388
|
+
scavioYoutubeTranscript: createScavioYoutubeTranscriptTool(config),
|
|
389
|
+
scavioYoutubeStreams: createScavioYoutubeStreamsTool(config),
|
|
294
390
|
scavioRedditSearch: createScavioRedditSearchTool(config),
|
|
295
391
|
scavioRedditPost: createScavioRedditPostTool(config),
|
|
296
392
|
scavioTiktokSearch: createScavioTiktokSearchTool(config),
|
|
@@ -301,6 +397,7 @@ function createScavioTools(config) {
|
|
|
301
397
|
}
|
|
302
398
|
// Annotate the CommonJS export names for ESM import in node:
|
|
303
399
|
0 && (module.exports = {
|
|
400
|
+
createScavioAmazonOffersTool,
|
|
304
401
|
createScavioAmazonProductTool,
|
|
305
402
|
createScavioAmazonSearchTool,
|
|
306
403
|
createScavioGoogleSearchTool,
|
|
@@ -313,8 +410,13 @@ function createScavioTools(config) {
|
|
|
313
410
|
createScavioTools,
|
|
314
411
|
createScavioWalmartProductTool,
|
|
315
412
|
createScavioWalmartSearchTool,
|
|
413
|
+
createScavioYoutubeChannelTool,
|
|
414
|
+
createScavioYoutubeCommentsTool,
|
|
316
415
|
createScavioYoutubeMetadataTool,
|
|
317
416
|
createScavioYoutubeSearchTool,
|
|
417
|
+
createScavioYoutubeStreamsTool,
|
|
418
|
+
createScavioYoutubeTranscriptTool,
|
|
419
|
+
createScavioYoutubeVideoTool,
|
|
318
420
|
getScavioClient
|
|
319
421
|
});
|
|
320
422
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/client.ts","../src/google.ts","../src/amazon.ts","../src/walmart.ts","../src/youtube.ts","../src/reddit.ts","../src/tiktok.ts","../src/instagram.ts","../src/tools.ts"],"sourcesContent":["export { getScavioClient, type ScavioClientOptions, type ScavioClient } from './client.js';\nexport { createScavioGoogleSearchTool } from './google.js';\nexport { createScavioAmazonSearchTool, createScavioAmazonProductTool } from './amazon.js';\nexport { createScavioWalmartSearchTool, createScavioWalmartProductTool } from './walmart.js';\nexport { createScavioYoutubeSearchTool, createScavioYoutubeMetadataTool } from './youtube.js';\nexport { createScavioRedditSearchTool, createScavioRedditPostTool } from './reddit.js';\nexport { createScavioTiktokSearchTool, createScavioTiktokProfileTool } from './tiktok.js';\nexport { createScavioInstagramSearchTool, createScavioInstagramProfileTool } from './instagram.js';\nexport { createScavioTools } from './tools.js';\n","import { Scavio } from 'scavio';\n\nexport interface ScavioClientOptions {\n /** Scavio API key. Falls back to the `SCAVIO_API_KEY` environment variable. */\n apiKey?: string;\n}\n\nexport type ScavioClient = Scavio;\n\nexport function getScavioClient(config?: ScavioClientOptions): ScavioClient {\n const apiKey = config?.apiKey ?? process.env.SCAVIO_API_KEY;\n if (!apiKey) {\n throw new Error('Scavio API key is required. Pass { apiKey } or set SCAVIO_API_KEY env var.');\n }\n return new Scavio({ apiKey });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioGoogleSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-google-search',\n description:\n 'Search Google in real time via Scavio (1 credit). Returns organic results, knowledge graph, related questions, AI overview, and more as structured JSON.',\n inputSchema: z.object({\n query: z.string().describe('The search query'),\n country_code: z.string().optional().describe('Two-letter country code, e.g. \"us\"'),\n language: z.string().optional().describe('Two-letter language code, e.g. \"en\"'),\n page: z.number().optional().describe('Result page number (1-based)'),\n device: z.enum(['desktop', 'mobile']).optional().describe('Device to emulate'),\n nfpr: z.boolean().optional().describe('Disable spelling correction / auto-fixes'),\n }),\n outputSchema,\n execute: async ({ query, country_code, language, page, device, nfpr }) =>\n getClient().google.search({\n query,\n ...(country_code !== undefined ? { gl: country_code } : {}),\n ...(language !== undefined ? { hl: language } : {}),\n ...(page !== undefined && page > 1 ? { start: (page - 1) * 10 } : {}),\n ...(device !== undefined ? { device } : {}),\n ...(nfpr !== undefined ? { nfpr } : {}),\n }),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioAmazonSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-amazon-search',\n description: 'Search Amazon for products via Scavio. Returns matching products as structured JSON.',\n inputSchema: z.object({\n query: z.string().describe('The product search query'),\n domain: z.string().optional().describe('Amazon domain, e.g. \"amazon.com\"'),\n country: z.string().optional().describe('Two-letter country code'),\n sort_by: z.string().optional().describe('Sort order for results'),\n }),\n outputSchema,\n execute: async input => getClient().amazon.search(input as never),\n });\n}\n\nexport function createScavioAmazonProductTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-amazon-product',\n description: 'Fetch full Amazon product details by ASIN via Scavio.',\n inputSchema: z.object({\n asin: z.string().describe('Amazon Standard Identification Number (ASIN)'),\n domain: z.string().optional().describe('Amazon domain, e.g. \"amazon.com\"'),\n country: z.string().optional().describe('Two-letter country code'),\n }),\n outputSchema,\n execute: async input => getClient().amazon.product(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioWalmartSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-walmart-search',\n description: 'Search Walmart for products via Scavio. Returns matching products as structured JSON.',\n inputSchema: z.object({\n query: z.string().describe('The product search query'),\n sort_by: z.string().optional().describe('Sort order for results'),\n min_price: z.number().optional().describe('Minimum price filter'),\n max_price: z.number().optional().describe('Maximum price filter'),\n }),\n outputSchema,\n execute: async input => getClient().walmart.search(input as never),\n });\n}\n\nexport function createScavioWalmartProductTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-walmart-product',\n description: 'Fetch full Walmart product details by product id via Scavio.',\n inputSchema: z.object({\n product_id: z.string().describe('Walmart product id'),\n }),\n outputSchema,\n execute: async input => getClient().walmart.product(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioYoutubeSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-search',\n description: 'Search YouTube for videos, channels, or playlists via Scavio.',\n inputSchema: z.object({\n query: z.string().describe('The video search query'),\n upload_date: z.string().optional().describe('Upload date filter, e.g. \"today\", \"week\", \"month\"'),\n type: z.string().optional().describe('Result type, e.g. \"video\", \"channel\", \"playlist\"'),\n sort_by: z.string().optional().describe('Sort order for results'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.search(input as never),\n });\n}\n\nexport function createScavioYoutubeMetadataTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-metadata',\n description: 'Fetch metadata for a YouTube video by id via Scavio.',\n inputSchema: z.object({\n video_id: z.string().describe('YouTube video id'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.metadata(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioRedditSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-reddit-search',\n description: 'Search Reddit posts, subreddits, or users via Scavio.',\n inputSchema: z.object({\n query: z.string().describe('The Reddit search query'),\n type: z.string().optional().describe('Search type, e.g. \"posts\", \"subreddits\", \"users\"'),\n sort: z.string().optional().describe('Sort order, e.g. \"relevance\", \"new\", \"top\"'),\n }),\n outputSchema,\n execute: async input => getClient().reddit.search(input as never),\n });\n}\n\nexport function createScavioRedditPostTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-reddit-post',\n description: 'Fetch a Reddit post and its comment thread by URL via Scavio.',\n inputSchema: z.object({\n url: z.string().describe('Full URL of the Reddit post'),\n }),\n outputSchema,\n execute: async input => getClient().reddit.post(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioTiktokSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-tiktok-search',\n description: 'Search TikTok videos by keyword via Scavio.',\n inputSchema: z.object({\n keyword: z.string().describe('Search keyword'),\n count: z.number().optional().describe('Number of videos to return'),\n sort_type: z.string().optional().describe('Sort order for results'),\n }),\n outputSchema,\n execute: async input => getClient().tiktok.searchVideos(input as never),\n });\n}\n\nexport function createScavioTiktokProfileTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-tiktok-profile',\n description: 'Fetch a TikTok user profile by username via Scavio.',\n inputSchema: z.object({\n username: z.string().optional().describe('TikTok username (without @)'),\n sec_user_id: z.string().optional().describe('TikTok secUid'),\n }),\n outputSchema,\n execute: async input => getClient().tiktok.profile(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioInstagramSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-instagram-search',\n description: 'Search Instagram users by keyword via Scavio.',\n inputSchema: z.object({\n keyword: z.string().describe('Search keyword'),\n }),\n outputSchema,\n execute: async input => getClient().instagram.searchUsers(input),\n });\n}\n\nexport function createScavioInstagramProfileTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-instagram-profile',\n description: 'Fetch an Instagram profile by username via Scavio.',\n inputSchema: z.object({\n username: z.string().optional().describe('Instagram username'),\n user_id: z.string().optional().describe('Instagram user id'),\n }),\n outputSchema,\n execute: async input => getClient().instagram.profile(input),\n });\n}\n","import type { ScavioClientOptions } from './client.js';\nimport { createScavioAmazonProductTool, createScavioAmazonSearchTool } from './amazon.js';\nimport { createScavioGoogleSearchTool } from './google.js';\nimport { createScavioInstagramProfileTool, createScavioInstagramSearchTool } from './instagram.js';\nimport { createScavioRedditPostTool, createScavioRedditSearchTool } from './reddit.js';\nimport { createScavioTiktokProfileTool, createScavioTiktokSearchTool } from './tiktok.js';\nimport { createScavioWalmartProductTool, createScavioWalmartSearchTool } from './walmart.js';\nimport { createScavioYoutubeMetadataTool, createScavioYoutubeSearchTool } from './youtube.js';\n\nexport function createScavioTools(config?: ScavioClientOptions) {\n return {\n scavioGoogleSearch: createScavioGoogleSearchTool(config),\n scavioAmazonSearch: createScavioAmazonSearchTool(config),\n scavioAmazonProduct: createScavioAmazonProductTool(config),\n scavioWalmartSearch: createScavioWalmartSearchTool(config),\n scavioWalmartProduct: createScavioWalmartProductTool(config),\n scavioYoutubeSearch: createScavioYoutubeSearchTool(config),\n scavioYoutubeMetadata: createScavioYoutubeMetadataTool(config),\n scavioRedditSearch: createScavioRedditSearchTool(config),\n scavioRedditPost: createScavioRedditPostTool(config),\n scavioTiktokSearch: createScavioTiktokSearchTool(config),\n scavioTiktokProfile: createScavioTiktokProfileTool(config),\n scavioInstagramSearch: createScavioInstagramSearchTool(config),\n scavioInstagramProfile: createScavioInstagramProfileTool(config),\n };\n}\n"],"mappings":"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","names":["import_tools","import_zod","outputSchema","import_tools","import_zod","outputSchema","import_tools","import_zod","outputSchema","import_tools","import_zod","outputSchema","import_tools","import_zod","outputSchema","import_tools","import_zod","outputSchema"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/client.ts","../src/google.ts","../src/amazon.ts","../src/walmart.ts","../src/youtube.ts","../src/reddit.ts","../src/tiktok.ts","../src/instagram.ts","../src/tools.ts"],"sourcesContent":["export { getScavioClient, type ScavioClientOptions, type ScavioClient } from './client.js';\nexport { createScavioGoogleSearchTool } from './google.js';\nexport {\n createScavioAmazonSearchTool,\n createScavioAmazonProductTool,\n createScavioAmazonOffersTool,\n} from './amazon.js';\nexport { createScavioWalmartSearchTool, createScavioWalmartProductTool } from './walmart.js';\nexport {\n createScavioYoutubeSearchTool,\n createScavioYoutubeVideoTool,\n createScavioYoutubeMetadataTool,\n createScavioYoutubeCommentsTool,\n createScavioYoutubeChannelTool,\n createScavioYoutubeTranscriptTool,\n createScavioYoutubeStreamsTool,\n} from './youtube.js';\nexport { createScavioRedditSearchTool, createScavioRedditPostTool } from './reddit.js';\nexport { createScavioTiktokSearchTool, createScavioTiktokProfileTool } from './tiktok.js';\nexport { createScavioInstagramSearchTool, createScavioInstagramProfileTool } from './instagram.js';\nexport { createScavioTools } from './tools.js';\n","import { Scavio } from 'scavio';\n\nexport interface ScavioClientOptions {\n /** Scavio API key. Falls back to the `SCAVIO_API_KEY` environment variable. */\n apiKey?: string;\n}\n\nexport type ScavioClient = Scavio;\n\nexport function getScavioClient(config?: ScavioClientOptions): ScavioClient {\n const apiKey = config?.apiKey ?? process.env.SCAVIO_API_KEY;\n if (!apiKey) {\n throw new Error('Scavio API key is required. Pass { apiKey } or set SCAVIO_API_KEY env var.');\n }\n return new Scavio({ apiKey });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioGoogleSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-google-search',\n description:\n 'Search Google in real time via Scavio (1 credit). Returns organic results, knowledge graph, related questions, AI overview, and more as structured JSON.',\n inputSchema: z.object({\n query: z.string().describe('The search query'),\n country_code: z.string().optional().describe('Two-letter country code, e.g. \"us\"'),\n language: z.string().optional().describe('Two-letter language code, e.g. \"en\"'),\n page: z.number().optional().describe('Result page number (1-based)'),\n device: z.enum(['desktop', 'mobile']).optional().describe('Device to emulate'),\n nfpr: z.boolean().optional().describe('Disable spelling correction / auto-fixes'),\n }),\n outputSchema,\n execute: async ({ query, country_code, language, page, device, nfpr }) =>\n getClient().google.search({\n query,\n ...(country_code !== undefined ? { gl: country_code } : {}),\n ...(language !== undefined ? { hl: language } : {}),\n ...(page !== undefined && page > 1 ? { start: (page - 1) * 10 } : {}),\n ...(device !== undefined ? { device } : {}),\n ...(nfpr !== undefined ? { nfpr } : {}),\n }),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\n// Amazon moved upstream in 2026-07: sort_by, pages, category_id, merchant_id,\n// language, currency, device, zip_code and autoselect_variant no longer exist.\n// sort_by especially was verified inert - every sort value returns the same\n// unordered set - so it is removed rather than kept as a no-op the model plans\n// against. `domain` still works on the wire as a deprecated alias but is not\n// offered here: one spelling per param.\nconst COUNTRY_DESCRIPTION =\n 'Marketplace country code (ISO 3166-1 alpha-2), not a domain: us (default), gb (the UK is gb, not uk), ca, de, fr, es, it, jp, in, au, br, mx, nl, pl, se, sg, ae, sa, eg, cn, be, tr. An unknown code falls back to us.';\n\nexport function createScavioAmazonSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-amazon-search',\n description:\n 'Search Amazon for products via Scavio. Returns matching products as structured JSON. Results are unsorted and cannot be filtered by category, merchant or price.',\n inputSchema: z.object({\n query: z.string().describe('The product search query'),\n country: z.string().optional().describe(COUNTRY_DESCRIPTION),\n page: z.number().optional().describe('Result page, 1-based. One page per call, 1 credit each.'),\n }),\n outputSchema,\n execute: async input => getClient().amazon.search(input as never),\n });\n}\n\nexport function createScavioAmazonProductTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-amazon-product',\n description:\n 'Fetch full Amazon product details by ASIN via Scavio. price is the buy-box price only.',\n inputSchema: z.object({\n asin: z.string().describe('Amazon Standard Identification Number (ASIN)'),\n country: z.string().optional().describe(COUNTRY_DESCRIPTION),\n }),\n outputSchema,\n execute: async input => getClient().amazon.product(input),\n });\n}\n\nexport function createScavioAmazonOffersTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-amazon-offers',\n description:\n 'List every seller offer for one Amazon ASIN via Scavio: price, seller, condition, shipping, and which offer holds the buy box. Page 1 only. Use this instead of the product tool when comparing sellers or checking who owns the buy box.',\n inputSchema: z.object({\n asin: z.string().describe('Amazon Standard Identification Number (ASIN)'),\n country: z.string().optional().describe(COUNTRY_DESCRIPTION),\n }),\n outputSchema,\n execute: async input => getClient().amazon.offers(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioWalmartSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-walmart-search',\n description: 'Search Walmart for products via Scavio. Returns matching products as structured JSON.',\n inputSchema: z.object({\n query: z.string().describe('The product search query'),\n sort_by: z.string().optional().describe('Sort order for results'),\n min_price: z.number().optional().describe('Minimum price filter'),\n max_price: z.number().optional().describe('Maximum price filter'),\n }),\n outputSchema,\n execute: async input => getClient().walmart.search(input as never),\n });\n}\n\nexport function createScavioWalmartProductTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-walmart-product',\n description: 'Fetch full Walmart product details by product id via Scavio.',\n inputSchema: z.object({\n product_id: z.string().describe('Walmart product id'),\n }),\n outputSchema,\n execute: async input => getClient().walmart.product(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioYoutubeSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-search',\n description: 'Search YouTube for videos, channels, or playlists via Scavio.',\n inputSchema: z.object({\n query: z.string().describe('The video search query'),\n upload_date: z.string().optional().describe('Upload date filter, e.g. \"today\", \"this_week\", \"this_month\"'),\n type: z.string().optional().describe('Result type, e.g. \"video\", \"channel\", \"playlist\", \"movie\"'),\n duration: z.string().optional().describe('Duration filter: \"short\", \"medium\", or \"long\"'),\n sort_by: z.string().optional().describe('Sort order: \"relevance\", \"date\", \"view_count\", or \"rating\"'),\n features: z\n .array(z.string())\n .optional()\n .describe('Feature filters, e.g. [\"hd\", \"4k\", \"subtitles\", \"creative_commons\", \"live\"]'),\n cursor: z.string().optional().describe('Pagination cursor from a prior response'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.search(input as never),\n });\n}\n\nexport function createScavioYoutubeVideoTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-video',\n description: 'Fetch full metadata for a YouTube video by id or watch URL via Scavio.',\n inputSchema: z.object({\n video_id: z.string().describe('YouTube video id or full watch URL'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.video(input),\n });\n}\n\nexport function createScavioYoutubeMetadataTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-metadata',\n description: 'Deprecated alias of scavio-youtube-video: fetch metadata for a YouTube video by id via Scavio.',\n inputSchema: z.object({\n video_id: z.string().describe('YouTube video id'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.metadata(input),\n });\n}\n\nexport function createScavioYoutubeCommentsTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-comments',\n description: 'List the top-level comments on a YouTube video via Scavio.',\n inputSchema: z.object({\n video_id: z.string().describe('YouTube video id or full watch URL'),\n cursor: z.string().optional().describe('Pagination cursor from a prior response'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.comments(input),\n });\n}\n\nexport function createScavioYoutubeChannelTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-channel',\n description: 'Fetch details for a YouTube channel by id, @handle, or URL via Scavio.',\n inputSchema: z.object({\n channel_id: z.string().describe('YouTube channel id, @handle, or channel URL'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.channel(input),\n });\n}\n\nexport function createScavioYoutubeTranscriptTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-transcript',\n description: 'Fetch the transcript or timed subtitles for a YouTube video via Scavio.',\n inputSchema: z.object({\n video_id: z.string().describe('YouTube video id or full watch URL'),\n language: z.string().optional().describe('Caption language code (default \"en\")'),\n format: z.enum(['text', 'srt']).optional().describe('\"text\" for plain transcript, \"srt\" for timed subtitles'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.transcript(input),\n });\n}\n\nexport function createScavioYoutubeStreamsTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-streams',\n description: 'Get playable and downloadable stream formats for a YouTube video via Scavio.',\n inputSchema: z.object({\n video_id: z.string().describe('YouTube video id or full watch URL'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.streams(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioRedditSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-reddit-search',\n description:\n 'Search Reddit posts via Scavio (1 credit). Returns matching posts under data.results, with data.next_cursor and data.has_more for paging. Results cannot be filtered or sorted.',\n inputSchema: z.object({\n query: z.string().describe('The Reddit search query'),\n cursor: z.string().optional().describe('Pagination cursor (next_cursor) from a prior response'),\n }),\n outputSchema,\n execute: async input => getClient().reddit.search(input),\n });\n}\n\nexport function createScavioRedditPostTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-reddit-post',\n description:\n 'Fetch a single Reddit post by URL or id via Scavio (1 credit). Returns a flat post object under data (title, text, score, num_comments, ...). It carries no comments - only the num_comments count.',\n inputSchema: z.object({\n post_id: z.string().optional().describe('Post fullname (\"t3_...\") or bare post id'),\n url: z.string().optional().describe('Full URL of the Reddit post'),\n }),\n outputSchema,\n execute: async input => getClient().reddit.post(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioTiktokSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-tiktok-search',\n description: 'Search TikTok videos by keyword via Scavio.',\n inputSchema: z.object({\n keyword: z.string().describe('Search keyword'),\n count: z.number().optional().describe('Number of videos to return'),\n sort_type: z.string().optional().describe('Sort order for results'),\n }),\n outputSchema,\n execute: async input => getClient().tiktok.searchVideos(input as never),\n });\n}\n\nexport function createScavioTiktokProfileTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-tiktok-profile',\n description: 'Fetch a TikTok user profile by username via Scavio.',\n inputSchema: z.object({\n username: z.string().optional().describe('TikTok username (without @)'),\n sec_user_id: z.string().optional().describe('TikTok secUid'),\n }),\n outputSchema,\n execute: async input => getClient().tiktok.profile(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioInstagramSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-instagram-search',\n description: 'Search Instagram users by keyword via Scavio.',\n inputSchema: z.object({\n keyword: z.string().describe('Search keyword'),\n }),\n outputSchema,\n execute: async input => getClient().instagram.searchUsers(input),\n });\n}\n\nexport function createScavioInstagramProfileTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-instagram-profile',\n description: 'Fetch an Instagram profile by username via Scavio.',\n inputSchema: z.object({\n username: z.string().optional().describe('Instagram username'),\n user_id: z.string().optional().describe('Instagram user id'),\n }),\n outputSchema,\n execute: async input => getClient().instagram.profile(input),\n });\n}\n","import type { ScavioClientOptions } from './client.js';\nimport {\n createScavioAmazonOffersTool,\n createScavioAmazonProductTool,\n createScavioAmazonSearchTool,\n} from './amazon.js';\nimport { createScavioGoogleSearchTool } from './google.js';\nimport { createScavioInstagramProfileTool, createScavioInstagramSearchTool } from './instagram.js';\nimport { createScavioRedditPostTool, createScavioRedditSearchTool } from './reddit.js';\nimport { createScavioTiktokProfileTool, createScavioTiktokSearchTool } from './tiktok.js';\nimport { createScavioWalmartProductTool, createScavioWalmartSearchTool } from './walmart.js';\nimport {\n createScavioYoutubeChannelTool,\n createScavioYoutubeCommentsTool,\n createScavioYoutubeMetadataTool,\n createScavioYoutubeSearchTool,\n createScavioYoutubeStreamsTool,\n createScavioYoutubeTranscriptTool,\n createScavioYoutubeVideoTool,\n} from './youtube.js';\n\nexport function createScavioTools(config?: ScavioClientOptions) {\n return {\n scavioGoogleSearch: createScavioGoogleSearchTool(config),\n scavioAmazonSearch: createScavioAmazonSearchTool(config),\n scavioAmazonProduct: createScavioAmazonProductTool(config),\n scavioAmazonOffers: createScavioAmazonOffersTool(config),\n scavioWalmartSearch: createScavioWalmartSearchTool(config),\n scavioWalmartProduct: createScavioWalmartProductTool(config),\n scavioYoutubeSearch: createScavioYoutubeSearchTool(config),\n scavioYoutubeVideo: createScavioYoutubeVideoTool(config),\n scavioYoutubeMetadata: createScavioYoutubeMetadataTool(config),\n scavioYoutubeComments: createScavioYoutubeCommentsTool(config),\n scavioYoutubeChannel: createScavioYoutubeChannelTool(config),\n scavioYoutubeTranscript: createScavioYoutubeTranscriptTool(config),\n scavioYoutubeStreams: createScavioYoutubeStreamsTool(config),\n scavioRedditSearch: createScavioRedditSearchTool(config),\n scavioRedditPost: createScavioRedditPostTool(config),\n scavioTiktokSearch: createScavioTiktokSearchTool(config),\n scavioTiktokProfile: createScavioTiktokProfileTool(config),\n scavioInstagramSearch: createScavioInstagramSearchTool(config),\n scavioInstagramProfile: createScavioInstagramProfileTool(config),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAuB;AAShB,SAAS,gBAAgB,QAA4C;AAC1E,QAAM,SAAS,QAAQ,UAAU,QAAQ,IAAI;AAC7C,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,MAAM,4EAA4E;AAAA,EAC9F;AACA,SAAO,IAAI,qBAAO,EAAE,OAAO,CAAC;AAC9B;;;ACfA,mBAA2B;AAC3B,iBAAkB;AAKlB,IAAM,eAAe,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,QAAQ,CAAC;AAE9C,SAAS,6BAA6B,QAA8B;AACzE,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,yBAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aACE;AAAA,IACF,aAAa,aAAE,OAAO;AAAA,MACpB,OAAO,aAAE,OAAO,EAAE,SAAS,kBAAkB;AAAA,MAC7C,cAAc,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,oCAAoC;AAAA,MACjF,UAAU,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,qCAAqC;AAAA,MAC9E,MAAM,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,8BAA8B;AAAA,MACnE,QAAQ,aAAE,KAAK,CAAC,WAAW,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,mBAAmB;AAAA,MAC7E,MAAM,aAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,0CAA0C;AAAA,IAClF,CAAC;AAAA,IACD;AAAA,IACA,SAAS,OAAO,EAAE,OAAO,cAAc,UAAU,MAAM,QAAQ,KAAK,MAClE,UAAU,EAAE,OAAO,OAAO;AAAA,MACxB;AAAA,MACA,GAAI,iBAAiB,SAAY,EAAE,IAAI,aAAa,IAAI,CAAC;AAAA,MACzD,GAAI,aAAa,SAAY,EAAE,IAAI,SAAS,IAAI,CAAC;AAAA,MACjD,GAAI,SAAS,UAAa,OAAO,IAAI,EAAE,QAAQ,OAAO,KAAK,GAAG,IAAI,CAAC;AAAA,MACnE,GAAI,WAAW,SAAY,EAAE,OAAO,IAAI,CAAC;AAAA,MACzC,GAAI,SAAS,SAAY,EAAE,KAAK,IAAI,CAAC;AAAA,IACvC,CAAC;AAAA,EACL,CAAC;AACH;;;ACnCA,IAAAA,gBAA2B;AAC3B,IAAAC,cAAkB;AAKlB,IAAMC,gBAAe,cAAE,OAAO,cAAE,OAAO,GAAG,cAAE,QAAQ,CAAC;AAQrD,IAAM,sBACJ;AAEK,SAAS,6BAA6B,QAA8B;AACzE,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aACE;AAAA,IACF,aAAa,cAAE,OAAO;AAAA,MACpB,OAAO,cAAE,OAAO,EAAE,SAAS,0BAA0B;AAAA,MACrD,SAAS,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,mBAAmB;AAAA,MAC3D,MAAM,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,yDAAyD;AAAA,IAChG,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,OAAO,OAAO,KAAc;AAAA,EAClE,CAAC;AACH;AAEO,SAAS,8BAA8B,QAA8B;AAC1E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aACE;AAAA,IACF,aAAa,cAAE,OAAO;AAAA,MACpB,MAAM,cAAE,OAAO,EAAE,SAAS,8CAA8C;AAAA,MACxE,SAAS,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,mBAAmB;AAAA,IAC7D,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,OAAO,QAAQ,KAAK;AAAA,EAC1D,CAAC;AACH;AAEO,SAAS,6BAA6B,QAA8B;AACzE,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aACE;AAAA,IACF,aAAa,cAAE,OAAO;AAAA,MACpB,MAAM,cAAE,OAAO,EAAE,SAAS,8CAA8C;AAAA,MACxE,SAAS,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,mBAAmB;AAAA,IAC7D,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,OAAO,OAAO,KAAK;AAAA,EACzD,CAAC;AACH;;;ACnEA,IAAAC,gBAA2B;AAC3B,IAAAC,cAAkB;AAKlB,IAAMC,gBAAe,cAAE,OAAO,cAAE,OAAO,GAAG,cAAE,QAAQ,CAAC;AAE9C,SAAS,8BAA8B,QAA8B;AAC1E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,OAAO,cAAE,OAAO,EAAE,SAAS,0BAA0B;AAAA,MACrD,SAAS,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,wBAAwB;AAAA,MAChE,WAAW,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,sBAAsB;AAAA,MAChE,WAAW,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,sBAAsB;AAAA,IAClE,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,QAAQ,OAAO,KAAc;AAAA,EACnE,CAAC;AACH;AAEO,SAAS,+BAA+B,QAA8B;AAC3E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,YAAY,cAAE,OAAO,EAAE,SAAS,oBAAoB;AAAA,IACtD,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,QAAQ,QAAQ,KAAK;AAAA,EAC3D,CAAC;AACH;;;ACvCA,IAAAC,gBAA2B;AAC3B,IAAAC,cAAkB;AAKlB,IAAMC,gBAAe,cAAE,OAAO,cAAE,OAAO,GAAG,cAAE,QAAQ,CAAC;AAE9C,SAAS,8BAA8B,QAA8B;AAC1E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,OAAO,cAAE,OAAO,EAAE,SAAS,wBAAwB;AAAA,MACnD,aAAa,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,6DAA6D;AAAA,MACzG,MAAM,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,2DAA2D;AAAA,MAChG,UAAU,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,+CAA+C;AAAA,MACxF,SAAS,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,4DAA4D;AAAA,MACpG,UAAU,cACP,MAAM,cAAE,OAAO,CAAC,EAChB,SAAS,EACT,SAAS,6EAA6E;AAAA,MACzF,QAAQ,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,yCAAyC;AAAA,IAClF,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,QAAQ,OAAO,KAAc;AAAA,EACnE,CAAC;AACH;AAEO,SAAS,6BAA6B,QAA8B;AACzE,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,UAAU,cAAE,OAAO,EAAE,SAAS,oCAAoC;AAAA,IACpE,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,QAAQ,MAAM,KAAK;AAAA,EACzD,CAAC;AACH;AAEO,SAAS,gCAAgC,QAA8B;AAC5E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,UAAU,cAAE,OAAO,EAAE,SAAS,kBAAkB;AAAA,IAClD,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,QAAQ,SAAS,KAAK;AAAA,EAC5D,CAAC;AACH;AAEO,SAAS,gCAAgC,QAA8B;AAC5E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,UAAU,cAAE,OAAO,EAAE,SAAS,oCAAoC;AAAA,MAClE,QAAQ,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,yCAAyC;AAAA,IAClF,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,QAAQ,SAAS,KAAK;AAAA,EAC5D,CAAC;AACH;AAEO,SAAS,+BAA+B,QAA8B;AAC3E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,YAAY,cAAE,OAAO,EAAE,SAAS,6CAA6C;AAAA,IAC/E,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,QAAQ,QAAQ,KAAK;AAAA,EAC3D,CAAC;AACH;AAEO,SAAS,kCAAkC,QAA8B;AAC9E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,UAAU,cAAE,OAAO,EAAE,SAAS,oCAAoC;AAAA,MAClE,UAAU,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,sCAAsC;AAAA,MAC/E,QAAQ,cAAE,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,wDAAwD;AAAA,IAC9G,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,QAAQ,WAAW,KAAK;AAAA,EAC9D,CAAC;AACH;AAEO,SAAS,+BAA+B,QAA8B;AAC3E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,UAAU,cAAE,OAAO,EAAE,SAAS,oCAAoC;AAAA,IACpE,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,QAAQ,QAAQ,KAAK;AAAA,EAC3D,CAAC;AACH;;;AC3HA,IAAAC,gBAA2B;AAC3B,IAAAC,cAAkB;AAKlB,IAAMC,gBAAe,cAAE,OAAO,cAAE,OAAO,GAAG,cAAE,QAAQ,CAAC;AAE9C,SAAS,6BAA6B,QAA8B;AACzE,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aACE;AAAA,IACF,aAAa,cAAE,OAAO;AAAA,MACpB,OAAO,cAAE,OAAO,EAAE,SAAS,yBAAyB;AAAA,MACpD,QAAQ,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,uDAAuD;AAAA,IAChG,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,OAAO,OAAO,KAAK;AAAA,EACzD,CAAC;AACH;AAEO,SAAS,2BAA2B,QAA8B;AACvE,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aACE;AAAA,IACF,aAAa,cAAE,OAAO;AAAA,MACpB,SAAS,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,0CAA0C;AAAA,MAClF,KAAK,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,6BAA6B;AAAA,IACnE,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,OAAO,KAAK,KAAK;AAAA,EACvD,CAAC;AACH;;;ACxCA,IAAAC,gBAA2B;AAC3B,IAAAC,cAAkB;AAKlB,IAAMC,gBAAe,cAAE,OAAO,cAAE,OAAO,GAAG,cAAE,QAAQ,CAAC;AAE9C,SAAS,6BAA6B,QAA8B;AACzE,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,SAAS,cAAE,OAAO,EAAE,SAAS,gBAAgB;AAAA,MAC7C,OAAO,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,4BAA4B;AAAA,MAClE,WAAW,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,wBAAwB;AAAA,IACpE,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,OAAO,aAAa,KAAc;AAAA,EACxE,CAAC;AACH;AAEO,SAAS,8BAA8B,QAA8B;AAC1E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,UAAU,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,6BAA6B;AAAA,MACtE,aAAa,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,eAAe;AAAA,IAC7D,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,OAAO,QAAQ,KAAK;AAAA,EAC1D,CAAC;AACH;;;ACvCA,IAAAC,gBAA2B;AAC3B,IAAAC,cAAkB;AAKlB,IAAMC,gBAAe,cAAE,OAAO,cAAE,OAAO,GAAG,cAAE,QAAQ,CAAC;AAE9C,SAAS,gCAAgC,QAA8B;AAC5E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,SAAS,cAAE,OAAO,EAAE,SAAS,gBAAgB;AAAA,IAC/C,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,UAAU,YAAY,KAAK;AAAA,EACjE,CAAC;AACH;AAEO,SAAS,iCAAiC,QAA8B;AAC7E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,aAAO,0BAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa,cAAE,OAAO;AAAA,MACpB,UAAU,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,oBAAoB;AAAA,MAC7D,SAAS,cAAE,OAAO,EAAE,SAAS,EAAE,SAAS,mBAAmB;AAAA,IAC7D,CAAC;AAAA,IACD,cAAAA;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,UAAU,QAAQ,KAAK;AAAA,EAC7D,CAAC;AACH;;;AChBO,SAAS,kBAAkB,QAA8B;AAC9D,SAAO;AAAA,IACL,oBAAoB,6BAA6B,MAAM;AAAA,IACvD,oBAAoB,6BAA6B,MAAM;AAAA,IACvD,qBAAqB,8BAA8B,MAAM;AAAA,IACzD,oBAAoB,6BAA6B,MAAM;AAAA,IACvD,qBAAqB,8BAA8B,MAAM;AAAA,IACzD,sBAAsB,+BAA+B,MAAM;AAAA,IAC3D,qBAAqB,8BAA8B,MAAM;AAAA,IACzD,oBAAoB,6BAA6B,MAAM;AAAA,IACvD,uBAAuB,gCAAgC,MAAM;AAAA,IAC7D,uBAAuB,gCAAgC,MAAM;AAAA,IAC7D,sBAAsB,+BAA+B,MAAM;AAAA,IAC3D,yBAAyB,kCAAkC,MAAM;AAAA,IACjE,sBAAsB,+BAA+B,MAAM;AAAA,IAC3D,oBAAoB,6BAA6B,MAAM;AAAA,IACvD,kBAAkB,2BAA2B,MAAM;AAAA,IACnD,oBAAoB,6BAA6B,MAAM;AAAA,IACvD,qBAAqB,8BAA8B,MAAM;AAAA,IACzD,uBAAuB,gCAAgC,MAAM;AAAA,IAC7D,wBAAwB,iCAAiC,MAAM;AAAA,EACjE;AACF;","names":["import_tools","import_zod","outputSchema","import_tools","import_zod","outputSchema","import_tools","import_zod","outputSchema","import_tools","import_zod","outputSchema","import_tools","import_zod","outputSchema","import_tools","import_zod","outputSchema"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -19,15 +19,17 @@ declare function createScavioGoogleSearchTool(config?: ScavioClientOptions): _ma
|
|
|
19
19
|
|
|
20
20
|
declare function createScavioAmazonSearchTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
21
21
|
query: string;
|
|
22
|
-
|
|
22
|
+
page?: number | undefined;
|
|
23
23
|
country?: string | undefined;
|
|
24
|
-
sort_by?: string | undefined;
|
|
25
24
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-amazon-search", unknown>;
|
|
26
25
|
declare function createScavioAmazonProductTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
27
26
|
asin: string;
|
|
28
|
-
domain?: string | undefined;
|
|
29
27
|
country?: string | undefined;
|
|
30
28
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-amazon-product", unknown>;
|
|
29
|
+
declare function createScavioAmazonOffersTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
30
|
+
asin: string;
|
|
31
|
+
country?: string | undefined;
|
|
32
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-amazon-offers", unknown>;
|
|
31
33
|
|
|
32
34
|
declare function createScavioWalmartSearchTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
33
35
|
query: string;
|
|
@@ -44,18 +46,39 @@ declare function createScavioYoutubeSearchTool(config?: ScavioClientOptions): _m
|
|
|
44
46
|
type?: string | undefined;
|
|
45
47
|
sort_by?: string | undefined;
|
|
46
48
|
upload_date?: string | undefined;
|
|
49
|
+
duration?: string | undefined;
|
|
50
|
+
features?: string[] | undefined;
|
|
51
|
+
cursor?: string | undefined;
|
|
47
52
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-search", unknown>;
|
|
53
|
+
declare function createScavioYoutubeVideoTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
54
|
+
video_id: string;
|
|
55
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-video", unknown>;
|
|
48
56
|
declare function createScavioYoutubeMetadataTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
49
57
|
video_id: string;
|
|
50
58
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-metadata", unknown>;
|
|
59
|
+
declare function createScavioYoutubeCommentsTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
60
|
+
video_id: string;
|
|
61
|
+
cursor?: string | undefined;
|
|
62
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-comments", unknown>;
|
|
63
|
+
declare function createScavioYoutubeChannelTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
64
|
+
channel_id: string;
|
|
65
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-channel", unknown>;
|
|
66
|
+
declare function createScavioYoutubeTranscriptTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
67
|
+
video_id: string;
|
|
68
|
+
language?: string | undefined;
|
|
69
|
+
format?: "text" | "srt" | undefined;
|
|
70
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-transcript", unknown>;
|
|
71
|
+
declare function createScavioYoutubeStreamsTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
72
|
+
video_id: string;
|
|
73
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-streams", unknown>;
|
|
51
74
|
|
|
52
75
|
declare function createScavioRedditSearchTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
53
76
|
query: string;
|
|
54
|
-
|
|
55
|
-
type?: string | undefined;
|
|
77
|
+
cursor?: string | undefined;
|
|
56
78
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-reddit-search", unknown>;
|
|
57
79
|
declare function createScavioRedditPostTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
58
|
-
|
|
80
|
+
post_id?: string | undefined;
|
|
81
|
+
url?: string | undefined;
|
|
59
82
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-reddit-post", unknown>;
|
|
60
83
|
|
|
61
84
|
declare function createScavioTiktokSearchTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
@@ -87,15 +110,17 @@ declare function createScavioTools(config?: ScavioClientOptions): {
|
|
|
87
110
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-google-search", unknown>;
|
|
88
111
|
scavioAmazonSearch: _mastra_core_tools.Tool<{
|
|
89
112
|
query: string;
|
|
90
|
-
|
|
113
|
+
page?: number | undefined;
|
|
91
114
|
country?: string | undefined;
|
|
92
|
-
sort_by?: string | undefined;
|
|
93
115
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-amazon-search", unknown>;
|
|
94
116
|
scavioAmazonProduct: _mastra_core_tools.Tool<{
|
|
95
117
|
asin: string;
|
|
96
|
-
domain?: string | undefined;
|
|
97
118
|
country?: string | undefined;
|
|
98
119
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-amazon-product", unknown>;
|
|
120
|
+
scavioAmazonOffers: _mastra_core_tools.Tool<{
|
|
121
|
+
asin: string;
|
|
122
|
+
country?: string | undefined;
|
|
123
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-amazon-offers", unknown>;
|
|
99
124
|
scavioWalmartSearch: _mastra_core_tools.Tool<{
|
|
100
125
|
query: string;
|
|
101
126
|
sort_by?: string | undefined;
|
|
@@ -110,17 +135,38 @@ declare function createScavioTools(config?: ScavioClientOptions): {
|
|
|
110
135
|
type?: string | undefined;
|
|
111
136
|
sort_by?: string | undefined;
|
|
112
137
|
upload_date?: string | undefined;
|
|
138
|
+
duration?: string | undefined;
|
|
139
|
+
features?: string[] | undefined;
|
|
140
|
+
cursor?: string | undefined;
|
|
113
141
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-search", unknown>;
|
|
142
|
+
scavioYoutubeVideo: _mastra_core_tools.Tool<{
|
|
143
|
+
video_id: string;
|
|
144
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-video", unknown>;
|
|
114
145
|
scavioYoutubeMetadata: _mastra_core_tools.Tool<{
|
|
115
146
|
video_id: string;
|
|
116
147
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-metadata", unknown>;
|
|
148
|
+
scavioYoutubeComments: _mastra_core_tools.Tool<{
|
|
149
|
+
video_id: string;
|
|
150
|
+
cursor?: string | undefined;
|
|
151
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-comments", unknown>;
|
|
152
|
+
scavioYoutubeChannel: _mastra_core_tools.Tool<{
|
|
153
|
+
channel_id: string;
|
|
154
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-channel", unknown>;
|
|
155
|
+
scavioYoutubeTranscript: _mastra_core_tools.Tool<{
|
|
156
|
+
video_id: string;
|
|
157
|
+
language?: string | undefined;
|
|
158
|
+
format?: "text" | "srt" | undefined;
|
|
159
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-transcript", unknown>;
|
|
160
|
+
scavioYoutubeStreams: _mastra_core_tools.Tool<{
|
|
161
|
+
video_id: string;
|
|
162
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-streams", unknown>;
|
|
117
163
|
scavioRedditSearch: _mastra_core_tools.Tool<{
|
|
118
164
|
query: string;
|
|
119
|
-
|
|
120
|
-
type?: string | undefined;
|
|
165
|
+
cursor?: string | undefined;
|
|
121
166
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-reddit-search", unknown>;
|
|
122
167
|
scavioRedditPost: _mastra_core_tools.Tool<{
|
|
123
|
-
|
|
168
|
+
post_id?: string | undefined;
|
|
169
|
+
url?: string | undefined;
|
|
124
170
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-reddit-post", unknown>;
|
|
125
171
|
scavioTiktokSearch: _mastra_core_tools.Tool<{
|
|
126
172
|
keyword: string;
|
|
@@ -140,4 +186,4 @@ declare function createScavioTools(config?: ScavioClientOptions): {
|
|
|
140
186
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-instagram-profile", unknown>;
|
|
141
187
|
};
|
|
142
188
|
|
|
143
|
-
export { type ScavioClient, type ScavioClientOptions, createScavioAmazonProductTool, createScavioAmazonSearchTool, createScavioGoogleSearchTool, createScavioInstagramProfileTool, createScavioInstagramSearchTool, createScavioRedditPostTool, createScavioRedditSearchTool, createScavioTiktokProfileTool, createScavioTiktokSearchTool, createScavioTools, createScavioWalmartProductTool, createScavioWalmartSearchTool, createScavioYoutubeMetadataTool, createScavioYoutubeSearchTool, getScavioClient };
|
|
189
|
+
export { type ScavioClient, type ScavioClientOptions, createScavioAmazonOffersTool, createScavioAmazonProductTool, createScavioAmazonSearchTool, createScavioGoogleSearchTool, createScavioInstagramProfileTool, createScavioInstagramSearchTool, createScavioRedditPostTool, createScavioRedditSearchTool, createScavioTiktokProfileTool, createScavioTiktokSearchTool, createScavioTools, createScavioWalmartProductTool, createScavioWalmartSearchTool, createScavioYoutubeChannelTool, createScavioYoutubeCommentsTool, createScavioYoutubeMetadataTool, createScavioYoutubeSearchTool, createScavioYoutubeStreamsTool, createScavioYoutubeTranscriptTool, createScavioYoutubeVideoTool, getScavioClient };
|
package/dist/index.d.ts
CHANGED
|
@@ -19,15 +19,17 @@ declare function createScavioGoogleSearchTool(config?: ScavioClientOptions): _ma
|
|
|
19
19
|
|
|
20
20
|
declare function createScavioAmazonSearchTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
21
21
|
query: string;
|
|
22
|
-
|
|
22
|
+
page?: number | undefined;
|
|
23
23
|
country?: string | undefined;
|
|
24
|
-
sort_by?: string | undefined;
|
|
25
24
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-amazon-search", unknown>;
|
|
26
25
|
declare function createScavioAmazonProductTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
27
26
|
asin: string;
|
|
28
|
-
domain?: string | undefined;
|
|
29
27
|
country?: string | undefined;
|
|
30
28
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-amazon-product", unknown>;
|
|
29
|
+
declare function createScavioAmazonOffersTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
30
|
+
asin: string;
|
|
31
|
+
country?: string | undefined;
|
|
32
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-amazon-offers", unknown>;
|
|
31
33
|
|
|
32
34
|
declare function createScavioWalmartSearchTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
33
35
|
query: string;
|
|
@@ -44,18 +46,39 @@ declare function createScavioYoutubeSearchTool(config?: ScavioClientOptions): _m
|
|
|
44
46
|
type?: string | undefined;
|
|
45
47
|
sort_by?: string | undefined;
|
|
46
48
|
upload_date?: string | undefined;
|
|
49
|
+
duration?: string | undefined;
|
|
50
|
+
features?: string[] | undefined;
|
|
51
|
+
cursor?: string | undefined;
|
|
47
52
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-search", unknown>;
|
|
53
|
+
declare function createScavioYoutubeVideoTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
54
|
+
video_id: string;
|
|
55
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-video", unknown>;
|
|
48
56
|
declare function createScavioYoutubeMetadataTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
49
57
|
video_id: string;
|
|
50
58
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-metadata", unknown>;
|
|
59
|
+
declare function createScavioYoutubeCommentsTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
60
|
+
video_id: string;
|
|
61
|
+
cursor?: string | undefined;
|
|
62
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-comments", unknown>;
|
|
63
|
+
declare function createScavioYoutubeChannelTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
64
|
+
channel_id: string;
|
|
65
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-channel", unknown>;
|
|
66
|
+
declare function createScavioYoutubeTranscriptTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
67
|
+
video_id: string;
|
|
68
|
+
language?: string | undefined;
|
|
69
|
+
format?: "text" | "srt" | undefined;
|
|
70
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-transcript", unknown>;
|
|
71
|
+
declare function createScavioYoutubeStreamsTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
72
|
+
video_id: string;
|
|
73
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-streams", unknown>;
|
|
51
74
|
|
|
52
75
|
declare function createScavioRedditSearchTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
53
76
|
query: string;
|
|
54
|
-
|
|
55
|
-
type?: string | undefined;
|
|
77
|
+
cursor?: string | undefined;
|
|
56
78
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-reddit-search", unknown>;
|
|
57
79
|
declare function createScavioRedditPostTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
58
|
-
|
|
80
|
+
post_id?: string | undefined;
|
|
81
|
+
url?: string | undefined;
|
|
59
82
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-reddit-post", unknown>;
|
|
60
83
|
|
|
61
84
|
declare function createScavioTiktokSearchTool(config?: ScavioClientOptions): _mastra_core_tools.Tool<{
|
|
@@ -87,15 +110,17 @@ declare function createScavioTools(config?: ScavioClientOptions): {
|
|
|
87
110
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-google-search", unknown>;
|
|
88
111
|
scavioAmazonSearch: _mastra_core_tools.Tool<{
|
|
89
112
|
query: string;
|
|
90
|
-
|
|
113
|
+
page?: number | undefined;
|
|
91
114
|
country?: string | undefined;
|
|
92
|
-
sort_by?: string | undefined;
|
|
93
115
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-amazon-search", unknown>;
|
|
94
116
|
scavioAmazonProduct: _mastra_core_tools.Tool<{
|
|
95
117
|
asin: string;
|
|
96
|
-
domain?: string | undefined;
|
|
97
118
|
country?: string | undefined;
|
|
98
119
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-amazon-product", unknown>;
|
|
120
|
+
scavioAmazonOffers: _mastra_core_tools.Tool<{
|
|
121
|
+
asin: string;
|
|
122
|
+
country?: string | undefined;
|
|
123
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-amazon-offers", unknown>;
|
|
99
124
|
scavioWalmartSearch: _mastra_core_tools.Tool<{
|
|
100
125
|
query: string;
|
|
101
126
|
sort_by?: string | undefined;
|
|
@@ -110,17 +135,38 @@ declare function createScavioTools(config?: ScavioClientOptions): {
|
|
|
110
135
|
type?: string | undefined;
|
|
111
136
|
sort_by?: string | undefined;
|
|
112
137
|
upload_date?: string | undefined;
|
|
138
|
+
duration?: string | undefined;
|
|
139
|
+
features?: string[] | undefined;
|
|
140
|
+
cursor?: string | undefined;
|
|
113
141
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-search", unknown>;
|
|
142
|
+
scavioYoutubeVideo: _mastra_core_tools.Tool<{
|
|
143
|
+
video_id: string;
|
|
144
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-video", unknown>;
|
|
114
145
|
scavioYoutubeMetadata: _mastra_core_tools.Tool<{
|
|
115
146
|
video_id: string;
|
|
116
147
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-metadata", unknown>;
|
|
148
|
+
scavioYoutubeComments: _mastra_core_tools.Tool<{
|
|
149
|
+
video_id: string;
|
|
150
|
+
cursor?: string | undefined;
|
|
151
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-comments", unknown>;
|
|
152
|
+
scavioYoutubeChannel: _mastra_core_tools.Tool<{
|
|
153
|
+
channel_id: string;
|
|
154
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-channel", unknown>;
|
|
155
|
+
scavioYoutubeTranscript: _mastra_core_tools.Tool<{
|
|
156
|
+
video_id: string;
|
|
157
|
+
language?: string | undefined;
|
|
158
|
+
format?: "text" | "srt" | undefined;
|
|
159
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-transcript", unknown>;
|
|
160
|
+
scavioYoutubeStreams: _mastra_core_tools.Tool<{
|
|
161
|
+
video_id: string;
|
|
162
|
+
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-youtube-streams", unknown>;
|
|
117
163
|
scavioRedditSearch: _mastra_core_tools.Tool<{
|
|
118
164
|
query: string;
|
|
119
|
-
|
|
120
|
-
type?: string | undefined;
|
|
165
|
+
cursor?: string | undefined;
|
|
121
166
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-reddit-search", unknown>;
|
|
122
167
|
scavioRedditPost: _mastra_core_tools.Tool<{
|
|
123
|
-
|
|
168
|
+
post_id?: string | undefined;
|
|
169
|
+
url?: string | undefined;
|
|
124
170
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-reddit-post", unknown>;
|
|
125
171
|
scavioTiktokSearch: _mastra_core_tools.Tool<{
|
|
126
172
|
keyword: string;
|
|
@@ -140,4 +186,4 @@ declare function createScavioTools(config?: ScavioClientOptions): {
|
|
|
140
186
|
}, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-instagram-profile", unknown>;
|
|
141
187
|
};
|
|
142
188
|
|
|
143
|
-
export { type ScavioClient, type ScavioClientOptions, createScavioAmazonProductTool, createScavioAmazonSearchTool, createScavioGoogleSearchTool, createScavioInstagramProfileTool, createScavioInstagramSearchTool, createScavioRedditPostTool, createScavioRedditSearchTool, createScavioTiktokProfileTool, createScavioTiktokSearchTool, createScavioTools, createScavioWalmartProductTool, createScavioWalmartSearchTool, createScavioYoutubeMetadataTool, createScavioYoutubeSearchTool, getScavioClient };
|
|
189
|
+
export { type ScavioClient, type ScavioClientOptions, createScavioAmazonOffersTool, createScavioAmazonProductTool, createScavioAmazonSearchTool, createScavioGoogleSearchTool, createScavioInstagramProfileTool, createScavioInstagramSearchTool, createScavioRedditPostTool, createScavioRedditSearchTool, createScavioTiktokProfileTool, createScavioTiktokSearchTool, createScavioTools, createScavioWalmartProductTool, createScavioWalmartSearchTool, createScavioYoutubeChannelTool, createScavioYoutubeCommentsTool, createScavioYoutubeMetadataTool, createScavioYoutubeSearchTool, createScavioYoutubeStreamsTool, createScavioYoutubeTranscriptTool, createScavioYoutubeVideoTool, getScavioClient };
|
package/dist/index.js
CHANGED
|
@@ -42,17 +42,17 @@ function createScavioGoogleSearchTool(config) {
|
|
|
42
42
|
import { createTool as createTool2 } from "@mastra/core/tools";
|
|
43
43
|
import { z as z2 } from "zod";
|
|
44
44
|
var outputSchema2 = z2.record(z2.string(), z2.unknown());
|
|
45
|
+
var COUNTRY_DESCRIPTION = "Marketplace country code (ISO 3166-1 alpha-2), not a domain: us (default), gb (the UK is gb, not uk), ca, de, fr, es, it, jp, in, au, br, mx, nl, pl, se, sg, ae, sa, eg, cn, be, tr. An unknown code falls back to us.";
|
|
45
46
|
function createScavioAmazonSearchTool(config) {
|
|
46
47
|
let client = null;
|
|
47
48
|
const getClient = () => client ??= getScavioClient(config);
|
|
48
49
|
return createTool2({
|
|
49
50
|
id: "scavio-amazon-search",
|
|
50
|
-
description: "Search Amazon for products via Scavio. Returns matching products as structured JSON.",
|
|
51
|
+
description: "Search Amazon for products via Scavio. Returns matching products as structured JSON. Results are unsorted and cannot be filtered by category, merchant or price.",
|
|
51
52
|
inputSchema: z2.object({
|
|
52
53
|
query: z2.string().describe("The product search query"),
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
sort_by: z2.string().optional().describe("Sort order for results")
|
|
54
|
+
country: z2.string().optional().describe(COUNTRY_DESCRIPTION),
|
|
55
|
+
page: z2.number().optional().describe("Result page, 1-based. One page per call, 1 credit each.")
|
|
56
56
|
}),
|
|
57
57
|
outputSchema: outputSchema2,
|
|
58
58
|
execute: async (input) => getClient().amazon.search(input)
|
|
@@ -63,16 +63,29 @@ function createScavioAmazonProductTool(config) {
|
|
|
63
63
|
const getClient = () => client ??= getScavioClient(config);
|
|
64
64
|
return createTool2({
|
|
65
65
|
id: "scavio-amazon-product",
|
|
66
|
-
description: "Fetch full Amazon product details by ASIN via Scavio.",
|
|
66
|
+
description: "Fetch full Amazon product details by ASIN via Scavio. price is the buy-box price only.",
|
|
67
67
|
inputSchema: z2.object({
|
|
68
68
|
asin: z2.string().describe("Amazon Standard Identification Number (ASIN)"),
|
|
69
|
-
|
|
70
|
-
country: z2.string().optional().describe("Two-letter country code")
|
|
69
|
+
country: z2.string().optional().describe(COUNTRY_DESCRIPTION)
|
|
71
70
|
}),
|
|
72
71
|
outputSchema: outputSchema2,
|
|
73
72
|
execute: async (input) => getClient().amazon.product(input)
|
|
74
73
|
});
|
|
75
74
|
}
|
|
75
|
+
function createScavioAmazonOffersTool(config) {
|
|
76
|
+
let client = null;
|
|
77
|
+
const getClient = () => client ??= getScavioClient(config);
|
|
78
|
+
return createTool2({
|
|
79
|
+
id: "scavio-amazon-offers",
|
|
80
|
+
description: "List every seller offer for one Amazon ASIN via Scavio: price, seller, condition, shipping, and which offer holds the buy box. Page 1 only. Use this instead of the product tool when comparing sellers or checking who owns the buy box.",
|
|
81
|
+
inputSchema: z2.object({
|
|
82
|
+
asin: z2.string().describe("Amazon Standard Identification Number (ASIN)"),
|
|
83
|
+
country: z2.string().optional().describe(COUNTRY_DESCRIPTION)
|
|
84
|
+
}),
|
|
85
|
+
outputSchema: outputSchema2,
|
|
86
|
+
execute: async (input) => getClient().amazon.offers(input)
|
|
87
|
+
});
|
|
88
|
+
}
|
|
76
89
|
|
|
77
90
|
// src/walmart.ts
|
|
78
91
|
import { createTool as createTool3 } from "@mastra/core/tools";
|
|
@@ -120,20 +133,36 @@ function createScavioYoutubeSearchTool(config) {
|
|
|
120
133
|
description: "Search YouTube for videos, channels, or playlists via Scavio.",
|
|
121
134
|
inputSchema: z4.object({
|
|
122
135
|
query: z4.string().describe("The video search query"),
|
|
123
|
-
upload_date: z4.string().optional().describe('Upload date filter, e.g. "today", "
|
|
124
|
-
type: z4.string().optional().describe('Result type, e.g. "video", "channel", "playlist"'),
|
|
125
|
-
|
|
136
|
+
upload_date: z4.string().optional().describe('Upload date filter, e.g. "today", "this_week", "this_month"'),
|
|
137
|
+
type: z4.string().optional().describe('Result type, e.g. "video", "channel", "playlist", "movie"'),
|
|
138
|
+
duration: z4.string().optional().describe('Duration filter: "short", "medium", or "long"'),
|
|
139
|
+
sort_by: z4.string().optional().describe('Sort order: "relevance", "date", "view_count", or "rating"'),
|
|
140
|
+
features: z4.array(z4.string()).optional().describe('Feature filters, e.g. ["hd", "4k", "subtitles", "creative_commons", "live"]'),
|
|
141
|
+
cursor: z4.string().optional().describe("Pagination cursor from a prior response")
|
|
126
142
|
}),
|
|
127
143
|
outputSchema: outputSchema4,
|
|
128
144
|
execute: async (input) => getClient().youtube.search(input)
|
|
129
145
|
});
|
|
130
146
|
}
|
|
147
|
+
function createScavioYoutubeVideoTool(config) {
|
|
148
|
+
let client = null;
|
|
149
|
+
const getClient = () => client ??= getScavioClient(config);
|
|
150
|
+
return createTool4({
|
|
151
|
+
id: "scavio-youtube-video",
|
|
152
|
+
description: "Fetch full metadata for a YouTube video by id or watch URL via Scavio.",
|
|
153
|
+
inputSchema: z4.object({
|
|
154
|
+
video_id: z4.string().describe("YouTube video id or full watch URL")
|
|
155
|
+
}),
|
|
156
|
+
outputSchema: outputSchema4,
|
|
157
|
+
execute: async (input) => getClient().youtube.video(input)
|
|
158
|
+
});
|
|
159
|
+
}
|
|
131
160
|
function createScavioYoutubeMetadataTool(config) {
|
|
132
161
|
let client = null;
|
|
133
162
|
const getClient = () => client ??= getScavioClient(config);
|
|
134
163
|
return createTool4({
|
|
135
164
|
id: "scavio-youtube-metadata",
|
|
136
|
-
description: "
|
|
165
|
+
description: "Deprecated alias of scavio-youtube-video: fetch metadata for a YouTube video by id via Scavio.",
|
|
137
166
|
inputSchema: z4.object({
|
|
138
167
|
video_id: z4.string().describe("YouTube video id")
|
|
139
168
|
}),
|
|
@@ -141,6 +170,61 @@ function createScavioYoutubeMetadataTool(config) {
|
|
|
141
170
|
execute: async (input) => getClient().youtube.metadata(input)
|
|
142
171
|
});
|
|
143
172
|
}
|
|
173
|
+
function createScavioYoutubeCommentsTool(config) {
|
|
174
|
+
let client = null;
|
|
175
|
+
const getClient = () => client ??= getScavioClient(config);
|
|
176
|
+
return createTool4({
|
|
177
|
+
id: "scavio-youtube-comments",
|
|
178
|
+
description: "List the top-level comments on a YouTube video via Scavio.",
|
|
179
|
+
inputSchema: z4.object({
|
|
180
|
+
video_id: z4.string().describe("YouTube video id or full watch URL"),
|
|
181
|
+
cursor: z4.string().optional().describe("Pagination cursor from a prior response")
|
|
182
|
+
}),
|
|
183
|
+
outputSchema: outputSchema4,
|
|
184
|
+
execute: async (input) => getClient().youtube.comments(input)
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
function createScavioYoutubeChannelTool(config) {
|
|
188
|
+
let client = null;
|
|
189
|
+
const getClient = () => client ??= getScavioClient(config);
|
|
190
|
+
return createTool4({
|
|
191
|
+
id: "scavio-youtube-channel",
|
|
192
|
+
description: "Fetch details for a YouTube channel by id, @handle, or URL via Scavio.",
|
|
193
|
+
inputSchema: z4.object({
|
|
194
|
+
channel_id: z4.string().describe("YouTube channel id, @handle, or channel URL")
|
|
195
|
+
}),
|
|
196
|
+
outputSchema: outputSchema4,
|
|
197
|
+
execute: async (input) => getClient().youtube.channel(input)
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
function createScavioYoutubeTranscriptTool(config) {
|
|
201
|
+
let client = null;
|
|
202
|
+
const getClient = () => client ??= getScavioClient(config);
|
|
203
|
+
return createTool4({
|
|
204
|
+
id: "scavio-youtube-transcript",
|
|
205
|
+
description: "Fetch the transcript or timed subtitles for a YouTube video via Scavio.",
|
|
206
|
+
inputSchema: z4.object({
|
|
207
|
+
video_id: z4.string().describe("YouTube video id or full watch URL"),
|
|
208
|
+
language: z4.string().optional().describe('Caption language code (default "en")'),
|
|
209
|
+
format: z4.enum(["text", "srt"]).optional().describe('"text" for plain transcript, "srt" for timed subtitles')
|
|
210
|
+
}),
|
|
211
|
+
outputSchema: outputSchema4,
|
|
212
|
+
execute: async (input) => getClient().youtube.transcript(input)
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
function createScavioYoutubeStreamsTool(config) {
|
|
216
|
+
let client = null;
|
|
217
|
+
const getClient = () => client ??= getScavioClient(config);
|
|
218
|
+
return createTool4({
|
|
219
|
+
id: "scavio-youtube-streams",
|
|
220
|
+
description: "Get playable and downloadable stream formats for a YouTube video via Scavio.",
|
|
221
|
+
inputSchema: z4.object({
|
|
222
|
+
video_id: z4.string().describe("YouTube video id or full watch URL")
|
|
223
|
+
}),
|
|
224
|
+
outputSchema: outputSchema4,
|
|
225
|
+
execute: async (input) => getClient().youtube.streams(input)
|
|
226
|
+
});
|
|
227
|
+
}
|
|
144
228
|
|
|
145
229
|
// src/reddit.ts
|
|
146
230
|
import { createTool as createTool5 } from "@mastra/core/tools";
|
|
@@ -151,11 +235,10 @@ function createScavioRedditSearchTool(config) {
|
|
|
151
235
|
const getClient = () => client ??= getScavioClient(config);
|
|
152
236
|
return createTool5({
|
|
153
237
|
id: "scavio-reddit-search",
|
|
154
|
-
description: "Search Reddit posts
|
|
238
|
+
description: "Search Reddit posts via Scavio (1 credit). Returns matching posts under data.results, with data.next_cursor and data.has_more for paging. Results cannot be filtered or sorted.",
|
|
155
239
|
inputSchema: z5.object({
|
|
156
240
|
query: z5.string().describe("The Reddit search query"),
|
|
157
|
-
|
|
158
|
-
sort: z5.string().optional().describe('Sort order, e.g. "relevance", "new", "top"')
|
|
241
|
+
cursor: z5.string().optional().describe("Pagination cursor (next_cursor) from a prior response")
|
|
159
242
|
}),
|
|
160
243
|
outputSchema: outputSchema5,
|
|
161
244
|
execute: async (input) => getClient().reddit.search(input)
|
|
@@ -166,9 +249,10 @@ function createScavioRedditPostTool(config) {
|
|
|
166
249
|
const getClient = () => client ??= getScavioClient(config);
|
|
167
250
|
return createTool5({
|
|
168
251
|
id: "scavio-reddit-post",
|
|
169
|
-
description: "Fetch a Reddit post
|
|
252
|
+
description: "Fetch a single Reddit post by URL or id via Scavio (1 credit). Returns a flat post object under data (title, text, score, num_comments, ...). It carries no comments - only the num_comments count.",
|
|
170
253
|
inputSchema: z5.object({
|
|
171
|
-
|
|
254
|
+
post_id: z5.string().optional().describe('Post fullname ("t3_...") or bare post id'),
|
|
255
|
+
url: z5.string().optional().describe("Full URL of the Reddit post")
|
|
172
256
|
}),
|
|
173
257
|
outputSchema: outputSchema5,
|
|
174
258
|
execute: async (input) => getClient().reddit.post(input)
|
|
@@ -247,10 +331,16 @@ function createScavioTools(config) {
|
|
|
247
331
|
scavioGoogleSearch: createScavioGoogleSearchTool(config),
|
|
248
332
|
scavioAmazonSearch: createScavioAmazonSearchTool(config),
|
|
249
333
|
scavioAmazonProduct: createScavioAmazonProductTool(config),
|
|
334
|
+
scavioAmazonOffers: createScavioAmazonOffersTool(config),
|
|
250
335
|
scavioWalmartSearch: createScavioWalmartSearchTool(config),
|
|
251
336
|
scavioWalmartProduct: createScavioWalmartProductTool(config),
|
|
252
337
|
scavioYoutubeSearch: createScavioYoutubeSearchTool(config),
|
|
338
|
+
scavioYoutubeVideo: createScavioYoutubeVideoTool(config),
|
|
253
339
|
scavioYoutubeMetadata: createScavioYoutubeMetadataTool(config),
|
|
340
|
+
scavioYoutubeComments: createScavioYoutubeCommentsTool(config),
|
|
341
|
+
scavioYoutubeChannel: createScavioYoutubeChannelTool(config),
|
|
342
|
+
scavioYoutubeTranscript: createScavioYoutubeTranscriptTool(config),
|
|
343
|
+
scavioYoutubeStreams: createScavioYoutubeStreamsTool(config),
|
|
254
344
|
scavioRedditSearch: createScavioRedditSearchTool(config),
|
|
255
345
|
scavioRedditPost: createScavioRedditPostTool(config),
|
|
256
346
|
scavioTiktokSearch: createScavioTiktokSearchTool(config),
|
|
@@ -260,6 +350,7 @@ function createScavioTools(config) {
|
|
|
260
350
|
};
|
|
261
351
|
}
|
|
262
352
|
export {
|
|
353
|
+
createScavioAmazonOffersTool,
|
|
263
354
|
createScavioAmazonProductTool,
|
|
264
355
|
createScavioAmazonSearchTool,
|
|
265
356
|
createScavioGoogleSearchTool,
|
|
@@ -272,8 +363,13 @@ export {
|
|
|
272
363
|
createScavioTools,
|
|
273
364
|
createScavioWalmartProductTool,
|
|
274
365
|
createScavioWalmartSearchTool,
|
|
366
|
+
createScavioYoutubeChannelTool,
|
|
367
|
+
createScavioYoutubeCommentsTool,
|
|
275
368
|
createScavioYoutubeMetadataTool,
|
|
276
369
|
createScavioYoutubeSearchTool,
|
|
370
|
+
createScavioYoutubeStreamsTool,
|
|
371
|
+
createScavioYoutubeTranscriptTool,
|
|
372
|
+
createScavioYoutubeVideoTool,
|
|
277
373
|
getScavioClient
|
|
278
374
|
};
|
|
279
375
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client.ts","../src/google.ts","../src/amazon.ts","../src/walmart.ts","../src/youtube.ts","../src/reddit.ts","../src/tiktok.ts","../src/instagram.ts","../src/tools.ts"],"sourcesContent":["import { Scavio } from 'scavio';\n\nexport interface ScavioClientOptions {\n /** Scavio API key. Falls back to the `SCAVIO_API_KEY` environment variable. */\n apiKey?: string;\n}\n\nexport type ScavioClient = Scavio;\n\nexport function getScavioClient(config?: ScavioClientOptions): ScavioClient {\n const apiKey = config?.apiKey ?? process.env.SCAVIO_API_KEY;\n if (!apiKey) {\n throw new Error('Scavio API key is required. Pass { apiKey } or set SCAVIO_API_KEY env var.');\n }\n return new Scavio({ apiKey });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioGoogleSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-google-search',\n description:\n 'Search Google in real time via Scavio (1 credit). Returns organic results, knowledge graph, related questions, AI overview, and more as structured JSON.',\n inputSchema: z.object({\n query: z.string().describe('The search query'),\n country_code: z.string().optional().describe('Two-letter country code, e.g. \"us\"'),\n language: z.string().optional().describe('Two-letter language code, e.g. \"en\"'),\n page: z.number().optional().describe('Result page number (1-based)'),\n device: z.enum(['desktop', 'mobile']).optional().describe('Device to emulate'),\n nfpr: z.boolean().optional().describe('Disable spelling correction / auto-fixes'),\n }),\n outputSchema,\n execute: async ({ query, country_code, language, page, device, nfpr }) =>\n getClient().google.search({\n query,\n ...(country_code !== undefined ? { gl: country_code } : {}),\n ...(language !== undefined ? { hl: language } : {}),\n ...(page !== undefined && page > 1 ? { start: (page - 1) * 10 } : {}),\n ...(device !== undefined ? { device } : {}),\n ...(nfpr !== undefined ? { nfpr } : {}),\n }),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioAmazonSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-amazon-search',\n description: 'Search Amazon for products via Scavio. Returns matching products as structured JSON.',\n inputSchema: z.object({\n query: z.string().describe('The product search query'),\n domain: z.string().optional().describe('Amazon domain, e.g. \"amazon.com\"'),\n country: z.string().optional().describe('Two-letter country code'),\n sort_by: z.string().optional().describe('Sort order for results'),\n }),\n outputSchema,\n execute: async input => getClient().amazon.search(input as never),\n });\n}\n\nexport function createScavioAmazonProductTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-amazon-product',\n description: 'Fetch full Amazon product details by ASIN via Scavio.',\n inputSchema: z.object({\n asin: z.string().describe('Amazon Standard Identification Number (ASIN)'),\n domain: z.string().optional().describe('Amazon domain, e.g. \"amazon.com\"'),\n country: z.string().optional().describe('Two-letter country code'),\n }),\n outputSchema,\n execute: async input => getClient().amazon.product(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioWalmartSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-walmart-search',\n description: 'Search Walmart for products via Scavio. Returns matching products as structured JSON.',\n inputSchema: z.object({\n query: z.string().describe('The product search query'),\n sort_by: z.string().optional().describe('Sort order for results'),\n min_price: z.number().optional().describe('Minimum price filter'),\n max_price: z.number().optional().describe('Maximum price filter'),\n }),\n outputSchema,\n execute: async input => getClient().walmart.search(input as never),\n });\n}\n\nexport function createScavioWalmartProductTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-walmart-product',\n description: 'Fetch full Walmart product details by product id via Scavio.',\n inputSchema: z.object({\n product_id: z.string().describe('Walmart product id'),\n }),\n outputSchema,\n execute: async input => getClient().walmart.product(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioYoutubeSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-search',\n description: 'Search YouTube for videos, channels, or playlists via Scavio.',\n inputSchema: z.object({\n query: z.string().describe('The video search query'),\n upload_date: z.string().optional().describe('Upload date filter, e.g. \"today\", \"week\", \"month\"'),\n type: z.string().optional().describe('Result type, e.g. \"video\", \"channel\", \"playlist\"'),\n sort_by: z.string().optional().describe('Sort order for results'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.search(input as never),\n });\n}\n\nexport function createScavioYoutubeMetadataTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-metadata',\n description: 'Fetch metadata for a YouTube video by id via Scavio.',\n inputSchema: z.object({\n video_id: z.string().describe('YouTube video id'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.metadata(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioRedditSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-reddit-search',\n description: 'Search Reddit posts, subreddits, or users via Scavio.',\n inputSchema: z.object({\n query: z.string().describe('The Reddit search query'),\n type: z.string().optional().describe('Search type, e.g. \"posts\", \"subreddits\", \"users\"'),\n sort: z.string().optional().describe('Sort order, e.g. \"relevance\", \"new\", \"top\"'),\n }),\n outputSchema,\n execute: async input => getClient().reddit.search(input as never),\n });\n}\n\nexport function createScavioRedditPostTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-reddit-post',\n description: 'Fetch a Reddit post and its comment thread by URL via Scavio.',\n inputSchema: z.object({\n url: z.string().describe('Full URL of the Reddit post'),\n }),\n outputSchema,\n execute: async input => getClient().reddit.post(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioTiktokSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-tiktok-search',\n description: 'Search TikTok videos by keyword via Scavio.',\n inputSchema: z.object({\n keyword: z.string().describe('Search keyword'),\n count: z.number().optional().describe('Number of videos to return'),\n sort_type: z.string().optional().describe('Sort order for results'),\n }),\n outputSchema,\n execute: async input => getClient().tiktok.searchVideos(input as never),\n });\n}\n\nexport function createScavioTiktokProfileTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-tiktok-profile',\n description: 'Fetch a TikTok user profile by username via Scavio.',\n inputSchema: z.object({\n username: z.string().optional().describe('TikTok username (without @)'),\n sec_user_id: z.string().optional().describe('TikTok secUid'),\n }),\n outputSchema,\n execute: async input => getClient().tiktok.profile(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioInstagramSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-instagram-search',\n description: 'Search Instagram users by keyword via Scavio.',\n inputSchema: z.object({\n keyword: z.string().describe('Search keyword'),\n }),\n outputSchema,\n execute: async input => getClient().instagram.searchUsers(input),\n });\n}\n\nexport function createScavioInstagramProfileTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-instagram-profile',\n description: 'Fetch an Instagram profile by username via Scavio.',\n inputSchema: z.object({\n username: z.string().optional().describe('Instagram username'),\n user_id: z.string().optional().describe('Instagram user id'),\n }),\n outputSchema,\n execute: async input => getClient().instagram.profile(input),\n });\n}\n","import type { ScavioClientOptions } from './client.js';\nimport { createScavioAmazonProductTool, createScavioAmazonSearchTool } from './amazon.js';\nimport { createScavioGoogleSearchTool } from './google.js';\nimport { createScavioInstagramProfileTool, createScavioInstagramSearchTool } from './instagram.js';\nimport { createScavioRedditPostTool, createScavioRedditSearchTool } from './reddit.js';\nimport { createScavioTiktokProfileTool, createScavioTiktokSearchTool } from './tiktok.js';\nimport { createScavioWalmartProductTool, createScavioWalmartSearchTool } from './walmart.js';\nimport { createScavioYoutubeMetadataTool, createScavioYoutubeSearchTool } from './youtube.js';\n\nexport function createScavioTools(config?: ScavioClientOptions) {\n return {\n scavioGoogleSearch: createScavioGoogleSearchTool(config),\n scavioAmazonSearch: createScavioAmazonSearchTool(config),\n scavioAmazonProduct: createScavioAmazonProductTool(config),\n scavioWalmartSearch: createScavioWalmartSearchTool(config),\n scavioWalmartProduct: createScavioWalmartProductTool(config),\n scavioYoutubeSearch: createScavioYoutubeSearchTool(config),\n scavioYoutubeMetadata: createScavioYoutubeMetadataTool(config),\n scavioRedditSearch: createScavioRedditSearchTool(config),\n scavioRedditPost: createScavioRedditPostTool(config),\n scavioTiktokSearch: createScavioTiktokSearchTool(config),\n scavioTiktokProfile: createScavioTiktokProfileTool(config),\n scavioInstagramSearch: createScavioInstagramSearchTool(config),\n scavioInstagramProfile: createScavioInstagramProfileTool(config),\n };\n}\n"],"mappings":"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","names":["createTool","z","outputSchema","z","createTool","createTool","z","outputSchema","z","createTool","createTool","z","outputSchema","z","createTool","createTool","z","outputSchema","z","createTool","createTool","z","outputSchema","z","createTool","createTool","z","outputSchema","z","createTool"]}
|
|
1
|
+
{"version":3,"sources":["../src/client.ts","../src/google.ts","../src/amazon.ts","../src/walmart.ts","../src/youtube.ts","../src/reddit.ts","../src/tiktok.ts","../src/instagram.ts","../src/tools.ts"],"sourcesContent":["import { Scavio } from 'scavio';\n\nexport interface ScavioClientOptions {\n /** Scavio API key. Falls back to the `SCAVIO_API_KEY` environment variable. */\n apiKey?: string;\n}\n\nexport type ScavioClient = Scavio;\n\nexport function getScavioClient(config?: ScavioClientOptions): ScavioClient {\n const apiKey = config?.apiKey ?? process.env.SCAVIO_API_KEY;\n if (!apiKey) {\n throw new Error('Scavio API key is required. Pass { apiKey } or set SCAVIO_API_KEY env var.');\n }\n return new Scavio({ apiKey });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioGoogleSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-google-search',\n description:\n 'Search Google in real time via Scavio (1 credit). Returns organic results, knowledge graph, related questions, AI overview, and more as structured JSON.',\n inputSchema: z.object({\n query: z.string().describe('The search query'),\n country_code: z.string().optional().describe('Two-letter country code, e.g. \"us\"'),\n language: z.string().optional().describe('Two-letter language code, e.g. \"en\"'),\n page: z.number().optional().describe('Result page number (1-based)'),\n device: z.enum(['desktop', 'mobile']).optional().describe('Device to emulate'),\n nfpr: z.boolean().optional().describe('Disable spelling correction / auto-fixes'),\n }),\n outputSchema,\n execute: async ({ query, country_code, language, page, device, nfpr }) =>\n getClient().google.search({\n query,\n ...(country_code !== undefined ? { gl: country_code } : {}),\n ...(language !== undefined ? { hl: language } : {}),\n ...(page !== undefined && page > 1 ? { start: (page - 1) * 10 } : {}),\n ...(device !== undefined ? { device } : {}),\n ...(nfpr !== undefined ? { nfpr } : {}),\n }),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\n// Amazon moved upstream in 2026-07: sort_by, pages, category_id, merchant_id,\n// language, currency, device, zip_code and autoselect_variant no longer exist.\n// sort_by especially was verified inert - every sort value returns the same\n// unordered set - so it is removed rather than kept as a no-op the model plans\n// against. `domain` still works on the wire as a deprecated alias but is not\n// offered here: one spelling per param.\nconst COUNTRY_DESCRIPTION =\n 'Marketplace country code (ISO 3166-1 alpha-2), not a domain: us (default), gb (the UK is gb, not uk), ca, de, fr, es, it, jp, in, au, br, mx, nl, pl, se, sg, ae, sa, eg, cn, be, tr. An unknown code falls back to us.';\n\nexport function createScavioAmazonSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-amazon-search',\n description:\n 'Search Amazon for products via Scavio. Returns matching products as structured JSON. Results are unsorted and cannot be filtered by category, merchant or price.',\n inputSchema: z.object({\n query: z.string().describe('The product search query'),\n country: z.string().optional().describe(COUNTRY_DESCRIPTION),\n page: z.number().optional().describe('Result page, 1-based. One page per call, 1 credit each.'),\n }),\n outputSchema,\n execute: async input => getClient().amazon.search(input as never),\n });\n}\n\nexport function createScavioAmazonProductTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-amazon-product',\n description:\n 'Fetch full Amazon product details by ASIN via Scavio. price is the buy-box price only.',\n inputSchema: z.object({\n asin: z.string().describe('Amazon Standard Identification Number (ASIN)'),\n country: z.string().optional().describe(COUNTRY_DESCRIPTION),\n }),\n outputSchema,\n execute: async input => getClient().amazon.product(input),\n });\n}\n\nexport function createScavioAmazonOffersTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-amazon-offers',\n description:\n 'List every seller offer for one Amazon ASIN via Scavio: price, seller, condition, shipping, and which offer holds the buy box. Page 1 only. Use this instead of the product tool when comparing sellers or checking who owns the buy box.',\n inputSchema: z.object({\n asin: z.string().describe('Amazon Standard Identification Number (ASIN)'),\n country: z.string().optional().describe(COUNTRY_DESCRIPTION),\n }),\n outputSchema,\n execute: async input => getClient().amazon.offers(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioWalmartSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-walmart-search',\n description: 'Search Walmart for products via Scavio. Returns matching products as structured JSON.',\n inputSchema: z.object({\n query: z.string().describe('The product search query'),\n sort_by: z.string().optional().describe('Sort order for results'),\n min_price: z.number().optional().describe('Minimum price filter'),\n max_price: z.number().optional().describe('Maximum price filter'),\n }),\n outputSchema,\n execute: async input => getClient().walmart.search(input as never),\n });\n}\n\nexport function createScavioWalmartProductTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-walmart-product',\n description: 'Fetch full Walmart product details by product id via Scavio.',\n inputSchema: z.object({\n product_id: z.string().describe('Walmart product id'),\n }),\n outputSchema,\n execute: async input => getClient().walmart.product(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioYoutubeSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-search',\n description: 'Search YouTube for videos, channels, or playlists via Scavio.',\n inputSchema: z.object({\n query: z.string().describe('The video search query'),\n upload_date: z.string().optional().describe('Upload date filter, e.g. \"today\", \"this_week\", \"this_month\"'),\n type: z.string().optional().describe('Result type, e.g. \"video\", \"channel\", \"playlist\", \"movie\"'),\n duration: z.string().optional().describe('Duration filter: \"short\", \"medium\", or \"long\"'),\n sort_by: z.string().optional().describe('Sort order: \"relevance\", \"date\", \"view_count\", or \"rating\"'),\n features: z\n .array(z.string())\n .optional()\n .describe('Feature filters, e.g. [\"hd\", \"4k\", \"subtitles\", \"creative_commons\", \"live\"]'),\n cursor: z.string().optional().describe('Pagination cursor from a prior response'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.search(input as never),\n });\n}\n\nexport function createScavioYoutubeVideoTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-video',\n description: 'Fetch full metadata for a YouTube video by id or watch URL via Scavio.',\n inputSchema: z.object({\n video_id: z.string().describe('YouTube video id or full watch URL'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.video(input),\n });\n}\n\nexport function createScavioYoutubeMetadataTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-metadata',\n description: 'Deprecated alias of scavio-youtube-video: fetch metadata for a YouTube video by id via Scavio.',\n inputSchema: z.object({\n video_id: z.string().describe('YouTube video id'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.metadata(input),\n });\n}\n\nexport function createScavioYoutubeCommentsTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-comments',\n description: 'List the top-level comments on a YouTube video via Scavio.',\n inputSchema: z.object({\n video_id: z.string().describe('YouTube video id or full watch URL'),\n cursor: z.string().optional().describe('Pagination cursor from a prior response'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.comments(input),\n });\n}\n\nexport function createScavioYoutubeChannelTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-channel',\n description: 'Fetch details for a YouTube channel by id, @handle, or URL via Scavio.',\n inputSchema: z.object({\n channel_id: z.string().describe('YouTube channel id, @handle, or channel URL'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.channel(input),\n });\n}\n\nexport function createScavioYoutubeTranscriptTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-transcript',\n description: 'Fetch the transcript or timed subtitles for a YouTube video via Scavio.',\n inputSchema: z.object({\n video_id: z.string().describe('YouTube video id or full watch URL'),\n language: z.string().optional().describe('Caption language code (default \"en\")'),\n format: z.enum(['text', 'srt']).optional().describe('\"text\" for plain transcript, \"srt\" for timed subtitles'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.transcript(input),\n });\n}\n\nexport function createScavioYoutubeStreamsTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-youtube-streams',\n description: 'Get playable and downloadable stream formats for a YouTube video via Scavio.',\n inputSchema: z.object({\n video_id: z.string().describe('YouTube video id or full watch URL'),\n }),\n outputSchema,\n execute: async input => getClient().youtube.streams(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioRedditSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-reddit-search',\n description:\n 'Search Reddit posts via Scavio (1 credit). Returns matching posts under data.results, with data.next_cursor and data.has_more for paging. Results cannot be filtered or sorted.',\n inputSchema: z.object({\n query: z.string().describe('The Reddit search query'),\n cursor: z.string().optional().describe('Pagination cursor (next_cursor) from a prior response'),\n }),\n outputSchema,\n execute: async input => getClient().reddit.search(input),\n });\n}\n\nexport function createScavioRedditPostTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-reddit-post',\n description:\n 'Fetch a single Reddit post by URL or id via Scavio (1 credit). Returns a flat post object under data (title, text, score, num_comments, ...). It carries no comments - only the num_comments count.',\n inputSchema: z.object({\n post_id: z.string().optional().describe('Post fullname (\"t3_...\") or bare post id'),\n url: z.string().optional().describe('Full URL of the Reddit post'),\n }),\n outputSchema,\n execute: async input => getClient().reddit.post(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioTiktokSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-tiktok-search',\n description: 'Search TikTok videos by keyword via Scavio.',\n inputSchema: z.object({\n keyword: z.string().describe('Search keyword'),\n count: z.number().optional().describe('Number of videos to return'),\n sort_type: z.string().optional().describe('Sort order for results'),\n }),\n outputSchema,\n execute: async input => getClient().tiktok.searchVideos(input as never),\n });\n}\n\nexport function createScavioTiktokProfileTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-tiktok-profile',\n description: 'Fetch a TikTok user profile by username via Scavio.',\n inputSchema: z.object({\n username: z.string().optional().describe('TikTok username (without @)'),\n sec_user_id: z.string().optional().describe('TikTok secUid'),\n }),\n outputSchema,\n execute: async input => getClient().tiktok.profile(input),\n });\n}\n","import { createTool } from '@mastra/core/tools';\nimport { z } from 'zod';\n\nimport { getScavioClient } from './client.js';\nimport type { ScavioClient, ScavioClientOptions } from './client.js';\n\nconst outputSchema = z.record(z.string(), z.unknown());\n\nexport function createScavioInstagramSearchTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-instagram-search',\n description: 'Search Instagram users by keyword via Scavio.',\n inputSchema: z.object({\n keyword: z.string().describe('Search keyword'),\n }),\n outputSchema,\n execute: async input => getClient().instagram.searchUsers(input),\n });\n}\n\nexport function createScavioInstagramProfileTool(config?: ScavioClientOptions) {\n let client: ScavioClient | null = null;\n const getClient = () => (client ??= getScavioClient(config));\n\n return createTool({\n id: 'scavio-instagram-profile',\n description: 'Fetch an Instagram profile by username via Scavio.',\n inputSchema: z.object({\n username: z.string().optional().describe('Instagram username'),\n user_id: z.string().optional().describe('Instagram user id'),\n }),\n outputSchema,\n execute: async input => getClient().instagram.profile(input),\n });\n}\n","import type { ScavioClientOptions } from './client.js';\nimport {\n createScavioAmazonOffersTool,\n createScavioAmazonProductTool,\n createScavioAmazonSearchTool,\n} from './amazon.js';\nimport { createScavioGoogleSearchTool } from './google.js';\nimport { createScavioInstagramProfileTool, createScavioInstagramSearchTool } from './instagram.js';\nimport { createScavioRedditPostTool, createScavioRedditSearchTool } from './reddit.js';\nimport { createScavioTiktokProfileTool, createScavioTiktokSearchTool } from './tiktok.js';\nimport { createScavioWalmartProductTool, createScavioWalmartSearchTool } from './walmart.js';\nimport {\n createScavioYoutubeChannelTool,\n createScavioYoutubeCommentsTool,\n createScavioYoutubeMetadataTool,\n createScavioYoutubeSearchTool,\n createScavioYoutubeStreamsTool,\n createScavioYoutubeTranscriptTool,\n createScavioYoutubeVideoTool,\n} from './youtube.js';\n\nexport function createScavioTools(config?: ScavioClientOptions) {\n return {\n scavioGoogleSearch: createScavioGoogleSearchTool(config),\n scavioAmazonSearch: createScavioAmazonSearchTool(config),\n scavioAmazonProduct: createScavioAmazonProductTool(config),\n scavioAmazonOffers: createScavioAmazonOffersTool(config),\n scavioWalmartSearch: createScavioWalmartSearchTool(config),\n scavioWalmartProduct: createScavioWalmartProductTool(config),\n scavioYoutubeSearch: createScavioYoutubeSearchTool(config),\n scavioYoutubeVideo: createScavioYoutubeVideoTool(config),\n scavioYoutubeMetadata: createScavioYoutubeMetadataTool(config),\n scavioYoutubeComments: createScavioYoutubeCommentsTool(config),\n scavioYoutubeChannel: createScavioYoutubeChannelTool(config),\n scavioYoutubeTranscript: createScavioYoutubeTranscriptTool(config),\n scavioYoutubeStreams: createScavioYoutubeStreamsTool(config),\n scavioRedditSearch: createScavioRedditSearchTool(config),\n scavioRedditPost: createScavioRedditPostTool(config),\n scavioTiktokSearch: createScavioTiktokSearchTool(config),\n scavioTiktokProfile: createScavioTiktokProfileTool(config),\n scavioInstagramSearch: createScavioInstagramSearchTool(config),\n scavioInstagramProfile: createScavioInstagramProfileTool(config),\n };\n}\n"],"mappings":"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","names":["createTool","z","outputSchema","z","createTool","createTool","z","outputSchema","z","createTool","createTool","z","outputSchema","z","createTool","createTool","z","outputSchema","z","createTool","createTool","z","outputSchema","z","createTool","createTool","z","outputSchema","z","createTool"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mastra-scavio",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Scavio real-time search tools (Google, YouTube, Amazon, Walmart, Reddit, TikTok, Instagram) for Mastra agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"access": "public"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"scavio": "^0.
|
|
44
|
+
"scavio": "^0.13.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"@mastra/core": ">=1.0.0-0 <2.0.0-0",
|