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 +3 -3
- package/dist/index.cjs +80 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +80 -5
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -36,6 +36,8 @@ interface BuildScavioToolkitOptions {
|
|
|
36
36
|
enableCapterra?: boolean;
|
|
37
37
|
enableGoogleAds?: boolean;
|
|
38
38
|
enableMetaAds?: boolean;
|
|
39
|
+
enableHeb?: boolean;
|
|
40
|
+
enableKroger?: boolean;
|
|
39
41
|
/**
|
|
40
42
|
* Website map, crawl and batch extract (five tools: MAP_WEBSITE, CRAWL_WEBSITE,
|
|
41
43
|
* CRAWL_STATUS, BATCH_EXTRACT, BATCH_STATUS). Opt-in: a crawl bills per page.
|
|
@@ -52,7 +54,7 @@ interface BuildScavioToolkitOptions {
|
|
|
52
54
|
/**
|
|
53
55
|
* Build a Composio custom toolkit exposing Scavio search tools.
|
|
54
56
|
*
|
|
55
|
-
* Scavio is a single Search API over Google, YouTube, Amazon, Walmart, Reddit,
|
|
57
|
+
* Scavio is a single Search API over Google, YouTube, Amazon, Walmart, HEB, Kroger, Reddit,
|
|
56
58
|
* TikTok, TikTok Shop, Instagram, X and LinkedIn; this toolkit covers all ten.
|
|
57
59
|
* Pass to `composio.create(userId, { experimental:
|
|
58
60
|
* { customToolkits: [toolkit] } })`. Agent-facing slugs are prefixed `LOCAL_SCAVIO_`.
|
package/dist/index.d.ts
CHANGED
|
@@ -36,6 +36,8 @@ interface BuildScavioToolkitOptions {
|
|
|
36
36
|
enableCapterra?: boolean;
|
|
37
37
|
enableGoogleAds?: boolean;
|
|
38
38
|
enableMetaAds?: boolean;
|
|
39
|
+
enableHeb?: boolean;
|
|
40
|
+
enableKroger?: boolean;
|
|
39
41
|
/**
|
|
40
42
|
* Website map, crawl and batch extract (five tools: MAP_WEBSITE, CRAWL_WEBSITE,
|
|
41
43
|
* CRAWL_STATUS, BATCH_EXTRACT, BATCH_STATUS). Opt-in: a crawl bills per page.
|
|
@@ -52,7 +54,7 @@ interface BuildScavioToolkitOptions {
|
|
|
52
54
|
/**
|
|
53
55
|
* Build a Composio custom toolkit exposing Scavio search tools.
|
|
54
56
|
*
|
|
55
|
-
* Scavio is a single Search API over Google, YouTube, Amazon, Walmart, Reddit,
|
|
57
|
+
* Scavio is a single Search API over Google, YouTube, Amazon, Walmart, HEB, Kroger, Reddit,
|
|
56
58
|
* TikTok, TikTok Shop, Instagram, X and LinkedIn; this toolkit covers all ten.
|
|
57
59
|
* Pass to `composio.create(userId, { experimental:
|
|
58
60
|
* { customToolkits: [toolkit] } })`. Agent-facing slugs are prefixed `LOCAL_SCAVIO_`.
|
package/dist/index.js
CHANGED
|
@@ -104,6 +104,8 @@ function buildScavioToolkit(options = {}) {
|
|
|
104
104
|
enableCapterra = false,
|
|
105
105
|
enableGoogleAds = false,
|
|
106
106
|
enableMetaAds = false,
|
|
107
|
+
enableHeb = false,
|
|
108
|
+
enableKroger = false,
|
|
107
109
|
enableCrawl = false,
|
|
108
110
|
pollIntervalMs = JOB_POLL_INTERVAL_MS,
|
|
109
111
|
all = false
|
|
@@ -1568,7 +1570,7 @@ function buildScavioToolkit(options = {}) {
|
|
|
1568
1570
|
page: onum("Results page, 1-based."),
|
|
1569
1571
|
count: onum("Results per page, 1-28. Defaults to 24; Target rejects anything above 28 outright."),
|
|
1570
1572
|
sort: ostr("Result sort order. Defaults to 'relevance'. Accepted values: 'relevance', 'featured', 'price_low', 'price_high', 'rating_high', 'best_seller', 'newest'."),
|
|
1571
|
-
store_id: ostr("Numeric Target store id whose prices
|
|
1573
|
+
store_id: ostr("Numeric Target store id whose prices the response reflects. Defaults to '3991', the store target.com uses with no store context.")
|
|
1572
1574
|
}),
|
|
1573
1575
|
(i) => client.target.search(i)
|
|
1574
1576
|
),
|
|
@@ -1581,7 +1583,7 @@ function buildScavioToolkit(options = {}) {
|
|
|
1581
1583
|
page: onum("Results page, 1-based."),
|
|
1582
1584
|
count: onum("Results per page, 1-28. Defaults to 24; Target rejects anything above 28 outright."),
|
|
1583
1585
|
sort: ostr("Result sort order. Defaults to 'relevance'. Accepted values: 'relevance', 'featured', 'price_low', 'price_high', 'rating_high', 'best_seller', 'newest'."),
|
|
1584
|
-
store_id: ostr("Numeric Target store id whose prices
|
|
1586
|
+
store_id: ostr("Numeric Target store id whose prices the response reflects. Defaults to '3991'.")
|
|
1585
1587
|
}),
|
|
1586
1588
|
(i) => client.target.category(i)
|
|
1587
1589
|
),
|
|
@@ -1591,7 +1593,7 @@ function buildScavioToolkit(options = {}) {
|
|
|
1591
1593
|
"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.",
|
|
1592
1594
|
z.object({
|
|
1593
1595
|
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'."),
|
|
1594
|
-
store_id: ostr("Numeric Target store id whose prices
|
|
1596
|
+
store_id: ostr("Numeric Target store id whose prices the response reflects. Defaults to '3991'.")
|
|
1595
1597
|
}),
|
|
1596
1598
|
(i) => client.target.product(i)
|
|
1597
1599
|
),
|
|
@@ -1602,9 +1604,21 @@ function buildScavioToolkit(options = {}) {
|
|
|
1602
1604
|
z.object({
|
|
1603
1605
|
tcin: str("Target catalog id (tcin, e.g. '1010453160')."),
|
|
1604
1606
|
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."),
|
|
1605
|
-
store_id: ostr("Numeric Target store id whose prices
|
|
1607
|
+
store_id: ostr("Numeric Target store id whose prices the response reflects. Defaults to '3991'.")
|
|
1606
1608
|
}),
|
|
1607
1609
|
(i) => client.target.reviews(i)
|
|
1610
|
+
),
|
|
1611
|
+
tool(
|
|
1612
|
+
"TARGET_AVAILABILITY",
|
|
1613
|
+
"Scavio Target Availability",
|
|
1614
|
+
"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.",
|
|
1615
|
+
z.object({
|
|
1616
|
+
tcin: str("Target catalog id (tcin, e.g. '85978609')."),
|
|
1617
|
+
zip: str("5-digit US ZIP code to search around."),
|
|
1618
|
+
radius: onum("Search radius in miles, 1-100. Defaults to 25. At most 20 stores."),
|
|
1619
|
+
store_id: ostr("Return only this Target store. It must be within radius of zip.")
|
|
1620
|
+
}),
|
|
1621
|
+
(i) => client.target.availability(i)
|
|
1608
1622
|
)
|
|
1609
1623
|
);
|
|
1610
1624
|
}
|
|
@@ -2446,6 +2460,67 @@ function buildScavioToolkit(options = {}) {
|
|
|
2446
2460
|
)
|
|
2447
2461
|
);
|
|
2448
2462
|
}
|
|
2463
|
+
if (all || enableHeb) {
|
|
2464
|
+
tools.push(
|
|
2465
|
+
tool(
|
|
2466
|
+
"HEB_SEARCH",
|
|
2467
|
+
"Scavio HEB Search",
|
|
2468
|
+
"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.",
|
|
2469
|
+
z.object({
|
|
2470
|
+
query: str("Search keywords (1-200 characters)."),
|
|
2471
|
+
page: onum("Results page, 1-based (1-100)."),
|
|
2472
|
+
page_size: onum("Results per page, 1-60. Server default 30.")
|
|
2473
|
+
}),
|
|
2474
|
+
(i) => client.heb.search(i)
|
|
2475
|
+
),
|
|
2476
|
+
tool(
|
|
2477
|
+
"HEB_PRODUCT",
|
|
2478
|
+
"Scavio HEB Product",
|
|
2479
|
+
"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.",
|
|
2480
|
+
z.object({
|
|
2481
|
+
product_url: ostr("Full or relative product URL from heb.com. Preferred over slug + product_id."),
|
|
2482
|
+
product_id: ostr("HEB product id (numeric id at the end of a product URL). Requires slug."),
|
|
2483
|
+
slug: ostr("Product slug (readable part of the URL). Required with product_id.")
|
|
2484
|
+
}),
|
|
2485
|
+
(i) => client.heb.product(i)
|
|
2486
|
+
),
|
|
2487
|
+
tool(
|
|
2488
|
+
"HEB_STORES",
|
|
2489
|
+
"Scavio HEB Stores",
|
|
2490
|
+
"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.",
|
|
2491
|
+
z.object({
|
|
2492
|
+
zip: ostr("5-digit US ZIP code (e.g. '78701')."),
|
|
2493
|
+
city: ostr("City name (e.g. 'Austin'). Pass zip or city.")
|
|
2494
|
+
}),
|
|
2495
|
+
(i) => client.heb.stores(i)
|
|
2496
|
+
)
|
|
2497
|
+
);
|
|
2498
|
+
}
|
|
2499
|
+
if (all || enableKroger) {
|
|
2500
|
+
tools.push(
|
|
2501
|
+
tool(
|
|
2502
|
+
"KROGER_SEARCH",
|
|
2503
|
+
"Scavio Kroger Search",
|
|
2504
|
+
"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.",
|
|
2505
|
+
z.object({
|
|
2506
|
+
query: str("Search keywords (1-200 characters)."),
|
|
2507
|
+
page: onum("Results page, 1-based (1-100).")
|
|
2508
|
+
}),
|
|
2509
|
+
(i) => client.kroger.search(i)
|
|
2510
|
+
),
|
|
2511
|
+
tool(
|
|
2512
|
+
"KROGER_PRODUCT",
|
|
2513
|
+
"Scavio Kroger Product",
|
|
2514
|
+
"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.",
|
|
2515
|
+
z.object({
|
|
2516
|
+
product_url: ostr("Full or relative product URL from kroger.com. Preferred."),
|
|
2517
|
+
upc: ostr("Kroger product UPC (from search or product URLs: /p/{slug}/{upc})."),
|
|
2518
|
+
slug: ostr("Product slug for readable URL. Optional with upc.")
|
|
2519
|
+
}),
|
|
2520
|
+
(i) => client.kroger.product(i)
|
|
2521
|
+
)
|
|
2522
|
+
);
|
|
2523
|
+
}
|
|
2449
2524
|
if (all || enableExtract) {
|
|
2450
2525
|
tools.push(
|
|
2451
2526
|
tool(
|
|
@@ -2549,7 +2624,7 @@ function buildScavioToolkit(options = {}) {
|
|
|
2549
2624
|
}
|
|
2550
2625
|
return experimental_createToolkit("SCAVIO", {
|
|
2551
2626
|
name: "Scavio",
|
|
2552
|
-
description: "Real-time structured search over
|
|
2627
|
+
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.",
|
|
2553
2628
|
tools
|
|
2554
2629
|
});
|
|
2555
2630
|
}
|