mastra-scavio 0.7.2 → 0.7.3

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,7 +2,7 @@
2
2
 
3
3
  [Scavio](https://scavio.dev) real-time data tools for [Mastra](https://mastra.ai) agents — **188 tools across 31 platforms** on one API key. Retail (Amazon, Walmart, eBay, Target, Home Depot), real estate (Zillow, Redfin), travel (Booking.com, Airbnb, Tripadvisor), local (Yelp, Google Maps), jobs (Indeed, Glassdoor, LinkedIn), software reviews (G2, Capterra), app stores (App Store, Google Play), company filings (SEC EDGAR, Companies House), ad libraries (Google Ads Transparency, Meta Ad Library), search (Google) and social (YouTube, TikTok, Instagram, X, Reddit, Threads, Kuaishou) — plus `scavioExtract`, which reads any URL as clean Markdown, and five opt-in tools that map a site's URLs, crawl a whole site or batch-extract a URL list.
4
4
 
5
- > **Amazon changed (breaking).** The upstream provider moved in 2026-07:
5
+ > **Amazon changed (breaking).** The Amazon endpoint changed in 2026-07:
6
6
  > `domain` is replaced by `country`, a two-letter marketplace code (`us`, `gb`
7
7
  > -- the UK is `gb`, not `uk` -- `de`, `jp`, ...), and `sort_by`, `pages`,
8
8
  > `category_id`, `merchant_id`, `language`, `currency`, `device`, `zip_code`
@@ -216,7 +216,7 @@ No single number is true for these, so each tool states its own price and none o
216
216
  | Surface | Price |
217
217
  |---|---|
218
218
  | `scavioWalmartSearch`, `scavioWalmartCategory` | 1 credit on `domain` `com` or `ca`, **2 on `com.mx`**. The other five Walmart tools take no `domain` and are always 1. |
219
- | `scavioThreadsProfile`, `scavioThreadsUserPosts`, `scavioThreadsUserReplies` | **2 credits addressed by `user_id`, 4 by `username`** — a handle buys a second upstream call, because the upstream handle lookup is dead. Pass `user_id` whenever you have it. The other three Threads tools have no username form and are always 2. |
219
+ | `scavioThreadsProfile`, `scavioThreadsUserPosts`, `scavioThreadsUserReplies` | **2 credits addressed by `user_id`, 4 by `username`** — a handle buys a second lookup. Pass `user_id` whenever you have it. The other three Threads tools have no username form and are always 2. |
220
220
  | Kuaishou | **Per endpoint, 1 to 40.** See the table above; one platform-wide figure would be wrong by up to 40x. |
221
221
  | `scavioExtract` | 1 credit on `mode` `normal` or `advanced`, **2 on `ultra`**. Only a successful extraction is billed — a dead link, bot wall or timeout costs nothing. |
222
222
  | `scavioMapWebsite` | 1 credit on `mode` `normal`; up to 2 on `advanced`, up to 10 on `ultra`, priced by what the call needed. |
package/dist/index.cjs CHANGED
@@ -2544,7 +2544,7 @@ var ebayToolSpecs = [
2544
2544
  "price_low",
2545
2545
  "price_high"
2546
2546
  ]).optional().describe(
2547
- "Result sort order. Defaults to 'best_match'. eBay's 'Distance: nearest first' is deliberately unsupported (it ranks against our proxy exit, not the caller)."
2547
+ "Result sort order. Defaults to 'best_match'. eBay's 'Distance: nearest first' is deliberately unsupported (it would not rank by the location of the caller)."
2548
2548
  ),
2549
2549
  min_price: import_zod15.z.number().optional().describe("Minimum price, inclusive. Must be 0 or greater."),
2550
2550
  max_price: import_zod15.z.number().optional().describe("Maximum price, inclusive. Must be 0 or greater."),
@@ -2994,7 +2994,7 @@ var bookingToolSpecs = [
2994
2994
  ),
2995
2995
  rooms: import_zod19.z.number().int().optional().describe("Rooms required, >= 1 (default 1)."),
2996
2996
  currency: import_zod19.z.string().optional().describe(
2997
- "ISO 4217 currency for prices, 3 letters (default 'USD'). Without it Booking prices off the proxy exit and identical requests disagree."
2997
+ "ISO 4217 currency for prices, 3 letters (default 'USD'). Without it Booking picks a currency itself and identical requests can disagree."
2998
2998
  )
2999
2999
  }),
3000
3000
  call: (client, input) => client.booking.search(input)
@@ -3025,7 +3025,7 @@ var bookingToolSpecs = [
3025
3025
  ),
3026
3026
  rooms: import_zod19.z.number().int().optional().describe("Rooms required, >= 1 (default 1)."),
3027
3027
  currency: import_zod19.z.string().optional().describe(
3028
- "ISO 4217 currency for prices, 3 letters (default 'USD'). Without it Booking prices off the proxy exit and identical requests disagree."
3028
+ "ISO 4217 currency for prices, 3 letters (default 'USD'). Without it Booking picks a currency itself and identical requests can disagree."
3029
3029
  )
3030
3030
  }),
3031
3031
  call: (client, input) => client.booking.hotel(input)
@@ -3315,7 +3315,7 @@ var airbnbToolSpecs = [
3315
3315
  "Comma-separated amenities (1-200 characters): wifi, air_conditioning, pool, kitchen, free_parking, washer, self_check_in, tv, or raw numeric Airbnb amenity ids. An unrecognised NAME is rejected before the scrape."
3316
3316
  ),
3317
3317
  currency: import_zod22.z.string().optional().describe(
3318
- "ISO 4217 currency for prices, 3 letters (default 'USD'). Without it Airbnb prices off the proxy exit and identical requests disagree."
3318
+ "ISO 4217 currency for prices, 3 letters (default 'USD'). Without it Airbnb picks a currency itself and identical requests can disagree."
3319
3319
  ),
3320
3320
  page: import_zod22.z.number().int().optional().describe(
3321
3321
  "Results page, 1-based. 18 listings per page. Cannot be combined with cursor."
@@ -3421,7 +3421,7 @@ var glassdoorToolSpecs = [
3421
3421
  description: "Up to THREE full Glassdoor reviews - the cap is Glassdoor's login wall - with per-axis scores, pros, cons, advice, job title, location, employment status and employer response, plus complete rating statistics, star distribution, aggregate pro/con highlight terms and per-job-title review counts. There is no page param: move the window with category and employment_status. Provide employer_id or url. Costs 1 credit.",
3422
3422
  inputSchema: import_zod23.z.object({
3423
3423
  employer_id: import_zod23.z.string().optional().describe(
3424
- "Glassdoor employer id (1-50 characters): '1699', 'E1699' or 'IE1699'. Must be a STRING - a JSON number is rejected. Addressing by id costs two upstream fetches; the customer price is unchanged."
3424
+ "Glassdoor employer id (1-50 characters): '1699', 'E1699' or 'IE1699'. Must be a STRING - a JSON number is rejected. Addressing by id takes an extra lookup; the customer price is unchanged."
3425
3425
  ),
3426
3426
  company: import_zod23.z.string().optional().describe(
3427
3427
  "Employer name as it appears in a Glassdoor slug (1-200 characters). COSMETIC: ignored when url is set, and it does not satisfy the employer_id-or-url requirement."
@@ -3454,7 +3454,7 @@ var glassdoorToolSpecs = [
3454
3454
  description: "Glassdoor salaries by job title, 10 titles per page: base-pay and total-pay percentiles P10-P90 with medians called out, sample counts, currency, pay period and last-reported date. The figures are Glassdoor's ESTIMATES for the title, not individual reported salaries. Provide employer_id or url. Costs 1 credit.",
3455
3455
  inputSchema: import_zod23.z.object({
3456
3456
  employer_id: import_zod23.z.string().optional().describe(
3457
- "Glassdoor employer id (1-50 characters): '1699', 'E1699' or 'IE1699'. Must be a STRING - a JSON number is rejected. Addressing by id costs two upstream fetches; the customer price is unchanged."
3457
+ "Glassdoor employer id (1-50 characters): '1699', 'E1699' or 'IE1699'. Must be a STRING - a JSON number is rejected. Addressing by id takes an extra lookup; the customer price is unchanged."
3458
3458
  ),
3459
3459
  company: import_zod23.z.string().optional().describe(
3460
3460
  "Employer name as it appears in a Glassdoor slug (1-200 characters). COSMETIC: ignored when url is set, and it does not satisfy the employer_id-or-url requirement."
@@ -3501,7 +3501,7 @@ var yelpToolSpecs = [
3501
3501
  "What to look for (1-200 characters): a category ('plumbers'), a dish, or a business name. Required together with location unless url is given."
3502
3502
  ),
3503
3503
  location: import_zod24.z.string().optional().describe(
3504
- "Where to look (1-200 characters): city and region, a full address, or a postcode. Effectively required - Yelp geolocates a location-less search off the proxy exit, so the same request answers about a different metro run to run."
3504
+ "Where to look (1-200 characters): city and region, a full address, or a postcode. Effectively required - without it Yelp picks a location itself, so the same request can answer about a different metro run to run."
3505
3505
  ),
3506
3506
  page: import_zod24.z.number().int().optional().describe(
3507
3507
  "Results page, 1-based. Yelp fixes the page size at 10."