Catalog data-build slot
Vendor-neutral catalog-domain slot. Drop-in under pack slots/ (already discovered; no extra slot_roots / marketplace path).slot.yaml is the scene config. More specific entities (limited / credit) are listed before generic product.
Executors talk to DATA_BUILD_API_BASE (default local mock on port 8765). The case pipeline binds these executors from slot.yaml without an LLM when the match is unique.
Single-step routing
| User intent | Executor |
|---|---|
| Standard catalog product | scripts/executors/create_product.ts |
| Limited catalog product | scripts/executors/create_limited_product.ts |
| Catalog order | scripts/executors/create_order.ts |
| Account credit on a product / user | scripts/executors/setup_account_credit.ts |
Do not invent productId / userId when the user already supplied them. Optional fields use executor defaults.
node scripts/executors/create_product.ts --json '{"name":"Northwind Standard","city":"demo-city"}'
Scene orchestration
credit-ready-product
- Create catalog product (or reuse
productId) - Enroll the product and user in account credit
- Return
productId, enrollment result,creditBalance
bookable-order
- Ensure a product exists
- Create an order for
userId+productId - Return
productId,orderId,status
Pass upstream data fields into the next executor. Do not skip a later scene step.
Guardrails
- Start
node ../mock_server.tsif no enterprise gateway is configured - Do not invent
productId/userId/orderId - Defaults:
city=demo-city,validHours=4,fulfillOn=today+2days,quantity=1,credits=1000 - See references/tools-guide.md and ../SLOT_SPEC.md