mastra-scavio 0.1.0 → 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. Reddit and Instagram cost 2 credits, and Google costs 2 unless `light_request` is set (1 credit). 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);
@@ -57,17 +63,24 @@ function createScavioGoogleSearchTool(config) {
57
63
  const getClient = () => client ??= getScavioClient(config);
58
64
  return (0, import_tools.createTool)({
59
65
  id: "scavio-google-search",
60
- description: "Search Google in real time via Scavio. Returns organic results, knowledge graph, related questions, news, and more as structured JSON.",
66
+ description: "Search Google in real time via Scavio (1 credit). Returns organic results, knowledge graph, related questions, AI overview, and more as structured JSON.",
61
67
  inputSchema: import_zod.z.object({
62
68
  query: import_zod.z.string().describe("The search query"),
63
69
  country_code: import_zod.z.string().optional().describe('Two-letter country code, e.g. "us"'),
64
70
  language: import_zod.z.string().optional().describe('Two-letter language code, e.g. "en"'),
65
71
  page: import_zod.z.number().optional().describe("Result page number (1-based)"),
66
- search_type: import_zod.z.enum(["classic", "news", "maps", "images", "lens"]).optional().describe("The Google vertical to search"),
67
- light_request: import_zod.z.boolean().optional().describe("Use the cheaper, lighter response (1 credit instead of 2)")
72
+ device: import_zod.z.enum(["desktop", "mobile"]).optional().describe("Device to emulate"),
73
+ nfpr: import_zod.z.boolean().optional().describe("Disable spelling correction / auto-fixes")
68
74
  }),
69
75
  outputSchema,
70
- execute: async (input) => getClient().google.search(input)
76
+ execute: async ({ query, country_code, language, page, device, nfpr }) => getClient().google.search({
77
+ query,
78
+ ...country_code !== void 0 ? { gl: country_code } : {},
79
+ ...language !== void 0 ? { hl: language } : {},
80
+ ...page !== void 0 && page > 1 ? { start: (page - 1) * 10 } : {},
81
+ ...device !== void 0 ? { device } : {},
82
+ ...nfpr !== void 0 ? { nfpr } : {}
83
+ })
71
84
  });
72
85
  }
73
86
 
@@ -75,17 +88,17 @@ function createScavioGoogleSearchTool(config) {
75
88
  var import_tools2 = require("@mastra/core/tools");
76
89
  var import_zod2 = require("zod");
77
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.";
78
92
  function createScavioAmazonSearchTool(config) {
79
93
  let client = null;
80
94
  const getClient = () => client ??= getScavioClient(config);
81
95
  return (0, import_tools2.createTool)({
82
96
  id: "scavio-amazon-search",
83
- 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.",
84
98
  inputSchema: import_zod2.z.object({
85
99
  query: import_zod2.z.string().describe("The product search query"),
86
- domain: import_zod2.z.string().optional().describe('Amazon domain, e.g. "amazon.com"'),
87
- country: import_zod2.z.string().optional().describe("Two-letter country code"),
88
- 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.")
89
102
  }),
90
103
  outputSchema: outputSchema2,
91
104
  execute: async (input) => getClient().amazon.search(input)
@@ -96,16 +109,29 @@ function createScavioAmazonProductTool(config) {
96
109
  const getClient = () => client ??= getScavioClient(config);
97
110
  return (0, import_tools2.createTool)({
98
111
  id: "scavio-amazon-product",
99
- 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.",
100
113
  inputSchema: import_zod2.z.object({
101
114
  asin: import_zod2.z.string().describe("Amazon Standard Identification Number (ASIN)"),
102
- domain: import_zod2.z.string().optional().describe('Amazon domain, e.g. "amazon.com"'),
103
- country: import_zod2.z.string().optional().describe("Two-letter country code")
115
+ country: import_zod2.z.string().optional().describe(COUNTRY_DESCRIPTION)
104
116
  }),
105
117
  outputSchema: outputSchema2,
106
118
  execute: async (input) => getClient().amazon.product(input)
107
119
  });
108
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
+ }
109
135
 
110
136
  // src/walmart.ts
111
137
  var import_tools3 = require("@mastra/core/tools");
@@ -153,20 +179,36 @@ function createScavioYoutubeSearchTool(config) {
153
179
  description: "Search YouTube for videos, channels, or playlists via Scavio.",
154
180
  inputSchema: import_zod4.z.object({
155
181
  query: import_zod4.z.string().describe("The video search query"),
156
- upload_date: import_zod4.z.string().optional().describe('Upload date filter, e.g. "today", "week", "month"'),
157
- type: import_zod4.z.string().optional().describe('Result type, e.g. "video", "channel", "playlist"'),
158
- 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")
159
188
  }),
160
189
  outputSchema: outputSchema4,
161
190
  execute: async (input) => getClient().youtube.search(input)
162
191
  });
163
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
+ }
164
206
  function createScavioYoutubeMetadataTool(config) {
165
207
  let client = null;
166
208
  const getClient = () => client ??= getScavioClient(config);
167
209
  return (0, import_tools4.createTool)({
168
210
  id: "scavio-youtube-metadata",
169
- 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.",
170
212
  inputSchema: import_zod4.z.object({
171
213
  video_id: import_zod4.z.string().describe("YouTube video id")
172
214
  }),
@@ -174,6 +216,61 @@ function createScavioYoutubeMetadataTool(config) {
174
216
  execute: async (input) => getClient().youtube.metadata(input)
175
217
  });
176
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
+ }
177
274
 
178
275
  // src/reddit.ts
179
276
  var import_tools5 = require("@mastra/core/tools");
@@ -184,11 +281,10 @@ function createScavioRedditSearchTool(config) {
184
281
  const getClient = () => client ??= getScavioClient(config);
185
282
  return (0, import_tools5.createTool)({
186
283
  id: "scavio-reddit-search",
187
- 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.",
188
285
  inputSchema: import_zod5.z.object({
189
286
  query: import_zod5.z.string().describe("The Reddit search query"),
190
- type: import_zod5.z.string().optional().describe('Search type, e.g. "posts", "subreddits", "users"'),
191
- 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")
192
288
  }),
193
289
  outputSchema: outputSchema5,
194
290
  execute: async (input) => getClient().reddit.search(input)
@@ -199,9 +295,10 @@ function createScavioRedditPostTool(config) {
199
295
  const getClient = () => client ??= getScavioClient(config);
200
296
  return (0, import_tools5.createTool)({
201
297
  id: "scavio-reddit-post",
202
- 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.",
203
299
  inputSchema: import_zod5.z.object({
204
- 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")
205
302
  }),
206
303
  outputSchema: outputSchema5,
207
304
  execute: async (input) => getClient().reddit.post(input)
@@ -280,10 +377,16 @@ function createScavioTools(config) {
280
377
  scavioGoogleSearch: createScavioGoogleSearchTool(config),
281
378
  scavioAmazonSearch: createScavioAmazonSearchTool(config),
282
379
  scavioAmazonProduct: createScavioAmazonProductTool(config),
380
+ scavioAmazonOffers: createScavioAmazonOffersTool(config),
283
381
  scavioWalmartSearch: createScavioWalmartSearchTool(config),
284
382
  scavioWalmartProduct: createScavioWalmartProductTool(config),
285
383
  scavioYoutubeSearch: createScavioYoutubeSearchTool(config),
384
+ scavioYoutubeVideo: createScavioYoutubeVideoTool(config),
286
385
  scavioYoutubeMetadata: createScavioYoutubeMetadataTool(config),
386
+ scavioYoutubeComments: createScavioYoutubeCommentsTool(config),
387
+ scavioYoutubeChannel: createScavioYoutubeChannelTool(config),
388
+ scavioYoutubeTranscript: createScavioYoutubeTranscriptTool(config),
389
+ scavioYoutubeStreams: createScavioYoutubeStreamsTool(config),
287
390
  scavioRedditSearch: createScavioRedditSearchTool(config),
288
391
  scavioRedditPost: createScavioRedditPostTool(config),
289
392
  scavioTiktokSearch: createScavioTiktokSearchTool(config),
@@ -294,6 +397,7 @@ function createScavioTools(config) {
294
397
  }
295
398
  // Annotate the CommonJS export names for ESM import in node:
296
399
  0 && (module.exports = {
400
+ createScavioAmazonOffersTool,
297
401
  createScavioAmazonProductTool,
298
402
  createScavioAmazonSearchTool,
299
403
  createScavioGoogleSearchTool,
@@ -306,8 +410,13 @@ function createScavioTools(config) {
306
410
  createScavioTools,
307
411
  createScavioWalmartProductTool,
308
412
  createScavioWalmartSearchTool,
413
+ createScavioYoutubeChannelTool,
414
+ createScavioYoutubeCommentsTool,
309
415
  createScavioYoutubeMetadataTool,
310
416
  createScavioYoutubeSearchTool,
417
+ createScavioYoutubeStreamsTool,
418
+ createScavioYoutubeTranscriptTool,
419
+ createScavioYoutubeVideoTool,
311
420
  getScavioClient
312
421
  });
313
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. Returns organic results, knowledge graph, related questions, news, 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 search_type: z\n .enum(['classic', 'news', 'maps', 'images', 'lens'])\n .optional()\n .describe('The Google vertical to search'),\n light_request: z\n .boolean()\n .optional()\n .describe('Use the cheaper, lighter response (1 credit instead of 2)'),\n }),\n outputSchema,\n execute: async input => getClient().google.search(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 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),\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),\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),\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),\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),\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
@@ -13,21 +13,23 @@ declare function createScavioGoogleSearchTool(config?: ScavioClientOptions): _ma
13
13
  country_code?: string | undefined;
14
14
  language?: string | undefined;
15
15
  page?: number | undefined;
16
- search_type?: "classic" | "news" | "maps" | "images" | "lens" | undefined;
17
- light_request?: boolean | undefined;
16
+ device?: "desktop" | "mobile" | undefined;
17
+ nfpr?: boolean | undefined;
18
18
  }, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-google-search", unknown>;
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<{
@@ -82,20 +105,22 @@ declare function createScavioTools(config?: ScavioClientOptions): {
82
105
  country_code?: string | undefined;
83
106
  language?: string | undefined;
84
107
  page?: number | undefined;
85
- search_type?: "classic" | "news" | "maps" | "images" | "lens" | undefined;
86
- light_request?: boolean | undefined;
108
+ device?: "desktop" | "mobile" | undefined;
109
+ nfpr?: boolean | undefined;
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
@@ -13,21 +13,23 @@ declare function createScavioGoogleSearchTool(config?: ScavioClientOptions): _ma
13
13
  country_code?: string | undefined;
14
14
  language?: string | undefined;
15
15
  page?: number | undefined;
16
- search_type?: "classic" | "news" | "maps" | "images" | "lens" | undefined;
17
- light_request?: boolean | undefined;
16
+ device?: "desktop" | "mobile" | undefined;
17
+ nfpr?: boolean | undefined;
18
18
  }, Record<string, unknown>, unknown, unknown, _mastra_core_tools.ToolExecutionContext<unknown, unknown, unknown>, "scavio-google-search", unknown>;
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<{
@@ -82,20 +105,22 @@ declare function createScavioTools(config?: ScavioClientOptions): {
82
105
  country_code?: string | undefined;
83
106
  language?: string | undefined;
84
107
  page?: number | undefined;
85
- search_type?: "classic" | "news" | "maps" | "images" | "lens" | undefined;
86
- light_request?: boolean | undefined;
108
+ device?: "desktop" | "mobile" | undefined;
109
+ nfpr?: boolean | undefined;
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
@@ -17,17 +17,24 @@ function createScavioGoogleSearchTool(config) {
17
17
  const getClient = () => client ??= getScavioClient(config);
18
18
  return createTool({
19
19
  id: "scavio-google-search",
20
- description: "Search Google in real time via Scavio. Returns organic results, knowledge graph, related questions, news, and more as structured JSON.",
20
+ description: "Search Google in real time via Scavio (1 credit). Returns organic results, knowledge graph, related questions, AI overview, and more as structured JSON.",
21
21
  inputSchema: z.object({
22
22
  query: z.string().describe("The search query"),
23
23
  country_code: z.string().optional().describe('Two-letter country code, e.g. "us"'),
24
24
  language: z.string().optional().describe('Two-letter language code, e.g. "en"'),
25
25
  page: z.number().optional().describe("Result page number (1-based)"),
26
- search_type: z.enum(["classic", "news", "maps", "images", "lens"]).optional().describe("The Google vertical to search"),
27
- light_request: z.boolean().optional().describe("Use the cheaper, lighter response (1 credit instead of 2)")
26
+ device: z.enum(["desktop", "mobile"]).optional().describe("Device to emulate"),
27
+ nfpr: z.boolean().optional().describe("Disable spelling correction / auto-fixes")
28
28
  }),
29
29
  outputSchema,
30
- execute: async (input) => getClient().google.search(input)
30
+ execute: async ({ query, country_code, language, page, device, nfpr }) => getClient().google.search({
31
+ query,
32
+ ...country_code !== void 0 ? { gl: country_code } : {},
33
+ ...language !== void 0 ? { hl: language } : {},
34
+ ...page !== void 0 && page > 1 ? { start: (page - 1) * 10 } : {},
35
+ ...device !== void 0 ? { device } : {},
36
+ ...nfpr !== void 0 ? { nfpr } : {}
37
+ })
31
38
  });
32
39
  }
33
40
 
@@ -35,17 +42,17 @@ function createScavioGoogleSearchTool(config) {
35
42
  import { createTool as createTool2 } from "@mastra/core/tools";
36
43
  import { z as z2 } from "zod";
37
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.";
38
46
  function createScavioAmazonSearchTool(config) {
39
47
  let client = null;
40
48
  const getClient = () => client ??= getScavioClient(config);
41
49
  return createTool2({
42
50
  id: "scavio-amazon-search",
43
- 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.",
44
52
  inputSchema: z2.object({
45
53
  query: z2.string().describe("The product search query"),
46
- domain: z2.string().optional().describe('Amazon domain, e.g. "amazon.com"'),
47
- country: z2.string().optional().describe("Two-letter country code"),
48
- 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.")
49
56
  }),
50
57
  outputSchema: outputSchema2,
51
58
  execute: async (input) => getClient().amazon.search(input)
@@ -56,16 +63,29 @@ function createScavioAmazonProductTool(config) {
56
63
  const getClient = () => client ??= getScavioClient(config);
57
64
  return createTool2({
58
65
  id: "scavio-amazon-product",
59
- 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.",
60
67
  inputSchema: z2.object({
61
68
  asin: z2.string().describe("Amazon Standard Identification Number (ASIN)"),
62
- domain: z2.string().optional().describe('Amazon domain, e.g. "amazon.com"'),
63
- country: z2.string().optional().describe("Two-letter country code")
69
+ country: z2.string().optional().describe(COUNTRY_DESCRIPTION)
64
70
  }),
65
71
  outputSchema: outputSchema2,
66
72
  execute: async (input) => getClient().amazon.product(input)
67
73
  });
68
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
+ }
69
89
 
70
90
  // src/walmart.ts
71
91
  import { createTool as createTool3 } from "@mastra/core/tools";
@@ -113,20 +133,36 @@ function createScavioYoutubeSearchTool(config) {
113
133
  description: "Search YouTube for videos, channels, or playlists via Scavio.",
114
134
  inputSchema: z4.object({
115
135
  query: z4.string().describe("The video search query"),
116
- upload_date: z4.string().optional().describe('Upload date filter, e.g. "today", "week", "month"'),
117
- type: z4.string().optional().describe('Result type, e.g. "video", "channel", "playlist"'),
118
- 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")
119
142
  }),
120
143
  outputSchema: outputSchema4,
121
144
  execute: async (input) => getClient().youtube.search(input)
122
145
  });
123
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
+ }
124
160
  function createScavioYoutubeMetadataTool(config) {
125
161
  let client = null;
126
162
  const getClient = () => client ??= getScavioClient(config);
127
163
  return createTool4({
128
164
  id: "scavio-youtube-metadata",
129
- 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.",
130
166
  inputSchema: z4.object({
131
167
  video_id: z4.string().describe("YouTube video id")
132
168
  }),
@@ -134,6 +170,61 @@ function createScavioYoutubeMetadataTool(config) {
134
170
  execute: async (input) => getClient().youtube.metadata(input)
135
171
  });
136
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
+ }
137
228
 
138
229
  // src/reddit.ts
139
230
  import { createTool as createTool5 } from "@mastra/core/tools";
@@ -144,11 +235,10 @@ function createScavioRedditSearchTool(config) {
144
235
  const getClient = () => client ??= getScavioClient(config);
145
236
  return createTool5({
146
237
  id: "scavio-reddit-search",
147
- 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.",
148
239
  inputSchema: z5.object({
149
240
  query: z5.string().describe("The Reddit search query"),
150
- type: z5.string().optional().describe('Search type, e.g. "posts", "subreddits", "users"'),
151
- 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")
152
242
  }),
153
243
  outputSchema: outputSchema5,
154
244
  execute: async (input) => getClient().reddit.search(input)
@@ -159,9 +249,10 @@ function createScavioRedditPostTool(config) {
159
249
  const getClient = () => client ??= getScavioClient(config);
160
250
  return createTool5({
161
251
  id: "scavio-reddit-post",
162
- 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.",
163
253
  inputSchema: z5.object({
164
- 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")
165
256
  }),
166
257
  outputSchema: outputSchema5,
167
258
  execute: async (input) => getClient().reddit.post(input)
@@ -240,10 +331,16 @@ function createScavioTools(config) {
240
331
  scavioGoogleSearch: createScavioGoogleSearchTool(config),
241
332
  scavioAmazonSearch: createScavioAmazonSearchTool(config),
242
333
  scavioAmazonProduct: createScavioAmazonProductTool(config),
334
+ scavioAmazonOffers: createScavioAmazonOffersTool(config),
243
335
  scavioWalmartSearch: createScavioWalmartSearchTool(config),
244
336
  scavioWalmartProduct: createScavioWalmartProductTool(config),
245
337
  scavioYoutubeSearch: createScavioYoutubeSearchTool(config),
338
+ scavioYoutubeVideo: createScavioYoutubeVideoTool(config),
246
339
  scavioYoutubeMetadata: createScavioYoutubeMetadataTool(config),
340
+ scavioYoutubeComments: createScavioYoutubeCommentsTool(config),
341
+ scavioYoutubeChannel: createScavioYoutubeChannelTool(config),
342
+ scavioYoutubeTranscript: createScavioYoutubeTranscriptTool(config),
343
+ scavioYoutubeStreams: createScavioYoutubeStreamsTool(config),
247
344
  scavioRedditSearch: createScavioRedditSearchTool(config),
248
345
  scavioRedditPost: createScavioRedditPostTool(config),
249
346
  scavioTiktokSearch: createScavioTiktokSearchTool(config),
@@ -253,6 +350,7 @@ function createScavioTools(config) {
253
350
  };
254
351
  }
255
352
  export {
353
+ createScavioAmazonOffersTool,
256
354
  createScavioAmazonProductTool,
257
355
  createScavioAmazonSearchTool,
258
356
  createScavioGoogleSearchTool,
@@ -265,8 +363,13 @@ export {
265
363
  createScavioTools,
266
364
  createScavioWalmartProductTool,
267
365
  createScavioWalmartSearchTool,
366
+ createScavioYoutubeChannelTool,
367
+ createScavioYoutubeCommentsTool,
268
368
  createScavioYoutubeMetadataTool,
269
369
  createScavioYoutubeSearchTool,
370
+ createScavioYoutubeStreamsTool,
371
+ createScavioYoutubeTranscriptTool,
372
+ createScavioYoutubeVideoTool,
270
373
  getScavioClient
271
374
  };
272
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. Returns organic results, knowledge graph, related questions, news, 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 search_type: z\n .enum(['classic', 'news', 'maps', 'images', 'lens'])\n .optional()\n .describe('The Google vertical to search'),\n light_request: z\n .boolean()\n .optional()\n .describe('Use the cheaper, lighter response (1 credit instead of 2)'),\n }),\n outputSchema,\n execute: async input => getClient().google.search(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 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),\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),\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),\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),\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),\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.0",
3
+ "version": "0.2.0",
4
4
  "description": "Scavio real-time search tools (Google, YouTube, Amazon, Walmart, Reddit, TikTok, Instagram) for Mastra agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -41,7 +41,7 @@
41
41
  "access": "public"
42
42
  },
43
43
  "dependencies": {
44
- "scavio": "^0.2.1"
44
+ "scavio": "^0.13.0"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@mastra/core": ">=1.0.0-0 <2.0.0-0",