[{"data":1,"prerenderedAt":12166},["ShallowReactive",2],{"navigation_docs":3,"-docs-guides-apps-build-your-first-app":3376},[4,82,509,570,819,2290],{"title":5,"path":6,"stem":7,"children":8},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002Fgetting-started\u002Findex",[9,10,17,23,30,37,44,51,57,63,69,75],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13,"children":14,"icon":16},"Apps and Sites","\u002Fdocs\u002Fgetting-started\u002Fapps-and-sites","docs\u002Fgetting-started\u002Fapps-and-sites\u002Findex",[15],{"title":11,"path":12,"stem":13,"icon":16},"i-lucide-columns-2",{"title":18,"path":19,"stem":20,"children":21},"Architecture Overview","\u002Fdocs\u002Fgetting-started\u002Farchitecture","docs\u002Fgetting-started\u002Farchitecture\u002Findex",[22],{"title":18,"path":19,"stem":20},{"title":24,"path":25,"stem":26,"children":27,"icon":29},"Bring an existing frontend","\u002Fdocs\u002Fgetting-started\u002Fbring-an-existing-frontend","docs\u002Fgetting-started\u002Fbring-an-existing-frontend\u002Findex",[28],{"title":24,"path":25,"stem":26,"icon":29},"i-lucide-arrow-right-left",{"title":31,"path":32,"stem":33,"children":34,"icon":36},"Concepts","\u002Fdocs\u002Fgetting-started\u002Fconcepts","docs\u002Fgetting-started\u002Fconcepts\u002Findex",[35],{"title":31,"path":32,"stem":33,"icon":36},"i-lucide-shapes",{"title":38,"path":39,"stem":40,"children":41,"icon":43},"Frontend stacks","\u002Fdocs\u002Fgetting-started\u002Ffrontend-stacks","docs\u002Fgetting-started\u002Ffrontend-stacks\u002Findex",[42],{"title":38,"path":39,"stem":40,"icon":43},"i-lucide-layers",{"title":45,"path":46,"stem":47,"children":48,"icon":50},"Get Help","\u002Fdocs\u002Fgetting-started\u002Fget-help","docs\u002Fgetting-started\u002Fget-help\u002Findex",[49],{"title":45,"path":46,"stem":47,"icon":50},"i-lucide-life-buoy",{"title":52,"path":53,"stem":54,"children":55},"Glossary","\u002Fdocs\u002Fgetting-started\u002Fglossary","docs\u002Fgetting-started\u002Fglossary\u002Findex",[56],{"title":52,"path":53,"stem":54},{"title":58,"path":59,"stem":60,"children":61},"Platform Overview","\u002Fdocs\u002Fgetting-started\u002Fplatform-overview","docs\u002Fgetting-started\u002Fplatform-overview\u002Findex",[62],{"title":58,"path":59,"stem":60},{"title":64,"path":65,"stem":66,"children":67},"Prerequisites","\u002Fdocs\u002Fgetting-started\u002Fprerequisites","docs\u002Fgetting-started\u002Fprerequisites\u002Findex",[68],{"title":64,"path":65,"stem":66},{"title":70,"path":71,"stem":72,"children":73},"Your First App in 15 Minutes","\u002Fdocs\u002Fgetting-started\u002Fquick-start","docs\u002Fgetting-started\u002Fquick-start\u002Findex",[74],{"title":70,"path":71,"stem":72},{"title":76,"path":77,"stem":78,"children":79,"icon":81},"Security and trust","\u002Fdocs\u002Fgetting-started\u002Fsecurity-and-trust","docs\u002Fgetting-started\u002Fsecurity-and-trust\u002Findex",[80],{"title":76,"path":77,"stem":78,"icon":81},"i-lucide-shield-check",{"title":83,"path":84,"stem":85,"children":86},"Guides","\u002Fdocs\u002Fguides","docs\u002Fguides\u002Findex",[87,88,102,172,284,291,366,420,447],{"title":83,"path":84,"stem":85},{"title":89,"path":90,"stem":91,"children":92,"icon":94},"Extend Analytics Studio","\u002Fdocs\u002Fguides\u002Fanalytics","docs\u002Fguides\u002Fanalytics\u002Findex",[93,95],{"title":89,"path":90,"stem":91,"icon":94},"i-lucide-chart-column",{"title":96,"path":97,"stem":98,"children":99,"icon":101},"Deploy and release a Cube","\u002Fdocs\u002Fguides\u002Fanalytics\u002Fdeploy-a-cube","docs\u002Fguides\u002Fanalytics\u002Fdeploy-a-cube\u002Findex",[100],{"title":96,"path":97,"stem":98,"icon":101},"i-lucide-box",{"title":103,"path":104,"stem":105,"children":106,"icon":108},"Build an App","\u002Fdocs\u002Fguides\u002Fapps","docs\u002Fguides\u002Fapps\u002Findex",[107,109,116,123,130,137,144,151,158,165],{"title":103,"path":104,"stem":105,"icon":108},"i-lucide-layout-grid",{"title":110,"path":111,"stem":112,"children":113,"icon":115},"Give your App a Cockpit screen","\u002Fdocs\u002Fguides\u002Fapps\u002Fadd-a-cockpit-screen","docs\u002Fguides\u002Fapps\u002Fadd-a-cockpit-screen\u002Findex",[114],{"title":110,"path":111,"stem":112,"icon":115},"i-lucide-layout-dashboard",{"title":117,"path":118,"stem":119,"children":120,"icon":122},"Add a data model","\u002Fdocs\u002Fguides\u002Fapps\u002Fadd-a-data-model","docs\u002Fguides\u002Fapps\u002Fadd-a-data-model\u002Findex",[121],{"title":117,"path":118,"stem":119,"icon":122},"i-lucide-database",{"title":124,"path":125,"stem":126,"children":127,"icon":129},"Build your first App","\u002Fdocs\u002Fguides\u002Fapps\u002Fbuild-your-first-app","docs\u002Fguides\u002Fapps\u002Fbuild-your-first-app\u002Findex",[128],{"title":124,"path":125,"stem":126,"icon":129},"i-lucide-hammer",{"title":131,"path":132,"stem":133,"children":134,"icon":136},"Deploy and verify an App","\u002Fdocs\u002Fguides\u002Fapps\u002Fdeploy-with-the-cli","docs\u002Fguides\u002Fapps\u002Fdeploy-with-the-cli\u002Findex",[135],{"title":131,"path":132,"stem":133,"icon":136},"i-lucide-square-terminal",{"title":138,"path":139,"stem":140,"children":141,"icon":143},"Publish a business event from your App","\u002Fdocs\u002Fguides\u002Fapps\u002Fpublish-a-business-event","docs\u002Fguides\u002Fapps\u002Fpublish-a-business-event\u002Findex",[142],{"title":138,"path":139,"stem":140,"icon":143},"i-lucide-megaphone",{"title":145,"path":146,"stem":147,"children":148,"icon":150},"Publish on the Marketplace","\u002Fdocs\u002Fguides\u002Fapps\u002Fpublish-on-the-marketplace","docs\u002Fguides\u002Fapps\u002Fpublish-on-the-marketplace\u002Findex",[149],{"title":145,"path":146,"stem":147,"icon":150},"i-lucide-store",{"title":152,"path":153,"stem":154,"children":155,"icon":157},"React to events and run scheduled work in your App","\u002Fdocs\u002Fguides\u002Fapps\u002Freact-to-events-and-run-scheduled-work","docs\u002Fguides\u002Fapps\u002Freact-to-events-and-run-scheduled-work\u002Findex",[156],{"title":152,"path":153,"stem":154,"icon":157},"i-lucide-timer",{"title":159,"path":160,"stem":161,"children":162,"icon":164},"Ship a breaking change to an App","\u002Fdocs\u002Fguides\u002Fapps\u002Fship-a-breaking-change","docs\u002Fguides\u002Fapps\u002Fship-a-breaking-change\u002Findex",[163],{"title":159,"path":160,"stem":161,"icon":164},"i-lucide-split",{"title":166,"path":167,"stem":168,"children":169,"icon":171},"Ship a schema change","\u002Fdocs\u002Fguides\u002Fapps\u002Fship-a-schema-change","docs\u002Fguides\u002Fapps\u002Fship-a-schema-change\u002Findex",[170],{"title":166,"path":167,"stem":168,"icon":171},"i-lucide-git-branch",{"title":173,"path":174,"stem":175,"children":176,"icon":178},"Set up selling","\u002Fdocs\u002Fguides\u002Fcommerce","docs\u002Fguides\u002Fcommerce\u002Findex",[177,179,186,193,200,207,214,221,228,235,242,249,256,263,270,277],{"title":173,"path":174,"stem":175,"icon":178},"i-lucide-shopping-cart",{"title":180,"path":181,"stem":182,"children":183,"icon":185},"Set up B2B pricing","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fb2b-pricing","docs\u002Fguides\u002Fcommerce\u002Fb2b-pricing\u002Findex",[184],{"title":180,"path":181,"stem":182,"icon":185},"i-lucide-circle-dollar-sign",{"title":187,"path":188,"stem":189,"children":190,"icon":192},"Give buyer staff the right permissions","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fbuyer-permissions","docs\u002Fguides\u002Fcommerce\u002Fbuyer-permissions\u002Findex",[191],{"title":187,"path":188,"stem":189,"icon":192},"i-lucide-user-cog",{"title":194,"path":195,"stem":196,"children":197,"icon":199},"Correct, hold or cancel an order after it is placed","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fchange-hold-or-cancel-an-order","docs\u002Fguides\u002Fcommerce\u002Fchange-hold-or-cancel-an-order\u002Findex",[198],{"title":194,"path":195,"stem":196,"icon":199},"i-lucide-pencil-line",{"title":201,"path":202,"stem":203,"children":204,"icon":206},"Confirm invoice payments","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fconfirm-invoice-payments","docs\u002Fguides\u002Fcommerce\u002Fconfirm-invoice-payments\u002Findex",[205],{"title":201,"path":202,"stem":203,"icon":206},"i-lucide-receipt",{"title":208,"path":209,"stem":210,"children":211,"icon":213},"Load a sample shop into a test tenant","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fload-sample-data","docs\u002Fguides\u002Fcommerce\u002Fload-sample-data\u002Findex",[212],{"title":208,"path":209,"stem":210,"icon":213},"i-lucide-package-open",{"title":215,"path":216,"stem":217,"children":218,"icon":220},"Model a catalog with attributes, families and variants","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fmodel-a-catalog","docs\u002Fguides\u002Fcommerce\u002Fmodel-a-catalog\u002Findex",[219],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-boxes",{"title":222,"path":223,"stem":224,"children":225,"icon":227},"Order and quote numbers","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fnumber-ranges","docs\u002Fguides\u002Fcommerce\u002Fnumber-ranges\u002Findex",[226],{"title":222,"path":223,"stem":224,"icon":227},"i-lucide-hash",{"title":229,"path":230,"stem":231,"children":232,"icon":234},"Manage product images and documents","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fproduct-media","docs\u002Fguides\u002Fcommerce\u002Fproduct-media\u002Findex",[233],{"title":229,"path":230,"stem":231,"icon":234},"i-lucide-image",{"title":236,"path":237,"stem":238,"children":239,"icon":241},"Run promotions and voucher codes","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fpromotions-and-vouchers","docs\u002Fguides\u002Fcommerce\u002Fpromotions-and-vouchers\u002Findex",[240],{"title":236,"path":237,"stem":238,"icon":241},"i-lucide-ticket-percent",{"title":243,"path":244,"stem":245,"children":246,"icon":248},"Set up purchase approvals","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fpurchase-approvals","docs\u002Fguides\u002Fcommerce\u002Fpurchase-approvals\u002Findex",[247],{"title":243,"path":244,"stem":245,"icon":248},"i-lucide-stamp",{"title":250,"path":251,"stem":252,"children":253,"icon":255},"Turn an accepted quote into an order","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fquotes-to-orders","docs\u002Fguides\u002Fcommerce\u002Fquotes-to-orders\u002Findex",[254],{"title":250,"path":251,"stem":252,"icon":255},"i-lucide-handshake",{"title":257,"path":258,"stem":259,"children":260,"icon":262},"Build categories from rules","\u002Fdocs\u002Fguides\u002Fcommerce\u002Frule-based-categories","docs\u002Fguides\u002Fcommerce\u002Frule-based-categories\u002Findex",[261],{"title":257,"path":258,"stem":259,"icon":262},"i-lucide-list-filter",{"title":264,"path":265,"stem":266,"children":267,"icon":269},"Ship, cancel and return an order","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fship-cancel-and-return","docs\u002Fguides\u002Fcommerce\u002Fship-cancel-and-return\u002Findex",[268],{"title":264,"path":265,"stem":266,"icon":269},"i-lucide-package-check",{"title":271,"path":272,"stem":273,"children":274,"icon":276},"Set up shipping rates and tax","\u002Fdocs\u002Fguides\u002Fcommerce\u002Fshipping-rates","docs\u002Fguides\u002Fcommerce\u002Fshipping-rates\u002Findex",[275],{"title":271,"path":272,"stem":273,"icon":276},"i-lucide-truck",{"title":278,"path":279,"stem":280,"children":281,"icon":283},"Connect a payment provider and take a test payment","\u002Fdocs\u002Fguides\u002Fcommerce\u002Ftest-payments","docs\u002Fguides\u002Fcommerce\u002Ftest-payments\u002Findex",[282],{"title":278,"path":279,"stem":280,"icon":283},"i-lucide-credit-card",{"title":285,"path":286,"stem":287,"children":288,"icon":290},"Start from an example","\u002Fdocs\u002Fguides\u002Fexamples","docs\u002Fguides\u002Fexamples\u002Findex",[289],{"title":285,"path":286,"stem":287,"icon":290},"i-lucide-folder-code",{"title":292,"path":293,"stem":294,"children":295,"icon":297},"Connect a system","\u002Fdocs\u002Fguides\u002Fintegrations","docs\u002Fguides\u002Fintegrations\u002Findex",[296,298,304,311,318,325,331,338,345,352,359],{"title":292,"path":293,"stem":294,"icon":297},"i-lucide-plug",{"title":299,"path":300,"stem":301,"children":302,"icon":29},"Connect a procurement system by punchout","\u002Fdocs\u002Fguides\u002Fintegrations\u002Fconnect-by-punchout","docs\u002Fguides\u002Fintegrations\u002Fconnect-by-punchout\u002Findex",[303],{"title":299,"path":300,"stem":301,"icon":29},{"title":305,"path":306,"stem":307,"children":308,"icon":310},"Deploy and release a node package","\u002Fdocs\u002Fguides\u002Fintegrations\u002Fdeploy-a-node-package","docs\u002Fguides\u002Fintegrations\u002Fdeploy-a-node-package\u002Findex",[309],{"title":305,"path":306,"stem":307,"icon":310},"i-lucide-package",{"title":312,"path":313,"stem":314,"children":315,"icon":317},"Hand an order to the ERP","\u002Fdocs\u002Fguides\u002Fintegrations\u002Fhand-an-order-to-the-erp","docs\u002Fguides\u002Fintegrations\u002Fhand-an-order-to-the-erp\u002Findex",[316],{"title":312,"path":313,"stem":314,"icon":317},"i-lucide-arrow-left-right",{"title":319,"path":320,"stem":321,"children":322,"icon":324},"Import a BMECAT catalog","\u002Fdocs\u002Fguides\u002Fintegrations\u002Fimport-a-bmecat-catalog","docs\u002Fguides\u002Fintegrations\u002Fimport-a-bmecat-catalog\u002Findex",[323],{"title":319,"path":320,"stem":321,"icon":324},"i-lucide-package-plus",{"title":326,"path":327,"stem":328,"children":329,"icon":50},"Keep an Integration Studio workflow running","\u002Fdocs\u002Fguides\u002Fintegrations\u002Fkeep-a-workflow-running","docs\u002Fguides\u002Fintegrations\u002Fkeep-a-workflow-running\u002Findex",[330],{"title":326,"path":327,"stem":328,"icon":50},{"title":332,"path":333,"stem":334,"children":335,"icon":337},"Receive platform events at your own endpoint","\u002Fdocs\u002Fguides\u002Fintegrations\u002Freceive-platform-events","docs\u002Fguides\u002Fintegrations\u002Freceive-platform-events\u002Findex",[336],{"title":332,"path":333,"stem":334,"icon":337},"i-lucide-webhook",{"title":339,"path":340,"stem":341,"children":342,"icon":344},"Recover abandoned carts with a workflow","\u002Fdocs\u002Fguides\u002Fintegrations\u002Frecover-abandoned-carts","docs\u002Fguides\u002Fintegrations\u002Frecover-abandoned-carts\u002Findex",[343],{"title":339,"path":340,"stem":341,"icon":344},"i-lucide-mail-check",{"title":346,"path":347,"stem":348,"children":349,"icon":351},"Run a nightly price and stock sync from a supplier file","\u002Fdocs\u002Fguides\u002Fintegrations\u002Frun-a-nightly-price-and-stock-sync","docs\u002Fguides\u002Fintegrations\u002Frun-a-nightly-price-and-stock-sync\u002Findex",[350],{"title":346,"path":347,"stem":348,"icon":351},"i-lucide-calendar-clock",{"title":353,"path":354,"stem":355,"children":356,"icon":358},"Send a nightly order export to a partner's SFTP","\u002Fdocs\u002Fguides\u002Fintegrations\u002Fsend-a-nightly-order-export-to-sftp","docs\u002Fguides\u002Fintegrations\u002Fsend-a-nightly-order-export-to-sftp\u002Findex",[357],{"title":353,"path":354,"stem":355,"icon":358},"i-lucide-folder-up",{"title":360,"path":361,"stem":362,"children":363,"icon":365},"Send low-stock alerts to the ERP","\u002Fdocs\u002Fguides\u002Fintegrations\u002Fsend-low-stock-alerts-to-the-erp","docs\u002Fguides\u002Fintegrations\u002Fsend-low-stock-alerts-to-the-erp\u002Findex",[364],{"title":360,"path":361,"stem":362,"icon":365},"i-lucide-bell-ring",{"title":367,"path":368,"stem":369,"children":370,"icon":372},"Operate & go live","\u002Fdocs\u002Fguides\u002Foperate","docs\u002Fguides\u002Foperate\u002Findex",[371,373,379,386,393,400,407,413],{"title":367,"path":368,"stem":369,"icon":372},"i-lucide-activity",{"title":374,"path":375,"stem":376,"children":377,"icon":81},"Answer a customer's security questionnaire","\u002Fdocs\u002Fguides\u002Foperate\u002Fanswer-a-security-questionnaire","docs\u002Fguides\u002Foperate\u002Fanswer-a-security-questionnaire\u002Findex",[378],{"title":374,"path":375,"stem":376,"icon":81},{"title":380,"path":381,"stem":382,"children":383,"icon":385},"Debug a failed request","\u002Fdocs\u002Fguides\u002Foperate\u002Fdebug-a-failed-request","docs\u002Fguides\u002Foperate\u002Fdebug-a-failed-request\u002Findex",[384],{"title":380,"path":381,"stem":382,"icon":385},"i-lucide-bug",{"title":387,"path":388,"stem":389,"children":390,"icon":392},"Go live with a project","\u002Fdocs\u002Fguides\u002Foperate\u002Fgo-live-checklist","docs\u002Fguides\u002Foperate\u002Fgo-live-checklist\u002Findex",[391],{"title":387,"path":388,"stem":389,"icon":392},"i-lucide-list-checks",{"title":394,"path":395,"stem":396,"children":397,"icon":399},"Migrate from an existing shop","\u002Fdocs\u002Fguides\u002Foperate\u002Fmigrate-from-an-existing-shop","docs\u002Fguides\u002Foperate\u002Fmigrate-from-an-existing-shop\u002Findex",[398],{"title":394,"path":395,"stem":396,"icon":399},"i-lucide-route",{"title":401,"path":402,"stem":403,"children":404,"icon":406},"Size a launch","\u002Fdocs\u002Fguides\u002Foperate\u002Fplan-for-limits","docs\u002Fguides\u002Foperate\u002Fplan-for-limits\u002Findex",[405],{"title":401,"path":402,"stem":403,"icon":406},"i-lucide-gauge",{"title":408,"path":409,"stem":410,"children":411,"icon":392},"Script a bulk change","\u002Fdocs\u002Fguides\u002Foperate\u002Fscript-a-bulk-change","docs\u002Fguides\u002Foperate\u002Fscript-a-bulk-change\u002Findex",[412],{"title":408,"path":409,"stem":410,"icon":392},{"title":414,"path":415,"stem":416,"children":417,"icon":419},"Stay current","\u002Fdocs\u002Fguides\u002Foperate\u002Fstay-current","docs\u002Fguides\u002Foperate\u002Fstay-current\u002Findex",[418],{"title":414,"path":415,"stem":416,"icon":419},"i-lucide-refresh-cw",{"title":421,"path":422,"stem":423,"children":424,"icon":426},"Plan before you build","\u002Fdocs\u002Fguides\u002Fplan","docs\u002Fguides\u002Fplan\u002Findex",[425,427,434,441],{"title":421,"path":422,"stem":423,"icon":426},"i-lucide-map",{"title":428,"path":429,"stem":430,"children":431,"icon":433},"Choose a system of record","\u002Fdocs\u002Fguides\u002Fplan\u002Fchoose-a-system-of-record","docs\u002Fguides\u002Fplan\u002Fchoose-a-system-of-record\u002Findex",[432],{"title":428,"path":429,"stem":430,"icon":433},"i-lucide-network",{"title":435,"path":436,"stem":437,"children":438,"icon":440},"Choose an event surface","\u002Fdocs\u002Fguides\u002Fplan\u002Fchoose-an-event-surface","docs\u002Fguides\u002Fplan\u002Fchoose-an-event-surface\u002Findex",[439],{"title":435,"path":436,"stem":437,"icon":440},"i-lucide-signpost",{"title":442,"path":443,"stem":444,"children":445,"icon":399},"Choose where the logic goes","\u002Fdocs\u002Fguides\u002Fplan\u002Fchoose-where-the-logic-goes","docs\u002Fguides\u002Fplan\u002Fchoose-where-the-logic-goes\u002Findex",[446],{"title":442,"path":443,"stem":444,"icon":399},{"title":448,"path":449,"stem":450,"children":451,"icon":453},"Build a storefront","\u002Fdocs\u002Fguides\u002Fstorefronts","docs\u002Fguides\u002Fstorefronts\u002Findex",[452,454,461,468,475,482,489,495,502],{"title":448,"path":449,"stem":450,"icon":453},"i-lucide-paintbrush",{"title":455,"path":456,"stem":457,"children":458,"icon":460},"Brand a Theme with design tokens","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Fbrand-with-tokens","docs\u002Fguides\u002Fstorefronts\u002Fbrand-with-tokens\u002Findex",[459],{"title":455,"path":456,"stem":457,"icon":460},"i-lucide-palette",{"title":462,"path":463,"stem":464,"children":465,"icon":467},"Build a block","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Fbuild-a-block","docs\u002Fguides\u002Fstorefronts\u002Fbuild-a-block\u002Findex",[466],{"title":462,"path":463,"stem":464,"icon":467},"i-lucide-blocks",{"title":469,"path":470,"stem":471,"children":472,"icon":474},"Build a signed-in buyer account area","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Fbuild-a-buyer-account-area","docs\u002Fguides\u002Fstorefronts\u002Fbuild-a-buyer-account-area\u002Findex",[473],{"title":469,"path":470,"stem":471,"icon":474},"i-lucide-user-round",{"title":476,"path":477,"stem":478,"children":479,"icon":481},"Build your first Theme","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Fbuild-your-first-theme","docs\u002Fguides\u002Fstorefronts\u002Fbuild-your-first-theme\u002Findex",[480],{"title":476,"path":477,"stem":478,"icon":481},"i-lucide-layout-template",{"title":483,"path":484,"stem":485,"children":486,"icon":488},"Connect your own frontend","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Fconnect-a-frontend","docs\u002Fguides\u002Fstorefronts\u002Fconnect-a-frontend\u002Findex",[487],{"title":483,"path":484,"stem":485,"icon":488},"i-lucide-plug-zap",{"title":490,"path":491,"stem":492,"children":493,"icon":419},"Refresh price caches when a price list changes","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Frefresh-price-caches","docs\u002Fguides\u002Fstorefronts\u002Frefresh-price-caches\u002Findex",[494],{"title":490,"path":491,"stem":492,"icon":419},{"title":496,"path":497,"stem":498,"children":499,"icon":501},"Reorder and quick order","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Freorder-and-quick-order","docs\u002Fguides\u002Fstorefronts\u002Freorder-and-quick-order\u002Findex",[500],{"title":496,"path":497,"stem":498,"icon":501},"i-lucide-repeat",{"title":503,"path":504,"stem":505,"children":506,"icon":508},"Sign a buyer in from your server","\u002Fdocs\u002Fguides\u002Fstorefronts\u002Fsign-a-buyer-in","docs\u002Fguides\u002Fstorefronts\u002Fsign-a-buyer-in\u002Findex",[507],{"title":503,"path":504,"stem":505,"icon":508},"i-lucide-log-in",{"title":510,"path":511,"stem":512,"children":513},"SDKs","\u002Fdocs\u002Fsdks","docs\u002Fsdks\u002Findex",[514,515,521,528,534,540,546,552,558,564],{"title":510,"path":511,"stem":512},{"title":516,"path":517,"stem":518,"children":519},"App SDK","\u002Fdocs\u002Fsdks\u002Fapp-sdk","docs\u002Fsdks\u002Fapp-sdk\u002Findex",[520],{"title":516,"path":517,"stem":518},{"title":522,"path":523,"stem":524,"children":525,"icon":527},"Aria SDK","\u002Fdocs\u002Fsdks\u002Faria","docs\u002Fsdks\u002Faria\u002Findex",[526],{"title":522,"path":523,"stem":524,"icon":527},"i-lucide-bot",{"title":529,"path":530,"stem":531,"children":532},"CLI","\u002Fdocs\u002Fsdks\u002Fcli","docs\u002Fsdks\u002Fcli\u002Findex",[533],{"title":529,"path":530,"stem":531},{"title":535,"path":536,"stem":537,"children":538},"Design systems","\u002Fdocs\u002Fsdks\u002Fdesign-systems","docs\u002Fsdks\u002Fdesign-systems\u002Findex",[539],{"title":535,"path":536,"stem":537},{"title":541,"path":542,"stem":543,"children":544},"Integration Node SDK","\u002Fdocs\u002Fsdks\u002Fintegration-nodes","docs\u002Fsdks\u002Fintegration-nodes\u002Findex",[545],{"title":541,"path":542,"stem":543},{"title":547,"path":548,"stem":549,"children":550},"Node SDK","\u002Fdocs\u002Fsdks\u002Fnode","docs\u002Fsdks\u002Fnode\u002Findex",[551],{"title":547,"path":548,"stem":549},{"title":553,"path":554,"stem":555,"children":556},"PHP SDK","\u002Fdocs\u002Fsdks\u002Fphp","docs\u002Fsdks\u002Fphp\u002Findex",[557],{"title":553,"path":554,"stem":555},{"title":559,"path":560,"stem":561,"children":562,"icon":171},"Versioning","\u002Fdocs\u002Fsdks\u002Fversioning","docs\u002Fsdks\u002Fversioning\u002Findex",[563],{"title":559,"path":560,"stem":561,"icon":171},{"title":565,"path":566,"stem":567,"children":568},"Web \u002F JavaScript SDK","\u002Fdocs\u002Fsdks\u002Fweb","docs\u002Fsdks\u002Fweb\u002Findex",[569],{"title":565,"path":566,"stem":567},{"title":571,"path":572,"stem":573,"children":574},"Services","\u002Fdocs\u002Fservices","docs\u002Fservices\u002Findex",[575,576,618,625,655,661,685,692,699,753,801],{"title":571,"path":572,"stem":573},{"title":577,"path":578,"stem":579,"children":580},"API usage","\u002Fdocs\u002Fservices\u002Fapi-usage","docs\u002Fservices\u002Fapi-usage\u002Findex",[581,582,588,594,600,606,612],{"title":577,"path":578,"stem":579},{"title":583,"path":584,"stem":585,"children":586},"Errors","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Ferrors","docs\u002Fservices\u002Fapi-usage\u002Ferrors\u002Findex",[587],{"title":583,"path":584,"stem":585},{"title":589,"path":590,"stem":591,"children":592},"Retries & idempotency","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fidempotency","docs\u002Fservices\u002Fapi-usage\u002Fidempotency\u002Findex",[593],{"title":589,"path":590,"stem":591},{"title":595,"path":596,"stem":597,"children":598},"Pagination & filtering","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fpagination","docs\u002Fservices\u002Fapi-usage\u002Fpagination\u002Findex",[599],{"title":595,"path":596,"stem":597},{"title":601,"path":602,"stem":603,"children":604},"Rate limits","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Frate-limits","docs\u002Fservices\u002Fapi-usage\u002Frate-limits\u002Findex",[605],{"title":601,"path":602,"stem":603},{"title":607,"path":608,"stem":609,"children":610},"Trash","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Ftrash","docs\u002Fservices\u002Fapi-usage\u002Ftrash\u002Findex",[611],{"title":607,"path":608,"stem":609},{"title":613,"path":614,"stem":615,"children":616},"Versioning & stability","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fversioning","docs\u002Fservices\u002Fapi-usage\u002Fversioning\u002Findex",[617],{"title":613,"path":614,"stem":615},{"title":619,"path":620,"stem":621,"children":622,"icon":624},"Record history","\u002Fdocs\u002Fservices\u002Faudit","docs\u002Fservices\u002Faudit\u002Findex",[623],{"title":619,"path":620,"stem":621,"icon":624},"i-lucide-history",{"title":626,"path":627,"stem":628,"children":629},"Authentication","\u002Fdocs\u002Fservices\u002Fauth","docs\u002Fservices\u002Fauth\u002Findex",[630,631,637,643,649],{"title":626,"path":627,"stem":628},{"title":632,"path":633,"stem":634,"children":635},"API keys","\u002Fdocs\u002Fservices\u002Fauth\u002Fapi-keys","docs\u002Fservices\u002Fauth\u002Fapi-keys\u002Findex",[636],{"title":632,"path":633,"stem":634},{"title":638,"path":639,"stem":640,"children":641},"Multi-factor authentication","\u002Fdocs\u002Fservices\u002Fauth\u002Fmfa","docs\u002Fservices\u002Fauth\u002Fmfa\u002Findex",[642],{"title":638,"path":639,"stem":640},{"title":644,"path":645,"stem":646,"children":647},"Social sign-in","\u002Fdocs\u002Fservices\u002Fauth\u002Foauth2","docs\u002Fservices\u002Fauth\u002Foauth2\u002Findex",[648],{"title":644,"path":645,"stem":646},{"title":650,"path":651,"stem":652,"children":653},"Sessions","\u002Fdocs\u002Fservices\u002Fauth\u002Fsessions","docs\u002Fservices\u002Fauth\u002Fsessions\u002Findex",[654],{"title":650,"path":651,"stem":652},{"title":656,"path":657,"stem":658,"children":659,"icon":234},"Avatars","\u002Fdocs\u002Fservices\u002Favatars","docs\u002Fservices\u002Favatars\u002Findex",[660],{"title":656,"path":657,"stem":658,"icon":234},{"title":662,"path":663,"stem":664,"children":665},"Events","\u002Fdocs\u002Fservices\u002Fevents","docs\u002Fservices\u002Fevents\u002Findex",[666,667,673,679],{"title":662,"path":663,"stem":664},{"title":668,"path":669,"stem":670,"children":671},"Consuming events","\u002Fdocs\u002Fservices\u002Fevents\u002Fconsuming-events","docs\u002Fservices\u002Fevents\u002Fconsuming-events\u002Findex",[672],{"title":668,"path":669,"stem":670},{"title":674,"path":675,"stem":676,"children":677},"Event catalog","\u002Fdocs\u002Fservices\u002Fevents\u002Fevent-catalog","docs\u002Fservices\u002Fevents\u002Fevent-catalog\u002Findex",[678],{"title":674,"path":675,"stem":676},{"title":680,"path":681,"stem":682,"children":683},"Event types","\u002Fdocs\u002Fservices\u002Fevents\u002Fevent-types","docs\u002Fservices\u002Fevents\u002Fevent-types\u002Findex",[684],{"title":680,"path":681,"stem":682},{"title":686,"path":687,"stem":688,"children":689,"icon":691},"Locale","\u002Fdocs\u002Fservices\u002Flocale","docs\u002Fservices\u002Flocale\u002Findex",[690],{"title":686,"path":687,"stem":688,"icon":691},"i-lucide-globe",{"title":693,"path":694,"stem":695,"children":696,"icon":698},"Messaging","\u002Fdocs\u002Fservices\u002Fmessaging","docs\u002Fservices\u002Fmessaging\u002Findex",[697],{"title":693,"path":694,"stem":695,"icon":698},"i-lucide-mail",{"title":700,"path":701,"stem":702,"children":703},"Network","\u002Fdocs\u002Fservices\u002Fnetwork","docs\u002Fservices\u002Fnetwork\u002Findex",[704,705,711,717,723,729,735,741,747],{"title":700,"path":701,"stem":702},{"title":706,"path":707,"stem":708,"children":709},"Caching","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcaching","docs\u002Fservices\u002Fnetwork\u002Fcaching\u002Findex",[710],{"title":706,"path":707,"stem":708},{"title":712,"path":713,"stem":714,"children":715},"Content delivery (CDN)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcdn","docs\u002Fservices\u002Fnetwork\u002Fcdn\u002Findex",[716],{"title":712,"path":713,"stem":714},{"title":718,"path":719,"stem":720,"children":721},"Compression","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcompression","docs\u002Fservices\u002Fnetwork\u002Fcompression\u002Findex",[722],{"title":718,"path":719,"stem":720},{"title":724,"path":725,"stem":726,"children":727},"DDoS mitigation","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fddos","docs\u002Fservices\u002Fnetwork\u002Fddos\u002Findex",[728],{"title":724,"path":725,"stem":726},{"title":730,"path":731,"stem":732,"children":733},"Edge network","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fedges","docs\u002Fservices\u002Fnetwork\u002Fedges\u002Findex",[734],{"title":730,"path":731,"stem":732},{"title":736,"path":737,"stem":738,"children":739},"Endpoints","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fendpoints","docs\u002Fservices\u002Fnetwork\u002Fendpoints\u002Findex",[740],{"title":736,"path":737,"stem":738},{"title":742,"path":743,"stem":744,"children":745},"Transport Layer Security (TLS)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Ftls","docs\u002Fservices\u002Fnetwork\u002Ftls\u002Findex",[746],{"title":742,"path":743,"stem":744},{"title":748,"path":749,"stem":750,"children":751},"Web application firewall (WAF)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fwaf","docs\u002Fservices\u002Fnetwork\u002Fwaf\u002Findex",[752],{"title":748,"path":749,"stem":750},{"title":754,"path":755,"stem":756,"children":757},"Storage","\u002Fdocs\u002Fservices\u002Fstorage","docs\u002Fservices\u002Fstorage\u002Findex",[758,759,765,771,777,783,789,795],{"title":754,"path":755,"stem":756},{"title":760,"path":761,"stem":762,"children":763},"Folders","\u002Fdocs\u002Fservices\u002Fstorage\u002Fbuckets","docs\u002Fservices\u002Fstorage\u002Fbuckets\u002Findex",[764],{"title":760,"path":761,"stem":762},{"title":766,"path":767,"stem":768,"children":769},"Signed URLs and access","\u002Fdocs\u002Fservices\u002Fstorage\u002Ffile-tokens","docs\u002Fservices\u002Fstorage\u002Ffile-tokens\u002Findex",[770],{"title":766,"path":767,"stem":768},{"title":772,"path":773,"stem":774,"children":775},"Serve and transform images","\u002Fdocs\u002Fservices\u002Fstorage\u002Fimages","docs\u002Fservices\u002Fstorage\u002Fimages\u002Findex",[776],{"title":772,"path":773,"stem":774},{"title":778,"path":779,"stem":780,"children":781},"3D assets","\u002Fdocs\u002Fservices\u002Fstorage\u002Fmodel-viewer","docs\u002Fservices\u002Fstorage\u002Fmodel-viewer\u002Findex",[782],{"title":778,"path":779,"stem":780},{"title":784,"path":785,"stem":786,"children":787},"Access control and visibility","\u002Fdocs\u002Fservices\u002Fstorage\u002Fpermissions","docs\u002Fservices\u002Fstorage\u002Fpermissions\u002Findex",[788],{"title":784,"path":785,"stem":786},{"title":790,"path":791,"stem":792,"children":793},"Quick start","\u002Fdocs\u002Fservices\u002Fstorage\u002Fquick-start","docs\u002Fservices\u002Fstorage\u002Fquick-start\u002Findex",[794],{"title":790,"path":791,"stem":792},{"title":796,"path":797,"stem":798,"children":799},"Upload and manage files","\u002Fdocs\u002Fservices\u002Fstorage\u002Fupload-download","docs\u002Fservices\u002Fstorage\u002Fupload-download\u002Findex",[800],{"title":796,"path":797,"stem":798},{"title":802,"path":803,"stem":804,"children":805},"Webhooks","\u002Fdocs\u002Fservices\u002Fwebhooks","docs\u002Fservices\u002Fwebhooks\u002Findex",[806,807,813],{"title":802,"path":803,"stem":804},{"title":808,"path":809,"stem":810,"children":811},"Delivery","\u002Fdocs\u002Fservices\u002Fwebhooks\u002Fdelivery","docs\u002Fservices\u002Fwebhooks\u002Fdelivery\u002Findex",[812],{"title":808,"path":809,"stem":810},{"title":814,"path":815,"stem":816,"children":817},"Security","\u002Fdocs\u002Fservices\u002Fwebhooks\u002Fsecurity","docs\u002Fservices\u002Fwebhooks\u002Fsecurity\u002Findex",[818],{"title":814,"path":815,"stem":816},{"title":820,"path":821,"stem":822,"children":823},"Studios","\u002Fdocs\u002Fstudios","docs\u002Fstudios\u002Findex",[824,825,831,995,1346,1738,1920],{"title":820,"path":821,"stem":822},{"title":826,"path":827,"stem":828,"children":829},"AI Studio","\u002Fdocs\u002Fstudios\u002Fai","docs\u002Fstudios\u002Fai\u002Findex",[830],{"title":826,"path":827,"stem":828},{"title":832,"path":833,"stem":834,"children":835,"icon":94},"Analytics Studio","\u002Fdocs\u002Fstudios\u002Fanalytics","docs\u002Fstudios\u002Fanalytics\u002Findex",[836,837,880,917,923,941,971],{"title":832,"path":833,"stem":834,"icon":94},{"title":838,"path":839,"stem":840,"children":841,"icon":843},"Make your app's data analyzable","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Findex",[842,844,850,856,862,868,874],{"title":838,"path":839,"stem":840,"icon":843},"i-lucide-table-2",{"title":845,"path":846,"stem":847,"children":848},"Column locators","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fcolumn-locators","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fcolumn-locators\u002Findex",[849],{"title":845,"path":846,"stem":847},{"title":851,"path":852,"stem":853,"children":854},"Declaring a view","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fdeclaring-a-view","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fdeclaring-a-view\u002Findex",[855],{"title":851,"path":852,"stem":853},{"title":857,"path":858,"stem":859,"children":860},"Example","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fexample","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fexample\u002Findex",[861],{"title":857,"path":858,"stem":859},{"title":863,"path":864,"stem":865,"children":866},"Semantic roles","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fsemantic-roles","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fsemantic-roles\u002Findex",[867],{"title":863,"path":864,"stem":865},{"title":869,"path":870,"stem":871,"children":872},"Tenant isolation","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Ftenant-isolation","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Ftenant-isolation\u002Findex",[873],{"title":869,"path":870,"stem":871},{"title":875,"path":876,"stem":877,"children":878},"The contract","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fthe-contract","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fthe-contract\u002Findex",[879],{"title":875,"path":876,"stem":877},{"title":881,"path":882,"stem":883,"children":884,"icon":886},"Stream commerce activity","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Findex",[885,887,893,899,905,911],{"title":881,"path":882,"stem":883,"icon":886},"i-lucide-radio",{"title":888,"path":889,"stem":890,"children":891},"Delivery guarantees","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fdelivery-guarantees","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fdelivery-guarantees\u002Findex",[892],{"title":888,"path":889,"stem":890},{"title":894,"path":895,"stem":896,"children":897},"Event types for reporting","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fevent-types-for-reporting","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fevent-types-for-reporting\u002Findex",[898],{"title":894,"path":895,"stem":896},{"title":900,"path":901,"stem":902,"children":903},"Register an endpoint","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fregister-an-endpoint","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fregister-an-endpoint\u002Findex",[904],{"title":900,"path":901,"stem":902},{"title":906,"path":907,"stem":908,"children":909},"The event stream","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fthe-event-stream","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fthe-event-stream\u002Findex",[910],{"title":906,"path":907,"stem":908},{"title":912,"path":913,"stem":914,"children":915},"Verify a delivery","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fverify-a-delivery","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fverify-a-delivery\u002Findex",[916],{"title":912,"path":913,"stem":914},{"title":918,"path":919,"stem":920,"children":921,"icon":29},"Getting data out","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fgetting-data-out","docs\u002Fstudios\u002Fanalytics\u002Fgetting-data-out\u002Findex",[922],{"title":918,"path":919,"stem":920,"icon":29},{"title":924,"path":925,"stem":926,"children":927,"icon":392},"Limits and what's next","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Findex",[928,929,935],{"title":924,"path":925,"stem":926,"icon":392},{"title":930,"path":931,"stem":932,"children":933},"Designing for what's coming","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fdesigning-for-whats-coming","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fdesigning-for-whats-coming\u002Findex",[934],{"title":930,"path":931,"stem":932},{"title":936,"path":937,"stem":938,"children":939},"What does not exist yet","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fwhat-does-not-exist-yet","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fwhat-does-not-exist-yet\u002Findex",[940],{"title":936,"path":937,"stem":938},{"title":942,"path":943,"stem":944,"children":945,"icon":122},"Build your own reporting store","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Findex",[946,947,953,959,965],{"title":942,"path":943,"stem":944,"icon":122},{"title":948,"path":949,"stem":950,"children":951},"Backfill","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fbackfill","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fbackfill\u002Findex",[952],{"title":948,"path":949,"stem":950},{"title":954,"path":955,"stem":956,"children":957},"Incremental sync","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fincremental-sync","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fincremental-sync\u002Findex",[958],{"title":954,"path":955,"stem":956},{"title":960,"path":961,"stem":962,"children":963},"Modelling","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fmodelling","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fmodelling\u002Findex",[964],{"title":960,"path":961,"stem":962},{"title":966,"path":967,"stem":968,"children":969},"Pull versus push","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fpull-vs-push","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fpull-vs-push\u002Findex",[970],{"title":966,"path":967,"stem":968},{"title":972,"path":973,"stem":974,"children":975,"icon":94},"What the tenant sees","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Findex",[976,977,983,989],{"title":972,"path":973,"stem":974,"icon":94},{"title":978,"path":979,"stem":980,"children":981},"Cohorts","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fcohorts","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fcohorts\u002Findex",[982],{"title":978,"path":979,"stem":980},{"title":984,"path":985,"stem":986,"children":987},"Datasets and charts","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fdatasets-and-charts","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fdatasets-and-charts\u002Findex",[988],{"title":984,"path":985,"stem":986},{"title":990,"path":991,"stem":992,"children":993},"Studio overview","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fstudio-overview","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fstudio-overview\u002Findex",[994],{"title":990,"path":991,"stem":992},{"title":996,"path":997,"stem":998,"children":999},"App Studio","\u002Fdocs\u002Fstudios\u002Fapps","docs\u002Fstudios\u002Fapps\u002Findex",[1000,1001,1037,1107,1178,1196,1262],{"title":996,"path":997,"stem":998},{"title":1002,"path":1003,"stem":1004,"children":1005,"icon":115},"Admin UI","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Findex",[1006,1007,1013,1019,1025,1031],{"title":1002,"path":1003,"stem":1004,"icon":115},{"title":1008,"path":1009,"stem":1010,"children":1011},"How the Cockpit renders","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fhow-cockpit-renders","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fhow-cockpit-renders\u002Findex",[1012],{"title":1008,"path":1009,"stem":1010},{"title":1014,"path":1015,"stem":1016,"children":1017},"Preview locally","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fpreview-locally","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fpreview-locally\u002Findex",[1018],{"title":1014,"path":1015,"stem":1016},{"title":1020,"path":1021,"stem":1022,"children":1023},"Reading settings","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Freading-settings","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Freading-settings\u002Findex",[1024],{"title":1020,"path":1021,"stem":1022},{"title":1026,"path":1027,"stem":1028,"children":1029},"Settings","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fsettings","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fsettings\u002Findex",[1030],{"title":1026,"path":1027,"stem":1028},{"title":1032,"path":1033,"stem":1034,"children":1035},"Vocabularies","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fvocabularies","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fvocabularies\u002Findex",[1036],{"title":1032,"path":1033,"stem":1034},{"title":1038,"path":1039,"stem":1040,"children":1041,"icon":399},"Your app's API","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi","docs\u002Fstudios\u002Fapps\u002Fapi\u002Findex",[1042,1043,1048,1054,1060,1066,1072,1077,1083,1089,1095,1101],{"title":1038,"path":1039,"stem":1040,"icon":399},{"title":706,"path":1044,"stem":1045,"children":1046},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcaching","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcaching\u002Findex",[1047],{"title":706,"path":1044,"stem":1045},{"title":1049,"path":1050,"stem":1051,"children":1052},"Calling another app","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcalling-another-app","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcalling-another-app\u002Findex",[1053],{"title":1049,"path":1050,"stem":1051},{"title":1055,"path":1056,"stem":1057,"children":1058},"Capabilities","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapabilities","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapabilities\u002Findex",[1059],{"title":1055,"path":1056,"stem":1057},{"title":1061,"path":1062,"stem":1063,"children":1064},"Capability reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapability-reference","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapability-reference\u002Findex",[1065],{"title":1061,"path":1062,"stem":1063},{"title":1067,"path":1068,"stem":1069,"children":1070},"CRUD","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcrud","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcrud\u002Findex",[1071],{"title":1067,"path":1068,"stem":1069},{"title":583,"path":1073,"stem":1074,"children":1075},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Ferrors","docs\u002Fstudios\u002Fapps\u002Fapi\u002Ferrors\u002Findex",[1076],{"title":583,"path":1073,"stem":1074},{"title":1078,"path":1079,"stem":1080,"children":1081},"Overriding a capability","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Foverriding-a-capability","docs\u002Fstudios\u002Fapps\u002Fapi\u002Foverriding-a-capability\u002Findex",[1082],{"title":1078,"path":1079,"stem":1080},{"title":1084,"path":1085,"stem":1086,"children":1087},"Pagination and filtering","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fpagination-and-filtering","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fpagination-and-filtering\u002Findex",[1088],{"title":1084,"path":1085,"stem":1086},{"title":1090,"path":1091,"stem":1092,"children":1093},"Published OpenAPI","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fpublished-openapi","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fpublished-openapi\u002Findex",[1094],{"title":1090,"path":1091,"stem":1092},{"title":1096,"path":1097,"stem":1098,"children":1099},"The router","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Frouter","docs\u002Fstudios\u002Fapps\u002Fapi\u002Frouter\u002Findex",[1100],{"title":1096,"path":1097,"stem":1098},{"title":1102,"path":1103,"stem":1104,"children":1105},"Tags","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Ftags","docs\u002Fstudios\u002Fapps\u002Fapi\u002Ftags\u002Findex",[1106],{"title":1102,"path":1103,"stem":1104},{"title":1108,"path":1109,"stem":1110,"children":1111,"icon":122},"Data model","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Findex",[1112,1113,1119,1125,1131,1137,1143,1149,1155,1161,1167,1172],{"title":1108,"path":1109,"stem":1110,"icon":122},{"title":1114,"path":1115,"stem":1116,"children":1117},"Adapters","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fadapters","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fadapters\u002Findex",[1118],{"title":1114,"path":1115,"stem":1116},{"title":1120,"path":1121,"stem":1122,"children":1123},"Column types","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcolumn-types","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcolumn-types\u002Findex",[1124],{"title":1120,"path":1121,"stem":1122},{"title":1126,"path":1127,"stem":1128,"children":1129},"Cross-app lookups","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcross-app-lookups","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcross-app-lookups\u002Findex",[1130],{"title":1126,"path":1127,"stem":1128},{"title":1132,"path":1133,"stem":1134,"children":1135},"Migrations","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fmigrations","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fmigrations\u002Findex",[1136],{"title":1132,"path":1133,"stem":1134},{"title":1138,"path":1139,"stem":1140,"children":1141},"Projections","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fprojections","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fprojections\u002Findex",[1142],{"title":1138,"path":1139,"stem":1140},{"title":1144,"path":1145,"stem":1146,"children":1147},"Relationships","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Frelationships","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Frelationships\u002Findex",[1148],{"title":1144,"path":1145,"stem":1146},{"title":1150,"path":1151,"stem":1152,"children":1153},"Schema reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fschema-reference","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fschema-reference\u002Findex",[1154],{"title":1150,"path":1151,"stem":1152},{"title":1156,"path":1157,"stem":1158,"children":1159},"Scoping","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fscoping","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fscoping\u002Findex",[1160],{"title":1156,"path":1157,"stem":1158},{"title":1162,"path":1163,"stem":1164,"children":1165},"search.json reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fsearch-json","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fsearch-json\u002Findex",[1166],{"title":1162,"path":1163,"stem":1164},{"title":869,"path":1168,"stem":1169,"children":1170},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftenant-isolation","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftenant-isolation\u002Findex",[1171],{"title":869,"path":1168,"stem":1169},{"title":1173,"path":1174,"stem":1175,"children":1176},"The typed client","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftyped-client","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftyped-client\u002Findex",[1177],{"title":1173,"path":1174,"stem":1175},{"title":1179,"path":1180,"stem":1181,"children":1182},"Getting started","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Findex",[1183,1184,1190],{"title":1179,"path":1180,"stem":1181},{"title":1185,"path":1186,"stem":1187,"children":1188},"App model","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fapp-model","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fapp-model\u002Findex",[1189],{"title":1185,"path":1186,"stem":1187},{"title":1191,"path":1192,"stem":1193,"children":1194},"App isolation","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fisolation","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fisolation\u002Findex",[1195],{"title":1191,"path":1192,"stem":1193},{"title":1197,"path":1198,"stem":1199,"children":1200,"icon":220},"Platform services","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Findex",[1201,1202,1208,1214,1220,1226,1232,1238,1244,1250,1256],{"title":1197,"path":1198,"stem":1199,"icon":220},{"title":1203,"path":1204,"stem":1205,"children":1206},"Entity access","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fentity-access","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fentity-access\u002Findex",[1207],{"title":1203,"path":1204,"stem":1205},{"title":1209,"path":1210,"stem":1211,"children":1212},"Events you emit","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-emit","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-emit\u002Findex",[1213],{"title":1209,"path":1210,"stem":1211},{"title":1215,"path":1216,"stem":1217,"children":1218},"Events you receive","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-receive","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-receive\u002Findex",[1219],{"title":1215,"path":1216,"stem":1217},{"title":1221,"path":1222,"stem":1223,"children":1224},"Not yet proven","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fnot-yet-proven","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fnot-yet-proven\u002Findex",[1225],{"title":1221,"path":1222,"stem":1223},{"title":1227,"path":1228,"stem":1229,"children":1230},"Outbound HTTP","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Foutbound-http","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Foutbound-http\u002Findex",[1231],{"title":1227,"path":1228,"stem":1229},{"title":1233,"path":1234,"stem":1235,"children":1236},"Permissions","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fpermissions","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fpermissions\u002Findex",[1237],{"title":1233,"path":1234,"stem":1235},{"title":1239,"path":1240,"stem":1241,"children":1242},"Person permissions","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fperson-permissions","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fperson-permissions\u002Findex",[1243],{"title":1239,"path":1240,"stem":1241},{"title":1245,"path":1246,"stem":1247,"children":1248},"Scheduled work","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fscheduled-work","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fscheduled-work\u002Findex",[1249],{"title":1245,"path":1246,"stem":1247},{"title":1251,"path":1252,"stem":1253,"children":1254},"Tenant identity","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftenant-identity","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftenant-identity\u002Findex",[1255],{"title":1251,"path":1252,"stem":1253},{"title":1257,"path":1258,"stem":1259,"children":1260},"Tracing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftracing","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftracing\u002Findex",[1261],{"title":1257,"path":1258,"stem":1259},{"title":1263,"path":1264,"stem":1265,"children":1266,"icon":1268},"Ship and operate","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Findex",[1267,1269,1275,1281,1287,1293,1299,1305,1311,1317,1323,1329,1335,1341],{"title":1263,"path":1264,"stem":1265,"icon":1268},"i-lucide-rocket",{"title":1270,"path":1271,"stem":1272,"children":1273},"Billing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fbilling","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fbilling\u002Findex",[1274],{"title":1270,"path":1271,"stem":1272},{"title":1276,"path":1277,"stem":1278,"children":1279},"Consent","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fconsent","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fconsent\u002Findex",[1280],{"title":1276,"path":1277,"stem":1278},{"title":1282,"path":1283,"stem":1284,"children":1285},"Dependencies","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdependencies","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdependencies\u002Findex",[1286],{"title":1282,"path":1283,"stem":1284},{"title":1288,"path":1289,"stem":1290,"children":1291},"Deploying","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdeploying","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdeploying\u002Findex",[1292],{"title":1288,"path":1289,"stem":1290},{"title":1294,"path":1295,"stem":1296,"children":1297},"Manifest reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fmanifest-reference","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fmanifest-reference\u002Findex",[1298],{"title":1294,"path":1295,"stem":1296},{"title":1300,"path":1301,"stem":1302,"children":1303},"Operating","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Foperating","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Foperating\u002Findex",[1304],{"title":1300,"path":1301,"stem":1302},{"title":1306,"path":1307,"stem":1308,"children":1309},"Pairing a frontend","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpairing-a-frontend","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpairing-a-frontend\u002Findex",[1310],{"title":1306,"path":1307,"stem":1308},{"title":1312,"path":1313,"stem":1314,"children":1315},"Private or Marketplace","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fprivate-vs-marketplace","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fprivate-vs-marketplace\u002Findex",[1316],{"title":1312,"path":1313,"stem":1314},{"title":1318,"path":1319,"stem":1320,"children":1321},"Publish and install","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpublish-and-install","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpublish-and-install\u002Findex",[1322],{"title":1318,"path":1319,"stem":1320},{"title":1324,"path":1325,"stem":1326,"children":1327},"Testing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Ftesting","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Ftesting\u002Findex",[1328],{"title":1324,"path":1325,"stem":1326},{"title":1330,"path":1331,"stem":1332,"children":1333},"Validate","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fvalidate","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fvalidate\u002Findex",[1334],{"title":1330,"path":1331,"stem":1332},{"title":1336,"path":1337,"stem":1338,"children":1339},"Verifying live","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fverifying-live","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fverifying-live\u002Findex",[1340],{"title":1336,"path":1337,"stem":1338},{"title":559,"path":1342,"stem":1343,"children":1344},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fversioning","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fversioning\u002Findex",[1345],{"title":559,"path":1342,"stem":1343},{"title":1347,"path":1348,"stem":1349,"children":1350,"icon":1352},"Commerce Studio","\u002Fdocs\u002Fstudios\u002Fcommerce","docs\u002Fstudios\u002Fcommerce\u002Findex",[1351,1353,1431,1490,1539,1544,1598,1657,1711],{"title":1347,"path":1348,"stem":1349,"icon":1352},"i-lucide-shopping-bag",{"title":1354,"path":1355,"stem":1356,"children":1357,"icon":1359},"Build an app","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Findex",[1358,1360,1366,1372,1378,1384,1390,1396,1402,1408,1414,1420,1425],{"title":1354,"path":1355,"stem":1356,"icon":1359},"i-lucide-puzzle",{"title":1361,"path":1362,"stem":1363,"children":1364},"Actions and writes","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Factions-and-writes","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Factions-and-writes\u002Findex",[1365],{"title":1361,"path":1362,"stem":1363},{"title":1367,"path":1368,"stem":1369,"children":1370},"Apps API","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fapps-api","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fapps-api\u002Findex",[1371],{"title":1367,"path":1368,"stem":1369},{"title":1373,"path":1374,"stem":1375,"children":1376},"cockpit.json reference","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fcockpit-json-reference","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fcockpit-json-reference\u002Findex",[1377],{"title":1373,"path":1374,"stem":1375},{"title":1379,"path":1380,"stem":1381,"children":1382},"Detail views","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fdetail-views","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fdetail-views\u002Findex",[1383],{"title":1379,"path":1380,"stem":1381},{"title":1385,"path":1386,"stem":1387,"children":1388},"Forms","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fforms","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fforms\u002Findex",[1389],{"title":1385,"path":1386,"stem":1387},{"title":1391,"path":1392,"stem":1393,"children":1394},"From manifest to installed","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Ffrom-manifest-to-installed","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Ffrom-manifest-to-installed\u002Findex",[1395],{"title":1391,"path":1392,"stem":1393},{"title":1397,"path":1398,"stem":1399,"children":1400},"How it renders","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fhow-it-renders","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fhow-it-renders\u002Findex",[1401],{"title":1397,"path":1398,"stem":1399},{"title":1403,"path":1404,"stem":1405,"children":1406},"List views","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Flist-views","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Flist-views\u002Findex",[1407],{"title":1403,"path":1404,"stem":1405},{"title":1409,"path":1410,"stem":1411,"children":1412},"Navigation","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fnavigation","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fnavigation\u002Findex",[1413],{"title":1409,"path":1410,"stem":1411},{"title":1415,"path":1416,"stem":1417,"children":1418},"Permissions and scope","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpermissions-and-scope","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpermissions-and-scope\u002Findex",[1419],{"title":1415,"path":1416,"stem":1417},{"title":1014,"path":1421,"stem":1422,"children":1423},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpreview-locally","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpreview-locally\u002Findex",[1424],{"title":1014,"path":1421,"stem":1422},{"title":1426,"path":1427,"stem":1428,"children":1429},"Widgets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fwidgets","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fwidgets\u002Findex",[1430],{"title":1426,"path":1427,"stem":1428},{"title":1432,"path":1433,"stem":1434,"children":1435,"icon":310},"Catalog","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Findex",[1436,1437,1443,1449,1455,1461,1466,1472,1478,1484],{"title":1432,"path":1433,"stem":1434,"icon":310},{"title":1438,"path":1439,"stem":1440,"children":1441},"Assets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassets","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassets\u002Findex",[1442],{"title":1438,"path":1439,"stem":1440},{"title":1444,"path":1445,"stem":1446,"children":1447},"Associations","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassociations","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassociations\u002Findex",[1448],{"title":1444,"path":1445,"stem":1446},{"title":1450,"path":1451,"stem":1452,"children":1453},"Categories","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcategories","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcategories\u002Findex",[1454],{"title":1450,"path":1451,"stem":1452},{"title":1456,"path":1457,"stem":1458,"children":1459},"Completeness","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcompleteness","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcompleteness\u002Findex",[1460],{"title":1456,"path":1457,"stem":1458},{"title":1108,"path":1462,"stem":1463,"children":1464},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fdata-model","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fdata-model\u002Findex",[1465],{"title":1108,"path":1462,"stem":1463},{"title":1467,"path":1468,"stem":1469,"children":1470},"Import and export","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fimport-and-export","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fimport-and-export\u002Findex",[1471],{"title":1467,"path":1468,"stem":1469},{"title":1473,"path":1474,"stem":1475,"children":1476},"Languages and locale codes","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Flanguages-and-locale-codes","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Flanguages-and-locale-codes\u002Findex",[1477],{"title":1473,"path":1474,"stem":1475},{"title":1479,"path":1480,"stem":1481,"children":1482},"Products","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fproducts","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fproducts\u002Findex",[1483],{"title":1479,"path":1480,"stem":1481},{"title":1485,"path":1486,"stem":1487,"children":1488},"References","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Freferences","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Freferences\u002Findex",[1489],{"title":1485,"path":1486,"stem":1487},{"title":1491,"path":1492,"stem":1493,"children":1494,"icon":1496},"Customers","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Findex",[1495,1497,1503,1509,1515,1521,1527,1533],{"title":1491,"path":1492,"stem":1493,"icon":1496},"i-lucide-building-2",{"title":1498,"path":1499,"stem":1500,"children":1501},"Contacts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fcontacts","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fcontacts\u002Findex",[1502],{"title":1498,"path":1499,"stem":1500},{"title":1504,"path":1505,"stem":1506,"children":1507},"Organizations","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Forganizations","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Forganizations\u002Findex",[1508],{"title":1504,"path":1505,"stem":1506},{"title":1510,"path":1511,"stem":1512,"children":1513},"Roles and permissions","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Froles-and-permissions","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Froles-and-permissions\u002Findex",[1514],{"title":1510,"path":1511,"stem":1512},{"title":1516,"path":1517,"stem":1518,"children":1519},"Sales reps","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsales-reps","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsales-reps\u002Findex",[1520],{"title":1516,"path":1517,"stem":1518},{"title":1522,"path":1523,"stem":1524,"children":1525},"Segments","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsegments","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsegments\u002Findex",[1526],{"title":1522,"path":1523,"stem":1524},{"title":1528,"path":1529,"stem":1530,"children":1531},"Storefront accounts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fstorefront-accounts","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fstorefront-accounts\u002Findex",[1532],{"title":1528,"path":1529,"stem":1530},{"title":1534,"path":1535,"stem":1536,"children":1537},"Value lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fvalue-lists","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fvalue-lists\u002Findex",[1538],{"title":1534,"path":1535,"stem":1536},{"title":1179,"path":1540,"stem":1541,"children":1542,"icon":1268},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fgetting-started","docs\u002Fstudios\u002Fcommerce\u002Fgetting-started\u002Findex",[1543],{"title":1179,"path":1540,"stem":1541,"icon":1268},{"title":1545,"path":1546,"stem":1547,"children":1548,"icon":143},"Marketing","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarketing","docs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Findex",[1549,1550,1556,1562,1568,1574,1580,1586,1592],{"title":1545,"path":1546,"stem":1547,"icon":143},{"title":1551,"path":1552,"stem":1553,"children":1554},"Ads","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Fads","docs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Fads\u002Findex",[1555],{"title":1551,"path":1552,"stem":1553},{"title":1557,"path":1558,"stem":1559,"children":1560},"Audiences","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Faudiences","docs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Faudiences\u002Findex",[1561],{"title":1557,"path":1558,"stem":1559},{"title":1563,"path":1564,"stem":1565,"children":1566},"Campaigns","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Fcampaigns","docs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Fcampaigns\u002Findex",[1567],{"title":1563,"path":1564,"stem":1565},{"title":1569,"path":1570,"stem":1571,"children":1572},"Journeys","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Fjourneys","docs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Fjourneys\u002Findex",[1573],{"title":1569,"path":1570,"stem":1571},{"title":1575,"path":1576,"stem":1577,"children":1578},"Loyalty","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Floyalty","docs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Floyalty\u002Findex",[1579],{"title":1575,"path":1576,"stem":1577},{"title":1581,"path":1582,"stem":1583,"children":1584},"Mailings","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Fmailings","docs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Fmailings\u002Findex",[1585],{"title":1581,"path":1582,"stem":1583},{"title":1587,"path":1588,"stem":1589,"children":1590,"icon":344},"Marketing consents","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Fmarketing-consents","docs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Fmarketing-consents\u002Findex",[1591],{"title":1587,"path":1588,"stem":1589,"icon":344},{"title":1593,"path":1594,"stem":1595,"children":1596},"Reviews","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Freviews","docs\u002Fstudios\u002Fcommerce\u002Fmarketing\u002Freviews\u002Findex",[1597],{"title":1593,"path":1594,"stem":1595},{"title":1599,"path":1600,"stem":1601,"children":1602,"icon":691},"Markets and pricing","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Findex",[1603,1604,1610,1616,1622,1628,1634,1640,1646,1651],{"title":1599,"path":1600,"stem":1601,"icon":691},{"title":1605,"path":1606,"stem":1607,"children":1608},"Carriers and tracking","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fcarriers-and-tracking","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fcarriers-and-tracking\u002Findex",[1609],{"title":1605,"path":1606,"stem":1607},{"title":1611,"path":1612,"stem":1613,"children":1614},"Channels","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fchannels","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fchannels\u002Findex",[1615],{"title":1611,"path":1612,"stem":1613},{"title":1617,"path":1618,"stem":1619,"children":1620},"Markets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fmarkets","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fmarkets\u002Findex",[1621],{"title":1617,"path":1618,"stem":1619},{"title":1623,"path":1624,"stem":1625,"children":1626},"Payment lifecycle","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-lifecycle","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-lifecycle\u002Findex",[1627],{"title":1623,"path":1624,"stem":1625},{"title":1629,"path":1630,"stem":1631,"children":1632},"Payment methods","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-methods","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-methods\u002Findex",[1633],{"title":1629,"path":1630,"stem":1631},{"title":1635,"path":1636,"stem":1637,"children":1638},"Price lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fprice-lists","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fprice-lists\u002Findex",[1639],{"title":1635,"path":1636,"stem":1637},{"title":1641,"path":1642,"stem":1643,"children":1644},"Promotions","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpromotions","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpromotions\u002Findex",[1645],{"title":1641,"path":1642,"stem":1643},{"title":1026,"path":1647,"stem":1648,"children":1649},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fsettings","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fsettings\u002Findex",[1650],{"title":1026,"path":1647,"stem":1648},{"title":1652,"path":1653,"stem":1654,"children":1655},"Shipping rates","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fshipping-rates","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fshipping-rates\u002Findex",[1656],{"title":1652,"path":1653,"stem":1654},{"title":1658,"path":1659,"stem":1660,"children":1661,"icon":1663},"Orders","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Findex",[1662,1664,1670,1676,1682,1688,1694,1699,1705],{"title":1658,"path":1659,"stem":1660,"icon":1663},"i-lucide-receipt-text",{"title":1665,"path":1666,"stem":1667,"children":1668},"Carts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fcarts","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fcarts\u002Findex",[1669],{"title":1665,"path":1666,"stem":1667},{"title":1671,"path":1672,"stem":1673,"children":1674},"Documents","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fdocuments","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fdocuments\u002Findex",[1675],{"title":1671,"path":1672,"stem":1673},{"title":1677,"path":1678,"stem":1679,"children":1680},"Events and comments","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fevents-and-comments","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fevents-and-comments\u002Findex",[1681],{"title":1677,"path":1678,"stem":1679},{"title":1683,"path":1684,"stem":1685,"children":1686},"Number ranges","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fnumber-ranges","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fnumber-ranges\u002Findex",[1687],{"title":1683,"path":1684,"stem":1685},{"title":1689,"path":1690,"stem":1691,"children":1692},"Order lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forder-lists","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Forder-lists\u002Findex",[1693],{"title":1689,"path":1690,"stem":1691},{"title":1658,"path":1695,"stem":1696,"children":1697},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders\u002Findex",[1698],{"title":1658,"path":1695,"stem":1696},{"title":1700,"path":1701,"stem":1702,"children":1703},"Returns","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Freturns","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Freturns\u002Findex",[1704],{"title":1700,"path":1701,"stem":1702},{"title":1706,"path":1707,"stem":1708,"children":1709},"Stock","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fstock","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fstock\u002Findex",[1710],{"title":1706,"path":1707,"stem":1708},{"title":1712,"path":1713,"stem":1714,"children":1715,"icon":1717},"Procurement","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fprocurement","docs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Findex",[1716,1718,1725,1732],{"title":1712,"path":1713,"stem":1714,"icon":1717},"i-lucide-clipboard-check",{"title":1719,"path":1720,"stem":1721,"children":1722,"icon":1724},"Approvals","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fapprovals","docs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fapprovals\u002Findex",[1723],{"title":1719,"path":1720,"stem":1721,"icon":1724},"i-lucide-badge-check",{"title":1726,"path":1727,"stem":1728,"children":1729,"icon":1731},"Cost centers","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fcost-centers","docs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fcost-centers\u002Findex",[1730],{"title":1726,"path":1727,"stem":1728,"icon":1731},"i-lucide-wallet",{"title":1733,"path":1734,"stem":1735,"children":1736,"icon":29},"Punchout","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fpunchout","docs\u002Fstudios\u002Fcommerce\u002Fprocurement\u002Fpunchout\u002Findex",[1737],{"title":1733,"path":1734,"stem":1735,"icon":29},{"title":1739,"path":1740,"stem":1741,"children":1742},"Integration Studio","\u002Fdocs\u002Fstudios\u002Fintegration-studio","docs\u002Fstudios\u002Fintegration-studio\u002Findex",[1743,1744,1781,1818,1848,1853,1883],{"title":1739,"path":1740,"stem":1741},{"title":1745,"path":1746,"stem":1747,"children":1748,"icon":1750},"Build the workflow","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Findex",[1749,1751,1757,1763,1769,1775],{"title":1745,"path":1746,"stem":1747,"icon":1750},"i-lucide-workflow",{"title":1752,"path":1753,"stem":1754,"children":1755},"Expressions","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fexpressions","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fexpressions\u002Findex",[1756],{"title":1752,"path":1753,"stem":1754},{"title":1758,"path":1759,"stem":1760,"children":1761},"Node catalog","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-catalog","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-catalog\u002Findex",[1762],{"title":1758,"path":1759,"stem":1760},{"title":1764,"path":1765,"stem":1766,"children":1767},"Node configuration","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-configuration","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-configuration\u002Findex",[1768],{"title":1764,"path":1765,"stem":1766},{"title":1770,"path":1771,"stem":1772,"children":1773},"Templates","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Ftemplates","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Ftemplates\u002Findex",[1774],{"title":1770,"path":1771,"stem":1772},{"title":1776,"path":1777,"stem":1778,"children":1779},"The workflow document","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fworkflow-model","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fworkflow-model\u002Findex",[1780],{"title":1776,"path":1777,"stem":1778},{"title":1782,"path":1783,"stem":1784,"children":1785,"icon":1787},"Connect the systems","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Findex",[1786,1788,1794,1800,1806,1812],{"title":1782,"path":1783,"stem":1784,"icon":1787},"i-lucide-key-round",{"title":1789,"path":1790,"stem":1791,"children":1792},"Credentials","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fcredentials","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fcredentials\u002Findex",[1793],{"title":1789,"path":1790,"stem":1791},{"title":1795,"path":1796,"stem":1797,"children":1798},"File transfer","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Ffiles","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Ffiles\u002Findex",[1799],{"title":1795,"path":1796,"stem":1797},{"title":1801,"path":1802,"stem":1803,"children":1804},"OAuth","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Foauth","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Foauth\u002Findex",[1805],{"title":1801,"path":1802,"stem":1803},{"title":1807,"path":1808,"stem":1809,"children":1810},"Reaching Revenue Cloud","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Freaching-revenue-cloud","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Freaching-revenue-cloud\u002Findex",[1811],{"title":1807,"path":1808,"stem":1809},{"title":1813,"path":1814,"stem":1815,"children":1816},"Secrets","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fsecrets","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fsecrets\u002Findex",[1817],{"title":1813,"path":1814,"stem":1815},{"title":1819,"path":1820,"stem":1821,"children":1822,"icon":310},"Extend the Studio","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Findex",[1823,1824,1830,1836,1842],{"title":1819,"path":1820,"stem":1821,"icon":310},{"title":1825,"path":1826,"stem":1827,"children":1828},"Custom nodes","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fcustom-nodes","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fcustom-nodes\u002Findex",[1829],{"title":1825,"path":1826,"stem":1827},{"title":1831,"path":1832,"stem":1833,"children":1834},"Dynamic behaviour","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fdynamic-behaviour","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fdynamic-behaviour\u002Findex",[1835],{"title":1831,"path":1832,"stem":1833},{"title":1837,"path":1838,"stem":1839,"children":1840},"Package manifest","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fpackage-manifest","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fpackage-manifest\u002Findex",[1841],{"title":1837,"path":1838,"stem":1839},{"title":1843,"path":1844,"stem":1845,"children":1846},"Registration","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fregistration","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fregistration\u002Findex",[1847],{"title":1843,"path":1844,"stem":1845},{"title":1179,"path":1849,"stem":1850,"children":1851,"icon":1268},"\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fgetting-started","docs\u002Fstudios\u002Fintegration-studio\u002Fgetting-started\u002Findex",[1852],{"title":1179,"path":1849,"stem":1850,"icon":1268},{"title":1854,"path":1855,"stem":1856,"children":1857,"icon":372},"Run, watch, recover","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Findex",[1858,1859,1865,1871,1877],{"title":1854,"path":1855,"stem":1856,"icon":372},{"title":1860,"path":1861,"stem":1862,"children":1863},"Missed runs","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fdead-letters","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fdead-letters\u002Findex",[1864],{"title":1860,"path":1861,"stem":1862},{"title":1866,"path":1867,"stem":1868,"children":1869},"Failure handling","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Ffailure-handling","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Ffailure-handling\u002Findex",[1870],{"title":1866,"path":1867,"stem":1868},{"title":1872,"path":1873,"stem":1874,"children":1875},"Revisions and audit","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Frevisions-and-audit","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Frevisions-and-audit\u002Findex",[1876],{"title":1872,"path":1873,"stem":1874},{"title":1878,"path":1879,"stem":1880,"children":1881},"Runs","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fruns","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fruns\u002Findex",[1882],{"title":1878,"path":1879,"stem":1880},{"title":1884,"path":1885,"stem":1886,"children":1887,"icon":1889},"Start the workflow","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Findex",[1888,1890,1896,1902,1908,1914],{"title":1884,"path":1885,"stem":1886,"icon":1889},"i-lucide-zap",{"title":1891,"path":1892,"stem":1893,"children":1894},"Event triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fevent-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fevent-triggers\u002Findex",[1895],{"title":1891,"path":1892,"stem":1893},{"title":1897,"path":1898,"stem":1899,"children":1900},"Execution modes","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fexecution-modes","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fexecution-modes\u002Findex",[1901],{"title":1897,"path":1898,"stem":1899},{"title":1903,"path":1904,"stem":1905,"children":1906},"Schedule triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fschedule-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fschedule-triggers\u002Findex",[1907],{"title":1903,"path":1904,"stem":1905},{"title":1909,"path":1910,"stem":1911,"children":1912},"Triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Ftriggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Ftriggers\u002Findex",[1913],{"title":1909,"path":1910,"stem":1911},{"title":1915,"path":1916,"stem":1917,"children":1918},"Webhook triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fwebhook-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fwebhook-triggers\u002Findex",[1919],{"title":1915,"path":1916,"stem":1917},{"title":1921,"path":1922,"stem":1923,"children":1924},"Experience Studio","\u002Fdocs\u002Fstudios\u002Fsites","docs\u002Fstudios\u002Fsites\u002Findex",[1925,1926,1980,2044,2170,2176,2218],{"title":1921,"path":1922,"stem":1923},{"title":1927,"path":1928,"stem":1929,"children":1930,"icon":481},"Compose pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Findex",[1931,1932,1938,1944,1950,1956,1962,1968,1974],{"title":1927,"path":1928,"stem":1929,"icon":481},{"title":1933,"path":1934,"stem":1935,"children":1936},"Block catalog","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-catalog","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-catalog\u002Findex",[1937],{"title":1933,"path":1934,"stem":1935},{"title":1939,"path":1940,"stem":1941,"children":1942},"Block options","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-options","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-options\u002Findex",[1943],{"title":1939,"path":1940,"stem":1941},{"title":1945,"path":1946,"stem":1947,"children":1948},"How a block works","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fhow-a-block-works","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fhow-a-block-works\u002Findex",[1949],{"title":1945,"path":1946,"stem":1947},{"title":1951,"path":1952,"stem":1953,"children":1954},"Inline editing","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Finline-editing","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Finline-editing\u002Findex",[1955],{"title":1951,"path":1952,"stem":1953},{"title":1957,"path":1958,"stem":1959,"children":1960},"Managing pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fmanaging-pages","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fmanaging-pages\u002Findex",[1961],{"title":1957,"path":1958,"stem":1959},{"title":1963,"path":1964,"stem":1965,"children":1966},"Reading published pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Freading-pages","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Freading-pages\u002Findex",[1967],{"title":1963,"path":1964,"stem":1965},{"title":1969,"path":1970,"stem":1971,"children":1972},"Registering blocks","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fregistering","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fregistering\u002Findex",[1973],{"title":1969,"path":1970,"stem":1971},{"title":1975,"path":1976,"stem":1977,"children":1978},"Shells and fields","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fshells-and-fields","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fshells-and-fields\u002Findex",[1979],{"title":1975,"path":1976,"stem":1977},{"title":1981,"path":1982,"stem":1983,"children":1984,"icon":297},"Connect data","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata","docs\u002Fstudios\u002Fsites\u002Fdata\u002Findex",[1985,1986,1991,1997,2003,2009,2014,2020,2026,2032,2038],{"title":1981,"path":1982,"stem":1983,"icon":297},{"title":626,"path":1987,"stem":1988,"children":1989},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fauthentication","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fauthentication\u002Findex",[1990],{"title":626,"path":1987,"stem":1988},{"title":1992,"path":1993,"stem":1994,"children":1995},"The BFF pattern","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fbff-pattern","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fbff-pattern\u002Findex",[1996],{"title":1992,"path":1993,"stem":1994},{"title":1998,"path":1999,"stem":2000,"children":2001},"Catalog, cart, checkout","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fcatalog-cart-checkout","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fcatalog-cart-checkout\u002Findex",[2002],{"title":1998,"path":1999,"stem":2000},{"title":2004,"path":2005,"stem":2006,"children":2007},"Consent manager","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fconsent-manager","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fconsent-manager\u002Findex",[2008],{"title":2004,"path":2005,"stem":2006},{"title":1385,"path":2010,"stem":2011,"children":2012},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fforms","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fforms\u002Findex",[2013],{"title":1385,"path":2010,"stem":2011},{"title":2015,"path":2016,"stem":2017,"children":2018},"Media and assets","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fmedia","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fmedia\u002Findex",[2019],{"title":2015,"path":2016,"stem":2017},{"title":2021,"path":2022,"stem":2023,"children":2024},"Multi-tenant themes","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fmulti-tenant-themes","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fmulti-tenant-themes\u002Findex",[2025],{"title":2021,"path":2022,"stem":2023},{"title":2027,"path":2028,"stem":2029,"children":2030},"Search collections","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch-collections","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch-collections\u002Findex",[2031],{"title":2027,"path":2028,"stem":2029},{"title":2033,"path":2034,"stem":2035,"children":2036},"Search","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch\u002Findex",[2037],{"title":2033,"path":2034,"stem":2035},{"title":2039,"path":2040,"stem":2041,"children":2042},"Tag manager","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Ftag-manager","docs\u002Fstudios\u002Fsites\u002Fdata\u002Ftag-manager\u002Findex",[2043],{"title":2039,"path":2040,"stem":2041},{"title":2045,"path":2046,"stem":2047,"children":2048,"icon":1268},"Build and deploy","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Findex",[2049,2050,2056,2062,2068,2074,2080,2086,2164],{"title":2045,"path":2046,"stem":2047,"icon":1268},{"title":2051,"path":2052,"stem":2053,"children":2054},"Build configuration","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fbuild-configuration","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fbuild-configuration\u002Findex",[2055],{"title":2051,"path":2052,"stem":2053},{"title":2057,"path":2058,"stem":2059,"children":2060},"Compute specifications","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fcompute-specifications","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fcompute-specifications\u002Findex",[2061],{"title":2057,"path":2058,"stem":2059},{"title":2063,"path":2064,"stem":2065,"children":2066},"Environment variables","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fenvironment-variables","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fenvironment-variables\u002Findex",[2067],{"title":2063,"path":2064,"stem":2065},{"title":2069,"path":2070,"stem":2071,"children":2072},"From Git","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-git","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-git\u002Findex",[2073],{"title":2069,"path":2070,"stem":2071},{"title":2075,"path":2076,"stem":2077,"children":2078},"From the CLI","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-the-cli","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-the-cli\u002Findex",[2079],{"title":2075,"path":2076,"stem":2077},{"title":2081,"path":2082,"stem":2083,"children":2084},"Manually","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fmanually","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fmanually\u002Findex",[2085],{"title":2081,"path":2082,"stem":2083},{"title":2087,"path":2088,"stem":2089,"children":2090},"Quick-starts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Findex",[2091,2092,2098,2104,2110,2116,2122,2128,2134,2140,2146,2152,2158],{"title":2087,"path":2088,"stem":2089},{"title":2093,"path":2094,"stem":2095,"children":2096},"Deploy an Angular app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fangular","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fangular\u002Findex",[2097],{"title":2093,"path":2094,"stem":2095},{"title":2099,"path":2100,"stem":2101,"children":2102},"Deploy a Astro app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fastro","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fastro\u002Findex",[2103],{"title":2099,"path":2100,"stem":2101},{"title":2105,"path":2106,"stem":2107,"children":2108},"Deploy a Flutter Web app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fflutter","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fflutter\u002Findex",[2109],{"title":2105,"path":2106,"stem":2107},{"title":2111,"path":2112,"stem":2113,"children":2114},"Deploy a Next.js app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnextjs","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnextjs\u002Findex",[2115],{"title":2111,"path":2112,"stem":2113},{"title":2117,"path":2118,"stem":2119,"children":2120},"Deploy a Nuxt app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnuxt","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnuxt\u002Findex",[2121],{"title":2117,"path":2118,"stem":2119},{"title":2123,"path":2124,"stem":2125,"children":2126},"Deploy a React Native app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact-native","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact-native\u002Findex",[2127],{"title":2123,"path":2124,"stem":2125},{"title":2129,"path":2130,"stem":2131,"children":2132},"Deploy a React app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact\u002Findex",[2133],{"title":2129,"path":2130,"stem":2131},{"title":2135,"path":2136,"stem":2137,"children":2138},"Deploy a Remix app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fremix","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fremix\u002Findex",[2139],{"title":2135,"path":2136,"stem":2137},{"title":2141,"path":2142,"stem":2143,"children":2144},"Deploy a SvelteKit app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fsveltekit","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fsveltekit\u002Findex",[2145],{"title":2141,"path":2142,"stem":2143},{"title":2147,"path":2148,"stem":2149,"children":2150},"Deploy a TanStack Start app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Ftanstack-start","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Ftanstack-start\u002Findex",[2151],{"title":2147,"path":2148,"stem":2149},{"title":2153,"path":2154,"stem":2155,"children":2156},"Deploy a Vanilla JS app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvanilla","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvanilla\u002Findex",[2157],{"title":2153,"path":2154,"stem":2155},{"title":2159,"path":2160,"stem":2161,"children":2162},"Deploy a Vue.js app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvue","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvue\u002Findex",[2163],{"title":2159,"path":2160,"stem":2161},{"title":2165,"path":2166,"stem":2167,"children":2168},"Starting points","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fstarting-points","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fstarting-points\u002Findex",[2169],{"title":2165,"path":2166,"stem":2167},{"title":1179,"path":2171,"stem":2172,"children":2173,"icon":2175},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fgetting-started","docs\u002Fstudios\u002Fsites\u002Fgetting-started\u002Findex",[2174],{"title":1179,"path":2171,"stem":2172,"icon":2175},"i-lucide-terminal",{"title":2177,"path":2178,"stem":2179,"children":2180,"icon":691},"Production","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Findex",[2181,2182,2188,2194,2200,2206,2212],{"title":2177,"path":2178,"stem":2179,"icon":691},{"title":2183,"path":2184,"stem":2185,"children":2186},"Deployments","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdeployments","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdeployments\u002Findex",[2187],{"title":2183,"path":2184,"stem":2185},{"title":2189,"path":2190,"stem":2191,"children":2192},"Domains","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdomains","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdomains\u002Findex",[2193],{"title":2189,"path":2190,"stem":2191},{"title":2195,"path":2196,"stem":2197,"children":2198},"Instant rollbacks","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Finstant-rollbacks","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Finstant-rollbacks\u002Findex",[2199],{"title":2195,"path":2196,"stem":2197},{"title":2201,"path":2202,"stem":2203,"children":2204},"Logs","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Flogs","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Flogs\u002Findex",[2205],{"title":2201,"path":2202,"stem":2203},{"title":2207,"path":2208,"stem":2209,"children":2210},"Previews","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpreviews","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpreviews\u002Findex",[2211],{"title":2207,"path":2208,"stem":2209},{"title":2213,"path":2214,"stem":2215,"children":2216},"Publishing a theme","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpublishing-a-theme","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpublishing-a-theme\u002Findex",[2217],{"title":2213,"path":2214,"stem":2215},{"title":2219,"path":2220,"stem":2221,"children":2222,"icon":460},"Build the theme","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Findex",[2223,2224,2230,2236,2242,2248,2254,2260,2266,2284],{"title":2219,"path":2220,"stem":2221,"icon":460},{"title":2225,"path":2226,"stem":2227,"children":2228},"Theme anatomy","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fanatomy","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fanatomy\u002Findex",[2229],{"title":2225,"path":2226,"stem":2227},{"title":2231,"path":2232,"stem":2233,"children":2234},"Design tokens","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens\u002Findex",[2235],{"title":2231,"path":2232,"stem":2233},{"title":2237,"path":2238,"stem":2239,"children":2240},"Frameworks","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fframeworks","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fframeworks\u002Findex",[2241],{"title":2237,"path":2238,"stem":2239},{"title":2243,"path":2244,"stem":2245,"children":2246},"The layer chain","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Flayer-chain","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Flayer-chain\u002Findex",[2247],{"title":2243,"path":2244,"stem":2245},{"title":2249,"path":2250,"stem":2251,"children":2252},"Local development","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Flocal-development","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Flocal-development\u002Findex",[2253],{"title":2249,"path":2250,"stem":2251},{"title":2255,"path":2256,"stem":2257,"children":2258},"Modules and plugins","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fmodules-and-plugins","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fmodules-and-plugins\u002Findex",[2259],{"title":2255,"path":2256,"stem":2257},{"title":2261,"path":2262,"stem":2263,"children":2264},"Overriding","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Foverriding","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Foverriding\u002Findex",[2265],{"title":2261,"path":2262,"stem":2263},{"title":2267,"path":2268,"stem":2269,"children":2270},"Rendering","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Findex",[2271,2272,2278],{"title":2267,"path":2268,"stem":2269},{"title":2273,"path":2274,"stem":2275,"children":2276},"SSR","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fssr","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fssr\u002Findex",[2277],{"title":2273,"path":2274,"stem":2275},{"title":2279,"path":2280,"stem":2281,"children":2282},"Static","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fstatic","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fstatic\u002Findex",[2283],{"title":2279,"path":2280,"stem":2281},{"title":2285,"path":2286,"stem":2287,"children":2288},"Service modes","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fservice-modes","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fservice-modes\u002Findex",[2289],{"title":2285,"path":2286,"stem":2287},{"title":2291,"path":2292,"stem":2293,"children":2294},"Tools","\u002Fdocs\u002Ftools","docs\u002Ftools\u002Findex",[2295,2296,2303,2309,3322],{"title":2291,"path":2292,"stem":2293},{"title":2297,"path":2298,"stem":2299,"children":2300,"icon":2302},"AI agents","\u002Fdocs\u002Ftools\u002Fai-agents","docs\u002Ftools\u002Fai-agents\u002Findex",[2301],{"title":2297,"path":2298,"stem":2299,"icon":2302},"i-lucide-shield-alert",{"title":2304,"path":2305,"stem":2306,"children":2307,"icon":527},"Aria API","\u002Fdocs\u002Ftools\u002Faria-api","docs\u002Ftools\u002Faria-api\u002Findex",[2308],{"title":2304,"path":2305,"stem":2306,"icon":527},{"title":2310,"path":2311,"stem":2312,"children":2313},"Command line","\u002Fdocs\u002Ftools\u002Fcommand-line","docs\u002Ftools\u002Fcommand-line\u002Findex",[2314,2315,2321,2326,2332,2338,2344,2350,2356,2362,3280,3286,3292,3298,3304,3310,3316],{"title":2310,"path":2311,"stem":2312},{"title":2316,"path":2317,"stem":2318,"children":2319},"Aliases","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Faliases","docs\u002Ftools\u002Fcommand-line\u002Faliases\u002Findex",[2320],{"title":2316,"path":2317,"stem":2318},{"title":626,"path":2322,"stem":2323,"children":2324},"\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fauthentication","docs\u002Ftools\u002Fcommand-line\u002Fauthentication\u002Findex",[2325],{"title":626,"path":2322,"stem":2323},{"title":2327,"path":2328,"stem":2329,"children":2330},"Commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fcommands","docs\u002Ftools\u002Fcommand-line\u002Fcommands\u002Findex",[2331],{"title":2327,"path":2328,"stem":2329},{"title":2333,"path":2334,"stem":2335,"children":2336},"Global commands reference","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fglobal-commands","docs\u002Ftools\u002Fcommand-line\u002Fglobal-commands\u002Findex",[2337],{"title":2333,"path":2334,"stem":2335},{"title":2339,"path":2340,"stem":2341,"children":2342},"Installation","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Finstallation","docs\u002Ftools\u002Fcommand-line\u002Finstallation\u002Findex",[2343],{"title":2339,"path":2340,"stem":2341},{"title":2345,"path":2346,"stem":2347,"children":2348},"Interactive use","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Finteractive","docs\u002Ftools\u002Fcommand-line\u002Finteractive\u002Findex",[2349],{"title":2345,"path":2346,"stem":2347},{"title":2351,"path":2352,"stem":2353,"children":2354},"Non-interactive use","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fnon-interactive","docs\u002Ftools\u002Fcommand-line\u002Fnon-interactive\u002Findex",[2355],{"title":2351,"path":2352,"stem":2353},{"title":2357,"path":2358,"stem":2359,"children":2360},"Project configuration","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fproject-configuration","docs\u002Ftools\u002Fcommand-line\u002Fproject-configuration\u002Findex",[2361],{"title":2357,"path":2358,"stem":2359},{"title":2363,"path":2364,"stem":2365,"children":2366},"Command reference","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Findex",[2367,2368,2374,2434,2440,2464,2470,2476,2536,2554,2560,2590,2596,2602,2650,2656,2674,2680,2686,2692,2716,2722,2788,2794,2854,2908,2932,2938,2944,2950,2956,2980,3004,3010,3016,3052,3082,3088,3124,3178,3202,3208,3214,3238,3244,3250,3256],{"title":2363,"path":2364,"stem":2365},{"title":2369,"path":2370,"stem":2371,"children":2372},"About commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fabout","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fabout\u002Findex",[2373],{"title":2369,"path":2370,"stem":2371},{"title":2375,"path":2376,"stem":2377,"children":2378},"Ads commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Findex",[2379,2380,2386,2392,2398,2404,2410,2416,2422,2428],{"title":2375,"path":2376,"stem":2377},{"title":2381,"path":2382,"stem":2383,"children":2384},"Ads: accounts commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Faccounts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Faccounts\u002Findex",[2385],{"title":2381,"path":2382,"stem":2383},{"title":2387,"path":2388,"stem":2389,"children":2390},"Ads: conversions commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Fconversions","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Fconversions\u002Findex",[2391],{"title":2387,"path":2388,"stem":2389},{"title":2393,"path":2394,"stem":2395,"children":2396},"Ads: feeds commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Ffeeds","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Ffeeds\u002Findex",[2397],{"title":2393,"path":2394,"stem":2395},{"title":2399,"path":2400,"stem":2401,"children":2402},"Ads: jobs commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Fjobs","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Fjobs\u002Findex",[2403],{"title":2399,"path":2400,"stem":2401},{"title":2405,"path":2406,"stem":2407,"children":2408},"Ads: links commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Flinks","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Flinks\u002Findex",[2409],{"title":2405,"path":2406,"stem":2407},{"title":2411,"path":2412,"stem":2413,"children":2414},"Ads: rules commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Frules","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Frules\u002Findex",[2415],{"title":2411,"path":2412,"stem":2413},{"title":2417,"path":2418,"stem":2419,"children":2420},"Ads: spend commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Fspend","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Fspend\u002Findex",[2421],{"title":2417,"path":2418,"stem":2419},{"title":2423,"path":2424,"stem":2425,"children":2426},"Ads: syncs commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Fsyncs","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Fsyncs\u002Findex",[2427],{"title":2423,"path":2424,"stem":2425},{"title":2429,"path":2430,"stem":2431,"children":2432},"Ads: vocabularies commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Fvocabularies","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fads\u002Fvocabularies\u002Findex",[2433],{"title":2429,"path":2430,"stem":2431},{"title":2435,"path":2436,"stem":2437,"children":2438},"Apps commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fapps","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fapps\u002Findex",[2439],{"title":2435,"path":2436,"stem":2437},{"title":2441,"path":2442,"stem":2443,"children":2444},"Audiences commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Faudiences","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Faudiences\u002Findex",[2445,2446,2452,2458],{"title":2441,"path":2442,"stem":2443},{"title":2447,"path":2448,"stem":2449,"children":2450},"Audiences: audiences commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Faudiences\u002Faudiences","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Faudiences\u002Faudiences\u002Findex",[2451],{"title":2447,"path":2448,"stem":2449},{"title":2453,"path":2454,"stem":2455,"children":2456},"Audiences: members commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Faudiences\u002Fmembers","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Faudiences\u002Fmembers\u002Findex",[2457],{"title":2453,"path":2454,"stem":2455},{"title":2459,"path":2460,"stem":2461,"children":2462},"Audiences: rules commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Faudiences\u002Frules","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Faudiences\u002Frules\u002Findex",[2463],{"title":2459,"path":2460,"stem":2461},{"title":2465,"path":2466,"stem":2467,"children":2468},"Audit commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Faudit","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Faudit\u002Findex",[2469],{"title":2465,"path":2466,"stem":2467},{"title":2471,"path":2472,"stem":2473,"children":2474},"Avatars commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Favatars","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Favatars\u002Findex",[2475],{"title":2471,"path":2472,"stem":2473},{"title":2477,"path":2478,"stem":2479,"children":2480},"Campaigns commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Findex",[2481,2482,2488,2494,2500,2506,2512,2518,2524,2530],{"title":2477,"path":2478,"stem":2479},{"title":2483,"path":2484,"stem":2485,"children":2486},"Campaigns: assets commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fassets","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fassets\u002Findex",[2487],{"title":2483,"path":2484,"stem":2485},{"title":2489,"path":2490,"stem":2491,"children":2492},"Campaigns: attribution commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fattribution","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fattribution\u002Findex",[2493],{"title":2489,"path":2490,"stem":2491},{"title":2495,"path":2496,"stem":2497,"children":2498},"Campaigns: budgets commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fbudgets","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fbudgets\u002Findex",[2499],{"title":2495,"path":2496,"stem":2497},{"title":2501,"path":2502,"stem":2503,"children":2504},"Campaigns: calendar commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fcalendar","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fcalendar\u002Findex",[2505],{"title":2501,"path":2502,"stem":2503},{"title":2507,"path":2508,"stem":2509,"children":2510},"Campaigns: campaigns commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fcampaigns","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fcampaigns\u002Findex",[2511],{"title":2507,"path":2508,"stem":2509},{"title":2513,"path":2514,"stem":2515,"children":2516},"Campaigns: spend commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fspend","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fspend\u002Findex",[2517],{"title":2513,"path":2514,"stem":2515},{"title":2519,"path":2520,"stem":2521,"children":2522},"Campaigns: tasks commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Ftasks","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Ftasks\u002Findex",[2523],{"title":2519,"path":2520,"stem":2521},{"title":2525,"path":2526,"stem":2527,"children":2528},"Campaigns: touches commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Ftouches","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Ftouches\u002Findex",[2529],{"title":2525,"path":2526,"stem":2527},{"title":2531,"path":2532,"stem":2533,"children":2534},"Campaigns: vocabularies commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fvocabularies","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcampaigns\u002Fvocabularies\u002Findex",[2535],{"title":2531,"path":2532,"stem":2533},{"title":2537,"path":2538,"stem":2539,"children":2540},"Carts commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts\u002Findex",[2541,2542,2548],{"title":2537,"path":2538,"stem":2539},{"title":2543,"path":2544,"stem":2545,"children":2546},"Carts: import and export commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts\u002Fio","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts\u002Fio\u002Findex",[2547],{"title":2543,"path":2544,"stem":2545},{"title":2549,"path":2550,"stem":2551,"children":2552},"Carts: items commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts\u002Fitems","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts\u002Fitems\u002Findex",[2553],{"title":2549,"path":2550,"stem":2551},{"title":2555,"path":2556,"stem":2557,"children":2558},"Channels commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fchannels","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fchannels\u002Findex",[2559],{"title":2555,"path":2556,"stem":2557},{"title":2561,"path":2562,"stem":2563,"children":2564},"Consent manager commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fconsent-manager","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fconsent-manager\u002Findex",[2565,2566,2572,2578,2584],{"title":2561,"path":2562,"stem":2563},{"title":2567,"path":2568,"stem":2569,"children":2570},"Consent manager: delivery commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fconsent-manager\u002Fdelivery","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fconsent-manager\u002Fdelivery\u002Findex",[2571],{"title":2567,"path":2568,"stem":2569},{"title":2573,"path":2574,"stem":2575,"children":2576},"Consent manager: policy commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fconsent-manager\u002Fpolicy","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fconsent-manager\u002Fpolicy\u002Findex",[2577],{"title":2573,"path":2574,"stem":2575},{"title":2579,"path":2580,"stem":2581,"children":2582},"Consent manager: records commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fconsent-manager\u002Frecords","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fconsent-manager\u002Frecords\u002Findex",[2583],{"title":2579,"path":2580,"stem":2581},{"title":2585,"path":2586,"stem":2587,"children":2588},"Consent manager: registry commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fconsent-manager\u002Fregistry","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fconsent-manager\u002Fregistry\u002Findex",[2589],{"title":2585,"path":2586,"stem":2587},{"title":2591,"path":2592,"stem":2593,"children":2594},"Cost centers commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcost-centers","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcost-centers\u002Findex",[2595],{"title":2591,"path":2592,"stem":2593},{"title":2597,"path":2598,"stem":2599,"children":2600},"Create commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcreate","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcreate\u002Findex",[2601],{"title":2597,"path":2598,"stem":2599},{"title":2603,"path":2604,"stem":2605,"children":2606},"Customers commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Findex",[2607,2608,2614,2620,2626,2632,2638,2644],{"title":2603,"path":2604,"stem":2605},{"title":2609,"path":2610,"stem":2611,"children":2612},"Customers: contacts commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Fcontacts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Fcontacts\u002Findex",[2613],{"title":2609,"path":2610,"stem":2611},{"title":2615,"path":2616,"stem":2617,"children":2618},"Customers: follow ups commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Ffollow-ups","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Ffollow-ups\u002Findex",[2619],{"title":2615,"path":2616,"stem":2617},{"title":2621,"path":2622,"stem":2623,"children":2624},"Customers: leads commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Fleads","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Fleads\u002Findex",[2625],{"title":2621,"path":2622,"stem":2623},{"title":2627,"path":2628,"stem":2629,"children":2630},"Customers: organizations commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Forganizations","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Forganizations\u002Findex",[2631],{"title":2627,"path":2628,"stem":2629},{"title":2633,"path":2634,"stem":2635,"children":2636},"Customers: roles commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Froles","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Froles\u002Findex",[2637],{"title":2633,"path":2634,"stem":2635},{"title":2639,"path":2640,"stem":2641,"children":2642},"Customers: segments commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Fsegments","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Fsegments\u002Findex",[2643],{"title":2639,"path":2640,"stem":2641},{"title":2645,"path":2646,"stem":2647,"children":2648},"Customers: value lists commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Fvalue-lists","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Fvalue-lists\u002Findex",[2649],{"title":2645,"path":2646,"stem":2647},{"title":2651,"path":2652,"stem":2653,"children":2654},"Deploy commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdeploy","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdeploy\u002Findex",[2655],{"title":2651,"path":2652,"stem":2653},{"title":2657,"path":2658,"stem":2659,"children":2660},"Documents commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdocuments","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdocuments\u002Findex",[2661,2662,2668],{"title":2657,"path":2658,"stem":2659},{"title":2663,"path":2664,"stem":2665,"children":2666},"Documents: kinds commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdocuments\u002Fkinds","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdocuments\u002Fkinds\u002Findex",[2667],{"title":2663,"path":2664,"stem":2665},{"title":2669,"path":2670,"stem":2671,"children":2672},"Documents: register commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdocuments\u002Fregister","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdocuments\u002Fregister\u002Findex",[2673],{"title":2669,"path":2670,"stem":2671},{"title":2675,"path":2676,"stem":2677,"children":2678},"Events commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fevents","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fevents\u002Findex",[2679],{"title":2675,"path":2676,"stem":2677},{"title":2681,"path":2682,"stem":2683,"children":2684},"Forms commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fforms","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fforms\u002Findex",[2685],{"title":2681,"path":2682,"stem":2683},{"title":2687,"path":2688,"stem":2689,"children":2690},"Health commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fhealth","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fhealth\u002Findex",[2691],{"title":2687,"path":2688,"stem":2689},{"title":2693,"path":2694,"stem":2695,"children":2696},"Inventories commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Finventories","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Finventories\u002Findex",[2697,2698,2704,2710],{"title":2693,"path":2694,"stem":2695},{"title":2699,"path":2700,"stem":2701,"children":2702},"Inventories: locations commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Finventories\u002Flocations","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Finventories\u002Flocations\u002Findex",[2703],{"title":2699,"path":2700,"stem":2701},{"title":2705,"path":2706,"stem":2707,"children":2708},"Inventories: reservations commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Finventories\u002Freservations","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Finventories\u002Freservations\u002Findex",[2709],{"title":2705,"path":2706,"stem":2707},{"title":2711,"path":2712,"stem":2713,"children":2714},"Inventories: stock commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Finventories\u002Fstock","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Finventories\u002Fstock\u002Findex",[2715],{"title":2711,"path":2712,"stem":2713},{"title":2717,"path":2718,"stem":2719,"children":2720},"Import and export commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fio","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fio\u002Findex",[2721],{"title":2717,"path":2718,"stem":2719},{"title":2723,"path":2724,"stem":2725,"children":2726},"Journeys commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Findex",[2727,2728,2734,2740,2746,2752,2758,2764,2770,2776,2782],{"title":2723,"path":2724,"stem":2725},{"title":2729,"path":2730,"stem":2731,"children":2732},"Journeys: enrollments commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fenrollments","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fenrollments\u002Findex",[2733],{"title":2729,"path":2730,"stem":2731},{"title":2735,"path":2736,"stem":2737,"children":2738},"Journeys: jobs commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fjobs","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fjobs\u002Findex",[2739],{"title":2735,"path":2736,"stem":2737},{"title":2741,"path":2742,"stem":2743,"children":2744},"Journeys: journeys commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fjourneys","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fjourneys\u002Findex",[2745],{"title":2741,"path":2742,"stem":2743},{"title":2747,"path":2748,"stem":2749,"children":2750},"Journeys: stats commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fstats","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fstats\u002Findex",[2751],{"title":2747,"path":2748,"stem":2749},{"title":2753,"path":2754,"stem":2755,"children":2756},"Journeys: steps commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fsteps","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fsteps\u002Findex",[2757],{"title":2753,"path":2754,"stem":2755},{"title":2759,"path":2760,"stem":2761,"children":2762},"Journeys: templates commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Ftemplates","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Ftemplates\u002Findex",[2763],{"title":2759,"path":2760,"stem":2761},{"title":2765,"path":2766,"stem":2767,"children":2768},"Journeys: timeline commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Ftimeline","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Ftimeline\u002Findex",[2769],{"title":2765,"path":2766,"stem":2767},{"title":2771,"path":2772,"stem":2773,"children":2774},"Journeys: versions commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fversions","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fversions\u002Findex",[2775],{"title":2771,"path":2772,"stem":2773},{"title":2777,"path":2778,"stem":2779,"children":2780},"Journeys: vocabularies commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fvocabularies","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fvocabularies\u002Findex",[2781],{"title":2777,"path":2778,"stem":2779},{"title":2783,"path":2784,"stem":2785,"children":2786},"Journeys: watches commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fwatches","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fjourneys\u002Fwatches\u002Findex",[2787],{"title":2783,"path":2784,"stem":2785},{"title":2789,"path":2790,"stem":2791,"children":2792},"Locale commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Flocale","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Flocale\u002Findex",[2793],{"title":2789,"path":2790,"stem":2791},{"title":2795,"path":2796,"stem":2797,"children":2798},"Loyalty commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Findex",[2799,2800,2806,2812,2818,2824,2830,2836,2842,2848],{"title":2795,"path":2796,"stem":2797},{"title":2801,"path":2802,"stem":2803,"children":2804},"Loyalty: bonus commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Fbonus","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Fbonus\u002Findex",[2805],{"title":2801,"path":2802,"stem":2803},{"title":2807,"path":2808,"stem":2809,"children":2810},"Loyalty: jobs commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Fjobs","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Fjobs\u002Findex",[2811],{"title":2807,"path":2808,"stem":2809},{"title":2813,"path":2814,"stem":2815,"children":2816},"Loyalty: memberships commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Fmemberships","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Fmemberships\u002Findex",[2817],{"title":2813,"path":2814,"stem":2815},{"title":2819,"path":2820,"stem":2821,"children":2822},"Loyalty: points commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Fpoints","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Fpoints\u002Findex",[2823],{"title":2819,"path":2820,"stem":2821},{"title":2825,"path":2826,"stem":2827,"children":2828},"Loyalty: programs commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Fprograms","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Fprograms\u002Findex",[2829],{"title":2825,"path":2826,"stem":2827},{"title":2831,"path":2832,"stem":2833,"children":2834},"Loyalty: referrals commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Freferrals","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Freferrals\u002Findex",[2835],{"title":2831,"path":2832,"stem":2833},{"title":2837,"path":2838,"stem":2839,"children":2840},"Loyalty: rewards commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Frewards","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Frewards\u002Findex",[2841],{"title":2837,"path":2838,"stem":2839},{"title":2843,"path":2844,"stem":2845,"children":2846},"Loyalty: tiers commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Ftiers","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Ftiers\u002Findex",[2847],{"title":2843,"path":2844,"stem":2845},{"title":2849,"path":2850,"stem":2851,"children":2852},"Loyalty: vocabularies commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Fvocabularies","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Floyalty\u002Fvocabularies\u002Findex",[2853],{"title":2849,"path":2850,"stem":2851},{"title":2855,"path":2856,"stem":2857,"children":2858},"Mailings commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Findex",[2859,2860,2866,2872,2878,2884,2890,2896,2902],{"title":2855,"path":2856,"stem":2857},{"title":2861,"path":2862,"stem":2863,"children":2864},"Mailings: analysis commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fanalysis","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fanalysis\u002Findex",[2865],{"title":2861,"path":2862,"stem":2863},{"title":2867,"path":2868,"stem":2869,"children":2870},"Mailings: blocks commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fblocks","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fblocks\u002Findex",[2871],{"title":2867,"path":2868,"stem":2869},{"title":2873,"path":2874,"stem":2875,"children":2876},"Mailings: health commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fhealth","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fhealth\u002Findex",[2877],{"title":2873,"path":2874,"stem":2875},{"title":2879,"path":2880,"stem":2881,"children":2882},"Mailings: mailings commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fmailings","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fmailings\u002Findex",[2883],{"title":2879,"path":2880,"stem":2881},{"title":2885,"path":2886,"stem":2887,"children":2888},"Mailings: recipients commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Frecipients","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Frecipients\u002Findex",[2889],{"title":2885,"path":2886,"stem":2887},{"title":2891,"path":2892,"stem":2893,"children":2894},"Mailings: send commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fsend","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fsend\u002Findex",[2895],{"title":2891,"path":2892,"stem":2893},{"title":2897,"path":2898,"stem":2899,"children":2900},"Mailings: variants commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fvariants","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fvariants\u002Findex",[2901],{"title":2897,"path":2898,"stem":2899},{"title":2903,"path":2904,"stem":2905,"children":2906},"Mailings: vocabularies commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fvocabularies","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmailings\u002Fvocabularies\u002Findex",[2907],{"title":2903,"path":2904,"stem":2905},{"title":2909,"path":2910,"stem":2911,"children":2912},"Marketing consents commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarketing-consents","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarketing-consents\u002Findex",[2913,2914,2920,2926],{"title":2909,"path":2910,"stem":2911},{"title":2915,"path":2916,"stem":2917,"children":2918},"Marketing consents: evidence commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarketing-consents\u002Fevidence","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarketing-consents\u002Fevidence\u002Findex",[2919],{"title":2915,"path":2916,"stem":2917},{"title":2921,"path":2922,"stem":2923,"children":2924},"Marketing consents: subscriptions commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarketing-consents\u002Fsubscriptions","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarketing-consents\u002Fsubscriptions\u002Findex",[2925],{"title":2921,"path":2922,"stem":2923},{"title":2927,"path":2928,"stem":2929,"children":2930},"Marketing consents: types commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarketing-consents\u002Ftypes","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarketing-consents\u002Ftypes\u002Findex",[2931],{"title":2927,"path":2928,"stem":2929},{"title":2933,"path":2934,"stem":2935,"children":2936},"Markets commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarkets","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarkets\u002Findex",[2937],{"title":2933,"path":2934,"stem":2935},{"title":2939,"path":2940,"stem":2941,"children":2942},"Messaging commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmessaging","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmessaging\u002Findex",[2943],{"title":2939,"path":2940,"stem":2941},{"title":2945,"path":2946,"stem":2947,"children":2948},"Order lists commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Forderlists","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Forderlists\u002Findex",[2949],{"title":2945,"path":2946,"stem":2947},{"title":2951,"path":2952,"stem":2953,"children":2954},"Orders commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Forders","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Forders\u002Findex",[2955],{"title":2951,"path":2952,"stem":2953},{"title":2957,"path":2958,"stem":2959,"children":2960},"Pages commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages\u002Findex",[2961,2962,2968,2974],{"title":2957,"path":2958,"stem":2959},{"title":2963,"path":2964,"stem":2965,"children":2966},"Pages: collaboration commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages\u002Fcollaboration","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages\u002Fcollaboration\u002Findex",[2967],{"title":2963,"path":2964,"stem":2965},{"title":2969,"path":2970,"stem":2971,"children":2972},"Pages: delivery commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages\u002Fdelivery","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages\u002Fdelivery\u002Findex",[2973],{"title":2969,"path":2970,"stem":2971},{"title":2975,"path":2976,"stem":2977,"children":2978},"Pages: editor commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages\u002Feditor","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages\u002Feditor\u002Findex",[2979],{"title":2975,"path":2976,"stem":2977},{"title":2981,"path":2982,"stem":2983,"children":2984},"Payments commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpayments","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpayments\u002Findex",[2985,2986,2992,2998],{"title":2981,"path":2982,"stem":2983},{"title":2987,"path":2988,"stem":2989,"children":2990},"Payments: ledger commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpayments\u002Fledger","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpayments\u002Fledger\u002Findex",[2991],{"title":2987,"path":2988,"stem":2989},{"title":2993,"path":2994,"stem":2995,"children":2996},"Payments: methods commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpayments\u002Fmethods","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpayments\u002Fmethods\u002Findex",[2997],{"title":2993,"path":2994,"stem":2995},{"title":2999,"path":3000,"stem":3001,"children":3002},"Payments: providers commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpayments\u002Fproviders","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpayments\u002Fproviders\u002Findex",[3003],{"title":2999,"path":3000,"stem":3001},{"title":3005,"path":3006,"stem":3007,"children":3008},"Prices commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprices","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprices\u002Findex",[3009],{"title":3005,"path":3006,"stem":3007},{"title":3011,"path":3012,"stem":3013,"children":3014},"Procurement commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprocurement","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprocurement\u002Findex",[3015],{"title":3011,"path":3012,"stem":3013},{"title":3017,"path":3018,"stem":3019,"children":3020},"Products commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Findex",[3021,3022,3028,3034,3040,3046],{"title":3017,"path":3018,"stem":3019},{"title":3023,"path":3024,"stem":3025,"children":3026},"Products: assets commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Fassets","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Fassets\u002Findex",[3027],{"title":3023,"path":3024,"stem":3025},{"title":3029,"path":3030,"stem":3031,"children":3032},"Products: categories commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Fcategories","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Fcategories\u002Findex",[3033],{"title":3029,"path":3030,"stem":3031},{"title":3035,"path":3036,"stem":3037,"children":3038},"Products: data model commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Fdata-model","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Fdata-model\u002Findex",[3039],{"title":3035,"path":3036,"stem":3037},{"title":3041,"path":3042,"stem":3043,"children":3044},"Products: manufacturers commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Fmanufacturers","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Fmanufacturers\u002Findex",[3045],{"title":3041,"path":3042,"stem":3043},{"title":3047,"path":3048,"stem":3049,"children":3050},"Products: references commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Freferences","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Freferences\u002Findex",[3051],{"title":3047,"path":3048,"stem":3049},{"title":3053,"path":3054,"stem":3055,"children":3056},"Promotions commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpromotions","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpromotions\u002Findex",[3057,3058,3064,3070,3076],{"title":3053,"path":3054,"stem":3055},{"title":3059,"path":3060,"stem":3061,"children":3062},"Promotions: evaluation commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpromotions\u002Fevaluation","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpromotions\u002Fevaluation\u002Findex",[3063],{"title":3059,"path":3060,"stem":3061},{"title":3065,"path":3066,"stem":3067,"children":3068},"Promotions: promotions commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpromotions\u002Fpromotions","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpromotions\u002Fpromotions\u002Findex",[3069],{"title":3065,"path":3066,"stem":3067},{"title":3071,"path":3072,"stem":3073,"children":3074},"Promotions: redemptions commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpromotions\u002Fredemptions","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpromotions\u002Fredemptions\u002Findex",[3075],{"title":3071,"path":3072,"stem":3073},{"title":3077,"path":3078,"stem":3079,"children":3080},"Promotions: vouchers commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpromotions\u002Fvouchers","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpromotions\u002Fvouchers\u002Findex",[3081],{"title":3077,"path":3078,"stem":3079},{"title":3083,"path":3084,"stem":3085,"children":3086},"Punchout commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpunchout","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpunchout\u002Findex",[3087],{"title":3083,"path":3084,"stem":3085},{"title":3089,"path":3090,"stem":3091,"children":3092},"Quotes commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fquotes","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fquotes\u002Findex",[3093,3094,3100,3106,3112,3118],{"title":3089,"path":3090,"stem":3091},{"title":3095,"path":3096,"stem":3097,"children":3098},"Quotes: acceptance commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fquotes\u002Facceptance","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fquotes\u002Facceptance\u002Findex",[3099],{"title":3095,"path":3096,"stem":3097},{"title":3101,"path":3102,"stem":3103,"children":3104},"Quotes: pricing commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fquotes\u002Fpricing","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fquotes\u002Fpricing\u002Findex",[3105],{"title":3101,"path":3102,"stem":3103},{"title":3107,"path":3108,"stem":3109,"children":3110},"Quotes: quotes commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fquotes\u002Fquotes","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fquotes\u002Fquotes\u002Findex",[3111],{"title":3107,"path":3108,"stem":3109},{"title":3113,"path":3114,"stem":3115,"children":3116},"Quotes: ranges commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fquotes\u002Franges","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fquotes\u002Franges\u002Findex",[3117],{"title":3113,"path":3114,"stem":3115},{"title":3119,"path":3120,"stem":3121,"children":3122},"Quotes: trail commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fquotes\u002Ftrail","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fquotes\u002Ftrail\u002Findex",[3123],{"title":3119,"path":3120,"stem":3121},{"title":3125,"path":3126,"stem":3127,"children":3128},"Reviews commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Findex",[3129,3130,3136,3142,3148,3154,3160,3166,3172],{"title":3125,"path":3126,"stem":3127},{"title":3131,"path":3132,"stem":3133,"children":3134},"Reviews: aggregates commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Faggregates","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Faggregates\u002Findex",[3135],{"title":3131,"path":3132,"stem":3133},{"title":3137,"path":3138,"stem":3139,"children":3140},"Reviews: jobs commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Fjobs","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Fjobs\u002Findex",[3141],{"title":3137,"path":3138,"stem":3139},{"title":3143,"path":3144,"stem":3145,"children":3146},"Reviews: moderation commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Fmoderation","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Fmoderation\u002Findex",[3147],{"title":3143,"path":3144,"stem":3145},{"title":3149,"path":3150,"stem":3151,"children":3152},"Reviews: privacy commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Fprivacy","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Fprivacy\u002Findex",[3153],{"title":3149,"path":3150,"stem":3151},{"title":3155,"path":3156,"stem":3157,"children":3158},"Reviews: products commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Fproducts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Fproducts\u002Findex",[3159],{"title":3155,"path":3156,"stem":3157},{"title":3161,"path":3162,"stem":3163,"children":3164},"Reviews: requests commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Frequests","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Frequests\u002Findex",[3165],{"title":3161,"path":3162,"stem":3163},{"title":3167,"path":3168,"stem":3169,"children":3170},"Reviews: reviews commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Freviews","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Freviews\u002Findex",[3171],{"title":3167,"path":3168,"stem":3169},{"title":3173,"path":3174,"stem":3175,"children":3176},"Reviews: vocabularies commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Fvocabularies","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Freviews\u002Fvocabularies\u002Findex",[3177],{"title":3173,"path":3174,"stem":3175},{"title":3179,"path":3180,"stem":3181,"children":3182},"Sales reps commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsales-reps","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsales-reps\u002Findex",[3183,3184,3190,3196],{"title":3179,"path":3180,"stem":3181},{"title":3185,"path":3186,"stem":3187,"children":3188},"Sales reps: acting for commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsales-reps\u002Facting-for","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsales-reps\u002Facting-for\u002Findex",[3189],{"title":3185,"path":3186,"stem":3187},{"title":3191,"path":3192,"stem":3193,"children":3194},"Sales reps: coverage commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsales-reps\u002Fcoverage","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsales-reps\u002Fcoverage\u002Findex",[3195],{"title":3191,"path":3192,"stem":3193},{"title":3197,"path":3198,"stem":3199,"children":3200},"Sales reps: roster commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsales-reps\u002Froster","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsales-reps\u002Froster\u002Findex",[3201],{"title":3197,"path":3198,"stem":3199},{"title":3203,"path":3204,"stem":3205,"children":3206},"Search commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsearch","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsearch\u002Findex",[3207],{"title":3203,"path":3204,"stem":3205},{"title":3209,"path":3210,"stem":3211,"children":3212},"Settings commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsettings","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsettings\u002Findex",[3213],{"title":3209,"path":3210,"stem":3211},{"title":3215,"path":3216,"stem":3217,"children":3218},"Shipping commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fshipping","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fshipping\u002Findex",[3219,3220,3226,3232],{"title":3215,"path":3216,"stem":3217},{"title":3221,"path":3222,"stem":3223,"children":3224},"Shipping: carriers commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fshipping\u002Fcarriers","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fshipping\u002Fcarriers\u002Findex",[3225],{"title":3221,"path":3222,"stem":3223},{"title":3227,"path":3228,"stem":3229,"children":3230},"Shipping: methods commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fshipping\u002Fmethods","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fshipping\u002Fmethods\u002Findex",[3231],{"title":3227,"path":3228,"stem":3229},{"title":3233,"path":3234,"stem":3235,"children":3236},"Shipping: value lists commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fshipping\u002Fvalue-lists","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fshipping\u002Fvalue-lists\u002Findex",[3237],{"title":3233,"path":3234,"stem":3235},{"title":3239,"path":3240,"stem":3241,"children":3242},"Sites commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsites","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsites\u002Findex",[3243],{"title":3239,"path":3240,"stem":3241},{"title":3245,"path":3246,"stem":3247,"children":3248},"Skills commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fskills","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fskills\u002Findex",[3249],{"title":3245,"path":3246,"stem":3247},{"title":3251,"path":3252,"stem":3253,"children":3254},"Storage commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fstorage","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fstorage\u002Findex",[3255],{"title":3251,"path":3252,"stem":3253},{"title":3257,"path":3258,"stem":3259,"children":3260},"Tag manager commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Ftag-manager","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Ftag-manager\u002Findex",[3261,3262,3268,3274],{"title":3257,"path":3258,"stem":3259},{"title":3263,"path":3264,"stem":3265,"children":3266},"Tag manager: container commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Ftag-manager\u002Fcontainer","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Ftag-manager\u002Fcontainer\u002Findex",[3267],{"title":3263,"path":3264,"stem":3265},{"title":3269,"path":3270,"stem":3271,"children":3272},"Tag manager: delivery commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Ftag-manager\u002Fdelivery","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Ftag-manager\u002Fdelivery\u002Findex",[3273],{"title":3269,"path":3270,"stem":3271},{"title":3275,"path":3276,"stem":3277,"children":3278},"Tag manager: tags commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Ftag-manager\u002Ftags","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Ftag-manager\u002Ftags\u002Findex",[3279],{"title":3275,"path":3276,"stem":3277},{"title":3281,"path":3282,"stem":3283,"children":3284},"Interactive shell (REPL)","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Frepl","docs\u002Ftools\u002Fcommand-line\u002Frepl\u002Findex",[3285],{"title":3281,"path":3282,"stem":3283},{"title":3287,"path":3288,"stem":3289,"children":3290},"Scaffolding","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fscaffolding","docs\u002Ftools\u002Fcommand-line\u002Fscaffolding\u002Findex",[3291],{"title":3287,"path":3288,"stem":3289},{"title":3293,"path":3294,"stem":3295,"children":3296},"Scripting & output","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fscripting","docs\u002Ftools\u002Fcommand-line\u002Fscripting\u002Findex",[3297],{"title":3293,"path":3294,"stem":3295},{"title":3299,"path":3300,"stem":3301,"children":3302},"Skills","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fskills","docs\u002Ftools\u002Fcommand-line\u002Fskills\u002Findex",[3303],{"title":3299,"path":3300,"stem":3301},{"title":3305,"path":3306,"stem":3307,"children":3308},"Full-screen app (TUI)","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Ftui","docs\u002Ftools\u002Fcommand-line\u002Ftui\u002Findex",[3309],{"title":3305,"path":3306,"stem":3307},{"title":3311,"path":3312,"stem":3313,"children":3314},"Type generation","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Ftype-generation","docs\u002Ftools\u002Fcommand-line\u002Ftype-generation\u002Findex",[3315],{"title":3311,"path":3312,"stem":3313},{"title":3317,"path":3318,"stem":3319,"children":3320},"Background watchers","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fwatch","docs\u002Ftools\u002Fcommand-line\u002Fwatch\u002Findex",[3321],{"title":3317,"path":3318,"stem":3319},{"title":3323,"path":3324,"stem":3325,"children":3326},"Model Context Protocol","\u002Fdocs\u002Ftools\u002Fmcp","docs\u002Ftools\u002Fmcp\u002Findex",[3327,3328,3334,3340,3346,3352,3358,3364,3370],{"title":3323,"path":3324,"stem":3325},{"title":3329,"path":3330,"stem":3331,"children":3332},"revenexx docs MCP in Google Antigravity","\u002Fdocs\u002Ftools\u002Fmcp\u002Fantigravity","docs\u002Ftools\u002Fmcp\u002Fantigravity\u002Findex",[3333],{"title":3329,"path":3330,"stem":3331},{"title":3335,"path":3336,"stem":3337,"children":3338},"revenexx docs MCP in Claude Code","\u002Fdocs\u002Ftools\u002Fmcp\u002Fclaude-code","docs\u002Ftools\u002Fmcp\u002Fclaude-code\u002Findex",[3339],{"title":3335,"path":3336,"stem":3337},{"title":3341,"path":3342,"stem":3343,"children":3344},"revenexx docs MCP in Claude Desktop","\u002Fdocs\u002Ftools\u002Fmcp\u002Fclaude-desktop","docs\u002Ftools\u002Fmcp\u002Fclaude-desktop\u002Findex",[3345],{"title":3341,"path":3342,"stem":3343},{"title":3347,"path":3348,"stem":3349,"children":3350},"revenexx docs MCP in Cursor","\u002Fdocs\u002Ftools\u002Fmcp\u002Fcursor","docs\u002Ftools\u002Fmcp\u002Fcursor\u002Findex",[3351],{"title":3347,"path":3348,"stem":3349},{"title":3353,"path":3354,"stem":3355,"children":3356},"revenexx docs MCP in OpenCode","\u002Fdocs\u002Ftools\u002Fmcp\u002Fopencode","docs\u002Ftools\u002Fmcp\u002Fopencode\u002Findex",[3357],{"title":3353,"path":3354,"stem":3355},{"title":3359,"path":3360,"stem":3361,"children":3362},"revenexx docs MCP in VS Code","\u002Fdocs\u002Ftools\u002Fmcp\u002Fvscode","docs\u002Ftools\u002Fmcp\u002Fvscode\u002Findex",[3363],{"title":3359,"path":3360,"stem":3361},{"title":3365,"path":3366,"stem":3367,"children":3368},"revenexx docs MCP in Windsurf","\u002Fdocs\u002Ftools\u002Fmcp\u002Fwindsurf","docs\u002Ftools\u002Fmcp\u002Fwindsurf\u002Findex",[3369],{"title":3365,"path":3366,"stem":3367},{"title":3371,"path":3372,"stem":3373,"children":3374},"revenexx docs MCP in Zenflow","\u002Fdocs\u002Ftools\u002Fmcp\u002Fzenflow","docs\u002Ftools\u002Fmcp\u002Fzenflow\u002Findex",[3375],{"title":3371,"path":3372,"stem":3373},{"id":3377,"title":124,"body":3378,"description":12158,"extension":12159,"landing":12160,"links":12160,"meta":12161,"navigation":12162,"path":125,"seo":12163,"sitemap":12164,"stem":126,"__hash__":12165},"docs\u002Fdocs\u002Fguides\u002Fapps\u002Fbuild-your-first-app\u002Findex.md",{"type":3379,"value":3380,"toc":12146},"minimark",[3381,3400,3429,3433,3444,3518,3532,3535,3544,3548,3555,3605,3612,3881,3897,3901,3907,3925,4680,4683,4730,4734,4744,5025,5036,5179,5189,5193,5210,5213,6590,6606,6613,6716,6722,6726,6737,6784,6812,6838,9335,9338,9351,9369,9373,9380,11822,11825,11837,11840,11844,11854,11928,11934,12053,12065,12071,12075,12121,12125,12142],[3382,3383,3384,3385,3389,3390,3394,3395,3399],"p",{},"This tutorial builds a complete revenexx App from an empty directory: a ",[3386,3387,3388],"strong",{},"Locations"," app with one entity, full CRUD served through the API gateway, a seeded default, and a custom batch endpoint. You test it on your laptop, deploy it with the ",[3391,3392,3393],"a",{"href":530},"revenexx CLI",", and confirm it answers a real request at ",[3396,3397,3398],"code",{},"https:\u002F\u002Fapi.revenexx.com",".",[3382,3401,3402,3403,3405,3406,3408,3409,3413,3414,3417,3418,3421,3422,3425,3426,3399],{},"This is for backend developers. Before you start, install the ",[3391,3404,516],{"href":517}," and the ",[3391,3407,529],{"href":530},", and have a ",[3391,3410,3412],{"href":3411},"\u002Fdocs\u002Fgetting-started\u002Fprerequisites#find-your-tenant-slug","tenant slug"," and an ",[3396,3415,3416],{},"X-Revenexx-Api-Key"," ready (see ",[3391,3419,64],{"href":3420},"\u002Fdocs\u002Fgetting-started\u002Fprerequisites#create-an-api-key","). A development key with full access (",[3396,3423,3424],{},"*",") is simplest; calling the finished App needs ",[3396,3427,3428],{},"locations.*",[3430,3431,790],"h2",{"id":3432},"quick-start",[3382,3434,3435,3436,3439,3440,3443],{},"If you just want a working app, scaffold it in one command. ",[3396,3437,3438],{},"revenexx create app"," stamps the same files this tutorial builds by hand — manifest, schema, capabilities, a typed data client, and a test suite — ",[3396,3441,3442],{},"npm test","-green out of the box:",[3445,3446,3452],"pre",{"className":3447,"code":3448,"filename":3449,"language":3450,"meta":3451,"style":3451},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","revenexx create app locations --entity locations\ncd locations\nnpm install && npm test\nrevenexx deploy app\n","Scaffold","bash","",[3396,3453,3454,3479,3488,3507],{"__ignoreMap":3451},[3455,3456,3459,3463,3467,3470,3473,3476],"span",{"class":3457,"line":3458},"line",1,[3455,3460,3462],{"class":3461},"sBMFI","revenexx",[3455,3464,3466],{"class":3465},"sfazB"," create",[3455,3468,3469],{"class":3465}," app",[3455,3471,3472],{"class":3465}," locations",[3455,3474,3475],{"class":3465}," --entity",[3455,3477,3478],{"class":3465}," locations\n",[3455,3480,3482,3486],{"class":3457,"line":3481},2,[3455,3483,3485],{"class":3484},"s2Zo4","cd",[3455,3487,3478],{"class":3465},[3455,3489,3491,3494,3497,3501,3504],{"class":3457,"line":3490},3,[3455,3492,3493],{"class":3461},"npm",[3455,3495,3496],{"class":3465}," install",[3455,3498,3500],{"class":3499},"sMK4o"," &&",[3455,3502,3503],{"class":3461}," npm",[3455,3505,3506],{"class":3465}," test\n",[3455,3508,3510,3512,3515],{"class":3457,"line":3509},4,[3455,3511,3462],{"class":3461},[3455,3513,3514],{"class":3465}," deploy",[3455,3516,3517],{"class":3465}," app\n",[3382,3519,3520,3521,3523,3524,3527,3528,3531],{},"See ",[3391,3522,3287],{"href":3288}," for everything ",[3396,3525,3526],{},"create app"," stamps and the flags it takes. The rest of this tutorial builds the same app ",[3386,3529,3530],{},"by hand",", so you understand each file the scaffold generates.",[3382,3533,3534],{},"An App is a directory of declarative JSON plus a Node function. The platform reads the JSON to provision your tables and your API; the function holds whatever custom logic you add. The files you'll create:",[3445,3536,3542],{"className":3537,"code":3539,"filename":3540,"language":3541,"meta":3451},[3538],"language-text","locations\u002F\n  manifest.json        identity and permissions\n  schema.json          your entities → platform tables\n  cockpit.json         the admin UI\n  billing.json         marketplace listing\n  package.json         one dependency: @revenexx\u002Fapp-sdk\n  src\u002Fmain.js          the function entrypoint\n  src\u002Fdb.generated.js  the typed data client (generated — never hand-edit)\n  manifest.capabilities.json  the capability list (generated — never hand-edit)\n  scripts\u002Fcapabilities.js  regenerates that list from your schema + routes\n  test\u002Flocations.test.js   node --test against an in-memory data store\n","App layout","text",[3396,3543,3539],{"__ignoreMap":3451},[3430,3545,3547],{"id":3546},"_1-create-the-project","1. Create the project",[3382,3549,3550,3551,3554],{},"Make the directory and a ",[3396,3552,3553],{},"package.json"," with the one dependency you need.",[3445,3556,3558],{"className":3447,"code":3557,"filename":3449,"language":3450,"meta":3451,"style":3451},"mkdir locations && cd locations\nmkdir src scripts test\nnpm init -y\nnpm install @revenexx\u002Fapp-sdk@^0.8.0\n",[3396,3559,3560,3574,3586,3596],{"__ignoreMap":3451},[3455,3561,3562,3565,3567,3569,3572],{"class":3457,"line":3458},[3455,3563,3564],{"class":3461},"mkdir",[3455,3566,3472],{"class":3465},[3455,3568,3500],{"class":3499},[3455,3570,3571],{"class":3484}," cd",[3455,3573,3478],{"class":3465},[3455,3575,3576,3578,3581,3584],{"class":3457,"line":3481},[3455,3577,3564],{"class":3461},[3455,3579,3580],{"class":3465}," src",[3455,3582,3583],{"class":3465}," scripts",[3455,3585,3506],{"class":3465},[3455,3587,3588,3590,3593],{"class":3457,"line":3490},[3455,3589,3493],{"class":3461},[3455,3591,3592],{"class":3465}," init",[3455,3594,3595],{"class":3465}," -y\n",[3455,3597,3598,3600,3602],{"class":3457,"line":3509},[3455,3599,3493],{"class":3461},[3455,3601,3496],{"class":3465},[3455,3603,3604],{"class":3465}," @revenexx\u002Fapp-sdk@^0.8.0\n",[3382,3606,3607,3608,3611],{},"Set the entrypoint and a test script so ",[3396,3609,3610],{},"node --test"," runs your suite.",[3445,3613,3617],{"className":3614,"code":3615,"filename":3553,"language":3616,"meta":3451,"style":3451},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"name\": \"locations\",\n  \"version\": \"0.1.0\",\n  \"description\": \"Stock locations — warehouses, stores, dropship and virtual.\",\n  \"main\": \"src\u002Fmain.js\",\n  \"scripts\": {\n    \"test\": \"node --test\",\n    \"capabilities\": \"node scripts\u002Fcapabilities.js\"\n  },\n  \"engines\": { \"node\": \">=22\" },\n  \"dependencies\": { \"@revenexx\u002Fapp-sdk\": \"^0.8.0\" },\n  \"license\": \"MIT\",\n  \"private\": true\n}\n","json",[3396,3618,3619,3624,3650,3670,3690,3711,3726,3747,3767,3773,3807,3839,3860,3875],{"__ignoreMap":3451},[3455,3620,3621],{"class":3457,"line":3458},[3455,3622,3623],{"class":3499},"{\n",[3455,3625,3626,3629,3633,3636,3639,3642,3645,3647],{"class":3457,"line":3481},[3455,3627,3628],{"class":3499},"  \"",[3455,3630,3632],{"class":3631},"spNyl","name",[3455,3634,3635],{"class":3499},"\"",[3455,3637,3638],{"class":3499},":",[3455,3640,3641],{"class":3499}," \"",[3455,3643,3644],{"class":3465},"locations",[3455,3646,3635],{"class":3499},[3455,3648,3649],{"class":3499},",\n",[3455,3651,3652,3654,3657,3659,3661,3663,3666,3668],{"class":3457,"line":3490},[3455,3653,3628],{"class":3499},[3455,3655,3656],{"class":3631},"version",[3455,3658,3635],{"class":3499},[3455,3660,3638],{"class":3499},[3455,3662,3641],{"class":3499},[3455,3664,3665],{"class":3465},"0.1.0",[3455,3667,3635],{"class":3499},[3455,3669,3649],{"class":3499},[3455,3671,3672,3674,3677,3679,3681,3683,3686,3688],{"class":3457,"line":3509},[3455,3673,3628],{"class":3499},[3455,3675,3676],{"class":3631},"description",[3455,3678,3635],{"class":3499},[3455,3680,3638],{"class":3499},[3455,3682,3641],{"class":3499},[3455,3684,3685],{"class":3465},"Stock locations — warehouses, stores, dropship and virtual.",[3455,3687,3635],{"class":3499},[3455,3689,3649],{"class":3499},[3455,3691,3693,3695,3698,3700,3702,3704,3707,3709],{"class":3457,"line":3692},5,[3455,3694,3628],{"class":3499},[3455,3696,3697],{"class":3631},"main",[3455,3699,3635],{"class":3499},[3455,3701,3638],{"class":3499},[3455,3703,3641],{"class":3499},[3455,3705,3706],{"class":3465},"src\u002Fmain.js",[3455,3708,3635],{"class":3499},[3455,3710,3649],{"class":3499},[3455,3712,3714,3716,3719,3721,3723],{"class":3457,"line":3713},6,[3455,3715,3628],{"class":3499},[3455,3717,3718],{"class":3631},"scripts",[3455,3720,3635],{"class":3499},[3455,3722,3638],{"class":3499},[3455,3724,3725],{"class":3499}," {\n",[3455,3727,3729,3732,3735,3737,3739,3741,3743,3745],{"class":3457,"line":3728},7,[3455,3730,3731],{"class":3499},"    \"",[3455,3733,3734],{"class":3461},"test",[3455,3736,3635],{"class":3499},[3455,3738,3638],{"class":3499},[3455,3740,3641],{"class":3499},[3455,3742,3610],{"class":3465},[3455,3744,3635],{"class":3499},[3455,3746,3649],{"class":3499},[3455,3748,3750,3752,3755,3757,3759,3761,3764],{"class":3457,"line":3749},8,[3455,3751,3731],{"class":3499},[3455,3753,3754],{"class":3461},"capabilities",[3455,3756,3635],{"class":3499},[3455,3758,3638],{"class":3499},[3455,3760,3641],{"class":3499},[3455,3762,3763],{"class":3465},"node scripts\u002Fcapabilities.js",[3455,3765,3766],{"class":3499},"\"\n",[3455,3768,3770],{"class":3457,"line":3769},9,[3455,3771,3772],{"class":3499},"  },\n",[3455,3774,3776,3778,3781,3783,3785,3788,3790,3793,3795,3797,3799,3802,3804],{"class":3457,"line":3775},10,[3455,3777,3628],{"class":3499},[3455,3779,3780],{"class":3631},"engines",[3455,3782,3635],{"class":3499},[3455,3784,3638],{"class":3499},[3455,3786,3787],{"class":3499}," {",[3455,3789,3641],{"class":3499},[3455,3791,3792],{"class":3461},"node",[3455,3794,3635],{"class":3499},[3455,3796,3638],{"class":3499},[3455,3798,3641],{"class":3499},[3455,3800,3801],{"class":3465},">=22",[3455,3803,3635],{"class":3499},[3455,3805,3806],{"class":3499}," },\n",[3455,3808,3810,3812,3815,3817,3819,3821,3823,3826,3828,3830,3832,3835,3837],{"class":3457,"line":3809},11,[3455,3811,3628],{"class":3499},[3455,3813,3814],{"class":3631},"dependencies",[3455,3816,3635],{"class":3499},[3455,3818,3638],{"class":3499},[3455,3820,3787],{"class":3499},[3455,3822,3641],{"class":3499},[3455,3824,3825],{"class":3461},"@revenexx\u002Fapp-sdk",[3455,3827,3635],{"class":3499},[3455,3829,3638],{"class":3499},[3455,3831,3641],{"class":3499},[3455,3833,3834],{"class":3465},"^0.8.0",[3455,3836,3635],{"class":3499},[3455,3838,3806],{"class":3499},[3455,3840,3842,3844,3847,3849,3851,3853,3856,3858],{"class":3457,"line":3841},12,[3455,3843,3628],{"class":3499},[3455,3845,3846],{"class":3631},"license",[3455,3848,3635],{"class":3499},[3455,3850,3638],{"class":3499},[3455,3852,3641],{"class":3499},[3455,3854,3855],{"class":3465},"MIT",[3455,3857,3635],{"class":3499},[3455,3859,3649],{"class":3499},[3455,3861,3863,3865,3868,3870,3872],{"class":3457,"line":3862},13,[3455,3864,3628],{"class":3499},[3455,3866,3867],{"class":3631},"private",[3455,3869,3635],{"class":3499},[3455,3871,3638],{"class":3499},[3455,3873,3874],{"class":3499}," true\n",[3455,3876,3878],{"class":3457,"line":3877},14,[3455,3879,3880],{"class":3499},"}\n",[3382,3882,3883,3884,3886,3887,3890,3891,3893,3894,3896],{},"The tutorials pin ",[3396,3885,3834],{},", the range the ",[3391,3888,3889],{"href":139},"event guide"," needs; ",[3396,3892,3438],{}," may pin an older range, and the code here is the same on either (as of 2026-10). The local requirement of Node 22 or newer comes from the scaffolded ",[3396,3895,3780],{}," field, not from the SDK.",[3430,3898,3900],{"id":3899},"_2-declare-the-entity-in-schemajson","2. Declare the entity in schema.json",[3382,3902,3903,3906],{},[3396,3904,3905],{},"schema.json"," is the source of truth for your tables. The platform reads it and provisions a table per entity, scoping every row to the tenant automatically — you never declare a tenant column, and you never write a migration.",[3382,3908,3909,3910,3912,3913,3916,3917,3920,3921,3924],{},"Declare one entity, ",[3396,3911,3644],{},". Each column has a type; add ",[3396,3914,3915],{},"notNull",", ",[3396,3918,3919],{},"default",", and ",[3396,3922,3923],{},"check"," where the data demands it. Use indexes for the lookups you'll do — here, a unique location code per tenant.",[3445,3926,3928],{"className":3614,"code":3927,"filename":3905,"language":3616,"meta":3451,"style":3451},"{\n  \"$schema\": \"https:\u002F\u002Fschemas.revenexx.com\u002Fschema.schema.json\",\n  \"entities\": {\n    \"locations\": {\n      \"columns\": {\n        \"id\":        { \"type\": \"uuid\", \"pk\": true, \"default\": \"gen_random_uuid()\" },\n        \"code\":      { \"type\": \"text\", \"notNull\": true, \"check\": \"length(code) > 0\" },\n        \"name\":      { \"type\": \"text\", \"notNull\": true, \"check\": \"length(name) > 0\" },\n        \"labels\":    { \"type\": \"jsonb\" },\n        \"type\":      { \"type\": \"text\", \"notNull\": true, \"default\": \"'warehouse'\", \"check\": \"type in ('warehouse', 'store', 'dropship', 'virtual')\" },\n        \"priority\":  { \"type\": \"integer\", \"notNull\": true, \"default\": \"0\" },\n        \"enabled\":   { \"type\": \"boolean\", \"notNull\": true, \"default\": \"true\" },\n        \"address\":   { \"type\": \"jsonb\" },\n        \"metadata\":  { \"type\": \"jsonb\" },\n        \"created_at\": { \"type\": \"timestamptz\", \"notNull\": true, \"default\": \"now()\" },\n        \"updated_at\": { \"type\": \"timestamptz\", \"notNull\": true, \"default\": \"now()\" }\n      },\n      \"indexes\": [\n        { \"columns\": [\"tenant_id\", \"code\"], \"unique\": true },\n        { \"columns\": [\"enabled\"] }\n      ]\n    }\n  }\n}\n",[3396,3929,3930,3934,3954,3967,3979,3994,4059,4115,4170,4201,4273,4331,4389,4418,4447,4505,4562,4568,4583,4631,4657,4663,4669,4675],{"__ignoreMap":3451},[3455,3931,3932],{"class":3457,"line":3458},[3455,3933,3623],{"class":3499},[3455,3935,3936,3938,3941,3943,3945,3947,3950,3952],{"class":3457,"line":3481},[3455,3937,3628],{"class":3499},[3455,3939,3940],{"class":3631},"$schema",[3455,3942,3635],{"class":3499},[3455,3944,3638],{"class":3499},[3455,3946,3641],{"class":3499},[3455,3948,3949],{"class":3465},"https:\u002F\u002Fschemas.revenexx.com\u002Fschema.schema.json",[3455,3951,3635],{"class":3499},[3455,3953,3649],{"class":3499},[3455,3955,3956,3958,3961,3963,3965],{"class":3457,"line":3490},[3455,3957,3628],{"class":3499},[3455,3959,3960],{"class":3631},"entities",[3455,3962,3635],{"class":3499},[3455,3964,3638],{"class":3499},[3455,3966,3725],{"class":3499},[3455,3968,3969,3971,3973,3975,3977],{"class":3457,"line":3509},[3455,3970,3731],{"class":3499},[3455,3972,3644],{"class":3461},[3455,3974,3635],{"class":3499},[3455,3976,3638],{"class":3499},[3455,3978,3725],{"class":3499},[3455,3980,3981,3984,3988,3990,3992],{"class":3457,"line":3692},[3455,3982,3983],{"class":3499},"      \"",[3455,3985,3987],{"class":3986},"sbssI","columns",[3455,3989,3635],{"class":3499},[3455,3991,3638],{"class":3499},[3455,3993,3725],{"class":3499},[3455,3995,3996,3999,4003,4005,4007,4010,4012,4016,4018,4020,4022,4025,4027,4030,4032,4035,4037,4039,4042,4044,4046,4048,4050,4052,4055,4057],{"class":3457,"line":3713},[3455,3997,3998],{"class":3499},"        \"",[3455,4000,4002],{"class":4001},"swJcz","id",[3455,4004,3635],{"class":3499},[3455,4006,3638],{"class":3499},[3455,4008,4009],{"class":3499},"        {",[3455,4011,3641],{"class":3499},[3455,4013,4015],{"class":4014},"su27w","type",[3455,4017,3635],{"class":3499},[3455,4019,3638],{"class":3499},[3455,4021,3641],{"class":3499},[3455,4023,4024],{"class":3465},"uuid",[3455,4026,3635],{"class":3499},[3455,4028,4029],{"class":3499},",",[3455,4031,3641],{"class":3499},[3455,4033,4034],{"class":4014},"pk",[3455,4036,3635],{"class":3499},[3455,4038,3638],{"class":3499},[3455,4040,4041],{"class":3499}," true,",[3455,4043,3641],{"class":3499},[3455,4045,3919],{"class":4014},[3455,4047,3635],{"class":3499},[3455,4049,3638],{"class":3499},[3455,4051,3641],{"class":3499},[3455,4053,4054],{"class":3465},"gen_random_uuid()",[3455,4056,3635],{"class":3499},[3455,4058,3806],{"class":3499},[3455,4060,4061,4063,4065,4067,4069,4072,4074,4076,4078,4080,4082,4084,4086,4088,4090,4092,4094,4096,4098,4100,4102,4104,4106,4108,4111,4113],{"class":3457,"line":3728},[3455,4062,3998],{"class":3499},[3455,4064,3396],{"class":4001},[3455,4066,3635],{"class":3499},[3455,4068,3638],{"class":3499},[3455,4070,4071],{"class":3499},"      {",[3455,4073,3641],{"class":3499},[3455,4075,4015],{"class":4014},[3455,4077,3635],{"class":3499},[3455,4079,3638],{"class":3499},[3455,4081,3641],{"class":3499},[3455,4083,3541],{"class":3465},[3455,4085,3635],{"class":3499},[3455,4087,4029],{"class":3499},[3455,4089,3641],{"class":3499},[3455,4091,3915],{"class":4014},[3455,4093,3635],{"class":3499},[3455,4095,3638],{"class":3499},[3455,4097,4041],{"class":3499},[3455,4099,3641],{"class":3499},[3455,4101,3923],{"class":4014},[3455,4103,3635],{"class":3499},[3455,4105,3638],{"class":3499},[3455,4107,3641],{"class":3499},[3455,4109,4110],{"class":3465},"length(code) > 0",[3455,4112,3635],{"class":3499},[3455,4114,3806],{"class":3499},[3455,4116,4117,4119,4121,4123,4125,4127,4129,4131,4133,4135,4137,4139,4141,4143,4145,4147,4149,4151,4153,4155,4157,4159,4161,4163,4166,4168],{"class":3457,"line":3749},[3455,4118,3998],{"class":3499},[3455,4120,3632],{"class":4001},[3455,4122,3635],{"class":3499},[3455,4124,3638],{"class":3499},[3455,4126,4071],{"class":3499},[3455,4128,3641],{"class":3499},[3455,4130,4015],{"class":4014},[3455,4132,3635],{"class":3499},[3455,4134,3638],{"class":3499},[3455,4136,3641],{"class":3499},[3455,4138,3541],{"class":3465},[3455,4140,3635],{"class":3499},[3455,4142,4029],{"class":3499},[3455,4144,3641],{"class":3499},[3455,4146,3915],{"class":4014},[3455,4148,3635],{"class":3499},[3455,4150,3638],{"class":3499},[3455,4152,4041],{"class":3499},[3455,4154,3641],{"class":3499},[3455,4156,3923],{"class":4014},[3455,4158,3635],{"class":3499},[3455,4160,3638],{"class":3499},[3455,4162,3641],{"class":3499},[3455,4164,4165],{"class":3465},"length(name) > 0",[3455,4167,3635],{"class":3499},[3455,4169,3806],{"class":3499},[3455,4171,4172,4174,4177,4179,4181,4184,4186,4188,4190,4192,4194,4197,4199],{"class":3457,"line":3769},[3455,4173,3998],{"class":3499},[3455,4175,4176],{"class":4001},"labels",[3455,4178,3635],{"class":3499},[3455,4180,3638],{"class":3499},[3455,4182,4183],{"class":3499},"    {",[3455,4185,3641],{"class":3499},[3455,4187,4015],{"class":4014},[3455,4189,3635],{"class":3499},[3455,4191,3638],{"class":3499},[3455,4193,3641],{"class":3499},[3455,4195,4196],{"class":3465},"jsonb",[3455,4198,3635],{"class":3499},[3455,4200,3806],{"class":3499},[3455,4202,4203,4205,4207,4209,4211,4213,4215,4217,4219,4221,4223,4225,4227,4229,4231,4233,4235,4237,4239,4241,4243,4245,4247,4249,4252,4254,4256,4258,4260,4262,4264,4266,4269,4271],{"class":3457,"line":3775},[3455,4204,3998],{"class":3499},[3455,4206,4015],{"class":4001},[3455,4208,3635],{"class":3499},[3455,4210,3638],{"class":3499},[3455,4212,4071],{"class":3499},[3455,4214,3641],{"class":3499},[3455,4216,4015],{"class":4014},[3455,4218,3635],{"class":3499},[3455,4220,3638],{"class":3499},[3455,4222,3641],{"class":3499},[3455,4224,3541],{"class":3465},[3455,4226,3635],{"class":3499},[3455,4228,4029],{"class":3499},[3455,4230,3641],{"class":3499},[3455,4232,3915],{"class":4014},[3455,4234,3635],{"class":3499},[3455,4236,3638],{"class":3499},[3455,4238,4041],{"class":3499},[3455,4240,3641],{"class":3499},[3455,4242,3919],{"class":4014},[3455,4244,3635],{"class":3499},[3455,4246,3638],{"class":3499},[3455,4248,3641],{"class":3499},[3455,4250,4251],{"class":3465},"'warehouse'",[3455,4253,3635],{"class":3499},[3455,4255,4029],{"class":3499},[3455,4257,3641],{"class":3499},[3455,4259,3923],{"class":4014},[3455,4261,3635],{"class":3499},[3455,4263,3638],{"class":3499},[3455,4265,3641],{"class":3499},[3455,4267,4268],{"class":3465},"type in ('warehouse', 'store', 'dropship', 'virtual')",[3455,4270,3635],{"class":3499},[3455,4272,3806],{"class":3499},[3455,4274,4275,4277,4280,4282,4284,4287,4289,4291,4293,4295,4297,4300,4302,4304,4306,4308,4310,4312,4314,4316,4318,4320,4322,4324,4327,4329],{"class":3457,"line":3809},[3455,4276,3998],{"class":3499},[3455,4278,4279],{"class":4001},"priority",[3455,4281,3635],{"class":3499},[3455,4283,3638],{"class":3499},[3455,4285,4286],{"class":3499},"  {",[3455,4288,3641],{"class":3499},[3455,4290,4015],{"class":4014},[3455,4292,3635],{"class":3499},[3455,4294,3638],{"class":3499},[3455,4296,3641],{"class":3499},[3455,4298,4299],{"class":3465},"integer",[3455,4301,3635],{"class":3499},[3455,4303,4029],{"class":3499},[3455,4305,3641],{"class":3499},[3455,4307,3915],{"class":4014},[3455,4309,3635],{"class":3499},[3455,4311,3638],{"class":3499},[3455,4313,4041],{"class":3499},[3455,4315,3641],{"class":3499},[3455,4317,3919],{"class":4014},[3455,4319,3635],{"class":3499},[3455,4321,3638],{"class":3499},[3455,4323,3641],{"class":3499},[3455,4325,4326],{"class":3465},"0",[3455,4328,3635],{"class":3499},[3455,4330,3806],{"class":3499},[3455,4332,4333,4335,4338,4340,4342,4345,4347,4349,4351,4353,4355,4358,4360,4362,4364,4366,4368,4370,4372,4374,4376,4378,4380,4382,4385,4387],{"class":3457,"line":3841},[3455,4334,3998],{"class":3499},[3455,4336,4337],{"class":4001},"enabled",[3455,4339,3635],{"class":3499},[3455,4341,3638],{"class":3499},[3455,4343,4344],{"class":3499},"   {",[3455,4346,3641],{"class":3499},[3455,4348,4015],{"class":4014},[3455,4350,3635],{"class":3499},[3455,4352,3638],{"class":3499},[3455,4354,3641],{"class":3499},[3455,4356,4357],{"class":3465},"boolean",[3455,4359,3635],{"class":3499},[3455,4361,4029],{"class":3499},[3455,4363,3641],{"class":3499},[3455,4365,3915],{"class":4014},[3455,4367,3635],{"class":3499},[3455,4369,3638],{"class":3499},[3455,4371,4041],{"class":3499},[3455,4373,3641],{"class":3499},[3455,4375,3919],{"class":4014},[3455,4377,3635],{"class":3499},[3455,4379,3638],{"class":3499},[3455,4381,3641],{"class":3499},[3455,4383,4384],{"class":3465},"true",[3455,4386,3635],{"class":3499},[3455,4388,3806],{"class":3499},[3455,4390,4391,4393,4396,4398,4400,4402,4404,4406,4408,4410,4412,4414,4416],{"class":3457,"line":3862},[3455,4392,3998],{"class":3499},[3455,4394,4395],{"class":4001},"address",[3455,4397,3635],{"class":3499},[3455,4399,3638],{"class":3499},[3455,4401,4344],{"class":3499},[3455,4403,3641],{"class":3499},[3455,4405,4015],{"class":4014},[3455,4407,3635],{"class":3499},[3455,4409,3638],{"class":3499},[3455,4411,3641],{"class":3499},[3455,4413,4196],{"class":3465},[3455,4415,3635],{"class":3499},[3455,4417,3806],{"class":3499},[3455,4419,4420,4422,4425,4427,4429,4431,4433,4435,4437,4439,4441,4443,4445],{"class":3457,"line":3877},[3455,4421,3998],{"class":3499},[3455,4423,4424],{"class":4001},"metadata",[3455,4426,3635],{"class":3499},[3455,4428,3638],{"class":3499},[3455,4430,4286],{"class":3499},[3455,4432,3641],{"class":3499},[3455,4434,4015],{"class":4014},[3455,4436,3635],{"class":3499},[3455,4438,3638],{"class":3499},[3455,4440,3641],{"class":3499},[3455,4442,4196],{"class":3465},[3455,4444,3635],{"class":3499},[3455,4446,3806],{"class":3499},[3455,4448,4450,4452,4455,4457,4459,4461,4463,4465,4467,4469,4471,4474,4476,4478,4480,4482,4484,4486,4488,4490,4492,4494,4496,4498,4501,4503],{"class":3457,"line":4449},15,[3455,4451,3998],{"class":3499},[3455,4453,4454],{"class":4001},"created_at",[3455,4456,3635],{"class":3499},[3455,4458,3638],{"class":3499},[3455,4460,3787],{"class":3499},[3455,4462,3641],{"class":3499},[3455,4464,4015],{"class":4014},[3455,4466,3635],{"class":3499},[3455,4468,3638],{"class":3499},[3455,4470,3641],{"class":3499},[3455,4472,4473],{"class":3465},"timestamptz",[3455,4475,3635],{"class":3499},[3455,4477,4029],{"class":3499},[3455,4479,3641],{"class":3499},[3455,4481,3915],{"class":4014},[3455,4483,3635],{"class":3499},[3455,4485,3638],{"class":3499},[3455,4487,4041],{"class":3499},[3455,4489,3641],{"class":3499},[3455,4491,3919],{"class":4014},[3455,4493,3635],{"class":3499},[3455,4495,3638],{"class":3499},[3455,4497,3641],{"class":3499},[3455,4499,4500],{"class":3465},"now()",[3455,4502,3635],{"class":3499},[3455,4504,3806],{"class":3499},[3455,4506,4508,4510,4513,4515,4517,4519,4521,4523,4525,4527,4529,4531,4533,4535,4537,4539,4541,4543,4545,4547,4549,4551,4553,4555,4557,4559],{"class":3457,"line":4507},16,[3455,4509,3998],{"class":3499},[3455,4511,4512],{"class":4001},"updated_at",[3455,4514,3635],{"class":3499},[3455,4516,3638],{"class":3499},[3455,4518,3787],{"class":3499},[3455,4520,3641],{"class":3499},[3455,4522,4015],{"class":4014},[3455,4524,3635],{"class":3499},[3455,4526,3638],{"class":3499},[3455,4528,3641],{"class":3499},[3455,4530,4473],{"class":3465},[3455,4532,3635],{"class":3499},[3455,4534,4029],{"class":3499},[3455,4536,3641],{"class":3499},[3455,4538,3915],{"class":4014},[3455,4540,3635],{"class":3499},[3455,4542,3638],{"class":3499},[3455,4544,4041],{"class":3499},[3455,4546,3641],{"class":3499},[3455,4548,3919],{"class":4014},[3455,4550,3635],{"class":3499},[3455,4552,3638],{"class":3499},[3455,4554,3641],{"class":3499},[3455,4556,4500],{"class":3465},[3455,4558,3635],{"class":3499},[3455,4560,4561],{"class":3499}," }\n",[3455,4563,4565],{"class":3457,"line":4564},17,[3455,4566,4567],{"class":3499},"      },\n",[3455,4569,4571,4573,4576,4578,4580],{"class":3457,"line":4570},18,[3455,4572,3983],{"class":3499},[3455,4574,4575],{"class":3986},"indexes",[3455,4577,3635],{"class":3499},[3455,4579,3638],{"class":3499},[3455,4581,4582],{"class":3499}," [\n",[3455,4584,4586,4588,4590,4592,4594,4596,4599,4601,4604,4606,4608,4610,4612,4614,4617,4619,4622,4624,4626,4629],{"class":3457,"line":4585},19,[3455,4587,4009],{"class":3499},[3455,4589,3641],{"class":3499},[3455,4591,3987],{"class":4001},[3455,4593,3635],{"class":3499},[3455,4595,3638],{"class":3499},[3455,4597,4598],{"class":3499}," [",[3455,4600,3635],{"class":3499},[3455,4602,4603],{"class":3465},"tenant_id",[3455,4605,3635],{"class":3499},[3455,4607,4029],{"class":3499},[3455,4609,3641],{"class":3499},[3455,4611,3396],{"class":3465},[3455,4613,3635],{"class":3499},[3455,4615,4616],{"class":3499},"],",[3455,4618,3641],{"class":3499},[3455,4620,4621],{"class":4001},"unique",[3455,4623,3635],{"class":3499},[3455,4625,3638],{"class":3499},[3455,4627,4628],{"class":3499}," true",[3455,4630,3806],{"class":3499},[3455,4632,4634,4636,4638,4640,4642,4644,4646,4648,4650,4652,4655],{"class":3457,"line":4633},20,[3455,4635,4009],{"class":3499},[3455,4637,3641],{"class":3499},[3455,4639,3987],{"class":4001},[3455,4641,3635],{"class":3499},[3455,4643,3638],{"class":3499},[3455,4645,4598],{"class":3499},[3455,4647,3635],{"class":3499},[3455,4649,4337],{"class":3465},[3455,4651,3635],{"class":3499},[3455,4653,4654],{"class":3499},"]",[3455,4656,4561],{"class":3499},[3455,4658,4660],{"class":3457,"line":4659},21,[3455,4661,4662],{"class":3499},"      ]\n",[3455,4664,4666],{"class":3457,"line":4665},22,[3455,4667,4668],{"class":3499},"    }\n",[3455,4670,4672],{"class":3457,"line":4671},23,[3455,4673,4674],{"class":3499},"  }\n",[3455,4676,4678],{"class":3457,"line":4677},24,[3455,4679,3880],{"class":3499},[3382,4681,4682],{},"Two rules that save you a failed build:",[4684,4685,4686,4699],"ul",{},[4687,4688,4689,4695,4696,4698],"li",{},[3386,4690,4691,4692,4694],{},"Never declare a ",[3396,4693,4603],{}," column."," The platform injects it and scopes every query to the tenant for you. For per-tenant uniqueness, put ",[3396,4697,4603],{}," first in a composite index, as above.",[4687,4700,4701,4704,4705,3916,4708,3916,4711,3916,4713,3916,4716,4719,4720,4722,4723,4726,4727,4729],{},[3386,4702,4703],{},"Never name a column after a reserved word"," in a common language (",[3396,4706,4707],{},"public",[3396,4709,4710],{},"class",[3396,4712,3919],{},[3396,4714,4715],{},"new",[3396,4717,4718],{},"function",", …). The typed client is generated in several languages, and a keyword breaks the generated code. Reach for a synonym (",[3396,4721,4707],{}," → ",[3396,4724,4725],{},"shared","). The ",[3396,4728,4015],{}," column above is accepted as it is.",[3430,4731,4733],{"id":4732},"_3-declare-identity-and-permissions-in-manifestjson","3. Declare identity and permissions in manifest.json",[3382,4735,4736,4737,4739,4740,4743],{},"The manifest names the app and grants it access to each entity. Keep it small — the long ",[3396,4738,3754],{}," array is generated in the next step, into a sibling file. Dependency keys, when you have them, are ",[3396,4741,4742],{},"vendor\u002Fapp"," (you have none yet).",[3445,4745,4748],{"className":3614,"code":4746,"filename":4747,"language":3616,"meta":3451,"style":3451},"{\n  \"$schema\": \"https:\u002F\u002Fschemas.revenexx.com\u002Fmanifest.schema.json\",\n  \"name\": \"locations\",\n  \"vendor\": \"acme\",\n  \"version\": \"0.1.0\",\n  \"title\": \"Locations\",\n  \"type\": \"public\",\n  \"description\": \"Stock locations — warehouses, stores, dropship and virtual.\",\n  \"permissions\": [\n    { \"entity\": \"locations\", \"access\": [\"read\", \"create\", \"update\", \"delete\"] }\n  ],\n  \"events\": {\n    \"listens\": [\"app.installed\", \"app.uninstalled\"]\n  }\n}\n","manifest.json",[3396,4749,4750,4754,4773,4791,4811,4829,4848,4866,4884,4897,4967,4972,4985,5017,5021],{"__ignoreMap":3451},[3455,4751,4752],{"class":3457,"line":3458},[3455,4753,3623],{"class":3499},[3455,4755,4756,4758,4760,4762,4764,4766,4769,4771],{"class":3457,"line":3481},[3455,4757,3628],{"class":3499},[3455,4759,3940],{"class":3631},[3455,4761,3635],{"class":3499},[3455,4763,3638],{"class":3499},[3455,4765,3641],{"class":3499},[3455,4767,4768],{"class":3465},"https:\u002F\u002Fschemas.revenexx.com\u002Fmanifest.schema.json",[3455,4770,3635],{"class":3499},[3455,4772,3649],{"class":3499},[3455,4774,4775,4777,4779,4781,4783,4785,4787,4789],{"class":3457,"line":3490},[3455,4776,3628],{"class":3499},[3455,4778,3632],{"class":3631},[3455,4780,3635],{"class":3499},[3455,4782,3638],{"class":3499},[3455,4784,3641],{"class":3499},[3455,4786,3644],{"class":3465},[3455,4788,3635],{"class":3499},[3455,4790,3649],{"class":3499},[3455,4792,4793,4795,4798,4800,4802,4804,4807,4809],{"class":3457,"line":3509},[3455,4794,3628],{"class":3499},[3455,4796,4797],{"class":3631},"vendor",[3455,4799,3635],{"class":3499},[3455,4801,3638],{"class":3499},[3455,4803,3641],{"class":3499},[3455,4805,4806],{"class":3465},"acme",[3455,4808,3635],{"class":3499},[3455,4810,3649],{"class":3499},[3455,4812,4813,4815,4817,4819,4821,4823,4825,4827],{"class":3457,"line":3692},[3455,4814,3628],{"class":3499},[3455,4816,3656],{"class":3631},[3455,4818,3635],{"class":3499},[3455,4820,3638],{"class":3499},[3455,4822,3641],{"class":3499},[3455,4824,3665],{"class":3465},[3455,4826,3635],{"class":3499},[3455,4828,3649],{"class":3499},[3455,4830,4831,4833,4836,4838,4840,4842,4844,4846],{"class":3457,"line":3713},[3455,4832,3628],{"class":3499},[3455,4834,4835],{"class":3631},"title",[3455,4837,3635],{"class":3499},[3455,4839,3638],{"class":3499},[3455,4841,3641],{"class":3499},[3455,4843,3388],{"class":3465},[3455,4845,3635],{"class":3499},[3455,4847,3649],{"class":3499},[3455,4849,4850,4852,4854,4856,4858,4860,4862,4864],{"class":3457,"line":3728},[3455,4851,3628],{"class":3499},[3455,4853,4015],{"class":3631},[3455,4855,3635],{"class":3499},[3455,4857,3638],{"class":3499},[3455,4859,3641],{"class":3499},[3455,4861,4707],{"class":3465},[3455,4863,3635],{"class":3499},[3455,4865,3649],{"class":3499},[3455,4867,4868,4870,4872,4874,4876,4878,4880,4882],{"class":3457,"line":3749},[3455,4869,3628],{"class":3499},[3455,4871,3676],{"class":3631},[3455,4873,3635],{"class":3499},[3455,4875,3638],{"class":3499},[3455,4877,3641],{"class":3499},[3455,4879,3685],{"class":3465},[3455,4881,3635],{"class":3499},[3455,4883,3649],{"class":3499},[3455,4885,4886,4888,4891,4893,4895],{"class":3457,"line":3769},[3455,4887,3628],{"class":3499},[3455,4889,4890],{"class":3631},"permissions",[3455,4892,3635],{"class":3499},[3455,4894,3638],{"class":3499},[3455,4896,4582],{"class":3499},[3455,4898,4899,4901,4903,4906,4908,4910,4912,4914,4916,4918,4920,4923,4925,4927,4929,4931,4934,4936,4938,4940,4943,4945,4947,4949,4952,4954,4956,4958,4961,4963,4965],{"class":3457,"line":3775},[3455,4900,4183],{"class":3499},[3455,4902,3641],{"class":3499},[3455,4904,4905],{"class":3461},"entity",[3455,4907,3635],{"class":3499},[3455,4909,3638],{"class":3499},[3455,4911,3641],{"class":3499},[3455,4913,3644],{"class":3465},[3455,4915,3635],{"class":3499},[3455,4917,4029],{"class":3499},[3455,4919,3641],{"class":3499},[3455,4921,4922],{"class":3461},"access",[3455,4924,3635],{"class":3499},[3455,4926,3638],{"class":3499},[3455,4928,4598],{"class":3499},[3455,4930,3635],{"class":3499},[3455,4932,4933],{"class":3465},"read",[3455,4935,3635],{"class":3499},[3455,4937,4029],{"class":3499},[3455,4939,3641],{"class":3499},[3455,4941,4942],{"class":3465},"create",[3455,4944,3635],{"class":3499},[3455,4946,4029],{"class":3499},[3455,4948,3641],{"class":3499},[3455,4950,4951],{"class":3465},"update",[3455,4953,3635],{"class":3499},[3455,4955,4029],{"class":3499},[3455,4957,3641],{"class":3499},[3455,4959,4960],{"class":3465},"delete",[3455,4962,3635],{"class":3499},[3455,4964,4654],{"class":3499},[3455,4966,4561],{"class":3499},[3455,4968,4969],{"class":3457,"line":3809},[3455,4970,4971],{"class":3499},"  ],\n",[3455,4973,4974,4976,4979,4981,4983],{"class":3457,"line":3841},[3455,4975,3628],{"class":3499},[3455,4977,4978],{"class":3631},"events",[3455,4980,3635],{"class":3499},[3455,4982,3638],{"class":3499},[3455,4984,3725],{"class":3499},[3455,4986,4987,4989,4992,4994,4996,4998,5000,5003,5005,5007,5009,5012,5014],{"class":3457,"line":3862},[3455,4988,3731],{"class":3499},[3455,4990,4991],{"class":3461},"listens",[3455,4993,3635],{"class":3499},[3455,4995,3638],{"class":3499},[3455,4997,4598],{"class":3499},[3455,4999,3635],{"class":3499},[3455,5001,5002],{"class":3465},"app.installed",[3455,5004,3635],{"class":3499},[3455,5006,4029],{"class":3499},[3455,5008,3641],{"class":3499},[3455,5010,5011],{"class":3465},"app.uninstalled",[3455,5013,3635],{"class":3499},[3455,5015,5016],{"class":3499},"]\n",[3455,5018,5019],{"class":3457,"line":3877},[3455,5020,4674],{"class":3499},[3455,5022,5023],{"class":3457,"line":4449},[3455,5024,3880],{"class":3499},[3382,5026,5027,5028,5031,5032,5035],{},"The two other declarative files are short. ",[3396,5029,5030],{},"billing.json"," is the marketplace listing — ",[3396,5033,5034],{},"included"," apps bundle with a package:",[3445,5037,5039],{"className":3614,"code":5038,"filename":5030,"language":3616,"meta":3451,"style":3451},"{\n  \"$schema\": \"https:\u002F\u002Fschemas.revenexx.com\u002Fbilling.schema.json\",\n  \"type\": \"included\",\n  \"support\": { \"email\": \"support@acme.example\", \"url\": \"https:\u002F\u002Facme.example\u002Fsupport\" },\n  \"categories\": [\"commerce\"],\n  \"available_countries\": [\"*\"]\n}\n",[3396,5040,5041,5045,5064,5082,5131,5154,5175],{"__ignoreMap":3451},[3455,5042,5043],{"class":3457,"line":3458},[3455,5044,3623],{"class":3499},[3455,5046,5047,5049,5051,5053,5055,5057,5060,5062],{"class":3457,"line":3481},[3455,5048,3628],{"class":3499},[3455,5050,3940],{"class":3631},[3455,5052,3635],{"class":3499},[3455,5054,3638],{"class":3499},[3455,5056,3641],{"class":3499},[3455,5058,5059],{"class":3465},"https:\u002F\u002Fschemas.revenexx.com\u002Fbilling.schema.json",[3455,5061,3635],{"class":3499},[3455,5063,3649],{"class":3499},[3455,5065,5066,5068,5070,5072,5074,5076,5078,5080],{"class":3457,"line":3490},[3455,5067,3628],{"class":3499},[3455,5069,4015],{"class":3631},[3455,5071,3635],{"class":3499},[3455,5073,3638],{"class":3499},[3455,5075,3641],{"class":3499},[3455,5077,5034],{"class":3465},[3455,5079,3635],{"class":3499},[3455,5081,3649],{"class":3499},[3455,5083,5084,5086,5089,5091,5093,5095,5097,5100,5102,5104,5106,5109,5111,5113,5115,5118,5120,5122,5124,5127,5129],{"class":3457,"line":3509},[3455,5085,3628],{"class":3499},[3455,5087,5088],{"class":3631},"support",[3455,5090,3635],{"class":3499},[3455,5092,3638],{"class":3499},[3455,5094,3787],{"class":3499},[3455,5096,3641],{"class":3499},[3455,5098,5099],{"class":3461},"email",[3455,5101,3635],{"class":3499},[3455,5103,3638],{"class":3499},[3455,5105,3641],{"class":3499},[3455,5107,5108],{"class":3465},"support@acme.example",[3455,5110,3635],{"class":3499},[3455,5112,4029],{"class":3499},[3455,5114,3641],{"class":3499},[3455,5116,5117],{"class":3461},"url",[3455,5119,3635],{"class":3499},[3455,5121,3638],{"class":3499},[3455,5123,3641],{"class":3499},[3455,5125,5126],{"class":3465},"https:\u002F\u002Facme.example\u002Fsupport",[3455,5128,3635],{"class":3499},[3455,5130,3806],{"class":3499},[3455,5132,5133,5135,5138,5140,5142,5144,5146,5149,5151],{"class":3457,"line":3692},[3455,5134,3628],{"class":3499},[3455,5136,5137],{"class":3631},"categories",[3455,5139,3635],{"class":3499},[3455,5141,3638],{"class":3499},[3455,5143,4598],{"class":3499},[3455,5145,3635],{"class":3499},[3455,5147,5148],{"class":3465},"commerce",[3455,5150,3635],{"class":3499},[3455,5152,5153],{"class":3499},"],\n",[3455,5155,5156,5158,5161,5163,5165,5167,5169,5171,5173],{"class":3457,"line":3713},[3455,5157,3628],{"class":3499},[3455,5159,5160],{"class":3631},"available_countries",[3455,5162,3635],{"class":3499},[3455,5164,3638],{"class":3499},[3455,5166,4598],{"class":3499},[3455,5168,3635],{"class":3499},[3455,5170,3424],{"class":3465},[3455,5172,3635],{"class":3499},[3455,5174,5016],{"class":3499},[3455,5176,5177],{"class":3457,"line":3728},[3455,5178,3880],{"class":3499},[3382,5180,5181,5184,5185,5188],{},[3396,5182,5183],{},"cockpit.json"," declares the admin UI. You can start with a single list view over the entity and grow it later — see ",[3391,5186,5187],{"href":1009},"Cockpit integration"," for the full surface.",[3430,5190,5192],{"id":5191},"_4-write-the-function","4. Write the function",[3382,5194,5195,5197,5198,5201,5202,5205,5206,5209],{},[3396,5196,3706],{}," is the entrypoint the platform invokes. The App SDK router does the HTTP work: ",[3396,5199,5200],{},"createApp"," makes the router, ",[3396,5203,5204],{},"mountCrud"," exposes an entity over standard CRUD paths, and ",[3396,5207,5208],{},"createDb"," gives you the typed data client over your tables.",[3382,5211,5212],{},"The exported handler has a fixed shape. It seeds defaults through an explicit route (and, as a convenience, on the install event), rejects requests that arrive without a tenant identity, and otherwise hands off to the app.",[3445,5214,5218],{"className":5215,"code":5216,"filename":3706,"language":5217,"meta":3451,"style":3451},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","'use strict';\n\nconst { createApp, mountCrud } = require('@revenexx\u002Fapp-sdk\u002Frouter');\nconst { createDb, ENTITIES } = require('.\u002Fdb.generated');\n\n\u002F\u002F Every tenant starts with one main warehouse. Seeding is idempotent (by code).\nconst DEFAULT_LOCATIONS = [\n  { code: 'main', name: 'Main warehouse', labels: { en: 'Main warehouse' }, type: 'warehouse', priority: 0, enabled: true },\n];\n\nasync function ensureDefaults(db) {\n  const created = [];\n  const existing = [];\n  for (const location of DEFAULT_LOCATIONS) {\n    const [found] = await db.locations.list({ where: { code: location.code }, limit: 1 });\n    if (found) existing.push(location.code);\n    else { await db.locations.create(location); created.push(location.code); }\n  }\n  return { created, existing };\n}\n\nfunction buildApp(db) {\n  const app = createApp({\n    name: 'locations',\n    healthExtra: () => ({ entities: Object.keys(ENTITIES) }),\n  });\n\n  mountCrud(app, db.locations, {\n    path: '\u002Flocations',\n    columns: ENTITIES.locations.columns,\n  });\n\n  \u002F\u002F Seed the main warehouse on demand. This route is the reliable path;\n  \u002F\u002F the install event below is a convenience on top of it.\n  app.post('\u002Flocations\u002Fdefaults', async (c) => c.json(await ensureDefaults(db)));\n\n  return app;\n}\n\nmodule.exports = async (context) => {\n  const { req, res } = context;\n  const headers = req.headers || {};\n  const jwt = headers['x-revenexx-context'] ?? headers['X-Revenexx-Context'] ?? '';\n  const path = (String(req.path || '\u002F').replace(\u002F\\\u002F+$\u002F, '')) || '\u002F';\n\n  \u002F\u002F Lifecycle: also seed when the install event arrives.\n  const trigger = headers['x-revenexx-trigger'] ?? '';\n  const event = headers['x-revenexx-event'] ?? '';\n  if (trigger === 'event' && jwt) {\n    const db = createDb({ adapter: 'runtime', context });\n    if (\u002F(^|\\.)installed$\u002F.test(event)) {\n      return res.json({ event, ...(await ensureDefaults(db)) });\n    }\n    return res.json({ event, ignored: true });\n  }\n\n  \u002F\u002F Every route except health needs the tenant identity header.\n  if (path !== '\u002F' && !jwt) {\n    return res.json({ error: 'missing tenant identity' }, 503);\n  }\n\n  const db = createDb({ adapter: 'runtime', context });\n  return buildApp(db).handler()(context);\n};\n\nmodule.exports.buildApp = buildApp;\nmodule.exports.ensureDefaults = ensureDefaults;\n","js",[3396,5219,5220,5233,5239,5279,5312,5316,5322,5334,5421,5427,5431,5452,5467,5480,5505,5573,5605,5653,5657,5673,5677,5681,5696,5710,5725,5769,5779,5784,5807,5824,5845,5854,5859,5865,5871,5928,5933,5942,5947,5952,5973,5997,6020,6068,6142,6147,6153,6182,6211,6240,6277,6317,6358,6363,6396,6401,6406,6412,6442,6478,6483,6488,6523,6550,6556,6561,6576],{"__ignoreMap":3451},[3455,5221,5222,5225,5228,5230],{"class":3457,"line":3458},[3455,5223,5224],{"class":3499},"'",[3455,5226,5227],{"class":3465},"use strict",[3455,5229,5224],{"class":3499},[3455,5231,5232],{"class":3499},";\n",[3455,5234,5235],{"class":3457,"line":3481},[3455,5236,5238],{"emptyLinePlaceholder":5237},true,"\n",[3455,5240,5241,5244,5246,5250,5252,5255,5258,5261,5264,5267,5269,5272,5274,5277],{"class":3457,"line":3490},[3455,5242,5243],{"class":3631},"const",[3455,5245,3787],{"class":3499},[3455,5247,5249],{"class":5248},"sTEyZ"," createApp",[3455,5251,4029],{"class":3499},[3455,5253,5254],{"class":5248}," mountCrud ",[3455,5256,5257],{"class":3499},"}",[3455,5259,5260],{"class":3499}," =",[3455,5262,5263],{"class":3484}," require",[3455,5265,5266],{"class":5248},"(",[3455,5268,5224],{"class":3499},[3455,5270,5271],{"class":3465},"@revenexx\u002Fapp-sdk\u002Frouter",[3455,5273,5224],{"class":3499},[3455,5275,5276],{"class":5248},")",[3455,5278,5232],{"class":3499},[3455,5280,5281,5283,5285,5288,5290,5293,5295,5297,5299,5301,5303,5306,5308,5310],{"class":3457,"line":3509},[3455,5282,5243],{"class":3631},[3455,5284,3787],{"class":3499},[3455,5286,5287],{"class":5248}," createDb",[3455,5289,4029],{"class":3499},[3455,5291,5292],{"class":5248}," ENTITIES ",[3455,5294,5257],{"class":3499},[3455,5296,5260],{"class":3499},[3455,5298,5263],{"class":3484},[3455,5300,5266],{"class":5248},[3455,5302,5224],{"class":3499},[3455,5304,5305],{"class":3465},".\u002Fdb.generated",[3455,5307,5224],{"class":3499},[3455,5309,5276],{"class":5248},[3455,5311,5232],{"class":3499},[3455,5313,5314],{"class":3457,"line":3692},[3455,5315,5238],{"emptyLinePlaceholder":5237},[3455,5317,5318],{"class":3457,"line":3713},[3455,5319,5321],{"class":5320},"sHwdD","\u002F\u002F Every tenant starts with one main warehouse. Seeding is idempotent (by code).\n",[3455,5323,5324,5326,5329,5332],{"class":3457,"line":3728},[3455,5325,5243],{"class":3631},[3455,5327,5328],{"class":5248}," DEFAULT_LOCATIONS ",[3455,5330,5331],{"class":3499},"=",[3455,5333,4582],{"class":5248},[3455,5335,5336,5338,5341,5343,5346,5348,5350,5352,5355,5357,5359,5362,5364,5366,5369,5371,5373,5376,5378,5380,5382,5384,5387,5390,5392,5394,5397,5399,5401,5404,5406,5409,5411,5414,5416,5419],{"class":3457,"line":3749},[3455,5337,4286],{"class":3499},[3455,5339,5340],{"class":4001}," code",[3455,5342,3638],{"class":3499},[3455,5344,5345],{"class":3499}," '",[3455,5347,3697],{"class":3465},[3455,5349,5224],{"class":3499},[3455,5351,4029],{"class":3499},[3455,5353,5354],{"class":4001}," name",[3455,5356,3638],{"class":3499},[3455,5358,5345],{"class":3499},[3455,5360,5361],{"class":3465},"Main warehouse",[3455,5363,5224],{"class":3499},[3455,5365,4029],{"class":3499},[3455,5367,5368],{"class":4001}," labels",[3455,5370,3638],{"class":3499},[3455,5372,3787],{"class":3499},[3455,5374,5375],{"class":4001}," en",[3455,5377,3638],{"class":3499},[3455,5379,5345],{"class":3499},[3455,5381,5361],{"class":3465},[3455,5383,5224],{"class":3499},[3455,5385,5386],{"class":3499}," },",[3455,5388,5389],{"class":4001}," type",[3455,5391,3638],{"class":3499},[3455,5393,5345],{"class":3499},[3455,5395,5396],{"class":3465},"warehouse",[3455,5398,5224],{"class":3499},[3455,5400,4029],{"class":3499},[3455,5402,5403],{"class":4001}," priority",[3455,5405,3638],{"class":3499},[3455,5407,5408],{"class":3986}," 0",[3455,5410,4029],{"class":3499},[3455,5412,5413],{"class":4001}," enabled",[3455,5415,3638],{"class":3499},[3455,5417,4628],{"class":5418},"sfNiH",[3455,5420,3806],{"class":3499},[3455,5422,5423,5425],{"class":3457,"line":3769},[3455,5424,4654],{"class":5248},[3455,5426,5232],{"class":3499},[3455,5428,5429],{"class":3457,"line":3775},[3455,5430,5238],{"emptyLinePlaceholder":5237},[3455,5432,5433,5436,5439,5442,5444,5448,5450],{"class":3457,"line":3809},[3455,5434,5435],{"class":3631},"async",[3455,5437,5438],{"class":3631}," function",[3455,5440,5441],{"class":3484}," ensureDefaults",[3455,5443,5266],{"class":3499},[3455,5445,5447],{"class":5446},"sHdIc","db",[3455,5449,5276],{"class":3499},[3455,5451,3725],{"class":3499},[3455,5453,5454,5457,5460,5462,5465],{"class":3457,"line":3841},[3455,5455,5456],{"class":3631},"  const",[3455,5458,5459],{"class":5248}," created",[3455,5461,5260],{"class":3499},[3455,5463,5464],{"class":4001}," []",[3455,5466,5232],{"class":3499},[3455,5468,5469,5471,5474,5476,5478],{"class":3457,"line":3862},[3455,5470,5456],{"class":3631},[3455,5472,5473],{"class":5248}," existing",[3455,5475,5260],{"class":3499},[3455,5477,5464],{"class":4001},[3455,5479,5232],{"class":3499},[3455,5481,5482,5486,5489,5491,5494,5497,5500,5503],{"class":3457,"line":3877},[3455,5483,5485],{"class":5484},"s7zQu","  for",[3455,5487,5488],{"class":4001}," (",[3455,5490,5243],{"class":3631},[3455,5492,5493],{"class":5248}," location",[3455,5495,5496],{"class":3499}," of",[3455,5498,5499],{"class":5248}," DEFAULT_LOCATIONS",[3455,5501,5502],{"class":4001},") ",[3455,5504,3623],{"class":3499},[3455,5506,5507,5510,5512,5515,5517,5519,5522,5525,5527,5529,5531,5534,5536,5539,5542,5544,5546,5548,5550,5552,5554,5556,5558,5561,5563,5566,5569,5571],{"class":3457,"line":4449},[3455,5508,5509],{"class":3631},"    const",[3455,5511,4598],{"class":3499},[3455,5513,5514],{"class":5248},"found",[3455,5516,4654],{"class":3499},[3455,5518,5260],{"class":3499},[3455,5520,5521],{"class":5484}," await",[3455,5523,5524],{"class":5248}," db",[3455,5526,3399],{"class":3499},[3455,5528,3644],{"class":5248},[3455,5530,3399],{"class":3499},[3455,5532,5533],{"class":3484},"list",[3455,5535,5266],{"class":4001},[3455,5537,5538],{"class":3499},"{",[3455,5540,5541],{"class":4001}," where",[3455,5543,3638],{"class":3499},[3455,5545,3787],{"class":3499},[3455,5547,5340],{"class":4001},[3455,5549,3638],{"class":3499},[3455,5551,5493],{"class":5248},[3455,5553,3399],{"class":3499},[3455,5555,3396],{"class":5248},[3455,5557,5386],{"class":3499},[3455,5559,5560],{"class":4001}," limit",[3455,5562,3638],{"class":3499},[3455,5564,5565],{"class":3986}," 1",[3455,5567,5568],{"class":3499}," }",[3455,5570,5276],{"class":4001},[3455,5572,5232],{"class":3499},[3455,5574,5575,5578,5580,5582,5584,5587,5589,5592,5594,5597,5599,5601,5603],{"class":3457,"line":4507},[3455,5576,5577],{"class":5484},"    if",[3455,5579,5488],{"class":4001},[3455,5581,5514],{"class":5248},[3455,5583,5502],{"class":4001},[3455,5585,5586],{"class":5248},"existing",[3455,5588,3399],{"class":3499},[3455,5590,5591],{"class":3484},"push",[3455,5593,5266],{"class":4001},[3455,5595,5596],{"class":5248},"location",[3455,5598,3399],{"class":3499},[3455,5600,3396],{"class":5248},[3455,5602,5276],{"class":4001},[3455,5604,5232],{"class":3499},[3455,5606,5607,5610,5612,5614,5616,5618,5620,5622,5624,5626,5628,5630,5633,5635,5637,5639,5641,5643,5645,5647,5649,5651],{"class":3457,"line":4564},[3455,5608,5609],{"class":5484},"    else",[3455,5611,3787],{"class":3499},[3455,5613,5521],{"class":5484},[3455,5615,5524],{"class":5248},[3455,5617,3399],{"class":3499},[3455,5619,3644],{"class":5248},[3455,5621,3399],{"class":3499},[3455,5623,4942],{"class":3484},[3455,5625,5266],{"class":4001},[3455,5627,5596],{"class":5248},[3455,5629,5276],{"class":4001},[3455,5631,5632],{"class":3499},";",[3455,5634,5459],{"class":5248},[3455,5636,3399],{"class":3499},[3455,5638,5591],{"class":3484},[3455,5640,5266],{"class":4001},[3455,5642,5596],{"class":5248},[3455,5644,3399],{"class":3499},[3455,5646,3396],{"class":5248},[3455,5648,5276],{"class":4001},[3455,5650,5632],{"class":3499},[3455,5652,4561],{"class":3499},[3455,5654,5655],{"class":3457,"line":4570},[3455,5656,4674],{"class":3499},[3455,5658,5659,5662,5664,5666,5668,5670],{"class":3457,"line":4585},[3455,5660,5661],{"class":5484},"  return",[3455,5663,3787],{"class":3499},[3455,5665,5459],{"class":5248},[3455,5667,4029],{"class":3499},[3455,5669,5473],{"class":5248},[3455,5671,5672],{"class":3499}," };\n",[3455,5674,5675],{"class":3457,"line":4633},[3455,5676,3880],{"class":3499},[3455,5678,5679],{"class":3457,"line":4659},[3455,5680,5238],{"emptyLinePlaceholder":5237},[3455,5682,5683,5685,5688,5690,5692,5694],{"class":3457,"line":4665},[3455,5684,4718],{"class":3631},[3455,5686,5687],{"class":3484}," buildApp",[3455,5689,5266],{"class":3499},[3455,5691,5447],{"class":5446},[3455,5693,5276],{"class":3499},[3455,5695,3725],{"class":3499},[3455,5697,5698,5700,5702,5704,5706,5708],{"class":3457,"line":4671},[3455,5699,5456],{"class":3631},[3455,5701,3469],{"class":5248},[3455,5703,5260],{"class":3499},[3455,5705,5249],{"class":3484},[3455,5707,5266],{"class":4001},[3455,5709,3623],{"class":3499},[3455,5711,5712,5715,5717,5719,5721,5723],{"class":3457,"line":4677},[3455,5713,5714],{"class":4001},"    name",[3455,5716,3638],{"class":3499},[3455,5718,5345],{"class":3499},[3455,5720,3644],{"class":3465},[3455,5722,5224],{"class":3499},[3455,5724,3649],{"class":3499},[3455,5726,5728,5731,5733,5736,5739,5741,5743,5746,5748,5751,5753,5756,5758,5761,5763,5765,5767],{"class":3457,"line":5727},25,[3455,5729,5730],{"class":3484},"    healthExtra",[3455,5732,3638],{"class":3499},[3455,5734,5735],{"class":3499}," ()",[3455,5737,5738],{"class":3631}," =>",[3455,5740,5488],{"class":4001},[3455,5742,5538],{"class":3499},[3455,5744,5745],{"class":4001}," entities",[3455,5747,3638],{"class":3499},[3455,5749,5750],{"class":5248}," Object",[3455,5752,3399],{"class":3499},[3455,5754,5755],{"class":3484},"keys",[3455,5757,5266],{"class":4001},[3455,5759,5760],{"class":5248},"ENTITIES",[3455,5762,5502],{"class":4001},[3455,5764,5257],{"class":3499},[3455,5766,5276],{"class":4001},[3455,5768,3649],{"class":3499},[3455,5770,5772,5775,5777],{"class":3457,"line":5771},26,[3455,5773,5774],{"class":3499},"  }",[3455,5776,5276],{"class":4001},[3455,5778,5232],{"class":3499},[3455,5780,5782],{"class":3457,"line":5781},27,[3455,5783,5238],{"emptyLinePlaceholder":5237},[3455,5785,5787,5790,5792,5795,5797,5799,5801,5803,5805],{"class":3457,"line":5786},28,[3455,5788,5789],{"class":3484},"  mountCrud",[3455,5791,5266],{"class":4001},[3455,5793,5794],{"class":5248},"app",[3455,5796,4029],{"class":3499},[3455,5798,5524],{"class":5248},[3455,5800,3399],{"class":3499},[3455,5802,3644],{"class":5248},[3455,5804,4029],{"class":3499},[3455,5806,3725],{"class":3499},[3455,5808,5810,5813,5815,5817,5820,5822],{"class":3457,"line":5809},29,[3455,5811,5812],{"class":4001},"    path",[3455,5814,3638],{"class":3499},[3455,5816,5345],{"class":3499},[3455,5818,5819],{"class":3465},"\u002Flocations",[3455,5821,5224],{"class":3499},[3455,5823,3649],{"class":3499},[3455,5825,5827,5830,5832,5835,5837,5839,5841,5843],{"class":3457,"line":5826},30,[3455,5828,5829],{"class":4001},"    columns",[3455,5831,3638],{"class":3499},[3455,5833,5834],{"class":5248}," ENTITIES",[3455,5836,3399],{"class":3499},[3455,5838,3644],{"class":5248},[3455,5840,3399],{"class":3499},[3455,5842,3987],{"class":5248},[3455,5844,3649],{"class":3499},[3455,5846,5848,5850,5852],{"class":3457,"line":5847},31,[3455,5849,5774],{"class":3499},[3455,5851,5276],{"class":4001},[3455,5853,5232],{"class":3499},[3455,5855,5857],{"class":3457,"line":5856},32,[3455,5858,5238],{"emptyLinePlaceholder":5237},[3455,5860,5862],{"class":3457,"line":5861},33,[3455,5863,5864],{"class":5320},"  \u002F\u002F Seed the main warehouse on demand. This route is the reliable path;\n",[3455,5866,5868],{"class":3457,"line":5867},34,[3455,5869,5870],{"class":5320},"  \u002F\u002F the install event below is a convenience on top of it.\n",[3455,5872,5874,5877,5879,5882,5884,5886,5889,5891,5893,5896,5898,5901,5903,5905,5908,5910,5912,5914,5917,5919,5921,5923,5926],{"class":3457,"line":5873},35,[3455,5875,5876],{"class":5248},"  app",[3455,5878,3399],{"class":3499},[3455,5880,5881],{"class":3484},"post",[3455,5883,5266],{"class":4001},[3455,5885,5224],{"class":3499},[3455,5887,5888],{"class":3465},"\u002Flocations\u002Fdefaults",[3455,5890,5224],{"class":3499},[3455,5892,4029],{"class":3499},[3455,5894,5895],{"class":3631}," async",[3455,5897,5488],{"class":3499},[3455,5899,5900],{"class":5446},"c",[3455,5902,5276],{"class":3499},[3455,5904,5738],{"class":3631},[3455,5906,5907],{"class":5248}," c",[3455,5909,3399],{"class":3499},[3455,5911,3616],{"class":3484},[3455,5913,5266],{"class":4001},[3455,5915,5916],{"class":5484},"await",[3455,5918,5441],{"class":3484},[3455,5920,5266],{"class":4001},[3455,5922,5447],{"class":5248},[3455,5924,5925],{"class":4001},")))",[3455,5927,5232],{"class":3499},[3455,5929,5931],{"class":3457,"line":5930},36,[3455,5932,5238],{"emptyLinePlaceholder":5237},[3455,5934,5936,5938,5940],{"class":3457,"line":5935},37,[3455,5937,5661],{"class":5484},[3455,5939,3469],{"class":5248},[3455,5941,5232],{"class":3499},[3455,5943,5945],{"class":3457,"line":5944},38,[3455,5946,3880],{"class":3499},[3455,5948,5950],{"class":3457,"line":5949},39,[3455,5951,5238],{"emptyLinePlaceholder":5237},[3455,5953,5955,5958,5960,5962,5964,5967,5969,5971],{"class":3457,"line":5954},40,[3455,5956,5957],{"class":3499},"module.exports",[3455,5959,5260],{"class":3499},[3455,5961,5895],{"class":3631},[3455,5963,5488],{"class":3499},[3455,5965,5966],{"class":5446},"context",[3455,5968,5276],{"class":3499},[3455,5970,5738],{"class":3631},[3455,5972,3725],{"class":3499},[3455,5974,5976,5978,5980,5983,5985,5988,5990,5992,5995],{"class":3457,"line":5975},41,[3455,5977,5456],{"class":3631},[3455,5979,3787],{"class":3499},[3455,5981,5982],{"class":5248}," req",[3455,5984,4029],{"class":3499},[3455,5986,5987],{"class":5248}," res",[3455,5989,5568],{"class":3499},[3455,5991,5260],{"class":3499},[3455,5993,5994],{"class":5248}," context",[3455,5996,5232],{"class":3499},[3455,5998,6000,6002,6005,6007,6009,6011,6014,6017],{"class":3457,"line":5999},42,[3455,6001,5456],{"class":3631},[3455,6003,6004],{"class":5248}," headers",[3455,6006,5260],{"class":3499},[3455,6008,5982],{"class":5248},[3455,6010,3399],{"class":3499},[3455,6012,6013],{"class":5248},"headers",[3455,6015,6016],{"class":3499}," ||",[3455,6018,6019],{"class":3499}," {};\n",[3455,6021,6023,6025,6028,6030,6032,6035,6037,6040,6042,6045,6048,6050,6052,6054,6057,6059,6061,6063,6066],{"class":3457,"line":6022},43,[3455,6024,5456],{"class":3631},[3455,6026,6027],{"class":5248}," jwt",[3455,6029,5260],{"class":3499},[3455,6031,6004],{"class":5248},[3455,6033,6034],{"class":4001},"[",[3455,6036,5224],{"class":3499},[3455,6038,6039],{"class":3465},"x-revenexx-context",[3455,6041,5224],{"class":3499},[3455,6043,6044],{"class":4001},"] ",[3455,6046,6047],{"class":3499},"??",[3455,6049,6004],{"class":5248},[3455,6051,6034],{"class":4001},[3455,6053,5224],{"class":3499},[3455,6055,6056],{"class":3465},"X-Revenexx-Context",[3455,6058,5224],{"class":3499},[3455,6060,6044],{"class":4001},[3455,6062,6047],{"class":3499},[3455,6064,6065],{"class":3499}," ''",[3455,6067,5232],{"class":3499},[3455,6069,6071,6073,6076,6078,6080,6083,6085,6088,6090,6093,6095,6097,6100,6102,6104,6106,6109,6111,6113,6116,6119,6122,6124,6126,6128,6131,6134,6136,6138,6140],{"class":3457,"line":6070},44,[3455,6072,5456],{"class":3631},[3455,6074,6075],{"class":5248}," path",[3455,6077,5260],{"class":3499},[3455,6079,5488],{"class":4001},[3455,6081,6082],{"class":3484},"String",[3455,6084,5266],{"class":4001},[3455,6086,6087],{"class":5248},"req",[3455,6089,3399],{"class":3499},[3455,6091,6092],{"class":5248},"path",[3455,6094,6016],{"class":3499},[3455,6096,5345],{"class":3499},[3455,6098,6099],{"class":3465},"\u002F",[3455,6101,5224],{"class":3499},[3455,6103,5276],{"class":4001},[3455,6105,3399],{"class":3499},[3455,6107,6108],{"class":3484},"replace",[3455,6110,5266],{"class":4001},[3455,6112,6099],{"class":3499},[3455,6114,6115],{"class":5248},"\\\u002F",[3455,6117,6118],{"class":3499},"+",[3455,6120,6121],{"class":5484},"$",[3455,6123,6099],{"class":3499},[3455,6125,4029],{"class":3499},[3455,6127,6065],{"class":3499},[3455,6129,6130],{"class":4001},")) ",[3455,6132,6133],{"class":3499},"||",[3455,6135,5345],{"class":3499},[3455,6137,6099],{"class":3465},[3455,6139,5224],{"class":3499},[3455,6141,5232],{"class":3499},[3455,6143,6145],{"class":3457,"line":6144},45,[3455,6146,5238],{"emptyLinePlaceholder":5237},[3455,6148,6150],{"class":3457,"line":6149},46,[3455,6151,6152],{"class":5320},"  \u002F\u002F Lifecycle: also seed when the install event arrives.\n",[3455,6154,6156,6158,6161,6163,6165,6167,6169,6172,6174,6176,6178,6180],{"class":3457,"line":6155},47,[3455,6157,5456],{"class":3631},[3455,6159,6160],{"class":5248}," trigger",[3455,6162,5260],{"class":3499},[3455,6164,6004],{"class":5248},[3455,6166,6034],{"class":4001},[3455,6168,5224],{"class":3499},[3455,6170,6171],{"class":3465},"x-revenexx-trigger",[3455,6173,5224],{"class":3499},[3455,6175,6044],{"class":4001},[3455,6177,6047],{"class":3499},[3455,6179,6065],{"class":3499},[3455,6181,5232],{"class":3499},[3455,6183,6185,6187,6190,6192,6194,6196,6198,6201,6203,6205,6207,6209],{"class":3457,"line":6184},48,[3455,6186,5456],{"class":3631},[3455,6188,6189],{"class":5248}," event",[3455,6191,5260],{"class":3499},[3455,6193,6004],{"class":5248},[3455,6195,6034],{"class":4001},[3455,6197,5224],{"class":3499},[3455,6199,6200],{"class":3465},"x-revenexx-event",[3455,6202,5224],{"class":3499},[3455,6204,6044],{"class":4001},[3455,6206,6047],{"class":3499},[3455,6208,6065],{"class":3499},[3455,6210,5232],{"class":3499},[3455,6212,6214,6217,6219,6222,6225,6227,6230,6232,6234,6236,6238],{"class":3457,"line":6213},49,[3455,6215,6216],{"class":5484},"  if",[3455,6218,5488],{"class":4001},[3455,6220,6221],{"class":5248},"trigger",[3455,6223,6224],{"class":3499}," ===",[3455,6226,5345],{"class":3499},[3455,6228,6229],{"class":3465},"event",[3455,6231,5224],{"class":3499},[3455,6233,3500],{"class":3499},[3455,6235,6027],{"class":5248},[3455,6237,5502],{"class":4001},[3455,6239,3623],{"class":3499},[3455,6241,6243,6245,6247,6249,6251,6253,6255,6258,6260,6262,6265,6267,6269,6271,6273,6275],{"class":3457,"line":6242},50,[3455,6244,5509],{"class":3631},[3455,6246,5524],{"class":5248},[3455,6248,5260],{"class":3499},[3455,6250,5287],{"class":3484},[3455,6252,5266],{"class":4001},[3455,6254,5538],{"class":3499},[3455,6256,6257],{"class":4001}," adapter",[3455,6259,3638],{"class":3499},[3455,6261,5345],{"class":3499},[3455,6263,6264],{"class":3465},"runtime",[3455,6266,5224],{"class":3499},[3455,6268,4029],{"class":3499},[3455,6270,5994],{"class":5248},[3455,6272,5568],{"class":3499},[3455,6274,5276],{"class":4001},[3455,6276,5232],{"class":3499},[3455,6278,6280,6282,6284,6287,6290,6293,6296,6298,6301,6303,6305,6307,6309,6311,6313,6315],{"class":3457,"line":6279},51,[3455,6281,5577],{"class":5484},[3455,6283,5488],{"class":4001},[3455,6285,6286],{"class":3499},"\u002F(",[3455,6288,6289],{"class":5484},"^",[3455,6291,6292],{"class":3499},"|",[3455,6294,6295],{"class":5248},"\\.",[3455,6297,5276],{"class":3499},[3455,6299,6300],{"class":3465},"installed",[3455,6302,6121],{"class":5484},[3455,6304,6099],{"class":3499},[3455,6306,3399],{"class":3499},[3455,6308,3734],{"class":3484},[3455,6310,5266],{"class":4001},[3455,6312,6229],{"class":5248},[3455,6314,6130],{"class":4001},[3455,6316,3623],{"class":3499},[3455,6318,6320,6323,6325,6327,6329,6331,6333,6335,6337,6340,6342,6344,6346,6348,6350,6352,6354,6356],{"class":3457,"line":6319},52,[3455,6321,6322],{"class":5484},"      return",[3455,6324,5987],{"class":5248},[3455,6326,3399],{"class":3499},[3455,6328,3616],{"class":3484},[3455,6330,5266],{"class":4001},[3455,6332,5538],{"class":3499},[3455,6334,6189],{"class":5248},[3455,6336,4029],{"class":3499},[3455,6338,6339],{"class":3499}," ...",[3455,6341,5266],{"class":4001},[3455,6343,5916],{"class":5484},[3455,6345,5441],{"class":3484},[3455,6347,5266],{"class":4001},[3455,6349,5447],{"class":5248},[3455,6351,6130],{"class":4001},[3455,6353,5257],{"class":3499},[3455,6355,5276],{"class":4001},[3455,6357,5232],{"class":3499},[3455,6359,6361],{"class":3457,"line":6360},53,[3455,6362,4668],{"class":3499},[3455,6364,6366,6369,6371,6373,6375,6377,6379,6381,6383,6386,6388,6390,6392,6394],{"class":3457,"line":6365},54,[3455,6367,6368],{"class":5484},"    return",[3455,6370,5987],{"class":5248},[3455,6372,3399],{"class":3499},[3455,6374,3616],{"class":3484},[3455,6376,5266],{"class":4001},[3455,6378,5538],{"class":3499},[3455,6380,6189],{"class":5248},[3455,6382,4029],{"class":3499},[3455,6384,6385],{"class":4001}," ignored",[3455,6387,3638],{"class":3499},[3455,6389,4628],{"class":5418},[3455,6391,5568],{"class":3499},[3455,6393,5276],{"class":4001},[3455,6395,5232],{"class":3499},[3455,6397,6399],{"class":3457,"line":6398},55,[3455,6400,4674],{"class":3499},[3455,6402,6404],{"class":3457,"line":6403},56,[3455,6405,5238],{"emptyLinePlaceholder":5237},[3455,6407,6409],{"class":3457,"line":6408},57,[3455,6410,6411],{"class":5320},"  \u002F\u002F Every route except health needs the tenant identity header.\n",[3455,6413,6415,6417,6419,6421,6424,6426,6428,6430,6432,6435,6438,6440],{"class":3457,"line":6414},58,[3455,6416,6216],{"class":5484},[3455,6418,5488],{"class":4001},[3455,6420,6092],{"class":5248},[3455,6422,6423],{"class":3499}," !==",[3455,6425,5345],{"class":3499},[3455,6427,6099],{"class":3465},[3455,6429,5224],{"class":3499},[3455,6431,3500],{"class":3499},[3455,6433,6434],{"class":3499}," !",[3455,6436,6437],{"class":5248},"jwt",[3455,6439,5502],{"class":4001},[3455,6441,3623],{"class":3499},[3455,6443,6445,6447,6449,6451,6453,6455,6457,6460,6462,6464,6467,6469,6471,6474,6476],{"class":3457,"line":6444},59,[3455,6446,6368],{"class":5484},[3455,6448,5987],{"class":5248},[3455,6450,3399],{"class":3499},[3455,6452,3616],{"class":3484},[3455,6454,5266],{"class":4001},[3455,6456,5538],{"class":3499},[3455,6458,6459],{"class":4001}," error",[3455,6461,3638],{"class":3499},[3455,6463,5345],{"class":3499},[3455,6465,6466],{"class":3465},"missing tenant identity",[3455,6468,5224],{"class":3499},[3455,6470,5386],{"class":3499},[3455,6472,6473],{"class":3986}," 503",[3455,6475,5276],{"class":4001},[3455,6477,5232],{"class":3499},[3455,6479,6481],{"class":3457,"line":6480},60,[3455,6482,4674],{"class":3499},[3455,6484,6486],{"class":3457,"line":6485},61,[3455,6487,5238],{"emptyLinePlaceholder":5237},[3455,6489,6491,6493,6495,6497,6499,6501,6503,6505,6507,6509,6511,6513,6515,6517,6519,6521],{"class":3457,"line":6490},62,[3455,6492,5456],{"class":3631},[3455,6494,5524],{"class":5248},[3455,6496,5260],{"class":3499},[3455,6498,5287],{"class":3484},[3455,6500,5266],{"class":4001},[3455,6502,5538],{"class":3499},[3455,6504,6257],{"class":4001},[3455,6506,3638],{"class":3499},[3455,6508,5345],{"class":3499},[3455,6510,6264],{"class":3465},[3455,6512,5224],{"class":3499},[3455,6514,4029],{"class":3499},[3455,6516,5994],{"class":5248},[3455,6518,5568],{"class":3499},[3455,6520,5276],{"class":4001},[3455,6522,5232],{"class":3499},[3455,6524,6526,6528,6530,6532,6534,6536,6538,6541,6544,6546,6548],{"class":3457,"line":6525},63,[3455,6527,5661],{"class":5484},[3455,6529,5687],{"class":3484},[3455,6531,5266],{"class":4001},[3455,6533,5447],{"class":5248},[3455,6535,5276],{"class":4001},[3455,6537,3399],{"class":3499},[3455,6539,6540],{"class":3484},"handler",[3455,6542,6543],{"class":4001},"()(",[3455,6545,5966],{"class":5248},[3455,6547,5276],{"class":4001},[3455,6549,5232],{"class":3499},[3455,6551,6553],{"class":3457,"line":6552},64,[3455,6554,6555],{"class":3499},"};\n",[3455,6557,6559],{"class":3457,"line":6558},65,[3455,6560,5238],{"emptyLinePlaceholder":5237},[3455,6562,6564,6567,6570,6572,6574],{"class":3457,"line":6563},66,[3455,6565,6566],{"class":3499},"module.exports.",[3455,6568,6569],{"class":5248},"buildApp ",[3455,6571,5331],{"class":3499},[3455,6573,5687],{"class":5248},[3455,6575,5232],{"class":3499},[3455,6577,6579,6581,6584,6586,6588],{"class":3457,"line":6578},67,[3455,6580,6566],{"class":3499},[3455,6582,6583],{"class":5248},"ensureDefaults ",[3455,6585,5331],{"class":3499},[3455,6587,5441],{"class":5248},[3455,6589,5232],{"class":3499},[6591,6592,6593,6596,6597,6599,6600,6602,6603,6605],"note",{},[3386,6594,6595],{},"Don't rely on the install event alone."," ",[3396,6598,5002],{}," does not reliably fire on a Marketplace install, so an App that seeds only there reaches a merchant with an empty configuration. The idempotent ",[3396,6601,5888],{}," route lets you seed and prove it on your own tenant, and an App you publish should also ensure its defaults on first use. Both paths are idempotent, so both may land. See ",[3391,6604,145],{"href":146},", step 6.",[3382,6607,6608,6610,6611,3638],{},[3396,6609,5204],{}," gives you, under ",[3396,6612,5819],{},[6614,6615,6616,6632],"table",{},[6617,6618,6619],"thead",{},[6620,6621,6622,6626,6629],"tr",{},[6623,6624,6625],"th",{},"Method",[6623,6627,6628],{},"Path",[6623,6630,6631],{},"Does",[6633,6634,6635,6663,6677,6690,6703],"tbody",{},[6620,6636,6637,6643,6647],{},[6638,6639,6640],"td",{},[3396,6641,6642],{},"GET",[6638,6644,6645],{},[3396,6646,5819],{},[6638,6648,6649,6650,3916,6653,3916,6656,3920,6659,6662],{},"list (with ",[3396,6651,6652],{},"limit",[3396,6654,6655],{},"offset",[3396,6657,6658],{},"order",[3396,6660,6661],{},"?column=value"," filters)",[6620,6664,6665,6669,6674],{},[6638,6666,6667],{},[3396,6668,6642],{},[6638,6670,6671],{},[3396,6672,6673],{},"\u002Flocations\u002F{id}",[6638,6675,6676],{},"read one",[6620,6678,6679,6684,6688],{},[6638,6680,6681],{},[3396,6682,6683],{},"POST",[6638,6685,6686],{},[3396,6687,5819],{},[6638,6689,4942],{},[6620,6691,6692,6697,6701],{},[6638,6693,6694],{},[3396,6695,6696],{},"PUT",[6638,6698,6699],{},[3396,6700,6673],{},[6638,6702,4951],{},[6620,6704,6705,6710,6714],{},[6638,6706,6707],{},[3396,6708,6709],{},"DELETE",[6638,6711,6712],{},[3396,6713,6673],{},[6638,6715,4960],{},[3382,6717,6718,6719,6721],{},"Route paths are all-lowercase, and every route lives under the app's own prefix (",[3396,6720,5819],{},"). That namespacing is how the gateway routes to your app.",[3430,6723,6725],{"id":6724},"_5-generate-the-typed-client-and-the-capabilities","5. Generate the typed client and the capabilities",[3382,6727,6728,6729,6732,6733,6736],{},"Two things are generated from your declarations: the typed data client (",[3396,6730,6731],{},"src\u002Fdb.generated.js",") and the capability list (",[3396,6734,6735],{},"manifest.capabilities.json","). Generate the client with the CLI:",[3445,6738,6741],{"className":3447,"code":6739,"filename":6740,"language":3450,"meta":3451,"style":3451},"revenexx apps generate \\\n  --schema .\u002Fschema.json \\\n  --manifest .\u002Fmanifest.json \\\n  --out .\u002Fsrc\n","Generate the client",[3396,6742,6743,6756,6766,6776],{"__ignoreMap":3451},[3455,6744,6745,6747,6750,6753],{"class":3457,"line":3458},[3455,6746,3462],{"class":3461},[3455,6748,6749],{"class":3465}," apps",[3455,6751,6752],{"class":3465}," generate",[3455,6754,6755],{"class":5248}," \\\n",[3455,6757,6758,6761,6764],{"class":3457,"line":3481},[3455,6759,6760],{"class":3465},"  --schema",[3455,6762,6763],{"class":3465}," .\u002Fschema.json",[3455,6765,6755],{"class":5248},[3455,6767,6768,6771,6774],{"class":3457,"line":3490},[3455,6769,6770],{"class":3465},"  --manifest",[3455,6772,6773],{"class":3465}," .\u002Fmanifest.json",[3455,6775,6755],{"class":5248},[3455,6777,6778,6781],{"class":3457,"line":3509},[3455,6779,6780],{"class":3465},"  --out",[3455,6782,6783],{"class":3465}," .\u002Fsrc\n",[3382,6785,6786,6787,6789,6790,6792,6793,6795,6796,6798,6799,6792,6801,6804,6805,3916,6807,3920,6809,6811],{},"This writes ",[3396,6788,6731],{},", exporting ",[3396,6791,5208],{}," and ",[3396,6794,5760],{},". Never edit it by hand — regenerate it whenever the schema changes. The client only exposes the operations your manifest grants: with ",[3396,6797,4933],{},", you get ",[3396,6800,5533],{},[3396,6802,6803],{},"get","; ",[3396,6806,4942],{},[3396,6808,4951],{},[3396,6810,4960],{}," follow their grants.",[3382,6813,6814,6815,6818,6819,6821,6822,6824,6825,6827,6828,6830,6831,6834,6835,6837],{},"Now the capabilities. The gateway only advertises — and the typed SDK only exposes — the capabilities your manifest declares. ",[3396,6816,6817],{},"scripts\u002Fcapabilities.js"," builds that list from your schema and routes. It writes the list to ",[3396,6820,6735],{}," on every run and removes any inline ",[3396,6823,3754],{}," key from ",[3396,6826,4747],{},", so the file is the single source of truth for the capability list — never hand-edit it. The platform splices the file back into the manifest at deploy. Ship either the sibling file or an inline ",[3396,6829,3754],{}," array, never both: the platform rejects a manifest that has both. ",[3396,6832,6833],{},"revenexx apps capabilities --write"," writes the same file. This tutorial's script rewrites the whole file on every run. The script that ",[3396,6836,3438],{}," scaffolds merges instead, and keeps hand-written entries it does not emit, so do not mix the two on one project.",[3445,6839,6841],{"className":5215,"code":6840,"filename":6817,"language":5217,"meta":3451,"style":3451},"#!\u002Fusr\u002Fbin\u002Fenv node\n'use strict';\n\nconst fs = require('node:fs');\nconst path = require('node:path');\n\nconst root = path.join(__dirname, '..');\nconst schema = JSON.parse(fs.readFileSync(path.join(root, 'schema.json'), 'utf8'));\nconst manifestPath = path.join(root, 'manifest.json');\nconst capabilitiesPath = path.join(root, 'manifest.capabilities.json');\nconst manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'));\n\n\u002F\u002F Map a schema column to a JSON-Schema property.\nfunction columnSchema(col) {\n  const nullable = !col.pk && !col.notNull;\n  const wrap = (t, extra = {}) => ({ type: nullable ? [t, 'null'] : t, ...extra });\n  switch (col.type.replace(\u002F\\(.*\\)$\u002F, '')) {\n    case 'uuid': return wrap('string', { format: 'uuid' });\n    case 'boolean': return wrap('boolean');\n    case 'integer': return wrap('integer');\n    case 'timestamptz': return wrap('string', { format: 'date-time' });\n    case 'jsonb': return { type: nullable ? ['object', 'null'] : 'object' };\n    default: return wrap('string');\n  }\n}\n\nconst LOCATION = {\n  title: 'Location',\n  type: 'object',\n  properties: Object.fromEntries(\n    Object.entries(schema.entities.locations.columns).map(([name, col]) => [name, columnSchema(col)]),\n  ),\n};\n\nconst PAGE = {\n  type: 'object',\n  properties: {\n    limit: { type: 'integer' }, offset: { type: 'integer' }, total: { type: 'integer' },\n    returned: { type: 'integer' }, hasMore: { type: 'boolean' },\n  },\n};\nconst pageOf = (item) => ({ type: 'object', properties: { items: { type: 'array', items: item }, page: PAGE } });\n\n\u002F\u002F A paged list MUST declare these or every caller is stranded on page 1.\nconst qParam = (name, paramSchema, description) => ({ name, in: 'query', required: false, schema: paramSchema, description });\nconst PAGINATION_PARAMS = [\n  qParam('limit', { type: 'integer', minimum: 1, maximum: 200 }, 'Page size (default 50, max 200).'),\n  qParam('offset', { type: 'integer', minimum: 0 }, 'Row offset for pagination (default 0).'),\n  qParam('order', { type: 'string' }, \"Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.\"),\n];\n\nconst LOCATION_INPUT = {\n  title: 'LocationInput',\n  type: 'object',\n  required: ['code', 'name'],\n  properties: {\n    code: { type: 'string', minLength: 1 },\n    name: { type: 'string', minLength: 1 },\n    type: { type: 'string', enum: ['warehouse', 'store', 'dropship', 'virtual'] },\n    priority: { type: 'integer' },\n    enabled: { type: 'boolean' },\n    labels: { type: ['object', 'null'] },\n    address: { type: ['object', 'null'] },\n    metadata: { type: ['object', 'null'] },\n  },\n};\nconst DELETED = { type: 'object', properties: { deleted: { type: 'boolean' }, id: { type: 'string' } } };\n\nconst def = (capability, summary, route, extra) => ({ type: 'define', capability, version: '1.0.0', summary, route, ...extra });\n\nconst capabilities = [\n  def('locations.list', 'List stock locations', { method: 'GET', path: '\u002Flocations' }, { parameters: PAGINATION_PARAMS, response: pageOf(LOCATION) }),\n  def('locations.get', 'Read one location', { method: 'GET', path: '\u002Flocations\u002F{id}' }, { response: LOCATION }),\n  def('locations.create', 'Create a location', { method: 'POST', path: '\u002Flocations' }, { request: LOCATION_INPUT, response: LOCATION }),\n  def('locations.update', 'Update a location', { method: 'PUT', path: '\u002Flocations\u002F{id}' }, { request: LOCATION_INPUT, response: LOCATION }),\n  def('locations.delete', 'Delete a location', { method: 'DELETE', path: '\u002Flocations\u002F{id}' }, { response: DELETED }),\n  def('locations.defaults', 'Seed the main warehouse — idempotent', { method: 'POST', path: '\u002Flocations\u002Fdefaults' }, {\n    response: { type: 'object', properties: { created: { type: 'array', items: { type: 'string' } }, existing: { type: 'array', items: { type: 'string' } } } },\n  }),\n];\n\nfs.writeFileSync(capabilitiesPath, `${JSON.stringify(capabilities, null, 2)}\\n`);\ndelete manifest.capabilities;\nfs.writeFileSync(manifestPath, `${JSON.stringify(manifest, null, 2)}\\n`);\nconsole.log(`wrote ${capabilities.length} capabilities`);\n",[3396,6842,6843,6848,6858,6862,6886,6910,6914,6946,7005,7034,7063,7099,7103,7108,7124,7153,7225,7268,7316,7344,7372,7417,7470,7493,7497,7501,7505,7516,7532,7547,7564,7624,7631,7635,7639,7650,7664,7672,7731,7771,7775,7779,7865,7869,7874,7951,7962,8021,8068,8107,8113,8117,8128,8143,8157,8184,8192,8222,8250,8316,8337,8358,8391,8424,8457,8461,8465,8536,8541,8629,8634,8646,8728,8793,8868,8941,9006,9059,9167,9176,9183,9188,9240,9254,9296],{"__ignoreMap":3451},[3455,6844,6845],{"class":3457,"line":3458},[3455,6846,6847],{"class":5320},"#!\u002Fusr\u002Fbin\u002Fenv node\n",[3455,6849,6850,6852,6854,6856],{"class":3457,"line":3481},[3455,6851,5224],{"class":3499},[3455,6853,5227],{"class":3465},[3455,6855,5224],{"class":3499},[3455,6857,5232],{"class":3499},[3455,6859,6860],{"class":3457,"line":3490},[3455,6861,5238],{"emptyLinePlaceholder":5237},[3455,6863,6864,6866,6869,6871,6873,6875,6877,6880,6882,6884],{"class":3457,"line":3509},[3455,6865,5243],{"class":3631},[3455,6867,6868],{"class":5248}," fs ",[3455,6870,5331],{"class":3499},[3455,6872,5263],{"class":3484},[3455,6874,5266],{"class":5248},[3455,6876,5224],{"class":3499},[3455,6878,6879],{"class":3465},"node:fs",[3455,6881,5224],{"class":3499},[3455,6883,5276],{"class":5248},[3455,6885,5232],{"class":3499},[3455,6887,6888,6890,6893,6895,6897,6899,6901,6904,6906,6908],{"class":3457,"line":3692},[3455,6889,5243],{"class":3631},[3455,6891,6892],{"class":5248}," path ",[3455,6894,5331],{"class":3499},[3455,6896,5263],{"class":3484},[3455,6898,5266],{"class":5248},[3455,6900,5224],{"class":3499},[3455,6902,6903],{"class":3465},"node:path",[3455,6905,5224],{"class":3499},[3455,6907,5276],{"class":5248},[3455,6909,5232],{"class":3499},[3455,6911,6912],{"class":3457,"line":3713},[3455,6913,5238],{"emptyLinePlaceholder":5237},[3455,6915,6916,6918,6921,6923,6925,6927,6930,6933,6935,6937,6940,6942,6944],{"class":3457,"line":3728},[3455,6917,5243],{"class":3631},[3455,6919,6920],{"class":5248}," root ",[3455,6922,5331],{"class":3499},[3455,6924,6075],{"class":5248},[3455,6926,3399],{"class":3499},[3455,6928,6929],{"class":3484},"join",[3455,6931,6932],{"class":5248},"(__dirname",[3455,6934,4029],{"class":3499},[3455,6936,5345],{"class":3499},[3455,6938,6939],{"class":3465},"..",[3455,6941,5224],{"class":3499},[3455,6943,5276],{"class":5248},[3455,6945,5232],{"class":3499},[3455,6947,6948,6950,6953,6955,6958,6960,6963,6966,6968,6971,6974,6976,6978,6981,6983,6985,6987,6989,6991,6993,6995,6998,7000,7003],{"class":3457,"line":3749},[3455,6949,5243],{"class":3631},[3455,6951,6952],{"class":5248}," schema ",[3455,6954,5331],{"class":3499},[3455,6956,6957],{"class":5248}," JSON",[3455,6959,3399],{"class":3499},[3455,6961,6962],{"class":3484},"parse",[3455,6964,6965],{"class":5248},"(fs",[3455,6967,3399],{"class":3499},[3455,6969,6970],{"class":3484},"readFileSync",[3455,6972,6973],{"class":5248},"(path",[3455,6975,3399],{"class":3499},[3455,6977,6929],{"class":3484},[3455,6979,6980],{"class":5248},"(root",[3455,6982,4029],{"class":3499},[3455,6984,5345],{"class":3499},[3455,6986,3905],{"class":3465},[3455,6988,5224],{"class":3499},[3455,6990,5276],{"class":5248},[3455,6992,4029],{"class":3499},[3455,6994,5345],{"class":3499},[3455,6996,6997],{"class":3465},"utf8",[3455,6999,5224],{"class":3499},[3455,7001,7002],{"class":5248},"))",[3455,7004,5232],{"class":3499},[3455,7006,7007,7009,7012,7014,7016,7018,7020,7022,7024,7026,7028,7030,7032],{"class":3457,"line":3769},[3455,7008,5243],{"class":3631},[3455,7010,7011],{"class":5248}," manifestPath ",[3455,7013,5331],{"class":3499},[3455,7015,6075],{"class":5248},[3455,7017,3399],{"class":3499},[3455,7019,6929],{"class":3484},[3455,7021,6980],{"class":5248},[3455,7023,4029],{"class":3499},[3455,7025,5345],{"class":3499},[3455,7027,4747],{"class":3465},[3455,7029,5224],{"class":3499},[3455,7031,5276],{"class":5248},[3455,7033,5232],{"class":3499},[3455,7035,7036,7038,7041,7043,7045,7047,7049,7051,7053,7055,7057,7059,7061],{"class":3457,"line":3775},[3455,7037,5243],{"class":3631},[3455,7039,7040],{"class":5248}," capabilitiesPath ",[3455,7042,5331],{"class":3499},[3455,7044,6075],{"class":5248},[3455,7046,3399],{"class":3499},[3455,7048,6929],{"class":3484},[3455,7050,6980],{"class":5248},[3455,7052,4029],{"class":3499},[3455,7054,5345],{"class":3499},[3455,7056,6735],{"class":3465},[3455,7058,5224],{"class":3499},[3455,7060,5276],{"class":5248},[3455,7062,5232],{"class":3499},[3455,7064,7065,7067,7070,7072,7074,7076,7078,7080,7082,7084,7087,7089,7091,7093,7095,7097],{"class":3457,"line":3809},[3455,7066,5243],{"class":3631},[3455,7068,7069],{"class":5248}," manifest ",[3455,7071,5331],{"class":3499},[3455,7073,6957],{"class":5248},[3455,7075,3399],{"class":3499},[3455,7077,6962],{"class":3484},[3455,7079,6965],{"class":5248},[3455,7081,3399],{"class":3499},[3455,7083,6970],{"class":3484},[3455,7085,7086],{"class":5248},"(manifestPath",[3455,7088,4029],{"class":3499},[3455,7090,5345],{"class":3499},[3455,7092,6997],{"class":3465},[3455,7094,5224],{"class":3499},[3455,7096,7002],{"class":5248},[3455,7098,5232],{"class":3499},[3455,7100,7101],{"class":3457,"line":3841},[3455,7102,5238],{"emptyLinePlaceholder":5237},[3455,7104,7105],{"class":3457,"line":3862},[3455,7106,7107],{"class":5320},"\u002F\u002F Map a schema column to a JSON-Schema property.\n",[3455,7109,7110,7112,7115,7117,7120,7122],{"class":3457,"line":3877},[3455,7111,4718],{"class":3631},[3455,7113,7114],{"class":3484}," columnSchema",[3455,7116,5266],{"class":3499},[3455,7118,7119],{"class":5446},"col",[3455,7121,5276],{"class":3499},[3455,7123,3725],{"class":3499},[3455,7125,7126,7128,7131,7133,7135,7137,7139,7141,7143,7145,7147,7149,7151],{"class":3457,"line":4449},[3455,7127,5456],{"class":3631},[3455,7129,7130],{"class":5248}," nullable",[3455,7132,5260],{"class":3499},[3455,7134,6434],{"class":3499},[3455,7136,7119],{"class":5248},[3455,7138,3399],{"class":3499},[3455,7140,4034],{"class":5248},[3455,7142,3500],{"class":3499},[3455,7144,6434],{"class":3499},[3455,7146,7119],{"class":5248},[3455,7148,3399],{"class":3499},[3455,7150,3915],{"class":5248},[3455,7152,5232],{"class":3499},[3455,7154,7155,7157,7160,7162,7164,7167,7169,7172,7174,7177,7179,7181,7183,7185,7187,7189,7192,7194,7196,7198,7200,7203,7205,7207,7209,7212,7214,7216,7219,7221,7223],{"class":3457,"line":4507},[3455,7156,5456],{"class":3631},[3455,7158,7159],{"class":5248}," wrap",[3455,7161,5260],{"class":3499},[3455,7163,5488],{"class":3499},[3455,7165,7166],{"class":5446},"t",[3455,7168,4029],{"class":3499},[3455,7170,7171],{"class":5446}," extra",[3455,7173,5260],{"class":3499},[3455,7175,7176],{"class":3499}," {})",[3455,7178,5738],{"class":3631},[3455,7180,5488],{"class":4001},[3455,7182,5538],{"class":3499},[3455,7184,5389],{"class":4001},[3455,7186,3638],{"class":3499},[3455,7188,7130],{"class":5248},[3455,7190,7191],{"class":3499}," ?",[3455,7193,4598],{"class":4001},[3455,7195,7166],{"class":5248},[3455,7197,4029],{"class":3499},[3455,7199,5345],{"class":3499},[3455,7201,7202],{"class":3465},"null",[3455,7204,5224],{"class":3499},[3455,7206,6044],{"class":4001},[3455,7208,3638],{"class":3499},[3455,7210,7211],{"class":5248}," t",[3455,7213,4029],{"class":3499},[3455,7215,6339],{"class":3499},[3455,7217,7218],{"class":5248},"extra",[3455,7220,5568],{"class":3499},[3455,7222,5276],{"class":4001},[3455,7224,5232],{"class":3499},[3455,7226,7227,7230,7232,7234,7236,7238,7240,7242,7244,7246,7249,7251,7253,7256,7258,7260,7262,7264,7266],{"class":3457,"line":4564},[3455,7228,7229],{"class":5484},"  switch",[3455,7231,5488],{"class":4001},[3455,7233,7119],{"class":5248},[3455,7235,3399],{"class":3499},[3455,7237,4015],{"class":5248},[3455,7239,3399],{"class":3499},[3455,7241,6108],{"class":3484},[3455,7243,5266],{"class":4001},[3455,7245,6099],{"class":3499},[3455,7247,7248],{"class":5248},"\\(",[3455,7250,3399],{"class":3465},[3455,7252,3424],{"class":3499},[3455,7254,7255],{"class":5248},"\\)",[3455,7257,6121],{"class":5484},[3455,7259,6099],{"class":3499},[3455,7261,4029],{"class":3499},[3455,7263,6065],{"class":3499},[3455,7265,6130],{"class":4001},[3455,7267,3623],{"class":3499},[3455,7269,7270,7273,7275,7277,7279,7281,7284,7286,7288,7290,7293,7295,7297,7299,7302,7304,7306,7308,7310,7312,7314],{"class":3457,"line":4570},[3455,7271,7272],{"class":5484},"    case",[3455,7274,5345],{"class":3499},[3455,7276,4024],{"class":3465},[3455,7278,5224],{"class":3499},[3455,7280,3638],{"class":3499},[3455,7282,7283],{"class":5484}," return",[3455,7285,7159],{"class":3484},[3455,7287,5266],{"class":4001},[3455,7289,5224],{"class":3499},[3455,7291,7292],{"class":3465},"string",[3455,7294,5224],{"class":3499},[3455,7296,4029],{"class":3499},[3455,7298,3787],{"class":3499},[3455,7300,7301],{"class":4001}," format",[3455,7303,3638],{"class":3499},[3455,7305,5345],{"class":3499},[3455,7307,4024],{"class":3465},[3455,7309,5224],{"class":3499},[3455,7311,5568],{"class":3499},[3455,7313,5276],{"class":4001},[3455,7315,5232],{"class":3499},[3455,7317,7318,7320,7322,7324,7326,7328,7330,7332,7334,7336,7338,7340,7342],{"class":3457,"line":4585},[3455,7319,7272],{"class":5484},[3455,7321,5345],{"class":3499},[3455,7323,4357],{"class":3465},[3455,7325,5224],{"class":3499},[3455,7327,3638],{"class":3499},[3455,7329,7283],{"class":5484},[3455,7331,7159],{"class":3484},[3455,7333,5266],{"class":4001},[3455,7335,5224],{"class":3499},[3455,7337,4357],{"class":3465},[3455,7339,5224],{"class":3499},[3455,7341,5276],{"class":4001},[3455,7343,5232],{"class":3499},[3455,7345,7346,7348,7350,7352,7354,7356,7358,7360,7362,7364,7366,7368,7370],{"class":3457,"line":4633},[3455,7347,7272],{"class":5484},[3455,7349,5345],{"class":3499},[3455,7351,4299],{"class":3465},[3455,7353,5224],{"class":3499},[3455,7355,3638],{"class":3499},[3455,7357,7283],{"class":5484},[3455,7359,7159],{"class":3484},[3455,7361,5266],{"class":4001},[3455,7363,5224],{"class":3499},[3455,7365,4299],{"class":3465},[3455,7367,5224],{"class":3499},[3455,7369,5276],{"class":4001},[3455,7371,5232],{"class":3499},[3455,7373,7374,7376,7378,7380,7382,7384,7386,7388,7390,7392,7394,7396,7398,7400,7402,7404,7406,7409,7411,7413,7415],{"class":3457,"line":4659},[3455,7375,7272],{"class":5484},[3455,7377,5345],{"class":3499},[3455,7379,4473],{"class":3465},[3455,7381,5224],{"class":3499},[3455,7383,3638],{"class":3499},[3455,7385,7283],{"class":5484},[3455,7387,7159],{"class":3484},[3455,7389,5266],{"class":4001},[3455,7391,5224],{"class":3499},[3455,7393,7292],{"class":3465},[3455,7395,5224],{"class":3499},[3455,7397,4029],{"class":3499},[3455,7399,3787],{"class":3499},[3455,7401,7301],{"class":4001},[3455,7403,3638],{"class":3499},[3455,7405,5345],{"class":3499},[3455,7407,7408],{"class":3465},"date-time",[3455,7410,5224],{"class":3499},[3455,7412,5568],{"class":3499},[3455,7414,5276],{"class":4001},[3455,7416,5232],{"class":3499},[3455,7418,7419,7421,7423,7425,7427,7429,7431,7433,7435,7437,7439,7441,7443,7445,7448,7450,7452,7454,7456,7458,7460,7462,7464,7466,7468],{"class":3457,"line":4665},[3455,7420,7272],{"class":5484},[3455,7422,5345],{"class":3499},[3455,7424,4196],{"class":3465},[3455,7426,5224],{"class":3499},[3455,7428,3638],{"class":3499},[3455,7430,7283],{"class":5484},[3455,7432,3787],{"class":3499},[3455,7434,5389],{"class":4001},[3455,7436,3638],{"class":3499},[3455,7438,7130],{"class":5248},[3455,7440,7191],{"class":3499},[3455,7442,4598],{"class":4001},[3455,7444,5224],{"class":3499},[3455,7446,7447],{"class":3465},"object",[3455,7449,5224],{"class":3499},[3455,7451,4029],{"class":3499},[3455,7453,5345],{"class":3499},[3455,7455,7202],{"class":3465},[3455,7457,5224],{"class":3499},[3455,7459,6044],{"class":4001},[3455,7461,3638],{"class":3499},[3455,7463,5345],{"class":3499},[3455,7465,7447],{"class":3465},[3455,7467,5224],{"class":3499},[3455,7469,5672],{"class":3499},[3455,7471,7472,7475,7477,7479,7481,7483,7485,7487,7489,7491],{"class":3457,"line":4671},[3455,7473,7474],{"class":5484},"    default",[3455,7476,3638],{"class":3499},[3455,7478,7283],{"class":5484},[3455,7480,7159],{"class":3484},[3455,7482,5266],{"class":4001},[3455,7484,5224],{"class":3499},[3455,7486,7292],{"class":3465},[3455,7488,5224],{"class":3499},[3455,7490,5276],{"class":4001},[3455,7492,5232],{"class":3499},[3455,7494,7495],{"class":3457,"line":4677},[3455,7496,4674],{"class":3499},[3455,7498,7499],{"class":3457,"line":5727},[3455,7500,3880],{"class":3499},[3455,7502,7503],{"class":3457,"line":5771},[3455,7504,5238],{"emptyLinePlaceholder":5237},[3455,7506,7507,7509,7512,7514],{"class":3457,"line":5781},[3455,7508,5243],{"class":3631},[3455,7510,7511],{"class":5248}," LOCATION ",[3455,7513,5331],{"class":3499},[3455,7515,3725],{"class":3499},[3455,7517,7518,7521,7523,7525,7528,7530],{"class":3457,"line":5786},[3455,7519,7520],{"class":4001},"  title",[3455,7522,3638],{"class":3499},[3455,7524,5345],{"class":3499},[3455,7526,7527],{"class":3465},"Location",[3455,7529,5224],{"class":3499},[3455,7531,3649],{"class":3499},[3455,7533,7534,7537,7539,7541,7543,7545],{"class":3457,"line":5809},[3455,7535,7536],{"class":4001},"  type",[3455,7538,3638],{"class":3499},[3455,7540,5345],{"class":3499},[3455,7542,7447],{"class":3465},[3455,7544,5224],{"class":3499},[3455,7546,3649],{"class":3499},[3455,7548,7549,7552,7554,7556,7558,7561],{"class":3457,"line":5826},[3455,7550,7551],{"class":4001},"  properties",[3455,7553,3638],{"class":3499},[3455,7555,5750],{"class":5248},[3455,7557,3399],{"class":3499},[3455,7559,7560],{"class":3484},"fromEntries",[3455,7562,7563],{"class":5248},"(\n",[3455,7565,7566,7569,7571,7574,7577,7579,7581,7583,7585,7587,7590,7592,7595,7597,7600,7602,7604,7607,7610,7612,7615,7617,7619,7622],{"class":3457,"line":5847},[3455,7567,7568],{"class":5248},"    Object",[3455,7570,3399],{"class":3499},[3455,7572,7573],{"class":3484},"entries",[3455,7575,7576],{"class":5248},"(schema",[3455,7578,3399],{"class":3499},[3455,7580,3960],{"class":5248},[3455,7582,3399],{"class":3499},[3455,7584,3644],{"class":5248},[3455,7586,3399],{"class":3499},[3455,7588,7589],{"class":5248},"columns)",[3455,7591,3399],{"class":3499},[3455,7593,7594],{"class":3484},"map",[3455,7596,5266],{"class":5248},[3455,7598,7599],{"class":3499},"([",[3455,7601,3632],{"class":5446},[3455,7603,4029],{"class":3499},[3455,7605,7606],{"class":5446}," col",[3455,7608,7609],{"class":3499},"])",[3455,7611,5738],{"class":3631},[3455,7613,7614],{"class":5248}," [name",[3455,7616,4029],{"class":3499},[3455,7618,7114],{"class":3484},[3455,7620,7621],{"class":5248},"(col)])",[3455,7623,3649],{"class":3499},[3455,7625,7626,7629],{"class":3457,"line":5856},[3455,7627,7628],{"class":5248},"  )",[3455,7630,3649],{"class":3499},[3455,7632,7633],{"class":3457,"line":5861},[3455,7634,6555],{"class":3499},[3455,7636,7637],{"class":3457,"line":5867},[3455,7638,5238],{"emptyLinePlaceholder":5237},[3455,7640,7641,7643,7646,7648],{"class":3457,"line":5873},[3455,7642,5243],{"class":3631},[3455,7644,7645],{"class":5248}," PAGE ",[3455,7647,5331],{"class":3499},[3455,7649,3725],{"class":3499},[3455,7651,7652,7654,7656,7658,7660,7662],{"class":3457,"line":5930},[3455,7653,7536],{"class":4001},[3455,7655,3638],{"class":3499},[3455,7657,5345],{"class":3499},[3455,7659,7447],{"class":3465},[3455,7661,5224],{"class":3499},[3455,7663,3649],{"class":3499},[3455,7665,7666,7668,7670],{"class":3457,"line":5935},[3455,7667,7551],{"class":4001},[3455,7669,3638],{"class":3499},[3455,7671,3725],{"class":3499},[3455,7673,7674,7677,7679,7681,7683,7685,7687,7689,7691,7693,7696,7698,7700,7702,7704,7706,7708,7710,7712,7715,7717,7719,7721,7723,7725,7727,7729],{"class":3457,"line":5944},[3455,7675,7676],{"class":4001},"    limit",[3455,7678,3638],{"class":3499},[3455,7680,3787],{"class":3499},[3455,7682,5389],{"class":4001},[3455,7684,3638],{"class":3499},[3455,7686,5345],{"class":3499},[3455,7688,4299],{"class":3465},[3455,7690,5224],{"class":3499},[3455,7692,5386],{"class":3499},[3455,7694,7695],{"class":4001}," offset",[3455,7697,3638],{"class":3499},[3455,7699,3787],{"class":3499},[3455,7701,5389],{"class":4001},[3455,7703,3638],{"class":3499},[3455,7705,5345],{"class":3499},[3455,7707,4299],{"class":3465},[3455,7709,5224],{"class":3499},[3455,7711,5386],{"class":3499},[3455,7713,7714],{"class":4001}," total",[3455,7716,3638],{"class":3499},[3455,7718,3787],{"class":3499},[3455,7720,5389],{"class":4001},[3455,7722,3638],{"class":3499},[3455,7724,5345],{"class":3499},[3455,7726,4299],{"class":3465},[3455,7728,5224],{"class":3499},[3455,7730,3806],{"class":3499},[3455,7732,7733,7736,7738,7740,7742,7744,7746,7748,7750,7752,7755,7757,7759,7761,7763,7765,7767,7769],{"class":3457,"line":5949},[3455,7734,7735],{"class":4001},"    returned",[3455,7737,3638],{"class":3499},[3455,7739,3787],{"class":3499},[3455,7741,5389],{"class":4001},[3455,7743,3638],{"class":3499},[3455,7745,5345],{"class":3499},[3455,7747,4299],{"class":3465},[3455,7749,5224],{"class":3499},[3455,7751,5386],{"class":3499},[3455,7753,7754],{"class":4001}," hasMore",[3455,7756,3638],{"class":3499},[3455,7758,3787],{"class":3499},[3455,7760,5389],{"class":4001},[3455,7762,3638],{"class":3499},[3455,7764,5345],{"class":3499},[3455,7766,4357],{"class":3465},[3455,7768,5224],{"class":3499},[3455,7770,3806],{"class":3499},[3455,7772,7773],{"class":3457,"line":5954},[3455,7774,3772],{"class":3499},[3455,7776,7777],{"class":3457,"line":5975},[3455,7778,6555],{"class":3499},[3455,7780,7781,7783,7786,7788,7790,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7816,7818,7820,7823,7825,7827,7829,7831,7833,7836,7838,7840,7842,7844,7847,7850,7853,7855,7857,7859,7861,7863],{"class":3457,"line":5999},[3455,7782,5243],{"class":3631},[3455,7784,7785],{"class":5248}," pageOf ",[3455,7787,5331],{"class":3499},[3455,7789,5488],{"class":3499},[3455,7791,7792],{"class":5446},"item",[3455,7794,5276],{"class":3499},[3455,7796,5738],{"class":3631},[3455,7798,5488],{"class":5248},[3455,7800,5538],{"class":3499},[3455,7802,5389],{"class":4001},[3455,7804,3638],{"class":3499},[3455,7806,5345],{"class":3499},[3455,7808,7447],{"class":3465},[3455,7810,5224],{"class":3499},[3455,7812,4029],{"class":3499},[3455,7814,7815],{"class":4001}," properties",[3455,7817,3638],{"class":3499},[3455,7819,3787],{"class":3499},[3455,7821,7822],{"class":4001}," items",[3455,7824,3638],{"class":3499},[3455,7826,3787],{"class":3499},[3455,7828,5389],{"class":4001},[3455,7830,3638],{"class":3499},[3455,7832,5345],{"class":3499},[3455,7834,7835],{"class":3465},"array",[3455,7837,5224],{"class":3499},[3455,7839,4029],{"class":3499},[3455,7841,7822],{"class":4001},[3455,7843,3638],{"class":3499},[3455,7845,7846],{"class":5248}," item ",[3455,7848,7849],{"class":3499},"},",[3455,7851,7852],{"class":4001}," page",[3455,7854,3638],{"class":3499},[3455,7856,7645],{"class":5248},[3455,7858,5257],{"class":3499},[3455,7860,5568],{"class":3499},[3455,7862,5276],{"class":5248},[3455,7864,5232],{"class":3499},[3455,7866,7867],{"class":3457,"line":6022},[3455,7868,5238],{"emptyLinePlaceholder":5237},[3455,7870,7871],{"class":3457,"line":6070},[3455,7872,7873],{"class":5320},"\u002F\u002F A paged list MUST declare these or every caller is stranded on page 1.\n",[3455,7875,7876,7878,7881,7883,7885,7887,7889,7892,7894,7897,7899,7901,7903,7905,7907,7909,7912,7914,7916,7919,7921,7923,7926,7928,7931,7933,7936,7938,7940,7942,7945,7947,7949],{"class":3457,"line":6144},[3455,7877,5243],{"class":3631},[3455,7879,7880],{"class":5248}," qParam ",[3455,7882,5331],{"class":3499},[3455,7884,5488],{"class":3499},[3455,7886,3632],{"class":5446},[3455,7888,4029],{"class":3499},[3455,7890,7891],{"class":5446}," paramSchema",[3455,7893,4029],{"class":3499},[3455,7895,7896],{"class":5446}," description",[3455,7898,5276],{"class":3499},[3455,7900,5738],{"class":3631},[3455,7902,5488],{"class":5248},[3455,7904,5538],{"class":3499},[3455,7906,5354],{"class":5248},[3455,7908,4029],{"class":3499},[3455,7910,7911],{"class":4001}," in",[3455,7913,3638],{"class":3499},[3455,7915,5345],{"class":3499},[3455,7917,7918],{"class":3465},"query",[3455,7920,5224],{"class":3499},[3455,7922,4029],{"class":3499},[3455,7924,7925],{"class":4001}," required",[3455,7927,3638],{"class":3499},[3455,7929,7930],{"class":5418}," false",[3455,7932,4029],{"class":3499},[3455,7934,7935],{"class":4001}," schema",[3455,7937,3638],{"class":3499},[3455,7939,7891],{"class":5248},[3455,7941,4029],{"class":3499},[3455,7943,7944],{"class":5248}," description ",[3455,7946,5257],{"class":3499},[3455,7948,5276],{"class":5248},[3455,7950,5232],{"class":3499},[3455,7952,7953,7955,7958,7960],{"class":3457,"line":6149},[3455,7954,5243],{"class":3631},[3455,7956,7957],{"class":5248}," PAGINATION_PARAMS ",[3455,7959,5331],{"class":3499},[3455,7961,4582],{"class":5248},[3455,7963,7964,7967,7969,7971,7973,7975,7977,7979,7981,7983,7985,7987,7989,7991,7994,7996,7998,8000,8003,8005,8008,8010,8012,8015,8017,8019],{"class":3457,"line":6155},[3455,7965,7966],{"class":3484},"  qParam",[3455,7968,5266],{"class":5248},[3455,7970,5224],{"class":3499},[3455,7972,6652],{"class":3465},[3455,7974,5224],{"class":3499},[3455,7976,4029],{"class":3499},[3455,7978,3787],{"class":3499},[3455,7980,5389],{"class":4001},[3455,7982,3638],{"class":3499},[3455,7984,5345],{"class":3499},[3455,7986,4299],{"class":3465},[3455,7988,5224],{"class":3499},[3455,7990,4029],{"class":3499},[3455,7992,7993],{"class":4001}," minimum",[3455,7995,3638],{"class":3499},[3455,7997,5565],{"class":3986},[3455,7999,4029],{"class":3499},[3455,8001,8002],{"class":4001}," maximum",[3455,8004,3638],{"class":3499},[3455,8006,8007],{"class":3986}," 200",[3455,8009,5386],{"class":3499},[3455,8011,5345],{"class":3499},[3455,8013,8014],{"class":3465},"Page size (default 50, max 200).",[3455,8016,5224],{"class":3499},[3455,8018,5276],{"class":5248},[3455,8020,3649],{"class":3499},[3455,8022,8023,8025,8027,8029,8031,8033,8035,8037,8039,8041,8043,8045,8047,8049,8051,8053,8055,8057,8059,8062,8064,8066],{"class":3457,"line":6184},[3455,8024,7966],{"class":3484},[3455,8026,5266],{"class":5248},[3455,8028,5224],{"class":3499},[3455,8030,6655],{"class":3465},[3455,8032,5224],{"class":3499},[3455,8034,4029],{"class":3499},[3455,8036,3787],{"class":3499},[3455,8038,5389],{"class":4001},[3455,8040,3638],{"class":3499},[3455,8042,5345],{"class":3499},[3455,8044,4299],{"class":3465},[3455,8046,5224],{"class":3499},[3455,8048,4029],{"class":3499},[3455,8050,7993],{"class":4001},[3455,8052,3638],{"class":3499},[3455,8054,5408],{"class":3986},[3455,8056,5386],{"class":3499},[3455,8058,5345],{"class":3499},[3455,8060,8061],{"class":3465},"Row offset for pagination (default 0).",[3455,8063,5224],{"class":3499},[3455,8065,5276],{"class":5248},[3455,8067,3649],{"class":3499},[3455,8069,8070,8072,8074,8076,8078,8080,8082,8084,8086,8088,8090,8092,8094,8096,8098,8101,8103,8105],{"class":3457,"line":6213},[3455,8071,7966],{"class":3484},[3455,8073,5266],{"class":5248},[3455,8075,5224],{"class":3499},[3455,8077,6658],{"class":3465},[3455,8079,5224],{"class":3499},[3455,8081,4029],{"class":3499},[3455,8083,3787],{"class":3499},[3455,8085,5389],{"class":4001},[3455,8087,3638],{"class":3499},[3455,8089,5345],{"class":3499},[3455,8091,7292],{"class":3465},[3455,8093,5224],{"class":3499},[3455,8095,5386],{"class":3499},[3455,8097,3641],{"class":3499},[3455,8099,8100],{"class":3465},"Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.",[3455,8102,3635],{"class":3499},[3455,8104,5276],{"class":5248},[3455,8106,3649],{"class":3499},[3455,8108,8109,8111],{"class":3457,"line":6242},[3455,8110,4654],{"class":5248},[3455,8112,5232],{"class":3499},[3455,8114,8115],{"class":3457,"line":6279},[3455,8116,5238],{"emptyLinePlaceholder":5237},[3455,8118,8119,8121,8124,8126],{"class":3457,"line":6319},[3455,8120,5243],{"class":3631},[3455,8122,8123],{"class":5248}," LOCATION_INPUT ",[3455,8125,5331],{"class":3499},[3455,8127,3725],{"class":3499},[3455,8129,8130,8132,8134,8136,8139,8141],{"class":3457,"line":6360},[3455,8131,7520],{"class":4001},[3455,8133,3638],{"class":3499},[3455,8135,5345],{"class":3499},[3455,8137,8138],{"class":3465},"LocationInput",[3455,8140,5224],{"class":3499},[3455,8142,3649],{"class":3499},[3455,8144,8145,8147,8149,8151,8153,8155],{"class":3457,"line":6365},[3455,8146,7536],{"class":4001},[3455,8148,3638],{"class":3499},[3455,8150,5345],{"class":3499},[3455,8152,7447],{"class":3465},[3455,8154,5224],{"class":3499},[3455,8156,3649],{"class":3499},[3455,8158,8159,8162,8164,8166,8168,8170,8172,8174,8176,8178,8180,8182],{"class":3457,"line":6398},[3455,8160,8161],{"class":4001},"  required",[3455,8163,3638],{"class":3499},[3455,8165,4598],{"class":5248},[3455,8167,5224],{"class":3499},[3455,8169,3396],{"class":3465},[3455,8171,5224],{"class":3499},[3455,8173,4029],{"class":3499},[3455,8175,5345],{"class":3499},[3455,8177,3632],{"class":3465},[3455,8179,5224],{"class":3499},[3455,8181,4654],{"class":5248},[3455,8183,3649],{"class":3499},[3455,8185,8186,8188,8190],{"class":3457,"line":6403},[3455,8187,7551],{"class":4001},[3455,8189,3638],{"class":3499},[3455,8191,3725],{"class":3499},[3455,8193,8194,8197,8199,8201,8203,8205,8207,8209,8211,8213,8216,8218,8220],{"class":3457,"line":6408},[3455,8195,8196],{"class":4001},"    code",[3455,8198,3638],{"class":3499},[3455,8200,3787],{"class":3499},[3455,8202,5389],{"class":4001},[3455,8204,3638],{"class":3499},[3455,8206,5345],{"class":3499},[3455,8208,7292],{"class":3465},[3455,8210,5224],{"class":3499},[3455,8212,4029],{"class":3499},[3455,8214,8215],{"class":4001}," minLength",[3455,8217,3638],{"class":3499},[3455,8219,5565],{"class":3986},[3455,8221,3806],{"class":3499},[3455,8223,8224,8226,8228,8230,8232,8234,8236,8238,8240,8242,8244,8246,8248],{"class":3457,"line":6414},[3455,8225,5714],{"class":4001},[3455,8227,3638],{"class":3499},[3455,8229,3787],{"class":3499},[3455,8231,5389],{"class":4001},[3455,8233,3638],{"class":3499},[3455,8235,5345],{"class":3499},[3455,8237,7292],{"class":3465},[3455,8239,5224],{"class":3499},[3455,8241,4029],{"class":3499},[3455,8243,8215],{"class":4001},[3455,8245,3638],{"class":3499},[3455,8247,5565],{"class":3986},[3455,8249,3806],{"class":3499},[3455,8251,8252,8255,8257,8259,8261,8263,8265,8267,8269,8271,8274,8276,8278,8280,8282,8284,8286,8288,8291,8293,8295,8297,8300,8302,8304,8306,8309,8311,8313],{"class":3457,"line":6444},[3455,8253,8254],{"class":4001},"    type",[3455,8256,3638],{"class":3499},[3455,8258,3787],{"class":3499},[3455,8260,5389],{"class":4001},[3455,8262,3638],{"class":3499},[3455,8264,5345],{"class":3499},[3455,8266,7292],{"class":3465},[3455,8268,5224],{"class":3499},[3455,8270,4029],{"class":3499},[3455,8272,8273],{"class":4001}," enum",[3455,8275,3638],{"class":3499},[3455,8277,4598],{"class":5248},[3455,8279,5224],{"class":3499},[3455,8281,5396],{"class":3465},[3455,8283,5224],{"class":3499},[3455,8285,4029],{"class":3499},[3455,8287,5345],{"class":3499},[3455,8289,8290],{"class":3465},"store",[3455,8292,5224],{"class":3499},[3455,8294,4029],{"class":3499},[3455,8296,5345],{"class":3499},[3455,8298,8299],{"class":3465},"dropship",[3455,8301,5224],{"class":3499},[3455,8303,4029],{"class":3499},[3455,8305,5345],{"class":3499},[3455,8307,8308],{"class":3465},"virtual",[3455,8310,5224],{"class":3499},[3455,8312,6044],{"class":5248},[3455,8314,8315],{"class":3499},"},\n",[3455,8317,8318,8321,8323,8325,8327,8329,8331,8333,8335],{"class":3457,"line":6480},[3455,8319,8320],{"class":4001},"    priority",[3455,8322,3638],{"class":3499},[3455,8324,3787],{"class":3499},[3455,8326,5389],{"class":4001},[3455,8328,3638],{"class":3499},[3455,8330,5345],{"class":3499},[3455,8332,4299],{"class":3465},[3455,8334,5224],{"class":3499},[3455,8336,3806],{"class":3499},[3455,8338,8339,8342,8344,8346,8348,8350,8352,8354,8356],{"class":3457,"line":6485},[3455,8340,8341],{"class":4001},"    enabled",[3455,8343,3638],{"class":3499},[3455,8345,3787],{"class":3499},[3455,8347,5389],{"class":4001},[3455,8349,3638],{"class":3499},[3455,8351,5345],{"class":3499},[3455,8353,4357],{"class":3465},[3455,8355,5224],{"class":3499},[3455,8357,3806],{"class":3499},[3455,8359,8360,8363,8365,8367,8369,8371,8373,8375,8377,8379,8381,8383,8385,8387,8389],{"class":3457,"line":6490},[3455,8361,8362],{"class":4001},"    labels",[3455,8364,3638],{"class":3499},[3455,8366,3787],{"class":3499},[3455,8368,5389],{"class":4001},[3455,8370,3638],{"class":3499},[3455,8372,4598],{"class":5248},[3455,8374,5224],{"class":3499},[3455,8376,7447],{"class":3465},[3455,8378,5224],{"class":3499},[3455,8380,4029],{"class":3499},[3455,8382,5345],{"class":3499},[3455,8384,7202],{"class":3465},[3455,8386,5224],{"class":3499},[3455,8388,6044],{"class":5248},[3455,8390,8315],{"class":3499},[3455,8392,8393,8396,8398,8400,8402,8404,8406,8408,8410,8412,8414,8416,8418,8420,8422],{"class":3457,"line":6525},[3455,8394,8395],{"class":4001},"    address",[3455,8397,3638],{"class":3499},[3455,8399,3787],{"class":3499},[3455,8401,5389],{"class":4001},[3455,8403,3638],{"class":3499},[3455,8405,4598],{"class":5248},[3455,8407,5224],{"class":3499},[3455,8409,7447],{"class":3465},[3455,8411,5224],{"class":3499},[3455,8413,4029],{"class":3499},[3455,8415,5345],{"class":3499},[3455,8417,7202],{"class":3465},[3455,8419,5224],{"class":3499},[3455,8421,6044],{"class":5248},[3455,8423,8315],{"class":3499},[3455,8425,8426,8429,8431,8433,8435,8437,8439,8441,8443,8445,8447,8449,8451,8453,8455],{"class":3457,"line":6552},[3455,8427,8428],{"class":4001},"    metadata",[3455,8430,3638],{"class":3499},[3455,8432,3787],{"class":3499},[3455,8434,5389],{"class":4001},[3455,8436,3638],{"class":3499},[3455,8438,4598],{"class":5248},[3455,8440,5224],{"class":3499},[3455,8442,7447],{"class":3465},[3455,8444,5224],{"class":3499},[3455,8446,4029],{"class":3499},[3455,8448,5345],{"class":3499},[3455,8450,7202],{"class":3465},[3455,8452,5224],{"class":3499},[3455,8454,6044],{"class":5248},[3455,8456,8315],{"class":3499},[3455,8458,8459],{"class":3457,"line":6558},[3455,8460,3772],{"class":3499},[3455,8462,8463],{"class":3457,"line":6563},[3455,8464,6555],{"class":3499},[3455,8466,8467,8469,8472,8474,8476,8478,8480,8482,8484,8486,8488,8490,8492,8494,8497,8499,8501,8503,8505,8507,8509,8511,8513,8516,8518,8520,8522,8524,8526,8528,8530,8532,8534],{"class":3457,"line":6578},[3455,8468,5243],{"class":3631},[3455,8470,8471],{"class":5248}," DELETED ",[3455,8473,5331],{"class":3499},[3455,8475,3787],{"class":3499},[3455,8477,5389],{"class":4001},[3455,8479,3638],{"class":3499},[3455,8481,5345],{"class":3499},[3455,8483,7447],{"class":3465},[3455,8485,5224],{"class":3499},[3455,8487,4029],{"class":3499},[3455,8489,7815],{"class":4001},[3455,8491,3638],{"class":3499},[3455,8493,3787],{"class":3499},[3455,8495,8496],{"class":4001}," deleted",[3455,8498,3638],{"class":3499},[3455,8500,3787],{"class":3499},[3455,8502,5389],{"class":4001},[3455,8504,3638],{"class":3499},[3455,8506,5345],{"class":3499},[3455,8508,4357],{"class":3465},[3455,8510,5224],{"class":3499},[3455,8512,5386],{"class":3499},[3455,8514,8515],{"class":4001}," id",[3455,8517,3638],{"class":3499},[3455,8519,3787],{"class":3499},[3455,8521,5389],{"class":4001},[3455,8523,3638],{"class":3499},[3455,8525,5345],{"class":3499},[3455,8527,7292],{"class":3465},[3455,8529,5224],{"class":3499},[3455,8531,5568],{"class":3499},[3455,8533,5568],{"class":3499},[3455,8535,5672],{"class":3499},[3455,8537,8539],{"class":3457,"line":8538},68,[3455,8540,5238],{"emptyLinePlaceholder":5237},[3455,8542,8544,8546,8549,8551,8553,8556,8558,8561,8563,8566,8568,8570,8572,8574,8576,8578,8580,8582,8584,8587,8589,8591,8594,8596,8599,8601,8603,8606,8608,8610,8612,8614,8616,8618,8620,8623,8625,8627],{"class":3457,"line":8543},69,[3455,8545,5243],{"class":3631},[3455,8547,8548],{"class":5248}," def ",[3455,8550,5331],{"class":3499},[3455,8552,5488],{"class":3499},[3455,8554,8555],{"class":5446},"capability",[3455,8557,4029],{"class":3499},[3455,8559,8560],{"class":5446}," summary",[3455,8562,4029],{"class":3499},[3455,8564,8565],{"class":5446}," route",[3455,8567,4029],{"class":3499},[3455,8569,7171],{"class":5446},[3455,8571,5276],{"class":3499},[3455,8573,5738],{"class":3631},[3455,8575,5488],{"class":5248},[3455,8577,5538],{"class":3499},[3455,8579,5389],{"class":4001},[3455,8581,3638],{"class":3499},[3455,8583,5345],{"class":3499},[3455,8585,8586],{"class":3465},"define",[3455,8588,5224],{"class":3499},[3455,8590,4029],{"class":3499},[3455,8592,8593],{"class":5248}," capability",[3455,8595,4029],{"class":3499},[3455,8597,8598],{"class":4001}," version",[3455,8600,3638],{"class":3499},[3455,8602,5345],{"class":3499},[3455,8604,8605],{"class":3465},"1.0.0",[3455,8607,5224],{"class":3499},[3455,8609,4029],{"class":3499},[3455,8611,8560],{"class":5248},[3455,8613,4029],{"class":3499},[3455,8615,8565],{"class":5248},[3455,8617,4029],{"class":3499},[3455,8619,6339],{"class":3499},[3455,8621,8622],{"class":5248},"extra ",[3455,8624,5257],{"class":3499},[3455,8626,5276],{"class":5248},[3455,8628,5232],{"class":3499},[3455,8630,8632],{"class":3457,"line":8631},70,[3455,8633,5238],{"emptyLinePlaceholder":5237},[3455,8635,8637,8639,8642,8644],{"class":3457,"line":8636},71,[3455,8638,5243],{"class":3631},[3455,8640,8641],{"class":5248}," capabilities ",[3455,8643,5331],{"class":3499},[3455,8645,4582],{"class":5248},[3455,8647,8649,8652,8654,8656,8659,8661,8663,8665,8668,8670,8672,8674,8677,8679,8681,8683,8685,8687,8689,8691,8693,8695,8697,8699,8701,8704,8706,8709,8711,8714,8716,8719,8722,8724,8726],{"class":3457,"line":8648},72,[3455,8650,8651],{"class":3484},"  def",[3455,8653,5266],{"class":5248},[3455,8655,5224],{"class":3499},[3455,8657,8658],{"class":3465},"locations.list",[3455,8660,5224],{"class":3499},[3455,8662,4029],{"class":3499},[3455,8664,5345],{"class":3499},[3455,8666,8667],{"class":3465},"List stock locations",[3455,8669,5224],{"class":3499},[3455,8671,4029],{"class":3499},[3455,8673,3787],{"class":3499},[3455,8675,8676],{"class":4001}," method",[3455,8678,3638],{"class":3499},[3455,8680,5345],{"class":3499},[3455,8682,6642],{"class":3465},[3455,8684,5224],{"class":3499},[3455,8686,4029],{"class":3499},[3455,8688,6075],{"class":4001},[3455,8690,3638],{"class":3499},[3455,8692,5345],{"class":3499},[3455,8694,5819],{"class":3465},[3455,8696,5224],{"class":3499},[3455,8698,5386],{"class":3499},[3455,8700,3787],{"class":3499},[3455,8702,8703],{"class":4001}," parameters",[3455,8705,3638],{"class":3499},[3455,8707,8708],{"class":5248}," PAGINATION_PARAMS",[3455,8710,4029],{"class":3499},[3455,8712,8713],{"class":4001}," response",[3455,8715,3638],{"class":3499},[3455,8717,8718],{"class":3484}," pageOf",[3455,8720,8721],{"class":5248},"(LOCATION) ",[3455,8723,5257],{"class":3499},[3455,8725,5276],{"class":5248},[3455,8727,3649],{"class":3499},[3455,8729,8731,8733,8735,8737,8740,8742,8744,8746,8749,8751,8753,8755,8757,8759,8761,8763,8765,8767,8769,8771,8773,8775,8777,8779,8781,8783,8785,8787,8789,8791],{"class":3457,"line":8730},73,[3455,8732,8651],{"class":3484},[3455,8734,5266],{"class":5248},[3455,8736,5224],{"class":3499},[3455,8738,8739],{"class":3465},"locations.get",[3455,8741,5224],{"class":3499},[3455,8743,4029],{"class":3499},[3455,8745,5345],{"class":3499},[3455,8747,8748],{"class":3465},"Read one location",[3455,8750,5224],{"class":3499},[3455,8752,4029],{"class":3499},[3455,8754,3787],{"class":3499},[3455,8756,8676],{"class":4001},[3455,8758,3638],{"class":3499},[3455,8760,5345],{"class":3499},[3455,8762,6642],{"class":3465},[3455,8764,5224],{"class":3499},[3455,8766,4029],{"class":3499},[3455,8768,6075],{"class":4001},[3455,8770,3638],{"class":3499},[3455,8772,5345],{"class":3499},[3455,8774,6673],{"class":3465},[3455,8776,5224],{"class":3499},[3455,8778,5386],{"class":3499},[3455,8780,3787],{"class":3499},[3455,8782,8713],{"class":4001},[3455,8784,3638],{"class":3499},[3455,8786,7511],{"class":5248},[3455,8788,5257],{"class":3499},[3455,8790,5276],{"class":5248},[3455,8792,3649],{"class":3499},[3455,8794,8796,8798,8800,8802,8805,8807,8809,8811,8814,8816,8818,8820,8822,8824,8826,8828,8830,8832,8834,8836,8838,8840,8842,8844,8846,8849,8851,8854,8856,8858,8860,8862,8864,8866],{"class":3457,"line":8795},74,[3455,8797,8651],{"class":3484},[3455,8799,5266],{"class":5248},[3455,8801,5224],{"class":3499},[3455,8803,8804],{"class":3465},"locations.create",[3455,8806,5224],{"class":3499},[3455,8808,4029],{"class":3499},[3455,8810,5345],{"class":3499},[3455,8812,8813],{"class":3465},"Create a location",[3455,8815,5224],{"class":3499},[3455,8817,4029],{"class":3499},[3455,8819,3787],{"class":3499},[3455,8821,8676],{"class":4001},[3455,8823,3638],{"class":3499},[3455,8825,5345],{"class":3499},[3455,8827,6683],{"class":3465},[3455,8829,5224],{"class":3499},[3455,8831,4029],{"class":3499},[3455,8833,6075],{"class":4001},[3455,8835,3638],{"class":3499},[3455,8837,5345],{"class":3499},[3455,8839,5819],{"class":3465},[3455,8841,5224],{"class":3499},[3455,8843,5386],{"class":3499},[3455,8845,3787],{"class":3499},[3455,8847,8848],{"class":4001}," request",[3455,8850,3638],{"class":3499},[3455,8852,8853],{"class":5248}," LOCATION_INPUT",[3455,8855,4029],{"class":3499},[3455,8857,8713],{"class":4001},[3455,8859,3638],{"class":3499},[3455,8861,7511],{"class":5248},[3455,8863,5257],{"class":3499},[3455,8865,5276],{"class":5248},[3455,8867,3649],{"class":3499},[3455,8869,8871,8873,8875,8877,8880,8882,8884,8886,8889,8891,8893,8895,8897,8899,8901,8903,8905,8907,8909,8911,8913,8915,8917,8919,8921,8923,8925,8927,8929,8931,8933,8935,8937,8939],{"class":3457,"line":8870},75,[3455,8872,8651],{"class":3484},[3455,8874,5266],{"class":5248},[3455,8876,5224],{"class":3499},[3455,8878,8879],{"class":3465},"locations.update",[3455,8881,5224],{"class":3499},[3455,8883,4029],{"class":3499},[3455,8885,5345],{"class":3499},[3455,8887,8888],{"class":3465},"Update a location",[3455,8890,5224],{"class":3499},[3455,8892,4029],{"class":3499},[3455,8894,3787],{"class":3499},[3455,8896,8676],{"class":4001},[3455,8898,3638],{"class":3499},[3455,8900,5345],{"class":3499},[3455,8902,6696],{"class":3465},[3455,8904,5224],{"class":3499},[3455,8906,4029],{"class":3499},[3455,8908,6075],{"class":4001},[3455,8910,3638],{"class":3499},[3455,8912,5345],{"class":3499},[3455,8914,6673],{"class":3465},[3455,8916,5224],{"class":3499},[3455,8918,5386],{"class":3499},[3455,8920,3787],{"class":3499},[3455,8922,8848],{"class":4001},[3455,8924,3638],{"class":3499},[3455,8926,8853],{"class":5248},[3455,8928,4029],{"class":3499},[3455,8930,8713],{"class":4001},[3455,8932,3638],{"class":3499},[3455,8934,7511],{"class":5248},[3455,8936,5257],{"class":3499},[3455,8938,5276],{"class":5248},[3455,8940,3649],{"class":3499},[3455,8942,8944,8946,8948,8950,8953,8955,8957,8959,8962,8964,8966,8968,8970,8972,8974,8976,8978,8980,8982,8984,8986,8988,8990,8992,8994,8996,8998,9000,9002,9004],{"class":3457,"line":8943},76,[3455,8945,8651],{"class":3484},[3455,8947,5266],{"class":5248},[3455,8949,5224],{"class":3499},[3455,8951,8952],{"class":3465},"locations.delete",[3455,8954,5224],{"class":3499},[3455,8956,4029],{"class":3499},[3455,8958,5345],{"class":3499},[3455,8960,8961],{"class":3465},"Delete a location",[3455,8963,5224],{"class":3499},[3455,8965,4029],{"class":3499},[3455,8967,3787],{"class":3499},[3455,8969,8676],{"class":4001},[3455,8971,3638],{"class":3499},[3455,8973,5345],{"class":3499},[3455,8975,6709],{"class":3465},[3455,8977,5224],{"class":3499},[3455,8979,4029],{"class":3499},[3455,8981,6075],{"class":4001},[3455,8983,3638],{"class":3499},[3455,8985,5345],{"class":3499},[3455,8987,6673],{"class":3465},[3455,8989,5224],{"class":3499},[3455,8991,5386],{"class":3499},[3455,8993,3787],{"class":3499},[3455,8995,8713],{"class":4001},[3455,8997,3638],{"class":3499},[3455,8999,8471],{"class":5248},[3455,9001,5257],{"class":3499},[3455,9003,5276],{"class":5248},[3455,9005,3649],{"class":3499},[3455,9007,9009,9011,9013,9015,9018,9020,9022,9024,9027,9029,9031,9033,9035,9037,9039,9041,9043,9045,9047,9049,9051,9053,9055,9057],{"class":3457,"line":9008},77,[3455,9010,8651],{"class":3484},[3455,9012,5266],{"class":5248},[3455,9014,5224],{"class":3499},[3455,9016,9017],{"class":3465},"locations.defaults",[3455,9019,5224],{"class":3499},[3455,9021,4029],{"class":3499},[3455,9023,5345],{"class":3499},[3455,9025,9026],{"class":3465},"Seed the main warehouse — idempotent",[3455,9028,5224],{"class":3499},[3455,9030,4029],{"class":3499},[3455,9032,3787],{"class":3499},[3455,9034,8676],{"class":4001},[3455,9036,3638],{"class":3499},[3455,9038,5345],{"class":3499},[3455,9040,6683],{"class":3465},[3455,9042,5224],{"class":3499},[3455,9044,4029],{"class":3499},[3455,9046,6075],{"class":4001},[3455,9048,3638],{"class":3499},[3455,9050,5345],{"class":3499},[3455,9052,5888],{"class":3465},[3455,9054,5224],{"class":3499},[3455,9056,5386],{"class":3499},[3455,9058,3725],{"class":3499},[3455,9060,9062,9065,9067,9069,9071,9073,9075,9077,9079,9081,9083,9085,9087,9089,9091,9093,9095,9097,9099,9101,9103,9105,9107,9109,9111,9113,9115,9117,9119,9121,9123,9125,9127,9129,9131,9133,9135,9137,9139,9141,9143,9145,9147,9149,9151,9153,9155,9157,9159,9161,9163,9165],{"class":3457,"line":9061},78,[3455,9063,9064],{"class":4001},"    response",[3455,9066,3638],{"class":3499},[3455,9068,3787],{"class":3499},[3455,9070,5389],{"class":4001},[3455,9072,3638],{"class":3499},[3455,9074,5345],{"class":3499},[3455,9076,7447],{"class":3465},[3455,9078,5224],{"class":3499},[3455,9080,4029],{"class":3499},[3455,9082,7815],{"class":4001},[3455,9084,3638],{"class":3499},[3455,9086,3787],{"class":3499},[3455,9088,5459],{"class":4001},[3455,9090,3638],{"class":3499},[3455,9092,3787],{"class":3499},[3455,9094,5389],{"class":4001},[3455,9096,3638],{"class":3499},[3455,9098,5345],{"class":3499},[3455,9100,7835],{"class":3465},[3455,9102,5224],{"class":3499},[3455,9104,4029],{"class":3499},[3455,9106,7822],{"class":4001},[3455,9108,3638],{"class":3499},[3455,9110,3787],{"class":3499},[3455,9112,5389],{"class":4001},[3455,9114,3638],{"class":3499},[3455,9116,5345],{"class":3499},[3455,9118,7292],{"class":3465},[3455,9120,5224],{"class":3499},[3455,9122,5568],{"class":3499},[3455,9124,5386],{"class":3499},[3455,9126,5473],{"class":4001},[3455,9128,3638],{"class":3499},[3455,9130,3787],{"class":3499},[3455,9132,5389],{"class":4001},[3455,9134,3638],{"class":3499},[3455,9136,5345],{"class":3499},[3455,9138,7835],{"class":3465},[3455,9140,5224],{"class":3499},[3455,9142,4029],{"class":3499},[3455,9144,7822],{"class":4001},[3455,9146,3638],{"class":3499},[3455,9148,3787],{"class":3499},[3455,9150,5389],{"class":4001},[3455,9152,3638],{"class":3499},[3455,9154,5345],{"class":3499},[3455,9156,7292],{"class":3465},[3455,9158,5224],{"class":3499},[3455,9160,5568],{"class":3499},[3455,9162,5568],{"class":3499},[3455,9164,5568],{"class":3499},[3455,9166,3806],{"class":3499},[3455,9168,9170,9172,9174],{"class":3457,"line":9169},79,[3455,9171,5774],{"class":3499},[3455,9173,5276],{"class":5248},[3455,9175,3649],{"class":3499},[3455,9177,9179,9181],{"class":3457,"line":9178},80,[3455,9180,4654],{"class":5248},[3455,9182,5232],{"class":3499},[3455,9184,9186],{"class":3457,"line":9185},81,[3455,9187,5238],{"emptyLinePlaceholder":5237},[3455,9189,9191,9194,9196,9199,9202,9204,9207,9210,9212,9215,9218,9220,9223,9226,9228,9230,9233,9236,9238],{"class":3457,"line":9190},82,[3455,9192,9193],{"class":5248},"fs",[3455,9195,3399],{"class":3499},[3455,9197,9198],{"class":3484},"writeFileSync",[3455,9200,9201],{"class":5248},"(capabilitiesPath",[3455,9203,4029],{"class":3499},[3455,9205,9206],{"class":3499}," `${",[3455,9208,9209],{"class":5248},"JSON",[3455,9211,3399],{"class":3499},[3455,9213,9214],{"class":3484},"stringify",[3455,9216,9217],{"class":5248},"(capabilities",[3455,9219,4029],{"class":3499},[3455,9221,9222],{"class":3499}," null,",[3455,9224,9225],{"class":3986}," 2",[3455,9227,5276],{"class":5248},[3455,9229,5257],{"class":3499},[3455,9231,9232],{"class":5248},"\\n",[3455,9234,9235],{"class":3499},"`",[3455,9237,5276],{"class":5248},[3455,9239,5232],{"class":3499},[3455,9241,9243,9245,9248,9250,9252],{"class":3457,"line":9242},83,[3455,9244,4960],{"class":3499},[3455,9246,9247],{"class":5248}," manifest",[3455,9249,3399],{"class":3499},[3455,9251,3754],{"class":5248},[3455,9253,5232],{"class":3499},[3455,9255,9257,9259,9261,9263,9265,9267,9269,9271,9273,9275,9278,9280,9282,9284,9286,9288,9290,9292,9294],{"class":3457,"line":9256},84,[3455,9258,9193],{"class":5248},[3455,9260,3399],{"class":3499},[3455,9262,9198],{"class":3484},[3455,9264,7086],{"class":5248},[3455,9266,4029],{"class":3499},[3455,9268,9206],{"class":3499},[3455,9270,9209],{"class":5248},[3455,9272,3399],{"class":3499},[3455,9274,9214],{"class":3484},[3455,9276,9277],{"class":5248},"(manifest",[3455,9279,4029],{"class":3499},[3455,9281,9222],{"class":3499},[3455,9283,9225],{"class":3986},[3455,9285,5276],{"class":5248},[3455,9287,5257],{"class":3499},[3455,9289,9232],{"class":5248},[3455,9291,9235],{"class":3499},[3455,9293,5276],{"class":5248},[3455,9295,5232],{"class":3499},[3455,9297,9299,9302,9304,9307,9309,9311,9314,9317,9319,9321,9324,9326,9329,9331,9333],{"class":3457,"line":9298},85,[3455,9300,9301],{"class":5248},"console",[3455,9303,3399],{"class":3499},[3455,9305,9306],{"class":3484},"log",[3455,9308,5266],{"class":5248},[3455,9310,9235],{"class":3499},[3455,9312,9313],{"class":3465},"wrote ",[3455,9315,9316],{"class":3499},"${",[3455,9318,3754],{"class":5248},[3455,9320,3399],{"class":3499},[3455,9322,9323],{"class":5248},"length",[3455,9325,5257],{"class":3499},[3455,9327,9328],{"class":3465}," capabilities",[3455,9330,9235],{"class":3499},[3455,9332,5276],{"class":5248},[3455,9334,5232],{"class":3499},[3382,9336,9337],{},"Run it whenever you change the schema or the routes:",[3445,9339,9342],{"className":3447,"code":9340,"filename":9341,"language":3450,"meta":3451,"style":3451},"node scripts\u002Fcapabilities.js\n","Regenerate capabilities",[3396,9343,9344],{"__ignoreMap":3451},[3455,9345,9346,9348],{"class":3457,"line":3458},[3455,9347,3792],{"class":3461},[3455,9349,9350],{"class":3465}," scripts\u002Fcapabilities.js\n",[3382,9352,9353,9354,9357,9358,9360,9361,6099,9363,6099,9365,6099,9367,3399],{},"A capability ",[3396,9355,9356],{},"summary"," is short — keep it under 255 characters. Longer prose goes in a ",[3396,9359,3676],{}," field. Declare pagination params only on paged lists, never on ",[3396,9362,6803],{},[3396,9364,4942],{},[3396,9366,4951],{},[3396,9368,4960],{},[3430,9370,9372],{"id":9371},"_6-test-it-locally","6. Test it locally",[3382,9374,9375,9376,9379],{},"You test the real handler against an in-memory data store, so the data client behaves exactly as it will in production. Copy the harness below: it stands up a fake data backend keyed by table through ",[3396,9377,9378],{},"globalThis.fetch",", builds a tenant-identity token, and calls the exported handler.",[3445,9381,9384],{"className":5215,"code":9382,"filename":9383,"language":5217,"meta":3451,"style":3451},"'use strict';\n\nconst { test, beforeEach, afterEach } = require('node:test');\nconst assert = require('node:assert\u002Fstrict');\nconst crypto = require('node:crypto');\n\nconst handler = require('..\u002Fsrc\u002Fmain');\n\nlet tables = {};\n\n\u002F\u002F Minimal in-memory backend keyed by table, wired in via global fetch.\nfunction fakeBackend(url, opts) {\n  const u = new URL(url);\n  const table = u.pathname.split('\u002F').filter(Boolean).pop();\n  tables[table] ??= [];\n  const store = tables[table];\n  const method = opts.method || 'GET';\n  const body = opts.body ? JSON.parse(opts.body) : null;\n  const idEq = (u.searchParams.get('id') || '').replace(\u002F^eq\\.\u002F, '');\n  const ok = (rows, total) => ({\n    ok: true, status: 200,\n    headers: { get: (h) => (h.toLowerCase() === 'content-range' && total != null ? `0-${Math.max(rows.length - 1, 0)}\u002F${total}` : null) },\n    text: async () => JSON.stringify(rows),\n  });\n\n  if (method === 'GET') {\n    let rows = store.slice();\n    for (const [k, v] of u.searchParams) {\n      if (['select', 'order', 'limit', 'offset'].includes(k)) continue;\n      if (v.startsWith('eq.')) rows = rows.filter((r) => String(r[k]) === v.slice(3));\n    }\n    return ok(rows, rows.length);\n  }\n  if (method === 'POST') {\n    const row = { id: crypto.randomUUID(), created_at: new Date().toISOString(), tenant_id: 'acme', ...body };\n    store.push(row);\n    return ok([row]);\n  }\n  if (method === 'PATCH') {\n    const i = store.findIndex((r) => r.id === idEq);\n    store[i] = { ...store[i], ...body };\n    return ok([store[i]]);\n  }\n  if (method === 'DELETE') {\n    tables[table] = store.filter((r) => r.id !== idEq);\n    return { ok: true, status: 204, headers: { get: () => null }, text: async () => '' };\n  }\n  return { ok: false, status: 500, headers: { get: () => null }, text: async () => 'unhandled' };\n}\n\nfunction jwt(claims) {\n  const b = (o) => Buffer.from(JSON.stringify(o)).toString('base64url');\n  return `${b({ alg: 'RS256' })}.${b(claims)}.sig`;\n}\n\nfunction call(method, path, { body = null, headers = {} } = {}) {\n  let captured;\n  const ctx = {\n    req: {\n      method, path, body,\n      headers: { 'x-revenexx-context': jwt({ sub: 'svc', tenant_id: 'acme' }), 'x-revenexx-tenant': 'acme', ...headers },\n    },\n    res: { json: (b, code = 200) => { captured = { body: b, code }; return captured; } },\n    log: () => {}, error: () => {},\n  };\n  return handler(ctx).then(() => captured);\n}\n\nbeforeEach(() => {\n  tables = {};\n  globalThis.fetch = fakeBackend;\n  process.env.REVENEXX_DATA_ENDPOINT = 'https:\u002F\u002Fapi.revenexx.com\u002F';\n});\nafterEach(() => { delete process.env.REVENEXX_DATA_ENDPOINT; });\n\ntest('health lists entities; defaults seed once', async () => {\n  const health = await call('GET', '\u002F', { headers: { 'x-revenexx-context': '' } });\n  assert.deepEqual(health.body.entities, ['locations']);\n\n  assert.deepEqual((await call('POST', '\u002Flocations\u002Fdefaults')).body.created, ['main']);\n  assert.deepEqual((await call('POST', '\u002Flocations\u002Fdefaults')).body.created, []); \u002F\u002F idempotent\n});\n\ntest('create then read back a location', async () => {\n  const created = await call('POST', '\u002Flocations', { body: { code: 'berlin', name: 'Berlin store', type: 'store' } });\n  assert.equal(created.code, 201);\n\n  const read = await call('GET', `\u002Flocations\u002F${created.body.id}`);\n  assert.equal(read.body.code, 'berlin');\n});\n\ntest('install event seeds the main warehouse', async () => {\n  const r = await call('POST', '\u002F', { headers: { 'x-revenexx-trigger': 'event', 'x-revenexx-event': 'apps.locations.installed' } });\n  assert.deepEqual(r.body.created, ['main']);\n});\n","test\u002Flocations.test.js",[3396,9385,9386,9396,9400,9438,9462,9486,9490,9514,9518,9530,9534,9539,9559,9582,9635,9653,9673,9698,9738,9802,9828,9848,9961,9988,9996,10000,10020,10041,10074,10131,10208,10212,10234,10238,10258,10325,10343,10357,10361,10382,10423,10456,10475,10479,10499,10542,10598,10602,10662,10666,10670,10685,10743,10792,10796,10800,10840,10850,10861,10870,10885,10961,10966,11027,11052,11057,11088,11092,11096,11109,11117,11133,11159,11167,11202,11206,11229,11286,11323,11327,11383,11433,11441,11445,11468,11550,11577,11582,11629,11662,11671,11676,11700,11778,11813],{"__ignoreMap":3451},[3455,9387,9388,9390,9392,9394],{"class":3457,"line":3458},[3455,9389,5224],{"class":3499},[3455,9391,5227],{"class":3465},[3455,9393,5224],{"class":3499},[3455,9395,5232],{"class":3499},[3455,9397,9398],{"class":3457,"line":3481},[3455,9399,5238],{"emptyLinePlaceholder":5237},[3455,9401,9402,9404,9406,9409,9411,9414,9416,9419,9421,9423,9425,9427,9429,9432,9434,9436],{"class":3457,"line":3490},[3455,9403,5243],{"class":3631},[3455,9405,3787],{"class":3499},[3455,9407,9408],{"class":5248}," test",[3455,9410,4029],{"class":3499},[3455,9412,9413],{"class":5248}," beforeEach",[3455,9415,4029],{"class":3499},[3455,9417,9418],{"class":5248}," afterEach ",[3455,9420,5257],{"class":3499},[3455,9422,5260],{"class":3499},[3455,9424,5263],{"class":3484},[3455,9426,5266],{"class":5248},[3455,9428,5224],{"class":3499},[3455,9430,9431],{"class":3465},"node:test",[3455,9433,5224],{"class":3499},[3455,9435,5276],{"class":5248},[3455,9437,5232],{"class":3499},[3455,9439,9440,9442,9445,9447,9449,9451,9453,9456,9458,9460],{"class":3457,"line":3509},[3455,9441,5243],{"class":3631},[3455,9443,9444],{"class":5248}," assert ",[3455,9446,5331],{"class":3499},[3455,9448,5263],{"class":3484},[3455,9450,5266],{"class":5248},[3455,9452,5224],{"class":3499},[3455,9454,9455],{"class":3465},"node:assert\u002Fstrict",[3455,9457,5224],{"class":3499},[3455,9459,5276],{"class":5248},[3455,9461,5232],{"class":3499},[3455,9463,9464,9466,9469,9471,9473,9475,9477,9480,9482,9484],{"class":3457,"line":3692},[3455,9465,5243],{"class":3631},[3455,9467,9468],{"class":5248}," crypto ",[3455,9470,5331],{"class":3499},[3455,9472,5263],{"class":3484},[3455,9474,5266],{"class":5248},[3455,9476,5224],{"class":3499},[3455,9478,9479],{"class":3465},"node:crypto",[3455,9481,5224],{"class":3499},[3455,9483,5276],{"class":5248},[3455,9485,5232],{"class":3499},[3455,9487,9488],{"class":3457,"line":3713},[3455,9489,5238],{"emptyLinePlaceholder":5237},[3455,9491,9492,9494,9497,9499,9501,9503,9505,9508,9510,9512],{"class":3457,"line":3728},[3455,9493,5243],{"class":3631},[3455,9495,9496],{"class":5248}," handler ",[3455,9498,5331],{"class":3499},[3455,9500,5263],{"class":3484},[3455,9502,5266],{"class":5248},[3455,9504,5224],{"class":3499},[3455,9506,9507],{"class":3465},"..\u002Fsrc\u002Fmain",[3455,9509,5224],{"class":3499},[3455,9511,5276],{"class":5248},[3455,9513,5232],{"class":3499},[3455,9515,9516],{"class":3457,"line":3749},[3455,9517,5238],{"emptyLinePlaceholder":5237},[3455,9519,9520,9523,9526,9528],{"class":3457,"line":3769},[3455,9521,9522],{"class":3631},"let",[3455,9524,9525],{"class":5248}," tables ",[3455,9527,5331],{"class":3499},[3455,9529,6019],{"class":3499},[3455,9531,9532],{"class":3457,"line":3775},[3455,9533,5238],{"emptyLinePlaceholder":5237},[3455,9535,9536],{"class":3457,"line":3809},[3455,9537,9538],{"class":5320},"\u002F\u002F Minimal in-memory backend keyed by table, wired in via global fetch.\n",[3455,9540,9541,9543,9546,9548,9550,9552,9555,9557],{"class":3457,"line":3841},[3455,9542,4718],{"class":3631},[3455,9544,9545],{"class":3484}," fakeBackend",[3455,9547,5266],{"class":3499},[3455,9549,5117],{"class":5446},[3455,9551,4029],{"class":3499},[3455,9553,9554],{"class":5446}," opts",[3455,9556,5276],{"class":3499},[3455,9558,3725],{"class":3499},[3455,9560,9561,9563,9566,9568,9571,9574,9576,9578,9580],{"class":3457,"line":3862},[3455,9562,5456],{"class":3631},[3455,9564,9565],{"class":5248}," u",[3455,9567,5260],{"class":3499},[3455,9569,9570],{"class":3499}," new",[3455,9572,9573],{"class":3484}," URL",[3455,9575,5266],{"class":4001},[3455,9577,5117],{"class":5248},[3455,9579,5276],{"class":4001},[3455,9581,5232],{"class":3499},[3455,9583,9584,9586,9589,9591,9593,9595,9598,9600,9603,9605,9607,9609,9611,9613,9615,9618,9620,9623,9625,9627,9630,9633],{"class":3457,"line":3877},[3455,9585,5456],{"class":3631},[3455,9587,9588],{"class":5248}," table",[3455,9590,5260],{"class":3499},[3455,9592,9565],{"class":5248},[3455,9594,3399],{"class":3499},[3455,9596,9597],{"class":5248},"pathname",[3455,9599,3399],{"class":3499},[3455,9601,9602],{"class":3484},"split",[3455,9604,5266],{"class":4001},[3455,9606,5224],{"class":3499},[3455,9608,6099],{"class":3465},[3455,9610,5224],{"class":3499},[3455,9612,5276],{"class":4001},[3455,9614,3399],{"class":3499},[3455,9616,9617],{"class":3484},"filter",[3455,9619,5266],{"class":4001},[3455,9621,9622],{"class":5248},"Boolean",[3455,9624,5276],{"class":4001},[3455,9626,3399],{"class":3499},[3455,9628,9629],{"class":3484},"pop",[3455,9631,9632],{"class":4001},"()",[3455,9634,5232],{"class":3499},[3455,9636,9637,9640,9642,9644,9646,9649,9651],{"class":3457,"line":4449},[3455,9638,9639],{"class":5248},"  tables",[3455,9641,6034],{"class":4001},[3455,9643,6614],{"class":5248},[3455,9645,6044],{"class":4001},[3455,9647,9648],{"class":3499},"??=",[3455,9650,5464],{"class":4001},[3455,9652,5232],{"class":3499},[3455,9654,9655,9657,9660,9662,9665,9667,9669,9671],{"class":3457,"line":4507},[3455,9656,5456],{"class":3631},[3455,9658,9659],{"class":5248}," store",[3455,9661,5260],{"class":3499},[3455,9663,9664],{"class":5248}," tables",[3455,9666,6034],{"class":4001},[3455,9668,6614],{"class":5248},[3455,9670,4654],{"class":4001},[3455,9672,5232],{"class":3499},[3455,9674,9675,9677,9679,9681,9683,9685,9688,9690,9692,9694,9696],{"class":3457,"line":4564},[3455,9676,5456],{"class":3631},[3455,9678,8676],{"class":5248},[3455,9680,5260],{"class":3499},[3455,9682,9554],{"class":5248},[3455,9684,3399],{"class":3499},[3455,9686,9687],{"class":5248},"method",[3455,9689,6016],{"class":3499},[3455,9691,5345],{"class":3499},[3455,9693,6642],{"class":3465},[3455,9695,5224],{"class":3499},[3455,9697,5232],{"class":3499},[3455,9699,9700,9702,9705,9707,9709,9711,9714,9716,9718,9720,9722,9724,9727,9729,9731,9733,9735],{"class":3457,"line":4570},[3455,9701,5456],{"class":3631},[3455,9703,9704],{"class":5248}," body",[3455,9706,5260],{"class":3499},[3455,9708,9554],{"class":5248},[3455,9710,3399],{"class":3499},[3455,9712,9713],{"class":5248},"body",[3455,9715,7191],{"class":3499},[3455,9717,6957],{"class":5248},[3455,9719,3399],{"class":3499},[3455,9721,6962],{"class":3484},[3455,9723,5266],{"class":4001},[3455,9725,9726],{"class":5248},"opts",[3455,9728,3399],{"class":3499},[3455,9730,9713],{"class":5248},[3455,9732,5502],{"class":4001},[3455,9734,3638],{"class":3499},[3455,9736,9737],{"class":3499}," null;\n",[3455,9739,9740,9742,9745,9747,9749,9752,9754,9757,9759,9761,9763,9765,9767,9769,9771,9773,9775,9777,9779,9781,9783,9785,9787,9790,9792,9794,9796,9798,9800],{"class":3457,"line":4585},[3455,9741,5456],{"class":3631},[3455,9743,9744],{"class":5248}," idEq",[3455,9746,5260],{"class":3499},[3455,9748,5488],{"class":4001},[3455,9750,9751],{"class":5248},"u",[3455,9753,3399],{"class":3499},[3455,9755,9756],{"class":5248},"searchParams",[3455,9758,3399],{"class":3499},[3455,9760,6803],{"class":3484},[3455,9762,5266],{"class":4001},[3455,9764,5224],{"class":3499},[3455,9766,4002],{"class":3465},[3455,9768,5224],{"class":3499},[3455,9770,5502],{"class":4001},[3455,9772,6133],{"class":3499},[3455,9774,6065],{"class":3499},[3455,9776,5276],{"class":4001},[3455,9778,3399],{"class":3499},[3455,9780,6108],{"class":3484},[3455,9782,5266],{"class":4001},[3455,9784,6099],{"class":3499},[3455,9786,6289],{"class":5484},[3455,9788,9789],{"class":3465},"eq",[3455,9791,6295],{"class":5248},[3455,9793,6099],{"class":3499},[3455,9795,4029],{"class":3499},[3455,9797,6065],{"class":3499},[3455,9799,5276],{"class":4001},[3455,9801,5232],{"class":3499},[3455,9803,9804,9806,9809,9811,9813,9816,9818,9820,9822,9824,9826],{"class":3457,"line":4633},[3455,9805,5456],{"class":3631},[3455,9807,9808],{"class":5248}," ok",[3455,9810,5260],{"class":3499},[3455,9812,5488],{"class":3499},[3455,9814,9815],{"class":5446},"rows",[3455,9817,4029],{"class":3499},[3455,9819,7714],{"class":5446},[3455,9821,5276],{"class":3499},[3455,9823,5738],{"class":3631},[3455,9825,5488],{"class":4001},[3455,9827,3623],{"class":3499},[3455,9829,9830,9833,9835,9837,9839,9842,9844,9846],{"class":3457,"line":4659},[3455,9831,9832],{"class":4001},"    ok",[3455,9834,3638],{"class":3499},[3455,9836,4628],{"class":5418},[3455,9838,4029],{"class":3499},[3455,9840,9841],{"class":4001}," status",[3455,9843,3638],{"class":3499},[3455,9845,8007],{"class":3986},[3455,9847,3649],{"class":3499},[3455,9849,9850,9853,9855,9857,9860,9862,9864,9867,9869,9871,9873,9875,9877,9880,9883,9886,9888,9891,9893,9895,9897,9900,9903,9905,9908,9911,9913,9916,9918,9921,9924,9926,9929,9932,9934,9936,9938,9940,9942,9944,9946,9949,9952,9955,9957,9959],{"class":3457,"line":4665},[3455,9851,9852],{"class":4001},"    headers",[3455,9854,3638],{"class":3499},[3455,9856,3787],{"class":3499},[3455,9858,9859],{"class":3484}," get",[3455,9861,3638],{"class":3499},[3455,9863,5488],{"class":3499},[3455,9865,9866],{"class":5446},"h",[3455,9868,5276],{"class":3499},[3455,9870,5738],{"class":3631},[3455,9872,5488],{"class":4001},[3455,9874,9866],{"class":5248},[3455,9876,3399],{"class":3499},[3455,9878,9879],{"class":3484},"toLowerCase",[3455,9881,9882],{"class":4001},"() ",[3455,9884,9885],{"class":3499},"===",[3455,9887,5345],{"class":3499},[3455,9889,9890],{"class":3465},"content-range",[3455,9892,5224],{"class":3499},[3455,9894,3500],{"class":3499},[3455,9896,7714],{"class":5248},[3455,9898,9899],{"class":3499}," !=",[3455,9901,9902],{"class":3499}," null",[3455,9904,7191],{"class":3499},[3455,9906,9907],{"class":3499}," `",[3455,9909,9910],{"class":3465},"0-",[3455,9912,9316],{"class":3499},[3455,9914,9915],{"class":5248},"Math",[3455,9917,3399],{"class":3499},[3455,9919,9920],{"class":3484},"max",[3455,9922,9923],{"class":5248},"(rows",[3455,9925,3399],{"class":3499},[3455,9927,9928],{"class":5248},"length ",[3455,9930,9931],{"class":3499},"-",[3455,9933,5565],{"class":3986},[3455,9935,4029],{"class":3499},[3455,9937,5408],{"class":3986},[3455,9939,5276],{"class":5248},[3455,9941,5257],{"class":3499},[3455,9943,6099],{"class":3465},[3455,9945,9316],{"class":3499},[3455,9947,9948],{"class":5248},"total",[3455,9950,9951],{"class":3499},"}`",[3455,9953,9954],{"class":3499}," :",[3455,9956,9902],{"class":3499},[3455,9958,5502],{"class":4001},[3455,9960,8315],{"class":3499},[3455,9962,9963,9966,9968,9970,9972,9974,9976,9978,9980,9982,9984,9986],{"class":3457,"line":4671},[3455,9964,9965],{"class":3484},"    text",[3455,9967,3638],{"class":3499},[3455,9969,5895],{"class":3631},[3455,9971,5735],{"class":3499},[3455,9973,5738],{"class":3631},[3455,9975,6957],{"class":5248},[3455,9977,3399],{"class":3499},[3455,9979,9214],{"class":3484},[3455,9981,5266],{"class":4001},[3455,9983,9815],{"class":5248},[3455,9985,5276],{"class":4001},[3455,9987,3649],{"class":3499},[3455,9989,9990,9992,9994],{"class":3457,"line":4677},[3455,9991,5774],{"class":3499},[3455,9993,5276],{"class":4001},[3455,9995,5232],{"class":3499},[3455,9997,9998],{"class":3457,"line":5727},[3455,9999,5238],{"emptyLinePlaceholder":5237},[3455,10001,10002,10004,10006,10008,10010,10012,10014,10016,10018],{"class":3457,"line":5771},[3455,10003,6216],{"class":5484},[3455,10005,5488],{"class":4001},[3455,10007,9687],{"class":5248},[3455,10009,6224],{"class":3499},[3455,10011,5345],{"class":3499},[3455,10013,6642],{"class":3465},[3455,10015,5224],{"class":3499},[3455,10017,5502],{"class":4001},[3455,10019,3623],{"class":3499},[3455,10021,10022,10025,10028,10030,10032,10034,10037,10039],{"class":3457,"line":5781},[3455,10023,10024],{"class":3631},"    let",[3455,10026,10027],{"class":5248}," rows",[3455,10029,5260],{"class":3499},[3455,10031,9659],{"class":5248},[3455,10033,3399],{"class":3499},[3455,10035,10036],{"class":3484},"slice",[3455,10038,9632],{"class":4001},[3455,10040,5232],{"class":3499},[3455,10042,10043,10046,10048,10050,10052,10055,10057,10060,10062,10064,10066,10068,10070,10072],{"class":3457,"line":5786},[3455,10044,10045],{"class":5484},"    for",[3455,10047,5488],{"class":4001},[3455,10049,5243],{"class":3631},[3455,10051,4598],{"class":3499},[3455,10053,10054],{"class":5248},"k",[3455,10056,4029],{"class":3499},[3455,10058,10059],{"class":5248}," v",[3455,10061,4654],{"class":3499},[3455,10063,5496],{"class":3499},[3455,10065,9565],{"class":5248},[3455,10067,3399],{"class":3499},[3455,10069,9756],{"class":5248},[3455,10071,5502],{"class":4001},[3455,10073,3623],{"class":3499},[3455,10075,10076,10079,10082,10084,10087,10089,10091,10093,10095,10097,10099,10101,10103,10105,10107,10109,10111,10113,10115,10117,10120,10122,10124,10126,10129],{"class":3457,"line":5809},[3455,10077,10078],{"class":5484},"      if",[3455,10080,10081],{"class":4001}," ([",[3455,10083,5224],{"class":3499},[3455,10085,10086],{"class":3465},"select",[3455,10088,5224],{"class":3499},[3455,10090,4029],{"class":3499},[3455,10092,5345],{"class":3499},[3455,10094,6658],{"class":3465},[3455,10096,5224],{"class":3499},[3455,10098,4029],{"class":3499},[3455,10100,5345],{"class":3499},[3455,10102,6652],{"class":3465},[3455,10104,5224],{"class":3499},[3455,10106,4029],{"class":3499},[3455,10108,5345],{"class":3499},[3455,10110,6655],{"class":3465},[3455,10112,5224],{"class":3499},[3455,10114,4654],{"class":4001},[3455,10116,3399],{"class":3499},[3455,10118,10119],{"class":3484},"includes",[3455,10121,5266],{"class":4001},[3455,10123,10054],{"class":5248},[3455,10125,6130],{"class":4001},[3455,10127,10128],{"class":5484},"continue",[3455,10130,5232],{"class":3499},[3455,10132,10133,10135,10137,10140,10142,10145,10147,10149,10152,10154,10156,10158,10160,10162,10164,10166,10168,10170,10173,10175,10177,10180,10182,10184,10186,10188,10191,10193,10195,10197,10199,10201,10204,10206],{"class":3457,"line":5826},[3455,10134,10078],{"class":5484},[3455,10136,5488],{"class":4001},[3455,10138,10139],{"class":5248},"v",[3455,10141,3399],{"class":3499},[3455,10143,10144],{"class":3484},"startsWith",[3455,10146,5266],{"class":4001},[3455,10148,5224],{"class":3499},[3455,10150,10151],{"class":3465},"eq.",[3455,10153,5224],{"class":3499},[3455,10155,6130],{"class":4001},[3455,10157,9815],{"class":5248},[3455,10159,5260],{"class":3499},[3455,10161,10027],{"class":5248},[3455,10163,3399],{"class":3499},[3455,10165,9617],{"class":3484},[3455,10167,5266],{"class":4001},[3455,10169,5266],{"class":3499},[3455,10171,10172],{"class":5446},"r",[3455,10174,5276],{"class":3499},[3455,10176,5738],{"class":3631},[3455,10178,10179],{"class":3484}," String",[3455,10181,5266],{"class":4001},[3455,10183,10172],{"class":5248},[3455,10185,6034],{"class":4001},[3455,10187,10054],{"class":5248},[3455,10189,10190],{"class":4001},"]) ",[3455,10192,9885],{"class":3499},[3455,10194,10059],{"class":5248},[3455,10196,3399],{"class":3499},[3455,10198,10036],{"class":3484},[3455,10200,5266],{"class":4001},[3455,10202,10203],{"class":3986},"3",[3455,10205,7002],{"class":4001},[3455,10207,5232],{"class":3499},[3455,10209,10210],{"class":3457,"line":5847},[3455,10211,4668],{"class":3499},[3455,10213,10214,10216,10218,10220,10222,10224,10226,10228,10230,10232],{"class":3457,"line":5856},[3455,10215,6368],{"class":5484},[3455,10217,9808],{"class":3484},[3455,10219,5266],{"class":4001},[3455,10221,9815],{"class":5248},[3455,10223,4029],{"class":3499},[3455,10225,10027],{"class":5248},[3455,10227,3399],{"class":3499},[3455,10229,9323],{"class":5248},[3455,10231,5276],{"class":4001},[3455,10233,5232],{"class":3499},[3455,10235,10236],{"class":3457,"line":5861},[3455,10237,4674],{"class":3499},[3455,10239,10240,10242,10244,10246,10248,10250,10252,10254,10256],{"class":3457,"line":5867},[3455,10241,6216],{"class":5484},[3455,10243,5488],{"class":4001},[3455,10245,9687],{"class":5248},[3455,10247,6224],{"class":3499},[3455,10249,5345],{"class":3499},[3455,10251,6683],{"class":3465},[3455,10253,5224],{"class":3499},[3455,10255,5502],{"class":4001},[3455,10257,3623],{"class":3499},[3455,10259,10260,10262,10265,10267,10269,10271,10273,10276,10278,10281,10283,10285,10288,10290,10292,10295,10297,10299,10302,10304,10306,10309,10311,10313,10315,10317,10319,10321,10323],{"class":3457,"line":5873},[3455,10261,5509],{"class":3631},[3455,10263,10264],{"class":5248}," row",[3455,10266,5260],{"class":3499},[3455,10268,3787],{"class":3499},[3455,10270,8515],{"class":4001},[3455,10272,3638],{"class":3499},[3455,10274,10275],{"class":5248}," crypto",[3455,10277,3399],{"class":3499},[3455,10279,10280],{"class":3484},"randomUUID",[3455,10282,9632],{"class":4001},[3455,10284,4029],{"class":3499},[3455,10286,10287],{"class":4001}," created_at",[3455,10289,3638],{"class":3499},[3455,10291,9570],{"class":3499},[3455,10293,10294],{"class":3484}," Date",[3455,10296,9632],{"class":4001},[3455,10298,3399],{"class":3499},[3455,10300,10301],{"class":3484},"toISOString",[3455,10303,9632],{"class":4001},[3455,10305,4029],{"class":3499},[3455,10307,10308],{"class":4001}," tenant_id",[3455,10310,3638],{"class":3499},[3455,10312,5345],{"class":3499},[3455,10314,4806],{"class":3465},[3455,10316,5224],{"class":3499},[3455,10318,4029],{"class":3499},[3455,10320,6339],{"class":3499},[3455,10322,9713],{"class":5248},[3455,10324,5672],{"class":3499},[3455,10326,10327,10330,10332,10334,10336,10339,10341],{"class":3457,"line":5930},[3455,10328,10329],{"class":5248},"    store",[3455,10331,3399],{"class":3499},[3455,10333,5591],{"class":3484},[3455,10335,5266],{"class":4001},[3455,10337,10338],{"class":5248},"row",[3455,10340,5276],{"class":4001},[3455,10342,5232],{"class":3499},[3455,10344,10345,10347,10349,10351,10353,10355],{"class":3457,"line":5935},[3455,10346,6368],{"class":5484},[3455,10348,9808],{"class":3484},[3455,10350,7599],{"class":4001},[3455,10352,10338],{"class":5248},[3455,10354,7609],{"class":4001},[3455,10356,5232],{"class":3499},[3455,10358,10359],{"class":3457,"line":5944},[3455,10360,4674],{"class":3499},[3455,10362,10363,10365,10367,10369,10371,10373,10376,10378,10380],{"class":3457,"line":5949},[3455,10364,6216],{"class":5484},[3455,10366,5488],{"class":4001},[3455,10368,9687],{"class":5248},[3455,10370,6224],{"class":3499},[3455,10372,5345],{"class":3499},[3455,10374,10375],{"class":3465},"PATCH",[3455,10377,5224],{"class":3499},[3455,10379,5502],{"class":4001},[3455,10381,3623],{"class":3499},[3455,10383,10384,10386,10389,10391,10393,10395,10398,10400,10402,10404,10406,10408,10411,10413,10415,10417,10419,10421],{"class":3457,"line":5954},[3455,10385,5509],{"class":3631},[3455,10387,10388],{"class":5248}," i",[3455,10390,5260],{"class":3499},[3455,10392,9659],{"class":5248},[3455,10394,3399],{"class":3499},[3455,10396,10397],{"class":3484},"findIndex",[3455,10399,5266],{"class":4001},[3455,10401,5266],{"class":3499},[3455,10403,10172],{"class":5446},[3455,10405,5276],{"class":3499},[3455,10407,5738],{"class":3631},[3455,10409,10410],{"class":5248}," r",[3455,10412,3399],{"class":3499},[3455,10414,4002],{"class":5248},[3455,10416,6224],{"class":3499},[3455,10418,9744],{"class":5248},[3455,10420,5276],{"class":4001},[3455,10422,5232],{"class":3499},[3455,10424,10425,10427,10429,10432,10434,10436,10438,10440,10442,10444,10446,10448,10450,10452,10454],{"class":3457,"line":5975},[3455,10426,10329],{"class":5248},[3455,10428,6034],{"class":4001},[3455,10430,10431],{"class":5248},"i",[3455,10433,6044],{"class":4001},[3455,10435,5331],{"class":3499},[3455,10437,3787],{"class":3499},[3455,10439,6339],{"class":3499},[3455,10441,8290],{"class":5248},[3455,10443,6034],{"class":4001},[3455,10445,10431],{"class":5248},[3455,10447,4654],{"class":4001},[3455,10449,4029],{"class":3499},[3455,10451,6339],{"class":3499},[3455,10453,9713],{"class":5248},[3455,10455,5672],{"class":3499},[3455,10457,10458,10460,10462,10464,10466,10468,10470,10473],{"class":3457,"line":5999},[3455,10459,6368],{"class":5484},[3455,10461,9808],{"class":3484},[3455,10463,7599],{"class":4001},[3455,10465,8290],{"class":5248},[3455,10467,6034],{"class":4001},[3455,10469,10431],{"class":5248},[3455,10471,10472],{"class":4001},"]])",[3455,10474,5232],{"class":3499},[3455,10476,10477],{"class":3457,"line":6022},[3455,10478,4674],{"class":3499},[3455,10480,10481,10483,10485,10487,10489,10491,10493,10495,10497],{"class":3457,"line":6070},[3455,10482,6216],{"class":5484},[3455,10484,5488],{"class":4001},[3455,10486,9687],{"class":5248},[3455,10488,6224],{"class":3499},[3455,10490,5345],{"class":3499},[3455,10492,6709],{"class":3465},[3455,10494,5224],{"class":3499},[3455,10496,5502],{"class":4001},[3455,10498,3623],{"class":3499},[3455,10500,10501,10504,10506,10508,10510,10512,10514,10516,10518,10520,10522,10524,10526,10528,10530,10532,10534,10536,10538,10540],{"class":3457,"line":6144},[3455,10502,10503],{"class":5248},"    tables",[3455,10505,6034],{"class":4001},[3455,10507,6614],{"class":5248},[3455,10509,6044],{"class":4001},[3455,10511,5331],{"class":3499},[3455,10513,9659],{"class":5248},[3455,10515,3399],{"class":3499},[3455,10517,9617],{"class":3484},[3455,10519,5266],{"class":4001},[3455,10521,5266],{"class":3499},[3455,10523,10172],{"class":5446},[3455,10525,5276],{"class":3499},[3455,10527,5738],{"class":3631},[3455,10529,10410],{"class":5248},[3455,10531,3399],{"class":3499},[3455,10533,4002],{"class":5248},[3455,10535,6423],{"class":3499},[3455,10537,9744],{"class":5248},[3455,10539,5276],{"class":4001},[3455,10541,5232],{"class":3499},[3455,10543,10544,10546,10548,10550,10552,10554,10556,10558,10560,10563,10565,10567,10569,10571,10573,10575,10577,10579,10581,10583,10586,10588,10590,10592,10594,10596],{"class":3457,"line":6149},[3455,10545,6368],{"class":5484},[3455,10547,3787],{"class":3499},[3455,10549,9808],{"class":4001},[3455,10551,3638],{"class":3499},[3455,10553,4628],{"class":5418},[3455,10555,4029],{"class":3499},[3455,10557,9841],{"class":4001},[3455,10559,3638],{"class":3499},[3455,10561,10562],{"class":3986}," 204",[3455,10564,4029],{"class":3499},[3455,10566,6004],{"class":4001},[3455,10568,3638],{"class":3499},[3455,10570,3787],{"class":3499},[3455,10572,9859],{"class":3484},[3455,10574,3638],{"class":3499},[3455,10576,5735],{"class":3499},[3455,10578,5738],{"class":3631},[3455,10580,9902],{"class":3499},[3455,10582,5386],{"class":3499},[3455,10584,10585],{"class":3484}," text",[3455,10587,3638],{"class":3499},[3455,10589,5895],{"class":3631},[3455,10591,5735],{"class":3499},[3455,10593,5738],{"class":3631},[3455,10595,6065],{"class":3499},[3455,10597,5672],{"class":3499},[3455,10599,10600],{"class":3457,"line":6155},[3455,10601,4674],{"class":3499},[3455,10603,10604,10606,10608,10610,10612,10614,10616,10618,10620,10623,10625,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10649,10651,10653,10655,10658,10660],{"class":3457,"line":6184},[3455,10605,5661],{"class":5484},[3455,10607,3787],{"class":3499},[3455,10609,9808],{"class":4001},[3455,10611,3638],{"class":3499},[3455,10613,7930],{"class":5418},[3455,10615,4029],{"class":3499},[3455,10617,9841],{"class":4001},[3455,10619,3638],{"class":3499},[3455,10621,10622],{"class":3986}," 500",[3455,10624,4029],{"class":3499},[3455,10626,6004],{"class":4001},[3455,10628,3638],{"class":3499},[3455,10630,3787],{"class":3499},[3455,10632,9859],{"class":3484},[3455,10634,3638],{"class":3499},[3455,10636,5735],{"class":3499},[3455,10638,5738],{"class":3631},[3455,10640,9902],{"class":3499},[3455,10642,5386],{"class":3499},[3455,10644,10585],{"class":3484},[3455,10646,3638],{"class":3499},[3455,10648,5895],{"class":3631},[3455,10650,5735],{"class":3499},[3455,10652,5738],{"class":3631},[3455,10654,5345],{"class":3499},[3455,10656,10657],{"class":3465},"unhandled",[3455,10659,5224],{"class":3499},[3455,10661,5672],{"class":3499},[3455,10663,10664],{"class":3457,"line":6213},[3455,10665,3880],{"class":3499},[3455,10667,10668],{"class":3457,"line":6242},[3455,10669,5238],{"emptyLinePlaceholder":5237},[3455,10671,10672,10674,10676,10678,10681,10683],{"class":3457,"line":6279},[3455,10673,4718],{"class":3631},[3455,10675,6027],{"class":3484},[3455,10677,5266],{"class":3499},[3455,10679,10680],{"class":5446},"claims",[3455,10682,5276],{"class":3499},[3455,10684,3725],{"class":3499},[3455,10686,10687,10689,10692,10694,10696,10699,10701,10703,10706,10708,10711,10713,10715,10717,10719,10721,10723,10725,10727,10730,10732,10734,10737,10739,10741],{"class":3457,"line":6319},[3455,10688,5456],{"class":3631},[3455,10690,10691],{"class":5248}," b",[3455,10693,5260],{"class":3499},[3455,10695,5488],{"class":3499},[3455,10697,10698],{"class":5446},"o",[3455,10700,5276],{"class":3499},[3455,10702,5738],{"class":3631},[3455,10704,10705],{"class":5248}," Buffer",[3455,10707,3399],{"class":3499},[3455,10709,10710],{"class":3484},"from",[3455,10712,5266],{"class":4001},[3455,10714,9209],{"class":5248},[3455,10716,3399],{"class":3499},[3455,10718,9214],{"class":3484},[3455,10720,5266],{"class":4001},[3455,10722,10698],{"class":5248},[3455,10724,7002],{"class":4001},[3455,10726,3399],{"class":3499},[3455,10728,10729],{"class":3484},"toString",[3455,10731,5266],{"class":4001},[3455,10733,5224],{"class":3499},[3455,10735,10736],{"class":3465},"base64url",[3455,10738,5224],{"class":3499},[3455,10740,5276],{"class":4001},[3455,10742,5232],{"class":3499},[3455,10744,10745,10747,10749,10752,10754,10756,10759,10761,10763,10766,10768,10770,10772,10774,10776,10778,10780,10783,10785,10788,10790],{"class":3457,"line":6360},[3455,10746,5661],{"class":5484},[3455,10748,9206],{"class":3499},[3455,10750,10751],{"class":3484},"b",[3455,10753,5266],{"class":5248},[3455,10755,5538],{"class":3499},[3455,10757,10758],{"class":4001}," alg",[3455,10760,3638],{"class":3499},[3455,10762,5345],{"class":3499},[3455,10764,10765],{"class":3465},"RS256",[3455,10767,5224],{"class":3499},[3455,10769,5568],{"class":3499},[3455,10771,5276],{"class":5248},[3455,10773,5257],{"class":3499},[3455,10775,3399],{"class":3465},[3455,10777,9316],{"class":3499},[3455,10779,10751],{"class":3484},[3455,10781,10782],{"class":5248},"(claims)",[3455,10784,5257],{"class":3499},[3455,10786,10787],{"class":3465},".sig",[3455,10789,9235],{"class":3499},[3455,10791,5232],{"class":3499},[3455,10793,10794],{"class":3457,"line":6365},[3455,10795,3880],{"class":3499},[3455,10797,10798],{"class":3457,"line":6398},[3455,10799,5238],{"emptyLinePlaceholder":5237},[3455,10801,10802,10804,10807,10809,10811,10813,10815,10817,10819,10821,10823,10825,10827,10829,10832,10834,10836,10838],{"class":3457,"line":6403},[3455,10803,4718],{"class":3631},[3455,10805,10806],{"class":3484}," call",[3455,10808,5266],{"class":3499},[3455,10810,9687],{"class":5446},[3455,10812,4029],{"class":3499},[3455,10814,6075],{"class":5446},[3455,10816,4029],{"class":3499},[3455,10818,3787],{"class":3499},[3455,10820,9704],{"class":5446},[3455,10822,5260],{"class":3499},[3455,10824,9222],{"class":3499},[3455,10826,6004],{"class":5446},[3455,10828,5260],{"class":3499},[3455,10830,10831],{"class":3499}," {}",[3455,10833,5568],{"class":3499},[3455,10835,5260],{"class":3499},[3455,10837,7176],{"class":3499},[3455,10839,3725],{"class":3499},[3455,10841,10842,10845,10848],{"class":3457,"line":6408},[3455,10843,10844],{"class":3631},"  let",[3455,10846,10847],{"class":5248}," captured",[3455,10849,5232],{"class":3499},[3455,10851,10852,10854,10857,10859],{"class":3457,"line":6414},[3455,10853,5456],{"class":3631},[3455,10855,10856],{"class":5248}," ctx",[3455,10858,5260],{"class":3499},[3455,10860,3725],{"class":3499},[3455,10862,10863,10866,10868],{"class":3457,"line":6444},[3455,10864,10865],{"class":4001},"    req",[3455,10867,3638],{"class":3499},[3455,10869,3725],{"class":3499},[3455,10871,10872,10875,10877,10879,10881,10883],{"class":3457,"line":6480},[3455,10873,10874],{"class":5248},"      method",[3455,10876,4029],{"class":3499},[3455,10878,6075],{"class":5248},[3455,10880,4029],{"class":3499},[3455,10882,9704],{"class":5248},[3455,10884,3649],{"class":3499},[3455,10886,10887,10890,10892,10894,10896,10898,10900,10902,10904,10906,10908,10911,10913,10915,10918,10920,10922,10924,10926,10928,10930,10932,10934,10936,10938,10940,10943,10945,10947,10949,10951,10953,10955,10957,10959],{"class":3457,"line":6485},[3455,10888,10889],{"class":4001},"      headers",[3455,10891,3638],{"class":3499},[3455,10893,3787],{"class":3499},[3455,10895,5345],{"class":3499},[3455,10897,6039],{"class":4001},[3455,10899,5224],{"class":3499},[3455,10901,3638],{"class":3499},[3455,10903,6027],{"class":3484},[3455,10905,5266],{"class":4001},[3455,10907,5538],{"class":3499},[3455,10909,10910],{"class":4001}," sub",[3455,10912,3638],{"class":3499},[3455,10914,5345],{"class":3499},[3455,10916,10917],{"class":3465},"svc",[3455,10919,5224],{"class":3499},[3455,10921,4029],{"class":3499},[3455,10923,10308],{"class":4001},[3455,10925,3638],{"class":3499},[3455,10927,5345],{"class":3499},[3455,10929,4806],{"class":3465},[3455,10931,5224],{"class":3499},[3455,10933,5568],{"class":3499},[3455,10935,5276],{"class":4001},[3455,10937,4029],{"class":3499},[3455,10939,5345],{"class":3499},[3455,10941,10942],{"class":4001},"x-revenexx-tenant",[3455,10944,5224],{"class":3499},[3455,10946,3638],{"class":3499},[3455,10948,5345],{"class":3499},[3455,10950,4806],{"class":3465},[3455,10952,5224],{"class":3499},[3455,10954,4029],{"class":3499},[3455,10956,6339],{"class":3499},[3455,10958,6013],{"class":5248},[3455,10960,3806],{"class":3499},[3455,10962,10963],{"class":3457,"line":6490},[3455,10964,10965],{"class":3499},"    },\n",[3455,10967,10968,10971,10973,10975,10978,10980,10982,10984,10986,10988,10990,10992,10994,10996,10998,11000,11002,11004,11006,11008,11010,11012,11014,11017,11019,11021,11023,11025],{"class":3457,"line":6525},[3455,10969,10970],{"class":4001},"    res",[3455,10972,3638],{"class":3499},[3455,10974,3787],{"class":3499},[3455,10976,10977],{"class":3484}," json",[3455,10979,3638],{"class":3499},[3455,10981,5488],{"class":3499},[3455,10983,10751],{"class":5446},[3455,10985,4029],{"class":3499},[3455,10987,5340],{"class":5446},[3455,10989,5260],{"class":3499},[3455,10991,8007],{"class":3986},[3455,10993,5276],{"class":3499},[3455,10995,5738],{"class":3631},[3455,10997,3787],{"class":3499},[3455,10999,10847],{"class":5248},[3455,11001,5260],{"class":3499},[3455,11003,3787],{"class":3499},[3455,11005,9704],{"class":4001},[3455,11007,3638],{"class":3499},[3455,11009,10691],{"class":5248},[3455,11011,4029],{"class":3499},[3455,11013,5340],{"class":5248},[3455,11015,11016],{"class":3499}," };",[3455,11018,7283],{"class":5484},[3455,11020,10847],{"class":5248},[3455,11022,5632],{"class":3499},[3455,11024,5568],{"class":3499},[3455,11026,3806],{"class":3499},[3455,11028,11029,11032,11034,11036,11038,11041,11043,11045,11047,11049],{"class":3457,"line":6552},[3455,11030,11031],{"class":3484},"    log",[3455,11033,3638],{"class":3499},[3455,11035,5735],{"class":3499},[3455,11037,5738],{"class":3631},[3455,11039,11040],{"class":3499}," {},",[3455,11042,6459],{"class":3484},[3455,11044,3638],{"class":3499},[3455,11046,5735],{"class":3499},[3455,11048,5738],{"class":3631},[3455,11050,11051],{"class":3499}," {},\n",[3455,11053,11054],{"class":3457,"line":6558},[3455,11055,11056],{"class":3499},"  };\n",[3455,11058,11059,11061,11064,11066,11069,11071,11073,11076,11078,11080,11082,11084,11086],{"class":3457,"line":6563},[3455,11060,5661],{"class":5484},[3455,11062,11063],{"class":3484}," handler",[3455,11065,5266],{"class":4001},[3455,11067,11068],{"class":5248},"ctx",[3455,11070,5276],{"class":4001},[3455,11072,3399],{"class":3499},[3455,11074,11075],{"class":3484},"then",[3455,11077,5266],{"class":4001},[3455,11079,9632],{"class":3499},[3455,11081,5738],{"class":3631},[3455,11083,10847],{"class":5248},[3455,11085,5276],{"class":4001},[3455,11087,5232],{"class":3499},[3455,11089,11090],{"class":3457,"line":6578},[3455,11091,3880],{"class":3499},[3455,11093,11094],{"class":3457,"line":8538},[3455,11095,5238],{"emptyLinePlaceholder":5237},[3455,11097,11098,11101,11103,11105,11107],{"class":3457,"line":8543},[3455,11099,11100],{"class":3484},"beforeEach",[3455,11102,5266],{"class":5248},[3455,11104,9632],{"class":3499},[3455,11106,5738],{"class":3631},[3455,11108,3725],{"class":3499},[3455,11110,11111,11113,11115],{"class":3457,"line":8631},[3455,11112,9639],{"class":5248},[3455,11114,5260],{"class":3499},[3455,11116,6019],{"class":3499},[3455,11118,11119,11122,11124,11127,11129,11131],{"class":3457,"line":8636},[3455,11120,11121],{"class":5248},"  globalThis",[3455,11123,3399],{"class":3499},[3455,11125,11126],{"class":5248},"fetch",[3455,11128,5260],{"class":3499},[3455,11130,9545],{"class":5248},[3455,11132,5232],{"class":3499},[3455,11134,11135,11138,11140,11143,11145,11148,11150,11152,11155,11157],{"class":3457,"line":8648},[3455,11136,11137],{"class":5248},"  process",[3455,11139,3399],{"class":3499},[3455,11141,11142],{"class":5248},"env",[3455,11144,3399],{"class":3499},[3455,11146,11147],{"class":5248},"REVENEXX_DATA_ENDPOINT",[3455,11149,5260],{"class":3499},[3455,11151,5345],{"class":3499},[3455,11153,11154],{"class":3465},"https:\u002F\u002Fapi.revenexx.com\u002F",[3455,11156,5224],{"class":3499},[3455,11158,5232],{"class":3499},[3455,11160,11161,11163,11165],{"class":3457,"line":8730},[3455,11162,5257],{"class":3499},[3455,11164,5276],{"class":5248},[3455,11166,5232],{"class":3499},[3455,11168,11169,11172,11174,11176,11178,11180,11183,11186,11188,11190,11192,11194,11196,11198,11200],{"class":3457,"line":8795},[3455,11170,11171],{"class":3484},"afterEach",[3455,11173,5266],{"class":5248},[3455,11175,9632],{"class":3499},[3455,11177,5738],{"class":3631},[3455,11179,3787],{"class":3499},[3455,11181,11182],{"class":3499}," delete",[3455,11184,11185],{"class":5248}," process",[3455,11187,3399],{"class":3499},[3455,11189,11142],{"class":5248},[3455,11191,3399],{"class":3499},[3455,11193,11147],{"class":5248},[3455,11195,5632],{"class":3499},[3455,11197,5568],{"class":3499},[3455,11199,5276],{"class":5248},[3455,11201,5232],{"class":3499},[3455,11203,11204],{"class":3457,"line":8870},[3455,11205,5238],{"emptyLinePlaceholder":5237},[3455,11207,11208,11210,11212,11214,11217,11219,11221,11223,11225,11227],{"class":3457,"line":8943},[3455,11209,3734],{"class":3484},[3455,11211,5266],{"class":5248},[3455,11213,5224],{"class":3499},[3455,11215,11216],{"class":3465},"health lists entities; defaults seed once",[3455,11218,5224],{"class":3499},[3455,11220,4029],{"class":3499},[3455,11222,5895],{"class":3631},[3455,11224,5735],{"class":3499},[3455,11226,5738],{"class":3631},[3455,11228,3725],{"class":3499},[3455,11230,11231,11233,11236,11238,11240,11242,11244,11246,11248,11250,11252,11254,11256,11258,11260,11262,11264,11266,11268,11270,11272,11274,11276,11278,11280,11282,11284],{"class":3457,"line":9008},[3455,11232,5456],{"class":3631},[3455,11234,11235],{"class":5248}," health",[3455,11237,5260],{"class":3499},[3455,11239,5521],{"class":5484},[3455,11241,10806],{"class":3484},[3455,11243,5266],{"class":4001},[3455,11245,5224],{"class":3499},[3455,11247,6642],{"class":3465},[3455,11249,5224],{"class":3499},[3455,11251,4029],{"class":3499},[3455,11253,5345],{"class":3499},[3455,11255,6099],{"class":3465},[3455,11257,5224],{"class":3499},[3455,11259,4029],{"class":3499},[3455,11261,3787],{"class":3499},[3455,11263,6004],{"class":4001},[3455,11265,3638],{"class":3499},[3455,11267,3787],{"class":3499},[3455,11269,5345],{"class":3499},[3455,11271,6039],{"class":4001},[3455,11273,5224],{"class":3499},[3455,11275,3638],{"class":3499},[3455,11277,6065],{"class":3499},[3455,11279,5568],{"class":3499},[3455,11281,5568],{"class":3499},[3455,11283,5276],{"class":4001},[3455,11285,5232],{"class":3499},[3455,11287,11288,11291,11293,11296,11298,11301,11303,11305,11307,11309,11311,11313,11315,11317,11319,11321],{"class":3457,"line":9061},[3455,11289,11290],{"class":5248},"  assert",[3455,11292,3399],{"class":3499},[3455,11294,11295],{"class":3484},"deepEqual",[3455,11297,5266],{"class":4001},[3455,11299,11300],{"class":5248},"health",[3455,11302,3399],{"class":3499},[3455,11304,9713],{"class":5248},[3455,11306,3399],{"class":3499},[3455,11308,3960],{"class":5248},[3455,11310,4029],{"class":3499},[3455,11312,4598],{"class":4001},[3455,11314,5224],{"class":3499},[3455,11316,3644],{"class":3465},[3455,11318,5224],{"class":3499},[3455,11320,7609],{"class":4001},[3455,11322,5232],{"class":3499},[3455,11324,11325],{"class":3457,"line":9169},[3455,11326,5238],{"emptyLinePlaceholder":5237},[3455,11328,11329,11331,11333,11335,11338,11340,11342,11344,11346,11348,11350,11352,11354,11356,11358,11360,11362,11364,11366,11369,11371,11373,11375,11377,11379,11381],{"class":3457,"line":9178},[3455,11330,11290],{"class":5248},[3455,11332,3399],{"class":3499},[3455,11334,11295],{"class":3484},[3455,11336,11337],{"class":4001},"((",[3455,11339,5916],{"class":5484},[3455,11341,10806],{"class":3484},[3455,11343,5266],{"class":4001},[3455,11345,5224],{"class":3499},[3455,11347,6683],{"class":3465},[3455,11349,5224],{"class":3499},[3455,11351,4029],{"class":3499},[3455,11353,5345],{"class":3499},[3455,11355,5888],{"class":3465},[3455,11357,5224],{"class":3499},[3455,11359,7002],{"class":4001},[3455,11361,3399],{"class":3499},[3455,11363,9713],{"class":5248},[3455,11365,3399],{"class":3499},[3455,11367,11368],{"class":5248},"created",[3455,11370,4029],{"class":3499},[3455,11372,4598],{"class":4001},[3455,11374,5224],{"class":3499},[3455,11376,3697],{"class":3465},[3455,11378,5224],{"class":3499},[3455,11380,7609],{"class":4001},[3455,11382,5232],{"class":3499},[3455,11384,11385,11387,11389,11391,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11428,11430],{"class":3457,"line":9185},[3455,11386,11290],{"class":5248},[3455,11388,3399],{"class":3499},[3455,11390,11295],{"class":3484},[3455,11392,11337],{"class":4001},[3455,11394,5916],{"class":5484},[3455,11396,10806],{"class":3484},[3455,11398,5266],{"class":4001},[3455,11400,5224],{"class":3499},[3455,11402,6683],{"class":3465},[3455,11404,5224],{"class":3499},[3455,11406,4029],{"class":3499},[3455,11408,5345],{"class":3499},[3455,11410,5888],{"class":3465},[3455,11412,5224],{"class":3499},[3455,11414,7002],{"class":4001},[3455,11416,3399],{"class":3499},[3455,11418,9713],{"class":5248},[3455,11420,3399],{"class":3499},[3455,11422,11368],{"class":5248},[3455,11424,4029],{"class":3499},[3455,11426,11427],{"class":4001}," [])",[3455,11429,5632],{"class":3499},[3455,11431,11432],{"class":5320}," \u002F\u002F idempotent\n",[3455,11434,11435,11437,11439],{"class":3457,"line":9190},[3455,11436,5257],{"class":3499},[3455,11438,5276],{"class":5248},[3455,11440,5232],{"class":3499},[3455,11442,11443],{"class":3457,"line":9242},[3455,11444,5238],{"emptyLinePlaceholder":5237},[3455,11446,11447,11449,11451,11453,11456,11458,11460,11462,11464,11466],{"class":3457,"line":9256},[3455,11448,3734],{"class":3484},[3455,11450,5266],{"class":5248},[3455,11452,5224],{"class":3499},[3455,11454,11455],{"class":3465},"create then read back a location",[3455,11457,5224],{"class":3499},[3455,11459,4029],{"class":3499},[3455,11461,5895],{"class":3631},[3455,11463,5735],{"class":3499},[3455,11465,5738],{"class":3631},[3455,11467,3725],{"class":3499},[3455,11469,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11492,11494,11496,11498,11500,11502,11504,11506,11508,11510,11512,11515,11517,11519,11521,11523,11525,11528,11530,11532,11534,11536,11538,11540,11542,11544,11546,11548],{"class":3457,"line":9298},[3455,11471,5456],{"class":3631},[3455,11473,5459],{"class":5248},[3455,11475,5260],{"class":3499},[3455,11477,5521],{"class":5484},[3455,11479,10806],{"class":3484},[3455,11481,5266],{"class":4001},[3455,11483,5224],{"class":3499},[3455,11485,6683],{"class":3465},[3455,11487,5224],{"class":3499},[3455,11489,4029],{"class":3499},[3455,11491,5345],{"class":3499},[3455,11493,5819],{"class":3465},[3455,11495,5224],{"class":3499},[3455,11497,4029],{"class":3499},[3455,11499,3787],{"class":3499},[3455,11501,9704],{"class":4001},[3455,11503,3638],{"class":3499},[3455,11505,3787],{"class":3499},[3455,11507,5340],{"class":4001},[3455,11509,3638],{"class":3499},[3455,11511,5345],{"class":3499},[3455,11513,11514],{"class":3465},"berlin",[3455,11516,5224],{"class":3499},[3455,11518,4029],{"class":3499},[3455,11520,5354],{"class":4001},[3455,11522,3638],{"class":3499},[3455,11524,5345],{"class":3499},[3455,11526,11527],{"class":3465},"Berlin store",[3455,11529,5224],{"class":3499},[3455,11531,4029],{"class":3499},[3455,11533,5389],{"class":4001},[3455,11535,3638],{"class":3499},[3455,11537,5345],{"class":3499},[3455,11539,8290],{"class":3465},[3455,11541,5224],{"class":3499},[3455,11543,5568],{"class":3499},[3455,11545,5568],{"class":3499},[3455,11547,5276],{"class":4001},[3455,11549,5232],{"class":3499},[3455,11551,11553,11555,11557,11560,11562,11564,11566,11568,11570,11573,11575],{"class":3457,"line":11552},86,[3455,11554,11290],{"class":5248},[3455,11556,3399],{"class":3499},[3455,11558,11559],{"class":3484},"equal",[3455,11561,5266],{"class":4001},[3455,11563,11368],{"class":5248},[3455,11565,3399],{"class":3499},[3455,11567,3396],{"class":5248},[3455,11569,4029],{"class":3499},[3455,11571,11572],{"class":3986}," 201",[3455,11574,5276],{"class":4001},[3455,11576,5232],{"class":3499},[3455,11578,11580],{"class":3457,"line":11579},87,[3455,11581,5238],{"emptyLinePlaceholder":5237},[3455,11583,11585,11587,11590,11592,11594,11596,11598,11600,11602,11604,11606,11608,11611,11613,11615,11617,11619,11621,11623,11625,11627],{"class":3457,"line":11584},88,[3455,11586,5456],{"class":3631},[3455,11588,11589],{"class":5248}," read",[3455,11591,5260],{"class":3499},[3455,11593,5521],{"class":5484},[3455,11595,10806],{"class":3484},[3455,11597,5266],{"class":4001},[3455,11599,5224],{"class":3499},[3455,11601,6642],{"class":3465},[3455,11603,5224],{"class":3499},[3455,11605,4029],{"class":3499},[3455,11607,9907],{"class":3499},[3455,11609,11610],{"class":3465},"\u002Flocations\u002F",[3455,11612,9316],{"class":3499},[3455,11614,11368],{"class":5248},[3455,11616,3399],{"class":3499},[3455,11618,9713],{"class":5248},[3455,11620,3399],{"class":3499},[3455,11622,4002],{"class":5248},[3455,11624,9951],{"class":3499},[3455,11626,5276],{"class":4001},[3455,11628,5232],{"class":3499},[3455,11630,11632,11634,11636,11638,11640,11642,11644,11646,11648,11650,11652,11654,11656,11658,11660],{"class":3457,"line":11631},89,[3455,11633,11290],{"class":5248},[3455,11635,3399],{"class":3499},[3455,11637,11559],{"class":3484},[3455,11639,5266],{"class":4001},[3455,11641,4933],{"class":5248},[3455,11643,3399],{"class":3499},[3455,11645,9713],{"class":5248},[3455,11647,3399],{"class":3499},[3455,11649,3396],{"class":5248},[3455,11651,4029],{"class":3499},[3455,11653,5345],{"class":3499},[3455,11655,11514],{"class":3465},[3455,11657,5224],{"class":3499},[3455,11659,5276],{"class":4001},[3455,11661,5232],{"class":3499},[3455,11663,11665,11667,11669],{"class":3457,"line":11664},90,[3455,11666,5257],{"class":3499},[3455,11668,5276],{"class":5248},[3455,11670,5232],{"class":3499},[3455,11672,11674],{"class":3457,"line":11673},91,[3455,11675,5238],{"emptyLinePlaceholder":5237},[3455,11677,11679,11681,11683,11685,11688,11690,11692,11694,11696,11698],{"class":3457,"line":11678},92,[3455,11680,3734],{"class":3484},[3455,11682,5266],{"class":5248},[3455,11684,5224],{"class":3499},[3455,11686,11687],{"class":3465},"install event seeds the main warehouse",[3455,11689,5224],{"class":3499},[3455,11691,4029],{"class":3499},[3455,11693,5895],{"class":3631},[3455,11695,5735],{"class":3499},[3455,11697,5738],{"class":3631},[3455,11699,3725],{"class":3499},[3455,11701,11703,11705,11707,11709,11711,11713,11715,11717,11719,11721,11723,11725,11727,11729,11731,11733,11735,11737,11739,11741,11743,11745,11747,11749,11751,11753,11755,11757,11759,11761,11763,11765,11768,11770,11772,11774,11776],{"class":3457,"line":11702},93,[3455,11704,5456],{"class":3631},[3455,11706,10410],{"class":5248},[3455,11708,5260],{"class":3499},[3455,11710,5521],{"class":5484},[3455,11712,10806],{"class":3484},[3455,11714,5266],{"class":4001},[3455,11716,5224],{"class":3499},[3455,11718,6683],{"class":3465},[3455,11720,5224],{"class":3499},[3455,11722,4029],{"class":3499},[3455,11724,5345],{"class":3499},[3455,11726,6099],{"class":3465},[3455,11728,5224],{"class":3499},[3455,11730,4029],{"class":3499},[3455,11732,3787],{"class":3499},[3455,11734,6004],{"class":4001},[3455,11736,3638],{"class":3499},[3455,11738,3787],{"class":3499},[3455,11740,5345],{"class":3499},[3455,11742,6171],{"class":4001},[3455,11744,5224],{"class":3499},[3455,11746,3638],{"class":3499},[3455,11748,5345],{"class":3499},[3455,11750,6229],{"class":3465},[3455,11752,5224],{"class":3499},[3455,11754,4029],{"class":3499},[3455,11756,5345],{"class":3499},[3455,11758,6200],{"class":4001},[3455,11760,5224],{"class":3499},[3455,11762,3638],{"class":3499},[3455,11764,5345],{"class":3499},[3455,11766,11767],{"class":3465},"apps.locations.installed",[3455,11769,5224],{"class":3499},[3455,11771,5568],{"class":3499},[3455,11773,5568],{"class":3499},[3455,11775,5276],{"class":4001},[3455,11777,5232],{"class":3499},[3455,11779,11781,11783,11785,11787,11789,11791,11793,11795,11797,11799,11801,11803,11805,11807,11809,11811],{"class":3457,"line":11780},94,[3455,11782,11290],{"class":5248},[3455,11784,3399],{"class":3499},[3455,11786,11295],{"class":3484},[3455,11788,5266],{"class":4001},[3455,11790,10172],{"class":5248},[3455,11792,3399],{"class":3499},[3455,11794,9713],{"class":5248},[3455,11796,3399],{"class":3499},[3455,11798,11368],{"class":5248},[3455,11800,4029],{"class":3499},[3455,11802,4598],{"class":4001},[3455,11804,5224],{"class":3499},[3455,11806,3697],{"class":3465},[3455,11808,5224],{"class":3499},[3455,11810,7609],{"class":4001},[3455,11812,5232],{"class":3499},[3455,11814,11816,11818,11820],{"class":3457,"line":11815},95,[3455,11817,5257],{"class":3499},[3455,11819,5276],{"class":5248},[3455,11821,5232],{"class":3499},[3382,11823,11824],{},"Run the suite:",[3445,11826,11829],{"className":3447,"code":11827,"filename":11828,"language":3450,"meta":3451,"style":3451},"npm test\n","Test",[3396,11830,11831],{"__ignoreMap":3451},[3455,11832,11833,11835],{"class":3457,"line":3458},[3455,11834,3493],{"class":3461},[3455,11836,3506],{"class":3465},[3382,11838,11839],{},"Green here means the handler, the routes, and the data client all behave correctly before anything is deployed.",[3430,11841,11843],{"id":11842},"_7-deploy-and-verify","7. Deploy and verify",[3382,11845,11846,11847,11849,11850,11853],{},"Sign in once, then deploy from the app directory (the one with ",[3396,11848,4747],{},"). ",[3396,11851,11852],{},"login"," saves the key but not the tenant, so export the tenant slug as well.",[3445,11855,11858],{"className":3447,"code":11856,"filename":11857,"language":3450,"meta":3451,"style":3451},"export REVENEXX_API_KEY=\"rvxk_...\"\nexport REVENEXX_TENANT=\"\u003CTENANT_SLUG>\"\nrevenexx login --token \"$REVENEXX_API_KEY\" --tenant \"$REVENEXX_TENANT\"\nrevenexx deploy app\n","Deploy",[3396,11859,11860,11877,11893,11920],{"__ignoreMap":3451},[3455,11861,11862,11865,11868,11870,11872,11875],{"class":3457,"line":3458},[3455,11863,11864],{"class":3631},"export",[3455,11866,11867],{"class":5248}," REVENEXX_API_KEY",[3455,11869,5331],{"class":3499},[3455,11871,3635],{"class":3499},[3455,11873,11874],{"class":3465},"rvxk_...",[3455,11876,3766],{"class":3499},[3455,11878,11879,11881,11884,11886,11888,11891],{"class":3457,"line":3481},[3455,11880,11864],{"class":3631},[3455,11882,11883],{"class":5248}," REVENEXX_TENANT",[3455,11885,5331],{"class":3499},[3455,11887,3635],{"class":3499},[3455,11889,11890],{"class":3465},"\u003CTENANT_SLUG>",[3455,11892,3766],{"class":3499},[3455,11894,11895,11897,11900,11903,11905,11908,11910,11913,11915,11918],{"class":3457,"line":3490},[3455,11896,3462],{"class":3461},[3455,11898,11899],{"class":3465}," login",[3455,11901,11902],{"class":3465}," --token",[3455,11904,3641],{"class":3499},[3455,11906,11907],{"class":5248},"$REVENEXX_API_KEY",[3455,11909,3635],{"class":3499},[3455,11911,11912],{"class":3465}," --tenant",[3455,11914,3641],{"class":3499},[3455,11916,11917],{"class":5248},"$REVENEXX_TENANT",[3455,11919,3766],{"class":3499},[3455,11921,11922,11924,11926],{"class":3457,"line":3509},[3455,11923,3462],{"class":3461},[3455,11925,3514],{"class":3465},[3455,11927,3517],{"class":3465},[3382,11929,11930,11931,11933],{},"A deployed App answers at the API gateway, ",[3396,11932,3398],{},", scoped to your tenant. Seed the default warehouse, then list:",[3445,11935,11938],{"className":3447,"code":11936,"filename":11937,"language":3450,"meta":3451,"style":3451},"curl -s -X POST https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Flocations\u002Fdefaults \\\n  -H \"X-Revenexx-Api-Key: $REVENEXX_API_KEY\" \\\n  -H \"X-Revenexx-Tenant: $REVENEXX_TENANT\" \\\n  -H \"Content-Type: application\u002Fjson\" -d '{}'\n\ncurl -s https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Flocations \\\n  -H \"X-Revenexx-Api-Key: $REVENEXX_API_KEY\" \\\n  -H \"X-Revenexx-Tenant: $REVENEXX_TENANT\"\n","Verify",[3396,11939,11940,11959,11975,11990,12012,12016,12027,12041],{"__ignoreMap":3451},[3455,11941,11942,11945,11948,11951,11954,11957],{"class":3457,"line":3458},[3455,11943,11944],{"class":3461},"curl",[3455,11946,11947],{"class":3465}," -s",[3455,11949,11950],{"class":3465}," -X",[3455,11952,11953],{"class":3465}," POST",[3455,11955,11956],{"class":3465}," https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Flocations\u002Fdefaults",[3455,11958,6755],{"class":5248},[3455,11960,11961,11964,11966,11969,11971,11973],{"class":3457,"line":3481},[3455,11962,11963],{"class":3465},"  -H",[3455,11965,3641],{"class":3499},[3455,11967,11968],{"class":3465},"X-Revenexx-Api-Key: ",[3455,11970,11907],{"class":5248},[3455,11972,3635],{"class":3499},[3455,11974,6755],{"class":5248},[3455,11976,11977,11979,11981,11984,11986,11988],{"class":3457,"line":3490},[3455,11978,11963],{"class":3465},[3455,11980,3641],{"class":3499},[3455,11982,11983],{"class":3465},"X-Revenexx-Tenant: ",[3455,11985,11917],{"class":5248},[3455,11987,3635],{"class":3499},[3455,11989,6755],{"class":5248},[3455,11991,11992,11994,11996,11999,12001,12004,12006,12009],{"class":3457,"line":3509},[3455,11993,11963],{"class":3465},[3455,11995,3641],{"class":3499},[3455,11997,11998],{"class":3465},"Content-Type: application\u002Fjson",[3455,12000,3635],{"class":3499},[3455,12002,12003],{"class":3465}," -d",[3455,12005,5345],{"class":3499},[3455,12007,12008],{"class":3465},"{}",[3455,12010,12011],{"class":3499},"'\n",[3455,12013,12014],{"class":3457,"line":3692},[3455,12015,5238],{"emptyLinePlaceholder":5237},[3455,12017,12018,12020,12022,12025],{"class":3457,"line":3713},[3455,12019,11944],{"class":3461},[3455,12021,11947],{"class":3465},[3455,12023,12024],{"class":3465}," https:\u002F\u002Fapi.revenexx.com\u002Fv1\u002Flocations",[3455,12026,6755],{"class":5248},[3455,12028,12029,12031,12033,12035,12037,12039],{"class":3457,"line":3728},[3455,12030,11963],{"class":3465},[3455,12032,3641],{"class":3499},[3455,12034,11968],{"class":3465},[3455,12036,11907],{"class":5248},[3455,12038,3635],{"class":3499},[3455,12040,6755],{"class":5248},[3455,12042,12043,12045,12047,12049,12051],{"class":3457,"line":3749},[3455,12044,11963],{"class":3465},[3455,12046,3641],{"class":3499},[3455,12048,11983],{"class":3465},[3455,12050,11917],{"class":5248},[3455,12052,3766],{"class":3499},[3382,12054,12055,12056,12058,12059,12061,12062,12064],{},"The first call seeds the ",[3396,12057,3697],{}," warehouse and the second returns it. Send ",[3396,12060,12008],{}," as the body on any ",[3396,12063,6683],{}," to a capability that declares a request schema, because the gateway rejects an empty one.",[3382,12066,12067,12068,12070],{},"That is the whole loop. ",[3391,12069,131],{"href":132}," owns the details: the flags, the Git-wired App warning, version bumps, the full smoke test and caching.",[3430,12072,12074],{"id":12073},"troubleshooting","Troubleshooting",[4684,12076,12077,12091,12104,12113],{},[4687,12078,12079,12084,12085,12087,12088,12090],{},[3386,12080,12081,12082,3399],{},"Gateway returns 404 for ",[3396,12083,5819],{}," The build hasn't registered the capability yet, or the route prefix doesn't match the app name. Re-run ",[3396,12086,3763],{},", confirm every route lives under ",[3396,12089,5819],{},", and create a new deployment.",[4687,12092,12093,12096,12097,12100,12101,12103],{},[3386,12094,12095],{},"A list never returns past the first page."," The list capability is missing its pagination parameters. Add ",[3396,12098,12099],{},"PAGINATION_PARAMS"," to that capability's ",[3396,12102,8586],{}," and regenerate.",[4687,12105,12106,12109,12110,12112],{},[3386,12107,12108],{},"\"permission denied\" on a write."," The manifest doesn't grant that operation. Add it to ",[3396,12111,4890],{},", regenerate the client, and create a new deployment.",[4687,12114,12115,12118,12119,3399],{},[3386,12116,12117],{},"A column rename shows the old column too."," Schema changes apply additively, so the old column is not dropped. See ",[3391,12120,131],{"href":132},[3430,12122,12124],{"id":12123},"where-to-go-next","Where to go next",[4684,12126,12127,12132,12137],{},[4687,12128,12129,12131],{},[3391,12130,117],{"href":118}," — a second entity, a relationship, a custom action route with guards, and the typed data client in depth.",[4687,12133,12134,12136],{},[3391,12135,131],{"href":132}," — the full deploy-and-verify loop, plus caching for read-heavy capabilities.",[4687,12138,12139,12141],{},[3391,12140,516],{"href":517}," — the data client and router reference.",[12143,12144,12145],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .su27w, html code.shiki .su27w{--shiki-light:#916B53;--shiki-default:#916B53;--shiki-dark:#916B53}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":3451,"searchDepth":3481,"depth":3481,"links":12147},[12148,12149,12150,12151,12152,12153,12154,12155,12156,12157],{"id":3432,"depth":3481,"text":790},{"id":3546,"depth":3481,"text":3547},{"id":3899,"depth":3481,"text":3900},{"id":4732,"depth":3481,"text":4733},{"id":5191,"depth":3481,"text":5192},{"id":6724,"depth":3481,"text":6725},{"id":9371,"depth":3481,"text":9372},{"id":11842,"depth":3481,"text":11843},{"id":12073,"depth":3481,"text":12074},{"id":12123,"depth":3481,"text":12124},"Scaffold a revenexx App with one entity, mount CRUD over the gateway, generate its capabilities, test it locally, then deploy and verify it live with the revenexx CLI.","md",null,{},{"icon":129},{"title":124,"description":12158},{"loc":125},"qHp7E6CPDxpfM_Byb71QC5jlBe0RnK1_a3_hQGAwe9Y",1793802367520]