composio-scavio 0.6.1 → 0.6.2

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/dist/index.cjs CHANGED
@@ -128,6 +128,7 @@ function buildScavioToolkit(options = {}) {
128
128
  enableMetaAds = false,
129
129
  enableHeb = false,
130
130
  enableKroger = false,
131
+ enableDecathlon = false,
131
132
  enableCrawl = false,
132
133
  pollIntervalMs = JOB_POLL_INTERVAL_MS,
133
134
  all = false
@@ -2487,22 +2488,24 @@ function buildScavioToolkit(options = {}) {
2487
2488
  tool(
2488
2489
  "HEB_SEARCH",
2489
2490
  "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
+ "Search HEB grocery products: price in cents, sale status, unit price, size, UPC, stock, EBT/SNAP eligibility, aisle location and product URL. Pass store_id for one store's prices, stock and assortment. Costs 2 credits.",
2491
2492
  import_zod.z.object({
2492
2493
  query: str("Search keywords (1-200 characters)."),
2493
2494
  page: onum("Results page, 1-based (1-100)."),
2494
- page_size: onum("Results per page, 1-60. Server default 30.")
2495
+ page_size: onum("Results per page, 1-60. Defaults to 60."),
2496
+ store_id: ostr("HEB store number from the HEB stores tool (store_number), e.g. '441'. Prices, stock, aisle location and assortment come from that store; the store used is echoed in data.store {store_id, name}. US only. Omit for HEB's default store.")
2495
2497
  }),
2496
2498
  (i) => client.heb.search(i)
2497
2499
  ),
2498
2500
  tool(
2499
2501
  "HEB_PRODUCT",
2500
2502
  "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.",
2503
+ "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; with store_id, product_id alone works and price, stock and aisle are for that store. Costs 2 credits.",
2502
2504
  import_zod.z.object({
2503
2505
  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
+ product_id: ostr("HEB product id. Needs slug, unless store_id is set (then product_id alone works)."),
2507
+ slug: ostr("Product slug (readable part of the URL). Required with product_id unless store_id is set."),
2508
+ store_id: ostr("HEB store number from the HEB stores tool (store_number), e.g. '441'. Prices, stock, aisle location and assortment come from that store; the store used is echoed in data.store {store_id, name}. US only. Omit for HEB's default store.")
2506
2509
  }),
2507
2510
  (i) => client.heb.product(i)
2508
2511
  ),
@@ -2543,6 +2546,32 @@ function buildScavioToolkit(options = {}) {
2543
2546
  )
2544
2547
  );
2545
2548
  }
2549
+ if (all || enableDecathlon) {
2550
+ tools.push(
2551
+ tool(
2552
+ "DECATHLON_SEARCH",
2553
+ "Scavio Decathlon Search",
2554
+ "Search Decathlon products by keyword across 7 country domains (FR, ES, IT, IN, UK, PT, NET). Returns product name, brand, price (cents), currency, availability, rating, review count and image. Costs 2 credits.",
2555
+ import_zod.z.object({
2556
+ query: str("Search keywords (1-200 characters)."),
2557
+ country: import_zod.z.enum(["fr", "es", "it", "in", "uk", "pt", "net"]).describe("Country domain."),
2558
+ page: onum("Results page, 1-based (1-50).")
2559
+ }),
2560
+ (i) => client.decathlon.search(i)
2561
+ ),
2562
+ tool(
2563
+ "DECATHLON_PRODUCT",
2564
+ "Scavio Decathlon Product",
2565
+ "Full Decathlon product detail by URL or product ID: description, images, SKU, GTIN, color, price (cents), list price, availability, offers/variants, rating, review count, category and breadcrumbs. Costs 2 credits.",
2566
+ import_zod.z.object({
2567
+ product_url: ostr("Full or relative product URL from any Decathlon domain. Preferred."),
2568
+ product_id: ostr("Decathlon numeric product ID."),
2569
+ country: import_zod.z.enum(["fr", "es", "it", "in", "uk", "pt", "net"]).describe("Country domain.")
2570
+ }),
2571
+ (i) => client.decathlon.product(i)
2572
+ )
2573
+ );
2574
+ }
2546
2575
  if (all || enableExtract) {
2547
2576
  tools.push(
2548
2577
  tool(