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 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
- Each tool returns the structured Scavio JSON response. The full Scavio API (33 endpoints) is also available directly via the [`scavio`](https://www.npmjs.com/package/scavio) SDK or the [MCP server](https://scavio.dev/docs).
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. Reddit and Instagram cost 2 credits. See [scavio.dev/docs](https://scavio.dev/docs).
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
- domain: import_zod2.z.string().optional().describe('Amazon domain, e.g. "amazon.com"'),
94
- country: import_zod2.z.string().optional().describe("Two-letter country code"),
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
- domain: import_zod2.z.string().optional().describe('Amazon domain, e.g. "amazon.com"'),
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", "week", "month"'),
164
- type: import_zod4.z.string().optional().describe('Result type, e.g. "video", "channel", "playlist"'),
165
- sort_by: import_zod4.z.string().optional().describe("Sort order for results")
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: "Fetch metadata for a YouTube video by id via Scavio.",
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, subreddits, or users via Scavio.",
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
- type: import_zod5.z.string().optional().describe('Search type, e.g. "posts", "subreddits", "users"'),
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 and its comment thread by URL via Scavio.",
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
- url: import_zod5.z.string().describe("Full URL of the Reddit post")
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
@@ -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":"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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"]}
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
- domain?: string | undefined;
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
- sort?: string | undefined;
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
- url: string;
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
- domain?: string | undefined;
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
- sort?: string | undefined;
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
- url: string;
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
- domain?: string | undefined;
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
- sort?: string | undefined;
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
- url: string;
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
- domain?: string | undefined;
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
- sort?: string | undefined;
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
- url: string;
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
- domain: z2.string().optional().describe('Amazon domain, e.g. "amazon.com"'),
54
- country: z2.string().optional().describe("Two-letter country code"),
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
- domain: z2.string().optional().describe('Amazon domain, e.g. "amazon.com"'),
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", "week", "month"'),
124
- type: z4.string().optional().describe('Result type, e.g. "video", "channel", "playlist"'),
125
- sort_by: z4.string().optional().describe("Sort order for results")
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: "Fetch metadata for a YouTube video by id via Scavio.",
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, subreddits, or users via Scavio.",
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
- type: z5.string().optional().describe('Search type, e.g. "posts", "subreddits", "users"'),
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 and its comment thread by URL via Scavio.",
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
- url: z5.string().describe("Full URL of the Reddit post")
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":";AAAA,SAAS,cAAc;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,OAAO,EAAE,OAAO,CAAC;AAC9B;;;ACfA,SAAS,kBAAkB;AAC3B,SAAS,SAAS;AAKlB,IAAM,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC;AAE9C,SAAS,6BAA6B,QAA8B;AACzE,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,SAAO,WAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aACE;AAAA,IACF,aAAa,EAAE,OAAO;AAAA,MACpB,OAAO,EAAE,OAAO,EAAE,SAAS,kBAAkB;AAAA,MAC7C,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,oCAAoC;AAAA,MACjF,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,qCAAqC;AAAA,MAC9E,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,8BAA8B;AAAA,MACnE,QAAQ,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,mBAAmB;AAAA,MAC7E,MAAM,EAAE,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,SAAS,cAAAA,mBAAkB;AAC3B,SAAS,KAAAC,UAAS;AAKlB,IAAMC,gBAAeC,GAAE,OAAOA,GAAE,OAAO,GAAGA,GAAE,QAAQ,CAAC;AAQrD,IAAM,sBACJ;AAEK,SAAS,6BAA6B,QAA8B;AACzE,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,SAAOC,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aACE;AAAA,IACF,aAAaD,GAAE,OAAO;AAAA,MACpB,OAAOA,GAAE,OAAO,EAAE,SAAS,0BAA0B;AAAA,MACrD,SAASA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,mBAAmB;AAAA,MAC3D,MAAMA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,yDAAyD;AAAA,IAChG,CAAC;AAAA,IACD,cAAAD;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,SAAOE,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aACE;AAAA,IACF,aAAaD,GAAE,OAAO;AAAA,MACpB,MAAMA,GAAE,OAAO,EAAE,SAAS,8CAA8C;AAAA,MACxE,SAASA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,mBAAmB;AAAA,IAC7D,CAAC;AAAA,IACD,cAAAD;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,SAAOE,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aACE;AAAA,IACF,aAAaD,GAAE,OAAO;AAAA,MACpB,MAAMA,GAAE,OAAO,EAAE,SAAS,8CAA8C;AAAA,MACxE,SAASA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,mBAAmB;AAAA,IAC7D,CAAC;AAAA,IACD,cAAAD;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,OAAO,OAAO,KAAK;AAAA,EACzD,CAAC;AACH;;;ACnEA,SAAS,cAAAG,mBAAkB;AAC3B,SAAS,KAAAC,UAAS;AAKlB,IAAMC,gBAAeC,GAAE,OAAOA,GAAE,OAAO,GAAGA,GAAE,QAAQ,CAAC;AAE9C,SAAS,8BAA8B,QAA8B;AAC1E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,SAAOC,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,OAAOA,GAAE,OAAO,EAAE,SAAS,0BAA0B;AAAA,MACrD,SAASA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,wBAAwB;AAAA,MAChE,WAAWA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,sBAAsB;AAAA,MAChE,WAAWA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,sBAAsB;AAAA,IAClE,CAAC;AAAA,IACD,cAAAD;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,SAAOE,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,YAAYA,GAAE,OAAO,EAAE,SAAS,oBAAoB;AAAA,IACtD,CAAC;AAAA,IACD,cAAAD;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,QAAQ,QAAQ,KAAK;AAAA,EAC3D,CAAC;AACH;;;ACvCA,SAAS,cAAAG,mBAAkB;AAC3B,SAAS,KAAAC,UAAS;AAKlB,IAAMC,gBAAeC,GAAE,OAAOA,GAAE,OAAO,GAAGA,GAAE,QAAQ,CAAC;AAE9C,SAAS,8BAA8B,QAA8B;AAC1E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,SAAOC,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,OAAOA,GAAE,OAAO,EAAE,SAAS,wBAAwB;AAAA,MACnD,aAAaA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,6DAA6D;AAAA,MACzG,MAAMA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,2DAA2D;AAAA,MAChG,UAAUA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,+CAA+C;AAAA,MACxF,SAASA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,4DAA4D;AAAA,MACpG,UAAUA,GACP,MAAMA,GAAE,OAAO,CAAC,EAChB,SAAS,EACT,SAAS,6EAA6E;AAAA,MACzF,QAAQA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,yCAAyC;AAAA,IAClF,CAAC;AAAA,IACD,cAAAD;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,SAAOE,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,UAAUA,GAAE,OAAO,EAAE,SAAS,oCAAoC;AAAA,IACpE,CAAC;AAAA,IACD,cAAAD;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,SAAOE,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,UAAUA,GAAE,OAAO,EAAE,SAAS,kBAAkB;AAAA,IAClD,CAAC;AAAA,IACD,cAAAD;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,SAAOE,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,UAAUA,GAAE,OAAO,EAAE,SAAS,oCAAoC;AAAA,MAClE,QAAQA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,yCAAyC;AAAA,IAClF,CAAC;AAAA,IACD,cAAAD;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,SAAOE,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,YAAYA,GAAE,OAAO,EAAE,SAAS,6CAA6C;AAAA,IAC/E,CAAC;AAAA,IACD,cAAAD;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,SAAOE,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,UAAUA,GAAE,OAAO,EAAE,SAAS,oCAAoC;AAAA,MAClE,UAAUA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,sCAAsC;AAAA,MAC/E,QAAQA,GAAE,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,wDAAwD;AAAA,IAC9G,CAAC;AAAA,IACD,cAAAD;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,SAAOE,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,UAAUA,GAAE,OAAO,EAAE,SAAS,oCAAoC;AAAA,IACpE,CAAC;AAAA,IACD,cAAAD;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,QAAQ,QAAQ,KAAK;AAAA,EAC3D,CAAC;AACH;;;AC3HA,SAAS,cAAAG,mBAAkB;AAC3B,SAAS,KAAAC,UAAS;AAKlB,IAAMC,gBAAeC,GAAE,OAAOA,GAAE,OAAO,GAAGA,GAAE,QAAQ,CAAC;AAE9C,SAAS,6BAA6B,QAA8B;AACzE,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,SAAOC,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aACE;AAAA,IACF,aAAaD,GAAE,OAAO;AAAA,MACpB,OAAOA,GAAE,OAAO,EAAE,SAAS,yBAAyB;AAAA,MACpD,QAAQA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,uDAAuD;AAAA,IAChG,CAAC;AAAA,IACD,cAAAD;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,SAAOE,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aACE;AAAA,IACF,aAAaD,GAAE,OAAO;AAAA,MACpB,SAASA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,0CAA0C;AAAA,MAClF,KAAKA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,6BAA6B;AAAA,IACnE,CAAC;AAAA,IACD,cAAAD;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,OAAO,KAAK,KAAK;AAAA,EACvD,CAAC;AACH;;;ACxCA,SAAS,cAAAG,mBAAkB;AAC3B,SAAS,KAAAC,UAAS;AAKlB,IAAMC,gBAAeC,GAAE,OAAOA,GAAE,OAAO,GAAGA,GAAE,QAAQ,CAAC;AAE9C,SAAS,6BAA6B,QAA8B;AACzE,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,SAAOC,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,SAASA,GAAE,OAAO,EAAE,SAAS,gBAAgB;AAAA,MAC7C,OAAOA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,4BAA4B;AAAA,MAClE,WAAWA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,wBAAwB;AAAA,IACpE,CAAC;AAAA,IACD,cAAAD;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,SAAOE,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,UAAUA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,6BAA6B;AAAA,MACtE,aAAaA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,eAAe;AAAA,IAC7D,CAAC;AAAA,IACD,cAAAD;AAAA,IACA,SAAS,OAAM,UAAS,UAAU,EAAE,OAAO,QAAQ,KAAK;AAAA,EAC1D,CAAC;AACH;;;ACvCA,SAAS,cAAAG,mBAAkB;AAC3B,SAAS,KAAAC,UAAS;AAKlB,IAAMC,gBAAeC,GAAE,OAAOA,GAAE,OAAO,GAAGA,GAAE,QAAQ,CAAC;AAE9C,SAAS,gCAAgC,QAA8B;AAC5E,MAAI,SAA8B;AAClC,QAAM,YAAY,MAAO,WAAW,gBAAgB,MAAM;AAE1D,SAAOC,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,SAASA,GAAE,OAAO,EAAE,SAAS,gBAAgB;AAAA,IAC/C,CAAC;AAAA,IACD,cAAAD;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,SAAOE,YAAW;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAaD,GAAE,OAAO;AAAA,MACpB,UAAUA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,oBAAoB;AAAA,MAC7D,SAASA,GAAE,OAAO,EAAE,SAAS,EAAE,SAAS,mBAAmB;AAAA,IAC7D,CAAC;AAAA,IACD,cAAAD;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":["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.1.1",
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.5.0"
44
+ "scavio": "^0.13.0"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@mastra/core": ">=1.0.0-0 <2.0.0-0",