composio-scavio 0.5.3 → 0.6.1

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 search tools for [Composio](https://composio.dev) (TypeScript).
4
4
 
5
- Scavio is a single Search API over 31 platforms -- Google, YouTube, Amazon, Walmart, eBay, Target, Home Depot, Reddit, TikTok, TikTok Shop, Instagram, X, LinkedIn, Threads, Kuaishou, Zillow, Redfin, Booking.com, Airbnb, Tripadvisor, Yelp, Indeed, Glassdoor, the Apple App Store, Google Play, SEC EDGAR, Companies House, G2, Capterra, Google Ads Transparency and the Meta Ad Library -- plus `extract`, which reads any URL as Markdown, plain text or raw HTML. This package exposes **194 tools** -- one per live endpoint plus five website tools that map, crawl and batch-extract whole sites -- as a Composio custom toolkit so your agents can pull structured, up-to-date results across any Composio-supported framework.
5
+ Scavio is a single Search API over 31 platforms -- Google, YouTube, Amazon, Walmart, eBay, Target, Home Depot, Reddit, TikTok, TikTok Shop, Instagram, X, LinkedIn, Threads, Kuaishou, Zillow, Redfin, Booking.com, Airbnb, Tripadvisor, Yelp, Indeed, Glassdoor, the Apple App Store, Google Play, SEC EDGAR, Companies House, G2, Capterra, Google Ads Transparency and the Meta Ad Library -- plus `extract`, which reads any URL as Markdown, plain text or raw HTML. This package exposes **195 tools** -- one per live endpoint plus five website tools that map, crawl and batch-extract whole sites -- as a Composio custom toolkit so your agents can pull structured, up-to-date results across any Composio-supported framework.
6
6
 
7
7
  > **New in 0.5.0: website map, crawl and batch.** Five opt-in tools behind
8
8
  > `enableCrawl` -- see [Map, crawl and batch](#map-crawl-and-batch). Needs
@@ -122,7 +122,7 @@ All tools are grouped under the `SCAVIO` custom toolkit; agent-facing slugs are
122
122
  | Threads | `enableThreads` | 6 | profile, user posts, user replies, post, post comments, search users |
123
123
  | Kuaishou (China) | `enableKuaishou` | 14 | profile, user posts, user live, user resolve, video, video comments, comment replies, videos batch, search, search videos, search users, search live, tag feed, trending |
124
124
  | eBay | `enableEbay` | 3 | search, product, seller |
125
- | Target | `enableTarget` | 4 | search, category, product, reviews |
125
+ | Target | `enableTarget` | 5 | search, category, product, reviews, availability |
126
126
  | Home Depot | `enableHomeDepot` | 3 | search, product, reviews |
127
127
  | Zillow | `enableZillow` | 3 | search, property, agent reviews |
128
128
  | Booking.com | `enableBooking` | 3 | search, hotel, reviews |
@@ -141,7 +141,7 @@ All tools are grouped under the `SCAVIO` custom toolkit; agent-facing slugs are
141
141
  | Google Ads Transparency | `enableGoogleAds` | 3 | advertisers, search, creative |
142
142
  | Meta Ad Library | `enableMetaAds` | 3 | search, advertiser, ad |
143
143
  | Website map, crawl, batch | `enableCrawl` | 5 | map website, crawl website, crawl status, batch extract, batch status |
144
- | **Total** | | **194** | |
144
+ | **Total** | | **195** | |
145
145
 
146
146
  Two endpoints are deliberately not exposed:
147
147
 
package/dist/index.cjs CHANGED
@@ -126,6 +126,8 @@ function buildScavioToolkit(options = {}) {
126
126
  enableCapterra = false,
127
127
  enableGoogleAds = false,
128
128
  enableMetaAds = false,
129
+ enableHeb = false,
130
+ enableKroger = false,
129
131
  enableCrawl = false,
130
132
  pollIntervalMs = JOB_POLL_INTERVAL_MS,
131
133
  all = false
@@ -1590,7 +1592,7 @@ function buildScavioToolkit(options = {}) {
1590
1592
  page: onum("Results page, 1-based."),
1591
1593
  count: onum("Results per page, 1-28. Defaults to 24; Target rejects anything above 28 outright."),
1592
1594
  sort: ostr("Result sort order. Defaults to 'relevance'. Accepted values: 'relevance', 'featured', 'price_low', 'price_high', 'rating_high', 'best_seller', 'newest'."),
1593
- store_id: ostr("Numeric Target store id whose prices and availability the response reflects. Defaults to '3991', the store target.com uses with no store context.")
1595
+ store_id: ostr("Numeric Target store id whose prices the response reflects. Defaults to '3991', the store target.com uses with no store context.")
1594
1596
  }),
1595
1597
  (i) => client.target.search(i)
1596
1598
  ),
@@ -1603,7 +1605,7 @@ function buildScavioToolkit(options = {}) {
1603
1605
  page: onum("Results page, 1-based."),
1604
1606
  count: onum("Results per page, 1-28. Defaults to 24; Target rejects anything above 28 outright."),
1605
1607
  sort: ostr("Result sort order. Defaults to 'relevance'. Accepted values: 'relevance', 'featured', 'price_low', 'price_high', 'rating_high', 'best_seller', 'newest'."),
1606
- store_id: ostr("Numeric Target store id whose prices and availability the response reflects. Defaults to '3991'.")
1608
+ store_id: ostr("Numeric Target store id whose prices the response reflects. Defaults to '3991'.")
1607
1609
  }),
1608
1610
  (i) => client.target.category(i)
1609
1611
  ),
@@ -1613,7 +1615,7 @@ function buildScavioToolkit(options = {}) {
1613
1615
  "Target product details by TCIN: price, rating, images, specifications, variants, return policy, fulfillment. seller_id/seller_name are null for stock sold by Target. Costs 1 credit.",
1614
1616
  import_zod.z.object({
1615
1617
  tcin: str("Target catalog id (tcin, e.g. '1010453160'). A colour/size child tcin is answered by its variation parent, with the child present in 'variants'."),
1616
- store_id: ostr("Numeric Target store id whose prices and availability the response reflects. Defaults to '3991'.")
1618
+ store_id: ostr("Numeric Target store id whose prices the response reflects. Defaults to '3991'.")
1617
1619
  }),
1618
1620
  (i) => client.target.product(i)
1619
1621
  ),
@@ -1624,9 +1626,21 @@ function buildScavioToolkit(options = {}) {
1624
1626
  import_zod.z.object({
1625
1627
  tcin: str("Target catalog id (tcin, e.g. '1010453160')."),
1626
1628
  limit: onum("Trim the returned reviews to at most this many (1 or greater). Target publishes 8 anonymously and offers no paging, so this only trims."),
1627
- store_id: ostr("Numeric Target store id whose prices and availability the response reflects. Defaults to '3991'.")
1629
+ store_id: ostr("Numeric Target store id whose prices the response reflects. Defaults to '3991'.")
1628
1630
  }),
1629
1631
  (i) => client.target.reviews(i)
1632
+ ),
1633
+ tool(
1634
+ "TARGET_AVAILABILITY",
1635
+ "Scavio Target Availability",
1636
+ "In-store stock for a Target product at every store near a ZIP: units available, in-store, pickup, curbside and ship-to-store status, distance, address and hours. Costs 1 credit.",
1637
+ import_zod.z.object({
1638
+ tcin: str("Target catalog id (tcin, e.g. '85978609')."),
1639
+ zip: str("5-digit US ZIP code to search around."),
1640
+ radius: onum("Search radius in miles, 1-100. Defaults to 25. At most 20 stores."),
1641
+ store_id: ostr("Return only this Target store. It must be within radius of zip.")
1642
+ }),
1643
+ (i) => client.target.availability(i)
1630
1644
  )
1631
1645
  );
1632
1646
  }
@@ -2468,6 +2482,67 @@ function buildScavioToolkit(options = {}) {
2468
2482
  )
2469
2483
  );
2470
2484
  }
2485
+ if (all || enableHeb) {
2486
+ tools.push(
2487
+ tool(
2488
+ "HEB_SEARCH",
2489
+ "Scavio HEB Search",
2490
+ "Search HEB grocery products: price in cents, sale status, unit price, size, UPC, stock, EBT/SNAP eligibility, aisle location and product URL. Costs 2 credits.",
2491
+ import_zod.z.object({
2492
+ query: str("Search keywords (1-200 characters)."),
2493
+ page: onum("Results page, 1-based (1-100)."),
2494
+ page_size: onum("Results per page, 1-60. Server default 30.")
2495
+ }),
2496
+ (i) => client.heb.search(i)
2497
+ ),
2498
+ tool(
2499
+ "HEB_PRODUCT",
2500
+ "Scavio HEB Product",
2501
+ "Full HEB product detail: nutrition facts, ingredients, description, images, similar products, coupons, EBT/SNAP eligibility and breadcrumbs. Pass product_url (from search) or slug + product_id. Costs 2 credits.",
2502
+ import_zod.z.object({
2503
+ product_url: ostr("Full or relative product URL from heb.com. Preferred over slug + product_id."),
2504
+ product_id: ostr("HEB product id (numeric id at the end of a product URL). Requires slug."),
2505
+ slug: ostr("Product slug (readable part of the URL). Required with product_id.")
2506
+ }),
2507
+ (i) => client.heb.product(i)
2508
+ ),
2509
+ tool(
2510
+ "HEB_STORES",
2511
+ "Scavio HEB Stores",
2512
+ "HEB stores near a US ZIP code or city: store number, address, phone, hours, pharmacy availability, fulfillment channels, distance and store URL. Pass zip or city. Costs 2 credits.",
2513
+ import_zod.z.object({
2514
+ zip: ostr("5-digit US ZIP code (e.g. '78701')."),
2515
+ city: ostr("City name (e.g. 'Austin'). Pass zip or city.")
2516
+ }),
2517
+ (i) => client.heb.stores(i)
2518
+ )
2519
+ );
2520
+ }
2521
+ if (all || enableKroger) {
2522
+ tools.push(
2523
+ tool(
2524
+ "KROGER_SEARCH",
2525
+ "Scavio Kroger Search",
2526
+ "Search Kroger grocery products: price in cents, promo price, n-for deals, unit price, size, UPC, stock, SNAP eligibility, dietary info, rating and category. Kroger operates Kroger, Ralphs, Fred Meyer, Harris Teeter, King Soopers and Fry's. Costs 2 credits.",
2527
+ import_zod.z.object({
2528
+ query: str("Search keywords (1-200 characters)."),
2529
+ page: onum("Results page, 1-based (1-100).")
2530
+ }),
2531
+ (i) => client.kroger.search(i)
2532
+ ),
2533
+ tool(
2534
+ "KROGER_PRODUCT",
2535
+ "Scavio Kroger Product",
2536
+ "Full Kroger product detail by URL or UPC: nutrition facts, allergens, ingredients, nutrients with daily values, description, images, rating distribution, store aisle, stock, dietary flags, SNAP eligibility, dimensions and country of origin. Costs 2 credits.",
2537
+ import_zod.z.object({
2538
+ product_url: ostr("Full or relative product URL from kroger.com. Preferred."),
2539
+ upc: ostr("Kroger product UPC (from search or product URLs: /p/{slug}/{upc})."),
2540
+ slug: ostr("Product slug for readable URL. Optional with upc.")
2541
+ }),
2542
+ (i) => client.kroger.product(i)
2543
+ )
2544
+ );
2545
+ }
2471
2546
  if (all || enableExtract) {
2472
2547
  tools.push(
2473
2548
  tool(
@@ -2571,7 +2646,7 @@ function buildScavioToolkit(options = {}) {
2571
2646
  }
2572
2647
  return (0, import_core.experimental_createToolkit)("SCAVIO", {
2573
2648
  name: "Scavio",
2574
- description: "Real-time structured search over 31 platforms - Google (SERP, AI Mode, Maps, Shopping, Flights, Hotels, News, Trends), YouTube, Amazon, Walmart, eBay, Target, Home Depot, Reddit, TikTok, TikTok Shop, Instagram, X, LinkedIn, Threads, Kuaishou, Zillow, Redfin, Booking.com, Airbnb, Tripadvisor, Yelp, Indeed, Glassdoor, the Apple App Store, Google Play, SEC EDGAR, Companies House, G2, Capterra, Google Ads Transparency and the Meta Ad Library - plus extract, which reads any URL as Markdown, plain text or raw HTML, and website map, crawl and batch extract.",
2649
+ description: "Real-time structured search over 33 platforms - Google (SERP, AI Mode, Maps, Shopping, Flights, Hotels, News, Trends), YouTube, Amazon, Walmart, eBay, Target, Home Depot, HEB, Kroger, Reddit, TikTok, TikTok Shop, Instagram, X, LinkedIn, Threads, Kuaishou, Zillow, Redfin, Booking.com, Airbnb, Tripadvisor, Yelp, Indeed, Glassdoor, the Apple App Store, Google Play, SEC EDGAR, Companies House, G2, Capterra, Google Ads Transparency and the Meta Ad Library - plus extract, which reads any URL as Markdown, plain text or raw HTML, and website map, crawl and batch extract.",
2575
2650
  tools
2576
2651
  });
2577
2652
  }