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.d.cts CHANGED
@@ -38,6 +38,7 @@ interface BuildScavioToolkitOptions {
38
38
  enableMetaAds?: boolean;
39
39
  enableHeb?: boolean;
40
40
  enableKroger?: boolean;
41
+ enableDecathlon?: boolean;
41
42
  /**
42
43
  * Website map, crawl and batch extract (five tools: MAP_WEBSITE, CRAWL_WEBSITE,
43
44
  * CRAWL_STATUS, BATCH_EXTRACT, BATCH_STATUS). Opt-in: a crawl bills per page.
package/dist/index.d.ts CHANGED
@@ -38,6 +38,7 @@ interface BuildScavioToolkitOptions {
38
38
  enableMetaAds?: boolean;
39
39
  enableHeb?: boolean;
40
40
  enableKroger?: boolean;
41
+ enableDecathlon?: boolean;
41
42
  /**
42
43
  * Website map, crawl and batch extract (five tools: MAP_WEBSITE, CRAWL_WEBSITE,
43
44
  * CRAWL_STATUS, BATCH_EXTRACT, BATCH_STATUS). Opt-in: a crawl bills per page.
package/dist/index.js CHANGED
@@ -106,6 +106,7 @@ function buildScavioToolkit(options = {}) {
106
106
  enableMetaAds = false,
107
107
  enableHeb = false,
108
108
  enableKroger = false,
109
+ enableDecathlon = false,
109
110
  enableCrawl = false,
110
111
  pollIntervalMs = JOB_POLL_INTERVAL_MS,
111
112
  all = false
@@ -2465,22 +2466,24 @@ function buildScavioToolkit(options = {}) {
2465
2466
  tool(
2466
2467
  "HEB_SEARCH",
2467
2468
  "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
+ "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.",
2469
2470
  z.object({
2470
2471
  query: str("Search keywords (1-200 characters)."),
2471
2472
  page: onum("Results page, 1-based (1-100)."),
2472
- page_size: onum("Results per page, 1-60. Server default 30.")
2473
+ page_size: onum("Results per page, 1-60. Defaults to 60."),
2474
+ 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.")
2473
2475
  }),
2474
2476
  (i) => client.heb.search(i)
2475
2477
  ),
2476
2478
  tool(
2477
2479
  "HEB_PRODUCT",
2478
2480
  "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.",
2481
+ "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.",
2480
2482
  z.object({
2481
2483
  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
+ product_id: ostr("HEB product id. Needs slug, unless store_id is set (then product_id alone works)."),
2485
+ slug: ostr("Product slug (readable part of the URL). Required with product_id unless store_id is set."),
2486
+ 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.")
2484
2487
  }),
2485
2488
  (i) => client.heb.product(i)
2486
2489
  ),
@@ -2521,6 +2524,32 @@ function buildScavioToolkit(options = {}) {
2521
2524
  )
2522
2525
  );
2523
2526
  }
2527
+ if (all || enableDecathlon) {
2528
+ tools.push(
2529
+ tool(
2530
+ "DECATHLON_SEARCH",
2531
+ "Scavio Decathlon Search",
2532
+ "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.",
2533
+ z.object({
2534
+ query: str("Search keywords (1-200 characters)."),
2535
+ country: z.enum(["fr", "es", "it", "in", "uk", "pt", "net"]).describe("Country domain."),
2536
+ page: onum("Results page, 1-based (1-50).")
2537
+ }),
2538
+ (i) => client.decathlon.search(i)
2539
+ ),
2540
+ tool(
2541
+ "DECATHLON_PRODUCT",
2542
+ "Scavio Decathlon Product",
2543
+ "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.",
2544
+ z.object({
2545
+ product_url: ostr("Full or relative product URL from any Decathlon domain. Preferred."),
2546
+ product_id: ostr("Decathlon numeric product ID."),
2547
+ country: z.enum(["fr", "es", "it", "in", "uk", "pt", "net"]).describe("Country domain.")
2548
+ }),
2549
+ (i) => client.decathlon.product(i)
2550
+ )
2551
+ );
2552
+ }
2524
2553
  if (all || enableExtract) {
2525
2554
  tools.push(
2526
2555
  tool(