@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,14 @@
|
|
|
1
|
+
import { ToolDef } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* 3D scan tools.
|
|
4
|
+
*
|
|
5
|
+
* Read only. Frames come from a camera a person is holding, so an agent cannot
|
|
6
|
+
* produce a capture — and letting one START a capture would spend generation
|
|
7
|
+
* budget with nobody present.
|
|
8
|
+
*
|
|
9
|
+
* The descriptions lean hard on one fact, because a model will otherwise report
|
|
10
|
+
* it as a bug: a capture can be `ready` with NO mesh, and that is the normal,
|
|
11
|
+
* cheap, intended outcome for most items.
|
|
12
|
+
*/
|
|
13
|
+
export declare const scanTools: ToolDef[];
|
|
14
|
+
//# sourceMappingURL=scan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/tools/scan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,EAAE,OAAO,EA2E9B,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { apiGet } from '../api.js';
|
|
2
|
+
/**
|
|
3
|
+
* 3D scan tools.
|
|
4
|
+
*
|
|
5
|
+
* Read only. Frames come from a camera a person is holding, so an agent cannot
|
|
6
|
+
* produce a capture — and letting one START a capture would spend generation
|
|
7
|
+
* budget with nobody present.
|
|
8
|
+
*
|
|
9
|
+
* The descriptions lean hard on one fact, because a model will otherwise report
|
|
10
|
+
* it as a bug: a capture can be `ready` with NO mesh, and that is the normal,
|
|
11
|
+
* cheap, intended outcome for most items.
|
|
12
|
+
*/
|
|
13
|
+
export const scanTools = [
|
|
14
|
+
{
|
|
15
|
+
name: 'list_scan_captures',
|
|
16
|
+
description: 'List the seller\'s 3D capture sessions, newest first. `status` is capturing, uploaded, '
|
|
17
|
+
+ 'processing, ready, failed or rejected, and `rejectReason` explains a refusal in the '
|
|
18
|
+
+ 'words the seller saw. IMPORTANT: a capture with status "ready" and no mesh is NORMAL '
|
|
19
|
+
+ 'and not an error — most items are textured onto a shape their category already fixes, '
|
|
20
|
+
+ 'which costs nothing and looks the same. Only report a problem for "failed" or '
|
|
21
|
+
+ '"rejected". When an item that WOULD have had geometry generated did not, '
|
|
22
|
+
+ '`generationSkipped` says why, in the words the seller saw — out of the monthly '
|
|
23
|
+
+ 'allowance, too few genuinely different angles to reconstruct from, or they had '
|
|
24
|
+
+ 'already had a model built from this same object. That is still a SUCCESSFUL '
|
|
25
|
+
+ 'capture: photos and a textured model exist. Suggest the fix it names rather than '
|
|
26
|
+
+ 'describing it as a failure. Requires the listings:read scope.',
|
|
27
|
+
inputSchema: {
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties: {
|
|
30
|
+
status: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
description: 'Filter to one status, e.g. "rejected" to see what needs redoing.',
|
|
33
|
+
},
|
|
34
|
+
limit: { type: 'integer', minimum: 1, maximum: 100, default: 25, description: 'Rows to return.' },
|
|
35
|
+
},
|
|
36
|
+
additionalProperties: false,
|
|
37
|
+
},
|
|
38
|
+
handler: (args) => apiGet('/v1/scan/captures', args),
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'check_scan_models',
|
|
42
|
+
description: 'Return the items that ALREADY have a 3D model. Ask by catalogue variant '
|
|
43
|
+
+ '(variantIds), by the inventory rows the seller owns (inventoryItemIds), or '
|
|
44
|
+
+ 'both; at least one is required. Use it before suggesting a seller scan '
|
|
45
|
+
+ 'anything — ids that come back ABSENT are the ones worth capturing. '
|
|
46
|
+
+ 'The two are different kinds of answer. A catalogue model belongs to the PRODUCT '
|
|
47
|
+
+ 'and is shared, so a hit means their listing gets it immediately with nothing to '
|
|
48
|
+
+ 'capture because somebody else already paid to generate it. An inventory model '
|
|
49
|
+
+ 'belongs to ONE of their rows, because an object with no catalogue identity — a '
|
|
50
|
+
+ 'lamp, a one-off — is not a product anyone else can claim. '
|
|
51
|
+
+ '`longestEdgeMm` is set only when a capture MEASURED the item against something '
|
|
52
|
+
+ 'of known size; null means the mesh has correct proportions but no real-world '
|
|
53
|
+
+ 'scale, which is normal and not a defect. Max 200 ids of each per call. '
|
|
54
|
+
+ 'Requires catalog:read.',
|
|
55
|
+
inputSchema: {
|
|
56
|
+
type: 'object',
|
|
57
|
+
properties: {
|
|
58
|
+
variantIds: {
|
|
59
|
+
type: 'array',
|
|
60
|
+
items: { type: 'string' },
|
|
61
|
+
maxItems: 200,
|
|
62
|
+
description: 'Catalogue variant ids to check.',
|
|
63
|
+
},
|
|
64
|
+
inventoryItemIds: {
|
|
65
|
+
type: 'array',
|
|
66
|
+
items: { type: 'string' },
|
|
67
|
+
maxItems: 200,
|
|
68
|
+
description: "The seller's own inventory item ids to check.",
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
additionalProperties: false,
|
|
72
|
+
},
|
|
73
|
+
handler: (args) => {
|
|
74
|
+
const { variantIds, inventoryItemIds } = args;
|
|
75
|
+
const query = {};
|
|
76
|
+
if (variantIds?.length)
|
|
77
|
+
query.variantIds = variantIds.slice(0, 200).join(',');
|
|
78
|
+
if (inventoryItemIds?.length) {
|
|
79
|
+
query.inventoryItemIds = inventoryItemIds.slice(0, 200).join(',');
|
|
80
|
+
}
|
|
81
|
+
return apiGet('/v1/scan/models', query);
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
];
|
|
85
|
+
//# sourceMappingURL=scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/tools/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,yFAAyF;cACvF,sFAAsF;cACtF,uFAAuF;cACvF,wFAAwF;cACxF,gFAAgF;cAChF,2EAA2E;cAC3E,iFAAiF;cACjF,iFAAiF;cACjF,8EAA8E;cAC9E,mFAAmF;cACnF,+DAA+D;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kEAAkE;iBAChF;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE;aAClG;YACD,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAA+B,CAAC;KAChF;IAED;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,0EAA0E;cACxE,6EAA6E;cAC7E,yEAAyE;cACzE,qEAAqE;cACrE,kFAAkF;cAClF,kFAAkF;cAClF,gFAAgF;cAChF,iFAAiF;cACjF,4DAA4D;cAC5D,iFAAiF;cACjF,+EAA+E;cAC/E,yEAAyE;cACzE,wBAAwB;QAC5B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,GAAG;oBACb,WAAW,EAAE,iCAAiC;iBAC/C;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,GAAG;oBACb,WAAW,EAAE,+CAA+C;iBAC7D;aACF;YACD,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,IAExC,CAAC;YACF,MAAM,KAAK,GAA4B,EAAE,CAAC;YAC1C,IAAI,UAAU,EAAE,MAAM;gBAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9E,IAAI,gBAAgB,EAAE,MAAM,EAAE,CAAC;gBAC7B,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seller-ops.d.ts","sourceRoot":"","sources":["../../src/tools/seller-ops.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAoCrC,eAAO,MAAM,cAAc,EAAE,OAAO,EAkDnC,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { apiDelete, apiGet, apiPatch, apiPost } from '../api.js';
|
|
2
|
+
/**
|
|
3
|
+
* Seller ops: building and publishing variation / purchase-rule groups, and
|
|
4
|
+
* the forward-looking inventory reads (aging, cohort sell-through, portfolio
|
|
5
|
+
* value over time).
|
|
6
|
+
*
|
|
7
|
+
* Tools whose actions use DIFFERENT HTTP methods dispatch through functions
|
|
8
|
+
* declared above the array, so the v1-parity scanner cannot cross them.
|
|
9
|
+
*/
|
|
10
|
+
const enc = encodeURIComponent;
|
|
11
|
+
function manageGroup(args) {
|
|
12
|
+
const a = args;
|
|
13
|
+
if (a.action === 'create')
|
|
14
|
+
return apiPost('/api/v1/variation-groups', { kind: a.kind, title: a.title, axisName: a.axisName, rule: a.rule, members: a.members }, a.idempotencyKey);
|
|
15
|
+
if (a.action === 'generate')
|
|
16
|
+
return apiPost('/api/v1/variation-groups/generate', { sourceListingId: a.sourceListingId, axisName: a.axisName, sourceValue: a.sourceValue, options: a.options }, a.idempotencyKey);
|
|
17
|
+
if (!a.groupId)
|
|
18
|
+
return Promise.reject(new Error('groupId is required for this action'));
|
|
19
|
+
const id = enc(a.groupId);
|
|
20
|
+
if (a.action === 'update')
|
|
21
|
+
return apiPatch(`/api/v1/variation-groups/${id}`, { title: a.title, axisName: a.axisName, rule: a.rule });
|
|
22
|
+
if (a.action === 'publish')
|
|
23
|
+
return apiPost(`/api/v1/variation-groups/${id}/publish`, { platforms: a.platforms ?? [] }, a.idempotencyKey);
|
|
24
|
+
return apiDelete(`/api/v1/variation-groups/${id}`);
|
|
25
|
+
}
|
|
26
|
+
function insights(args) {
|
|
27
|
+
const a = args;
|
|
28
|
+
if (a.what === 'aging')
|
|
29
|
+
return apiGet('/v1/inventory/aging');
|
|
30
|
+
if (a.what === 'sell_through')
|
|
31
|
+
return apiGet('/v1/inventory/sell-through', { start: a.start, end: a.end });
|
|
32
|
+
return apiGet('/v1/inventory/value-history', { days: a.days });
|
|
33
|
+
}
|
|
34
|
+
export const sellerOpsTools = [
|
|
35
|
+
{
|
|
36
|
+
name: 'manage_variation_group',
|
|
37
|
+
description: 'Build and publish grouped listings. create: group existing listings (kind variation with axisName + members[].axisValue, '
|
|
38
|
+
+ 'or kind group with a purchase rule {minQty|minSpendCents|note|allowPairWithAnyItem} written into every member\'s description and enforced '
|
|
39
|
+
+ 'at Crossly checkout). generate: turn ONE listing into a variation group — sourceListingId, axisName ("Size"), sourceValue (its own value), '
|
|
40
|
+
+ 'options[{value, price?, quantity?, sku?}] each become a new listing with its own stock. update: title / axisName / rule. publish: per '
|
|
41
|
+
+ 'platform (one listing with a picker on eBay, Shopify and Etsy; one per option elsewhere) — call get_variation_publish_plan first. '
|
|
42
|
+
+ 'dissolve: members stay listings. listings:write.',
|
|
43
|
+
inputSchema: {
|
|
44
|
+
type: 'object',
|
|
45
|
+
properties: {
|
|
46
|
+
action: { type: 'string', enum: ['create', 'generate', 'update', 'publish', 'dissolve'], description: 'create = group existing listings; generate = split one listing into a variation per option; update = retitle / rename axis / change rule (groupId); publish = push to platforms (groupId, platforms); dissolve = break up the group, members stay listings (groupId).' },
|
|
47
|
+
groupId: { type: 'string', description: 'update / publish / dissolve: the group id.' },
|
|
48
|
+
kind: { type: 'string', enum: ['variation', 'group'], description: 'create: variation = one product across an axis such as Size (needs axisName + members[].axisValue); group = a purchase-rule bundle ("buy any 3", needs rule). Default variation.' },
|
|
49
|
+
title: { type: 'string', description: 'create / update: the group title, 1-200 characters.' },
|
|
50
|
+
axisName: { type: 'string', description: 'create / generate / update: the variation axis ("Size", "Condition", "Pressing"), 1-40 characters.' },
|
|
51
|
+
rule: { type: 'object', description: "create / update, kind group: { minQty (2-100), minSpendCents (integer CENTS, e.g. 5000 = $50.00), note (up to 280 chars), allowPairWithAnyItem }; written into every member's description and enforced at checkout." },
|
|
52
|
+
members: { type: 'array', items: { type: 'object' }, description: 'create: 2-250 existing listings as [{ listingId, axisValue? }]; axisValue is the value of that listing on the axis (e.g. "M").' },
|
|
53
|
+
sourceListingId: { type: 'string', description: 'generate: the listing to turn into a variation group.' },
|
|
54
|
+
sourceValue: { type: 'string', description: 'generate: the own value of the source listing on the axis (e.g. "M"), 1-60 characters.' },
|
|
55
|
+
options: { type: 'array', items: { type: 'object' }, description: "generate: 1-249 new values as [{ value, price?, quantity?, sku? }]; price is DOLLARS (e.g. 19.99), blank = the source listing's price; each becomes its own listing." },
|
|
56
|
+
platforms: { type: 'array', items: { type: 'string' }, description: 'publish: platform keys to publish to (e.g. ebay, shopify, etsy), 1-20.' },
|
|
57
|
+
idempotencyKey: { type: 'string', description: 'Sent as the Idempotency-Key header on create/generate/publish.' },
|
|
58
|
+
},
|
|
59
|
+
required: ['action'],
|
|
60
|
+
additionalProperties: false,
|
|
61
|
+
},
|
|
62
|
+
handler: (args) => manageGroup(args),
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'inventory_insights',
|
|
66
|
+
description: 'Forward-looking inventory. aging: unsold stock by age (0-7, 7-30, 30-90, 90+ days, unlisted) with a recommendation per bucket. '
|
|
67
|
+
+ 'sell_through: of what came in during a window (default the 30 days ending 30 days ago), how much sold — against the previous window. '
|
|
68
|
+
+ 'value_history: portfolio value of unsold stock over time (days, default 90). analytics:read.',
|
|
69
|
+
inputSchema: {
|
|
70
|
+
type: 'object',
|
|
71
|
+
properties: {
|
|
72
|
+
what: { type: 'string', enum: ['aging', 'sell_through', 'value_history'], description: "aging = unsold stock by age bucket with recommendations; sell_through = share of a window's intake that sold, vs the previous window (start, end); value_history = unsold stock value over time (days)." },
|
|
73
|
+
start: { type: 'string', description: 'sell_through window start (ISO date).' },
|
|
74
|
+
end: { type: 'string', description: 'sell_through window end (ISO date).' },
|
|
75
|
+
days: { type: 'number', description: 'value_history span, 1-730.' },
|
|
76
|
+
},
|
|
77
|
+
required: ['what'],
|
|
78
|
+
additionalProperties: false,
|
|
79
|
+
},
|
|
80
|
+
handler: (args) => insights(args),
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
//# sourceMappingURL=seller-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seller-ops.js","sourceRoot":"","sources":["../../src/tools/seller-ops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGjE;;;;;;;GAOG;AAEH,MAAM,GAAG,GAAG,kBAAkB,CAAC;AAE/B,SAAS,WAAW,CAAC,IAA6B;IAChD,MAAM,CAAC,GAAG,IAKT,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;IAClL,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,mCAAmC,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;IACjN,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;IACxF,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC,4BAA4B,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrI,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,4BAA4B,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;IACzI,OAAO,SAAS,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,QAAQ,CAAC,IAA6B;IAC7C,MAAM,CAAC,GAAG,IAAyG,CAAC;IACpH,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC7D,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;QAAE,OAAO,MAAM,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3G,OAAO,MAAM,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,2HAA2H;cACzH,4IAA4I;cAC5I,6IAA6I;cAC7I,wIAAwI;cACxI,oIAAoI;cACpI,kDAAkD;QACtD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,uQAAuQ,EAAE;gBAC/W,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;gBACtF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,kLAAkL,EAAE;gBACvP,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;gBAC7F,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oGAAoG,EAAE;gBAC/I,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qNAAqN,EAAE;gBAC5P,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,gIAAgI,EAAE;gBACpM,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;gBACzG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wFAAwF,EAAE;gBACtI,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,sKAAsK,EAAE;gBAC1O,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,wEAAwE,EAAE;gBAC9I,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gEAAgE,EAAE;aAClH;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;KACrC;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,iIAAiI;cAC/H,uIAAuI;cACvI,8FAA8F;QAClG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,WAAW,EAAE,yMAAyM,EAAE;gBAClS,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;gBAC/E,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;gBAC3E,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;aACpE;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;KAClC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seller-xmarket.d.ts","sourceRoot":"","sources":["../../src/tools/seller-xmarket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAuCrC,eAAO,MAAM,kBAAkB,EAAE,OAAO,EA+EvC,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { apiGet, apiPost } from '../api.js';
|
|
2
|
+
/**
|
|
3
|
+
* Seller side of the cross-marketplace features: card breaks, group buys, and
|
|
4
|
+
* the returns Crossly buyers open under your return policy or try at home.
|
|
5
|
+
*
|
|
6
|
+
* Tools whose actions use DIFFERENT HTTP methods dispatch through functions
|
|
7
|
+
* declared above the array, so the v1-parity scanner cannot cross them.
|
|
8
|
+
*/
|
|
9
|
+
const enc = encodeURIComponent;
|
|
10
|
+
function breaks(args) {
|
|
11
|
+
const a = args;
|
|
12
|
+
if (a.action === 'list')
|
|
13
|
+
return apiGet('/v1/breaks');
|
|
14
|
+
if (a.action === 'create') {
|
|
15
|
+
const body = { listingSlug: a.listingSlug, title: a.title, format: a.format, spots: a.spots, product: a.product };
|
|
16
|
+
return apiPost('/v1/breaks', body, a.idempotencyKey);
|
|
17
|
+
}
|
|
18
|
+
if (!a.id)
|
|
19
|
+
return Promise.reject(new Error('id is required for this action'));
|
|
20
|
+
const id = enc(a.id);
|
|
21
|
+
if (a.action === 'get')
|
|
22
|
+
return apiGet(`/v1/breaks/${id}`);
|
|
23
|
+
if (a.action === 'draw')
|
|
24
|
+
return apiPost(`/v1/breaks/${id}/draw`, {});
|
|
25
|
+
if (a.action === 'opened')
|
|
26
|
+
return apiPost(`/v1/breaks/${id}/opened`, {});
|
|
27
|
+
if (a.action === 'cancel')
|
|
28
|
+
return apiPost(`/v1/breaks/${id}/cancel`, {});
|
|
29
|
+
if (!a.spotId)
|
|
30
|
+
return Promise.reject(new Error('spotId is required to record hits'));
|
|
31
|
+
return apiPost(`/v1/breaks/${id}/spots/${enc(a.spotId)}/hits`, { hits: a.hits ?? '' });
|
|
32
|
+
}
|
|
33
|
+
function policyReturns(args) {
|
|
34
|
+
const a = args;
|
|
35
|
+
if (a.action === 'list')
|
|
36
|
+
return apiGet('/v1/policy-returns', { orderId: a.orderId });
|
|
37
|
+
if (!a.id)
|
|
38
|
+
return Promise.reject(new Error('id is required to mark a return received'));
|
|
39
|
+
return apiPost(`/v1/policy-returns/${enc(a.id)}/received`, {}, a.idempotencyKey);
|
|
40
|
+
}
|
|
41
|
+
export const sellerXmarketTools = [
|
|
42
|
+
{
|
|
43
|
+
name: 'card_breaks_seller',
|
|
44
|
+
description: 'Run card breaks on your listings: list; get (board); create (listingSlug, title, format pick | random, spots = names or one per line; '
|
|
45
|
+
+ 'the seed is committed now and revealed at the draw); draw (a sold-out random break); hits (record what a spot pulled); opened; cancel '
|
|
46
|
+
+ '(only before any spot is paid for). listings:read / listings:write.',
|
|
47
|
+
inputSchema: {
|
|
48
|
+
type: 'object',
|
|
49
|
+
properties: {
|
|
50
|
+
action: { type: 'string', enum: ['list', 'get', 'create', 'draw', 'hits', 'opened', 'cancel'], description: 'list = your breaks; get = one board (id); create = start a break; draw = assign spots in a sold-out random break and reveal the seed (id); hits = record what a spot pulled (id, spotId, hits); opened = mark the product opened on stream (id); cancel = cancel before any spot is paid for (id).' },
|
|
51
|
+
id: { type: 'string', description: 'The break id (every action except list and create).' },
|
|
52
|
+
spotId: { type: 'string', description: 'hits: the spot id from the board.' },
|
|
53
|
+
hits: { type: 'string', description: 'hits: what the spot pulled, free text up to 1000 characters.' },
|
|
54
|
+
listingSlug: { type: 'string', description: 'create: the slug of your listing the break sells spots on.' },
|
|
55
|
+
title: { type: 'string', description: 'create: the break title, 3-120 characters.' },
|
|
56
|
+
format: { type: 'string', enum: ['pick', 'random'], description: 'create: pick = buyers choose their spot; random = spots are drawn from the committed seed once sold out.' },
|
|
57
|
+
spots: { description: 'Array of spot names, or one per line.' },
|
|
58
|
+
product: { type: 'string', description: 'create: the product being opened (e.g. "2024 Topps Chrome hobby box"), up to 300 characters.' },
|
|
59
|
+
idempotencyKey: { type: 'string', description: 'create: sent as the Idempotency-Key header. Stable per intent so a retry cannot create two breaks.' },
|
|
60
|
+
},
|
|
61
|
+
required: ['action'],
|
|
62
|
+
additionalProperties: false,
|
|
63
|
+
},
|
|
64
|
+
handler: (args) => breaks(args),
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: 'start_group_buy',
|
|
68
|
+
description: 'Start a group buy on a listing with stock: tiers [{ minBuyers, priceCents }], a minimum, 1-6 days. Buyers hold at the listing price and pay the tier reached; below the minimum nobody pays. listings:write.',
|
|
69
|
+
inputSchema: {
|
|
70
|
+
type: 'object',
|
|
71
|
+
properties: {
|
|
72
|
+
listingSlug: { type: 'string', description: 'The slug of your listing (must have stock).' },
|
|
73
|
+
tiers: { type: 'array', items: { type: 'object', properties: { minBuyers: { type: 'number', description: 'Buyers needed to reach this tier.' }, priceCents: { type: 'number', description: 'Price per buyer at this tier, integer CENTS (e.g. 1999 = $19.99).' } }, required: ['minBuyers', 'priceCents'] }, description: '1-5 price tiers [{ minBuyers, priceCents }]; priceCents is integer CENTS (e.g. 1999 = $19.99). Buyers pay the tier the group reaches.' },
|
|
74
|
+
minBuyers: { type: 'number', description: 'Minimum buyers for the group buy to happen (at least 1); below it nobody pays.' },
|
|
75
|
+
days: { type: 'number', minimum: 1, maximum: 6, description: 'How long the group buy runs, 1-6 days.' },
|
|
76
|
+
idempotencyKey: { type: 'string', description: 'Sent as the Idempotency-Key header. Stable per intent so a retry cannot start two group buys.' },
|
|
77
|
+
},
|
|
78
|
+
required: ['listingSlug', 'tiers', 'minBuyers', 'days'],
|
|
79
|
+
additionalProperties: false,
|
|
80
|
+
},
|
|
81
|
+
handler: (args) => {
|
|
82
|
+
const { idempotencyKey, ...body } = args;
|
|
83
|
+
return apiPost('/v1/group-buys', body, idempotencyKey);
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'buy_pickup_point_label',
|
|
88
|
+
description: 'Buy the carrier label for a Crossly order the buyer collects from a UPS / FedEx pickup point (it normally buys itself at payment; use this after topping up the shipping wallet). Debits the wallet; 402 when short. orders:write.',
|
|
89
|
+
inputSchema: {
|
|
90
|
+
type: 'object',
|
|
91
|
+
properties: {
|
|
92
|
+
orderId: { type: 'string', description: 'The Crossly order id going to a pickup point.' },
|
|
93
|
+
idempotencyKey: { type: 'string', description: 'Sent as the Idempotency-Key header. Stable per intent so a retry cannot buy two labels.' },
|
|
94
|
+
},
|
|
95
|
+
required: ['orderId'],
|
|
96
|
+
additionalProperties: false,
|
|
97
|
+
},
|
|
98
|
+
handler: (args) => {
|
|
99
|
+
const { orderId, idempotencyKey } = args;
|
|
100
|
+
return apiPost(`/v1/orders/${enc(orderId)}/pickup-label`, {}, idempotencyKey);
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: 'policy_returns',
|
|
105
|
+
description: 'Returns Crossly buyers opened under your return policy or try at home: list (optionally for one orderId); received (id) refunds the buyer less the restocking or try fee you keep. orders:read / orders:write.',
|
|
106
|
+
inputSchema: {
|
|
107
|
+
type: 'object',
|
|
108
|
+
properties: {
|
|
109
|
+
action: { type: 'string', enum: ['list', 'received'], description: 'list = returns opened against you (optionally one orderId); received = you got the item back, refund the buyer less your restocking / try fee (id).' },
|
|
110
|
+
id: { type: 'string', description: 'received: the return id (from list).' },
|
|
111
|
+
orderId: { type: 'string', description: 'list: only returns for this order id (uuid).' },
|
|
112
|
+
idempotencyKey: { type: 'string', description: 'received: sent as the Idempotency-Key header. Stable per intent so a retry cannot refund twice.' },
|
|
113
|
+
},
|
|
114
|
+
required: ['action'],
|
|
115
|
+
additionalProperties: false,
|
|
116
|
+
},
|
|
117
|
+
handler: (args) => policyReturns(args),
|
|
118
|
+
},
|
|
119
|
+
];
|
|
120
|
+
//# sourceMappingURL=seller-xmarket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seller-xmarket.js","sourceRoot":"","sources":["../../src/tools/seller-xmarket.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sourcing.d.ts","sourceRoot":"","sources":["../../src/tools/sourcing.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,aAAa,EAAE,OAAO,EAyKlC,CAAC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { apiGet, apiPost } from '../api.js';
|
|
2
|
+
import { IDEMPOTENCY_PROP } from './types.js';
|
|
3
|
+
export const sourcingTools = [
|
|
4
|
+
{
|
|
5
|
+
name: 'list_sourcing_receipts',
|
|
6
|
+
description: "List parsed sourcing receipts in this user's ledger (newest first, capped at 200 entries). Each row carries " +
|
|
7
|
+
"{ vendor, dateIso, items: [{ description, priceCents }], sourceImageUrl, loggedAt }. Used by COGS/tax flows " +
|
|
8
|
+
"to reconcile inventory cost basis against vendor purchases.",
|
|
9
|
+
inputSchema: { type: 'object', properties: {}, additionalProperties: false },
|
|
10
|
+
handler: () => apiGet('/v1/sourcing/receipts'),
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'log_sourcing_receipt',
|
|
14
|
+
description: "Append a parsed receipt to the sourcing ledger. Typically called after AI receipt extraction (see ai_extract_receipt). " +
|
|
15
|
+
"Vendor, dateIso, and sourceImageUrl may be null; items is required (even if empty). The ledger is capped at " +
|
|
16
|
+
"200 entries — the oldest fall off the end. Pass an idempotencyKey on retries.",
|
|
17
|
+
inputSchema: {
|
|
18
|
+
type: 'object',
|
|
19
|
+
properties: {
|
|
20
|
+
vendor: {
|
|
21
|
+
type: ['string', 'null'],
|
|
22
|
+
maxLength: 120,
|
|
23
|
+
description: "Who the goods were bought FROM, as printed on the receipt (max 120 chars) — e.g. 'Goodwill Outlet 12th " +
|
|
24
|
+
"St' or 'Liquidation.com'. Free text: this is the only supplier identifier the ledger carries, there is " +
|
|
25
|
+
'no supplier table or supplier id to reference, so spell a repeat source the same way every time if you ' +
|
|
26
|
+
'want the entries to group. Pass null when the receipt has no legible vendor.',
|
|
27
|
+
},
|
|
28
|
+
dateIso: { type: ['string', 'null'], description: 'ISO 8601 date string, or null if not parsed.' },
|
|
29
|
+
items: {
|
|
30
|
+
type: 'array',
|
|
31
|
+
description: 'The purchased line items on this receipt — one entry per thing in the lot, and the cost basis half of ' +
|
|
32
|
+
'the record. Required, but may be an empty array for a receipt whose lines could not be parsed; the ' +
|
|
33
|
+
'response echoes { ok, count } where count is this array\'s length. All money here is integer CENTS.',
|
|
34
|
+
items: {
|
|
35
|
+
type: 'object',
|
|
36
|
+
properties: {
|
|
37
|
+
description: {
|
|
38
|
+
type: 'string',
|
|
39
|
+
maxLength: 200,
|
|
40
|
+
description: "The line's text as printed on the receipt, max 200 chars (e.g. 'MENS DENIM JACKET XL'). Stored " +
|
|
41
|
+
'verbatim and never matched against inventory — nothing links a line to an inventory item.',
|
|
42
|
+
},
|
|
43
|
+
priceCents: {
|
|
44
|
+
type: 'integer',
|
|
45
|
+
minimum: 0,
|
|
46
|
+
description: 'What was paid for this line, in integer CENTS (495 means $4.95) — never dollars. Must be >= 0. ' +
|
|
47
|
+
'The server coerces a numeric string but will not rescale a dollar figure, so 4.95 is stored as 4 ' +
|
|
48
|
+
'cents, a 100x understatement of the cost basis.',
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
required: ['description', 'priceCents'],
|
|
52
|
+
additionalProperties: false,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
sourceImageUrl: {
|
|
56
|
+
type: ['string', 'null'],
|
|
57
|
+
format: 'uri',
|
|
58
|
+
description: 'Absolute URL of the receipt photo this entry was parsed from (must parse as a URL — the server rejects ' +
|
|
59
|
+
'a bare filename). Kept so a COGS or tax figure can be traced back to the paper it came from. Pass null ' +
|
|
60
|
+
'when no image was stored.',
|
|
61
|
+
},
|
|
62
|
+
...IDEMPOTENCY_PROP,
|
|
63
|
+
},
|
|
64
|
+
required: ['vendor', 'dateIso', 'items', 'sourceImageUrl'],
|
|
65
|
+
additionalProperties: false,
|
|
66
|
+
},
|
|
67
|
+
handler: (args) => {
|
|
68
|
+
const { idempotencyKey, ...body } = args;
|
|
69
|
+
return apiPost('/v1/sourcing/receipts', body, idempotencyKey);
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: 'get_my_demand_matches',
|
|
74
|
+
description: 'Unmet buyer demand for items THIS seller is holding or has sold before. ' +
|
|
75
|
+
"relation='in_stock' means it is in their inventory right now — money already on " +
|
|
76
|
+
"the shelf. relation='sold_before' means they have sold one, so they know where to " +
|
|
77
|
+
'get another. Prefer this over get_unmet_demand when advising one seller. ' +
|
|
78
|
+
'Requires analytics:read.',
|
|
79
|
+
inputSchema: {
|
|
80
|
+
type: 'object',
|
|
81
|
+
properties: {
|
|
82
|
+
days: {
|
|
83
|
+
type: 'integer',
|
|
84
|
+
minimum: 1,
|
|
85
|
+
maximum: 365,
|
|
86
|
+
description: 'Look-back window in days over buyer observations, 1-365. Default 60 — long enough that a slow-moving ' +
|
|
87
|
+
'category still registers. A shorter window reports only what is being hunted right now.',
|
|
88
|
+
},
|
|
89
|
+
minLookers: {
|
|
90
|
+
type: 'integer',
|
|
91
|
+
minimum: 1,
|
|
92
|
+
description: 'Minimum number of DISTINCT shoppers who looked for the item inside the window before it is reported ' +
|
|
93
|
+
'(>= 1, default 2) — distinct people, not total page views, so one person checking the same barcode all ' +
|
|
94
|
+
'afternoon never reads as demand. Raise it to see only what several buyers independently wanted.',
|
|
95
|
+
},
|
|
96
|
+
limit: {
|
|
97
|
+
type: 'integer',
|
|
98
|
+
minimum: 1,
|
|
99
|
+
maximum: 100,
|
|
100
|
+
description: 'Max rows to return, 1-100. Default 25. One row per matched barcode (GTIN), with in_stock preferred over ' +
|
|
101
|
+
'sold_before when the seller has both for the same item.',
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
additionalProperties: false,
|
|
105
|
+
},
|
|
106
|
+
handler: (args) => {
|
|
107
|
+
const q = new URLSearchParams();
|
|
108
|
+
for (const key of ['days', 'minLookers', 'limit']) {
|
|
109
|
+
if (args[key] != null)
|
|
110
|
+
q.set(key, String(args[key]));
|
|
111
|
+
}
|
|
112
|
+
const query = q.toString();
|
|
113
|
+
return apiGet(`/v1/sourcing/demand/mine${query ? `?${query}` : ''}`);
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: 'get_unmet_demand',
|
|
118
|
+
description: 'Items buyers looked for on OTHER sites that Crossly did not have, ranked by how ' +
|
|
119
|
+
'often we came up empty. Use this to answer "what should I go source". ' +
|
|
120
|
+
'medianPageCents is what the retailers were charging. Aggregate and anonymous — ' +
|
|
121
|
+
'there is no per-buyer view. Requires analytics:read.',
|
|
122
|
+
inputSchema: {
|
|
123
|
+
type: 'object',
|
|
124
|
+
properties: {
|
|
125
|
+
days: {
|
|
126
|
+
type: 'integer',
|
|
127
|
+
minimum: 1,
|
|
128
|
+
maximum: 365,
|
|
129
|
+
description: 'Look-back window in days over Scout observations, 1-365. Default 30. Widen it for seasonal or ' +
|
|
130
|
+
'slow-turning categories; narrow it to see what is being searched for this month.',
|
|
131
|
+
},
|
|
132
|
+
minLooks: {
|
|
133
|
+
type: 'integer',
|
|
134
|
+
minimum: 1,
|
|
135
|
+
description: 'Minimum TOTAL looks (every observation, not distinct shoppers) an item needs in the window before it is ' +
|
|
136
|
+
'reported (>= 1, default 3) — one person checking one obscure barcode is not a market. An item is only ' +
|
|
137
|
+
'listed at all if at least one of those looks was a miss.',
|
|
138
|
+
},
|
|
139
|
+
limit: {
|
|
140
|
+
type: 'integer',
|
|
141
|
+
minimum: 1,
|
|
142
|
+
maximum: 200,
|
|
143
|
+
description: 'Max rows to return, 1-200. Default 50. Rows are ranked by MISSES first (times a buyer looked and ' +
|
|
144
|
+
'Crossly had nothing) then by total looks, so a small limit still returns the most actionable gaps.',
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
additionalProperties: false,
|
|
148
|
+
},
|
|
149
|
+
handler: (args) => {
|
|
150
|
+
const q = new URLSearchParams();
|
|
151
|
+
for (const key of ['days', 'minLooks', 'limit']) {
|
|
152
|
+
if (args[key] != null)
|
|
153
|
+
q.set(key, String(args[key]));
|
|
154
|
+
}
|
|
155
|
+
const query = q.toString();
|
|
156
|
+
return apiGet(`/v1/sourcing/demand${query ? `?${query}` : ''}`);
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
];
|
|
160
|
+
//# sourceMappingURL=sourcing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sourcing.js","sourceRoot":"","sources":["../../src/tools/sourcing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spatial-auction.d.ts","sourceRoot":"","sources":["../../src/tools/spatial-auction.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,OAAO,EAAE,MAAM,YAAY,CAAC;AAsBvD,eAAO,MAAM,mBAAmB,EAAE,OAAO,EA4JxC,CAAC"}
|