@crossly/mcp 0.0.0-stage → 0.1.0
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/LICENSE +21 -0
- package/README.md +126 -2
- package/dist/api.d.ts +44 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +79 -0
- package/dist/api.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/registry.d.ts +11 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +345 -0
- package/dist/registry.js.map +1 -0
- package/dist/tools/account.d.ts +3 -0
- package/dist/tools/account.d.ts.map +1 -0
- package/dist/tools/account.js +164 -0
- package/dist/tools/account.js.map +1 -0
- package/dist/tools/accounts.d.ts +3 -0
- package/dist/tools/accounts.d.ts.map +1 -0
- package/dist/tools/accounts.js +471 -0
- package/dist/tools/accounts.js.map +1 -0
- package/dist/tools/action_log.d.ts +3 -0
- package/dist/tools/action_log.d.ts.map +1 -0
- package/dist/tools/action_log.js +81 -0
- package/dist/tools/action_log.js.map +1 -0
- package/dist/tools/ads.d.ts +45 -0
- package/dist/tools/ads.d.ts.map +1 -0
- package/dist/tools/ads.js +233 -0
- package/dist/tools/ads.js.map +1 -0
- package/dist/tools/ai.d.ts +3 -0
- package/dist/tools/ai.d.ts.map +1 -0
- package/dist/tools/ai.js +437 -0
- package/dist/tools/ai.js.map +1 -0
- package/dist/tools/analytics.d.ts +3 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +193 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/automation/chains.d.ts +10 -0
- package/dist/tools/automation/chains.d.ts.map +1 -0
- package/dist/tools/automation/chains.js +180 -0
- package/dist/tools/automation/chains.js.map +1 -0
- package/dist/tools/automation/network.d.ts +8 -0
- package/dist/tools/automation/network.d.ts.map +1 -0
- package/dist/tools/automation/network.js +102 -0
- package/dist/tools/automation/network.js.map +1 -0
- package/dist/tools/automation/notifications.d.ts +8 -0
- package/dist/tools/automation/notifications.d.ts.map +1 -0
- package/dist/tools/automation/notifications.js +123 -0
- package/dist/tools/automation/notifications.js.map +1 -0
- package/dist/tools/automation/recipes.d.ts +11 -0
- package/dist/tools/automation/recipes.d.ts.map +1 -0
- package/dist/tools/automation/recipes.js +82 -0
- package/dist/tools/automation/recipes.js.map +1 -0
- package/dist/tools/automation/rules.d.ts +12 -0
- package/dist/tools/automation/rules.d.ts.map +1 -0
- package/dist/tools/automation/rules.js +296 -0
- package/dist/tools/automation/rules.js.map +1 -0
- package/dist/tools/automation.d.ts +31 -0
- package/dist/tools/automation.d.ts.map +1 -0
- package/dist/tools/automation.js +41 -0
- package/dist/tools/automation.js.map +1 -0
- package/dist/tools/brand-drops.d.ts +3 -0
- package/dist/tools/brand-drops.d.ts.map +1 -0
- package/dist/tools/brand-drops.js +145 -0
- package/dist/tools/brand-drops.js.map +1 -0
- package/dist/tools/buyer-commerce.d.ts +3 -0
- package/dist/tools/buyer-commerce.d.ts.map +1 -0
- package/dist/tools/buyer-commerce.js +189 -0
- package/dist/tools/buyer-commerce.js.map +1 -0
- package/dist/tools/buyer-gift-cards.d.ts +12 -0
- package/dist/tools/buyer-gift-cards.d.ts.map +1 -0
- package/dist/tools/buyer-gift-cards.js +86 -0
- package/dist/tools/buyer-gift-cards.js.map +1 -0
- package/dist/tools/buyer-lists.d.ts +3 -0
- package/dist/tools/buyer-lists.d.ts.map +1 -0
- package/dist/tools/buyer-lists.js +245 -0
- package/dist/tools/buyer-lists.js.map +1 -0
- package/dist/tools/buyer-live.d.ts +22 -0
- package/dist/tools/buyer-live.d.ts.map +1 -0
- package/dist/tools/buyer-live.js +291 -0
- package/dist/tools/buyer-live.js.map +1 -0
- package/dist/tools/buyer-orders.d.ts +3 -0
- package/dist/tools/buyer-orders.d.ts.map +1 -0
- package/dist/tools/buyer-orders.js +275 -0
- package/dist/tools/buyer-orders.js.map +1 -0
- package/dist/tools/buyer-packs.d.ts +3 -0
- package/dist/tools/buyer-packs.d.ts.map +1 -0
- package/dist/tools/buyer-packs.js +53 -0
- package/dist/tools/buyer-packs.js.map +1 -0
- package/dist/tools/buyer-w7.d.ts +3 -0
- package/dist/tools/buyer-w7.d.ts.map +1 -0
- package/dist/tools/buyer-w7.js +95 -0
- package/dist/tools/buyer-w7.js.map +1 -0
- package/dist/tools/buyer-wave3.d.ts +3 -0
- package/dist/tools/buyer-wave3.d.ts.map +1 -0
- package/dist/tools/buyer-wave3.js +291 -0
- package/dist/tools/buyer-wave3.js.map +1 -0
- package/dist/tools/buyer-xmarket-extras.d.ts +3 -0
- package/dist/tools/buyer-xmarket-extras.d.ts.map +1 -0
- package/dist/tools/buyer-xmarket-extras.js +280 -0
- package/dist/tools/buyer-xmarket-extras.js.map +1 -0
- package/dist/tools/buyer-xmarket.d.ts +3 -0
- package/dist/tools/buyer-xmarket.d.ts.map +1 -0
- package/dist/tools/buyer-xmarket.js +310 -0
- package/dist/tools/buyer-xmarket.js.map +1 -0
- package/dist/tools/buyer.d.ts +21 -0
- package/dist/tools/buyer.d.ts.map +1 -0
- package/dist/tools/buyer.js +451 -0
- package/dist/tools/buyer.js.map +1 -0
- package/dist/tools/catalog-lookup.d.ts +3 -0
- package/dist/tools/catalog-lookup.d.ts.map +1 -0
- package/dist/tools/catalog-lookup.js +40 -0
- package/dist/tools/catalog-lookup.js.map +1 -0
- package/dist/tools/catalog-matches.d.ts +10 -0
- package/dist/tools/catalog-matches.d.ts.map +1 -0
- package/dist/tools/catalog-matches.js +91 -0
- package/dist/tools/catalog-matches.js.map +1 -0
- package/dist/tools/cbx-ops.d.ts +11 -0
- package/dist/tools/cbx-ops.d.ts.map +1 -0
- package/dist/tools/cbx-ops.js +35 -0
- package/dist/tools/cbx-ops.js.map +1 -0
- package/dist/tools/cbx-rewards/ad-credit.d.ts +3 -0
- package/dist/tools/cbx-rewards/ad-credit.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/ad-credit.js +72 -0
- package/dist/tools/cbx-rewards/ad-credit.js.map +1 -0
- package/dist/tools/cbx-rewards/balances.d.ts +3 -0
- package/dist/tools/cbx-rewards/balances.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/balances.js +114 -0
- package/dist/tools/cbx-rewards/balances.js.map +1 -0
- package/dist/tools/cbx-rewards/credit.d.ts +3 -0
- package/dist/tools/cbx-rewards/credit.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/credit.js +131 -0
- package/dist/tools/cbx-rewards/credit.js.map +1 -0
- package/dist/tools/cbx-rewards/disbursements.d.ts +3 -0
- package/dist/tools/cbx-rewards/disbursements.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/disbursements.js +146 -0
- package/dist/tools/cbx-rewards/disbursements.js.map +1 -0
- package/dist/tools/cbx-rewards/earn-boosts.d.ts +3 -0
- package/dist/tools/cbx-rewards/earn-boosts.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/earn-boosts.js +152 -0
- package/dist/tools/cbx-rewards/earn-boosts.js.map +1 -0
- package/dist/tools/cbx-rewards/redemptions.d.ts +3 -0
- package/dist/tools/cbx-rewards/redemptions.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/redemptions.js +61 -0
- package/dist/tools/cbx-rewards/redemptions.js.map +1 -0
- package/dist/tools/cbx-rewards/staking.d.ts +3 -0
- package/dist/tools/cbx-rewards/staking.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/staking.js +74 -0
- package/dist/tools/cbx-rewards/staking.js.map +1 -0
- package/dist/tools/cbx-rewards/tier-admin.d.ts +3 -0
- package/dist/tools/cbx-rewards/tier-admin.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/tier-admin.js +75 -0
- package/dist/tools/cbx-rewards/tier-admin.js.map +1 -0
- package/dist/tools/cbx-rewards.d.ts +40 -0
- package/dist/tools/cbx-rewards.d.ts.map +1 -0
- package/dist/tools/cbx-rewards.js +56 -0
- package/dist/tools/cbx-rewards.js.map +1 -0
- package/dist/tools/cbx-wallet-payments.d.ts +35 -0
- package/dist/tools/cbx-wallet-payments.d.ts.map +1 -0
- package/dist/tools/cbx-wallet-payments.js +156 -0
- package/dist/tools/cbx-wallet-payments.js.map +1 -0
- package/dist/tools/cbx.d.ts +23 -0
- package/dist/tools/cbx.d.ts.map +1 -0
- package/dist/tools/cbx.js +474 -0
- package/dist/tools/cbx.js.map +1 -0
- package/dist/tools/comp_watchlists.d.ts +3 -0
- package/dist/tools/comp_watchlists.d.ts.map +1 -0
- package/dist/tools/comp_watchlists.js +127 -0
- package/dist/tools/comp_watchlists.js.map +1 -0
- package/dist/tools/connected_apps.d.ts +12 -0
- package/dist/tools/connected_apps.d.ts.map +1 -0
- package/dist/tools/connected_apps.js +42 -0
- package/dist/tools/connected_apps.js.map +1 -0
- package/dist/tools/cosm/attestations.d.ts +3 -0
- package/dist/tools/cosm/attestations.d.ts.map +1 -0
- package/dist/tools/cosm/attestations.js +102 -0
- package/dist/tools/cosm/attestations.js.map +1 -0
- package/dist/tools/cosm/auction.d.ts +3 -0
- package/dist/tools/cosm/auction.d.ts.map +1 -0
- package/dist/tools/cosm/auction.js +97 -0
- package/dist/tools/cosm/auction.js.map +1 -0
- package/dist/tools/cosm/cosmetics.d.ts +3 -0
- package/dist/tools/cosm/cosmetics.d.ts.map +1 -0
- package/dist/tools/cosm/cosmetics.js +95 -0
- package/dist/tools/cosm/cosmetics.js.map +1 -0
- package/dist/tools/cosm/designer.d.ts +3 -0
- package/dist/tools/cosm/designer.d.ts.map +1 -0
- package/dist/tools/cosm/designer.js +224 -0
- package/dist/tools/cosm/designer.js.map +1 -0
- package/dist/tools/cosm/fusion-handles.d.ts +3 -0
- package/dist/tools/cosm/fusion-handles.d.ts.map +1 -0
- package/dist/tools/cosm/fusion-handles.js +82 -0
- package/dist/tools/cosm/fusion-handles.js.map +1 -0
- package/dist/tools/cosm/pegs.d.ts +3 -0
- package/dist/tools/cosm/pegs.d.ts.map +1 -0
- package/dist/tools/cosm/pegs.js +112 -0
- package/dist/tools/cosm/pegs.js.map +1 -0
- package/dist/tools/cosm/storefront.d.ts +3 -0
- package/dist/tools/cosm/storefront.d.ts.map +1 -0
- package/dist/tools/cosm/storefront.js +138 -0
- package/dist/tools/cosm/storefront.js.map +1 -0
- package/dist/tools/cosm/supply.d.ts +3 -0
- package/dist/tools/cosm/supply.d.ts.map +1 -0
- package/dist/tools/cosm/supply.js +67 -0
- package/dist/tools/cosm/supply.js.map +1 -0
- package/dist/tools/cosm/withdrawals.d.ts +3 -0
- package/dist/tools/cosm/withdrawals.d.ts.map +1 -0
- package/dist/tools/cosm/withdrawals.js +63 -0
- package/dist/tools/cosm/withdrawals.js.map +1 -0
- package/dist/tools/cosm.d.ts +57 -0
- package/dist/tools/cosm.d.ts.map +1 -0
- package/dist/tools/cosm.js +75 -0
- package/dist/tools/cosm.js.map +1 -0
- package/dist/tools/customers.d.ts +3 -0
- package/dist/tools/customers.d.ts.map +1 -0
- package/dist/tools/customers.js +147 -0
- package/dist/tools/customers.js.map +1 -0
- package/dist/tools/dao.d.ts +53 -0
- package/dist/tools/dao.d.ts.map +1 -0
- package/dist/tools/dao.js +351 -0
- package/dist/tools/dao.js.map +1 -0
- package/dist/tools/devices.d.ts +3 -0
- package/dist/tools/devices.d.ts.map +1 -0
- package/dist/tools/devices.js +46 -0
- package/dist/tools/devices.js.map +1 -0
- package/dist/tools/drops.d.ts +3 -0
- package/dist/tools/drops.d.ts.map +1 -0
- package/dist/tools/drops.js +126 -0
- package/dist/tools/drops.js.map +1 -0
- package/dist/tools/embeds.d.ts +12 -0
- package/dist/tools/embeds.d.ts.map +1 -0
- package/dist/tools/embeds.js +80 -0
- package/dist/tools/embeds.js.map +1 -0
- package/dist/tools/evidence.d.ts +11 -0
- package/dist/tools/evidence.d.ts.map +1 -0
- package/dist/tools/evidence.js +42 -0
- package/dist/tools/evidence.js.map +1 -0
- package/dist/tools/friends-boards-clubs.d.ts +3 -0
- package/dist/tools/friends-boards-clubs.d.ts.map +1 -0
- package/dist/tools/friends-boards-clubs.js +157 -0
- package/dist/tools/friends-boards-clubs.js.map +1 -0
- package/dist/tools/fulfillment.d.ts +3 -0
- package/dist/tools/fulfillment.d.ts.map +1 -0
- package/dist/tools/fulfillment.js +71 -0
- package/dist/tools/fulfillment.js.map +1 -0
- package/dist/tools/games.d.ts +10 -0
- package/dist/tools/games.d.ts.map +1 -0
- package/dist/tools/games.js +49 -0
- package/dist/tools/games.js.map +1 -0
- package/dist/tools/grading.d.ts +3 -0
- package/dist/tools/grading.d.ts.map +1 -0
- package/dist/tools/grading.js +184 -0
- package/dist/tools/grading.js.map +1 -0
- package/dist/tools/homes.d.ts +10 -0
- package/dist/tools/homes.d.ts.map +1 -0
- package/dist/tools/homes.js +62 -0
- package/dist/tools/homes.js.map +1 -0
- package/dist/tools/imports.d.ts +3 -0
- package/dist/tools/imports.d.ts.map +1 -0
- package/dist/tools/imports.js +72 -0
- package/dist/tools/imports.js.map +1 -0
- package/dist/tools/inbox.d.ts +3 -0
- package/dist/tools/inbox.d.ts.map +1 -0
- package/dist/tools/inbox.js +408 -0
- package/dist/tools/inbox.js.map +1 -0
- package/dist/tools/inventory.d.ts +3 -0
- package/dist/tools/inventory.d.ts.map +1 -0
- package/dist/tools/inventory.js +572 -0
- package/dist/tools/inventory.js.map +1 -0
- package/dist/tools/listings/_shared.d.ts +43 -0
- package/dist/tools/listings/_shared.d.ts.map +1 -0
- package/dist/tools/listings/_shared.js +59 -0
- package/dist/tools/listings/_shared.js.map +1 -0
- package/dist/tools/listings/ai-image.d.ts +3 -0
- package/dist/tools/listings/ai-image.d.ts.map +1 -0
- package/dist/tools/listings/ai-image.js +145 -0
- package/dist/tools/listings/ai-image.js.map +1 -0
- package/dist/tools/listings/bulk.d.ts +3 -0
- package/dist/tools/listings/bulk.d.ts.map +1 -0
- package/dist/tools/listings/bulk.js +262 -0
- package/dist/tools/listings/bulk.js.map +1 -0
- package/dist/tools/listings/core.d.ts +3 -0
- package/dist/tools/listings/core.d.ts.map +1 -0
- package/dist/tools/listings/core.js +300 -0
- package/dist/tools/listings/core.js.map +1 -0
- package/dist/tools/listings/discovery.d.ts +3 -0
- package/dist/tools/listings/discovery.d.ts.map +1 -0
- package/dist/tools/listings/discovery.js +153 -0
- package/dist/tools/listings/discovery.js.map +1 -0
- package/dist/tools/listings.d.ts +3 -0
- package/dist/tools/listings.d.ts.map +1 -0
- package/dist/tools/listings.js +26 -0
- package/dist/tools/listings.js.map +1 -0
- package/dist/tools/live-shows.d.ts +3 -0
- package/dist/tools/live-shows.d.ts.map +1 -0
- package/dist/tools/live-shows.js +70 -0
- package/dist/tools/live-shows.js.map +1 -0
- package/dist/tools/magic.d.ts +3 -0
- package/dist/tools/magic.d.ts.map +1 -0
- package/dist/tools/magic.js +104 -0
- package/dist/tools/magic.js.map +1 -0
- package/dist/tools/market.d.ts +14 -0
- package/dist/tools/market.d.ts.map +1 -0
- package/dist/tools/market.js +222 -0
- package/dist/tools/market.js.map +1 -0
- package/dist/tools/mobile.d.ts +3 -0
- package/dist/tools/mobile.d.ts.map +1 -0
- package/dist/tools/mobile.js +61 -0
- package/dist/tools/mobile.js.map +1 -0
- package/dist/tools/neighbourhoods.d.ts +3 -0
- package/dist/tools/neighbourhoods.d.ts.map +1 -0
- package/dist/tools/neighbourhoods.js +30 -0
- package/dist/tools/neighbourhoods.js.map +1 -0
- package/dist/tools/nft-market.d.ts +8 -0
- package/dist/tools/nft-market.d.ts.map +1 -0
- package/dist/tools/nft-market.js +99 -0
- package/dist/tools/nft-market.js.map +1 -0
- package/dist/tools/offers.d.ts +12 -0
- package/dist/tools/offers.d.ts.map +1 -0
- package/dist/tools/offers.js +76 -0
- package/dist/tools/offers.js.map +1 -0
- package/dist/tools/orders/actions.d.ts +4 -0
- package/dist/tools/orders/actions.d.ts.map +1 -0
- package/dist/tools/orders/actions.js +126 -0
- package/dist/tools/orders/actions.js.map +1 -0
- package/dist/tools/orders/bulk.d.ts +4 -0
- package/dist/tools/orders/bulk.d.ts.map +1 -0
- package/dist/tools/orders/bulk.js +145 -0
- package/dist/tools/orders/bulk.js.map +1 -0
- package/dist/tools/orders/fulfillment.d.ts +4 -0
- package/dist/tools/orders/fulfillment.d.ts.map +1 -0
- package/dist/tools/orders/fulfillment.js +240 -0
- package/dist/tools/orders/fulfillment.js.map +1 -0
- package/dist/tools/orders/read.d.ts +4 -0
- package/dist/tools/orders/read.d.ts.map +1 -0
- package/dist/tools/orders/read.js +165 -0
- package/dist/tools/orders/read.js.map +1 -0
- package/dist/tools/orders/whatnot.d.ts +7 -0
- package/dist/tools/orders/whatnot.d.ts.map +1 -0
- package/dist/tools/orders/whatnot.js +96 -0
- package/dist/tools/orders/whatnot.js.map +1 -0
- package/dist/tools/orders.d.ts +25 -0
- package/dist/tools/orders.d.ts.map +1 -0
- package/dist/tools/orders.js +35 -0
- package/dist/tools/orders.js.map +1 -0
- package/dist/tools/passports.d.ts +3 -0
- package/dist/tools/passports.d.ts.map +1 -0
- package/dist/tools/passports.js +66 -0
- package/dist/tools/passports.js.map +1 -0
- package/dist/tools/pat.d.ts +3 -0
- package/dist/tools/pat.d.ts.map +1 -0
- package/dist/tools/pat.js +103 -0
- package/dist/tools/pat.js.map +1 -0
- package/dist/tools/payout.d.ts +3 -0
- package/dist/tools/payout.d.ts.map +1 -0
- package/dist/tools/payout.js +134 -0
- package/dist/tools/payout.js.map +1 -0
- package/dist/tools/policy-presets.d.ts +3 -0
- package/dist/tools/policy-presets.d.ts.map +1 -0
- package/dist/tools/policy-presets.js +146 -0
- package/dist/tools/policy-presets.js.map +1 -0
- package/dist/tools/production.d.ts +8 -0
- package/dist/tools/production.d.ts.map +1 -0
- package/dist/tools/production.js +419 -0
- package/dist/tools/production.js.map +1 -0
- package/dist/tools/reference.d.ts +3 -0
- package/dist/tools/reference.d.ts.map +1 -0
- package/dist/tools/reference.js +138 -0
- package/dist/tools/reference.js.map +1 -0
- package/dist/tools/reprice.d.ts +3 -0
- package/dist/tools/reprice.d.ts.map +1 -0
- package/dist/tools/reprice.js +62 -0
- package/dist/tools/reprice.js.map +1 -0
- package/dist/tools/reputation.d.ts +10 -0
- package/dist/tools/reputation.d.ts.map +1 -0
- package/dist/tools/reputation.js +57 -0
- package/dist/tools/reputation.js.map +1 -0
- package/dist/tools/restock.d.ts +3 -0
- package/dist/tools/restock.d.ts.map +1 -0
- package/dist/tools/restock.js +76 -0
- package/dist/tools/restock.js.map +1 -0
- package/dist/tools/returns.d.ts +3 -0
- package/dist/tools/returns.d.ts.map +1 -0
- package/dist/tools/returns.js +125 -0
- package/dist/tools/returns.js.map +1 -0
- package/dist/tools/sales.d.ts +3 -0
- package/dist/tools/sales.d.ts.map +1 -0
- package/dist/tools/sales.js +52 -0
- package/dist/tools/sales.js.map +1 -0
- package/dist/tools/saved_views.d.ts +3 -0
- package/dist/tools/saved_views.d.ts.map +1 -0
- package/dist/tools/saved_views.js +155 -0
- package/dist/tools/saved_views.js.map +1 -0
- package/dist/tools/scan.d.ts +14 -0
- package/dist/tools/scan.d.ts.map +1 -0
- package/dist/tools/scan.js +85 -0
- package/dist/tools/scan.js.map +1 -0
- package/dist/tools/seller-ops.d.ts +3 -0
- package/dist/tools/seller-ops.d.ts.map +1 -0
- package/dist/tools/seller-ops.js +83 -0
- package/dist/tools/seller-ops.js.map +1 -0
- package/dist/tools/seller-xmarket.d.ts +3 -0
- package/dist/tools/seller-xmarket.d.ts.map +1 -0
- package/dist/tools/seller-xmarket.js +120 -0
- package/dist/tools/seller-xmarket.js.map +1 -0
- package/dist/tools/sourcing.d.ts +3 -0
- package/dist/tools/sourcing.d.ts.map +1 -0
- package/dist/tools/sourcing.js +160 -0
- package/dist/tools/sourcing.js.map +1 -0
- package/dist/tools/spatial-auction.d.ts +3 -0
- package/dist/tools/spatial-auction.d.ts.map +1 -0
- package/dist/tools/spatial-auction.js +162 -0
- package/dist/tools/spatial-auction.js.map +1 -0
- package/dist/tools/spatial-emotes.d.ts +10 -0
- package/dist/tools/spatial-emotes.d.ts.map +1 -0
- package/dist/tools/spatial-emotes.js +40 -0
- package/dist/tools/spatial-emotes.js.map +1 -0
- package/dist/tools/spatial-employee.d.ts +3 -0
- package/dist/tools/spatial-employee.d.ts.map +1 -0
- package/dist/tools/spatial-employee.js +221 -0
- package/dist/tools/spatial-employee.js.map +1 -0
- package/dist/tools/spatial-party.d.ts +10 -0
- package/dist/tools/spatial-party.d.ts.map +1 -0
- package/dist/tools/spatial-party.js +25 -0
- package/dist/tools/spatial-party.js.map +1 -0
- package/dist/tools/spatial-rooms.d.ts +8 -0
- package/dist/tools/spatial-rooms.d.ts.map +1 -0
- package/dist/tools/spatial-rooms.js +177 -0
- package/dist/tools/spatial-rooms.js.map +1 -0
- package/dist/tools/spatial.d.ts +12 -0
- package/dist/tools/spatial.d.ts.map +1 -0
- package/dist/tools/spatial.js +537 -0
- package/dist/tools/spatial.js.map +1 -0
- package/dist/tools/stalls.d.ts +3 -0
- package/dist/tools/stalls.d.ts.map +1 -0
- package/dist/tools/stalls.js +145 -0
- package/dist/tools/stalls.js.map +1 -0
- package/dist/tools/storefront-shipping.d.ts +7 -0
- package/dist/tools/storefront-shipping.d.ts.map +1 -0
- package/dist/tools/storefront-shipping.js +94 -0
- package/dist/tools/storefront-shipping.js.map +1 -0
- package/dist/tools/tax.d.ts +3 -0
- package/dist/tools/tax.d.ts.map +1 -0
- package/dist/tools/tax.js +194 -0
- package/dist/tools/tax.js.map +1 -0
- package/dist/tools/taxonomy.d.ts +3 -0
- package/dist/tools/taxonomy.d.ts.map +1 -0
- package/dist/tools/taxonomy.js +131 -0
- package/dist/tools/taxonomy.js.map +1 -0
- package/dist/tools/team.d.ts +3 -0
- package/dist/tools/team.d.ts.map +1 -0
- package/dist/tools/team.js +152 -0
- package/dist/tools/team.js.map +1 -0
- package/dist/tools/templates.d.ts +10 -0
- package/dist/tools/templates.d.ts.map +1 -0
- package/dist/tools/templates.js +406 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/trade-block.d.ts +3 -0
- package/dist/tools/trade-block.d.ts.map +1 -0
- package/dist/tools/trade-block.js +308 -0
- package/dist/tools/trade-block.js.map +1 -0
- package/dist/tools/types.d.ts +43 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +24 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/units.d.ts +9 -0
- package/dist/tools/units.d.ts.map +1 -0
- package/dist/tools/units.js +156 -0
- package/dist/tools/units.js.map +1 -0
- package/dist/tools/variation_groups.d.ts +17 -0
- package/dist/tools/variation_groups.d.ts.map +1 -0
- package/dist/tools/variation_groups.js +92 -0
- package/dist/tools/variation_groups.js.map +1 -0
- package/dist/tools/vault-markets-adl.d.ts +11 -0
- package/dist/tools/vault-markets-adl.d.ts.map +1 -0
- package/dist/tools/vault-markets-adl.js +46 -0
- package/dist/tools/vault-markets-adl.js.map +1 -0
- package/dist/tools/vault-markets-agent.d.ts +3 -0
- package/dist/tools/vault-markets-agent.d.ts.map +1 -0
- package/dist/tools/vault-markets-agent.js +82 -0
- package/dist/tools/vault-markets-agent.js.map +1 -0
- package/dist/tools/vault-markets-alerts-hub.d.ts +3 -0
- package/dist/tools/vault-markets-alerts-hub.d.ts.map +1 -0
- package/dist/tools/vault-markets-alerts-hub.js +75 -0
- package/dist/tools/vault-markets-alerts-hub.js.map +1 -0
- package/dist/tools/vault-markets-analytics.d.ts +3 -0
- package/dist/tools/vault-markets-analytics.d.ts.map +1 -0
- package/dist/tools/vault-markets-analytics.js +192 -0
- package/dist/tools/vault-markets-analytics.js.map +1 -0
- package/dist/tools/vault-markets-bullion.d.ts +3 -0
- package/dist/tools/vault-markets-bullion.d.ts.map +1 -0
- package/dist/tools/vault-markets-bullion.js +172 -0
- package/dist/tools/vault-markets-bullion.js.map +1 -0
- package/dist/tools/vault-markets-channels.d.ts +10 -0
- package/dist/tools/vault-markets-channels.d.ts.map +1 -0
- package/dist/tools/vault-markets-channels.js +93 -0
- package/dist/tools/vault-markets-channels.js.map +1 -0
- package/dist/tools/vault-markets-credit.d.ts +3 -0
- package/dist/tools/vault-markets-credit.d.ts.map +1 -0
- package/dist/tools/vault-markets-credit.js +164 -0
- package/dist/tools/vault-markets-credit.js.map +1 -0
- package/dist/tools/vault-markets-curve-pools.d.ts +3 -0
- package/dist/tools/vault-markets-curve-pools.d.ts.map +1 -0
- package/dist/tools/vault-markets-curve-pools.js +116 -0
- package/dist/tools/vault-markets-curve-pools.js.map +1 -0
- package/dist/tools/vault-markets-floor.d.ts +8 -0
- package/dist/tools/vault-markets-floor.d.ts.map +1 -0
- package/dist/tools/vault-markets-floor.js +17 -0
- package/dist/tools/vault-markets-floor.js.map +1 -0
- package/dist/tools/vault-markets-follows.d.ts +3 -0
- package/dist/tools/vault-markets-follows.d.ts.map +1 -0
- package/dist/tools/vault-markets-follows.js +134 -0
- package/dist/tools/vault-markets-follows.js.map +1 -0
- package/dist/tools/vault-markets-grade-to-vault.d.ts +3 -0
- package/dist/tools/vault-markets-grade-to-vault.d.ts.map +1 -0
- package/dist/tools/vault-markets-grade-to-vault.js +178 -0
- package/dist/tools/vault-markets-grade-to-vault.js.map +1 -0
- package/dist/tools/vault-markets-grading.d.ts +10 -0
- package/dist/tools/vault-markets-grading.d.ts.map +1 -0
- package/dist/tools/vault-markets-grading.js +55 -0
- package/dist/tools/vault-markets-grading.js.map +1 -0
- package/dist/tools/vault-markets-hall.d.ts +9 -0
- package/dist/tools/vault-markets-hall.d.ts.map +1 -0
- package/dist/tools/vault-markets-hall.js +70 -0
- package/dist/tools/vault-markets-hall.js.map +1 -0
- package/dist/tools/vault-markets-health.d.ts +10 -0
- package/dist/tools/vault-markets-health.d.ts.map +1 -0
- package/dist/tools/vault-markets-health.js +34 -0
- package/dist/tools/vault-markets-health.js.map +1 -0
- package/dist/tools/vault-markets-home.d.ts +9 -0
- package/dist/tools/vault-markets-home.d.ts.map +1 -0
- package/dist/tools/vault-markets-home.js +58 -0
- package/dist/tools/vault-markets-home.js.map +1 -0
- package/dist/tools/vault-markets-index.d.ts +3 -0
- package/dist/tools/vault-markets-index.d.ts.map +1 -0
- package/dist/tools/vault-markets-index.js +135 -0
- package/dist/tools/vault-markets-index.js.map +1 -0
- package/dist/tools/vault-markets-inst.d.ts +3 -0
- package/dist/tools/vault-markets-inst.d.ts.map +1 -0
- package/dist/tools/vault-markets-inst.js +390 -0
- package/dist/tools/vault-markets-inst.js.map +1 -0
- package/dist/tools/vault-markets-joint-tod.d.ts +3 -0
- package/dist/tools/vault-markets-joint-tod.d.ts.map +1 -0
- package/dist/tools/vault-markets-joint-tod.js +300 -0
- package/dist/tools/vault-markets-joint-tod.js.map +1 -0
- package/dist/tools/vault-markets-liquidity.d.ts +3 -0
- package/dist/tools/vault-markets-liquidity.d.ts.map +1 -0
- package/dist/tools/vault-markets-liquidity.js +408 -0
- package/dist/tools/vault-markets-liquidity.js.map +1 -0
- package/dist/tools/vault-markets-marks.d.ts +8 -0
- package/dist/tools/vault-markets-marks.d.ts.map +1 -0
- package/dist/tools/vault-markets-marks.js +25 -0
- package/dist/tools/vault-markets-marks.js.map +1 -0
- package/dist/tools/vault-markets-missions.d.ts +3 -0
- package/dist/tools/vault-markets-missions.d.ts.map +1 -0
- package/dist/tools/vault-markets-missions.js +36 -0
- package/dist/tools/vault-markets-missions.js.map +1 -0
- package/dist/tools/vault-markets-mm.d.ts +3 -0
- package/dist/tools/vault-markets-mm.d.ts.map +1 -0
- package/dist/tools/vault-markets-mm.js +282 -0
- package/dist/tools/vault-markets-mm.js.map +1 -0
- package/dist/tools/vault-markets-mode.d.ts +11 -0
- package/dist/tools/vault-markets-mode.d.ts.map +1 -0
- package/dist/tools/vault-markets-mode.js +56 -0
- package/dist/tools/vault-markets-mode.js.map +1 -0
- package/dist/tools/vault-markets-ops.d.ts +3 -0
- package/dist/tools/vault-markets-ops.d.ts.map +1 -0
- package/dist/tools/vault-markets-ops.js +208 -0
- package/dist/tools/vault-markets-ops.js.map +1 -0
- package/dist/tools/vault-markets-oracle-dcm.d.ts +10 -0
- package/dist/tools/vault-markets-oracle-dcm.d.ts.map +1 -0
- package/dist/tools/vault-markets-oracle-dcm.js +153 -0
- package/dist/tools/vault-markets-oracle-dcm.js.map +1 -0
- package/dist/tools/vault-markets-p2p.d.ts +3 -0
- package/dist/tools/vault-markets-p2p.d.ts.map +1 -0
- package/dist/tools/vault-markets-p2p.js +177 -0
- package/dist/tools/vault-markets-p2p.js.map +1 -0
- package/dist/tools/vault-markets-paper.d.ts +3 -0
- package/dist/tools/vault-markets-paper.d.ts.map +1 -0
- package/dist/tools/vault-markets-paper.js +126 -0
- package/dist/tools/vault-markets-paper.js.map +1 -0
- package/dist/tools/vault-markets-pm.d.ts +10 -0
- package/dist/tools/vault-markets-pm.d.ts.map +1 -0
- package/dist/tools/vault-markets-pm.js +74 -0
- package/dist/tools/vault-markets-pm.js.map +1 -0
- package/dist/tools/vault-markets-pop-reports.d.ts +8 -0
- package/dist/tools/vault-markets-pop-reports.d.ts.map +1 -0
- package/dist/tools/vault-markets-pop-reports.js +31 -0
- package/dist/tools/vault-markets-pop-reports.js.map +1 -0
- package/dist/tools/vault-markets-price-widgets.d.ts +3 -0
- package/dist/tools/vault-markets-price-widgets.d.ts.map +1 -0
- package/dist/tools/vault-markets-price-widgets.js +89 -0
- package/dist/tools/vault-markets-price-widgets.js.map +1 -0
- package/dist/tools/vault-markets-pro.d.ts +3 -0
- package/dist/tools/vault-markets-pro.d.ts.map +1 -0
- package/dist/tools/vault-markets-pro.js +276 -0
- package/dist/tools/vault-markets-pro.js.map +1 -0
- package/dist/tools/vault-markets-receipt-tokens.d.ts +3 -0
- package/dist/tools/vault-markets-receipt-tokens.d.ts.map +1 -0
- package/dist/tools/vault-markets-receipt-tokens.js +81 -0
- package/dist/tools/vault-markets-receipt-tokens.js.map +1 -0
- package/dist/tools/vault-markets-reports.d.ts +10 -0
- package/dist/tools/vault-markets-reports.d.ts.map +1 -0
- package/dist/tools/vault-markets-reports.js +47 -0
- package/dist/tools/vault-markets-reports.js.map +1 -0
- package/dist/tools/vault-markets-set-goals.d.ts +3 -0
- package/dist/tools/vault-markets-set-goals.d.ts.map +1 -0
- package/dist/tools/vault-markets-set-goals.js +150 -0
- package/dist/tools/vault-markets-set-goals.js.map +1 -0
- package/dist/tools/vault-markets-social.d.ts +3 -0
- package/dist/tools/vault-markets-social.d.ts.map +1 -0
- package/dist/tools/vault-markets-social.js +212 -0
- package/dist/tools/vault-markets-social.js.map +1 -0
- package/dist/tools/vault-markets-stats.d.ts +3 -0
- package/dist/tools/vault-markets-stats.d.ts.map +1 -0
- package/dist/tools/vault-markets-stats.js +83 -0
- package/dist/tools/vault-markets-stats.js.map +1 -0
- package/dist/tools/vault-markets-supply.d.ts +3 -0
- package/dist/tools/vault-markets-supply.d.ts.map +1 -0
- package/dist/tools/vault-markets-supply.js +183 -0
- package/dist/tools/vault-markets-supply.js.map +1 -0
- package/dist/tools/vault-markets-tax-loss.d.ts +9 -0
- package/dist/tools/vault-markets-tax-loss.d.ts.map +1 -0
- package/dist/tools/vault-markets-tax-loss.js +16 -0
- package/dist/tools/vault-markets-tax-loss.js.map +1 -0
- package/dist/tools/vault-markets-title.d.ts +3 -0
- package/dist/tools/vault-markets-title.d.ts.map +1 -0
- package/dist/tools/vault-markets-title.js +158 -0
- package/dist/tools/vault-markets-title.js.map +1 -0
- package/dist/tools/vault-markets-unit-story.d.ts +10 -0
- package/dist/tools/vault-markets-unit-story.d.ts.map +1 -0
- package/dist/tools/vault-markets-unit-story.js +23 -0
- package/dist/tools/vault-markets-unit-story.js.map +1 -0
- package/dist/tools/vault-markets-valuation.d.ts +3 -0
- package/dist/tools/vault-markets-valuation.d.ts.map +1 -0
- package/dist/tools/vault-markets-valuation.js +91 -0
- package/dist/tools/vault-markets-valuation.js.map +1 -0
- package/dist/tools/vault-markets-vault-suggest.d.ts +10 -0
- package/dist/tools/vault-markets-vault-suggest.d.ts.map +1 -0
- package/dist/tools/vault-markets-vault-suggest.js +38 -0
- package/dist/tools/vault-markets-vault-suggest.js.map +1 -0
- package/dist/tools/vault-markets-widget.d.ts +3 -0
- package/dist/tools/vault-markets-widget.d.ts.map +1 -0
- package/dist/tools/vault-markets-widget.js +64 -0
- package/dist/tools/vault-markets-widget.js.map +1 -0
- package/dist/tools/vault-markets-world.d.ts +12 -0
- package/dist/tools/vault-markets-world.d.ts.map +1 -0
- package/dist/tools/vault-markets-world.js +176 -0
- package/dist/tools/vault-markets-world.js.map +1 -0
- package/dist/tools/vault-markets.d.ts +3 -0
- package/dist/tools/vault-markets.d.ts.map +1 -0
- package/dist/tools/vault-markets.js +305 -0
- package/dist/tools/vault-markets.js.map +1 -0
- package/dist/tools/web3-book.d.ts +8 -0
- package/dist/tools/web3-book.d.ts.map +1 -0
- package/dist/tools/web3-book.js +494 -0
- package/dist/tools/web3-book.js.map +1 -0
- package/dist/tools/web3-crosslist.d.ts +8 -0
- package/dist/tools/web3-crosslist.d.ts.map +1 -0
- package/dist/tools/web3-crosslist.js +307 -0
- package/dist/tools/web3-crosslist.js.map +1 -0
- package/dist/tools/web3-launch-tools.d.ts +3 -0
- package/dist/tools/web3-launch-tools.d.ts.map +1 -0
- package/dist/tools/web3-launch-tools.js +151 -0
- package/dist/tools/web3-launch-tools.js.map +1 -0
- package/dist/tools/web3-launchpad.d.ts +3 -0
- package/dist/tools/web3-launchpad.d.ts.map +1 -0
- package/dist/tools/web3-launchpad.js +139 -0
- package/dist/tools/web3-launchpad.js.map +1 -0
- package/dist/tools/web3-world-live.d.ts +3 -0
- package/dist/tools/web3-world-live.d.ts.map +1 -0
- package/dist/tools/web3-world-live.js +95 -0
- package/dist/tools/web3-world-live.js.map +1 -0
- package/dist/tools/web3.d.ts +9 -0
- package/dist/tools/web3.d.ts.map +1 -0
- package/dist/tools/web3.js +291 -0
- package/dist/tools/web3.js.map +1 -0
- package/dist/tools/webhooks.d.ts +3 -0
- package/dist/tools/webhooks.d.ts.map +1 -0
- package/dist/tools/webhooks.js +83 -0
- package/dist/tools/webhooks.js.map +1 -0
- package/dist/tools/wholesale.d.ts +3 -0
- package/dist/tools/wholesale.d.ts.map +1 -0
- package/dist/tools/wholesale.js +63 -0
- package/dist/tools/wholesale.js.map +1 -0
- package/dist/tools/world-account.d.ts +3 -0
- package/dist/tools/world-account.d.ts.map +1 -0
- package/dist/tools/world-account.js +133 -0
- package/dist/tools/world-account.js.map +1 -0
- package/dist/tools/world-arcade.d.ts +3 -0
- package/dist/tools/world-arcade.d.ts.map +1 -0
- package/dist/tools/world-arcade.js +20 -0
- package/dist/tools/world-arcade.js.map +1 -0
- package/dist/tools/world-aurora.d.ts +7 -0
- package/dist/tools/world-aurora.d.ts.map +1 -0
- package/dist/tools/world-aurora.js +16 -0
- package/dist/tools/world-aurora.js.map +1 -0
- package/dist/tools/world-capabilities.d.ts +3 -0
- package/dist/tools/world-capabilities.d.ts.map +1 -0
- package/dist/tools/world-capabilities.js +105 -0
- package/dist/tools/world-capabilities.js.map +1 -0
- package/dist/tools/world-chests.d.ts +8 -0
- package/dist/tools/world-chests.d.ts.map +1 -0
- package/dist/tools/world-chests.js +17 -0
- package/dist/tools/world-chests.js.map +1 -0
- package/dist/tools/world-contests.d.ts +3 -0
- package/dist/tools/world-contests.d.ts.map +1 -0
- package/dist/tools/world-contests.js +55 -0
- package/dist/tools/world-contests.js.map +1 -0
- package/dist/tools/world-conventions.d.ts +3 -0
- package/dist/tools/world-conventions.d.ts.map +1 -0
- package/dist/tools/world-conventions.js +122 -0
- package/dist/tools/world-conventions.js.map +1 -0
- package/dist/tools/world-creator.d.ts +3 -0
- package/dist/tools/world-creator.d.ts.map +1 -0
- package/dist/tools/world-creator.js +162 -0
- package/dist/tools/world-creator.js.map +1 -0
- package/dist/tools/world-fireflies.d.ts +10 -0
- package/dist/tools/world-fireflies.d.ts.map +1 -0
- package/dist/tools/world-fireflies.js +19 -0
- package/dist/tools/world-fireflies.js.map +1 -0
- package/dist/tools/world-games.d.ts +3 -0
- package/dist/tools/world-games.d.ts.map +1 -0
- package/dist/tools/world-games.js +151 -0
- package/dist/tools/world-games.js.map +1 -0
- package/dist/tools/world-grails.d.ts +7 -0
- package/dist/tools/world-grails.d.ts.map +1 -0
- package/dist/tools/world-grails.js +28 -0
- package/dist/tools/world-grails.js.map +1 -0
- package/dist/tools/world-hall.d.ts +9 -0
- package/dist/tools/world-hall.d.ts.map +1 -0
- package/dist/tools/world-hall.js +51 -0
- package/dist/tools/world-hall.js.map +1 -0
- package/dist/tools/world-homes.d.ts +7 -0
- package/dist/tools/world-homes.d.ts.map +1 -0
- package/dist/tools/world-homes.js +83 -0
- package/dist/tools/world-homes.js.map +1 -0
- package/dist/tools/world-hunt.d.ts +3 -0
- package/dist/tools/world-hunt.d.ts.map +1 -0
- package/dist/tools/world-hunt.js +35 -0
- package/dist/tools/world-hunt.js.map +1 -0
- package/dist/tools/world-kites.d.ts +10 -0
- package/dist/tools/world-kites.d.ts.map +1 -0
- package/dist/tools/world-kites.js +19 -0
- package/dist/tools/world-kites.js.map +1 -0
- package/dist/tools/world-lanterns.d.ts +10 -0
- package/dist/tools/world-lanterns.d.ts.map +1 -0
- package/dist/tools/world-lanterns.js +19 -0
- package/dist/tools/world-lanterns.js.map +1 -0
- package/dist/tools/world-live.d.ts +10 -0
- package/dist/tools/world-live.d.ts.map +1 -0
- package/dist/tools/world-live.js +73 -0
- package/dist/tools/world-live.js.map +1 -0
- package/dist/tools/world-parties.d.ts +7 -0
- package/dist/tools/world-parties.d.ts.map +1 -0
- package/dist/tools/world-parties.js +113 -0
- package/dist/tools/world-parties.js.map +1 -0
- package/dist/tools/world-places.d.ts +8 -0
- package/dist/tools/world-places.d.ts.map +1 -0
- package/dist/tools/world-places.js +126 -0
- package/dist/tools/world-places.js.map +1 -0
- package/dist/tools/world-provenance.d.ts +4 -0
- package/dist/tools/world-provenance.d.ts.map +1 -0
- package/dist/tools/world-provenance.js +16 -0
- package/dist/tools/world-provenance.js.map +1 -0
- package/dist/tools/world-spaces.d.ts +7 -0
- package/dist/tools/world-spaces.d.ts.map +1 -0
- package/dist/tools/world-spaces.js +149 -0
- package/dist/tools/world-spaces.js.map +1 -0
- package/dist/tools/world-streets.d.ts +8 -0
- package/dist/tools/world-streets.d.ts.map +1 -0
- package/dist/tools/world-streets.js +162 -0
- package/dist/tools/world-streets.js.map +1 -0
- package/dist/tools/world-trials.d.ts +3 -0
- package/dist/tools/world-trials.d.ts.map +1 -0
- package/dist/tools/world-trials.js +35 -0
- package/dist/tools/world-trials.js.map +1 -0
- package/dist/tools/world-wishes.d.ts +9 -0
- package/dist/tools/world-wishes.d.ts.map +1 -0
- package/dist/tools/world-wishes.js +18 -0
- package/dist/tools/world-wishes.js.map +1 -0
- package/dist/tools/world.d.ts +3 -0
- package/dist/tools/world.d.ts.map +1 -0
- package/dist/tools/world.js +554 -0
- package/dist/tools/world.js.map +1 -0
- package/package.json +66 -3
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import { apiDelete, apiGet, apiPost, apiPut } from '../api.js';
|
|
2
|
+
/**
|
|
3
|
+
* The rest of the cross-marketplace buyer surface — purchase extras (subscribe
|
|
4
|
+
* offer, footprint, buybacks, splits, return quotes and tracking, owner
|
|
5
|
+
* stories, digital downloads), saved fit garments, card-break spots, a
|
|
6
|
+
* shop-together room, parties / price guide / creators, and the market's
|
|
7
|
+
* watches and fixed-price bids.
|
|
8
|
+
*
|
|
9
|
+
* Needs a BUYER token (`crossly_oat_…`, scoped `buyer:*`). A market bid
|
|
10
|
+
* SPENDS MONEY when it fills: buyer:checkout:write, the key's spending
|
|
11
|
+
* controls, and an idempotencyKey.
|
|
12
|
+
*
|
|
13
|
+
* Tools whose actions use DIFFERENT HTTP methods dispatch through functions
|
|
14
|
+
* declared above the array, so the v1-parity scanner cannot cross them.
|
|
15
|
+
*/
|
|
16
|
+
const enc = encodeURIComponent;
|
|
17
|
+
const need = (v, what) => {
|
|
18
|
+
if (typeof v !== 'string' || !v)
|
|
19
|
+
throw new Error(`${what} is required for this action`);
|
|
20
|
+
return enc(v);
|
|
21
|
+
};
|
|
22
|
+
function purchaseExtras(args) {
|
|
23
|
+
const a = args;
|
|
24
|
+
switch (a.action) {
|
|
25
|
+
case 'subscribe_offer': return apiGet(`/v1/buyer/listings/${need(a.slug, "slug")}/subscribe-offer`);
|
|
26
|
+
case 'impact': return apiGet('/v1/buyer/impact');
|
|
27
|
+
case 'buybacks': return apiGet('/v1/buyer/buybacks');
|
|
28
|
+
case 'splits': return apiGet('/v1/buyer/splits');
|
|
29
|
+
case 'cancel_split': return apiPost(`/v1/buyer/splits/${need(a.id, "id")}/cancel`, {});
|
|
30
|
+
case 'return_quote': return apiGet(`/v1/buyer/purchases/${need(a.id, "id")}/return`);
|
|
31
|
+
case 'return_tracking': return apiPost(`/v1/buyer/returns/${need(a.id, "id")}/tracking`, { carrier: a.carrier, trackingCode: a.trackingCode });
|
|
32
|
+
case 'cancel_return': return apiPost(`/v1/buyer/returns/${need(a.id, "id")}/cancel`, {});
|
|
33
|
+
case 'story': return apiGet(`/v1/buyer/purchases/${need(a.id, "id")}/story`);
|
|
34
|
+
case 'set_story': return apiPut(`/v1/buyer/purchases/${need(a.id, "id")}/story`, { story: a.story ?? '' });
|
|
35
|
+
default: return apiPost(`/v1/buyer/purchases/${need(a.id, "id")}/download`, {});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function fit(args) {
|
|
39
|
+
const a = args;
|
|
40
|
+
if (a.action === 'vocabulary')
|
|
41
|
+
return apiGet('/v1/buyer/fit/vocabulary');
|
|
42
|
+
if (a.action === 'list')
|
|
43
|
+
return apiGet('/v1/buyer/fit/refs');
|
|
44
|
+
if (a.action === 'add')
|
|
45
|
+
return apiPost('/v1/buyer/fit/refs', { label: a.label, measurements: a.measurements ?? {} });
|
|
46
|
+
return apiDelete(`/v1/buyer/fit/refs/${need(a.id, "id")}`);
|
|
47
|
+
}
|
|
48
|
+
function breaks(args) {
|
|
49
|
+
const a = args;
|
|
50
|
+
if (a.action === 'mine')
|
|
51
|
+
return apiGet('/v1/buyer/breaks');
|
|
52
|
+
if (a.action === 'get')
|
|
53
|
+
return apiGet(`/v1/buyer/breaks/${need(a.id, "id")}`);
|
|
54
|
+
const id = need(a.id, "id");
|
|
55
|
+
const spot = need(a.spotId, "spotId");
|
|
56
|
+
if (a.action === 'hold')
|
|
57
|
+
return apiPost(`/v1/buyer/breaks/${id}/spots/${spot}/hold`, {});
|
|
58
|
+
return apiDelete(`/v1/buyer/breaks/${id}/spots/${spot}/hold`);
|
|
59
|
+
}
|
|
60
|
+
function room(args) {
|
|
61
|
+
const a = args;
|
|
62
|
+
const c = need(a.code, "code");
|
|
63
|
+
if (a.action === 'get')
|
|
64
|
+
return apiGet(`/v1/buyer/together/${c}`);
|
|
65
|
+
if (a.action === 'join')
|
|
66
|
+
return apiPost(`/v1/buyer/together/${c}/join`, {});
|
|
67
|
+
if (a.action === 'leave')
|
|
68
|
+
return apiPost(`/v1/buyer/together/${c}/leave`, {});
|
|
69
|
+
if (a.action === 'remove_item')
|
|
70
|
+
return apiDelete(`/v1/buyer/together/${c}/items/${need(a.itemId, "itemId")}`);
|
|
71
|
+
if (a.action === 'vote')
|
|
72
|
+
return apiPost(`/v1/buyer/together/${c}/items/${need(a.itemId, "itemId")}/vote`, { vote: a.vote ?? 0 });
|
|
73
|
+
return apiPost(`/v1/buyer/together/${c}/messages`, { body: a.body ?? '' });
|
|
74
|
+
}
|
|
75
|
+
function discoverMore(args) {
|
|
76
|
+
const a = args;
|
|
77
|
+
if (a.what === 'parties')
|
|
78
|
+
return apiGet('/v1/buyer/parties');
|
|
79
|
+
if (a.what === 'party')
|
|
80
|
+
return apiGet(`/v1/buyer/parties/${need(a.slug, "slug")}`);
|
|
81
|
+
if (a.what === 'party_listings')
|
|
82
|
+
return apiGet(`/v1/buyer/parties/${need(a.slug, "slug")}/listings`, { limit: a.limit });
|
|
83
|
+
if (a.what === 'price_guide')
|
|
84
|
+
return apiGet('/v1/buyer/price-guide', a.filters ?? {});
|
|
85
|
+
if (a.what === 'stream_auction')
|
|
86
|
+
return apiGet(`/v1/buyer/live-streams/${need(a.streamId, "streamId")}/auction`);
|
|
87
|
+
return apiGet(`/v1/buyer/creators/${need(a.handle, "handle")}`);
|
|
88
|
+
}
|
|
89
|
+
function delivery(args) {
|
|
90
|
+
const a = args;
|
|
91
|
+
if (a.what === 'pickup_points')
|
|
92
|
+
return apiGet('/v1/buyer/pickup-points', { zip: a.zip, line1: a.line1, city: a.city, state: a.state, country: a.country });
|
|
93
|
+
if (a.what === 'purchase')
|
|
94
|
+
return apiGet(`/v1/buyer/purchases/${need(a.purchaseId, "purchaseId")}/delivery`);
|
|
95
|
+
return apiGet('/v1/buyer/consolidations');
|
|
96
|
+
}
|
|
97
|
+
function market(args) {
|
|
98
|
+
const a = args;
|
|
99
|
+
if (a.action === 'watches')
|
|
100
|
+
return apiGet('/v1/buyer/market/watches');
|
|
101
|
+
if (a.action === 'watch')
|
|
102
|
+
return apiPost('/v1/buyer/market/watches', { variantId: a.variantId, condition: a.condition, thresholdCents: a.thresholdCents ?? null });
|
|
103
|
+
if (a.action === 'unwatch')
|
|
104
|
+
return apiDelete(`/v1/buyer/market/watches/${need(a.id, "id")}`);
|
|
105
|
+
if (a.action === 'bids')
|
|
106
|
+
return apiGet('/v1/buyer/market/bids');
|
|
107
|
+
if (a.action === 'cancel_bid')
|
|
108
|
+
return apiDelete(`/v1/buyer/market/bids/${need(a.id, "id")}`);
|
|
109
|
+
const bid = { variantId: a.variantId, priceCents: a.priceCents, paymentMethodId: a.paymentMethodId, condition: a.condition, expiresInDays: a.expiresInDays, deliverTo: a.deliverTo, fastShip: a.fastShip, gradeWith: a.gradeWith };
|
|
110
|
+
return apiPost('/v1/buyer/market/bids', bid, a.idempotencyKey);
|
|
111
|
+
}
|
|
112
|
+
function vault(args) {
|
|
113
|
+
const { action, id, priceCents, expiresInDays, speed, variantId, condition, idempotencyKey } = args;
|
|
114
|
+
if (action === 'items')
|
|
115
|
+
return apiGet('/v1/buyer/vault');
|
|
116
|
+
if (action === 'purchase_options')
|
|
117
|
+
return apiGet('/v1/buyer/market/purchase-options', { variantId, condition });
|
|
118
|
+
if (action === 'sell')
|
|
119
|
+
return apiPost(`/v1/buyer/vault/${need(id, "id")}/list`, { priceCents, ...(expiresInDays ? { expiresInDays } : {}) });
|
|
120
|
+
if (action === 'unlist')
|
|
121
|
+
return apiPost(`/v1/buyer/vault/${need(id, "id")}/unlist`, {});
|
|
122
|
+
return apiPost(`/v1/buyer/vault/${need(id, "id")}/withdraw`, { speed: speed ?? 'standard' }, idempotencyKey);
|
|
123
|
+
}
|
|
124
|
+
export const buyerXmarketExtraTools = [
|
|
125
|
+
{
|
|
126
|
+
name: 'purchase_extras',
|
|
127
|
+
description: 'After-purchase extras. subscribe_offer (slug): the listing\'s subscribe & save terms. impact: footprint your secondhand buys avoided. '
|
|
128
|
+
+ 'buybacks, splits: lists. cancel_split (id). return_quote (id = purchase): refund per reason and deadline. return_tracking / cancel_return '
|
|
129
|
+
+ '(id = return). story / set_story (id = purchase): your owner story, passed to the next owner. download (id = purchase): a 10-minute file '
|
|
130
|
+
+ 'link, uses one download. Reads need buyer:orders:read; changes buyer:orders:write (cancel_split: buyer:checkout:write).',
|
|
131
|
+
inputSchema: {
|
|
132
|
+
type: 'object',
|
|
133
|
+
properties: {
|
|
134
|
+
action: { type: 'string', enum: ['subscribe_offer', 'impact', 'buybacks', 'splits', 'cancel_split', 'return_quote', 'return_tracking', 'cancel_return', 'story', 'set_story', 'download'], description: "subscribe_offer = a listing's subscribe & save terms (slug); impact = your avoided footprint; buybacks / splits = your lists; cancel_split = cancel a split (id); return_quote = refund per reason + deadline (id = purchase); return_tracking = add tracking to a return (id = return); cancel_return (id = return); story / set_story = read / write your owner story (id = purchase); download = one-use 10-minute file link (id = purchase)." },
|
|
135
|
+
id: { type: 'string', description: 'The purchase id (return_quote, story, set_story, download), the return id (return_tracking, cancel_return) or the split id (cancel_split).' },
|
|
136
|
+
slug: { type: 'string', description: 'subscribe_offer: the listing slug.' },
|
|
137
|
+
story: { type: 'string', description: 'set_story: up to 280 characters.' },
|
|
138
|
+
carrier: { type: 'string', description: 'return_tracking: the carrier you shipped the return with (e.g. USPS, UPS), 2-40 characters.' },
|
|
139
|
+
trackingCode: { type: 'string', description: 'return_tracking: the tracking number, 6-60 characters.' },
|
|
140
|
+
},
|
|
141
|
+
required: ['action'],
|
|
142
|
+
additionalProperties: false,
|
|
143
|
+
},
|
|
144
|
+
handler: (args) => purchaseExtras(args),
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: 'fit_garments',
|
|
148
|
+
description: 'Reference garments for fit: vocabulary (garment kinds + measurements), list, add (label + flat measurements in inches), remove (id). buyer:activity:*.',
|
|
149
|
+
inputSchema: {
|
|
150
|
+
type: 'object',
|
|
151
|
+
properties: {
|
|
152
|
+
action: { type: 'string', enum: ['vocabulary', 'list', 'add', 'remove'], description: 'vocabulary = garment kinds and their measurement keys; list = your saved garments; add = save one (label, measurements); remove = delete one (id).' },
|
|
153
|
+
id: { type: 'string', description: 'remove: the saved garment id (from list).' },
|
|
154
|
+
label: { type: 'string', description: 'add: a name for the garment ("my favourite jeans"), 1-80 characters.' },
|
|
155
|
+
measurements: { type: 'object', description: 'kind plus measurement keys from vocabulary, in inches.' },
|
|
156
|
+
},
|
|
157
|
+
required: ['action'],
|
|
158
|
+
additionalProperties: false,
|
|
159
|
+
},
|
|
160
|
+
handler: (args) => fit(args),
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
name: 'card_breaks',
|
|
164
|
+
description: 'Card breaks: mine (spots you hold or bought), get (a break\'s board), hold / release a pick-your-spot spot (then buy it through checkout before the hold lapses). buyer:orders:read / buyer:cart:write.',
|
|
165
|
+
inputSchema: {
|
|
166
|
+
type: 'object',
|
|
167
|
+
properties: {
|
|
168
|
+
action: { type: 'string', enum: ['mine', 'get', 'hold', 'release'], description: "mine = spots you hold or bought; get = one break's board (id); hold = reserve a pick-your-spot spot (id, spotId); release = let a held spot go (id, spotId)." },
|
|
169
|
+
id: { type: 'string', description: 'get / hold / release: the break id.' },
|
|
170
|
+
spotId: { type: 'string', description: 'hold / release: the spot id from the break board.' },
|
|
171
|
+
},
|
|
172
|
+
required: ['action'],
|
|
173
|
+
additionalProperties: false,
|
|
174
|
+
},
|
|
175
|
+
handler: (args) => breaks(args),
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
name: 'together_room',
|
|
179
|
+
description: 'One shop-together room by code: get (board, votes, chat), join, leave, remove_item, vote (-1 / 0 / 1 on an item), say (chat). buyer:activity:*.',
|
|
180
|
+
inputSchema: {
|
|
181
|
+
type: 'object',
|
|
182
|
+
properties: {
|
|
183
|
+
action: { type: 'string', enum: ['get', 'join', 'leave', 'remove_item', 'vote', 'say'], description: 'get = board, votes and chat; join / leave the room; remove_item = take an item you added off the board (itemId); vote = vote on an item (itemId, vote); say = post to the chat (body).' },
|
|
184
|
+
code: { type: 'string', description: 'The room code.' },
|
|
185
|
+
itemId: { type: 'string', description: 'remove_item / vote: the board item id (from get).' },
|
|
186
|
+
vote: { type: 'number', enum: [-1, 0, 1], description: 'vote: 1 = up, -1 = down, 0 = clear your vote.' },
|
|
187
|
+
body: { type: 'string', description: 'say: the chat message text.' },
|
|
188
|
+
},
|
|
189
|
+
required: ['action', 'code'],
|
|
190
|
+
additionalProperties: false,
|
|
191
|
+
},
|
|
192
|
+
handler: (args) => room(args),
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
name: 'discover_more',
|
|
196
|
+
description: 'parties, party (slug), party_listings (slug), price_guide (filters: q, brand, category, condition, size … — what matching items SOLD for), creator (handle), stream_auction (streamId: the auction live now — bid on its slug with the auction bid tool). buyer:catalog:read; stream_auction buyer:auctions:read.',
|
|
197
|
+
inputSchema: {
|
|
198
|
+
type: 'object',
|
|
199
|
+
properties: {
|
|
200
|
+
what: { type: 'string', enum: ['parties', 'party', 'party_listings', 'price_guide', 'creator', 'stream_auction'], description: 'parties = shopping parties; party = one party (slug); party_listings = listings shared to it, featured first (slug); price_guide = what matching items sold for (filters); creator = a creator storefront (handle); stream_auction = the auction live on a stream now (streamId).' },
|
|
201
|
+
streamId: { type: 'string', description: 'stream_auction: the live stream id.' },
|
|
202
|
+
slug: { type: 'string', description: 'party / party_listings: the party slug.' },
|
|
203
|
+
handle: { type: 'string', description: "creator: the creator's handle." },
|
|
204
|
+
filters: { type: 'object', description: 'price_guide: browse filters (q, brand, category, condition, size …); needs at least q, brand or category.' },
|
|
205
|
+
limit: { type: 'number', description: 'party_listings: most listings to return.' },
|
|
206
|
+
},
|
|
207
|
+
required: ['what'],
|
|
208
|
+
additionalProperties: false,
|
|
209
|
+
},
|
|
210
|
+
handler: (args) => discoverMore(args),
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
name: 'delivery_info',
|
|
214
|
+
description: 'Where parcels go besides the door. pickup_points (zip, line1, city, state, country): UPS Access Points / FedEx Hold at Location '
|
|
215
|
+
+ 'near an address — pass one as pickupPoint to buy_listing. purchase (purchaseId): the point a purchase is held at, with its '
|
|
216
|
+
+ 'release code, or its ship-together consolidation. consolidations: the buyer\'s ship-together orders. buyer:catalog:read / buyer:orders:read.',
|
|
217
|
+
inputSchema: {
|
|
218
|
+
type: 'object',
|
|
219
|
+
properties: {
|
|
220
|
+
what: { type: 'string', enum: ['pickup_points', 'purchase', 'consolidations'], description: 'pickup_points = carrier pickup points near an address; purchase = where one purchase is held or consolidated (purchaseId); consolidations = your ship-together orders.' },
|
|
221
|
+
zip: { type: 'string', description: 'pickup_points: postal code of the address to search near.' },
|
|
222
|
+
line1: { type: 'string', description: 'pickup_points: street line of the address.' },
|
|
223
|
+
city: { type: 'string', description: 'pickup_points: city of the address.' },
|
|
224
|
+
state: { type: 'string', description: 'pickup_points: state / region code (e.g. CA).' },
|
|
225
|
+
country: { type: 'string', description: 'pickup_points: ISO country code (e.g. US).' },
|
|
226
|
+
purchaseId: { type: 'string', description: 'purchase: the purchase id.' },
|
|
227
|
+
},
|
|
228
|
+
required: ['what'],
|
|
229
|
+
additionalProperties: false,
|
|
230
|
+
},
|
|
231
|
+
handler: (args) => delivery(args),
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
name: 'market_orders',
|
|
235
|
+
description: 'The market: watches / watch (variantId, thresholdCents or any drop) / unwatch (id); bids / cancel_bid (id); bid places a FIXED-PRICE bid that SPENDS MONEY '
|
|
236
|
+
+ 'if it fills against an ask at or under priceCents (cents, integer), charging paymentMethodId. bid needs buyer:checkout:write, the key\'s '
|
|
237
|
+
+ 'spending controls, and an idempotencyKey.',
|
|
238
|
+
inputSchema: {
|
|
239
|
+
type: 'object',
|
|
240
|
+
properties: {
|
|
241
|
+
action: { type: 'string', enum: ['watches', 'watch', 'unwatch', 'bids', 'bid', 'cancel_bid'], description: 'watches = variants you watch; watch = alert on a variant (variantId, thresholdCents); unwatch (id); bids = your resting bids; bid = place a fixed-price bid that SPENDS when it fills; cancel_bid (id).' },
|
|
242
|
+
id: { type: 'string', description: 'unwatch: the watch id; cancel_bid: the bid id.' },
|
|
243
|
+
variantId: { type: 'string', description: 'watch / bid: the market variant id (uuid).' },
|
|
244
|
+
condition: { type: 'string', description: 'watch / bid: the market condition book — DS (deadstock), VNDS (very near deadstock) or Used.' },
|
|
245
|
+
thresholdCents: { type: 'number', description: 'watch: alert when an ask is at or under this, integer CENTS (e.g. 1999 = $19.99); omit to alert on any price drop.' },
|
|
246
|
+
priceCents: { type: 'number', description: 'bid: your maximum price, integer CENTS (e.g. 1999 = $19.99), 100 to 100,000,000.' },
|
|
247
|
+
paymentMethodId: { type: 'string', description: 'A saved card. Never card data.' },
|
|
248
|
+
expiresInDays: { type: 'number', description: 'bid: days the bid rests before it expires, 1-60.' },
|
|
249
|
+
deliverTo: { type: 'string', enum: ['home', 'vault'], description: 'bid: where it goes once it clears — home, or kept in your Crossly vault.' },
|
|
250
|
+
fastShip: { type: 'boolean', description: 'bid: expedited shipping when it fills from vault stock (adds the premium from vault purchase_options).' },
|
|
251
|
+
gradeWith: { type: 'object', properties: { runId: { type: 'string' }, returnMode: { type: 'string', enum: ['return', 'vault'] } }, required: ['runId'], description: 'bid: send a raw card to this Grading run first.' },
|
|
252
|
+
idempotencyKey: { type: 'string', description: 'Sent as the Idempotency-Key header. Stable per intent.' },
|
|
253
|
+
},
|
|
254
|
+
required: ['action'],
|
|
255
|
+
additionalProperties: false,
|
|
256
|
+
},
|
|
257
|
+
handler: (args) => market(args),
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
name: 'vault',
|
|
261
|
+
description: "Your Crossly vault (authenticated items stored for you): items lists them; sell lists one on the market at priceCents (it sells without shipping in); unlist takes it off; withdraw ships it home (speed standard|expedited) and CHARGES the shipping now (buyer:checkout:write + idempotencyKey); purchase_options (variantId, condition) says whether the lowest ask is vault stock, the fast-ship premium, and grading runs for a bid's gradeWith. Reading needs buyer:orders:read; sell/unlist buyer:offers:write.",
|
|
262
|
+
inputSchema: {
|
|
263
|
+
type: 'object',
|
|
264
|
+
properties: {
|
|
265
|
+
action: { type: 'string', enum: ['items', 'sell', 'unlist', 'withdraw', 'purchase_options'], description: 'items = your vaulted items; sell = list one on the market (id, priceCents); unlist = take it off the market (id); withdraw = ship it home and pay the shipping now (id, speed); purchase_options = vault stock / fast-ship / grading options for a variant (variantId, condition).' },
|
|
266
|
+
id: { type: 'string', description: 'The vault item id (from items).' },
|
|
267
|
+
priceCents: { type: 'number', description: 'sell: your asking price, integer CENTS (e.g. 1999 = $19.99), 100 to 100,000,000.' },
|
|
268
|
+
expiresInDays: { type: 'number', description: 'sell: days the ask stays up, 1-60; omit for the default.' },
|
|
269
|
+
speed: { type: 'string', enum: ['standard', 'expedited'], description: 'withdraw: standard (default) or expedited shipping; the shipping is charged now.' },
|
|
270
|
+
variantId: { type: 'string', description: 'purchase_options: the market variant id (uuid).' },
|
|
271
|
+
condition: { type: 'string', description: 'purchase_options: DS (deadstock, the default), VNDS (very near deadstock) or Used.' },
|
|
272
|
+
idempotencyKey: { type: 'string', description: 'withdraw: sent as the Idempotency-Key header. Stable per intent so a retry cannot charge twice.' },
|
|
273
|
+
},
|
|
274
|
+
required: ['action'],
|
|
275
|
+
additionalProperties: false,
|
|
276
|
+
},
|
|
277
|
+
handler: (args) => vault(args),
|
|
278
|
+
},
|
|
279
|
+
];
|
|
280
|
+
//# sourceMappingURL=buyer-xmarket-extras.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buyer-xmarket-extras.js","sourceRoot":"","sources":["../../src/tools/buyer-xmarket-extras.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buyer-xmarket.d.ts","sourceRoot":"","sources":["../../src/tools/buyer-xmarket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAiGrC,eAAO,MAAM,iBAAiB,EAAE,OAAO,EA8MtC,CAAC"}
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import { apiGet, apiPatch, apiPost, apiPut } from '../api.js';
|
|
2
|
+
/**
|
|
3
|
+
* Cross-marketplace buyer features — gift finder, per-listing insights (fit,
|
|
4
|
+
* resale value, impact, bought-together, reviews, quick questions, card
|
|
5
|
+
* break, group buy), subscribe & save, split payment, the buyer agent's hunts,
|
|
6
|
+
* group buys, returns, buybacks and shop-together rooms.
|
|
7
|
+
*
|
|
8
|
+
* Needs a BUYER token (`crossly_oat_…`, scoped `buyer:*`). Anything that can
|
|
9
|
+
* spend money needs buyer:checkout:write, and takes an idempotencyKey so a
|
|
10
|
+
* retried call cannot charge twice.
|
|
11
|
+
*
|
|
12
|
+
* Tools whose actions use DIFFERENT HTTP methods dispatch through functions
|
|
13
|
+
* declared above the array, so the v1-parity scanner cannot cross them.
|
|
14
|
+
*/
|
|
15
|
+
const enc = encodeURIComponent;
|
|
16
|
+
function instantOffers(args) {
|
|
17
|
+
const { action, portfolioId, offerId } = args;
|
|
18
|
+
if (action === 'list')
|
|
19
|
+
return apiGet('/v1/buyer/instant-offers');
|
|
20
|
+
if (action === 'accept') {
|
|
21
|
+
const id = enc(String(offerId ?? ''));
|
|
22
|
+
return apiPost(`/v1/buyer/instant-offers/${id}/accept`, {});
|
|
23
|
+
}
|
|
24
|
+
const pid = enc(String(portfolioId ?? ''));
|
|
25
|
+
return apiGet(`/v1/buyer/collection/${pid}/offer`);
|
|
26
|
+
}
|
|
27
|
+
function collectionSets(args) {
|
|
28
|
+
const { action, category, brandSlug, modelSlug, optIn } = args;
|
|
29
|
+
if (action === 'leaderboard')
|
|
30
|
+
return apiPut('/v1/buyer/collection/sets/leaderboard', { optIn: !!optIn });
|
|
31
|
+
if (action === 'detail') {
|
|
32
|
+
const c = enc(String(category ?? ''));
|
|
33
|
+
const b = enc(String(brandSlug ?? ''));
|
|
34
|
+
const m = enc(String(modelSlug ?? ''));
|
|
35
|
+
return apiGet(`/v1/buyer/collection/sets/${c}/${b}/${m}`);
|
|
36
|
+
}
|
|
37
|
+
return apiGet('/v1/buyer/collection/sets');
|
|
38
|
+
}
|
|
39
|
+
function giftFinder(args) {
|
|
40
|
+
const { action, for: who, interest, budget, page } = args;
|
|
41
|
+
if (action === 'options')
|
|
42
|
+
return apiGet('/v1/buyer/gift-finder/options');
|
|
43
|
+
return apiGet('/v1/buyer/gift-finder', { for: who, interest, budget, page });
|
|
44
|
+
}
|
|
45
|
+
function listingInsight(args) {
|
|
46
|
+
const { what, slug, withMedia } = args;
|
|
47
|
+
const s = enc(slug);
|
|
48
|
+
if (what === 'fit')
|
|
49
|
+
return apiGet(`/v1/buyer/listings/${s}/fit`);
|
|
50
|
+
if (what === 'resale_value')
|
|
51
|
+
return apiGet(`/v1/buyer/listings/${s}/resale-value`);
|
|
52
|
+
if (what === 'impact')
|
|
53
|
+
return apiGet(`/v1/buyer/listings/${s}/impact`);
|
|
54
|
+
if (what === 'bought_together')
|
|
55
|
+
return apiGet(`/v1/buyer/listings/${s}/bought-together`);
|
|
56
|
+
if (what === 'seller_reviews')
|
|
57
|
+
return apiGet(`/v1/buyer/listings/${s}/seller-reviews`, withMedia ? { withMedia: '1' } : undefined);
|
|
58
|
+
if (what === 'quick_questions')
|
|
59
|
+
return apiGet(`/v1/buyer/listings/${s}/quick-questions`);
|
|
60
|
+
if (what === 'card_break')
|
|
61
|
+
return apiGet(`/v1/buyer/listings/${s}/break`);
|
|
62
|
+
if (what === 'cert')
|
|
63
|
+
return apiGet(`/v1/buyer/listings/${s}/cert`);
|
|
64
|
+
return apiGet(`/v1/buyer/listings/${s}/group-buy`);
|
|
65
|
+
}
|
|
66
|
+
function subscriptions(args) {
|
|
67
|
+
const { action, slug, id, intervalDays, change, idempotencyKey } = args;
|
|
68
|
+
if (action === 'list')
|
|
69
|
+
return apiGet('/v1/buyer/subscriptions');
|
|
70
|
+
if (action === 'subscribe') {
|
|
71
|
+
if (!slug)
|
|
72
|
+
return Promise.reject(new Error('slug is required to subscribe'));
|
|
73
|
+
return apiPost(`/v1/buyer/listings/${enc(slug)}/subscribe`, { intervalDays }, idempotencyKey);
|
|
74
|
+
}
|
|
75
|
+
if (!id)
|
|
76
|
+
return Promise.reject(new Error('id is required to update'));
|
|
77
|
+
return apiPatch(`/v1/buyer/subscriptions/${enc(id)}`, { action: change, intervalDays });
|
|
78
|
+
}
|
|
79
|
+
function hunts(args) {
|
|
80
|
+
const { action, id, status, name, filters, maxPriceCents, mode, maxBuys, days, listingSlug, idempotencyKey } = args;
|
|
81
|
+
if (action === 'list')
|
|
82
|
+
return apiGet('/v1/buyer/hunts');
|
|
83
|
+
if (action === 'create')
|
|
84
|
+
return apiPost('/v1/buyer/hunts', { name, filters: filters ?? {}, maxPriceCents, mode, maxBuys, days, listingSlug }, idempotencyKey);
|
|
85
|
+
if (!id)
|
|
86
|
+
return Promise.reject(new Error('id is required to change a hunt'));
|
|
87
|
+
return apiPatch(`/v1/buyer/hunts/${enc(id)}`, { status });
|
|
88
|
+
}
|
|
89
|
+
function groupBuy(args) {
|
|
90
|
+
const { id, action, idempotencyKey } = args;
|
|
91
|
+
if (action === 'join')
|
|
92
|
+
return apiPost(`/v1/buyer/group-buys/${enc(id)}/join`, {}, idempotencyKey);
|
|
93
|
+
return apiPost(`/v1/buyer/group-buys/${enc(id)}/leave`, {});
|
|
94
|
+
}
|
|
95
|
+
function together(args) {
|
|
96
|
+
const { action, code, name, slug } = args;
|
|
97
|
+
if (action === 'list')
|
|
98
|
+
return apiGet('/v1/buyer/together');
|
|
99
|
+
if (action === 'create')
|
|
100
|
+
return apiPost('/v1/buyer/together', { name: name ?? '' });
|
|
101
|
+
if (!code || !slug)
|
|
102
|
+
return Promise.reject(new Error('code and slug are required to add an item'));
|
|
103
|
+
return apiPost(`/v1/buyer/together/${enc(code)}/items`, { slug });
|
|
104
|
+
}
|
|
105
|
+
export const buyerXmarketTools = [
|
|
106
|
+
{
|
|
107
|
+
name: 'gift_finder',
|
|
108
|
+
description: 'Find gifts: options = the recipients, their interests and budget bands; search = live listings for one. Requires buyer:catalog:read.',
|
|
109
|
+
inputSchema: {
|
|
110
|
+
type: 'object',
|
|
111
|
+
properties: {
|
|
112
|
+
action: { type: 'string', enum: ['options', 'search'], description: 'options = the recipient, interest and budget keys to choose from; search = live listings matching for / interest / budget.' },
|
|
113
|
+
for: { type: 'string', description: 'Recipient key from options (her, him, kids, …).' },
|
|
114
|
+
interest: { type: 'string', description: 'Interest key for that recipient; omit for all of them.' },
|
|
115
|
+
budget: { type: 'string', description: 'Budget band key (u25, u50, u100, u250, any).' },
|
|
116
|
+
page: { type: 'number', description: 'search: results page, starting at 1; the response says hasMore.' },
|
|
117
|
+
},
|
|
118
|
+
required: ['action'],
|
|
119
|
+
additionalProperties: false,
|
|
120
|
+
},
|
|
121
|
+
handler: (args) => giftFinder(args),
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
name: 'listing_insight',
|
|
125
|
+
description: 'Facts about one listing: fit (its measurements vs the buyer\'s saved garments), resale_value (sold comps for the brand + category, '
|
|
126
|
+
+ 'and the buyback offer when on), impact (sourced footprint of making a new one), bought_together, seller_reviews, quick_questions, '
|
|
127
|
+
+ 'card_break, group_buy, cert (a graded listing checked with the grader: verified / mismatch / not_found / unchecked, population, pop higher). '
|
|
128
|
+
+ 'Requires buyer:catalog:read.',
|
|
129
|
+
inputSchema: {
|
|
130
|
+
type: 'object',
|
|
131
|
+
properties: {
|
|
132
|
+
what: { type: 'string', enum: ['fit', 'resale_value', 'impact', 'bought_together', 'seller_reviews', 'quick_questions', 'card_break', 'group_buy', 'cert'], description: "Which fact: fit = vs your saved garments; resale_value = sold comps + buyback offer; impact = footprint of a new one; bought_together = items bought with it; seller_reviews = the seller's reviews; quick_questions = preset questions to ask; card_break = its break board; group_buy = its open group buy; cert = grader cert check." },
|
|
133
|
+
slug: { type: 'string', description: 'The listing slug.' },
|
|
134
|
+
withMedia: { type: 'boolean', description: 'seller_reviews only: reviews with photos.' },
|
|
135
|
+
},
|
|
136
|
+
required: ['what', 'slug'],
|
|
137
|
+
additionalProperties: false,
|
|
138
|
+
},
|
|
139
|
+
handler: (args) => listingInsight(args),
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
name: 'subscriptions',
|
|
143
|
+
description: 'Subscribe & save: list; subscribe to a listing every 14/30/60/90 days (charged to the saved card); update one (pause, resume, skip, cancel, interval). Spending needs buyer:checkout:write.',
|
|
144
|
+
inputSchema: {
|
|
145
|
+
type: 'object',
|
|
146
|
+
properties: {
|
|
147
|
+
action: { type: 'string', enum: ['list', 'subscribe', 'update'], description: 'list = your subscriptions; subscribe = start one on a listing (slug, intervalDays; SPENDS on each run); update = change one (id, change).' },
|
|
148
|
+
slug: { type: 'string', description: 'subscribe: the listing slug.' },
|
|
149
|
+
id: { type: 'string', description: 'update: the subscription id.' },
|
|
150
|
+
intervalDays: { type: 'number', enum: [14, 30, 60, 90], description: 'subscribe, or update with change=interval: days between deliveries — 14, 30, 60 or 90.' },
|
|
151
|
+
change: { type: 'string', enum: ['pause', 'resume', 'skip', 'cancel', 'interval'], description: 'update: pause = stop runs until resumed; resume = restart; skip = skip the next run only; cancel = end it; interval = switch to intervalDays.' },
|
|
152
|
+
idempotencyKey: { type: 'string', description: 'Sent as the Idempotency-Key header. Stable per intent so a retry cannot spend twice.' },
|
|
153
|
+
},
|
|
154
|
+
required: ['action'],
|
|
155
|
+
additionalProperties: false,
|
|
156
|
+
},
|
|
157
|
+
handler: (args) => subscriptions(args),
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
name: 'split_purchase',
|
|
161
|
+
description: 'Split a listing\'s price between 2-10 people: returns one pay link per share. Nobody is charged until every share is held; holds release after 48h. Requires buyer:checkout:write.',
|
|
162
|
+
inputSchema: {
|
|
163
|
+
type: 'object',
|
|
164
|
+
properties: {
|
|
165
|
+
slug: { type: 'string', description: 'The listing slug to split.' },
|
|
166
|
+
parts: { type: 'number', minimum: 2, maximum: 10, description: 'How many equal shares (2-10), one pay link each.' },
|
|
167
|
+
note: { type: 'string', description: 'Optional message shown to the people paying, up to 200 characters.' },
|
|
168
|
+
idempotencyKey: { type: 'string', description: 'Sent as the Idempotency-Key header. Stable per intent so a retry cannot spend twice.' },
|
|
169
|
+
},
|
|
170
|
+
required: ['slug', 'parts'],
|
|
171
|
+
additionalProperties: false,
|
|
172
|
+
},
|
|
173
|
+
handler: (args) => {
|
|
174
|
+
const { slug, parts, note, idempotencyKey } = args;
|
|
175
|
+
return apiPost(`/v1/buyer/listings/${enc(slug)}/split`, { parts, ...(note ? { note } : {}) }, idempotencyKey);
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
name: 'hunts',
|
|
180
|
+
description: 'The buyer agent: list; create (filters = search filters, maxPriceCents = budget, mode notify | offer | buy); set_status (active, paused, cancelled). '
|
|
181
|
+
+ 'offer makes an offer at the budget when a match is over it and checks out if accepted; buy buys matches at or under budget. '
|
|
182
|
+
+ 'Pass listingSlug (mode buy) for auto-buy on ONE listing: it buys when the price of that listing, sale applied, drops within maxPriceCents. '
|
|
183
|
+
+ 'Requires buyer:monitors:*; offer/buy also buyer:checkout:write.',
|
|
184
|
+
inputSchema: {
|
|
185
|
+
type: 'object',
|
|
186
|
+
properties: {
|
|
187
|
+
action: { type: 'string', enum: ['list', 'create', 'set_status'], description: 'list = your hunts; create = start one (name, filters or listingSlug, maxPriceCents, mode); set_status = pause / resume / stop one (id, status).' },
|
|
188
|
+
id: { type: 'string', description: 'set_status: the hunt id (from list).' },
|
|
189
|
+
status: { type: 'string', enum: ['active', 'paused', 'cancelled'], description: 'set_status: active = running; paused = held until set active again; cancelled = stopped for good.' },
|
|
190
|
+
name: { type: 'string', description: 'create: a label for the hunt, up to 80 characters.' },
|
|
191
|
+
filters: { type: 'object', description: 'Browse filters: q, brand, category, size, condition, minPrice, maxPrice …' },
|
|
192
|
+
maxPriceCents: { type: 'number', description: "create: the budget per item, integer CENTS (e.g. 1999 = $19.99, minimum 100). offer/buy budgets are checked against the key's spending controls." },
|
|
193
|
+
mode: { type: 'string', enum: ['notify', 'offer', 'buy'], description: 'create: notify = alert only; offer = offer at the budget on matches over it, checking out if accepted; buy = buy matches at or under the budget.' },
|
|
194
|
+
maxBuys: { type: 'number', description: 'create: most items the hunt may buy before it stops, 1-10 (default 1).' },
|
|
195
|
+
days: { type: 'number', description: 'create: days until the hunt expires, 1-90 (default 30).' },
|
|
196
|
+
listingSlug: { type: 'string', description: 'Auto-buy on this one listing instead of a search.' },
|
|
197
|
+
idempotencyKey: { type: 'string', description: 'Sent as the Idempotency-Key header. Stable per intent so a retry cannot spend twice.' },
|
|
198
|
+
},
|
|
199
|
+
required: ['action'],
|
|
200
|
+
additionalProperties: false,
|
|
201
|
+
},
|
|
202
|
+
handler: (args) => hunts(args),
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
name: 'group_buy',
|
|
206
|
+
description: 'Join (a hold at the starting price, captured at the price the group reaches) or leave a group buy. Requires buyer:checkout:write.',
|
|
207
|
+
inputSchema: {
|
|
208
|
+
type: 'object',
|
|
209
|
+
properties: {
|
|
210
|
+
id: { type: 'string', description: 'The group buy id (listing_insight group_buy).' },
|
|
211
|
+
action: { type: 'string', enum: ['join', 'leave'], description: 'join = place a hold at the starting price (SPENDS when the group closes); leave = drop out and release your hold.' },
|
|
212
|
+
idempotencyKey: { type: 'string', description: 'Sent as the Idempotency-Key header. Stable per intent so a retry cannot spend twice.' },
|
|
213
|
+
},
|
|
214
|
+
required: ['id', 'action'],
|
|
215
|
+
additionalProperties: false,
|
|
216
|
+
},
|
|
217
|
+
handler: (args) => groupBuy(args),
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
name: 'return_purchase',
|
|
221
|
+
description: 'Start a return under the seller\'s policy (changed_mind, doesnt_fit, other) or send back a try-at-home item (try_at_home). Requires buyer:orders:write.',
|
|
222
|
+
inputSchema: {
|
|
223
|
+
type: 'object',
|
|
224
|
+
properties: {
|
|
225
|
+
purchaseId: { type: 'string', description: 'The purchase to return.' },
|
|
226
|
+
reason: { type: 'string', enum: ['changed_mind', 'doesnt_fit', 'try_at_home', 'other'], description: "changed_mind / doesnt_fit / other = a return under the seller's policy (refund may differ by reason); try_at_home = send back a try-at-home item you are not keeping." },
|
|
227
|
+
note: { type: 'string', description: 'Optional note to the seller, up to 500 characters.' },
|
|
228
|
+
fit: { type: 'string', enum: ['small', 'large'], description: 'doesnt_fit only: which way it didn\'t fit (teaches the buyer\'s size memory).' },
|
|
229
|
+
},
|
|
230
|
+
required: ['purchaseId', 'reason'],
|
|
231
|
+
additionalProperties: false,
|
|
232
|
+
},
|
|
233
|
+
handler: (args) => {
|
|
234
|
+
const { purchaseId, reason, note, fit } = args;
|
|
235
|
+
return apiPost(`/v1/buyer/purchases/${enc(purchaseId)}/return`, { reason, ...(note ? { note } : {}), ...(fit ? { fit } : {}) });
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
name: 'request_buyback',
|
|
240
|
+
description: 'Ask Crossly to buy an item back under its buyback guarantee (store credit). Requires buyer:orders:write.',
|
|
241
|
+
inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'The buyback guarantee id.' } }, required: ['id'], additionalProperties: false },
|
|
242
|
+
handler: (args) => {
|
|
243
|
+
const id = enc(String(args.id ?? ''));
|
|
244
|
+
return apiPost(`/v1/buyer/buybacks/${id}/request`, {});
|
|
245
|
+
},
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
name: 'shop_together',
|
|
249
|
+
description: 'Shop-together rooms: list; create a room (returns its code); add_item puts a listing on a room\'s board. Requires buyer:activity:read / buyer:activity:write.',
|
|
250
|
+
inputSchema: {
|
|
251
|
+
type: 'object',
|
|
252
|
+
properties: {
|
|
253
|
+
action: { type: 'string', enum: ['list', 'create', 'add_item'], description: "list = rooms you are in; create = open a new room (name) and get its code; add_item = put a listing (slug) on a room's board (code)." },
|
|
254
|
+
code: { type: 'string', description: 'add_item: the room code.' },
|
|
255
|
+
name: { type: 'string', description: 'create: the room name.' },
|
|
256
|
+
slug: { type: 'string', description: 'add_item: the listing slug to add.' },
|
|
257
|
+
},
|
|
258
|
+
required: ['action'],
|
|
259
|
+
additionalProperties: false,
|
|
260
|
+
},
|
|
261
|
+
handler: (args) => together(args),
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
name: 'cart_optimizer',
|
|
265
|
+
description: "Price a shopping list: one item per line (\"2 Charizard Base Set\"). Returns the cheapest delivered basket across sellers, one pick per line, items + each seller's shipping with free-shipping thresholds applied. fewestPackages prefers fewer sellers. Adds nothing to the cart. Requires buyer:cart:read.",
|
|
266
|
+
inputSchema: {
|
|
267
|
+
type: 'object',
|
|
268
|
+
properties: {
|
|
269
|
+
text: { type: 'string', description: 'The shopping list, one item per line with an optional leading quantity ("2 Charizard Base Set"); up to 10,000 characters.' },
|
|
270
|
+
fewestPackages: { type: 'boolean', description: 'Prefer fewer sellers (fewer packages) over the absolute lowest total.' },
|
|
271
|
+
},
|
|
272
|
+
required: ['text'],
|
|
273
|
+
additionalProperties: false,
|
|
274
|
+
},
|
|
275
|
+
handler: (args) => apiPost('/v1/buyer/cart-optimizer', args),
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
name: 'instant_offers',
|
|
279
|
+
description: "Sell from your collection: quote shows the top open market bid and Crossly's instant store-credit offer for one collection item (portfolioId); list shows your offers; accept locks an offer (offerId) — ops then send a prepaid label and pay the credit once it checks out. Requires buyer:offers:read / buyer:offers:write.",
|
|
280
|
+
inputSchema: {
|
|
281
|
+
type: 'object',
|
|
282
|
+
properties: {
|
|
283
|
+
action: { type: 'string', enum: ['quote', 'list', 'accept'], description: "quote = top market bid + Crossly's instant offer for one collection item (portfolioId); list = your instant offers; accept = lock one offer (offerId)." },
|
|
284
|
+
portfolioId: { type: 'string', description: 'quote: the collection item id.' },
|
|
285
|
+
offerId: { type: 'string', description: 'accept: the instant offer id (from quote or list).' },
|
|
286
|
+
},
|
|
287
|
+
required: ['action'],
|
|
288
|
+
additionalProperties: false,
|
|
289
|
+
},
|
|
290
|
+
handler: (args) => instantOffers(args),
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
name: 'collection_sets',
|
|
294
|
+
description: "Set completion from your collection: list the sets you are collecting (owned / total, percent); detail one set (category + brandSlug + modelSlug from list) for every piece, its lowest market ask, the cost to complete, and the opt-in leaderboard with your rank; leaderboard turns showing yourself on boards on or off (optIn). Requires buyer:orders:read; leaderboard needs buyer:activity:write.",
|
|
295
|
+
inputSchema: {
|
|
296
|
+
type: 'object',
|
|
297
|
+
properties: {
|
|
298
|
+
action: { type: 'string', enum: ['list', 'detail', 'leaderboard'], description: 'list = sets you are collecting; detail = one set (category + brandSlug + modelSlug) piece by piece; leaderboard = show or hide yourself on set leaderboards (optIn).' },
|
|
299
|
+
category: { type: 'string', description: 'detail: the set category, as returned by list.' },
|
|
300
|
+
brandSlug: { type: 'string', description: 'detail: the set brand slug, as returned by list.' },
|
|
301
|
+
modelSlug: { type: 'string', description: 'detail: the set model slug, as returned by list.' },
|
|
302
|
+
optIn: { type: 'boolean', description: 'leaderboard: true = show you (by public handle) on boards; false or omitted = hide you.' },
|
|
303
|
+
},
|
|
304
|
+
required: ['action'],
|
|
305
|
+
additionalProperties: false,
|
|
306
|
+
},
|
|
307
|
+
handler: (args) => collectionSets(args),
|
|
308
|
+
},
|
|
309
|
+
];
|
|
310
|
+
//# sourceMappingURL=buyer-xmarket.js.map
|